From 69971018b1dd2663f73b3726f34392fcc4b62b1f Mon Sep 17 00:00:00 2001 From: "Stephen L. Blum" Date: Thu, 7 Mar 2013 10:25:30 -0800 Subject: [PATCH 01/66] added presence details. --- README.md | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/README.md b/README.md index e23e0c3c9..5cab7c83a 100644 --- a/README.md +++ b/README.md @@ -348,6 +348,37 @@ function start_replay() { })(); ``` +## PRESENCE + +PubNub Network offers Channel Presence which +allows you to ask the question "Who's There?" +and get back an answer with list of users and the occupancy count. + +```html +
+ + +``` + ## WebSocket Client Interface Optionally PubNub offers you the full RFC 6455 From 7e359d22b978a9f5045cd8da21a4aabe8c48cbeb Mon Sep 17 00:00:00 2001 From: Devendra Date: Fri, 8 Mar 2013 00:47:01 +0530 Subject: [PATCH 02/66] adding all browsers --- package.json | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/package.json b/package.json index aec58dc4e..1b3e98416 100644 --- a/package.json +++ b/package.json @@ -6,10 +6,7 @@ "should": "~1.2.1" }, "testling": { - "browsers": [ - "ie6", "ie7", "ie8", "ie9", "iphone/6.0","ipad/6.0", - "firefox/15", "chrome/22", "opera/12", "safari/5.1" - ], + "browsers": ["iexplore/6.0","iexplore/7.0","iexplore/8.0","iexplore/10.0","iexplore/9.0","chrome/4.0","chrome/5.0","chrome/6.0","chrome/7.0","chrome/8.0","chrome/9.0","chrome/10.0","chrome/11.0","chrome/12.0","chrome/13.0","chrome/14.0","chrome/15.0","chrome/16.0","chrome/17.0","chrome/18.0","chrome/19.0","chrome/20.0","chrome/21.0","chrome/22.0","chrome/23.0","firefox/3.0","firefox/3.5","firefox/3.6","firefox/4.0","firefox/5.0","firefox/6.0","firefox/7.0","firefox/8.0","firefox/9.0","firefox/10.0","firefox/11.0","firefox/12.0","firefox/13.0","firefox/14.0","firefox/15.0","firefox/16.0","firefox/17.0","opera/10.0","opera/10.5","opera/11.0","opera/11.5","opera/11.6","opera/12.0","safari/5.0.5","safari/5.1","firefox/nightly","opera/next","chrome/canary","iphone/6.0","ipad/6.0","safari/6.0"], "harness" : "mocha", "scripts" : "web/pubnub-3.4.2.js", "files": "web/tests/test.js" From 9fe0c33fb358c19378f9611143ab7e59f2cd8ff6 Mon Sep 17 00:00:00 2001 From: Devendra Date: Fri, 8 Mar 2013 01:07:44 +0530 Subject: [PATCH 03/66] removed chrome 4 , replaced should with assert --- package.json | 2 +- web/tests/test.js | 43 +++++++------------------------------------ 2 files changed, 8 insertions(+), 37 deletions(-) diff --git a/package.json b/package.json index 1b3e98416..33448aa85 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,7 @@ "should": "~1.2.1" }, "testling": { - "browsers": ["iexplore/6.0","iexplore/7.0","iexplore/8.0","iexplore/10.0","iexplore/9.0","chrome/4.0","chrome/5.0","chrome/6.0","chrome/7.0","chrome/8.0","chrome/9.0","chrome/10.0","chrome/11.0","chrome/12.0","chrome/13.0","chrome/14.0","chrome/15.0","chrome/16.0","chrome/17.0","chrome/18.0","chrome/19.0","chrome/20.0","chrome/21.0","chrome/22.0","chrome/23.0","firefox/3.0","firefox/3.5","firefox/3.6","firefox/4.0","firefox/5.0","firefox/6.0","firefox/7.0","firefox/8.0","firefox/9.0","firefox/10.0","firefox/11.0","firefox/12.0","firefox/13.0","firefox/14.0","firefox/15.0","firefox/16.0","firefox/17.0","opera/10.0","opera/10.5","opera/11.0","opera/11.5","opera/11.6","opera/12.0","safari/5.0.5","safari/5.1","firefox/nightly","opera/next","chrome/canary","iphone/6.0","ipad/6.0","safari/6.0"], + "browsers": ["iexplore/6.0","iexplore/7.0","iexplore/8.0","iexplore/10.0","iexplore/9.0","chrome/5.0","chrome/6.0","chrome/7.0","chrome/8.0","chrome/9.0","chrome/10.0","chrome/11.0","chrome/12.0","chrome/13.0","chrome/14.0","chrome/15.0","chrome/16.0","chrome/17.0","chrome/18.0","chrome/19.0","chrome/20.0","chrome/21.0","chrome/22.0","chrome/23.0","firefox/3.0","firefox/3.5","firefox/3.6","firefox/4.0","firefox/5.0","firefox/6.0","firefox/7.0","firefox/8.0","firefox/9.0","firefox/10.0","firefox/11.0","firefox/12.0","firefox/13.0","firefox/14.0","firefox/15.0","firefox/16.0","firefox/17.0","opera/10.0","opera/10.5","opera/11.0","opera/11.5","opera/11.6","opera/12.0","safari/5.0.5","safari/5.1","firefox/nightly","opera/next","chrome/canary","iphone/6.0","ipad/6.0","safari/6.0"], "harness" : "mocha", "scripts" : "web/pubnub-3.4.2.js", "files": "web/tests/test.js" diff --git a/web/tests/test.js b/web/tests/test.js index 5a50320da..b12e36102 100644 --- a/web/tests/test.js +++ b/web/tests/test.js @@ -1,4 +1,4 @@ - var should = require('should'); + var assert = require('assert'); var pubnub = PUBNUB.init({ publish_key : 'demo', @@ -25,7 +25,7 @@ it('should publish strings without error', function(done){ pubnub.publish({channel: channel , message : message_string, callback : function(response) { - response[0].should.eql(1); + assert.equal(response[0],1); done(); } }) @@ -33,7 +33,7 @@ it('should publish json objects without error', function(done){ pubnub.publish({channel: channel , message : message_jsono, callback : function(response) { - response[0].should.eql(1); + assert.equal(response[0],1); done(); } }) @@ -41,7 +41,7 @@ it('should publish json arrays without error', function(done){ pubnub.publish({channel: channel , message : message_jsona, callback : function(response) { - response[0].should.eql(1); + assert.equal(response[0],1); done(); } }) @@ -49,7 +49,7 @@ it('should publish strings with encryption enabled without error', function(done){ pubnub_enc.publish({channel: channel_enc , message : message_string, callback : function(response) { - response[0].should.eql(1); + assert.equal(response[0],1); done(); } }) @@ -57,7 +57,7 @@ it('should publish json objects with encryption enabled without error', function(done){ pubnub_enc.publish({channel: channel_enc , message : message_jsono, callback : function(response) { - response[0].should.eql(1); + assert.equal(response[0],1); done(); } }) @@ -65,39 +65,10 @@ it('should publish json arrays with encryption enabled without error', function(done){ pubnub_enc.publish({channel: channel_enc , message : message_jsona, callback : function(response) { - response[0].should.eql(1); + assert.equal(response[0],1); done(); } }) }) }) - describe('#history', function(){ - var history_channel = channel + '-' + Date.now(); - this.timeout(60000); - before(function(done){ - pubnub.publish({channel: history_channel, - message : message_string, - callback : function(response){ - response[0].should.eql(1); } - }); - pubnub.publish({channel: history_channel, - message : message_string, - callback : function(response){ - response[0].should.eql(1); - done(); - } - }); - - }) - it('should return 2 messages when 2 messages were published on channel @slow', function(done) { - - pubnub.history({channel : history_channel, - callback : function(response) { - response[0].length.should.eql(2); - done(); - } - }) - }) - }) - }) From ee67694adbbb2eaf24da4f973ec97d44dc3db054 Mon Sep 17 00:00:00 2001 From: Devendra Date: Fri, 8 Mar 2013 01:14:37 +0530 Subject: [PATCH 04/66] removing should from dependency, replaced with asserts --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 33448aa85..c2409e46a 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,7 @@ "version": "0.0.0", "devDependencies": { "mocha": "~1.7.4", - "should": "~1.2.1" + "asserts": "~3.1.0" }, "testling": { "browsers": ["iexplore/6.0","iexplore/7.0","iexplore/8.0","iexplore/10.0","iexplore/9.0","chrome/5.0","chrome/6.0","chrome/7.0","chrome/8.0","chrome/9.0","chrome/10.0","chrome/11.0","chrome/12.0","chrome/13.0","chrome/14.0","chrome/15.0","chrome/16.0","chrome/17.0","chrome/18.0","chrome/19.0","chrome/20.0","chrome/21.0","chrome/22.0","chrome/23.0","firefox/3.0","firefox/3.5","firefox/3.6","firefox/4.0","firefox/5.0","firefox/6.0","firefox/7.0","firefox/8.0","firefox/9.0","firefox/10.0","firefox/11.0","firefox/12.0","firefox/13.0","firefox/14.0","firefox/15.0","firefox/16.0","firefox/17.0","opera/10.0","opera/10.5","opera/11.0","opera/11.5","opera/11.6","opera/12.0","safari/5.0.5","safari/5.1","firefox/nightly","opera/next","chrome/canary","iphone/6.0","ipad/6.0","safari/6.0"], From 7e255236b1dc03840bd71fff38912d25bf2199f8 Mon Sep 17 00:00:00 2001 From: Devendra Date: Fri, 8 Mar 2013 01:17:25 +0530 Subject: [PATCH 05/66] fixed typo --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index c2409e46a..cde5bc169 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,7 @@ "version": "0.0.0", "devDependencies": { "mocha": "~1.7.4", - "asserts": "~3.1.0" + "assert": "~0.4.9" }, "testling": { "browsers": ["iexplore/6.0","iexplore/7.0","iexplore/8.0","iexplore/10.0","iexplore/9.0","chrome/5.0","chrome/6.0","chrome/7.0","chrome/8.0","chrome/9.0","chrome/10.0","chrome/11.0","chrome/12.0","chrome/13.0","chrome/14.0","chrome/15.0","chrome/16.0","chrome/17.0","chrome/18.0","chrome/19.0","chrome/20.0","chrome/21.0","chrome/22.0","chrome/23.0","firefox/3.0","firefox/3.5","firefox/3.6","firefox/4.0","firefox/5.0","firefox/6.0","firefox/7.0","firefox/8.0","firefox/9.0","firefox/10.0","firefox/11.0","firefox/12.0","firefox/13.0","firefox/14.0","firefox/15.0","firefox/16.0","firefox/17.0","opera/10.0","opera/10.5","opera/11.0","opera/11.5","opera/11.6","opera/12.0","safari/5.0.5","safari/5.1","firefox/nightly","opera/next","chrome/canary","iphone/6.0","ipad/6.0","safari/6.0"], From 626d82597903785b32b1a29bebf49e107765075c Mon Sep 17 00:00:00 2001 From: Devendra Date: Fri, 8 Mar 2013 01:26:47 +0530 Subject: [PATCH 06/66] reduced browsers list --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index cde5bc169..56e8bd2ec 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,7 @@ "assert": "~0.4.9" }, "testling": { - "browsers": ["iexplore/6.0","iexplore/7.0","iexplore/8.0","iexplore/10.0","iexplore/9.0","chrome/5.0","chrome/6.0","chrome/7.0","chrome/8.0","chrome/9.0","chrome/10.0","chrome/11.0","chrome/12.0","chrome/13.0","chrome/14.0","chrome/15.0","chrome/16.0","chrome/17.0","chrome/18.0","chrome/19.0","chrome/20.0","chrome/21.0","chrome/22.0","chrome/23.0","firefox/3.0","firefox/3.5","firefox/3.6","firefox/4.0","firefox/5.0","firefox/6.0","firefox/7.0","firefox/8.0","firefox/9.0","firefox/10.0","firefox/11.0","firefox/12.0","firefox/13.0","firefox/14.0","firefox/15.0","firefox/16.0","firefox/17.0","opera/10.0","opera/10.5","opera/11.0","opera/11.5","opera/11.6","opera/12.0","safari/5.0.5","safari/5.1","firefox/nightly","opera/next","chrome/canary","iphone/6.0","ipad/6.0","safari/6.0"], + "browsers": ["iexplore/6.0","chrome/20.0","chrome/21.0","chrome/22.0"], "harness" : "mocha", "scripts" : "web/pubnub-3.4.2.js", "files": "web/tests/test.js" From aefa1edbc87e074074b455dfbff4195ebb598235 Mon Sep 17 00:00:00 2001 From: Devendra Date: Fri, 8 Mar 2013 02:01:34 +0530 Subject: [PATCH 07/66] testing --- web/tests/test.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/web/tests/test.js b/web/tests/test.js index b12e36102..b170fcadf 100644 --- a/web/tests/test.js +++ b/web/tests/test.js @@ -1,5 +1,6 @@ var assert = require('assert'); + var pubnub = PUBNUB.init({ publish_key : 'demo', subscribe_key : 'demo' @@ -71,4 +72,4 @@ }) }) }) -}) + }) From f69b79fde4464d2ca56669b01a381a1b7ee63a01 Mon Sep 17 00:00:00 2001 From: "Stephen L. Blum" Date: Thu, 7 Mar 2013 17:48:11 -0800 Subject: [PATCH 08/66] updated presence/callback details. --- README.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 5cab7c83a..ec30c7c98 100644 --- a/README.md +++ b/README.md @@ -107,13 +107,13 @@ JavaScript SDK using the **web** build. It's as easy as `copy/paste`. From bc2705b3abb5446b812af806e3df60686147bbe7 Mon Sep 17 00:00:00 2001 From: Devendra Date: Wed, 13 Mar 2013 14:26:34 +0530 Subject: [PATCH 09/66] trying to get testling working --- empty.js | 0 web/tests/test.js | 1 + 2 files changed, 1 insertion(+) create mode 100644 empty.js diff --git a/empty.js b/empty.js new file mode 100644 index 000000000..e69de29bb diff --git a/web/tests/test.js b/web/tests/test.js index b170fcadf..6d39e824a 100644 --- a/web/tests/test.js +++ b/web/tests/test.js @@ -1,3 +1,4 @@ + var empty = require('../../../empty'); var assert = require('assert'); From c68395931865dd5ba25c4392711350cc70da47c8 Mon Sep 17 00:00:00 2001 From: Devendra Date: Wed, 13 Mar 2013 21:41:42 +0530 Subject: [PATCH 10/66] adding more browsers --- package.json | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 56e8bd2ec..d4aa1c771 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,14 @@ "assert": "~0.4.9" }, "testling": { - "browsers": ["iexplore/6.0","chrome/20.0","chrome/21.0","chrome/22.0"], + "browsers": ["iexplore/6.0","iexplore/7.0","iexplore/8.0","iexplore/10.0","iexplore/9.0","chrome/6.0", + "chrome/7.0","chrome/8.0","chrome/9.0","chrome/10.0","chrome/11.0", + "chrome/12.0","chrome/13.0","chrome/14.0","chrome/15.0","chrome/16.0","chrome/17.0","chrome/18.0", + "chrome/19.0","chrome/20.0","chrome/21.0","chrome/22.0","chrome/23.0","chrome/24.0","chrome/25.0", + "firefox/3.5","firefox/3.6","firefox/4.0","firefox/5.0","firefox/6.0","firefox/7.0", + "firefox/8.0","firefox/9.0","firefox/10.0","firefox/11.0","firefox/12.0","firefox/13.0","firefox/14.0", + "firefox/15.0","firefox/16.0","firefox/17.0","firefox/18.0","firefox/19.0","opera/10.0","opera/10.5", + "opera/11.0","opera/11.5","opera/11.6","opera/12.0","safari/5.0.5","safari/5.1","iphone/6.0","ipad/6.0","safari/6.0"], "harness" : "mocha", "scripts" : "web/pubnub-3.4.2.js", "files": "web/tests/test.js" From d4baab7e1d69861e68ba61837781451ac92d65dd Mon Sep 17 00:00:00 2001 From: Stephen Blum Date: Mon, 25 Mar 2013 12:15:03 -0700 Subject: [PATCH 11/66] added fixed performance meter. --- examples/performance-meter/animate.js | 86 ++++++++ examples/performance-meter/index.html | 63 ++++++ .../performance-meter/performance-meter.png | Bin 0 -> 270506 bytes examples/performance-meter/performance.css | 138 ++++++++++++ examples/performance-meter/performance.js | 206 ++++++++++++++++++ 5 files changed, 493 insertions(+) create mode 100644 examples/performance-meter/animate.js create mode 100644 examples/performance-meter/index.html create mode 100644 examples/performance-meter/performance-meter.png create mode 100644 examples/performance-meter/performance.css create mode 100644 examples/performance-meter/performance.js diff --git a/examples/performance-meter/animate.js b/examples/performance-meter/animate.js new file mode 100644 index 000000000..c62767af5 --- /dev/null +++ b/examples/performance-meter/animate.js @@ -0,0 +1,86 @@ +(function(){ +/* =-=====================================================================-= */ +/* =-=====================================================================-= */ +/* =-========================== ANIMATE ==========================-= */ +/* =-=====================================================================-= */ +/* =-=====================================================================-= */ + +/* + animate( PUBNUB.$('m'), [ + { 'd' : 2, 'r' : 360, 'background' : 'orange' }, + { 'd' : 2, 's' : 2, 'r' : 30, 'background' : 'green' } + ] ); +*/ + +var tranfaobigi = { + 'r' : 'rotate', + 'rz' : 'rotateZ', + 'rx' : 'rotateX', + 'ry' : 'rotateY', + 'p' : 'perspective', + 's' : 'scale', + 'm' : 'matrix', + 'tx' : 'translateX', + 'ty' : 'translateY' +}, tranfaobigi_unit = { + 'r' : 'deg', + 'rz' : 'deg', + 'rx' : 'deg', + 'ry' : 'deg', + 'tx' : 'px', + 'ty' : 'px' +} +, each = PUBNUB.each +, attr = PUBNUB.attr +, animate = window['animate'] = function( node, keyframes, callback ) { + var keyframe = keyframes.shift() + , duration = (keyframe && keyframe['d'] || 1) * 1010 + , callback = callback || function(){}; + + if (keyframe) transform( node, keyframe ); + else return callback(); + + // ready for next keyframe + setTimeout( function(){ + animate( node, keyframes, callback ) + }, duration ); +}; + +function transform( node, keyframe ) { + var tranbuff = [] + , trans = '' + , stylebuff = [] + , style = '' + , duration = (keyframe['d'] || 1) + 's'; + + delete keyframe['d']; + + // Transformation CSS3 + each( keyframe, function( k, v ) { + var what = tranfaobigi[k] + , unit = tranfaobigi_unit[k] || ''; + + if (!what) return; + delete keyframe[k]; + tranbuff.push( what + '(' + v + unit + ')' ); + } ); + trans = tranbuff.join(' ') || ''; + + stylebuff.push( + '-o-transition:all ' + duration, + '-moz-transition:all ' + duration, + '-webkit-transition:all ' + duration, + 'transition:all ' + duration, + '-o-transform:' + trans, + '-moz-transform:' + trans, + '-webkit-transform:' + trans, + 'transform:' + trans + ); + + // CSS2 + each( keyframe, function( k, v ) { stylebuff.push( k + ':' + v ) } ); + style = stylebuff.join(';') || ''; + try { attr( node, 'style', style ) } catch(e) {} +} + +})(); diff --git a/examples/performance-meter/index.html b/examples/performance-meter/index.html new file mode 100644 index 000000000..4d749d949 --- /dev/null +++ b/examples/performance-meter/index.html @@ -0,0 +1,63 @@ + + + + + PubNub Performance Meter + + + + + + + + + + + + + + +
+
+
+
+
0
+
ms
+
+
+
Delivery Medians in Milliseconds
+
+ + + + + + + + +
+ + + + + diff --git a/examples/performance-meter/performance-meter.png b/examples/performance-meter/performance-meter.png new file mode 100644 index 0000000000000000000000000000000000000000..9223924f4226e0a6f0bd8f80f9e9181a3ae17c89 GIT binary patch literal 270506 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 PROXQV_GOA2jYyFhPv}B>? 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∈O2wrS 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ν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 literal 0 HcmV?d00001 diff --git a/examples/performance-meter/performance.css b/examples/performance-meter/performance.css new file mode 100644 index 000000000..529526212 --- /dev/null +++ b/examples/performance-meter/performance.css @@ -0,0 +1,138 @@ +body { background: #efebdc; } +table { width: 100%; } +body, div, img { + padding: 0; + margin: 0; + border; 0; + -webkit-backface-visibility: hidden; + -webkit-transform-style: preserve-3d; +} + +body { + transform: translate3d(0,0,0); + -webkit-transform: translate3d(0,0,0); +} +#performance { + position: relative; + width: 640px; + height: 640px; + overflow: hidden; +} + +#performance-meter { + position: absolute; + top: -11px; + left: 0px; + width: 640px; + height: 640px; + background: transparent url(./performance-meter.png) no-repeat 0px 0px; +} +#performance-meter-bezel { + position: absolute; + top: 0px; + left: 0px; + width: 640px; + height: 640px; + background: transparent url(./performance-meter.png) no-repeat -1280px 0px; +} + +#performance-arrow { + position: absolute; + top: 10px; + left: 0px; + width: 640px; + height: 900px; + background: transparent url(./performance-meter.png) no-repeat -640px 0px; +} + +#performance-meter-number { + position: absolute; + top: 330px; + left: 0px; + width: 640px; + + color: #474332; + text-shadow: 0px 1px 20px rgba(0,0,0,0.5); + text-align: center; + font-family: Exo; + font-size: 100px; + font-weight: 100; +} +#performance-meter-rps { + position: absolute; + top: 450px; + left: 0px; + width: 640px; + + color: #615c49; + opacity: 0.8; + text-shadow: 0px 1px 2px #fff; + text-align: center; + font-family: Exo; + font-size: 95px; + font-weight: 800; +} +.performance-title { + margin-top: 10px; + margin-bottom: 10px; + padding-top: 10px; + width: 640px; + color: #615c57; + text-shadow: 0px 1px 2px #fff; + text-align: center; + font-family: Exo; + font-size: 22px; + font-weight: 800; + border-radius: 3px; +} +#performance-medians { + margin-top: 10px; + margin-bottom: 10px; + padding-top: 10px; + width: 640px; + color: #615c57; + text-shadow: 0px 1px 2px #fff; + text-align: center; + font-family: Exo; + font-size: 22px; + font-weight: 100; + border-radius: 3px; + background: #ebe7d5; +} +.strong { + font-family: Exo; + font-weight: 800; +} +.fastest { + background: #cfc5a1; +} +.slowest { + background: #cfc5a1; +} +#performance-sent { + position: absolute; + top: 6px; + left: 0px; + + border-top: 1px solid rgba(0,0,0,0.1); + border-bottom: 1px solid rgba(0,0,0,0.1); + margin-top: 10px; + padding-top: 10px; + padding-bottom: 10px; + width: 640px; + color: #615c57; + background: rgba(255,255,255,0.2); + text-shadow: 0px 1px 5px rgba(0,0,0,0.4); + text-align: center; + font-family: Exo; + font-size: 22px; + font-weight: 100; +} + +#performance-graph { + border-top: 1px solid rgba(0,0,0,0.1); + border-bottom: 1px solid rgba(0,0,0,0.1); + width: 640px; + height: 50px; +} + diff --git a/examples/performance-meter/performance.js b/examples/performance-meter/performance.js new file mode 100644 index 000000000..282a62d7c --- /dev/null +++ b/examples/performance-meter/performance.js @@ -0,0 +1,206 @@ +(function(){ + +var UNI = 1; +function now() {return+new Date} +function uni() {return+now()+UNI++} + +// ---------------------------------------------------------------------- +// PUBLISH A MESSAGE (SEND) +// ---------------------------------------------------------------------- +var net = PUBNUB.init({ + publish_key : 'demo', + subscribe_key : 'demo', + origin : location.hash.split('#')[1] +}) +, channel = 'performance-meter-' + now() + Math.random() +, sent = 0 +, last = 0 +, mps_avg = 0 +, median_display = {} +, lat_avg = 0 +, median = [0] +, publish = (function(){ + + return function( message, callback ) { + if (!net) return; + + net.publish({ + channel : channel, + message : { + last : sent++, + start : now() + }, + callback : function(info) { + info && info[0] || publish( message, callback ); + callback && callback(info); + } + }); + }; +})(); + +// ---------------------------------------------------------------------- +// SUBSCRIBE FOR MESSAGES (RECEIVE) +// ---------------------------------------------------------------------- +net.subscribe({ + channel : channel, + callback : function( msg, envelope ) { + if (last >= msg.last) return; + last = msg.last; + + var start = msg.start + , latency = (now() - start) || median[1] + , new_mps_avg = 1000 / latency; + + lat_avg = (latency + lat_avg) / 2; + mps_avg = (new_mps_avg + mps_avg) / 2; + median.push(latency); + } +}); + +setInterval( publish, 500 ); +setInterval( function() { set_rps(mps_avg) }, 500 ); + +// ---------------------------------------------------------------------- +// CALCULATE MEDIAN VALUES +// ---------------------------------------------------------------------- +var median_template = PUBNUB.$('median-template').innerHTML +, median_out = PUBNUB.$('performance-medians'); + +function update_medians() { + var length = median.length - 1 + , medlen = Math.floor(length/2); + + function get_median(val) { + return median[medlen + Math.floor(length * val)]; + } + function get_median_low(val) { + return median[Math.floor(medlen * val)||1]; + } + + median = median.sort(function(a,b){return a-b}); + + median_display = { + '1' : median[1], + + '2' : get_median_low(0.02), + '5' : get_median_low(0.05), + '10' : get_median_low(0.1), + '20' : get_median_low(0.2), + '25' : get_median_low(0.5), + '30' : get_median_low(0.6), + '40' : get_median_low(0.8), + '45' : get_median_low(0.9), + + '50' : median[medlen], + + '66' : get_median(0.16), + '75' : get_median(0.25), + '80' : get_median(0.30), + '90' : get_median(0.40), + '95' : get_median(0.45), + '98' : get_median(0.48), + '99' : get_median(0.49), + + '100' : median[length-1] + }; + + median_out.innerHTML = PUBNUB.supplant( + median_template, + median_display + ); +} +update_medians(); + +// ---------------------------------------------------------------------- +// DISPLAY TOTAL MESSAGES SENT/RECEIVED +// ---------------------------------------------------------------------- +var performance_sent_template = PUBNUB.$('messages-sent-template').innerHTML +, performance_sent = PUBNUB.$('performance-sent'); + +function update_messages_received() { + performance_sent.innerHTML = PUBNUB.supplant( + performance_sent_template, { + sent : median.length + 1 + } + ); +} + +// ---------------------------------------------------------------------- +// SET RPS FOR DISPLAY +// ---------------------------------------------------------------------- +var set_rps = (function() { + var rps = PUBNUB.$('performance-meter-number') + , arrow = PUBNUB.$("performance-arrow"); + + return function (val) { + var meter = ((-val || 0)*5); + animate( arrow, [ { + d : 0.5, + r : meter < -90 ? -90 : meter + } ] ); + rps.innerHTML = ''+Math.floor(lat_avg); + //rps.innerHTML = ''+Math.floor(val); + update_medians(); + draw_graph(); + update_messages_received(); + }; +})(); + +// ---------------------------------------------------------------------- +// GRAPH DISPLAY +// ---------------------------------------------------------------------- +var draw_graph = (function(){ + var graph = PUBNUB.$('performance-graph').getContext("2d") + , height = 50 + , barwidth = 35 + , bargap = 5 + , modrend = 2 + , barscale = 2 + , position = 0 + , bgcolor = "#80cae8" + , fgcolor = "#f2efe3"; + + // Graph Gradient + var gradient = graph.createLinearGradient( 0, 0, 0, height * 1.2 ); + gradient.addColorStop( 0, fgcolor ); + gradient.addColorStop( 1, bgcolor ); + + graph.font = "11px Helvetica"; + graph.strokeStyle = '#444'; + + return function(values) { + // Rate Limit Canvas Painting + if (!(sent % modrend)) return; + + // Clear + position = 0; + graph.fillStyle = bgcolor; + graph.fillStyle = fgcolor; + graph.fillRect( 0, 0, 640, height ); + + // Dynamic Bargraph Display + barscale = (+median_display['98']) / (+median_display['5']) * 0.5; + + // Lines + graph.fillStyle = gradient; + PUBNUB.each( median_display, function( key, latency ) { + var height_mod = latency / barscale; + height_mod = height_mod > height ? height : height_mod; + + var left = position * (barwidth + bargap) + (bargap / 2) + , top = height - height_mod; + + // Draw Bar + graph.fillRect( left, top, barwidth, height ); + graph.strokeText( + Math.floor(latency), + left + (barwidth - (""+latency).length * 6) / 2, + (top < 15 ? 15 : top) - 4 + ); + + position++; + } ); + }; +})(); + +})(); From bd1d333fcb9f00f4b1c06cc0ec2dd893c5f65318 Mon Sep 17 00:00:00 2001 From: "Stephen L. Blum" Date: Wed, 27 Mar 2013 10:24:13 -0700 Subject: [PATCH 12/66] added missing syntax in advanced subscribe. --- README.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index ec30c7c98..9d0345d2d 100644 --- a/README.md +++ b/README.md @@ -107,13 +107,13 @@ JavaScript SDK using the **web** build. It's as easy as `copy/paste`. From ce48a7d7b564e22a6110f4289fd46361d2f5cca6 Mon Sep 17 00:00:00 2001 From: "Stephen L. Blum" Date: Wed, 27 Mar 2013 12:20:57 -0700 Subject: [PATCH 13/66] Update LICENSE --- LICENSE | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/LICENSE b/LICENSE index b31276090..3efa3922e 100644 --- a/LICENSE +++ b/LICENSE @@ -1,5 +1,5 @@ PubNub Real-time Cloud-Hosted Push API and Push Notification Client Frameworks -Copyright (c) 2011 TopMambo Inc. +Copyright (c) 2013 PubNub Inc. http://www.pubnub.com/ http://www.pubnub.com/terms @@ -22,6 +22,6 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. PubNub Real-time Cloud-Hosted Push API and Push Notification Client Frameworks -Copyright (c) 2011 TopMambo Inc. +Copyright (c) 2013 PubNub Inc. http://www.pubnub.com/ http://www.pubnub.com/terms From 6247fbfa06aed819326cf2c5248d487b3e87d150 Mon Sep 17 00:00:00 2001 From: Stephen Blum Date: Fri, 29 Mar 2013 22:03:08 -0700 Subject: [PATCH 14/66] upgraded to 3.4.3 JS version with new feature "backfill" on connect which loads history from edge cache. --- README.md | 26 +- VERSION | 2 +- core/3.1/README.md | 127 -- core/3.1/comet.swf | Bin 1137 -> 0 bytes core/3.1/crossdomain.xml | 4 - core/3.1/examples/presence/index.html | 117 -- .../presence/js/jquery.example.min.js | 27 - core/3.1/examples/simple-chat.js | 119 -- core/3.1/modules/player.js | 54 - core/3.1/modules/player.min.js | 1 - core/3.1/modules/sprite.js | 216 ---- core/3.1/modules/sprite.min.js | 3 - core/3.1/modules/utility.js | 121 -- core/3.1/modules/utility.min.js | 3 - core/3.1/pubnub-3.1.js | 932 -------------- core/3.1/pubnub-3.1.min.js | 19 - core/3.1/pubnub.as | 47 - core/3.1/pubnub.swf | Bin 1140 -> 0 bytes core/3.1/tests/head-test.htm | 40 - core/3.1/tests/head.load.min.js | 8 - core/3.1/tests/mailto-fix.html | 52 - core/3.1/tests/ssl-test.html | 54 - core/3.1/tests/test.js | 69 -- core/3.1/tests/test.sh | 41 - core/3.1/tests/unit-test.html | 244 ---- core/3.2/README.md | 127 -- core/3.2/comet.swf | Bin 1137 -> 0 bytes core/3.2/crossdomain.xml | 4 - core/3.2/examples/presence/index.html | 117 -- .../presence/js/jquery.example.min.js | 27 - core/3.2/examples/simple-chat.js | 119 -- core/3.2/modules/player.js | 54 - core/3.2/modules/player.min.js | 1 - core/3.2/modules/sprite.js | 216 ---- core/3.2/modules/sprite.min.js | 3 - core/3.2/modules/utility.js | 121 -- core/3.2/modules/utility.min.js | 3 - core/3.2/pubnub-3.2.js | 987 --------------- core/3.2/pubnub-3.2.min.js | 18 - core/3.2/pubnub.as | 47 - core/3.2/pubnub.swf | Bin 1140 -> 0 bytes core/3.2/tests/head-test.htm | 40 - core/3.2/tests/head.load.min.js | 8 - core/3.2/tests/mailto-fix.html | 52 - core/3.2/tests/ssl-test.html | 54 - core/3.2/tests/test.js | 69 -- core/3.2/tests/test.sh | 41 - core/3.2/tests/unit-test.html | 244 ---- core/3.3.1/README.md | 153 --- core/3.3.1/comet.swf | Bin 1137 -> 0 bytes core/3.3.1/crossdomain.xml | 4 - .../examples/detailed_history/index.html | 110 -- .../detailed_history/js/jquery.example.min.js | 27 - core/3.3.1/examples/presence/index.html | 118 -- .../presence/js/jquery.example.min.js | 27 - core/3.3.1/examples/simple-chat.js | 119 -- core/3.3.1/modules/player.js | 54 - core/3.3.1/modules/player.min.js | 1 - core/3.3.1/modules/sprite.js | 216 ---- core/3.3.1/modules/sprite.min.js | 3 - core/3.3.1/modules/utility.js | 121 -- core/3.3.1/modules/utility.min.js | 3 - core/3.3.1/pubnub-3.3.1.js | 1074 ---------------- core/3.3.1/pubnub-3.3.1.min.js | Bin 4088 -> 0 bytes core/3.3.1/pubnub.as | 47 - core/3.3.1/pubnub.swf | Bin 1140 -> 0 bytes core/3.3.1/tests/head-test.htm | 40 - core/3.3.1/tests/head.load.min.js | 8 - core/3.3.1/tests/mailto-fix.html | 52 - core/3.3.1/tests/presence-ssl.html | 60 - core/3.3.1/tests/ssl-test.html | 54 - core/3.3.1/tests/test.js | 81 -- core/3.3.1/tests/test.sh | 41 - core/3.3.1/tests/unit-test.html | 246 ---- core/3.3/README.md | 127 -- core/3.3/comet.swf | Bin 1137 -> 0 bytes core/3.3/crossdomain.xml | 4 - core/3.3/examples/detailed_history/index.html | 110 -- .../detailed_history/js/jquery.example.min.js | 27 - core/3.3/examples/presence/index.html | 118 -- .../presence/js/jquery.example.min.js | 27 - core/3.3/examples/simple-chat.js | 119 -- core/3.3/modules/player.js | 54 - core/3.3/modules/player.min.js | 1 - core/3.3/modules/sprite.js | 216 ---- core/3.3/modules/sprite.min.js | 3 - core/3.3/modules/utility.js | 121 -- core/3.3/modules/utility.min.js | 3 - core/3.3/pubnub-3.3.js | 1037 ---------------- core/3.3/pubnub-3.3.min.js | 19 - core/3.3/pubnub.as | 47 - core/3.3/pubnub.swf | Bin 1140 -> 0 bytes core/3.3/tests/head-test.htm | 40 - core/3.3/tests/head.load.min.js | 8 - core/3.3/tests/mailto-fix.html | 52 - core/3.3/tests/presence-ssl.html | 60 - core/3.3/tests/ssl-test.html | 54 - core/3.3/tests/test.js | 79 -- core/3.3/tests/test.sh | 39 - core/3.3/tests/unit-test.html | 246 ---- core/3.4.1/README.md | 348 ------ core/3.4.1/build-minify-pubnub | 23 - core/3.4.1/crypto/encrypt-pubnub.js | 238 ---- core/3.4.1/crypto/gibberish-aes.js | 998 --------------- core/3.4.1/examples/advanced.html | 34 - core/3.4.1/examples/encrypted_chat_demo.html | 90 -- core/3.4.1/examples/presence/index.html | 117 -- .../presence/js/jquery.example.min.js | 27 - core/3.4.1/examples/presence/js/pubnub-3.1.js | 984 --------------- core/3.4.1/examples/simple-chat.js | 119 -- core/3.4.1/examples/simple.html | 22 - core/3.4.1/json.js | 155 --- core/3.4.1/pubnub-3.4.1.js | 1076 ----------------- core/3.4.1/pubnub-3.4.1.min.js | 28 - core/3.4.1/pubnub-3.4.1.min.js.gz | Bin 5118 -> 0 bytes .../tests/disconnect-patch-for-top-h.html | 31 - core/3.4.1/tests/head-test.htm | 40 - core/3.4.1/tests/head.load.min.js | 8 - core/3.4.1/tests/mailto-fix.html | 52 - core/3.4.1/tests/multiplexing.html | 104 -- core/3.4.1/tests/presence-ssl.html | 60 - core/3.4.1/tests/publish-test.html | 73 -- core/3.4.1/tests/ssl-test.html | 52 - core/3.4.1/tests/test.js | 81 -- core/3.4.1/tests/test.sh | 41 - core/3.4.1/tests/unit-test.html | 347 ------ core/3.4.1/tests/websocket.html | 43 - core/3.4.1/websocket.js | 109 -- core/3.4/build-minify-pubnub | 23 - core/3.4/crypto/encrypt-pubnub.js | 238 ---- core/3.4/crypto/gibberish-aes.js | 998 --------------- core/3.4/encrypted_chat_demo.html | 90 -- core/3.4/json.js | 155 --- core/3.4/pubnub-3.4.js | 1035 ---------------- core/3.4/pubnub-3.4.min.js | 25 - core/3.4/pubnub-3.4.min.js.gz | Bin 4494 -> 0 bytes core/3.4/tests/head-test.htm | 40 - core/3.4/tests/head.load.min.js | 8 - core/3.4/tests/mailto-fix.html | 52 - core/3.4/tests/multiplexing.html | 104 -- core/3.4/tests/presence-ssl.html | 60 - core/3.4/tests/ssl-test.html | 52 - core/3.4/tests/test.js | 81 -- core/3.4/tests/test.sh | 41 - core/3.4/tests/unit-test.html | 347 ------ core/pubnub.js | 7 + socket.io/socket.io.min.js | 26 +- web/{pubnub-3.4.2.js => pubnub-3.4.3.js} | 9 +- ...ubnub-3.4.2.min.js => pubnub-3.4.3.min.js} | 26 +- web/pubnub-crypto-3.4.3.min.js | 25 + web/pubnub.js | 9 +- web/pubnub.min.js | 26 +- 152 files changed, 101 insertions(+), 18624 deletions(-) delete mode 100644 core/3.1/README.md delete mode 100644 core/3.1/comet.swf delete mode 100644 core/3.1/crossdomain.xml delete mode 100644 core/3.1/examples/presence/index.html delete mode 100755 core/3.1/examples/presence/js/jquery.example.min.js delete mode 100644 core/3.1/examples/simple-chat.js delete mode 100644 core/3.1/modules/player.js delete mode 100644 core/3.1/modules/player.min.js delete mode 100644 core/3.1/modules/sprite.js delete mode 100644 core/3.1/modules/sprite.min.js delete mode 100644 core/3.1/modules/utility.js delete mode 100644 core/3.1/modules/utility.min.js delete mode 100644 core/3.1/pubnub-3.1.js delete mode 100644 core/3.1/pubnub-3.1.min.js delete mode 100644 core/3.1/pubnub.as delete mode 100644 core/3.1/pubnub.swf delete mode 100644 core/3.1/tests/head-test.htm delete mode 100644 core/3.1/tests/head.load.min.js delete mode 100644 core/3.1/tests/mailto-fix.html delete mode 100644 core/3.1/tests/ssl-test.html delete mode 100644 core/3.1/tests/test.js delete mode 100755 core/3.1/tests/test.sh delete mode 100644 core/3.1/tests/unit-test.html delete mode 100644 core/3.2/README.md delete mode 100644 core/3.2/comet.swf delete mode 100644 core/3.2/crossdomain.xml delete mode 100644 core/3.2/examples/presence/index.html delete mode 100755 core/3.2/examples/presence/js/jquery.example.min.js delete mode 100644 core/3.2/examples/simple-chat.js delete mode 100644 core/3.2/modules/player.js delete mode 100644 core/3.2/modules/player.min.js delete mode 100644 core/3.2/modules/sprite.js delete mode 100644 core/3.2/modules/sprite.min.js delete mode 100644 core/3.2/modules/utility.js delete mode 100644 core/3.2/modules/utility.min.js delete mode 100644 core/3.2/pubnub-3.2.js delete mode 100644 core/3.2/pubnub-3.2.min.js delete mode 100644 core/3.2/pubnub.as delete mode 100644 core/3.2/pubnub.swf delete mode 100644 core/3.2/tests/head-test.htm delete mode 100644 core/3.2/tests/head.load.min.js delete mode 100644 core/3.2/tests/mailto-fix.html delete mode 100644 core/3.2/tests/ssl-test.html delete mode 100644 core/3.2/tests/test.js delete mode 100755 core/3.2/tests/test.sh delete mode 100644 core/3.2/tests/unit-test.html delete mode 100644 core/3.3.1/README.md delete mode 100644 core/3.3.1/comet.swf delete mode 100644 core/3.3.1/crossdomain.xml delete mode 100644 core/3.3.1/examples/detailed_history/index.html delete mode 100755 core/3.3.1/examples/detailed_history/js/jquery.example.min.js delete mode 100644 core/3.3.1/examples/presence/index.html delete mode 100755 core/3.3.1/examples/presence/js/jquery.example.min.js delete mode 100644 core/3.3.1/examples/simple-chat.js delete mode 100644 core/3.3.1/modules/player.js delete mode 100644 core/3.3.1/modules/player.min.js delete mode 100644 core/3.3.1/modules/sprite.js delete mode 100644 core/3.3.1/modules/sprite.min.js delete mode 100644 core/3.3.1/modules/utility.js delete mode 100644 core/3.3.1/modules/utility.min.js delete mode 100644 core/3.3.1/pubnub-3.3.1.js delete mode 100644 core/3.3.1/pubnub-3.3.1.min.js delete mode 100644 core/3.3.1/pubnub.as delete mode 100644 core/3.3.1/pubnub.swf delete mode 100644 core/3.3.1/tests/head-test.htm delete mode 100644 core/3.3.1/tests/head.load.min.js delete mode 100644 core/3.3.1/tests/mailto-fix.html delete mode 100644 core/3.3.1/tests/presence-ssl.html delete mode 100644 core/3.3.1/tests/ssl-test.html delete mode 100644 core/3.3.1/tests/test.js delete mode 100755 core/3.3.1/tests/test.sh delete mode 100644 core/3.3.1/tests/unit-test.html delete mode 100644 core/3.3/README.md delete mode 100644 core/3.3/comet.swf delete mode 100644 core/3.3/crossdomain.xml delete mode 100644 core/3.3/examples/detailed_history/index.html delete mode 100755 core/3.3/examples/detailed_history/js/jquery.example.min.js delete mode 100644 core/3.3/examples/presence/index.html delete mode 100755 core/3.3/examples/presence/js/jquery.example.min.js delete mode 100644 core/3.3/examples/simple-chat.js delete mode 100644 core/3.3/modules/player.js delete mode 100644 core/3.3/modules/player.min.js delete mode 100644 core/3.3/modules/sprite.js delete mode 100644 core/3.3/modules/sprite.min.js delete mode 100644 core/3.3/modules/utility.js delete mode 100644 core/3.3/modules/utility.min.js delete mode 100644 core/3.3/pubnub-3.3.js delete mode 100644 core/3.3/pubnub-3.3.min.js delete mode 100644 core/3.3/pubnub.as delete mode 100644 core/3.3/pubnub.swf delete mode 100644 core/3.3/tests/head-test.htm delete mode 100644 core/3.3/tests/head.load.min.js delete mode 100644 core/3.3/tests/mailto-fix.html delete mode 100644 core/3.3/tests/presence-ssl.html delete mode 100644 core/3.3/tests/ssl-test.html delete mode 100644 core/3.3/tests/test.js delete mode 100755 core/3.3/tests/test.sh delete mode 100644 core/3.3/tests/unit-test.html delete mode 100644 core/3.4.1/README.md delete mode 100755 core/3.4.1/build-minify-pubnub delete mode 100644 core/3.4.1/crypto/encrypt-pubnub.js delete mode 100755 core/3.4.1/crypto/gibberish-aes.js delete mode 100644 core/3.4.1/examples/advanced.html delete mode 100644 core/3.4.1/examples/encrypted_chat_demo.html delete mode 100644 core/3.4.1/examples/presence/index.html delete mode 100755 core/3.4.1/examples/presence/js/jquery.example.min.js delete mode 100644 core/3.4.1/examples/presence/js/pubnub-3.1.js delete mode 100644 core/3.4.1/examples/simple-chat.js delete mode 100644 core/3.4.1/examples/simple.html delete mode 100644 core/3.4.1/json.js delete mode 100644 core/3.4.1/pubnub-3.4.1.js delete mode 100644 core/3.4.1/pubnub-3.4.1.min.js delete mode 100644 core/3.4.1/pubnub-3.4.1.min.js.gz delete mode 100644 core/3.4.1/tests/disconnect-patch-for-top-h.html delete mode 100644 core/3.4.1/tests/head-test.htm delete mode 100644 core/3.4.1/tests/head.load.min.js delete mode 100644 core/3.4.1/tests/mailto-fix.html delete mode 100644 core/3.4.1/tests/multiplexing.html delete mode 100644 core/3.4.1/tests/presence-ssl.html delete mode 100644 core/3.4.1/tests/publish-test.html delete mode 100644 core/3.4.1/tests/ssl-test.html delete mode 100644 core/3.4.1/tests/test.js delete mode 100755 core/3.4.1/tests/test.sh delete mode 100644 core/3.4.1/tests/unit-test.html delete mode 100644 core/3.4.1/tests/websocket.html delete mode 100644 core/3.4.1/websocket.js delete mode 100755 core/3.4/build-minify-pubnub delete mode 100644 core/3.4/crypto/encrypt-pubnub.js delete mode 100755 core/3.4/crypto/gibberish-aes.js delete mode 100644 core/3.4/encrypted_chat_demo.html delete mode 100644 core/3.4/json.js delete mode 100644 core/3.4/pubnub-3.4.js delete mode 100644 core/3.4/pubnub-3.4.min.js delete mode 100644 core/3.4/pubnub-3.4.min.js.gz delete mode 100644 core/3.4/tests/head-test.htm delete mode 100644 core/3.4/tests/head.load.min.js delete mode 100644 core/3.4/tests/mailto-fix.html delete mode 100644 core/3.4/tests/multiplexing.html delete mode 100644 core/3.4/tests/presence-ssl.html delete mode 100644 core/3.4/tests/ssl-test.html delete mode 100644 core/3.4/tests/test.js delete mode 100755 core/3.4/tests/test.sh delete mode 100644 core/3.4/tests/unit-test.html rename web/{pubnub-3.4.2.js => pubnub-3.4.3.js} (99%) rename web/{pubnub-3.4.2.min.js => pubnub-3.4.3.min.js} (73%) create mode 100644 web/pubnub-crypto-3.4.3.min.js diff --git a/README.md b/README.md index 9d0345d2d..571556d3d 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # YOU MUST HAVE A PUBNUB ACCOUNT TO USE THE API. http://www.pubnub.com/account -## The PubNub Network JavaScript v3.4.2 Real-time SDK +## The PubNub Network JavaScript v3.4.3 Real-time SDK http://www.pubnub.com - PubNub Real-time Push Service in the Cloud. The PubNub Network is a blazingly fast Global Messaging Service for building @@ -16,7 +16,7 @@ business collaborative solutions, and more. You may access the latest PubNub JavaScript SDK on The PubNub Network CDN. ```html - + + + - + + + + + + + + + - -``` - -## ADVANCED STYLE -```html -
- - -``` - -## SSL MODE - -```html -
- - -``` - -## Using the PUBNUB init() Function - -Sometimes you want to use create a PubNub Instance directly in JavaScript -and pass the PubNub API Keys without using a DOM element. -To do this, simply follow this `init` example: - -```html - - -``` - diff --git a/core/3.1/comet.swf b/core/3.1/comet.swf deleted file mode 100644 index 1209542d3708247b235de8ca9a62df7d721db170..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1137 zcmV-%1djVdS5pax1^@tf+FevjZ`(!?-XSTDo{lX$it})y*h!q&vK~%TAciA2u;jvl z8x^vH^Z}z>kt>@uA1b-B%465@!VR*XEgwrc*r?S;qfvGAxatQ- zwZ_w@Piyt{+WPt$A=bh(PxA4a7cMO~V}h0l&A=W=+xNe-N5z7t- z4nNcP2Z1fc1RkD+Qn=}TVGhZA1}i!4IR2>RyWI9>^QUo4%X4;d@ zu19O1n?gMjGRG}zo05CnJjrZ#K5ZXV18c01WNHi_2#tEhHIop!<8w;{Dbw*okx95c zAv3SKdwX$2mpmXwO`Z)zA)Lr;2Z0~pSB=Wz{^DUS$r?)A3A3S)2evEda-${aw88>` zGV!RkC(}Da&y41hCRv~DwGZ0Uq&4o=o=vUrM3CR@#Qd={z1#V^-R*X|#r?~*7Cv;!jxCyycP|DOOvi*p_R-eiO$45 zv6 DFh4hW diff --git a/core/3.1/crossdomain.xml b/core/3.1/crossdomain.xml deleted file mode 100644 index 8fb3c5227..000000000 --- a/core/3.1/crossdomain.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/core/3.1/examples/presence/index.html b/core/3.1/examples/presence/index.html deleted file mode 100644 index bc9cb568e..000000000 --- a/core/3.1/examples/presence/index.html +++ /dev/null @@ -1,117 +0,0 @@ - - - PubNub Presence Demo - - - - - - - - - - - - - - -
- -

Currently Here

-
    -
-
- - - 0 people here now -
- - -
- - - - - - - -. -*/ - -/* - - - - - -
Loading Simple Chat
- -*/ -var P = PUBNUB -, chat = { - init : function( node_name ) { - var node = P.$(node_name); - - chat.node_name = node_name; - - // Create Nodes - chat.textbox = P.create('input'); - chat.chatbox = P.create('div'); - chat.button = P.create('button'); - - // Button Text - chat.button.innerHTML = 'Send'; - - // Capture Channel - var channel = P.attr( node, 'channel' ); - - // Add Styles - P.attr( chat.chatbox, 'id', 'simple-chat-chatbox' ); - P.attr( chat.textbox, 'id', 'simple-chat-textbox' ); - P.attr( chat.button, 'id', 'simple-chat-button' ); - - // Display Nodes - node.innerHTML = ''; - node.appendChild(chat.chatbox); - node.appendChild(chat.textbox); - node.appendChild(chat.button); - - // Send Sign-on Message - P.publish({ - channel : channel, - message : 'Someone Joined the Chat.' - }); - - function send(e) { - var key = e.keyCode || e.charCode || 0 - , message = chat.textbox.value; - - // Wait for Enter Key - if (key != 13 && e.type == 'keydown' || !message) return true; - - // Reset Value - chat.textbox.value = ''; - - // Send Message - P.publish({ - channel : node_name, - message : message - }); - } - - // Bind Events - P.bind( 'keydown', chat.textbox, send ); - P.bind( 'blur', chat.textbox, send ); - - // Register Listener - P.subscribe({ channel : node_name }, chat.subscribe ); - }, - - subscribe : function(message) { - var br = '
'; - chat.chatbox.innerHTML = message + br + chat.chatbox.innerHTML; - } - -}; - -// Startup Simple Chat -chat.init('simple-chat'); - -})() diff --git a/core/3.1/modules/player.js b/core/3.1/modules/player.js deleted file mode 100644 index 4529496a4..000000000 --- a/core/3.1/modules/player.js +++ /dev/null @@ -1,54 +0,0 @@ -(function(){ - -var PUB = PUBNUB - -/* -------- - Provide a Player Creation/Management Interface. - -------- */ - -, players = (function(){ - var players_obj = {}; - return { - add : function(player) { - players_obj[player['uuid']] = player; - return player; - }, - get : function(uuid) { - return players_obj[uuid]; - }, - all : function() { - return players_obj; - } - }; -})(); - -/* -------- - Capture Current User's Information. - -------- */ - -function current_player(ready) { - function is_ready() { - if (player['uuid'] && player['joined']) { - players.add(player); - ready(player) - } - } - - var player = { - 'uuid' : PUB.uuid(function(uuid){ - player['uuid'] = uuid; - is_ready(); - }), - 'joined' : PUB.time(function(time){ - player['joined'] = time; - is_ready(); - }) - }; -} - -PUB['player'] = { - 'players' : players, - 'current_player' : current_player -}; - -})(); diff --git a/core/3.1/modules/player.min.js b/core/3.1/modules/player.min.js deleted file mode 100644 index 7f4bbd54e..000000000 --- a/core/3.1/modules/player.min.js +++ /dev/null @@ -1 +0,0 @@ -(function(){var d=PUBNUB,f=function(){var c={};return{add:function(a){return c[a.uuid]=a},a:function(a){return c[a]},all:function(){return c}}}();d.player={players:f,current_player:function(c){function a(){if(b.uuid&&b.joined){f.add(b);c(b)}}var b={uuid:d.c(function(e){b.uuid=e;a()}),joined:d.b(function(e){b.joined=e;a()})}}}})(); diff --git a/core/3.1/modules/sprite.js b/core/3.1/modules/sprite.js deleted file mode 100644 index bb8b60caa..000000000 --- a/core/3.1/modules/sprite.js +++ /dev/null @@ -1,216 +0,0 @@ -(function(){ - - -var PUB = PUBNUB -, bind = PUB.bind -, css = PUB.css -, each = PUB.each -, utility = PUB.utility -, now = utility.now -, ground = PUB.search('body')[0]; - -function painter(node) { - ground = node; -} - -function create(sprite) { - sprite.intervals = { - animate : 0, - move : {} - }; - - sprite.cell.size = Math.floor(sprite.image.width / sprite.cell.count); - sprite.node = PUB.create('div'); - sprite.opacity = sprite.opacity || 1.0; - - css( sprite.node, { - opacity : sprite.opacity, - position : 'absolute', - top : sprite.top, - left : sprite.left, - width : sprite.cell.size, - height : sprite.image.height, - backgroundRepeat : 'no-repeat', - backgroundImage : 'url(' + sprite.image.url + ')' - } ); - - setframe( sprite, 0 ); - append(sprite.node); - - return sprite; -} - -function append(node) { - ground.appendChild(node); -} - -function setframe( sprite, cell, offset ) { - var offset = offset || {}; - if (typeof offset.top == 'number') - sprite.image.offset.top = offset.top; - if (typeof offset.left == 'number') - sprite.image.offset.left = offset.left; - - css( sprite.node, { - backgroundPosition : '-' + - (sprite.cell.size * cell + sprite.image.offset.left) + - 'px -' + sprite.image.offset.top + 'px' - } ); -} - -/** - * sprite.animate( [[frame, duration], []...] ) - * sprite.animate( [[], [], []] ) - * sprite.animate( [[0, .2], [1, .4], [2, .5]] ) - */ -function animate( sprite, pattern, loop, callback, position ) { - // Clear Any Other Animation - if (!position) { - position = 0; - stop_animate(sprite); - } - - // if last frame, and no loop, then leave, else restart - if (position === pattern.length) { - if (loop === 0) return callback && callback(); - else { - loop--; - position = 0; - } - } - - // Multi format compatibility ([frame, delay]) or (frame) - var frame = pattern[position][0] || pattern[position] - , delay = pattern[position][1] || .1; - - sprite.intervals.animate = setTimeout( function() { - // Update Current Frame - setframe( sprite, frame ); - - // Next Frame - animate( sprite, pattern, loop, callback, position + 1 ); - }, delay * 1000 ); -} - - -/** - * Move and Animate Combined!!! - * - * sprite.animate( [ [left, top, duration, [animate] ], []...] ) - * sprite.animate( [[], [], []] ) - * sprite.animate( [[10, 10, .2, [ANIMATEPARAMS], loopanimate ], ... ) - * sprite.animate( [[10, 10, .2, [[frame,dur], ...], loopanimate ], ... ) - */ -function movie( sprite, pattern, loop, callback, position ) { - // Clear Any Other Animation - if (!position) { - position = 0; - stop_all(sprite); - } - - // if last frame, and no loop, then leave, else restart - if (position === pattern.length) { - if (loop === 0) return callback && callback(); - else { - loop--; - position = 0; - } - } - - // Update Animator - if (pattern[position][2]) animate( - sprite, - pattern[position][2], - pattern[position][3] || 0 - ); - - // [{top:0,opacity:.5}, 500, 0, 0], - // Update Mover - move( - sprite, - pattern[position][0], - pattern[position][1], - function() { - movie( sprite, pattern, loop, callback, position + 1 ); - } - ); -} - -/** - * move sprite from one place to another. - */ -function move( sprite, properties, duration, callback ) { - var start_time = now(); - - stop_all(sprite); - - each( properties, function( property, value ) { - var current_time = start_time - , end_time = start_time + duration - , start_prop = sprite[property] || 0 - , distance = value - start_prop - , update = {} - , ikey = property + value; - - stop_move( sprite, ikey ); - sprite.intervals.move[ikey] = setInterval( function() { - current_time = now(); - - sprite[property] = ( - end_time <= current_time - ? value - : ( distance * (current_time - start_time) - / duration + start_prop ) - ); - - update[property] = sprite[property]; - css( sprite.node, update ); - - if ( end_time <= current_time && sprite.intervals.move ) { - stop_move( sprite, ikey ); - callback && callback(); - } - - }, Math.ceil(1000 / sprite.framerate) ); - } ); -} - -/** - * Stop movie - */ -function stop_all(sprite) { - clearTimeout(sprite.intervals.animate); - each( sprite.intervals.move, function( ikey ) { - clearInterval(sprite.intervals.move[ikey]); - } ); -} - -/** - * Stop move. - */ -function stop_move( sprite, ikey ) { - clearInterval(sprite.intervals.move[ikey]); -} - -/** - * Stop animate. - */ -function stop_animate(sprite) { - clearTimeout(sprite.intervals.animate); -} - -// Expose Global 'sprite' to PUBNUB -PUB['sprite'] = { - 'painter' : painter, - 'create' : create, - 'setframe' : setframe, - 'animate' : animate, - 'move' : move, - 'movie' : movie, - 'stop_all' : stop_all, - 'stop_move' : stop_move, - 'stop_animate' : stop_animate -}; - - -})(); diff --git a/core/3.1/modules/sprite.min.js b/core/3.1/modules/sprite.min.js deleted file mode 100644 index 95d7895e4..000000000 --- a/core/3.1/modules/sprite.min.js +++ /dev/null @@ -1,3 +0,0 @@ -(function(){function i(a,c,d){d=d||{};if(typeof d.top=="number")a.b.f.top=d.top;if(typeof d.left=="number")a.b.f.left=d.left;j(a.c,{backgroundPosition:"-"+(a.e.size*c+a.b.f.left)+"px -"+a.b.f.top+"px"})}function k(a,c,d,e,b){if(!b){b=0;p(a)}if(b===c.length)if(d===0)return e&&e();else{d--;b=0}var f=c[b][0]||c[b];a.a.d=setTimeout(function(){i(a,f);k(a,c,d,e,b+1)},(c[b][1]||0.1)*1E3)}function q(a,c,d,e,b){if(!b){b=0;l(a)}if(b===c.length)if(d===0)return e&&e();else{d--;b=0}if(c[b][2])k(a,c[b][2],c[b][3]|| -0);r(a,c[b][0],c[b][1],function(){q(a,c,d,e,b+1)})}function r(a,c,d,e){var b=s();l(a);t(c,function(f,m){var h=b,u=b+d,v=a[f]||0,y=m-v,w={},n=f+m;o(a,n);a.a.move[n]=setInterval(function(){h=s();a[f]=u<=h?m:y*(h-b)/d+v;w[f]=a[f];j(a.c,w);if(u<=h&&a.a.move){o(a,n);e&&e()}},Math.ceil(1E3/a.j))})}function l(a){clearTimeout(a.a.d);t(a.a.move,function(c){clearInterval(a.a.move[c])})}function o(a,c){clearInterval(a.a.move[c])}function p(a){clearTimeout(a.a.d)}var g=PUBNUB,j=g.h,t=g.i,s=g.k.now,x=g.search("body")[0]; -g.sprite={painter:function(a){x=a},create:function(a){a.a={d:0,move:{}};a.e.size=Math.floor(a.b.width/a.e.g);a.c=g.create("div");a.opacity=a.opacity||1;j(a.c,{opacity:a.opacity,position:"absolute",top:a.top,left:a.left,width:a.e.size,height:a.b.height,backgroundRepeat:"no-repeat",backgroundImage:"url("+a.b.url+")"});i(a,0);x.appendChild(a.c);return a},setframe:i,animate:k,move:r,movie:q,stop_all:l,stop_move:o,stop_animate:p}})(); diff --git a/core/3.1/modules/utility.js b/core/3.1/modules/utility.js deleted file mode 100644 index 81dc95abf..000000000 --- a/core/3.1/modules/utility.js +++ /dev/null @@ -1,121 +0,0 @@ -(function(){ - -/* ======================================================================== */ -/* ================================ UTILITY =============================== */ -/* ======================================================================== */ - -var db = this['localStorage'] -, PUB = PUBNUB -, now = function(){return+new Date} -, cookie = { - get : function(key) { - if (db) return db.getItem(key); - if ((document.cookie||'').indexOf(key) == -1) return null; - return ((document.cookie||'').match( - RegExp(key+'=([^;]+)') - )||[])[1] || null; - }, - set : function( key, value ) { - if (db) return db.setItem( key, value ); - document.cookie = key + '=' + value + - '; expires=Thu, 1 Aug 2030 20:00:00 UTC; path=/'; - } -}; - -function updater( fun, rate ) { - var timeout - , last = 0 - , runnit = function() { - var right_now = now(); - - if (last + rate > right_now) { - clearTimeout(timeout); - timeout = setTimeout( runnit, rate ); - } - else { - last = now(); - fun(); - } - }; - - // Provide Rate Limited Function Call - return runnit; -} - -function mouse(e) { - if (!e) return [[0,0]]; - - var tch = e.touches && e.touches[0] - , mpos = []; - - if (tch) { - PUB.each( e.touches, function(touch) { - mpos.push([ touch.pageX, touch.pageY ]); - } ); - } - else if (e.pageX) { - mpos.push([ e.pageX, e.pageY ]); - } - else {try{ - mpos.push([ - e.clientX + body.scrollLeft + doc.scrollLeft, - e.clientY + body.scrollTop + doc.scrollTop - ]); - }catch(e){}} - - return mpos; -} - - -/** - * OFFSET - * ====== - * offset( search('div')[0], 'Width' ); - * offset( search('div')[0], 'Height' ); - * offset( search('div')[0], 'Top' ); - * offset( search('div')[0], 'Left' ); - */ -function offset( node, what ) { - var pos = 0 - , what = what || 'Top'; - - while (node) { - pos += node['offset'+what]; - node = node.offsetParent; - } - - return pos -} - -/** - * WINFO - * ===== - * var window_info = winfot(); - * log(window_info.height); - */ -function winfo() { - return { - height : this.innerHeight || - document.documentElement.clientHeight || - document.body.clientHeight, - scrollTop : document.documentElement.scrollTop || - document.body.scrollTop, - size : offset(search('body')[0], 'Height') - } -} - - - - -// Expose Utility to PUBNUB. -PUB['utility'] = { - 'mouse' : mouse, - 'winfo' : winfo, - 'offset' : offset, - 'now' : now, - 'cookie' : cookie, - 'updater' : updater -}; - - -})(); diff --git a/core/3.1/modules/utility.min.js b/core/3.1/modules/utility.min.js deleted file mode 100644 index 93cedae42..000000000 --- a/core/3.1/modules/utility.min.js +++ /dev/null @@ -1,3 +0,0 @@ -(function(){function g(a,b){var c=0;for(b=b||"Top";a;){c+=a["offset"+b];a=a.offsetParent}return c}var e=this.localStorage,h=PUBNUB;function f(){return+new Date}h.utility={mouse:function(a){if(!a)return[[0,0]];var b=[];if(a.touches&&a.touches[0])h.a(a.touches,function(d){b.push([d.pageX,d.pageY])});else if(a.pageX)b.push([a.pageX,a.pageY]);else try{b.push([a.clientX+body.scrollLeft+doc.scrollLeft,a.clientY+body.scrollTop+doc.scrollTop])}catch(c){}return b},winfo:function(){return{height:this.innerHeight|| -document.documentElement.clientHeight||document.body.clientHeight,scrollTop:document.documentElement.scrollTop||document.body.scrollTop,size:g(search("body")[0],"Height")}},offset:g,now:f,cookie:{b:function(a){if(e)return e.getItem(a);if((document.cookie||"").indexOf(a)==-1)return null;return((document.cookie||"").match(RegExp(a+"=([^;]+)"))||[])[1]||null},c:function(a,b){if(e)return e.setItem(a,b);document.cookie=a+"="+b+"; expires=Thu, 1 Aug 2030 20:00:00 UTC; path=/"}},updater:function(a,b){var c, -d=0;function i(){if(d+b>f()){clearTimeout(c);c=setTimeout(i,b)}else{d=f();a()}}return i}}})(); diff --git a/core/3.1/pubnub-3.1.js b/core/3.1/pubnub-3.1.js deleted file mode 100644 index 0df82d291..000000000 --- a/core/3.1/pubnub-3.1.js +++ /dev/null @@ -1,932 +0,0 @@ -/* --------------------------------------------------------------------------- -WAIT! - This file depends on instructions from the PUBNUB Cloud. -http://www.pubnub.com/account-javascript-api-include ---------------------------------------------------------------------------- */ - -/* --------------------------------------------------------------------------- -PubNub Real-time Cloud-Hosted Push API and Push Notification Client Frameworks -Copyright (c) 2011 PubNub Inc. -http://www.pubnub.com/ -http://www.pubnub.com/terms ---------------------------------------------------------------------------- */ - -/* --------------------------------------------------------------------------- -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. ---------------------------------------------------------------------------- */ - -/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= JSON =============================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -(window['JSON'] && window['JSON']['stringify']) || (function () { - window['JSON'] || (window['JSON'] = {}); - - if (typeof String.prototype.toJSON !== 'function') { - String.prototype.toJSON = - Number.prototype.toJSON = - Boolean.prototype.toJSON = function (key) { - return this.valueOf(); - }; - } - - var cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, - escapable = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, - gap, - indent, - meta = { // table of character substitutions - '\b': '\\b', - '\t': '\\t', - '\n': '\\n', - '\f': '\\f', - '\r': '\\r', - '"' : '\\"', - '\\': '\\\\' - }, - rep; - - function quote(string) { - escapable.lastIndex = 0; - return escapable.test(string) ? - '"' + string.replace(escapable, function (a) { - var c = meta[a]; - return typeof c === 'string' ? c : - '\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4); - }) + '"' : - '"' + string + '"'; - } - - - function str(key, holder) { - var i, // The loop counter. - k, // The member key. - v, // The member value. - length, - mind = gap, - partial, - value = holder[key]; - - if (value && typeof value === 'object' && - typeof value.toJSON === 'function') { - value = value.toJSON(key); - } - - if (typeof rep === 'function') { - value = rep.call(holder, key, value); - } - - switch (typeof value) { - case 'string': - return quote(value); - - case 'number': - return isFinite(value) ? String(value) : 'null'; - - case 'boolean': - case 'null': - return String(value); - - case 'object': - - if (!value) { - return 'null'; - } - - gap += indent; - partial = []; - - if (Object.prototype.toString.apply(value) === '[object Array]') { - - length = value.length; - for (i = 0; i < length; i += 1) { - partial[i] = str(i, value) || 'null'; - } - - v = partial.length === 0 ? '[]' : - gap ? '[\n' + gap + - partial.join(',\n' + gap) + '\n' + - mind + ']' : - '[' + partial.join(',') + ']'; - gap = mind; - return v; - } - if (rep && typeof rep === 'object') { - length = rep.length; - for (i = 0; i < length; i += 1) { - k = rep[i]; - if (typeof k === 'string') { - v = str(k, value); - if (v) { - partial.push(quote(k) + (gap ? ': ' : ':') + v); - } - } - } - } else { - for (k in value) { - if (Object.hasOwnProperty.call(value, k)) { - v = str(k, value); - if (v) { - partial.push(quote(k) + (gap ? ': ' : ':') + v); - } - } - } - } - - v = partial.length === 0 ? '{}' : - gap ? '{\n' + gap + partial.join(',\n' + gap) + '\n' + - mind + '}' : '{' + partial.join(',') + '}'; - gap = mind; - return v; - } - } - - if (typeof JSON['stringify'] !== 'function') { - JSON['stringify'] = function (value, replacer, space) { - var i; - gap = ''; - indent = ''; - - if (typeof space === 'number') { - for (i = 0; i < space; i += 1) { - indent += ' '; - } - } else if (typeof space === 'string') { - indent = space; - } - rep = replacer; - if (replacer && typeof replacer !== 'function' && - (typeof replacer !== 'object' || - typeof replacer.length !== 'number')) { - throw new Error('JSON.stringify'); - } - return str('', {'': value}); - }; - } - - if (typeof JSON['parse'] !== 'function') { - // JSON is parsed on the server for security. - JSON['parse'] = function (text) {return eval('('+text+')')}; - } -}()); - - -/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-======================= DOM UTIL ===========================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -window['PUBNUB'] || (function() { - -/** - * CONSOLE COMPATIBILITY - */ -window.console||(window.console=window.console||{}); -console.log||(console.log=((window.opera||{}).postError||function(){})); - -/** - * UTILITIES - */ -function unique() { return'x'+ ++NOW+''+(+new Date) } -function rnow() { return+new Date } - -/** - * LOCAL STORAGE OR COOKIE - */ -var db = (function(){ - var ls = window['localStorage']; - return { - 'get' : function(key) { - try { - if (ls) return ls.getItem(key); - if (document.cookie.indexOf(key) == -1) return null; - return ((document.cookie||'').match( - RegExp(key+'=([^;]+)') - )||[])[1] || null; - } catch(e) { return } - }, - 'set' : function( key, value ) { - try { - if (ls) return ls.setItem( key, value ) && 0; - document.cookie = key + '=' + value + - '; expires=Thu, 1 Aug 2030 20:00:00 UTC; path=/'; - } catch(e) { return } - } - }; -})(); - -/** - * UTIL LOCALS - */ -var NOW = 1 -, SWF = 'https://dh15atwfs066y.cloudfront.net/pubnub.swf' -, REPL = /{([\w\-]+)}/g -, ASYNC = 'async' -, URLBIT = '/' -, XHRTME = 310000 -, SECOND = 1000 -, UA = navigator.userAgent -, XORIGN = UA.indexOf('MSIE 6') == -1; - -/** - * NEXTORIGIN - * ========== - * var next_origin = nextorigin(); - */ -var nextorigin = (function() { - var ori = Math.floor(Math.random() * 9) + 1; - return function(origin) { - return origin.indexOf('pubsub') > 0 - && origin.replace( - 'pubsub', 'ps' + (++ori < 10 ? ori : ori=1) - ) || origin; - } -})(); - -/** - * UPDATER - * ====== - * var timestamp = unique(); - */ -function updater( fun, rate ) { - var timeout - , last = 0 - , runnit = function() { - if (last + rate > rnow()) { - clearTimeout(timeout); - timeout = setTimeout( runnit, rate ); - } - else { - last = rnow(); - fun(); - } - }; - - return runnit; -} - -/** - * $ - * = - * var div = $('divid'); - */ -function $(id) { return document.getElementById(id) } - -/** - * LOG - * === - * log('message'); - */ -function log(message) { console['log'](message) } - -/** - * SEARCH - * ====== - * var elements = search('a div span'); - */ -function search( elements, start ) { - var list = []; - each( elements.split(/\s+/), function(el) { - each( (start || document).getElementsByTagName(el), function(node) { - list.push(node); - } ); - } ); - return list; -} - -/** - * EACH - * ==== - * each( [1,2,3], function(item) { console.log(item) } ) - */ -function each( o, f ) { - if ( !o || !f ) return; - - if ( typeof o[0] != 'undefined' ) - for ( var i = 0, l = o.length; i < l; ) - f.call( o[i], o[i], i++ ); - else - for ( var i in o ) - o.hasOwnProperty && - o.hasOwnProperty(i) && - f.call( o[i], i, o[i] ); -} - -/** - * MAP - * === - * var list = map( [1,2,3], function(item) { return item + 1 } ) - */ -function map( list, fun ) { - var fin = []; - each( list || [], function( k, v ) { fin.push(fun( k, v )) } ); - return fin; -} - -/** - * GREP - * ==== - * var list = grep( [1,2,3], function(item) { return item % 2 } ) - */ -function grep( list, fun ) { - var fin = []; - each( list || [], function(l) { fun(l) && fin.push(l) } ); - return fin -} - -/** - * SUPPLANT - * ======== - * var text = supplant( 'Hello {name}!', { name : 'John' } ) - */ -function supplant( str, values ) { - return str.replace( REPL, function( _, match ) { - return values[match] || _ - } ); -} - -/** - * BIND - * ==== - * bind( 'keydown', search('a')[0], function(element) { - * console.log( element, '1st anchor' ) - * } ); - */ -function bind( type, el, fun ) { - each( type.split(','), function(etype) { - var rapfun = function(e) { - if (!e) e = window.event; - if (!fun(e)) { - e.cancelBubble = true; - e.returnValue = false; - e.preventDefault && e.preventDefault(); - e.stopPropagation && e.stopPropagation(); - } - }; - - if ( el.addEventListener ) el.addEventListener( etype, rapfun, false ); - else if ( el.attachEvent ) el.attachEvent( 'on' + etype, rapfun ); - else el[ 'on' + etype ] = rapfun; - } ); -} - -/** - * UNBIND - * ====== - * unbind( 'keydown', search('a')[0] ); - */ -function unbind( type, el, fun ) { - if ( el.removeEventListener ) el.removeEventListener( type, false ); - else if ( el.detachEvent ) el.detachEvent( 'on' + type, false ); - else el[ 'on' + type ] = null; -} - -/** - * HEAD - * ==== - * head().appendChild(elm); - */ -function head() { return search('head')[0] } - -/** - * ATTR - * ==== - * var attribute = attr( node, 'attribute' ); - */ -function attr( node, attribute, value ) { - if (value) node.setAttribute( attribute, value ); - else return node && node.getAttribute && node.getAttribute(attribute); -} - -/** - * CSS - * === - * var obj = create('div'); - */ -function css( element, styles ) { - for (var style in styles) if (styles.hasOwnProperty(style)) - try {element.style[style] = styles[style] + ( - '|width|height|top|left|'.indexOf(style) > 0 && - typeof styles[style] == 'number' - ? 'px' : '' - )}catch(e){} -} - -/** - * CREATE - * ====== - * var obj = create('div'); - */ -function create(element) { return document.createElement(element) } - -/** - * timeout - * ======= - * timeout( function(){}, 100 ); - */ -function timeout( fun, wait ) { - return setTimeout( fun, wait ); -} - -/** - * jsonp_cb - * ======== - * var callback = jsonp_cb(); - */ -function jsonp_cb() { return XORIGN || FDomainRequest() ? 0 : unique() } - -/** - * ENCODE - * ====== - * var encoded_path = encode('path'); - */ -function encode(path) { - return map( (encodeURIComponent(path)).split(''), function(chr) { - return "-_.!~*'()".indexOf(chr) < 0 ? chr : - "%"+chr.charCodeAt(0).toString(16).toUpperCase() - } ).join(''); -} - -/** - * EVENTS - * ====== - * PUBNUB.events.bind( 'you-stepped-on-flower', function(message) { - * // Do Stuff with message - * } ); - * - * PUBNUB.events.fire( 'you-stepped-on-flower', "message-data" ); - * PUBNUB.events.fire( 'you-stepped-on-flower', {message:"data"} ); - * PUBNUB.events.fire( 'you-stepped-on-flower', [1,2,3] ); - * - */ -var events = { - 'list' : {}, - 'unbind' : function( name ) { events.list[name] = [] }, - 'bind' : function( name, fun ) { - (events.list[name] = events.list[name] || []).push(fun); - }, - 'fire' : function( name, data ) { - each( - events.list[name] || [], - function(fun) { fun(data) } - ); - } -}; - -/** - * XDR Cross Domain Request - * ======================== - * xdr({ - * url : ['http://www.blah.com/url'], - * success : function(response) {}, - * fail : function() {} - * }); - */ -function xdr( setup ) { - if (XORIGN || FDomainRequest()) return ajax(setup); - - var script = create('script') - , callback = setup.callback - , id = unique() - , finished = 0 - , timer = timeout( function(){done(1)}, XHRTME ) - , fail = setup.fail || function(){} - , success = setup.success || function(){} - - , append = function() { - head().appendChild(script); - } - - , done = function( failed, response ) { - if (finished) return; - finished = 1; - - failed || success(response); - script.onerror = null; - clearTimeout(timer); - - timeout( function() { - failed && fail(); - var s = $(id) - , p = s && s.parentNode; - p && p.removeChild(s); - }, SECOND ); - }; - - window[callback] = function(response) { - done( 0, response ); - }; - - script[ASYNC] = ASYNC; - script.onerror = function() { done(1) }; - script.src = setup.url.join(URLBIT); - - attr( script, 'id', id ); - - append(); - return done; -} - -/** - * CORS XHR Request - * ================ - * xdr({ - * url : ['http://www.blah.com/url'], - * success : function(response) {}, - * fail : function() {} - * }); - */ -function ajax( setup ) { - var xhr - , finished = function() { - if (loaded) return; - loaded = 1; - - clearTimeout(timer); - - try { response = JSON['parse'](xhr.responseText); } - catch (r) { return done(1); } - - success(response); - } - , complete = 0 - , loaded = 0 - , timer = timeout( function(){done(1)}, XHRTME ) - , fail = setup.fail || function(){} - , success = setup.success || function(){} - , done = function(failed) { - if (complete) return; - complete = 1; - - clearTimeout(timer); - - if (xhr) { - xhr.onerror = xhr.onload = null; - xhr.abort && xhr.abort(); - xhr = null; - } - - failed && fail(); - }; - - // Send - try { - xhr = FDomainRequest() || - window.XDomainRequest && - new XDomainRequest() || - new XMLHttpRequest(); - - xhr.onerror = xhr.onabort = function(){ done(1) }; - xhr.onload = xhr.onloadend = finished; - xhr.timeout = XHRTME; - - xhr.open( 'GET', setup.url.join(URLBIT), true ); - xhr.send(); - } - catch(eee) { - done(0); - XORIGN = 0; - return xdr(setup); - } - - // Return 'done' - return done; -} - - -/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= PUBNUB ===========================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -var PDIV = $('pubnub') || {} -, READY = 0 -, READY_BUFFER = [] -, CREATE_PUBNUB = function(setup) { - var CHANNELS = {} - , PUBLISH_KEY = setup['publish_key'] || '' - , SUBSCRIBE_KEY = setup['subscribe_key'] || '' - , SSL = setup['ssl'] ? 's' : '' - , ORIGIN = 'http'+SSL+'://'+(setup['origin']||'pubsub.pubnub.com') - , SELF = { - /* - PUBNUB.history({ - channel : 'my_chat_channel', - limit : 100, - callback : function(messages) { console.log(messages) } - }); - */ - 'history' : function( args, callback ) { - var callback = args['callback'] || callback - , limit = args['limit'] || 100 - , channel = args['channel'] - , jsonp = jsonp_cb(); - - // Make sure we have a Channel - if (!channel) return log('Missing Channel'); - if (!callback) return log('Missing Callback'); - - // Send Message - xdr({ - callback : jsonp, - url : [ - ORIGIN, 'history', - SUBSCRIBE_KEY, encode(channel), - jsonp, limit - ], - success : function(response) { callback(response) }, - fail : function(response) { log(response) } - }); - }, - - /* - PUBNUB.time(function(time){ console.log(time) }); - */ - 'time' : function(callback) { - var jsonp = jsonp_cb(); - xdr({ - callback : jsonp, - url : [ORIGIN, 'time', jsonp], - success : function(response) { callback(response[0]) }, - fail : function() { callback(0) } - }); - }, - - /* - PUBNUB.uuid(function(uuid) { console.log(uuid) }); - */ - 'uuid' : function(callback) { - var jsonp = jsonp_cb(); - xdr({ - callback : jsonp, - url : [ - 'http' + SSL + - '://pubnub-prod.appspot.com/uuid?callback=' + jsonp - ], - success : function(response) { callback(response[0]) }, - fail : function() { callback(0) } - }); - }, - - /* - PUBNUB.publish({ - channel : 'my_chat_channel', - message : 'hello!' - }); - */ - 'publish' : function( args, callback ) { - var callback = callback || args['callback'] || function(){} - , message = args['message'] - , channel = args['channel'] - , jsonp = jsonp_cb() - , url; - - if (!message) return log('Missing Message'); - if (!channel) return log('Missing Channel'); - if (!PUBLISH_KEY) return log('Missing Publish Key'); - - // If trying to send Object - message = JSON['stringify'](message); - - // Create URL - url = [ - ORIGIN, 'publish', - PUBLISH_KEY, SUBSCRIBE_KEY, - 0, encode(channel), - jsonp, encode(message) - ]; - - // Send Message - xdr({ - callback : jsonp, - success : function(response) { callback(response) }, - fail : function() { callback([ 0, 'Disconnected' ]) }, - url : url - }); - }, - - /* - PUBNUB.unsubscribe({ channel : 'my_chat' }); - */ - 'unsubscribe' : function(args) { - var channel = args['channel']; - - // Leave if there never was a channel. - if (!(channel in CHANNELS)) return; - - // Disable Channel - CHANNELS[channel].connected = 0; - - // Abort and Remove Script - CHANNELS[channel].done && - CHANNELS[channel].done(0); - }, - - /* - PUBNUB.subscribe({ - channel : 'my_chat' - callback : function(message) { console.log(message) } - }); - */ - 'subscribe' : function( args, callback ) { - - var channel = args['channel'] - , callback = callback || args['callback'] - , restore = args['restore'] - , timetoken = 0 - , error = args['error'] || function(){} - , connect = args['connect'] || function(){} - , reconnect = args['reconnect'] || function(){} - , disconnect = args['disconnect'] || function(){} - , disconnected = 0 - , connected = 0 - , origin = nextorigin(ORIGIN); - - // Reduce Status Flicker - if (!READY) return READY_BUFFER.push([ args, callback, SELF ]); - - // Make sure we have a Channel - if (!channel) return log('Missing Channel'); - if (!callback) return log('Missing Callback'); - if (!SUBSCRIBE_KEY) return log('Missing Subscribe Key'); - - if (!(channel in CHANNELS)) CHANNELS[channel] = {}; - - // Make sure we have a Channel - if (CHANNELS[channel].connected) return log('Already Connected'); - CHANNELS[channel].connected = 1; - - // Recurse Subscribe - function pubnub() { - var jsonp = jsonp_cb(); - - // Stop Connection - if (!CHANNELS[channel].connected) return; - - // Connect to PubNub Subscribe Servers - CHANNELS[channel].done = xdr({ - callback : jsonp, - url : [ - origin, 'subscribe', - SUBSCRIBE_KEY, encode(channel), - jsonp, timetoken - ], - fail : function() { - // Disconnect - if (!disconnected) { - disconnected = 1; - disconnect(); - } - timeout( pubnub, SECOND ); - SELF['time'](function(success){ - // Reconnect - if (success && disconnected) { - disconnected = 0; - reconnect(); - } - else { - error(); - } - }); - }, - success : function(messages) { - if (!CHANNELS[channel].connected) return; - - // Connect - if (!connected) { - connected = 1; - connect(); - } - - // Reconnect - if (disconnected) { - disconnected = 0; - reconnect(); - } - - // Restore Previous Connection Point if Needed - // Also Update Timetoken - restore = db.set( - SUBSCRIBE_KEY + channel, - timetoken = restore && db.get( - SUBSCRIBE_KEY + channel - ) || messages[1] - ); - - each( messages[0], function(msg) { - callback( msg, messages ); - } ); - - timeout( pubnub, 10 ); - } - }); - } - - // Begin Recursive Subscribe - pubnub(); - }, - - // Expose PUBNUB Functions - 'xdr' : xdr, - 'ready' : ready, - 'db' : db, - 'each' : each, - 'map' : map, - 'css' : css, - '$' : $, - 'create' : create, - 'bind' : bind, - 'supplant' : supplant, - 'head' : head, - 'search' : search, - 'attr' : attr, - 'now' : rnow, - 'unique' : unique, - 'events' : events, - 'updater' : updater, - 'init' : CREATE_PUBNUB - }; - - return SELF; -}; - -// CREATE A PUBNUB GLOBAL OBJECT -PUBNUB = CREATE_PUBNUB({ - 'publish_key' : attr( PDIV, 'pub-key' ), - 'subscribe_key' : attr( PDIV, 'sub-key' ), - 'ssl' : attr( PDIV, 'ssl' ) == 'on', - 'origin' : attr( PDIV, 'origin' ) -}); - -// PUBNUB Flash Socket -css( PDIV, { 'position' : 'absolute', 'top' : -SECOND } ); - -if ('opera' in window || attr( PDIV, 'flash' )) PDIV['innerHTML'] = - ''; - -var pubnubs = $('pubnubs') || {}; - -// PUBNUB READY TO CONNECT -function ready() { PUBNUB['time'](rnow); -PUBNUB['time'](function(t){ timeout( function() { - if (READY) return; - READY = 1; - each( READY_BUFFER, function(sub) { - sub[2]['subscribe']( sub[0], sub[1] ) - } ); -}, SECOND ); }); } - -// Bind for PUBNUB Readiness to Subscribe -bind( 'load', window, function(){ timeout( ready, 0 ) } ); - -// Create Interface for Opera Flash -PUBNUB['rdx'] = function( id, data ) { - if (!data) return FDomainRequest[id]['onerror'](); - FDomainRequest[id]['responseText'] = unescape(data); - FDomainRequest[id]['onload'](); -}; - -function FDomainRequest() { - if (!pubnubs['get']) return 0; - - var fdomainrequest = { - 'id' : FDomainRequest['id']++, - 'send' : function() {}, - 'abort' : function() { fdomainrequest['id'] = {} }, - 'open' : function( method, url ) { - FDomainRequest[fdomainrequest['id']] = fdomainrequest; - pubnubs['get']( fdomainrequest['id'], url ); - } - }; - - return fdomainrequest; -} -FDomainRequest['id'] = SECOND; - -// jQuery Interface -window['jQuery'] && (window['jQuery']['PUBNUB'] = PUBNUB); - -// For Testling.js - http://testling.com/ -typeof module !== 'undefined' && (module.exports = PUBNUB) && ready(); - -})(); diff --git a/core/3.1/pubnub-3.1.min.js b/core/3.1/pubnub-3.1.min.js deleted file mode 100644 index 2e042ecb4..000000000 --- a/core/3.1/pubnub-3.1.min.js +++ /dev/null @@ -1,19 +0,0 @@ -(function(){ -window.JSON&&window.JSON.stringify||function(){function y(s){F.lastIndex=0;return F.test(s)?'"'+s.replace(F,function(t){var j=J[t];return typeof j==="string"?j:"\\u"+("0000"+t.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+s+'"'}function w(s,t){var j,q,n,z,A=m,o,g=t[s];if(g&&typeof g==="object"&&typeof g.toJSON==="function")g=g.toJSON(s);if(typeof p==="function")g=p.call(t,s,g);switch(typeof g){case "string":return y(g);case "number":return isFinite(g)?String(g):"null";case "boolean":case "null":return String(g); -case "object":if(!g)return"null";m+=r;o=[];if(Object.prototype.toString.apply(g)==="[object Array]"){z=g.length;for(j=0;jw()){clearTimeout(c);c=setTimeout(k,a)}else{f=w();b()}};return k}function m(b){return document.getElementById(b)}function r(b){console.log(b)}function J(b,a){var c=[];p(b.split(/\s+/),function(f){p((a||document).getElementsByTagName(f),function(k){c.push(k)})});return c}function p(b,a){if(b&&a)if(typeof b[0]!="undefined")for(var c=0,f=b.length;c0&&typeof a[c]=="number"?"px":"")}catch(f){}}function A(b){return document.createElement(b)}function o(){return K||x()?0:y()}function g(b){return s(encodeURIComponent(b).split(""),function(a){return"-_.!~*'()".indexOf(a)<0?a:"%"+a.charCodeAt(0).toString(16).toUpperCase()}).join("")} -function B(b){if(K||x())return Z(b);var a=A("script"),c=b.callback,f=y(),k=0,l=setTimeout(function(){e(1)},L),C=b.fail||function(){},d=b.success||function(){},e=function(h,i){if(!k){k=1;h||d(i);a.onerror=null;clearTimeout(l);setTimeout(function(){h&&C();var u=m(f),v=u&&u.parentNode;v&&v.removeChild(u)},G)}};window[c]=function(h){e(0,h)};a[P]=P;a.onerror=function(){e(1)};a.src=b.url.join(Q);n(a,"id",f);q().appendChild(a);return e}function Z(b){var a,c=function(){if(!k){k=1;clearTimeout(l);try{response= -JSON.parse(a.responseText)}catch(i){return e(1)}d(response)}},f=0,k=0,l=setTimeout(function(){e(1)},L),C=b.fail||function(){},d=b.success||function(){},e=function(i){if(!f){f=1;clearTimeout(l);if(a){a.onerror=a.onload=null;a.abort&&a.abort();a=null}i&&C()}};try{a=x()||window.XDomainRequest&&new XDomainRequest||new XMLHttpRequest;a.onerror=a.onabort=function(){e(1)};a.onload=a.onloadend=c;a.timeout=L;a.open("GET",b.url.join(Q),true);a.send()}catch(h){e(0);K=0;return B(b)}return e}function M(){PUBNUB.time(w); -PUBNUB.time(function(){setTimeout(function(){if(!N){N=1;p(R,function(b){b[2].subscribe(b[0],b[1])})}},G)})}function x(){if(!S.get)return 0;var b={id:x.id++,send:function(){},abort:function(){b.id={}},open:function(a,c){x[b.id]=b;S.get(b.id,c)}};return b}window.console||(window.console=window.console||{});console.log||(console.log=(window.opera||{}).postError||function(){});var O=function(){var b=window.localStorage;return{get:function(a){try{if(b)return b.getItem(a);if(document.cookie.indexOf(a)== --1)return null;return((document.cookie||"").match(RegExp(a+"=([^;]+)"))||[])[1]||null}catch(c){}},set:function(a,c){try{if(b)return b.setItem(a,c)&&0;document.cookie=a+"="+c+"; expires=Thu, 1 Aug 2030 20:00:00 UTC; path=/"}catch(f){}}}}(),X=1,Y=/{([\w\-]+)}/g,P="async",Q="/",L=31E4,G=1E3,K=navigator.userAgent.indexOf("MSIE 6")==-1,$=function(){var b=Math.floor(Math.random()*9)+1;return function(a){return a.indexOf("pubsub")>0&&a.replace("pubsub","ps"+(++b<10?b:b=1))||a}}(),H={list:{},unbind:function(b){H.list[b]= -[]},bind:function(b,a){(H.list[b]=H.list[b]||[]).push(a)},fire:function(b,a){p(H.list[b]||[],function(c){c(a)})}},D=m("pubnub")||{},N=0,R=[],W=function(b){var a={},c=b.publish_key||"",f=b.subscribe_key||"",k=b.ssl?"s":"",l="http"+k+"://"+(b.origin||"pubsub.pubnub.com"),C={history:function(d,e){e=d.callback||e;var h=d.limit||100,i=d.channel,u=o();if(!i)return r("Missing Channel");if(!e)return r("Missing Callback");B({callback:u,url:[l,"history",f,g(i),u,h],success:function(v){e(v)},fail:function(v){r(v)}})}, -time:function(d){var e=o();B({callback:e,url:[l,"time",e],success:function(h){d(h[0])},fail:function(){d(0)}})},uuid:function(d){var e=o();B({callback:e,url:["http"+k+"://pubnub-prod.appspot.com/uuid?callback="+e],success:function(h){d(h[0])},fail:function(){d(0)}})},publish:function(d,e){e=e||d.callback||function(){};var h=d.message,i=d.channel,u=o();if(!h)return r("Missing Message");if(!i)return r("Missing Channel");if(!c)return r("Missing Publish Key");h=JSON.stringify(h);h=[l,"publish",c,f,0, -g(i),u,g(h)];B({callback:u,success:function(v){e(v)},fail:function(){e([0,"Disconnected"])},url:h})},unsubscribe:function(d){d=d.channel;if(d in a){a[d].connected=0;a[d].done&&a[d].done(0)}},subscribe:function(d,e){function h(){var T=o();if(a[i].connected)a[i].done=B({callback:T,url:[aa,"subscribe",f,g(i),T,v],fail:function(){if(!E){E=1;ba()}setTimeout(h,G);C.time(function(I){if(I&&E){E=0;U()}else ca()})},success:function(I){if(a[i].connected){if(!V){V=1;da()}if(E){E=0;U()}u=O.set(f+i,v=u&&O.get(f+ -i)||I[1]);p(I[0],function(ea){e(ea,I)});setTimeout(h,10)}}})}var i=d.channel;e=e||d.callback;var u=d.restore,v=0,ca=d.error||function(){},da=d.connect||function(){},U=d.reconnect||function(){},ba=d.disconnect||function(){},E=0,V=0,aa=$(l);if(!N)return R.push([d,e,C]);if(!i)return r("Missing Channel");if(!e)return r("Missing Callback");if(!f)return r("Missing Subscribe Key");i in a||(a[i]={});if(a[i].connected)return r("Already Connected");a[i].connected=1;h()},xdr:B,ready:M,db:O,each:p,map:s,css:z, -$:m,create:A,bind:j,supplant:t,head:q,search:J,attr:n,now:w,unique:y,events:H,updater:F,init:W};return C};PUBNUB=W({publish_key:n(D,"pub-key"),subscribe_key:n(D,"sub-key"),ssl:n(D,"ssl")=="on",origin:n(D,"origin")});z(D,{position:"absolute",top:-G});if("opera"in window||n(D,"flash"))D.innerHTML="";var S= -m("pubnubs")||{};j("load",window,function(){setTimeout(M,0)});PUBNUB.rdx=function(b,a){if(!a)return x[b].onerror();x[b].responseText=unescape(a);x[b].onload()};x.id=G;window.jQuery&&(window.jQuery.PUBNUB=PUBNUB);typeof module!=="undefined"&&(module.exports=PUBNUB)&&M()}(); -})(); diff --git a/core/3.1/pubnub.as b/core/3.1/pubnub.as deleted file mode 100644 index a10e99855..000000000 --- a/core/3.1/pubnub.as +++ /dev/null @@ -1,47 +0,0 @@ -package { - import flash.external.ExternalInterface; - import flash.display.Sprite; - import flash.net.URLLoader; - import flash.net.URLRequest; - import flash.events.Event; - import flash.events.IOErrorEvent; - import flash.events.SecurityErrorEvent; - import flash.system.Security; - import flash.utils.setTimeout; - - public class pubnub extends Sprite { - - Security.allowDomain("*"); - Security.allowInsecureDomain("*"); - - ExternalInterface.addCallback( "get", function( - id:Number, - url:String - ):void { - function handler(e:Event):void { - var loader:URLLoader = URLLoader(e.target) - , data:String = loader.data - , timeout:int = 1; - - if (e.type == 'securityError') { - data = '[1,"S"]'; - timeout = 1000; - } - - setTimeout( function delayed():void { - ExternalInterface.call( "PUBNUB.rdx", id, escape(data) ); - loader.close(); - }, timeout ); - } - - var loader:URLLoader = new URLLoader(); - - loader.addEventListener( Event.COMPLETE, handler ); - loader.addEventListener( IOErrorEvent.IO_ERROR, handler ); - loader.addEventListener( - SecurityErrorEvent.SECURITY_ERROR, handler - ); - loader.load(new URLRequest(url)); - }); - } -} diff --git a/core/3.1/pubnub.swf b/core/3.1/pubnub.swf deleted file mode 100644 index 1fce400b076e99ebd892f5f34ef50511e638cd1c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1140 zcmV-)1dIDaS5pay1^@tf+FevjZ`(!?-XSTDo_@%V;zyh)b`mF!tcTMUu;BF?|K9Icy)EmY8vlJ`vc#O zC{3dxY~cu329;X5MntBu)$@FZ%R2A(ZOh;xU1hW$oO;IVAwLuAJ(~xo+m%aTm?JG| zi~1AO>x$x@Ek?yh#V42f5juv1VDnOF{mLf=lm1#5-RYx4C;V;3uNqd>+N#+mS{tMSV|niyO64aidzR z#WF(gcIAKF9(!njb=H`At8TMh<;S0Y{W7i6gmwC>iJxjLdj5X#}{(G9Vx`QtJ zZT3iGj6AI8b4S$J6f1|oPndS*S*HGc;BJf zZGNsF_I*o=F+4aAq;Qgl!WfYE9M&@2w!LA)bGYTsMEiX=2%{qQO^nNor0`vCPdCS# zeV5iAH-vg3WQLpOE+u!l@jCtD=;`yLr)A$9DWsV?!}~&`W^v6Rh;Dn_6n?_6y+EX5 za#zUIQTyN^is+L2M5)R1zQ_e*olW2OeEh0bT0UGp&cs;*Y1u(K5b~wv2)f;93OcSZ zL7=eUp|XMMBUC>^_2cj=GX)ftDdCL;&}j4SfrOsYm=^6Ip#fcd6_Tlii)sf; z*;W#wB?X;yX?h1*8Rb*rN|%6aaB{(*^^gmZ>oY7 zzt1}gEk8J_V1GIw*l}Jk8+tQ)d5B|VD!thVa0eVMie4+-oXs%`m2QRpyKm9ajtfWZ z#*VTk;32=hL@=#YAUWC;Q}S$%(Xr;4w!kKssxnZuRJ!+S?Vm`(;``!%g#~xi*mInJ zmS?0PEU9(0-VIvS){+vLH+#3Pn#JDjE9UWXDEiqlv{oQepyk;erY^E91BKmX)N2hO zmDVq+7yDsL5(+?a<$~07?o~Uh)z1BD=RvizR_*BY` - - - PubNub JavaScript HEAD INIT TEST - - - - -
- -

Head Test

-
Wait here for an alert() message.
- -
-
- diff --git a/core/3.1/tests/head.load.min.js b/core/3.1/tests/head.load.min.js deleted file mode 100644 index 6242b0fad..000000000 --- a/core/3.1/tests/head.load.min.js +++ /dev/null @@ -1,8 +0,0 @@ -/** - Head JS The only script in your - Copyright Tero Piirainen (tipiirai) - License MIT / http://bit.ly/mit-license - Version 0.96 - - http://headjs.com -*/(function(a){function z(){d||(d=!0,s(e,function(a){p(a)}))}function y(c,d){var e=a.createElement("script");e.type="text/"+(c.type||"javascript"),e.src=c.src||c,e.async=!1,e.onreadystatechange=e.onload=function(){var a=e.readyState;!d.done&&(!a||/loaded|complete/.test(a))&&(d.done=!0,d())},(a.body||b).appendChild(e)}function x(a,b){if(a.state==o)return b&&b();if(a.state==n)return k.ready(a.name,b);if(a.state==m)return a.onpreload.push(function(){x(a,b)});a.state=n,y(a.url,function(){a.state=o,b&&b(),s(g[a.name],function(a){p(a)}),u()&&d&&s(g.ALL,function(a){p(a)})})}function w(a,b){a.state===undefined&&(a.state=m,a.onpreload=[],y({src:a.url,type:"cache"},function(){v(a)}))}function v(a){a.state=l,s(a.onpreload,function(a){a.call()})}function u(a){a=a||h;var b;for(var c in a){if(a.hasOwnProperty(c)&&a[c].state!=o)return!1;b=!0}return b}function t(a){return Object.prototype.toString.call(a)=="[object Function]"}function s(a,b){if(!!a){typeof a=="object"&&(a=[].slice.call(a));for(var c=0;c - - - PubNub JavaScript MailTO Fix - - -
- diff --git a/core/3.1/tests/ssl-test.html b/core/3.1/tests/ssl-test.html deleted file mode 100644 index 1103bfb28..000000000 --- a/core/3.1/tests/ssl-test.html +++ /dev/null @@ -1,54 +0,0 @@ - - - -
- -
- - - - - - diff --git a/core/3.1/tests/test.js b/core/3.1/tests/test.js deleted file mode 100644 index 4e90a264a..000000000 --- a/core/3.1/tests/test.js +++ /dev/null @@ -1,69 +0,0 @@ -var test = require('testling'); -var PUBNUB = require('./pubnub-3.1'); -var channel = 'unit-test-pubnub-channel'; - -test('PUBNUB JavaScript API', function (test) { - var pubnub = PUBNUB.init({ - publish_key : 'demo', - subscribe_key : 'demo' - }); - - test.plan(14); - - test.ok(PUBNUB); - - test.ok(pubnub); - test.ok(pubnub.publish); - test.ok(pubnub.subscribe); - test.ok(pubnub.history); - test.ok(pubnub.time); - - function publish_test() { - pubnub.publish({ - channel : channel, - message : { test : "test" }, - callback : function(response) { - test.ok(response[0]); - test.equal( response[1], 'Sent' ); - } - }); - } - - function time_test() { - pubnub.time(function(time){ - test.ok(time); - uuid_test(); - }); - } - - function uuid_test() { - pubnub.uuid(function(uuid){ - test.ok(uuid); - history_test(); - }); - } - - function history_test(history) { - pubnub.history({ - limit : 1, - channel : channel, - callback : function(messages) { - test.ok(messages); - test.equal( messages[0].test, "test" ); - test.end(); - } - }); - } - - pubnub.subscribe({ - channel : channel, - connect : publish_test, - callback : function(message) { - test.ok(message); - test.equal( message.test, "test" ); - time_test(); - } - }); - -}); - diff --git a/core/3.1/tests/test.sh b/core/3.1/tests/test.sh deleted file mode 100755 index 7d0b4a94a..000000000 --- a/core/3.1/tests/test.sh +++ /dev/null @@ -1,41 +0,0 @@ -#!/bin/bash - -## ------------------------------------------------ -## PubNub 3.1 Real-time Cloud Push API - JAVASCRIPT -## ------------------------------------------------ - -## ---------------------------------------------------- -## -## TESTLING - PubNub JavaScript API for Web Browsers -## uses Testling Cloud Service -## for QA and Deployment. -## -## http://www.testling.com/ -## You need this to run './test.sh' unit test. -## -## ---------------------------------------------------- - -if [ -z "$1" ] -then - echo -e "\n\tUSER:PASSWD Required: http://testling.com/\n" - exit -fi - -browsers='firefox/3.6' -browsers=$browsers',firefox/9.0' -browsers=$browsers',firefox/10.0' -browsers=$browsers',chrome/16.0' -browsers=$browsers',chrome/17.0' -browsers=$browsers',iexplore/7.0' -browsers=$browsers',iexplore/8.0' -browsers=$browsers',iexplore/9.0' -browsers=$browsers',safari/5.1' - -echo -e "Testing: $browsers" - -noinstrument='pubnub-3.1.js,test.js' - -tar -cf- test.js ../pubnub-3.1.js | \ - curl -u $1 -sSNT- \ - "testling.com/?noinstrument=$noinstrument&browsers=$browsers" - diff --git a/core/3.1/tests/unit-test.html b/core/3.1/tests/unit-test.html deleted file mode 100644 index fb5ea87b3..000000000 --- a/core/3.1/tests/unit-test.html +++ /dev/null @@ -1,244 +0,0 @@ - - - - PubNub JavaScript Unit Test - - - -
- - -
- × -

PubNub Unit Tests for JavaScript on Mobile and Desktop Web Browser

-
- - -
- - - 100% Successful - Finished With Errors - ... -
- - - -
Pass/FailTest Ready -
- - - - -
- - -
- diff --git a/core/3.2/README.md b/core/3.2/README.md deleted file mode 100644 index 7b58f00b6..000000000 --- a/core/3.2/README.md +++ /dev/null @@ -1,127 +0,0 @@ -# YOU MUST HAVE A PUBNUB ACCOUNT TO USE THE API. -http://www.pubnub.com/account - -## TESTLING - (OPTIONAL) -PubNub JavaScript API for Web Browsers -uses Testling Cloud Service for QA and Deployment. -http://www.testling.com/ - -You need this to run './test.sh' unit test. -This is completely optional, however we love Testling. - - -## PubNub 3.1 Real-time Cloud Push API - JAVASCRIPT -http://www.pubnub.com - PubNub Real-time Push Service in the Cloud. -http://www.pubnub.com/tutorial/javascript-push-api - -PubNub is a blazingly fast cloud-hosted messaging service for building -real-time web and mobile apps. Hundreds of apps and thousands of developers -rely on PubNub for delivering human-perceptive real-time -experiences that scale to millions of users worldwide. PubNub delivers -the infrastructure needed to build amazing MMO games, social apps, -business collaborative solutions, and more. - -## SIMPLE EXAMPLE -```html -
- - -``` - -## ADVANCED STYLE -```html -
- - -``` - -## SSL MODE - -```html -
- - -``` - -## Using the PUBNUB init() Function - -Sometimes you want to use create a PubNub Instance directly in JavaScript -and pass the PubNub API Keys without using a DOM element. -To do this, simply follow this `init` example: - -```html - - -``` - diff --git a/core/3.2/comet.swf b/core/3.2/comet.swf deleted file mode 100644 index 1209542d3708247b235de8ca9a62df7d721db170..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1137 zcmV-%1djVdS5pax1^@tf+FevjZ`(!?-XSTDo{lX$it})y*h!q&vK~%TAciA2u;jvl z8x^vH^Z}z>kt>@uA1b-B%465@!VR*XEgwrc*r?S;qfvGAxatQ- zwZ_w@Piyt{+WPt$A=bh(PxA4a7cMO~V}h0l&A=W=+xNe-N5z7t- z4nNcP2Z1fc1RkD+Qn=}TVGhZA1}i!4IR2>RyWI9>^QUo4%X4;d@ zu19O1n?gMjGRG}zo05CnJjrZ#K5ZXV18c01WNHi_2#tEhHIop!<8w;{Dbw*okx95c zAv3SKdwX$2mpmXwO`Z)zA)Lr;2Z0~pSB=Wz{^DUS$r?)A3A3S)2evEda-${aw88>` zGV!RkC(}Da&y41hCRv~DwGZ0Uq&4o=o=vUrM3CR@#Qd={z1#V^-R*X|#r?~*7Cv;!jxCyycP|DOOvi*p_R-eiO$45 zv6 DFh4hW diff --git a/core/3.2/crossdomain.xml b/core/3.2/crossdomain.xml deleted file mode 100644 index 8fb3c5227..000000000 --- a/core/3.2/crossdomain.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/core/3.2/examples/presence/index.html b/core/3.2/examples/presence/index.html deleted file mode 100644 index bc9cb568e..000000000 --- a/core/3.2/examples/presence/index.html +++ /dev/null @@ -1,117 +0,0 @@ - - - PubNub Presence Demo - - - - - - - - - - - - - - -
- -

Currently Here

-
    -
-
- - - 0 people here now -
- - -
- - - - - - - -. -*/ - -/* - - - - - -
Loading Simple Chat
- -*/ -var P = PUBNUB -, chat = { - init : function( node_name ) { - var node = P.$(node_name); - - chat.node_name = node_name; - - // Create Nodes - chat.textbox = P.create('input'); - chat.chatbox = P.create('div'); - chat.button = P.create('button'); - - // Button Text - chat.button.innerHTML = 'Send'; - - // Capture Channel - var channel = P.attr( node, 'channel' ); - - // Add Styles - P.attr( chat.chatbox, 'id', 'simple-chat-chatbox' ); - P.attr( chat.textbox, 'id', 'simple-chat-textbox' ); - P.attr( chat.button, 'id', 'simple-chat-button' ); - - // Display Nodes - node.innerHTML = ''; - node.appendChild(chat.chatbox); - node.appendChild(chat.textbox); - node.appendChild(chat.button); - - // Send Sign-on Message - P.publish({ - channel : channel, - message : 'Someone Joined the Chat.' - }); - - function send(e) { - var key = e.keyCode || e.charCode || 0 - , message = chat.textbox.value; - - // Wait for Enter Key - if (key != 13 && e.type == 'keydown' || !message) return true; - - // Reset Value - chat.textbox.value = ''; - - // Send Message - P.publish({ - channel : node_name, - message : message - }); - } - - // Bind Events - P.bind( 'keydown', chat.textbox, send ); - P.bind( 'blur', chat.textbox, send ); - - // Register Listener - P.subscribe({ channel : node_name }, chat.subscribe ); - }, - - subscribe : function(message) { - var br = '
'; - chat.chatbox.innerHTML = message + br + chat.chatbox.innerHTML; - } - -}; - -// Startup Simple Chat -chat.init('simple-chat'); - -})() diff --git a/core/3.2/modules/player.js b/core/3.2/modules/player.js deleted file mode 100644 index 4529496a4..000000000 --- a/core/3.2/modules/player.js +++ /dev/null @@ -1,54 +0,0 @@ -(function(){ - -var PUB = PUBNUB - -/* -------- - Provide a Player Creation/Management Interface. - -------- */ - -, players = (function(){ - var players_obj = {}; - return { - add : function(player) { - players_obj[player['uuid']] = player; - return player; - }, - get : function(uuid) { - return players_obj[uuid]; - }, - all : function() { - return players_obj; - } - }; -})(); - -/* -------- - Capture Current User's Information. - -------- */ - -function current_player(ready) { - function is_ready() { - if (player['uuid'] && player['joined']) { - players.add(player); - ready(player) - } - } - - var player = { - 'uuid' : PUB.uuid(function(uuid){ - player['uuid'] = uuid; - is_ready(); - }), - 'joined' : PUB.time(function(time){ - player['joined'] = time; - is_ready(); - }) - }; -} - -PUB['player'] = { - 'players' : players, - 'current_player' : current_player -}; - -})(); diff --git a/core/3.2/modules/player.min.js b/core/3.2/modules/player.min.js deleted file mode 100644 index 7f4bbd54e..000000000 --- a/core/3.2/modules/player.min.js +++ /dev/null @@ -1 +0,0 @@ -(function(){var d=PUBNUB,f=function(){var c={};return{add:function(a){return c[a.uuid]=a},a:function(a){return c[a]},all:function(){return c}}}();d.player={players:f,current_player:function(c){function a(){if(b.uuid&&b.joined){f.add(b);c(b)}}var b={uuid:d.c(function(e){b.uuid=e;a()}),joined:d.b(function(e){b.joined=e;a()})}}}})(); diff --git a/core/3.2/modules/sprite.js b/core/3.2/modules/sprite.js deleted file mode 100644 index bb8b60caa..000000000 --- a/core/3.2/modules/sprite.js +++ /dev/null @@ -1,216 +0,0 @@ -(function(){ - - -var PUB = PUBNUB -, bind = PUB.bind -, css = PUB.css -, each = PUB.each -, utility = PUB.utility -, now = utility.now -, ground = PUB.search('body')[0]; - -function painter(node) { - ground = node; -} - -function create(sprite) { - sprite.intervals = { - animate : 0, - move : {} - }; - - sprite.cell.size = Math.floor(sprite.image.width / sprite.cell.count); - sprite.node = PUB.create('div'); - sprite.opacity = sprite.opacity || 1.0; - - css( sprite.node, { - opacity : sprite.opacity, - position : 'absolute', - top : sprite.top, - left : sprite.left, - width : sprite.cell.size, - height : sprite.image.height, - backgroundRepeat : 'no-repeat', - backgroundImage : 'url(' + sprite.image.url + ')' - } ); - - setframe( sprite, 0 ); - append(sprite.node); - - return sprite; -} - -function append(node) { - ground.appendChild(node); -} - -function setframe( sprite, cell, offset ) { - var offset = offset || {}; - if (typeof offset.top == 'number') - sprite.image.offset.top = offset.top; - if (typeof offset.left == 'number') - sprite.image.offset.left = offset.left; - - css( sprite.node, { - backgroundPosition : '-' + - (sprite.cell.size * cell + sprite.image.offset.left) + - 'px -' + sprite.image.offset.top + 'px' - } ); -} - -/** - * sprite.animate( [[frame, duration], []...] ) - * sprite.animate( [[], [], []] ) - * sprite.animate( [[0, .2], [1, .4], [2, .5]] ) - */ -function animate( sprite, pattern, loop, callback, position ) { - // Clear Any Other Animation - if (!position) { - position = 0; - stop_animate(sprite); - } - - // if last frame, and no loop, then leave, else restart - if (position === pattern.length) { - if (loop === 0) return callback && callback(); - else { - loop--; - position = 0; - } - } - - // Multi format compatibility ([frame, delay]) or (frame) - var frame = pattern[position][0] || pattern[position] - , delay = pattern[position][1] || .1; - - sprite.intervals.animate = setTimeout( function() { - // Update Current Frame - setframe( sprite, frame ); - - // Next Frame - animate( sprite, pattern, loop, callback, position + 1 ); - }, delay * 1000 ); -} - - -/** - * Move and Animate Combined!!! - * - * sprite.animate( [ [left, top, duration, [animate] ], []...] ) - * sprite.animate( [[], [], []] ) - * sprite.animate( [[10, 10, .2, [ANIMATEPARAMS], loopanimate ], ... ) - * sprite.animate( [[10, 10, .2, [[frame,dur], ...], loopanimate ], ... ) - */ -function movie( sprite, pattern, loop, callback, position ) { - // Clear Any Other Animation - if (!position) { - position = 0; - stop_all(sprite); - } - - // if last frame, and no loop, then leave, else restart - if (position === pattern.length) { - if (loop === 0) return callback && callback(); - else { - loop--; - position = 0; - } - } - - // Update Animator - if (pattern[position][2]) animate( - sprite, - pattern[position][2], - pattern[position][3] || 0 - ); - - // [{top:0,opacity:.5}, 500, 0, 0], - // Update Mover - move( - sprite, - pattern[position][0], - pattern[position][1], - function() { - movie( sprite, pattern, loop, callback, position + 1 ); - } - ); -} - -/** - * move sprite from one place to another. - */ -function move( sprite, properties, duration, callback ) { - var start_time = now(); - - stop_all(sprite); - - each( properties, function( property, value ) { - var current_time = start_time - , end_time = start_time + duration - , start_prop = sprite[property] || 0 - , distance = value - start_prop - , update = {} - , ikey = property + value; - - stop_move( sprite, ikey ); - sprite.intervals.move[ikey] = setInterval( function() { - current_time = now(); - - sprite[property] = ( - end_time <= current_time - ? value - : ( distance * (current_time - start_time) - / duration + start_prop ) - ); - - update[property] = sprite[property]; - css( sprite.node, update ); - - if ( end_time <= current_time && sprite.intervals.move ) { - stop_move( sprite, ikey ); - callback && callback(); - } - - }, Math.ceil(1000 / sprite.framerate) ); - } ); -} - -/** - * Stop movie - */ -function stop_all(sprite) { - clearTimeout(sprite.intervals.animate); - each( sprite.intervals.move, function( ikey ) { - clearInterval(sprite.intervals.move[ikey]); - } ); -} - -/** - * Stop move. - */ -function stop_move( sprite, ikey ) { - clearInterval(sprite.intervals.move[ikey]); -} - -/** - * Stop animate. - */ -function stop_animate(sprite) { - clearTimeout(sprite.intervals.animate); -} - -// Expose Global 'sprite' to PUBNUB -PUB['sprite'] = { - 'painter' : painter, - 'create' : create, - 'setframe' : setframe, - 'animate' : animate, - 'move' : move, - 'movie' : movie, - 'stop_all' : stop_all, - 'stop_move' : stop_move, - 'stop_animate' : stop_animate -}; - - -})(); diff --git a/core/3.2/modules/sprite.min.js b/core/3.2/modules/sprite.min.js deleted file mode 100644 index 95d7895e4..000000000 --- a/core/3.2/modules/sprite.min.js +++ /dev/null @@ -1,3 +0,0 @@ -(function(){function i(a,c,d){d=d||{};if(typeof d.top=="number")a.b.f.top=d.top;if(typeof d.left=="number")a.b.f.left=d.left;j(a.c,{backgroundPosition:"-"+(a.e.size*c+a.b.f.left)+"px -"+a.b.f.top+"px"})}function k(a,c,d,e,b){if(!b){b=0;p(a)}if(b===c.length)if(d===0)return e&&e();else{d--;b=0}var f=c[b][0]||c[b];a.a.d=setTimeout(function(){i(a,f);k(a,c,d,e,b+1)},(c[b][1]||0.1)*1E3)}function q(a,c,d,e,b){if(!b){b=0;l(a)}if(b===c.length)if(d===0)return e&&e();else{d--;b=0}if(c[b][2])k(a,c[b][2],c[b][3]|| -0);r(a,c[b][0],c[b][1],function(){q(a,c,d,e,b+1)})}function r(a,c,d,e){var b=s();l(a);t(c,function(f,m){var h=b,u=b+d,v=a[f]||0,y=m-v,w={},n=f+m;o(a,n);a.a.move[n]=setInterval(function(){h=s();a[f]=u<=h?m:y*(h-b)/d+v;w[f]=a[f];j(a.c,w);if(u<=h&&a.a.move){o(a,n);e&&e()}},Math.ceil(1E3/a.j))})}function l(a){clearTimeout(a.a.d);t(a.a.move,function(c){clearInterval(a.a.move[c])})}function o(a,c){clearInterval(a.a.move[c])}function p(a){clearTimeout(a.a.d)}var g=PUBNUB,j=g.h,t=g.i,s=g.k.now,x=g.search("body")[0]; -g.sprite={painter:function(a){x=a},create:function(a){a.a={d:0,move:{}};a.e.size=Math.floor(a.b.width/a.e.g);a.c=g.create("div");a.opacity=a.opacity||1;j(a.c,{opacity:a.opacity,position:"absolute",top:a.top,left:a.left,width:a.e.size,height:a.b.height,backgroundRepeat:"no-repeat",backgroundImage:"url("+a.b.url+")"});i(a,0);x.appendChild(a.c);return a},setframe:i,animate:k,move:r,movie:q,stop_all:l,stop_move:o,stop_animate:p}})(); diff --git a/core/3.2/modules/utility.js b/core/3.2/modules/utility.js deleted file mode 100644 index 81dc95abf..000000000 --- a/core/3.2/modules/utility.js +++ /dev/null @@ -1,121 +0,0 @@ -(function(){ - -/* ======================================================================== */ -/* ================================ UTILITY =============================== */ -/* ======================================================================== */ - -var db = this['localStorage'] -, PUB = PUBNUB -, now = function(){return+new Date} -, cookie = { - get : function(key) { - if (db) return db.getItem(key); - if ((document.cookie||'').indexOf(key) == -1) return null; - return ((document.cookie||'').match( - RegExp(key+'=([^;]+)') - )||[])[1] || null; - }, - set : function( key, value ) { - if (db) return db.setItem( key, value ); - document.cookie = key + '=' + value + - '; expires=Thu, 1 Aug 2030 20:00:00 UTC; path=/'; - } -}; - -function updater( fun, rate ) { - var timeout - , last = 0 - , runnit = function() { - var right_now = now(); - - if (last + rate > right_now) { - clearTimeout(timeout); - timeout = setTimeout( runnit, rate ); - } - else { - last = now(); - fun(); - } - }; - - // Provide Rate Limited Function Call - return runnit; -} - -function mouse(e) { - if (!e) return [[0,0]]; - - var tch = e.touches && e.touches[0] - , mpos = []; - - if (tch) { - PUB.each( e.touches, function(touch) { - mpos.push([ touch.pageX, touch.pageY ]); - } ); - } - else if (e.pageX) { - mpos.push([ e.pageX, e.pageY ]); - } - else {try{ - mpos.push([ - e.clientX + body.scrollLeft + doc.scrollLeft, - e.clientY + body.scrollTop + doc.scrollTop - ]); - }catch(e){}} - - return mpos; -} - - -/** - * OFFSET - * ====== - * offset( search('div')[0], 'Width' ); - * offset( search('div')[0], 'Height' ); - * offset( search('div')[0], 'Top' ); - * offset( search('div')[0], 'Left' ); - */ -function offset( node, what ) { - var pos = 0 - , what = what || 'Top'; - - while (node) { - pos += node['offset'+what]; - node = node.offsetParent; - } - - return pos -} - -/** - * WINFO - * ===== - * var window_info = winfot(); - * log(window_info.height); - */ -function winfo() { - return { - height : this.innerHeight || - document.documentElement.clientHeight || - document.body.clientHeight, - scrollTop : document.documentElement.scrollTop || - document.body.scrollTop, - size : offset(search('body')[0], 'Height') - } -} - - - - -// Expose Utility to PUBNUB. -PUB['utility'] = { - 'mouse' : mouse, - 'winfo' : winfo, - 'offset' : offset, - 'now' : now, - 'cookie' : cookie, - 'updater' : updater -}; - - -})(); diff --git a/core/3.2/modules/utility.min.js b/core/3.2/modules/utility.min.js deleted file mode 100644 index 93cedae42..000000000 --- a/core/3.2/modules/utility.min.js +++ /dev/null @@ -1,3 +0,0 @@ -(function(){function g(a,b){var c=0;for(b=b||"Top";a;){c+=a["offset"+b];a=a.offsetParent}return c}var e=this.localStorage,h=PUBNUB;function f(){return+new Date}h.utility={mouse:function(a){if(!a)return[[0,0]];var b=[];if(a.touches&&a.touches[0])h.a(a.touches,function(d){b.push([d.pageX,d.pageY])});else if(a.pageX)b.push([a.pageX,a.pageY]);else try{b.push([a.clientX+body.scrollLeft+doc.scrollLeft,a.clientY+body.scrollTop+doc.scrollTop])}catch(c){}return b},winfo:function(){return{height:this.innerHeight|| -document.documentElement.clientHeight||document.body.clientHeight,scrollTop:document.documentElement.scrollTop||document.body.scrollTop,size:g(search("body")[0],"Height")}},offset:g,now:f,cookie:{b:function(a){if(e)return e.getItem(a);if((document.cookie||"").indexOf(a)==-1)return null;return((document.cookie||"").match(RegExp(a+"=([^;]+)"))||[])[1]||null},c:function(a,b){if(e)return e.setItem(a,b);document.cookie=a+"="+b+"; expires=Thu, 1 Aug 2030 20:00:00 UTC; path=/"}},updater:function(a,b){var c, -d=0;function i(){if(d+b>f()){clearTimeout(c);c=setTimeout(i,b)}else{d=f();a()}}return i}}})(); diff --git a/core/3.2/pubnub-3.2.js b/core/3.2/pubnub-3.2.js deleted file mode 100644 index f8e659e44..000000000 --- a/core/3.2/pubnub-3.2.js +++ /dev/null @@ -1,987 +0,0 @@ -/* --------------------------------------------------------------------------- -WAIT! - This file depends on instructions from the PUBNUB Cloud. -http://www.pubnub.com/account-javascript-api-include ---------------------------------------------------------------------------- */ - -/* --------------------------------------------------------------------------- -PubNub Real-time Cloud-Hosted Push API and Push Notification Client Frameworks -Copyright (c) 2011 PubNub Inc. -http://www.pubnub.com/ -http://www.pubnub.com/terms ---------------------------------------------------------------------------- */ - -/* --------------------------------------------------------------------------- -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. ---------------------------------------------------------------------------- */ - -/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= JSON =============================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -(window['JSON'] && window['JSON']['stringify']) || (function () { - window['JSON'] || (window['JSON'] = {}); - - if (typeof String.prototype.toJSON !== 'function') { - String.prototype.toJSON = - Number.prototype.toJSON = - Boolean.prototype.toJSON = function (key) { - return this.valueOf(); - }; - } - - var cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, - escapable = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, - gap, - indent, - meta = { // table of character substitutions - '\b': '\\b', - '\t': '\\t', - '\n': '\\n', - '\f': '\\f', - '\r': '\\r', - '"' : '\\"', - '\\': '\\\\' - }, - rep; - - function quote(string) { - escapable.lastIndex = 0; - return escapable.test(string) ? - '"' + string.replace(escapable, function (a) { - var c = meta[a]; - return typeof c === 'string' ? c : - '\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4); - }) + '"' : - '"' + string + '"'; - } - - - function str(key, holder) { - var i, // The loop counter. - k, // The member key. - v, // The member value. - length, - mind = gap, - partial, - value = holder[key]; - - if (value && typeof value === 'object' && - typeof value.toJSON === 'function') { - value = value.toJSON(key); - } - - if (typeof rep === 'function') { - value = rep.call(holder, key, value); - } - - switch (typeof value) { - case 'string': - return quote(value); - - case 'number': - return isFinite(value) ? String(value) : 'null'; - - case 'boolean': - case 'null': - return String(value); - - case 'object': - - if (!value) { - return 'null'; - } - - gap += indent; - partial = []; - - if (Object.prototype.toString.apply(value) === '[object Array]') { - - length = value.length; - for (i = 0; i < length; i += 1) { - partial[i] = str(i, value) || 'null'; - } - - v = partial.length === 0 ? '[]' : - gap ? '[\n' + gap + - partial.join(',\n' + gap) + '\n' + - mind + ']' : - '[' + partial.join(',') + ']'; - gap = mind; - return v; - } - if (rep && typeof rep === 'object') { - length = rep.length; - for (i = 0; i < length; i += 1) { - k = rep[i]; - if (typeof k === 'string') { - v = str(k, value); - if (v) { - partial.push(quote(k) + (gap ? ': ' : ':') + v); - } - } - } - } else { - for (k in value) { - if (Object.hasOwnProperty.call(value, k)) { - v = str(k, value); - if (v) { - partial.push(quote(k) + (gap ? ': ' : ':') + v); - } - } - } - } - - v = partial.length === 0 ? '{}' : - gap ? '{\n' + gap + partial.join(',\n' + gap) + '\n' + - mind + '}' : '{' + partial.join(',') + '}'; - gap = mind; - return v; - } - } - - if (typeof JSON['stringify'] !== 'function') { - JSON['stringify'] = function (value, replacer, space) { - var i; - gap = ''; - indent = ''; - - if (typeof space === 'number') { - for (i = 0; i < space; i += 1) { - indent += ' '; - } - } else if (typeof space === 'string') { - indent = space; - } - rep = replacer; - if (replacer && typeof replacer !== 'function' && - (typeof replacer !== 'object' || - typeof replacer.length !== 'number')) { - throw new Error('JSON.stringify'); - } - return str('', {'': value}); - }; - } - - if (typeof JSON['parse'] !== 'function') { - // JSON is parsed on the server for security. - JSON['parse'] = function (text) {return eval('('+text+')')}; - } -}()); - - -/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-======================= DOM UTIL ===========================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -window['PUBNUB'] || (function() { - -/** - * CONSOLE COMPATIBILITY - */ -window.console||(window.console=window.console||{}); -console.log||(console.log=((window.opera||{}).postError||function(){})); - -/** - * UTILITIES - */ -function unique() { return'x'+ ++NOW+''+(+new Date) } -function rnow() { return+new Date } - -/** - * LOCAL STORAGE OR COOKIE - */ -var db = (function(){ - var ls = window['localStorage']; - return { - 'get' : function(key) { - try { - if (ls) return ls.getItem(key); - if (document.cookie.indexOf(key) == -1) return null; - return ((document.cookie||'').match( - RegExp(key+'=([^;]+)') - )||[])[1] || null; - } catch(e) { return } - }, - 'set' : function( key, value ) { - try { - if (ls) return ls.setItem( key, value ) && 0; - document.cookie = key + '=' + value + - '; expires=Thu, 1 Aug 2030 20:00:00 UTC; path=/'; - } catch(e) { return } - } - }; -})(); - -/** - * UTIL LOCALS - */ -var NOW = 1 -, SWF = 'https://dh15atwfs066y.cloudfront.net/pubnub.swf' -, REPL = /{([\w\-]+)}/g -, ASYNC = 'async' -, URLBIT = '/' -, XHRTME = 310000 -, SECOND = 1000 -, PRESENCE_SUFFIX = '-pnpres' -, UA = navigator.userAgent -, XORIGN = UA.indexOf('MSIE 6') == -1; - -/** - * NEXTORIGIN - * ========== - * var next_origin = nextorigin(); - */ -var nextorigin = (function() { - var ori = Math.floor(Math.random() * 9) + 1; - return function(origin) { - return origin.indexOf('pubsub') > 0 - && origin.replace( - 'pubsub', 'ps' + (++ori < 10 ? ori : ori=1) - ) || origin; - } -})(); - -/** - * UPDATER - * ====== - * var timestamp = unique(); - */ -function updater( fun, rate ) { - var timeout - , last = 0 - , runnit = function() { - if (last + rate > rnow()) { - clearTimeout(timeout); - timeout = setTimeout( runnit, rate ); - } - else { - last = rnow(); - fun(); - } - }; - - return runnit; -} - -/** - * $ - * = - * var div = $('divid'); - */ -function $(id) { return document.getElementById(id) } - -/** - * LOG - * === - * log('message'); - */ -function log(message) { console['log'](message) } - -/** - * SEARCH - * ====== - * var elements = search('a div span'); - */ -function search( elements, start ) { - var list = []; - each( elements.split(/\s+/), function(el) { - each( (start || document).getElementsByTagName(el), function(node) { - list.push(node); - } ); - } ); - return list; -} - -/** - * EACH - * ==== - * each( [1,2,3], function(item) { console.log(item) } ) - */ -function each( o, f ) { - if ( !o || !f ) return; - - if ( typeof o[0] != 'undefined' ) - for ( var i = 0, l = o.length; i < l; ) - f.call( o[i], o[i], i++ ); - else - for ( var i in o ) - o.hasOwnProperty && - o.hasOwnProperty(i) && - f.call( o[i], i, o[i] ); -} - -/** - * MAP - * === - * var list = map( [1,2,3], function(item) { return item + 1 } ) - */ -function map( list, fun ) { - var fin = []; - each( list || [], function( k, v ) { fin.push(fun( k, v )) } ); - return fin; -} - -/** - * GREP - * ==== - * var list = grep( [1,2,3], function(item) { return item % 2 } ) - */ -function grep( list, fun ) { - var fin = []; - each( list || [], function(l) { fun(l) && fin.push(l) } ); - return fin -} - -/** - * SUPPLANT - * ======== - * var text = supplant( 'Hello {name}!', { name : 'John' } ) - */ -function supplant( str, values ) { - return str.replace( REPL, function( _, match ) { - return values[match] || _ - } ); -} - -/** - * BIND - * ==== - * bind( 'keydown', search('a')[0], function(element) { - * console.log( element, '1st anchor' ) - * } ); - */ -function bind( type, el, fun ) { - each( type.split(','), function(etype) { - var rapfun = function(e) { - if (!e) e = window.event; - if (!fun(e)) { - e.cancelBubble = true; - e.returnValue = false; - e.preventDefault && e.preventDefault(); - e.stopPropagation && e.stopPropagation(); - } - }; - - if ( el.addEventListener ) el.addEventListener( etype, rapfun, false ); - else if ( el.attachEvent ) el.attachEvent( 'on' + etype, rapfun ); - else el[ 'on' + etype ] = rapfun; - } ); -} - -/** - * UNBIND - * ====== - * unbind( 'keydown', search('a')[0] ); - */ -function unbind( type, el, fun ) { - if ( el.removeEventListener ) el.removeEventListener( type, false ); - else if ( el.detachEvent ) el.detachEvent( 'on' + type, false ); - else el[ 'on' + type ] = null; -} - -/** - * HEAD - * ==== - * head().appendChild(elm); - */ -function head() { return search('head')[0] } - -/** - * ATTR - * ==== - * var attribute = attr( node, 'attribute' ); - */ -function attr( node, attribute, value ) { - if (value) node.setAttribute( attribute, value ); - else return node && node.getAttribute && node.getAttribute(attribute); -} - -/** - * CSS - * === - * var obj = create('div'); - */ -function css( element, styles ) { - for (var style in styles) if (styles.hasOwnProperty(style)) - try {element.style[style] = styles[style] + ( - '|width|height|top|left|'.indexOf(style) > 0 && - typeof styles[style] == 'number' - ? 'px' : '' - )}catch(e){} -} - -/** - * CREATE - * ====== - * var obj = create('div'); - */ -function create(element) { return document.createElement(element) } - -/** - * timeout - * ======= - * timeout( function(){}, 100 ); - */ -function timeout( fun, wait ) { - return setTimeout( fun, wait ); -} - -/** - * jsonp_cb - * ======== - * var callback = jsonp_cb(); - */ -function jsonp_cb() { return XORIGN || FDomainRequest() ? 0 : unique() } - -/** - * ENCODE - * ====== - * var encoded_path = encode('path'); - */ -function encode(path) { - return map( (encodeURIComponent(path)).split(''), function(chr) { - return "-_.!~*'()".indexOf(chr) < 0 ? chr : - "%"+chr.charCodeAt(0).toString(16).toUpperCase() - } ).join(''); -} - -/** - * EVENTS - * ====== - * PUBNUB.events.bind( 'you-stepped-on-flower', function(message) { - * // Do Stuff with message - * } ); - * - * PUBNUB.events.fire( 'you-stepped-on-flower', "message-data" ); - * PUBNUB.events.fire( 'you-stepped-on-flower', {message:"data"} ); - * PUBNUB.events.fire( 'you-stepped-on-flower', [1,2,3] ); - * - */ -var events = { - 'list' : {}, - 'unbind' : function( name ) { events.list[name] = [] }, - 'bind' : function( name, fun ) { - (events.list[name] = events.list[name] || []).push(fun); - }, - 'fire' : function( name, data ) { - each( - events.list[name] || [], - function(fun) { fun(data) } - ); - } -}; - -/** - * XDR Cross Domain Request - * ======================== - * xdr({ - * url : ['http://www.blah.com/url'], - * success : function(response) {}, - * fail : function() {} - * }); - */ -function xdr( setup ) { - if (XORIGN || FDomainRequest()) return ajax(setup); - - var script = create('script') - , callback = setup.callback - , id = unique() - , finished = 0 - , timer = timeout( function(){done(1)}, XHRTME ) - , fail = setup.fail || function(){} - , success = setup.success || function(){} - - , append = function() { - head().appendChild(script); - } - - , done = function( failed, response ) { - if (finished) return; - finished = 1; - - failed || success(response); - script.onerror = null; - clearTimeout(timer); - - timeout( function() { - failed && fail(); - var s = $(id) - , p = s && s.parentNode; - p && p.removeChild(s); - }, SECOND ); - }; - - window[callback] = function(response) { - done( 0, response ); - }; - - script[ASYNC] = ASYNC; - script.onerror = function() { done(1) }; - script.src = setup.url.join(URLBIT); - if (setup.data) { - script.src += "?"; - for (key in setup.data) { - script.src += key+"="+setup.data[key]+"&"; - } - } - - attr( script, 'id', id ); - - append(); - return done; -} - -/** - * CORS XHR Request - * ================ - * xdr({ - * url : ['http://www.blah.com/url'], - * success : function(response) {}, - * fail : function() {} - * }); - */ -function ajax( setup ) { - var xhr, response - , finished = function() { - if (loaded) return; - loaded = 1; - - clearTimeout(timer); - - try { response = JSON['parse'](xhr.responseText); } - catch (r) { return done(1); } - - success(response); - } - , complete = 0 - , loaded = 0 - , timer = timeout( function(){done(1)}, XHRTME ) - , fail = setup.fail || function(){} - , success = setup.success || function(){} - , done = function(failed) { - if (complete) return; - complete = 1; - - clearTimeout(timer); - - if (xhr) { - xhr.onerror = xhr.onload = null; - xhr.abort && xhr.abort(); - xhr = null; - } - - failed && fail(); - }; - - // Send - try { - xhr = FDomainRequest() || - window.XDomainRequest && - new XDomainRequest() || - new XMLHttpRequest(); - - xhr.onerror = xhr.onabort = function(){ done(1) }; - xhr.onload = xhr.onloadend = finished; - xhr.timeout = XHRTME; - - url = setup.url.join(URLBIT); - if (setup.data) { - url += "?"; - for (key in setup.data) { - url += key+"="+setup.data[key]+"&"; - } - } - - xhr.open( 'GET', url, true ); - xhr.send(); - } - catch(eee) { - done(0); - XORIGN = 0; - return xdr(setup); - } - - // Return 'done' - return done; -} - - -/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= PUBNUB ===========================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -var PDIV = $('pubnub') || {} -, READY = 0 -, READY_BUFFER = [] -, CREATE_PUBNUB = function(setup) { - var CHANNELS = {} - , PUBLISH_KEY = setup['publish_key'] || '' - , SUBSCRIBE_KEY = setup['subscribe_key'] || '' - , SSL = setup['ssl'] ? 's' : '' - , UUID = setup['uuid'] || db.get(SUBSCRIBE_KEY+'uuid') || '' - , ORIGIN = 'http'+SSL+'://'+(setup['origin']||'pubsub.pubnub.com') - , SELF = { - /* - PUBNUB.history({ - channel : 'my_chat_channel', - limit : 100, - callback : function(messages) { console.log(messages) } - }); - */ - 'history' : function( args, callback ) { - var callback = args['callback'] || callback - , limit = args['limit'] || 100 - , channel = args['channel'] - , jsonp = jsonp_cb(); - - // Make sure we have a Channel - if (!channel) return log('Missing Channel'); - if (!callback) return log('Missing Callback'); - - // Send Message - xdr({ - callback : jsonp, - url : [ - ORIGIN, 'history', - SUBSCRIBE_KEY, encode(channel), - jsonp, limit - ], - success : function(response) { callback(response) }, - fail : function(response) { log(response) } - }); - }, - - /* - PUBNUB.time(function(time){ console.log(time) }); - */ - 'time' : function(callback) { - var jsonp = jsonp_cb(); - xdr({ - callback : jsonp, - url : [ORIGIN, 'time', jsonp], - success : function(response) { callback(response[0]) }, - fail : function() { callback(0) } - }); - }, - - /* - PUBNUB.uuid(function(uuid) { console.log(uuid) }); - */ - 'uuid' : function(callback) { - var u = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) { - var r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8); - return v.toString(16); - }); - if (callback) callback(u); - return u; - }, - - /* - PUBNUB.publish({ - channel : 'my_chat_channel', - message : 'hello!' - }); - */ - 'publish' : function( args, callback ) { - var callback = callback || args['callback'] || function(){} - , message = args['message'] - , channel = args['channel'] - , jsonp = jsonp_cb() - , url; - - if (!message) return log('Missing Message'); - if (!channel) return log('Missing Channel'); - if (!PUBLISH_KEY) return log('Missing Publish Key'); - - // If trying to send Object - message = JSON['stringify'](message); - - // Create URL - url = [ - ORIGIN, 'publish', - PUBLISH_KEY, SUBSCRIBE_KEY, - 0, encode(channel), - jsonp, encode(message) - ]; - - // Send Message - xdr({ - callback : jsonp, - success : function(response) { callback(response) }, - fail : function() { callback([ 0, 'Disconnected' ]) }, - url : url, - data : { uuid: UUID } - }); - }, - /* - PUBNUB.unsubscribe({ channel : 'my_chat' }); - */ - 'unsubscribe' : function(args) { - // Unsubscribe from both the Channel and the Presence Channel - _unsubscribe(args['channel']); - _unsubscribe(args['channel'] + PRESENCE_SUFFIX); - - function _unsubscribe(channel) { - // Leave if there never was a channel. - if (!(channel in CHANNELS)) return; - - // Disable Channel - CHANNELS[channel].connected = 0; - - // Abort and Remove Script - CHANNELS[channel].done && - CHANNELS[channel].done(0); - } - }, - - /* - PUBNUB.subscribe({ - channel : 'my_chat' - callback : function(message) { console.log(message) } - }); - */ - 'subscribe' : function( args, callback ) { - var channel = args['channel'] - , callback = callback || args['callback'] - , subscribe_key= args['subscribe_key'] || SUBSCRIBE_KEY - , restore = args['restore'] - , timetoken = 0 - , error = args['error'] || function(){} - , connect = args['connect'] || function(){} - , reconnect = args['reconnect'] || function(){} - , disconnect = args['disconnect'] || function(){} - , presence = args['presence'] || function(){} - , disconnected = 0 - , connected = 0 - , origin = nextorigin(ORIGIN); - - // Reduce Status Flicker - if (!READY) return READY_BUFFER.push([ args, callback, SELF ]); - - // Make sure we have a Channel - if (!channel) return log('Missing Channel'); - if (!callback) return log('Missing Callback'); - if (!SUBSCRIBE_KEY) return log('Missing Subscribe Key'); - - if (!(channel in CHANNELS)) CHANNELS[channel] = {}; - - // Make sure we have a Channel - if (CHANNELS[channel].connected) return log('Already Connected'); - CHANNELS[channel].connected = 1; - - // Recurse Subscribe - function _connect() { - var jsonp = jsonp_cb(); - - // Stop Connection - if (!CHANNELS[channel].connected) return; - - // Connect to PubNub Subscribe Servers - CHANNELS[channel].done = xdr({ - callback : jsonp, - url : [ - origin, 'subscribe', - subscribe_key, encode(channel), - jsonp, timetoken - ], - data : { uuid: UUID }, - fail : function() { - // Disconnect - if (!disconnected) { - disconnected = 1; - disconnect(); - } - timeout( _connect, SECOND ); - SELF['time'](function(success){ - // Reconnect - if (success && disconnected) { - disconnected = 0; - reconnect(); - } - else { - error(); - } - }); - }, - success : function(messages) { - if (!CHANNELS[channel].connected) return; - - // Connect - if (!connected) { - connected = 1; - connect(); - } - - // Reconnect - if (disconnected) { - disconnected = 0; - reconnect(); - } - - // Restore Previous Connection Point if Needed - // Also Update Timetoken - restore = db.set( - SUBSCRIBE_KEY + channel, - timetoken = restore && db.get( - subscribe_key + channel - ) || messages[1] - ); - - each( messages[0], function(msg) { - callback( msg, messages ); - } ); - - timeout( _connect, 10 ); - } - }); - } - - // Presence Subscribe - if (args['presence']) SELF.subscribe({ - channel : args['channel'] + PRESENCE_SUFFIX, - callback : presence, - restore : args['restore'] - }); - - // Begin Recursive Subscribe - _connect(); - }, - 'here_now' : function( args, callback ) { - var callback = args['callback'] || callback - , channel = args['channel'] - , jsonp = jsonp_cb() - , origin = nextorigin(ORIGIN); - - // Make sure we have a Channel - if (!channel) return log('Missing Channel'); - if (!callback) return log('Missing Callback'); - - data = null; - if (jsonp != '0') { data['callback']=jsonp; } - - // Send Message - xdr({ - callback : jsonp, - url : [ - origin, 'v2', 'presence', - 'sub_key', SUBSCRIBE_KEY, - 'channel', encode(channel) - ], - data: data, - success : function(response) { callback(response) }, - fail : function(response) { log(response) } - }); - }, - - // Expose PUBNUB Functions - 'xdr' : xdr, - 'ready' : ready, - 'db' : db, - 'each' : each, - 'map' : map, - 'css' : css, - '$' : $, - 'create' : create, - 'bind' : bind, - 'supplant' : supplant, - 'head' : head, - 'search' : search, - 'attr' : attr, - 'now' : rnow, - 'unique' : unique, - 'events' : events, - 'updater' : updater, - 'init' : CREATE_PUBNUB - }; - - if (UUID == '') UUID = SELF.uuid(); - db.set(SUBSCRIBE_KEY+'uuid', UUID); - - return SELF; -}; - -// CREATE A PUBNUB GLOBAL OBJECT -PUBNUB = CREATE_PUBNUB({ - 'publish_key' : attr( PDIV, 'pub-key' ), - 'subscribe_key' : attr( PDIV, 'sub-key' ), - 'ssl' : attr( PDIV, 'ssl' ) == 'on', - 'origin' : attr( PDIV, 'origin' ), - 'uuid' : attr( PDIV, 'uuid' ) -}); - -// PUBNUB Flash Socket -css( PDIV, { 'position' : 'absolute', 'top' : -SECOND } ); - -if ('opera' in window || attr( PDIV, 'flash' )) PDIV['innerHTML'] = - ''; - -var pubnubs = $('pubnubs') || {}; - -// PUBNUB READY TO CONNECT -function ready() { PUBNUB['time'](rnow); -PUBNUB['time'](function(t){ timeout( function() { - if (READY) return; - READY = 1; - each( READY_BUFFER, function(sub) { - sub[2]['subscribe']( sub[0], sub[1] ) - } ); -}, SECOND ); }); } - -// Bind for PUBNUB Readiness to Subscribe -bind( 'load', window, function(){ timeout( ready, 0 ) } ); - -// Create Interface for Opera Flash -PUBNUB['rdx'] = function( id, data ) { - if (!data) return FDomainRequest[id]['onerror'](); - FDomainRequest[id]['responseText'] = unescape(data); - FDomainRequest[id]['onload'](); -}; - -function FDomainRequest() { - if (!pubnubs['get']) return 0; - - var fdomainrequest = { - 'id' : FDomainRequest['id']++, - 'send' : function() {}, - 'abort' : function() { fdomainrequest['id'] = {} }, - 'open' : function( method, url ) { - FDomainRequest[fdomainrequest['id']] = fdomainrequest; - pubnubs['get']( fdomainrequest['id'], url ); - } - }; - - return fdomainrequest; -} -FDomainRequest['id'] = SECOND; - -// jQuery Interface -window['jQuery'] && (window['jQuery']['PUBNUB'] = PUBNUB); - -// For Testling.js - http://testling.com/ -typeof module !== 'undefined' && (module.exports = PUBNUB) && ready(); - -})(); diff --git a/core/3.2/pubnub-3.2.min.js b/core/3.2/pubnub-3.2.min.js deleted file mode 100644 index 0ae25b190..000000000 --- a/core/3.2/pubnub-3.2.min.js +++ /dev/null @@ -1,18 +0,0 @@ -window.JSON&&window.JSON.stringify||function(){function t(c){v.lastIndex=0;return v.test(c)?'"'+c.replace(v,function(c){var f=D[c];return"string"===typeof f?f:"\\u"+("0000"+c.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+c+'"'}function q(r,p){var f,k,j,n,s=c,l,e=p[r];e&&("object"===typeof e&&"function"===typeof e.toJSON)&&(e=e.toJSON(r));"function"===typeof m&&(e=m.call(p,r,e));switch(typeof e){case "string":return t(e);case "number":return isFinite(e)?String(e):"null";case "boolean":case "null":return String(e); -case "object":if(!e)return"null";c+=h;l=[];if("[object Array]"===Object.prototype.toString.apply(e)){n=e.length;for(f=0;fq()?(clearTimeout(d),d=setTimeout(e,b)):(c=q(),a())};return e}function c(a){return document.getElementById(a)}function h(a){console.log(a)}function D(a,b){var d=[];m(a.split(/\s+/),function(a){m((b||document).getElementsByTagName(a),function(a){d.push(a)})});return d}function m(a,b){if(a&&b)if("undefined"!=typeof a[0])for(var d=0,c=a.length;d"-_.!~*'()".indexOf(a)?a:"%"+a.charCodeAt(0).toString(16).toUpperCase()}).join("")} -function w(a){if(F||o()){a:{var b,d,e=function(){if(!h){h=1;clearTimeout(l);try{d=JSON.parse(b.responseText)}catch(a){return u(1)}U(d)}},f=0,h=0,l=setTimeout(function(){u(1)},G),m=a.fail||function(){},U=a.success||function(){},u=function(a){f||(f=1,clearTimeout(l),b&&(b.onerror=b.onload=null,b.abort&&b.abort(),b=null),a&&m())};try{b=o()||window.XDomainRequest&&new XDomainRequest||new XMLHttpRequest;b.onerror=b.onabort=function(){u(1)};b.onload=b.onloadend=e;b.timeout=G;url=a.url.join(L);if(a.data)for(key in url+= -"?",a.data)url+=key+"="+a.data[key]+"&";b.open("GET",url,!0);b.send()}catch(V){u(0);F=0;a=w(a);break a}a=u}return a}var g=s("script"),e=a.callback,M=t(),N=0,p=setTimeout(function(){i(1)},G),q=a.fail||function(){},r=a.success||function(){},i=function(a,b){N||(N=1,a||r(b),g.onerror=null,clearTimeout(p),setTimeout(function(){a&&q();var b=c(M),u=b&&b.parentNode;u&&u.removeChild(b)},B))};window[e]=function(a){i(0,a)};g[O]=O;g.onerror=function(){i(1)};g.src=a.url.join(L);if(a.data)for(key in g.src+="?", -a.data)g.src+=key+"="+a.data[key]+"&";j(g,"id",M);k().appendChild(g);return i}function H(){PUBNUB.time(q);PUBNUB.time(function(){setTimeout(function(){I||(I=1,m(P,function(a){a[2].subscribe(a[0],a[1])}))},B)})}function o(){if(!Q.get)return 0;var a={id:o.id++,send:function(){},abort:function(){a.id={}},open:function(b,c){o[a.id]=a;Q.get(a.id,c)}};return a}window.console||(window.console=window.console||{});console.log||(console.log=(window.opera||{}).postError||function(){});var x,E=window.localStorage; -x={get:function(a){try{return E?E.getItem(a):-1==document.cookie.indexOf(a)?null:((document.cookie||"").match(RegExp(a+"=([^;]+)"))||[])[1]||null}catch(b){}},set:function(a,b){try{if(E)return E.setItem(a,b)&&0;document.cookie=a+"="+b+"; expires=Thu, 1 Aug 2030 20:00:00 UTC; path=/"}catch(c){}}};var S=1,T=/{([\w\-]+)}/g,O="async",L="/",G=31E4,B=1E3,F=-1==navigator.userAgent.indexOf("MSIE 6"),J,K=Math.floor(9*Math.random())+1;J=function(a){return 0++K? -K:K=1))||a};var C={list:{},unbind:function(a){C.list[a]=[]},bind:function(a,b){(C.list[a]=C.list[a]||[]).push(b)},fire:function(a,b){m(C.list[a]||[],function(a){a(b)})}},i=c("pubnub")||{},I=0,P=[],R=function(a){var b={},d=a.publish_key||"",i=a.subscribe_key||"",o=a.ssl?"s":"",y=a.uuid||x.get(i+"uuid")||"",z="http"+o+"://"+(a.origin||"pubsub.pubnub.com"),A={history:function(a,b){var b=a.callback||b,c=a.limit||100,g=a.channel,d=l();if(!g)return h("Missing Channel");if(!b)return h("Missing Callback"); -w({callback:d,url:[z,"history",i,e(g),d,c],success:function(a){b(a)},fail:function(a){h(a)}})},time:function(a){var b=l();w({callback:b,url:[z,"time",b],success:function(b){a(b[0])},fail:function(){a(0)}})},uuid:function(a){var b="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});a&&a(b);return b},publish:function(a,b){var b=b||a.callback||function(){},c=a.message,g=a.channel,f=l();if(!c)return h("Missing Message");if(!g)return h("Missing Channel"); -if(!d)return h("Missing Publish Key");c=JSON.stringify(c);c=[z,"publish",d,i,0,e(g),f,e(c)];w({callback:f,success:function(a){b(a)},fail:function(){b([0,"Disconnected"])},url:c,data:{uuid:y}})},unsubscribe:function(a){function c(a){a in b&&(b[a].connected=0,b[a].done&&b[a].done(0))}c(a.channel);c(a.channel+"-pnpres")},subscribe:function(a,c){function d(){var a=l();b[g].connected&&(b[g].done=w({callback:a,url:[v,"subscribe",f,e(g),a,k],data:{uuid:y},fail:function(){n||(n=1,r());setTimeout(d,B);A.time(function(a){if(a&& -n){n=0;o()}else p()})},success:function(a){b[g].connected&&(s||(s=1,q()),n&&(n=0,o()),j=x.set(i+g,k=j&&x.get(f+g)||a[1]),m(a[0],function(b){c(b,a)}),setTimeout(d,10))}}))}var g=a.channel,c=c||a.callback,f=a.subscribe_key||i,j=a.restore,k=0,p=a.error||function(){},q=a.connect||function(){},o=a.reconnect||function(){},r=a.disconnect||function(){},t=a.presence||function(){},n=0,s=0,v=J(z);if(!I)return P.push([a,c,A]);if(!g)return h("Missing Channel");if(!c)return h("Missing Callback");if(!i)return h("Missing Subscribe Key"); -g in b||(b[g]={});if(b[g].connected)return h("Already Connected");b[g].connected=1;a.presence&&A.subscribe({channel:a.channel+"-pnpres",callback:t,restore:a.restore});d()},here_now:function(a,b){var b=a.callback||b,c=a.channel,d=l(),f=J(z);if(!c)return h("Missing Channel");if(!b)return h("Missing Callback");data=null;"0"!=d&&(data.callback=d);w({callback:d,url:[f,"v2","presence","sub_key",i,"channel",e(c)],data:data,success:function(a){b(a)},fail:function(a){h(a)}})},xdr:w,ready:H,db:x,each:m,map:r, -css:n,$:c,create:s,bind:f,supplant:p,head:k,search:D,attr:j,now:q,unique:t,events:C,updater:v,init:R};""==y&&(y=A.uuid());x.set(i+"uuid",y);return A};PUBNUB=R({publish_key:j(i,"pub-key"),subscribe_key:j(i,"sub-key"),ssl:"on"==j(i,"ssl"),origin:j(i,"origin"),uuid:j(i,"uuid")});n(i,{position:"absolute",top:-B});if("opera"in window||j(i,"flash"))i.innerHTML=""; -var Q=c("pubnubs")||{};f("load",window,function(){setTimeout(H,0)});PUBNUB.rdx=function(a,b){if(!b)return o[a].onerror();o[a].responseText=unescape(b);o[a].onload()};o.id=B;window.jQuery&&(window.jQuery.PUBNUB=PUBNUB);"undefined"!==typeof module&&(module.exports=PUBNUB)&&H()}(); diff --git a/core/3.2/pubnub.as b/core/3.2/pubnub.as deleted file mode 100644 index a10e99855..000000000 --- a/core/3.2/pubnub.as +++ /dev/null @@ -1,47 +0,0 @@ -package { - import flash.external.ExternalInterface; - import flash.display.Sprite; - import flash.net.URLLoader; - import flash.net.URLRequest; - import flash.events.Event; - import flash.events.IOErrorEvent; - import flash.events.SecurityErrorEvent; - import flash.system.Security; - import flash.utils.setTimeout; - - public class pubnub extends Sprite { - - Security.allowDomain("*"); - Security.allowInsecureDomain("*"); - - ExternalInterface.addCallback( "get", function( - id:Number, - url:String - ):void { - function handler(e:Event):void { - var loader:URLLoader = URLLoader(e.target) - , data:String = loader.data - , timeout:int = 1; - - if (e.type == 'securityError') { - data = '[1,"S"]'; - timeout = 1000; - } - - setTimeout( function delayed():void { - ExternalInterface.call( "PUBNUB.rdx", id, escape(data) ); - loader.close(); - }, timeout ); - } - - var loader:URLLoader = new URLLoader(); - - loader.addEventListener( Event.COMPLETE, handler ); - loader.addEventListener( IOErrorEvent.IO_ERROR, handler ); - loader.addEventListener( - SecurityErrorEvent.SECURITY_ERROR, handler - ); - loader.load(new URLRequest(url)); - }); - } -} diff --git a/core/3.2/pubnub.swf b/core/3.2/pubnub.swf deleted file mode 100644 index 1fce400b076e99ebd892f5f34ef50511e638cd1c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1140 zcmV-)1dIDaS5pay1^@tf+FevjZ`(!?-XSTDo_@%V;zyh)b`mF!tcTMUu;BF?|K9Icy)EmY8vlJ`vc#O zC{3dxY~cu329;X5MntBu)$@FZ%R2A(ZOh;xU1hW$oO;IVAwLuAJ(~xo+m%aTm?JG| zi~1AO>x$x@Ek?yh#V42f5juv1VDnOF{mLf=lm1#5-RYx4C;V;3uNqd>+N#+mS{tMSV|niyO64aidzR z#WF(gcIAKF9(!njb=H`At8TMh<;S0Y{W7i6gmwC>iJxjLdj5X#}{(G9Vx`QtJ zZT3iGj6AI8b4S$J6f1|oPndS*S*HGc;BJf zZGNsF_I*o=F+4aAq;Qgl!WfYE9M&@2w!LA)bGYTsMEiX=2%{qQO^nNor0`vCPdCS# zeV5iAH-vg3WQLpOE+u!l@jCtD=;`yLr)A$9DWsV?!}~&`W^v6Rh;Dn_6n?_6y+EX5 za#zUIQTyN^is+L2M5)R1zQ_e*olW2OeEh0bT0UGp&cs;*Y1u(K5b~wv2)f;93OcSZ zL7=eUp|XMMBUC>^_2cj=GX)ftDdCL;&}j4SfrOsYm=^6Ip#fcd6_Tlii)sf; z*;W#wB?X;yX?h1*8Rb*rN|%6aaB{(*^^gmZ>oY7 zzt1}gEk8J_V1GIw*l}Jk8+tQ)d5B|VD!thVa0eVMie4+-oXs%`m2QRpyKm9ajtfWZ z#*VTk;32=hL@=#YAUWC;Q}S$%(Xr;4w!kKssxnZuRJ!+S?Vm`(;``!%g#~xi*mInJ zmS?0PEU9(0-VIvS){+vLH+#3Pn#JDjE9UWXDEiqlv{oQepyk;erY^E91BKmX)N2hO zmDVq+7yDsL5(+?a<$~07?o~Uh)z1BD=RvizR_*BY` - - - PubNub JavaScript HEAD INIT TEST - - - - -
- -

Head Test

-
Wait here for an alert() message.
- -
-
- diff --git a/core/3.2/tests/head.load.min.js b/core/3.2/tests/head.load.min.js deleted file mode 100644 index 6242b0fad..000000000 --- a/core/3.2/tests/head.load.min.js +++ /dev/null @@ -1,8 +0,0 @@ -/** - Head JS The only script in your - Copyright Tero Piirainen (tipiirai) - License MIT / http://bit.ly/mit-license - Version 0.96 - - http://headjs.com -*/(function(a){function z(){d||(d=!0,s(e,function(a){p(a)}))}function y(c,d){var e=a.createElement("script");e.type="text/"+(c.type||"javascript"),e.src=c.src||c,e.async=!1,e.onreadystatechange=e.onload=function(){var a=e.readyState;!d.done&&(!a||/loaded|complete/.test(a))&&(d.done=!0,d())},(a.body||b).appendChild(e)}function x(a,b){if(a.state==o)return b&&b();if(a.state==n)return k.ready(a.name,b);if(a.state==m)return a.onpreload.push(function(){x(a,b)});a.state=n,y(a.url,function(){a.state=o,b&&b(),s(g[a.name],function(a){p(a)}),u()&&d&&s(g.ALL,function(a){p(a)})})}function w(a,b){a.state===undefined&&(a.state=m,a.onpreload=[],y({src:a.url,type:"cache"},function(){v(a)}))}function v(a){a.state=l,s(a.onpreload,function(a){a.call()})}function u(a){a=a||h;var b;for(var c in a){if(a.hasOwnProperty(c)&&a[c].state!=o)return!1;b=!0}return b}function t(a){return Object.prototype.toString.call(a)=="[object Function]"}function s(a,b){if(!!a){typeof a=="object"&&(a=[].slice.call(a));for(var c=0;c - - - PubNub JavaScript MailTO Fix - - -
- - -
- × -

PubNub MailTO Test for JavaScript on Mobile and Desktop Web Browser

-
- - - -
0
- -
- - -
- diff --git a/core/3.2/tests/ssl-test.html b/core/3.2/tests/ssl-test.html deleted file mode 100644 index 1103bfb28..000000000 --- a/core/3.2/tests/ssl-test.html +++ /dev/null @@ -1,54 +0,0 @@ - - - -
- -
- - - - - - diff --git a/core/3.2/tests/test.js b/core/3.2/tests/test.js deleted file mode 100644 index 4e90a264a..000000000 --- a/core/3.2/tests/test.js +++ /dev/null @@ -1,69 +0,0 @@ -var test = require('testling'); -var PUBNUB = require('./pubnub-3.1'); -var channel = 'unit-test-pubnub-channel'; - -test('PUBNUB JavaScript API', function (test) { - var pubnub = PUBNUB.init({ - publish_key : 'demo', - subscribe_key : 'demo' - }); - - test.plan(14); - - test.ok(PUBNUB); - - test.ok(pubnub); - test.ok(pubnub.publish); - test.ok(pubnub.subscribe); - test.ok(pubnub.history); - test.ok(pubnub.time); - - function publish_test() { - pubnub.publish({ - channel : channel, - message : { test : "test" }, - callback : function(response) { - test.ok(response[0]); - test.equal( response[1], 'Sent' ); - } - }); - } - - function time_test() { - pubnub.time(function(time){ - test.ok(time); - uuid_test(); - }); - } - - function uuid_test() { - pubnub.uuid(function(uuid){ - test.ok(uuid); - history_test(); - }); - } - - function history_test(history) { - pubnub.history({ - limit : 1, - channel : channel, - callback : function(messages) { - test.ok(messages); - test.equal( messages[0].test, "test" ); - test.end(); - } - }); - } - - pubnub.subscribe({ - channel : channel, - connect : publish_test, - callback : function(message) { - test.ok(message); - test.equal( message.test, "test" ); - time_test(); - } - }); - -}); - diff --git a/core/3.2/tests/test.sh b/core/3.2/tests/test.sh deleted file mode 100755 index 459aef128..000000000 --- a/core/3.2/tests/test.sh +++ /dev/null @@ -1,41 +0,0 @@ -#!/bin/bash - -## ------------------------------------------------ -## PubNub 3.2 Real-time Cloud Push API - JAVASCRIPT -## ------------------------------------------------ - -## ---------------------------------------------------- -## -## TESTLING - PubNub JavaScript API for Web Browsers -## uses Testling Cloud Service -## for QA and Deployment. -## -## http://www.testling.com/ -## You need this to run './test.sh' unit test. -## -## ---------------------------------------------------- - -if [ -z "$1" ] -then - echo -e "\n\tUSER:PASSWD Required: http://testling.com/\n" - exit -fi - -browsers='firefox/3.6' -browsers=$browsers',firefox/9.0' -browsers=$browsers',firefox/10.0' -browsers=$browsers',chrome/16.0' -browsers=$browsers',chrome/17.0' -browsers=$browsers',iexplore/7.0' -browsers=$browsers',iexplore/8.0' -browsers=$browsers',iexplore/9.0' -browsers=$browsers',safari/5.1' - -echo -e "Testing: $browsers" - -noinstrument='pubnub-3.2.js,test.js' - -tar -cf- test.js ../pubnub-3.2.js | \ - curl -u $1 -sSNT- \ - "testling.com/?noinstrument=$noinstrument&browsers=$browsers" - diff --git a/core/3.2/tests/unit-test.html b/core/3.2/tests/unit-test.html deleted file mode 100644 index fb5ea87b3..000000000 --- a/core/3.2/tests/unit-test.html +++ /dev/null @@ -1,244 +0,0 @@ - - - - PubNub JavaScript Unit Test - - - -
- - -
- × -

PubNub Unit Tests for JavaScript on Mobile and Desktop Web Browser

-
- - -
- - - 100% Successful - Finished With Errors - ... -
- - - -
Pass/FailTest Ready -
- - - - -
- - -
- diff --git a/core/3.3.1/README.md b/core/3.3.1/README.md deleted file mode 100644 index df605a0e7..000000000 --- a/core/3.3.1/README.md +++ /dev/null @@ -1,153 +0,0 @@ -# YOU MUST HAVE A PUBNUB ACCOUNT TO USE THE API. -http://www.pubnub.com/account - -## TESTLING - (OPTIONAL) -PubNub JavaScript API for Web Browsers -uses Testling Cloud Service for QA and Deployment. -http://www.testling.com/ - -You need this to run './test.sh' unit test. -This is completely optional, however we love Testling. - - -## PubNub 3.3.1 Real-time Cloud Push API - JAVASCRIPT -http://www.pubnub.com - PubNub Real-time Push Service in the Cloud. -http://www.pubnub.com/tutorial/javascript-push-api - -PubNub is a blazingly fast cloud-hosted messaging service for building -real-time web and mobile apps. Hundreds of apps and thousands of developers -rely on PubNub for delivering human-perceptive real-time -experiences that scale to millions of users worldwide. PubNub delivers -the infrastructure needed to build amazing MMO games, social apps, -business collaborative solutions, and more. - -## SIMPLE EXAMPLE -```html -
- - -``` - -## ADVANCED STYLE -```html -
- - - -Click Me for Here Now! // here_now() example (see console for logged output.) -
-Click Me for History! // detailedHistory() example (see console for logged output.) - - - -``` - -## SSL MODE - -```html -
- - -``` - -## Using the PUBNUB init() Function - -Sometimes you want to use create a PubNub Instance directly in JavaScript -and pass the PubNub API Keys without using a DOM element. -To do this, simply follow this `init` example: - -```html - - -``` \ No newline at end of file diff --git a/core/3.3.1/comet.swf b/core/3.3.1/comet.swf deleted file mode 100644 index 1209542d3708247b235de8ca9a62df7d721db170..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1137 zcmV-%1djVdS5pax1^@tf+FevjZ`(!?-XSTDo{lX$it})y*h!q&vK~%TAciA2u;jvl z8x^vH^Z}z>kt>@uA1b-B%465@!VR*XEgwrc*r?S;qfvGAxatQ- zwZ_w@Piyt{+WPt$A=bh(PxA4a7cMO~V}h0l&A=W=+xNe-N5z7t- z4nNcP2Z1fc1RkD+Qn=}TVGhZA1}i!4IR2>RyWI9>^QUo4%X4;d@ zu19O1n?gMjGRG}zo05CnJjrZ#K5ZXV18c01WNHi_2#tEhHIop!<8w;{Dbw*okx95c zAv3SKdwX$2mpmXwO`Z)zA)Lr;2Z0~pSB=Wz{^DUS$r?)A3A3S)2evEda-${aw88>` zGV!RkC(}Da&y41hCRv~DwGZ0Uq&4o=o=vUrM3CR@#Qd={z1#V^-R*X|#r?~*7Cv;!jxCyycP|DOOvi*p_R-eiO$45 zv6 DFh4hW diff --git a/core/3.3.1/crossdomain.xml b/core/3.3.1/crossdomain.xml deleted file mode 100644 index 8fb3c5227..000000000 --- a/core/3.3.1/crossdomain.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/core/3.3.1/examples/detailed_history/index.html b/core/3.3.1/examples/detailed_history/index.html deleted file mode 100644 index 836b8354d..000000000 --- a/core/3.3.1/examples/detailed_history/index.html +++ /dev/null @@ -1,110 +0,0 @@ - - - - PubNub Detailed History Demo - - - - - - - - - - - - - - -
- -
- - - - - - - - Reverse ? - -
- - -
- - - - - - - diff --git a/core/3.3.1/examples/detailed_history/js/jquery.example.min.js b/core/3.3.1/examples/detailed_history/js/jquery.example.min.js deleted file mode 100755 index 5fc57814d..000000000 --- a/core/3.3.1/examples/detailed_history/js/jquery.example.min.js +++ /dev/null @@ -1,27 +0,0 @@ -/* - * jQuery Form Example Plugin 1.6.0 - * Populate form inputs with example text that disappears on focus. - * - * e.g. - * $('input#name').example('Bob Smith'); - * $('input[@title]').example(function () { - * return $(this).attr('title'); - * }); - * $('textarea#message').example('Type your message here', { - * className: 'example_text' - * }); - * - * Copyright (c) Paul Mucur (http://mudge.name), 2007-2012. - * Dual-licensed under the BSD (BSD-LICENSE.txt) and GPL (GPL-LICENSE.txt) - * licenses. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - */(function(a){"use strict";var b;a.fn.on?b=function(b,c,d){a("body").on(c,b,d)}:a.fn.delegate?b=function(b,c,d){a("body").delegate(b,c,d)}:a.fn.live?b=function(b,c,d){a(b).live(c,d)}:b=function(b,c,d){a(b).bind(c,d)},a.fn.example=function(c,d){var e=a.isFunction(c),f=a.extend({},d,{example:c});return this.each(function(){var c,d=a(this);a.metadata?c=a.extend({},a.fn.example.defaults,d.metadata(),f):c=a.extend({},a.fn.example.defaults,f),a.fn.example.boundClassNames[c.className]||(a(window).bind("unload.example",function(){a("."+c.className).val("").removeClass(c.className)}),b("form","submit.example example:resetForm",function(){a(this).find("."+c.className).val("").removeClass(c.className)}),a.fn.example.boundClassNames[c.className]=!0),d.val()!==this.defaultValue&&(e||d.val()===c.example)&&d.val(this.defaultValue),d.val()===""&&!d.is(":focus")&&d.addClass(c.className).val(e?c.example.call(this):c.example),d.bind("focus.example",function(){a(this).is("."+c.className)&&a(this).val("").removeClass(c.className)}).bind("change.example",function(){a(this).is("."+c.className)&&a(this).removeClass(c.className)}).bind("blur.example",function(){a(this).val()===""&&a(this).addClass(c.className).val(e?c.example.call(this):c.example)})})},a.fn.example.defaults={className:"example"},a.fn.example.boundClassNames=[]})(jQuery); diff --git a/core/3.3.1/examples/presence/index.html b/core/3.3.1/examples/presence/index.html deleted file mode 100644 index a2363303f..000000000 --- a/core/3.3.1/examples/presence/index.html +++ /dev/null @@ -1,118 +0,0 @@ - - - - PubNub Presence Demo - - - - - - - - - - - - - - -
- -

Currently Here

-
    -
-
- - - 0 people here now -
- - -
- - - - - - - - diff --git a/core/3.3.1/examples/presence/js/jquery.example.min.js b/core/3.3.1/examples/presence/js/jquery.example.min.js deleted file mode 100755 index 5fc57814d..000000000 --- a/core/3.3.1/examples/presence/js/jquery.example.min.js +++ /dev/null @@ -1,27 +0,0 @@ -/* - * jQuery Form Example Plugin 1.6.0 - * Populate form inputs with example text that disappears on focus. - * - * e.g. - * $('input#name').example('Bob Smith'); - * $('input[@title]').example(function () { - * return $(this).attr('title'); - * }); - * $('textarea#message').example('Type your message here', { - * className: 'example_text' - * }); - * - * Copyright (c) Paul Mucur (http://mudge.name), 2007-2012. - * Dual-licensed under the BSD (BSD-LICENSE.txt) and GPL (GPL-LICENSE.txt) - * licenses. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - */(function(a){"use strict";var b;a.fn.on?b=function(b,c,d){a("body").on(c,b,d)}:a.fn.delegate?b=function(b,c,d){a("body").delegate(b,c,d)}:a.fn.live?b=function(b,c,d){a(b).live(c,d)}:b=function(b,c,d){a(b).bind(c,d)},a.fn.example=function(c,d){var e=a.isFunction(c),f=a.extend({},d,{example:c});return this.each(function(){var c,d=a(this);a.metadata?c=a.extend({},a.fn.example.defaults,d.metadata(),f):c=a.extend({},a.fn.example.defaults,f),a.fn.example.boundClassNames[c.className]||(a(window).bind("unload.example",function(){a("."+c.className).val("").removeClass(c.className)}),b("form","submit.example example:resetForm",function(){a(this).find("."+c.className).val("").removeClass(c.className)}),a.fn.example.boundClassNames[c.className]=!0),d.val()!==this.defaultValue&&(e||d.val()===c.example)&&d.val(this.defaultValue),d.val()===""&&!d.is(":focus")&&d.addClass(c.className).val(e?c.example.call(this):c.example),d.bind("focus.example",function(){a(this).is("."+c.className)&&a(this).val("").removeClass(c.className)}).bind("change.example",function(){a(this).is("."+c.className)&&a(this).removeClass(c.className)}).bind("blur.example",function(){a(this).val()===""&&a(this).addClass(c.className).val(e?c.example.call(this):c.example)})})},a.fn.example.defaults={className:"example"},a.fn.example.boundClassNames=[]})(jQuery); diff --git a/core/3.3.1/examples/simple-chat.js b/core/3.3.1/examples/simple-chat.js deleted file mode 100644 index 5b0192ba1..000000000 --- a/core/3.3.1/examples/simple-chat.js +++ /dev/null @@ -1,119 +0,0 @@ -(function(){ - -/* - PubNub Real Time Push APIs and Notifications Framework - Copyright (c) 2010 Stephen Blum - http://www.google.com/profiles/blum.stephen - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . -*/ - -/* - - - - - -
Loading Simple Chat
- -*/ -var P = PUBNUB -, chat = { - init : function( node_name ) { - var node = P.$(node_name); - - chat.node_name = node_name; - - // Create Nodes - chat.textbox = P.create('input'); - chat.chatbox = P.create('div'); - chat.button = P.create('button'); - - // Button Text - chat.button.innerHTML = 'Send'; - - // Capture Channel - var channel = P.attr( node, 'channel' ); - - // Add Styles - P.attr( chat.chatbox, 'id', 'simple-chat-chatbox' ); - P.attr( chat.textbox, 'id', 'simple-chat-textbox' ); - P.attr( chat.button, 'id', 'simple-chat-button' ); - - // Display Nodes - node.innerHTML = ''; - node.appendChild(chat.chatbox); - node.appendChild(chat.textbox); - node.appendChild(chat.button); - - // Send Sign-on Message - P.publish({ - channel : channel, - message : 'Someone Joined the Chat.' - }); - - function send(e) { - var key = e.keyCode || e.charCode || 0 - , message = chat.textbox.value; - - // Wait for Enter Key - if (key != 13 && e.type == 'keydown' || !message) return true; - - // Reset Value - chat.textbox.value = ''; - - // Send Message - P.publish({ - channel : node_name, - message : message - }); - } - - // Bind Events - P.bind( 'keydown', chat.textbox, send ); - P.bind( 'blur', chat.textbox, send ); - - // Register Listener - P.subscribe({ channel : node_name }, chat.subscribe ); - }, - - subscribe : function(message) { - var br = '
'; - chat.chatbox.innerHTML = message + br + chat.chatbox.innerHTML; - } - -}; - -// Startup Simple Chat -chat.init('simple-chat'); - -})() diff --git a/core/3.3.1/modules/player.js b/core/3.3.1/modules/player.js deleted file mode 100644 index 4529496a4..000000000 --- a/core/3.3.1/modules/player.js +++ /dev/null @@ -1,54 +0,0 @@ -(function(){ - -var PUB = PUBNUB - -/* -------- - Provide a Player Creation/Management Interface. - -------- */ - -, players = (function(){ - var players_obj = {}; - return { - add : function(player) { - players_obj[player['uuid']] = player; - return player; - }, - get : function(uuid) { - return players_obj[uuid]; - }, - all : function() { - return players_obj; - } - }; -})(); - -/* -------- - Capture Current User's Information. - -------- */ - -function current_player(ready) { - function is_ready() { - if (player['uuid'] && player['joined']) { - players.add(player); - ready(player) - } - } - - var player = { - 'uuid' : PUB.uuid(function(uuid){ - player['uuid'] = uuid; - is_ready(); - }), - 'joined' : PUB.time(function(time){ - player['joined'] = time; - is_ready(); - }) - }; -} - -PUB['player'] = { - 'players' : players, - 'current_player' : current_player -}; - -})(); diff --git a/core/3.3.1/modules/player.min.js b/core/3.3.1/modules/player.min.js deleted file mode 100644 index 7f4bbd54e..000000000 --- a/core/3.3.1/modules/player.min.js +++ /dev/null @@ -1 +0,0 @@ -(function(){var d=PUBNUB,f=function(){var c={};return{add:function(a){return c[a.uuid]=a},a:function(a){return c[a]},all:function(){return c}}}();d.player={players:f,current_player:function(c){function a(){if(b.uuid&&b.joined){f.add(b);c(b)}}var b={uuid:d.c(function(e){b.uuid=e;a()}),joined:d.b(function(e){b.joined=e;a()})}}}})(); diff --git a/core/3.3.1/modules/sprite.js b/core/3.3.1/modules/sprite.js deleted file mode 100644 index bb8b60caa..000000000 --- a/core/3.3.1/modules/sprite.js +++ /dev/null @@ -1,216 +0,0 @@ -(function(){ - - -var PUB = PUBNUB -, bind = PUB.bind -, css = PUB.css -, each = PUB.each -, utility = PUB.utility -, now = utility.now -, ground = PUB.search('body')[0]; - -function painter(node) { - ground = node; -} - -function create(sprite) { - sprite.intervals = { - animate : 0, - move : {} - }; - - sprite.cell.size = Math.floor(sprite.image.width / sprite.cell.count); - sprite.node = PUB.create('div'); - sprite.opacity = sprite.opacity || 1.0; - - css( sprite.node, { - opacity : sprite.opacity, - position : 'absolute', - top : sprite.top, - left : sprite.left, - width : sprite.cell.size, - height : sprite.image.height, - backgroundRepeat : 'no-repeat', - backgroundImage : 'url(' + sprite.image.url + ')' - } ); - - setframe( sprite, 0 ); - append(sprite.node); - - return sprite; -} - -function append(node) { - ground.appendChild(node); -} - -function setframe( sprite, cell, offset ) { - var offset = offset || {}; - if (typeof offset.top == 'number') - sprite.image.offset.top = offset.top; - if (typeof offset.left == 'number') - sprite.image.offset.left = offset.left; - - css( sprite.node, { - backgroundPosition : '-' + - (sprite.cell.size * cell + sprite.image.offset.left) + - 'px -' + sprite.image.offset.top + 'px' - } ); -} - -/** - * sprite.animate( [[frame, duration], []...] ) - * sprite.animate( [[], [], []] ) - * sprite.animate( [[0, .2], [1, .4], [2, .5]] ) - */ -function animate( sprite, pattern, loop, callback, position ) { - // Clear Any Other Animation - if (!position) { - position = 0; - stop_animate(sprite); - } - - // if last frame, and no loop, then leave, else restart - if (position === pattern.length) { - if (loop === 0) return callback && callback(); - else { - loop--; - position = 0; - } - } - - // Multi format compatibility ([frame, delay]) or (frame) - var frame = pattern[position][0] || pattern[position] - , delay = pattern[position][1] || .1; - - sprite.intervals.animate = setTimeout( function() { - // Update Current Frame - setframe( sprite, frame ); - - // Next Frame - animate( sprite, pattern, loop, callback, position + 1 ); - }, delay * 1000 ); -} - - -/** - * Move and Animate Combined!!! - * - * sprite.animate( [ [left, top, duration, [animate] ], []...] ) - * sprite.animate( [[], [], []] ) - * sprite.animate( [[10, 10, .2, [ANIMATEPARAMS], loopanimate ], ... ) - * sprite.animate( [[10, 10, .2, [[frame,dur], ...], loopanimate ], ... ) - */ -function movie( sprite, pattern, loop, callback, position ) { - // Clear Any Other Animation - if (!position) { - position = 0; - stop_all(sprite); - } - - // if last frame, and no loop, then leave, else restart - if (position === pattern.length) { - if (loop === 0) return callback && callback(); - else { - loop--; - position = 0; - } - } - - // Update Animator - if (pattern[position][2]) animate( - sprite, - pattern[position][2], - pattern[position][3] || 0 - ); - - // [{top:0,opacity:.5}, 500, 0, 0], - // Update Mover - move( - sprite, - pattern[position][0], - pattern[position][1], - function() { - movie( sprite, pattern, loop, callback, position + 1 ); - } - ); -} - -/** - * move sprite from one place to another. - */ -function move( sprite, properties, duration, callback ) { - var start_time = now(); - - stop_all(sprite); - - each( properties, function( property, value ) { - var current_time = start_time - , end_time = start_time + duration - , start_prop = sprite[property] || 0 - , distance = value - start_prop - , update = {} - , ikey = property + value; - - stop_move( sprite, ikey ); - sprite.intervals.move[ikey] = setInterval( function() { - current_time = now(); - - sprite[property] = ( - end_time <= current_time - ? value - : ( distance * (current_time - start_time) - / duration + start_prop ) - ); - - update[property] = sprite[property]; - css( sprite.node, update ); - - if ( end_time <= current_time && sprite.intervals.move ) { - stop_move( sprite, ikey ); - callback && callback(); - } - - }, Math.ceil(1000 / sprite.framerate) ); - } ); -} - -/** - * Stop movie - */ -function stop_all(sprite) { - clearTimeout(sprite.intervals.animate); - each( sprite.intervals.move, function( ikey ) { - clearInterval(sprite.intervals.move[ikey]); - } ); -} - -/** - * Stop move. - */ -function stop_move( sprite, ikey ) { - clearInterval(sprite.intervals.move[ikey]); -} - -/** - * Stop animate. - */ -function stop_animate(sprite) { - clearTimeout(sprite.intervals.animate); -} - -// Expose Global 'sprite' to PUBNUB -PUB['sprite'] = { - 'painter' : painter, - 'create' : create, - 'setframe' : setframe, - 'animate' : animate, - 'move' : move, - 'movie' : movie, - 'stop_all' : stop_all, - 'stop_move' : stop_move, - 'stop_animate' : stop_animate -}; - - -})(); diff --git a/core/3.3.1/modules/sprite.min.js b/core/3.3.1/modules/sprite.min.js deleted file mode 100644 index 95d7895e4..000000000 --- a/core/3.3.1/modules/sprite.min.js +++ /dev/null @@ -1,3 +0,0 @@ -(function(){function i(a,c,d){d=d||{};if(typeof d.top=="number")a.b.f.top=d.top;if(typeof d.left=="number")a.b.f.left=d.left;j(a.c,{backgroundPosition:"-"+(a.e.size*c+a.b.f.left)+"px -"+a.b.f.top+"px"})}function k(a,c,d,e,b){if(!b){b=0;p(a)}if(b===c.length)if(d===0)return e&&e();else{d--;b=0}var f=c[b][0]||c[b];a.a.d=setTimeout(function(){i(a,f);k(a,c,d,e,b+1)},(c[b][1]||0.1)*1E3)}function q(a,c,d,e,b){if(!b){b=0;l(a)}if(b===c.length)if(d===0)return e&&e();else{d--;b=0}if(c[b][2])k(a,c[b][2],c[b][3]|| -0);r(a,c[b][0],c[b][1],function(){q(a,c,d,e,b+1)})}function r(a,c,d,e){var b=s();l(a);t(c,function(f,m){var h=b,u=b+d,v=a[f]||0,y=m-v,w={},n=f+m;o(a,n);a.a.move[n]=setInterval(function(){h=s();a[f]=u<=h?m:y*(h-b)/d+v;w[f]=a[f];j(a.c,w);if(u<=h&&a.a.move){o(a,n);e&&e()}},Math.ceil(1E3/a.j))})}function l(a){clearTimeout(a.a.d);t(a.a.move,function(c){clearInterval(a.a.move[c])})}function o(a,c){clearInterval(a.a.move[c])}function p(a){clearTimeout(a.a.d)}var g=PUBNUB,j=g.h,t=g.i,s=g.k.now,x=g.search("body")[0]; -g.sprite={painter:function(a){x=a},create:function(a){a.a={d:0,move:{}};a.e.size=Math.floor(a.b.width/a.e.g);a.c=g.create("div");a.opacity=a.opacity||1;j(a.c,{opacity:a.opacity,position:"absolute",top:a.top,left:a.left,width:a.e.size,height:a.b.height,backgroundRepeat:"no-repeat",backgroundImage:"url("+a.b.url+")"});i(a,0);x.appendChild(a.c);return a},setframe:i,animate:k,move:r,movie:q,stop_all:l,stop_move:o,stop_animate:p}})(); diff --git a/core/3.3.1/modules/utility.js b/core/3.3.1/modules/utility.js deleted file mode 100644 index 81dc95abf..000000000 --- a/core/3.3.1/modules/utility.js +++ /dev/null @@ -1,121 +0,0 @@ -(function(){ - -/* ======================================================================== */ -/* ================================ UTILITY =============================== */ -/* ======================================================================== */ - -var db = this['localStorage'] -, PUB = PUBNUB -, now = function(){return+new Date} -, cookie = { - get : function(key) { - if (db) return db.getItem(key); - if ((document.cookie||'').indexOf(key) == -1) return null; - return ((document.cookie||'').match( - RegExp(key+'=([^;]+)') - )||[])[1] || null; - }, - set : function( key, value ) { - if (db) return db.setItem( key, value ); - document.cookie = key + '=' + value + - '; expires=Thu, 1 Aug 2030 20:00:00 UTC; path=/'; - } -}; - -function updater( fun, rate ) { - var timeout - , last = 0 - , runnit = function() { - var right_now = now(); - - if (last + rate > right_now) { - clearTimeout(timeout); - timeout = setTimeout( runnit, rate ); - } - else { - last = now(); - fun(); - } - }; - - // Provide Rate Limited Function Call - return runnit; -} - -function mouse(e) { - if (!e) return [[0,0]]; - - var tch = e.touches && e.touches[0] - , mpos = []; - - if (tch) { - PUB.each( e.touches, function(touch) { - mpos.push([ touch.pageX, touch.pageY ]); - } ); - } - else if (e.pageX) { - mpos.push([ e.pageX, e.pageY ]); - } - else {try{ - mpos.push([ - e.clientX + body.scrollLeft + doc.scrollLeft, - e.clientY + body.scrollTop + doc.scrollTop - ]); - }catch(e){}} - - return mpos; -} - - -/** - * OFFSET - * ====== - * offset( search('div')[0], 'Width' ); - * offset( search('div')[0], 'Height' ); - * offset( search('div')[0], 'Top' ); - * offset( search('div')[0], 'Left' ); - */ -function offset( node, what ) { - var pos = 0 - , what = what || 'Top'; - - while (node) { - pos += node['offset'+what]; - node = node.offsetParent; - } - - return pos -} - -/** - * WINFO - * ===== - * var window_info = winfot(); - * log(window_info.height); - */ -function winfo() { - return { - height : this.innerHeight || - document.documentElement.clientHeight || - document.body.clientHeight, - scrollTop : document.documentElement.scrollTop || - document.body.scrollTop, - size : offset(search('body')[0], 'Height') - } -} - - - - -// Expose Utility to PUBNUB. -PUB['utility'] = { - 'mouse' : mouse, - 'winfo' : winfo, - 'offset' : offset, - 'now' : now, - 'cookie' : cookie, - 'updater' : updater -}; - - -})(); diff --git a/core/3.3.1/modules/utility.min.js b/core/3.3.1/modules/utility.min.js deleted file mode 100644 index 93cedae42..000000000 --- a/core/3.3.1/modules/utility.min.js +++ /dev/null @@ -1,3 +0,0 @@ -(function(){function g(a,b){var c=0;for(b=b||"Top";a;){c+=a["offset"+b];a=a.offsetParent}return c}var e=this.localStorage,h=PUBNUB;function f(){return+new Date}h.utility={mouse:function(a){if(!a)return[[0,0]];var b=[];if(a.touches&&a.touches[0])h.a(a.touches,function(d){b.push([d.pageX,d.pageY])});else if(a.pageX)b.push([a.pageX,a.pageY]);else try{b.push([a.clientX+body.scrollLeft+doc.scrollLeft,a.clientY+body.scrollTop+doc.scrollTop])}catch(c){}return b},winfo:function(){return{height:this.innerHeight|| -document.documentElement.clientHeight||document.body.clientHeight,scrollTop:document.documentElement.scrollTop||document.body.scrollTop,size:g(search("body")[0],"Height")}},offset:g,now:f,cookie:{b:function(a){if(e)return e.getItem(a);if((document.cookie||"").indexOf(a)==-1)return null;return((document.cookie||"").match(RegExp(a+"=([^;]+)"))||[])[1]||null},c:function(a,b){if(e)return e.setItem(a,b);document.cookie=a+"="+b+"; expires=Thu, 1 Aug 2030 20:00:00 UTC; path=/"}},updater:function(a,b){var c, -d=0;function i(){if(d+b>f()){clearTimeout(c);c=setTimeout(i,b)}else{d=f();a()}}return i}}})(); diff --git a/core/3.3.1/pubnub-3.3.1.js b/core/3.3.1/pubnub-3.3.1.js deleted file mode 100644 index 37851140a..000000000 --- a/core/3.3.1/pubnub-3.3.1.js +++ /dev/null @@ -1,1074 +0,0 @@ -/* --------------------------------------------------------------------------- -WAIT! - This file depends on instructions from the PUBNUB Cloud. -http://www.pubnub.com/account-javascript-api-include ---------------------------------------------------------------------------- */ - -/* --------------------------------------------------------------------------- -PubNub Real-time Cloud-Hosted Push API and Push Notification Client Frameworks -Copyright (c) 2011 PubNub Inc. -http://www.pubnub.com/ -http://www.pubnub.com/terms ---------------------------------------------------------------------------- */ - -/* --------------------------------------------------------------------------- -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. ---------------------------------------------------------------------------- */ - -/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= JSON =============================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -(window['JSON'] && window['JSON']['stringify']) || (function () { - window['JSON'] || (window['JSON'] = {}); - - if (typeof String.prototype.toJSON !== 'function') { - String.prototype.toJSON = - Number.prototype.toJSON = - Boolean.prototype.toJSON = function (key) { - return this.valueOf(); - }; - } - - var cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, - escapable = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, - gap, - indent, - meta = { // table of character substitutions - '\b': '\\b', - '\t': '\\t', - '\n': '\\n', - '\f': '\\f', - '\r': '\\r', - '"' : '\\"', - '\\': '\\\\' - }, - rep; - - function quote(string) { - escapable.lastIndex = 0; - return escapable.test(string) ? - '"' + string.replace(escapable, function (a) { - var c = meta[a]; - return typeof c === 'string' ? c : - '\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4); - }) + '"' : - '"' + string + '"'; - } - - - function str(key, holder) { - var i, // The loop counter. - k, // The member key. - v, // The member value. - length, - mind = gap, - partial, - value = holder[key]; - - if (value && typeof value === 'object' && - typeof value.toJSON === 'function') { - value = value.toJSON(key); - } - - if (typeof rep === 'function') { - value = rep.call(holder, key, value); - } - - switch (typeof value) { - case 'string': - return quote(value); - - case 'number': - return isFinite(value) ? String(value) : 'null'; - - case 'boolean': - case 'null': - return String(value); - - case 'object': - - if (!value) { - return 'null'; - } - - gap += indent; - partial = []; - - if (Object.prototype.toString.apply(value) === '[object Array]') { - - length = value.length; - for (i = 0; i < length; i += 1) { - partial[i] = str(i, value) || 'null'; - } - - v = partial.length === 0 ? '[]' : - gap ? '[\n' + gap + - partial.join(',\n' + gap) + '\n' + - mind + ']' : - '[' + partial.join(',') + ']'; - gap = mind; - return v; - } - if (rep && typeof rep === 'object') { - length = rep.length; - for (i = 0; i < length; i += 1) { - k = rep[i]; - if (typeof k === 'string') { - v = str(k, value); - if (v) { - partial.push(quote(k) + (gap ? ': ' : ':') + v); - } - } - } - } else { - for (k in value) { - if (Object.hasOwnProperty.call(value, k)) { - v = str(k, value); - if (v) { - partial.push(quote(k) + (gap ? ': ' : ':') + v); - } - } - } - } - - v = partial.length === 0 ? '{}' : - gap ? '{\n' + gap + partial.join(',\n' + gap) + '\n' + - mind + '}' : '{' + partial.join(',') + '}'; - gap = mind; - return v; - } - } - - if (typeof JSON['stringify'] !== 'function') { - JSON['stringify'] = function (value, replacer, space) { - var i; - gap = ''; - indent = ''; - - if (typeof space === 'number') { - for (i = 0; i < space; i += 1) { - indent += ' '; - } - } else if (typeof space === 'string') { - indent = space; - } - rep = replacer; - if (replacer && typeof replacer !== 'function' && - (typeof replacer !== 'object' || - typeof replacer.length !== 'number')) { - throw new Error('JSON.stringify'); - } - return str('', {'': value}); - }; - } - - if (typeof JSON['parse'] !== 'function') { - // JSON is parsed on the server for security. - JSON['parse'] = function (text) {return eval('('+text+')')}; - } -}()); - - -/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-======================= DOM UTIL ===========================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -window['PUBNUB'] || (function() { - -/** - * CONSOLE COMPATIBILITY - */ -window.console||(window.console=window.console||{}); -console.log||(console.log=((window.opera||{}).postError||function(){})); - -/** - * UTILITIES - */ -function unique() { return'x'+ ++NOW+''+(+new Date) } -function rnow() { return+new Date } - -/** - * LOCAL STORAGE OR COOKIE - */ -var db = (function(){ - var ls = window['localStorage']; - return { - 'get' : function(key) { - try { - if (ls) return ls.getItem(key); - if (document.cookie.indexOf(key) == -1) return null; - return ((document.cookie||'').match( - RegExp(key+'=([^;]+)') - )||[])[1] || null; - } catch(e) { return } - }, - 'set' : function( key, value ) { - try { - if (ls) return ls.setItem( key, value ) && 0; - document.cookie = key + '=' + value + - '; expires=Thu, 1 Aug 2030 20:00:00 UTC; path=/'; - } catch(e) { return } - } - }; -})(); - -/** - * UTIL LOCALS - */ -var NOW = 1 -, SWF = 'https://dh15atwfs066y.cloudfront.net/pubnub.swf' -, REPL = /{([\w\-]+)}/g -, ASYNC = 'async' -, URLBIT = '/' -, PARAMSBIT = '&' -, XHRTME = 310000 -, SECOND = 1000 -, PRESENCE_SUFFIX = '-pnpres' -, UA = navigator.userAgent -, XORIGN = UA.indexOf('MSIE 6') == -1; - -/** - * NEXTORIGIN - * ========== - * var next_origin = nextorigin(); - */ -var nextorigin = (function() { - var ori = Math.floor(Math.random() * 9) + 1; - return function(origin) { - return origin.indexOf('pubsub') > 0 - && origin.replace( - 'pubsub', 'ps' + (++ori < 10 ? ori : ori=1) - ) || origin; - } -})(); - -/** - * UPDATER - * ====== - * var timestamp = unique(); - */ -function updater( fun, rate ) { - var timeout - , last = 0 - , runnit = function() { - if (last + rate > rnow()) { - clearTimeout(timeout); - timeout = setTimeout( runnit, rate ); - } - else { - last = rnow(); - fun(); - } - }; - - return runnit; -} - -/** - * $ - * = - * var div = $('divid'); - */ -function $(id) { return document.getElementById(id) } - -/** - * LOG - * === - * log('message'); - */ -function log(message) { console['log'](message) } - -/** - * SEARCH - * ====== - * var elements = search('a div span'); - */ -function search( elements, start ) { - var list = []; - each( elements.split(/\s+/), function(el) { - each( (start || document).getElementsByTagName(el), function(node) { - list.push(node); - } ); - } ); - return list; -} - -/** - * EACH - * ==== - * each( [1,2,3], function(item) { console.log(item) } ) - */ -function each( o, f ) { - if ( !o || !f ) return; - - if ( typeof o[0] != 'undefined' ) - for ( var i = 0, l = o.length; i < l; ) - f.call( o[i], o[i], i++ ); - else - for ( var i in o ) - o.hasOwnProperty && - o.hasOwnProperty(i) && - f.call( o[i], i, o[i] ); -} - -/** - * MAP - * === - * var list = map( [1,2,3], function(item) { return item + 1 } ) - */ -function map( list, fun ) { - var fin = []; - each( list || [], function( k, v ) { fin.push(fun( k, v )) } ); - return fin; -} - -/** - * GREP - * ==== - * var list = grep( [1,2,3], function(item) { return item % 2 } ) - */ -function grep( list, fun ) { - var fin = []; - each( list || [], function(l) { fun(l) && fin.push(l) } ); - return fin -} - -/** - * SUPPLANT - * ======== - * var text = supplant( 'Hello {name}!', { name : 'John' } ) - */ -function supplant( str, values ) { - return str.replace( REPL, function( _, match ) { - return values[match] || _ - } ); -} - -/** - * BIND - * ==== - * bind( 'keydown', search('a')[0], function(element) { - * console.log( element, '1st anchor' ) - * } ); - */ -function bind( type, el, fun ) { - each( type.split(','), function(etype) { - var rapfun = function(e) { - if (!e) e = window.event; - if (!fun(e)) { - e.cancelBubble = true; - e.returnValue = false; - e.preventDefault && e.preventDefault(); - e.stopPropagation && e.stopPropagation(); - } - }; - - if ( el.addEventListener ) el.addEventListener( etype, rapfun, false ); - else if ( el.attachEvent ) el.attachEvent( 'on' + etype, rapfun ); - else el[ 'on' + etype ] = rapfun; - } ); -} - -/** - * UNBIND - * ====== - * unbind( 'keydown', search('a')[0] ); - */ -function unbind( type, el, fun ) { - if ( el.removeEventListener ) el.removeEventListener( type, false ); - else if ( el.detachEvent ) el.detachEvent( 'on' + type, false ); - else el[ 'on' + type ] = null; -} - -/** - * HEAD - * ==== - * head().appendChild(elm); - */ -function head() { return search('head')[0] } - -/** - * ATTR - * ==== - * var attribute = attr( node, 'attribute' ); - */ -function attr( node, attribute, value ) { - if (value) node.setAttribute( attribute, value ); - else return node && node.getAttribute && node.getAttribute(attribute); -} - -/** - * CSS - * === - * var obj = create('div'); - */ -function css( element, styles ) { - for (var style in styles) if (styles.hasOwnProperty(style)) - try {element.style[style] = styles[style] + ( - '|width|height|top|left|'.indexOf(style) > 0 && - typeof styles[style] == 'number' - ? 'px' : '' - )}catch(e){} -} - -/** - * CREATE - * ====== - * var obj = create('div'); - */ -function create(element) { return document.createElement(element) } - -/** - * timeout - * ======= - * timeout( function(){}, 100 ); - */ -function timeout( fun, wait ) { - return setTimeout( fun, wait ); -} - -/** - * jsonp_cb - * ======== - * var callback = jsonp_cb(); - */ -function jsonp_cb() { return XORIGN || FDomainRequest() ? 0 : unique() } - -/** - * ENCODE - * ====== - * var encoded_path = encode('path'); - */ -function encode(path) { - return map( (encodeURIComponent(path)).split(''), function(chr) { - return "-_.!~*'()".indexOf(chr) < 0 ? chr : - "%"+chr.charCodeAt(0).toString(16).toUpperCase() - } ).join(''); -} - -/** - * EVENTS - * ====== - * PUBNUB.events.bind( 'you-stepped-on-flower', function(message) { - * // Do Stuff with message - * } ); - * - * PUBNUB.events.fire( 'you-stepped-on-flower', "message-data" ); - * PUBNUB.events.fire( 'you-stepped-on-flower', {message:"data"} ); - * PUBNUB.events.fire( 'you-stepped-on-flower', [1,2,3] ); - * - */ -var events = { - 'list' : {}, - 'unbind' : function( name ) { events.list[name] = [] }, - 'bind' : function( name, fun ) { - (events.list[name] = events.list[name] || []).push(fun); - }, - 'fire' : function( name, data ) { - each( - events.list[name] || [], - function(fun) { fun(data) } - ); - } -}; - -/** - * XDR Cross Domain Request - * ======================== - * xdr({ - * url : ['http://www.blah.com/url'], - * success : function(response) {}, - * fail : function() {} - * }); - */ -function xdr( setup ) { - if (XORIGN || FDomainRequest()) return ajax(setup); - - var script = create('script') - , callback = setup.callback - , id = unique() - , finished = 0 - , timer = timeout( function(){done(1)}, XHRTME ) - , fail = setup.fail || function(){} - , success = setup.success || function(){} - - , append = function() { - head().appendChild(script); - } - - , done = function( failed, response ) { - if (finished) return; - finished = 1; - - failed || success(response); - script.onerror = null; - clearTimeout(timer); - - timeout( function() { - failed && fail(); - var s = $(id) - , p = s && s.parentNode; - p && p.removeChild(s); - }, SECOND ); - }; - - window[callback] = function(response) { - done( 0, response ); - }; - - if (!setup.blocking) script[ASYNC] = ASYNC; - - script.onerror = function() { done(1) }; - script.src = setup.url.join(URLBIT); - - if (setup.data) { - var params = []; - script.src += "?"; - for (key in setup.data) { - params.push(key+"="+setup.data[key]); - } - script.src += params.join(PARAMSBIT); - } - attr( script, 'id', id ); - - append(); - return done; -} - -/** - * CORS XHR Request - * ================ - * xdr({ - * url : ['http://www.blah.com/url'], - * success : function(response) {}, - * fail : function() {} - * }); - */ -function ajax( setup ) { - var xhr, response - , finished = function() { - if (loaded) return; - loaded = 1; - - clearTimeout(timer); - - try { response = JSON['parse'](xhr.responseText); } - catch (r) { return done(1); } - - success(response); - } - , complete = 0 - , loaded = 0 - , timer = timeout( function(){done(1)}, XHRTME ) - , fail = setup.fail || function(){} - , success = setup.success || function(){} - , done = function(failed) { - if (complete) return; - complete = 1; - - clearTimeout(timer); - - if (xhr) { - xhr.onerror = xhr.onload = null; - xhr.abort && xhr.abort(); - xhr = null; - } - - failed && fail(); - }; - - // Send - try { - xhr = FDomainRequest() || - window.XDomainRequest && - new XDomainRequest() || - new XMLHttpRequest(); - - xhr.onerror = xhr.onabort = function(){ done(1) }; - xhr.onload = xhr.onloadend = finished; - xhr.timeout = XHRTME; - - var url = setup.url.join(URLBIT); - if (setup.data) { - var params = []; - var key; - url += "?"; - for (key in setup.data) { - params.push(key+"="+setup.data[key]); - } - url += params.join(PARAMSBIT); - } - - xhr.open( 'GET', url, typeof setup.blocking == 'undefined' ); - xhr.send(); - } - catch(eee) { - done(0); - XORIGN = 0; - return xdr(setup); - } - - // Return 'done' - return done; -} - - -/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= PUBNUB ===========================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -var PDIV = $('pubnub') || {} -, READY = 0 -, READY_BUFFER = [] -, CREATE_PUBNUB = function(setup) { - var CHANNELS = {} - , PUBLISH_KEY = setup['publish_key'] || '' - , SUBSCRIBE_KEY = setup['subscribe_key'] || '' - , SSL = setup['ssl'] ? 's' : '' - , UUID = setup['uuid'] || db.get(SUBSCRIBE_KEY+'uuid') || '' - , ORIGIN = 'http'+SSL+'://'+(setup['origin']||'pubsub.pubnub.com') - , LEAVE = function(){} - , SELF = { - /* - PUBNUB.history({ - channel : 'my_chat_channel', - limit : 100, - callback : function(messages) { console.log(messages) } - }); - */ - 'history' : function( args, callback ) { - var callback = args['callback'] || callback - , limit = args['limit'] || 100 - , channel = args['channel'] - , jsonp = jsonp_cb(); - - // Make sure we have a Channel - if (!channel) return log('Missing Channel'); - if (!callback) return log('Missing Callback'); - if (!SUBSCRIBE_KEY) return log('Missing Subscribe Key'); - - // Send Message - xdr({ - success : function(response) { callback(response) }, - fail : function(response) { log(response) }, - callback : jsonp, - url : [ - ORIGIN, 'history', - SUBSCRIBE_KEY, encode(channel), - jsonp, limit - ] - }); - }, - - /* - PUBNUB.detailedHistory({ - channel : 'my_chat_channel', - count : 100, - callback : function(messages) { console.log(messages) } - }); - */ - 'detailedHistory' : function( args, callback ) { - var callback = args['callback'] || callback - , count = args['count'] || 100 - , reverse = args['reverse'] || "false" - , channel = args['channel'] - , start = args['start'] - , end = args['end'] - , params = {} - , jsonp = jsonp_cb(); - - // Make sure we have a Channel - if (!channel) return log('Missing Channel'); - if (!callback) return log('Missing Callback'); - if (!SUBSCRIBE_KEY) return log('Missing Subscribe Key'); - - params["count"] = count; - params["reverse"] = reverse; - - if (start) params["start"] = start; - if (end) params["end"] = end; - - // Send Message - xdr({ - callback : jsonp, - data : params, - success : function(response) { callback(response) }, - fail : function(response) { log(response) }, - url : [ - ORIGIN, 'v2', 'history', - 'sub-key', SUBSCRIBE_KEY, 'channel', encode(channel) - ] - }); - }, - - /* - PUBNUB.time(function(time){ console.log(time) }); - */ - 'time' : function(callback) { - var jsonp = jsonp_cb(); - xdr({ - callback : jsonp, - url : [ORIGIN, 'time', jsonp], - success : function(response) { callback(response[0]) }, - fail : function() { callback(0) } - }); - }, - - /* - PUBNUB.uuid(function(uuid) { console.log(uuid) }); - */ - 'uuid' : function(callback) { - var u = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) { - var r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8); - return v.toString(16); - }); - if (callback) callback(u); - return u; - }, - - /* - PUBNUB.publish({ - channel : 'my_chat_channel', - message : 'hello!' - }); - */ - 'publish' : function( args, callback ) { - var callback = callback || args['callback'] || function(){} - , message = args['message'] - , channel = args['channel'] - , jsonp = jsonp_cb() - , url; - - if (!message) return log('Missing Message'); - if (!channel) return log('Missing Channel'); - if (!PUBLISH_KEY) return log('Missing Publish Key'); - if (!SUBSCRIBE_KEY) return log('Missing Subscribe Key'); - - // If trying to send Object - message = JSON['stringify'](message); - - // Create URL - url = [ - ORIGIN, 'publish', - PUBLISH_KEY, SUBSCRIBE_KEY, - 0, encode(channel), - jsonp, encode(message) - ]; - - // Send Message - xdr({ - callback : jsonp, - success : function(response) { callback(response) }, - fail : function() { callback([ 0, 'Disconnected' ]) }, - url : url, - data : { uuid: UUID } - }); - }, - /* - PUBNUB.unsubscribe({ channel : 'my_chat' }); - */ - 'unsubscribe' : function(args) { - // Unsubscribe from both the Channel and the Presence Channel - unsubscribe(args['channel']); - unsubscribe(args['channel'] + PRESENCE_SUFFIX); - - // Announce Leave - LEAVE(args['channel']); - - function unsubscribe(channel) { - // Leave if there never was a channel. - if (!(channel in CHANNELS)) return; - - // Disable Channel - CHANNELS[channel].connected = 0; - - // Abort and Remove Script - CHANNELS[channel].done && - CHANNELS[channel].done(0); - } - }, - - /* - PUBNUB.subscribe({ - channel : 'my_chat' - callback : function(message) { console.log(message) } - }); - */ - 'subscribe' : function( args, callback ) { - var channel = args['channel'] - , callback = callback || args['callback'] - , subscribe_key = args['subscribe_key'] || SUBSCRIBE_KEY - , restore = args['restore'] - , timetoken = 0 - , error = args['error'] || function(){} - , connect = args['connect'] || function(){} - , reconnect = args['reconnect'] || function(){} - , disconnect = args['disconnect'] || function(){} - , presence = args['presence'] || function(){} - , disconnected = 0 - , connected = 0 - , origin = nextorigin(ORIGIN); - - // Reduce Status Flicker - if (!READY) return READY_BUFFER.push([ args, callback, SELF ]); - - // Make sure we have a Channel - if (!channel) return log('Missing Channel'); - if (!callback) return log('Missing Callback'); - if (!SUBSCRIBE_KEY) return log('Missing Subscribe Key'); - - if (!(channel in CHANNELS)) CHANNELS[channel] = {}; - - // Make sure we have a Channel - if (CHANNELS[channel].connected) return log('Already Connected'); - CHANNELS[channel].connected = 1; - - // Recurse Subscribe - function _connect() { - var jsonp = jsonp_cb(); - - // Stop Connection - if (!CHANNELS[channel].connected) return; - - // Connect to PubNub Subscribe Servers - CHANNELS[channel].done = xdr({ - callback : jsonp, - data : { uuid: UUID }, - url : [ - origin, 'subscribe', - subscribe_key, encode(channel), - jsonp, timetoken - ], - fail : function() { - // Disconnect - if (!disconnected) { - disconnected = 1; - disconnect(); - leave(); - } - timeout( _connect, SECOND ); - SELF['time'](function(success){ - // Reconnect - if (success && disconnected) { - disconnected = 0; - reconnect(); - } - else { - error(); - } - }); - }, - success : function(messages) { - if (!CHANNELS[channel].connected) return; - - // Connect - if (!connected) { - connected = 1; - connect(); - } - - // Reconnect - if (disconnected) { - disconnected = 0; - reconnect(); - } - - // Restore Previous Connection Point if Needed - // Also Update Timetoken - restore = db.set( - SUBSCRIBE_KEY + channel, - timetoken = restore && db.get( - subscribe_key + channel - ) || messages[1] - ); - - each( messages[0], function(msg) { - callback( msg, messages ); - } ); - - timeout( _connect, 10 ); - } - }); - } - - // Announce Leave Event - function leave(chan) { - var data = { uuid : UUID } - , jsonp = jsonp_cb() - , chann = chan || channel; - - if (jsonp != '0') data['callback'] = jsonp; - - xdr({ - blocking : 1, - callback : jsonp, - data : data, - url : [ - origin, 'v2', 'presence', - 'sub_key', SUBSCRIBE_KEY, - 'channel', encode(channel), - 'leave' - ] - }); - - return true; - } - - LEAVE = leave; - - // onBeforeUnload - bind( 'beforeunload', window, leave ); - - // Presence Subscribe - if (args['presence']) SELF.subscribe({ - channel : args['channel'] + PRESENCE_SUFFIX, - callback : presence, - restore : args['restore'], - disconnect : leave - }); - - // Begin Recursive Subscribe - _connect(); - }, - - 'here_now' : function( args, callback ) { - var callback = args['callback'] || callback - , channel = args['channel'] - , jsonp = jsonp_cb() - , data = {} - , origin = nextorigin(ORIGIN); - - // Make sure we have a Channel - if (!channel) return log('Missing Channel'); - if (!callback) return log('Missing Callback'); - if (!SUBSCRIBE_KEY) return log('Missing Subscribe Key'); - - if (jsonp != '0') data['callback'] = jsonp; - - // Send Message - xdr({ - callback : jsonp, - data : data, - success : function(response) { callback(response) }, - fail : function(response) { log(response) }, - url : [ - origin, 'v2', 'presence', - 'sub_key', SUBSCRIBE_KEY, - 'channel', encode(channel) - ] - }); - }, - - // Expose PUBNUB Functions - 'xdr' : xdr, - 'ready' : ready, - 'db' : db, - 'each' : each, - 'map' : map, - 'grep' : grep, - 'css' : css, - '$' : $, - 'create' : create, - 'bind' : bind, - 'supplant' : supplant, - 'head' : head, - 'search' : search, - 'attr' : attr, - 'now' : rnow, - 'unique' : unique, - 'events' : events, - 'updater' : updater, - 'init' : CREATE_PUBNUB - }; - - if (!UUID) UUID = SELF.uuid(); - db.set( SUBSCRIBE_KEY + 'uuid', UUID ); - - return SELF; -}; - -// CREATE A PUBNUB GLOBAL OBJECT -PUBNUB = CREATE_PUBNUB({ - 'publish_key' : attr( PDIV, 'pub-key' ), - 'subscribe_key' : attr( PDIV, 'sub-key' ), - 'ssl' : !document.location.href.indexOf('https') || attr( PDIV, 'ssl' ) == 'on', - 'origin' : attr( PDIV, 'origin' ), - 'uuid' : attr( PDIV, 'uuid' ) -}); - -// PUBNUB Flash Socket -css( PDIV, { 'position' : 'absolute', 'top' : -SECOND } ); - -if ('opera' in window || attr( PDIV, 'flash' )) PDIV['innerHTML'] = - ''; - -var pubnubs = $('pubnubs') || {}; - -// PUBNUB READY TO CONNECT -function ready() { PUBNUB['time'](rnow); -PUBNUB['time'](function(t){ timeout( function() { - if (READY) return; - READY = 1; - each( READY_BUFFER, function(sub) { - sub[2]['subscribe']( sub[0], sub[1] ) - } ); -}, SECOND ); }); } - -// Bind for PUBNUB Readiness to Subscribe -bind( 'load', window, function(){ timeout( ready, 0 ) } ); - -// Create Interface for Opera Flash -PUBNUB['rdx'] = function( id, data ) { - if (!data) return FDomainRequest[id]['onerror'](); - FDomainRequest[id]['responseText'] = unescape(data); - FDomainRequest[id]['onload'](); -}; - -function FDomainRequest() { - if (!pubnubs['get']) return 0; - - var fdomainrequest = { - 'id' : FDomainRequest['id']++, - 'send' : function() {}, - 'abort' : function() { fdomainrequest['id'] = {} }, - 'open' : function( method, url ) { - FDomainRequest[fdomainrequest['id']] = fdomainrequest; - pubnubs['get']( fdomainrequest['id'], url ); - } - }; - - return fdomainrequest; -} -FDomainRequest['id'] = SECOND; - -// jQuery Interface -window['jQuery'] && (window['jQuery']['PUBNUB'] = PUBNUB); - -// For Testling.js - http://testling.com/ -typeof module !== 'undefined' && (module.exports = PUBNUB) && ready(); - -})(); diff --git a/core/3.3.1/pubnub-3.3.1.min.js b/core/3.3.1/pubnub-3.3.1.min.js deleted file mode 100644 index 62db15813b3cbc2e7493f794270bd222690d8c23..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4088 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 diff --git a/core/3.3.1/pubnub.as b/core/3.3.1/pubnub.as deleted file mode 100644 index a10e99855..000000000 --- a/core/3.3.1/pubnub.as +++ /dev/null @@ -1,47 +0,0 @@ -package { - import flash.external.ExternalInterface; - import flash.display.Sprite; - import flash.net.URLLoader; - import flash.net.URLRequest; - import flash.events.Event; - import flash.events.IOErrorEvent; - import flash.events.SecurityErrorEvent; - import flash.system.Security; - import flash.utils.setTimeout; - - public class pubnub extends Sprite { - - Security.allowDomain("*"); - Security.allowInsecureDomain("*"); - - ExternalInterface.addCallback( "get", function( - id:Number, - url:String - ):void { - function handler(e:Event):void { - var loader:URLLoader = URLLoader(e.target) - , data:String = loader.data - , timeout:int = 1; - - if (e.type == 'securityError') { - data = '[1,"S"]'; - timeout = 1000; - } - - setTimeout( function delayed():void { - ExternalInterface.call( "PUBNUB.rdx", id, escape(data) ); - loader.close(); - }, timeout ); - } - - var loader:URLLoader = new URLLoader(); - - loader.addEventListener( Event.COMPLETE, handler ); - loader.addEventListener( IOErrorEvent.IO_ERROR, handler ); - loader.addEventListener( - SecurityErrorEvent.SECURITY_ERROR, handler - ); - loader.load(new URLRequest(url)); - }); - } -} diff --git a/core/3.3.1/pubnub.swf b/core/3.3.1/pubnub.swf deleted file mode 100644 index 1fce400b076e99ebd892f5f34ef50511e638cd1c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1140 zcmV-)1dIDaS5pay1^@tf+FevjZ`(!?-XSTDo_@%V;zyh)b`mF!tcTMUu;BF?|K9Icy)EmY8vlJ`vc#O zC{3dxY~cu329;X5MntBu)$@FZ%R2A(ZOh;xU1hW$oO;IVAwLuAJ(~xo+m%aTm?JG| zi~1AO>x$x@Ek?yh#V42f5juv1VDnOF{mLf=lm1#5-RYx4C;V;3uNqd>+N#+mS{tMSV|niyO64aidzR z#WF(gcIAKF9(!njb=H`At8TMh<;S0Y{W7i6gmwC>iJxjLdj5X#}{(G9Vx`QtJ zZT3iGj6AI8b4S$J6f1|oPndS*S*HGc;BJf zZGNsF_I*o=F+4aAq;Qgl!WfYE9M&@2w!LA)bGYTsMEiX=2%{qQO^nNor0`vCPdCS# zeV5iAH-vg3WQLpOE+u!l@jCtD=;`yLr)A$9DWsV?!}~&`W^v6Rh;Dn_6n?_6y+EX5 za#zUIQTyN^is+L2M5)R1zQ_e*olW2OeEh0bT0UGp&cs;*Y1u(K5b~wv2)f;93OcSZ zL7=eUp|XMMBUC>^_2cj=GX)ftDdCL;&}j4SfrOsYm=^6Ip#fcd6_Tlii)sf; z*;W#wB?X;yX?h1*8Rb*rN|%6aaB{(*^^gmZ>oY7 zzt1}gEk8J_V1GIw*l}Jk8+tQ)d5B|VD!thVa0eVMie4+-oXs%`m2QRpyKm9ajtfWZ z#*VTk;32=hL@=#YAUWC;Q}S$%(Xr;4w!kKssxnZuRJ!+S?Vm`(;``!%g#~xi*mInJ zmS?0PEU9(0-VIvS){+vLH+#3Pn#JDjE9UWXDEiqlv{oQepyk;erY^E91BKmX)N2hO zmDVq+7yDsL5(+?a<$~07?o~Uh)z1BD=RvizR_*BY` - - - PubNub JavaScript HEAD INIT TEST - - - - -
- -

Head Test

-
Wait here for an alert() message.
- -
-
- diff --git a/core/3.3.1/tests/head.load.min.js b/core/3.3.1/tests/head.load.min.js deleted file mode 100644 index 6242b0fad..000000000 --- a/core/3.3.1/tests/head.load.min.js +++ /dev/null @@ -1,8 +0,0 @@ -/** - Head JS The only script in your - Copyright Tero Piirainen (tipiirai) - License MIT / http://bit.ly/mit-license - Version 0.96 - - http://headjs.com -*/(function(a){function z(){d||(d=!0,s(e,function(a){p(a)}))}function y(c,d){var e=a.createElement("script");e.type="text/"+(c.type||"javascript"),e.src=c.src||c,e.async=!1,e.onreadystatechange=e.onload=function(){var a=e.readyState;!d.done&&(!a||/loaded|complete/.test(a))&&(d.done=!0,d())},(a.body||b).appendChild(e)}function x(a,b){if(a.state==o)return b&&b();if(a.state==n)return k.ready(a.name,b);if(a.state==m)return a.onpreload.push(function(){x(a,b)});a.state=n,y(a.url,function(){a.state=o,b&&b(),s(g[a.name],function(a){p(a)}),u()&&d&&s(g.ALL,function(a){p(a)})})}function w(a,b){a.state===undefined&&(a.state=m,a.onpreload=[],y({src:a.url,type:"cache"},function(){v(a)}))}function v(a){a.state=l,s(a.onpreload,function(a){a.call()})}function u(a){a=a||h;var b;for(var c in a){if(a.hasOwnProperty(c)&&a[c].state!=o)return!1;b=!0}return b}function t(a){return Object.prototype.toString.call(a)=="[object Function]"}function s(a,b){if(!!a){typeof a=="object"&&(a=[].slice.call(a));for(var c=0;c - - - PubNub JavaScript MailTO Fix - - -
- - -
- × -

PubNub MailTO Test for JavaScript on Mobile and Desktop Web Browser

-
- - - -
0
- -
- - -
- diff --git a/core/3.3.1/tests/presence-ssl.html b/core/3.3.1/tests/presence-ssl.html deleted file mode 100644 index d76811bee..000000000 --- a/core/3.3.1/tests/presence-ssl.html +++ /dev/null @@ -1,60 +0,0 @@ - - - - - PubNub Presence SSL Test - - - - - - - -
- Open the - Developers Console - and watch the presence events section to ensure join/leave. -
- - - - -
- - - - - diff --git a/core/3.3.1/tests/ssl-test.html b/core/3.3.1/tests/ssl-test.html deleted file mode 100644 index 7f667bdf8..000000000 --- a/core/3.3.1/tests/ssl-test.html +++ /dev/null @@ -1,54 +0,0 @@ - - - -
- -
- - - - - - diff --git a/core/3.3.1/tests/test.js b/core/3.3.1/tests/test.js deleted file mode 100644 index fae2f42cf..000000000 --- a/core/3.3.1/tests/test.js +++ /dev/null @@ -1,81 +0,0 @@ -var test = require('testling'); -var PUBNUB = require('../pubnub-3.3.1'); -var channel = 'unit-test-pubnub-channel'; - -test('PUBNUB JavaScript API', function (test) { - var pubnub = PUBNUB.init({ - publish_key : 'demo', - subscribe_key : 'demo' - }); - - test.plan(14); - - test.ok(PUBNUB); - - test.ok(pubnub); - test.ok(pubnub.publish); - test.ok(pubnub.subscribe); - test.ok(pubnub.history); - test.ok(pubnub.detailedHistory); - test.ok(pubnub.time); - - function publish_test() { - pubnub.publish({ - channel : channel, - message : { test : "test" }, - callback : function(response) { - test.ok(response[0]); - test.equal( response[1], 'Sent' ); - } - }); - } - - function time_test() { - pubnub.time(function(time){ - test.ok(time); - uuid_test(); - }); - } - - function uuid_test() { - pubnub.uuid(function(uuid){ - test.ok(uuid); - history_test(); - }); - } - - function history_test(history) { - pubnub.history({ - limit : 1, - channel : channel, - callback : function(messages) { - test.ok(messages); - test.equal( messages[0].test, "test" ); - test.end(); - } - }); - } - - function detailedHistory_test(history) { - pubnub.detailedHistory({ - count : 1, - channel : channel, - callback : function(messages) { - test.ok(messages); - test.equal( messages[0][0].test, "test" ); - test.end(); - } - }); - } - pubnub.subscribe({ - channel : channel, - connect : publish_test, - callback : function(message) { - test.ok(message); - test.equal( message.test, "test" ); - time_test(); - } - }); - -}); - diff --git a/core/3.3.1/tests/test.sh b/core/3.3.1/tests/test.sh deleted file mode 100755 index e190f006c..000000000 --- a/core/3.3.1/tests/test.sh +++ /dev/null @@ -1,41 +0,0 @@ -#!/bin/bash - -## ------------------------------------------------ -## PubNub 3.3.1 Real-time Cloud Push API - JAVASCRIPT -## ------------------------------------------------ - -## ---------------------------------------------------- -## -## TESTLING - PubNub JavaScript API for Web Browsers -## uses Testling Cloud Service -## for QA and Deployment. -## -## http://www.testling.com/ -## You need this to run './test.sh' unit test. -## -## ---------------------------------------------------- - -if [ -z "$1" ] -then - echo -e "\n\tUSER:PASSWD Required: http://testling.com/\n" - exit -fi - -browsers='firefox/3.6' -browsers=$browsers',firefox/9.0' -browsers=$browsers',firefox/10.0' -browsers=$browsers',chrome/16.0' -browsers=$browsers',chrome/17.0' -browsers=$browsers',iexplore/7.0' -browsers=$browsers',iexplore/8.0' -browsers=$browsers',iexplore/9.0' -browsers=$browsers',safari/5.1' - -echo -e "Testing: $browsers" - -noinstrument='pubnub-3.3.1.js,test.js' - -tar -cf- test.js ../pubnub-3.3.1.js | \ - curl -u $1 -sSNT- \ - "testling.com/?noinstrument=$noinstrument&browsers=$browsers" - diff --git a/core/3.3.1/tests/unit-test.html b/core/3.3.1/tests/unit-test.html deleted file mode 100644 index 68c713c8b..000000000 --- a/core/3.3.1/tests/unit-test.html +++ /dev/null @@ -1,246 +0,0 @@ - - - - - PubNub JavaScript Unit Test - - - - -
- - -
- × -

PubNub Unit Tests for JavaScript on Mobile and Desktop Web Browser

-
- - -
- - - 100% Successful - Finished With Errors - ... -
- - - -
Pass/FailTest Ready -
- - - - -
- - -
- diff --git a/core/3.3/README.md b/core/3.3/README.md deleted file mode 100644 index 4d7930b5a..000000000 --- a/core/3.3/README.md +++ /dev/null @@ -1,127 +0,0 @@ -# YOU MUST HAVE A PUBNUB ACCOUNT TO USE THE API. -http://www.pubnub.com/account - -## TESTLING - (OPTIONAL) -PubNub JavaScript API for Web Browsers -uses Testling Cloud Service for QA and Deployment. -http://www.testling.com/ - -You need this to run './test.sh' unit test. -This is completely optional, however we love Testling. - - -## PubNub 3.3 Real-time Cloud Push API - JAVASCRIPT -http://www.pubnub.com - PubNub Real-time Push Service in the Cloud. -http://www.pubnub.com/tutorial/javascript-push-api - -PubNub is a blazingly fast cloud-hosted messaging service for building -real-time web and mobile apps. Hundreds of apps and thousands of developers -rely on PubNub for delivering human-perceptive real-time -experiences that scale to millions of users worldwide. PubNub delivers -the infrastructure needed to build amazing MMO games, social apps, -business collaborative solutions, and more. - -## SIMPLE EXAMPLE -```html -
- - -``` - -## ADVANCED STYLE -```html -
- - -``` - -## SSL MODE - -```html -
- - -``` - -## Using the PUBNUB init() Function - -Sometimes you want to use create a PubNub Instance directly in JavaScript -and pass the PubNub API Keys without using a DOM element. -To do this, simply follow this `init` example: - -```html - - -``` - diff --git a/core/3.3/comet.swf b/core/3.3/comet.swf deleted file mode 100644 index 1209542d3708247b235de8ca9a62df7d721db170..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1137 zcmV-%1djVdS5pax1^@tf+FevjZ`(!?-XSTDo{lX$it})y*h!q&vK~%TAciA2u;jvl z8x^vH^Z}z>kt>@uA1b-B%465@!VR*XEgwrc*r?S;qfvGAxatQ- zwZ_w@Piyt{+WPt$A=bh(PxA4a7cMO~V}h0l&A=W=+xNe-N5z7t- z4nNcP2Z1fc1RkD+Qn=}TVGhZA1}i!4IR2>RyWI9>^QUo4%X4;d@ zu19O1n?gMjGRG}zo05CnJjrZ#K5ZXV18c01WNHi_2#tEhHIop!<8w;{Dbw*okx95c zAv3SKdwX$2mpmXwO`Z)zA)Lr;2Z0~pSB=Wz{^DUS$r?)A3A3S)2evEda-${aw88>` zGV!RkC(}Da&y41hCRv~DwGZ0Uq&4o=o=vUrM3CR@#Qd={z1#V^-R*X|#r?~*7Cv;!jxCyycP|DOOvi*p_R-eiO$45 zv6 DFh4hW diff --git a/core/3.3/crossdomain.xml b/core/3.3/crossdomain.xml deleted file mode 100644 index 8fb3c5227..000000000 --- a/core/3.3/crossdomain.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/core/3.3/examples/detailed_history/index.html b/core/3.3/examples/detailed_history/index.html deleted file mode 100644 index acd8a99e4..000000000 --- a/core/3.3/examples/detailed_history/index.html +++ /dev/null @@ -1,110 +0,0 @@ - - - - PubNub Detailed History Demo - - - - - - - - - - - - - - -
- -
- - - - - - - - Reverse ? - -
- - -
- - - - - - - diff --git a/core/3.3/examples/detailed_history/js/jquery.example.min.js b/core/3.3/examples/detailed_history/js/jquery.example.min.js deleted file mode 100755 index 5fc57814d..000000000 --- a/core/3.3/examples/detailed_history/js/jquery.example.min.js +++ /dev/null @@ -1,27 +0,0 @@ -/* - * jQuery Form Example Plugin 1.6.0 - * Populate form inputs with example text that disappears on focus. - * - * e.g. - * $('input#name').example('Bob Smith'); - * $('input[@title]').example(function () { - * return $(this).attr('title'); - * }); - * $('textarea#message').example('Type your message here', { - * className: 'example_text' - * }); - * - * Copyright (c) Paul Mucur (http://mudge.name), 2007-2012. - * Dual-licensed under the BSD (BSD-LICENSE.txt) and GPL (GPL-LICENSE.txt) - * licenses. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - */(function(a){"use strict";var b;a.fn.on?b=function(b,c,d){a("body").on(c,b,d)}:a.fn.delegate?b=function(b,c,d){a("body").delegate(b,c,d)}:a.fn.live?b=function(b,c,d){a(b).live(c,d)}:b=function(b,c,d){a(b).bind(c,d)},a.fn.example=function(c,d){var e=a.isFunction(c),f=a.extend({},d,{example:c});return this.each(function(){var c,d=a(this);a.metadata?c=a.extend({},a.fn.example.defaults,d.metadata(),f):c=a.extend({},a.fn.example.defaults,f),a.fn.example.boundClassNames[c.className]||(a(window).bind("unload.example",function(){a("."+c.className).val("").removeClass(c.className)}),b("form","submit.example example:resetForm",function(){a(this).find("."+c.className).val("").removeClass(c.className)}),a.fn.example.boundClassNames[c.className]=!0),d.val()!==this.defaultValue&&(e||d.val()===c.example)&&d.val(this.defaultValue),d.val()===""&&!d.is(":focus")&&d.addClass(c.className).val(e?c.example.call(this):c.example),d.bind("focus.example",function(){a(this).is("."+c.className)&&a(this).val("").removeClass(c.className)}).bind("change.example",function(){a(this).is("."+c.className)&&a(this).removeClass(c.className)}).bind("blur.example",function(){a(this).val()===""&&a(this).addClass(c.className).val(e?c.example.call(this):c.example)})})},a.fn.example.defaults={className:"example"},a.fn.example.boundClassNames=[]})(jQuery); diff --git a/core/3.3/examples/presence/index.html b/core/3.3/examples/presence/index.html deleted file mode 100644 index 22f971ec3..000000000 --- a/core/3.3/examples/presence/index.html +++ /dev/null @@ -1,118 +0,0 @@ - - - - PubNub Presence Demo - - - - - - - - - - - - - - -
- -

Currently Here

-
    -
-
- - - 0 people here now -
- - -
- - - - - - - - diff --git a/core/3.3/examples/presence/js/jquery.example.min.js b/core/3.3/examples/presence/js/jquery.example.min.js deleted file mode 100755 index 5fc57814d..000000000 --- a/core/3.3/examples/presence/js/jquery.example.min.js +++ /dev/null @@ -1,27 +0,0 @@ -/* - * jQuery Form Example Plugin 1.6.0 - * Populate form inputs with example text that disappears on focus. - * - * e.g. - * $('input#name').example('Bob Smith'); - * $('input[@title]').example(function () { - * return $(this).attr('title'); - * }); - * $('textarea#message').example('Type your message here', { - * className: 'example_text' - * }); - * - * Copyright (c) Paul Mucur (http://mudge.name), 2007-2012. - * Dual-licensed under the BSD (BSD-LICENSE.txt) and GPL (GPL-LICENSE.txt) - * licenses. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - */(function(a){"use strict";var b;a.fn.on?b=function(b,c,d){a("body").on(c,b,d)}:a.fn.delegate?b=function(b,c,d){a("body").delegate(b,c,d)}:a.fn.live?b=function(b,c,d){a(b).live(c,d)}:b=function(b,c,d){a(b).bind(c,d)},a.fn.example=function(c,d){var e=a.isFunction(c),f=a.extend({},d,{example:c});return this.each(function(){var c,d=a(this);a.metadata?c=a.extend({},a.fn.example.defaults,d.metadata(),f):c=a.extend({},a.fn.example.defaults,f),a.fn.example.boundClassNames[c.className]||(a(window).bind("unload.example",function(){a("."+c.className).val("").removeClass(c.className)}),b("form","submit.example example:resetForm",function(){a(this).find("."+c.className).val("").removeClass(c.className)}),a.fn.example.boundClassNames[c.className]=!0),d.val()!==this.defaultValue&&(e||d.val()===c.example)&&d.val(this.defaultValue),d.val()===""&&!d.is(":focus")&&d.addClass(c.className).val(e?c.example.call(this):c.example),d.bind("focus.example",function(){a(this).is("."+c.className)&&a(this).val("").removeClass(c.className)}).bind("change.example",function(){a(this).is("."+c.className)&&a(this).removeClass(c.className)}).bind("blur.example",function(){a(this).val()===""&&a(this).addClass(c.className).val(e?c.example.call(this):c.example)})})},a.fn.example.defaults={className:"example"},a.fn.example.boundClassNames=[]})(jQuery); diff --git a/core/3.3/examples/simple-chat.js b/core/3.3/examples/simple-chat.js deleted file mode 100644 index 5b0192ba1..000000000 --- a/core/3.3/examples/simple-chat.js +++ /dev/null @@ -1,119 +0,0 @@ -(function(){ - -/* - PubNub Real Time Push APIs and Notifications Framework - Copyright (c) 2010 Stephen Blum - http://www.google.com/profiles/blum.stephen - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . -*/ - -/* - - - - - -
Loading Simple Chat
- -*/ -var P = PUBNUB -, chat = { - init : function( node_name ) { - var node = P.$(node_name); - - chat.node_name = node_name; - - // Create Nodes - chat.textbox = P.create('input'); - chat.chatbox = P.create('div'); - chat.button = P.create('button'); - - // Button Text - chat.button.innerHTML = 'Send'; - - // Capture Channel - var channel = P.attr( node, 'channel' ); - - // Add Styles - P.attr( chat.chatbox, 'id', 'simple-chat-chatbox' ); - P.attr( chat.textbox, 'id', 'simple-chat-textbox' ); - P.attr( chat.button, 'id', 'simple-chat-button' ); - - // Display Nodes - node.innerHTML = ''; - node.appendChild(chat.chatbox); - node.appendChild(chat.textbox); - node.appendChild(chat.button); - - // Send Sign-on Message - P.publish({ - channel : channel, - message : 'Someone Joined the Chat.' - }); - - function send(e) { - var key = e.keyCode || e.charCode || 0 - , message = chat.textbox.value; - - // Wait for Enter Key - if (key != 13 && e.type == 'keydown' || !message) return true; - - // Reset Value - chat.textbox.value = ''; - - // Send Message - P.publish({ - channel : node_name, - message : message - }); - } - - // Bind Events - P.bind( 'keydown', chat.textbox, send ); - P.bind( 'blur', chat.textbox, send ); - - // Register Listener - P.subscribe({ channel : node_name }, chat.subscribe ); - }, - - subscribe : function(message) { - var br = '
'; - chat.chatbox.innerHTML = message + br + chat.chatbox.innerHTML; - } - -}; - -// Startup Simple Chat -chat.init('simple-chat'); - -})() diff --git a/core/3.3/modules/player.js b/core/3.3/modules/player.js deleted file mode 100644 index 4529496a4..000000000 --- a/core/3.3/modules/player.js +++ /dev/null @@ -1,54 +0,0 @@ -(function(){ - -var PUB = PUBNUB - -/* -------- - Provide a Player Creation/Management Interface. - -------- */ - -, players = (function(){ - var players_obj = {}; - return { - add : function(player) { - players_obj[player['uuid']] = player; - return player; - }, - get : function(uuid) { - return players_obj[uuid]; - }, - all : function() { - return players_obj; - } - }; -})(); - -/* -------- - Capture Current User's Information. - -------- */ - -function current_player(ready) { - function is_ready() { - if (player['uuid'] && player['joined']) { - players.add(player); - ready(player) - } - } - - var player = { - 'uuid' : PUB.uuid(function(uuid){ - player['uuid'] = uuid; - is_ready(); - }), - 'joined' : PUB.time(function(time){ - player['joined'] = time; - is_ready(); - }) - }; -} - -PUB['player'] = { - 'players' : players, - 'current_player' : current_player -}; - -})(); diff --git a/core/3.3/modules/player.min.js b/core/3.3/modules/player.min.js deleted file mode 100644 index 7f4bbd54e..000000000 --- a/core/3.3/modules/player.min.js +++ /dev/null @@ -1 +0,0 @@ -(function(){var d=PUBNUB,f=function(){var c={};return{add:function(a){return c[a.uuid]=a},a:function(a){return c[a]},all:function(){return c}}}();d.player={players:f,current_player:function(c){function a(){if(b.uuid&&b.joined){f.add(b);c(b)}}var b={uuid:d.c(function(e){b.uuid=e;a()}),joined:d.b(function(e){b.joined=e;a()})}}}})(); diff --git a/core/3.3/modules/sprite.js b/core/3.3/modules/sprite.js deleted file mode 100644 index bb8b60caa..000000000 --- a/core/3.3/modules/sprite.js +++ /dev/null @@ -1,216 +0,0 @@ -(function(){ - - -var PUB = PUBNUB -, bind = PUB.bind -, css = PUB.css -, each = PUB.each -, utility = PUB.utility -, now = utility.now -, ground = PUB.search('body')[0]; - -function painter(node) { - ground = node; -} - -function create(sprite) { - sprite.intervals = { - animate : 0, - move : {} - }; - - sprite.cell.size = Math.floor(sprite.image.width / sprite.cell.count); - sprite.node = PUB.create('div'); - sprite.opacity = sprite.opacity || 1.0; - - css( sprite.node, { - opacity : sprite.opacity, - position : 'absolute', - top : sprite.top, - left : sprite.left, - width : sprite.cell.size, - height : sprite.image.height, - backgroundRepeat : 'no-repeat', - backgroundImage : 'url(' + sprite.image.url + ')' - } ); - - setframe( sprite, 0 ); - append(sprite.node); - - return sprite; -} - -function append(node) { - ground.appendChild(node); -} - -function setframe( sprite, cell, offset ) { - var offset = offset || {}; - if (typeof offset.top == 'number') - sprite.image.offset.top = offset.top; - if (typeof offset.left == 'number') - sprite.image.offset.left = offset.left; - - css( sprite.node, { - backgroundPosition : '-' + - (sprite.cell.size * cell + sprite.image.offset.left) + - 'px -' + sprite.image.offset.top + 'px' - } ); -} - -/** - * sprite.animate( [[frame, duration], []...] ) - * sprite.animate( [[], [], []] ) - * sprite.animate( [[0, .2], [1, .4], [2, .5]] ) - */ -function animate( sprite, pattern, loop, callback, position ) { - // Clear Any Other Animation - if (!position) { - position = 0; - stop_animate(sprite); - } - - // if last frame, and no loop, then leave, else restart - if (position === pattern.length) { - if (loop === 0) return callback && callback(); - else { - loop--; - position = 0; - } - } - - // Multi format compatibility ([frame, delay]) or (frame) - var frame = pattern[position][0] || pattern[position] - , delay = pattern[position][1] || .1; - - sprite.intervals.animate = setTimeout( function() { - // Update Current Frame - setframe( sprite, frame ); - - // Next Frame - animate( sprite, pattern, loop, callback, position + 1 ); - }, delay * 1000 ); -} - - -/** - * Move and Animate Combined!!! - * - * sprite.animate( [ [left, top, duration, [animate] ], []...] ) - * sprite.animate( [[], [], []] ) - * sprite.animate( [[10, 10, .2, [ANIMATEPARAMS], loopanimate ], ... ) - * sprite.animate( [[10, 10, .2, [[frame,dur], ...], loopanimate ], ... ) - */ -function movie( sprite, pattern, loop, callback, position ) { - // Clear Any Other Animation - if (!position) { - position = 0; - stop_all(sprite); - } - - // if last frame, and no loop, then leave, else restart - if (position === pattern.length) { - if (loop === 0) return callback && callback(); - else { - loop--; - position = 0; - } - } - - // Update Animator - if (pattern[position][2]) animate( - sprite, - pattern[position][2], - pattern[position][3] || 0 - ); - - // [{top:0,opacity:.5}, 500, 0, 0], - // Update Mover - move( - sprite, - pattern[position][0], - pattern[position][1], - function() { - movie( sprite, pattern, loop, callback, position + 1 ); - } - ); -} - -/** - * move sprite from one place to another. - */ -function move( sprite, properties, duration, callback ) { - var start_time = now(); - - stop_all(sprite); - - each( properties, function( property, value ) { - var current_time = start_time - , end_time = start_time + duration - , start_prop = sprite[property] || 0 - , distance = value - start_prop - , update = {} - , ikey = property + value; - - stop_move( sprite, ikey ); - sprite.intervals.move[ikey] = setInterval( function() { - current_time = now(); - - sprite[property] = ( - end_time <= current_time - ? value - : ( distance * (current_time - start_time) - / duration + start_prop ) - ); - - update[property] = sprite[property]; - css( sprite.node, update ); - - if ( end_time <= current_time && sprite.intervals.move ) { - stop_move( sprite, ikey ); - callback && callback(); - } - - }, Math.ceil(1000 / sprite.framerate) ); - } ); -} - -/** - * Stop movie - */ -function stop_all(sprite) { - clearTimeout(sprite.intervals.animate); - each( sprite.intervals.move, function( ikey ) { - clearInterval(sprite.intervals.move[ikey]); - } ); -} - -/** - * Stop move. - */ -function stop_move( sprite, ikey ) { - clearInterval(sprite.intervals.move[ikey]); -} - -/** - * Stop animate. - */ -function stop_animate(sprite) { - clearTimeout(sprite.intervals.animate); -} - -// Expose Global 'sprite' to PUBNUB -PUB['sprite'] = { - 'painter' : painter, - 'create' : create, - 'setframe' : setframe, - 'animate' : animate, - 'move' : move, - 'movie' : movie, - 'stop_all' : stop_all, - 'stop_move' : stop_move, - 'stop_animate' : stop_animate -}; - - -})(); diff --git a/core/3.3/modules/sprite.min.js b/core/3.3/modules/sprite.min.js deleted file mode 100644 index 95d7895e4..000000000 --- a/core/3.3/modules/sprite.min.js +++ /dev/null @@ -1,3 +0,0 @@ -(function(){function i(a,c,d){d=d||{};if(typeof d.top=="number")a.b.f.top=d.top;if(typeof d.left=="number")a.b.f.left=d.left;j(a.c,{backgroundPosition:"-"+(a.e.size*c+a.b.f.left)+"px -"+a.b.f.top+"px"})}function k(a,c,d,e,b){if(!b){b=0;p(a)}if(b===c.length)if(d===0)return e&&e();else{d--;b=0}var f=c[b][0]||c[b];a.a.d=setTimeout(function(){i(a,f);k(a,c,d,e,b+1)},(c[b][1]||0.1)*1E3)}function q(a,c,d,e,b){if(!b){b=0;l(a)}if(b===c.length)if(d===0)return e&&e();else{d--;b=0}if(c[b][2])k(a,c[b][2],c[b][3]|| -0);r(a,c[b][0],c[b][1],function(){q(a,c,d,e,b+1)})}function r(a,c,d,e){var b=s();l(a);t(c,function(f,m){var h=b,u=b+d,v=a[f]||0,y=m-v,w={},n=f+m;o(a,n);a.a.move[n]=setInterval(function(){h=s();a[f]=u<=h?m:y*(h-b)/d+v;w[f]=a[f];j(a.c,w);if(u<=h&&a.a.move){o(a,n);e&&e()}},Math.ceil(1E3/a.j))})}function l(a){clearTimeout(a.a.d);t(a.a.move,function(c){clearInterval(a.a.move[c])})}function o(a,c){clearInterval(a.a.move[c])}function p(a){clearTimeout(a.a.d)}var g=PUBNUB,j=g.h,t=g.i,s=g.k.now,x=g.search("body")[0]; -g.sprite={painter:function(a){x=a},create:function(a){a.a={d:0,move:{}};a.e.size=Math.floor(a.b.width/a.e.g);a.c=g.create("div");a.opacity=a.opacity||1;j(a.c,{opacity:a.opacity,position:"absolute",top:a.top,left:a.left,width:a.e.size,height:a.b.height,backgroundRepeat:"no-repeat",backgroundImage:"url("+a.b.url+")"});i(a,0);x.appendChild(a.c);return a},setframe:i,animate:k,move:r,movie:q,stop_all:l,stop_move:o,stop_animate:p}})(); diff --git a/core/3.3/modules/utility.js b/core/3.3/modules/utility.js deleted file mode 100644 index 81dc95abf..000000000 --- a/core/3.3/modules/utility.js +++ /dev/null @@ -1,121 +0,0 @@ -(function(){ - -/* ======================================================================== */ -/* ================================ UTILITY =============================== */ -/* ======================================================================== */ - -var db = this['localStorage'] -, PUB = PUBNUB -, now = function(){return+new Date} -, cookie = { - get : function(key) { - if (db) return db.getItem(key); - if ((document.cookie||'').indexOf(key) == -1) return null; - return ((document.cookie||'').match( - RegExp(key+'=([^;]+)') - )||[])[1] || null; - }, - set : function( key, value ) { - if (db) return db.setItem( key, value ); - document.cookie = key + '=' + value + - '; expires=Thu, 1 Aug 2030 20:00:00 UTC; path=/'; - } -}; - -function updater( fun, rate ) { - var timeout - , last = 0 - , runnit = function() { - var right_now = now(); - - if (last + rate > right_now) { - clearTimeout(timeout); - timeout = setTimeout( runnit, rate ); - } - else { - last = now(); - fun(); - } - }; - - // Provide Rate Limited Function Call - return runnit; -} - -function mouse(e) { - if (!e) return [[0,0]]; - - var tch = e.touches && e.touches[0] - , mpos = []; - - if (tch) { - PUB.each( e.touches, function(touch) { - mpos.push([ touch.pageX, touch.pageY ]); - } ); - } - else if (e.pageX) { - mpos.push([ e.pageX, e.pageY ]); - } - else {try{ - mpos.push([ - e.clientX + body.scrollLeft + doc.scrollLeft, - e.clientY + body.scrollTop + doc.scrollTop - ]); - }catch(e){}} - - return mpos; -} - - -/** - * OFFSET - * ====== - * offset( search('div')[0], 'Width' ); - * offset( search('div')[0], 'Height' ); - * offset( search('div')[0], 'Top' ); - * offset( search('div')[0], 'Left' ); - */ -function offset( node, what ) { - var pos = 0 - , what = what || 'Top'; - - while (node) { - pos += node['offset'+what]; - node = node.offsetParent; - } - - return pos -} - -/** - * WINFO - * ===== - * var window_info = winfot(); - * log(window_info.height); - */ -function winfo() { - return { - height : this.innerHeight || - document.documentElement.clientHeight || - document.body.clientHeight, - scrollTop : document.documentElement.scrollTop || - document.body.scrollTop, - size : offset(search('body')[0], 'Height') - } -} - - - - -// Expose Utility to PUBNUB. -PUB['utility'] = { - 'mouse' : mouse, - 'winfo' : winfo, - 'offset' : offset, - 'now' : now, - 'cookie' : cookie, - 'updater' : updater -}; - - -})(); diff --git a/core/3.3/modules/utility.min.js b/core/3.3/modules/utility.min.js deleted file mode 100644 index 93cedae42..000000000 --- a/core/3.3/modules/utility.min.js +++ /dev/null @@ -1,3 +0,0 @@ -(function(){function g(a,b){var c=0;for(b=b||"Top";a;){c+=a["offset"+b];a=a.offsetParent}return c}var e=this.localStorage,h=PUBNUB;function f(){return+new Date}h.utility={mouse:function(a){if(!a)return[[0,0]];var b=[];if(a.touches&&a.touches[0])h.a(a.touches,function(d){b.push([d.pageX,d.pageY])});else if(a.pageX)b.push([a.pageX,a.pageY]);else try{b.push([a.clientX+body.scrollLeft+doc.scrollLeft,a.clientY+body.scrollTop+doc.scrollTop])}catch(c){}return b},winfo:function(){return{height:this.innerHeight|| -document.documentElement.clientHeight||document.body.clientHeight,scrollTop:document.documentElement.scrollTop||document.body.scrollTop,size:g(search("body")[0],"Height")}},offset:g,now:f,cookie:{b:function(a){if(e)return e.getItem(a);if((document.cookie||"").indexOf(a)==-1)return null;return((document.cookie||"").match(RegExp(a+"=([^;]+)"))||[])[1]||null},c:function(a,b){if(e)return e.setItem(a,b);document.cookie=a+"="+b+"; expires=Thu, 1 Aug 2030 20:00:00 UTC; path=/"}},updater:function(a,b){var c, -d=0;function i(){if(d+b>f()){clearTimeout(c);c=setTimeout(i,b)}else{d=f();a()}}return i}}})(); diff --git a/core/3.3/pubnub-3.3.js b/core/3.3/pubnub-3.3.js deleted file mode 100644 index fc028b93e..000000000 --- a/core/3.3/pubnub-3.3.js +++ /dev/null @@ -1,1037 +0,0 @@ -/* --------------------------------------------------------------------------- -WAIT! - This file depends on instructions from the PUBNUB Cloud. -http://www.pubnub.com/account-javascript-api-include ---------------------------------------------------------------------------- */ - -/* --------------------------------------------------------------------------- -PubNub Real-time Cloud-Hosted Push API and Push Notification Client Frameworks -Copyright (c) 2011 PubNub Inc. -http://www.pubnub.com/ -http://www.pubnub.com/terms ---------------------------------------------------------------------------- */ - -/* --------------------------------------------------------------------------- -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. ---------------------------------------------------------------------------- */ - -/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= JSON =============================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -(window['JSON'] && window['JSON']['stringify']) || (function () { - window['JSON'] || (window['JSON'] = {}); - - if (typeof String.prototype.toJSON !== 'function') { - String.prototype.toJSON = - Number.prototype.toJSON = - Boolean.prototype.toJSON = function (key) { - return this.valueOf(); - }; - } - - var cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, - escapable = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, - gap, - indent, - meta = { // table of character substitutions - '\b': '\\b', - '\t': '\\t', - '\n': '\\n', - '\f': '\\f', - '\r': '\\r', - '"' : '\\"', - '\\': '\\\\' - }, - rep; - - function quote(string) { - escapable.lastIndex = 0; - return escapable.test(string) ? - '"' + string.replace(escapable, function (a) { - var c = meta[a]; - return typeof c === 'string' ? c : - '\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4); - }) + '"' : - '"' + string + '"'; - } - - - function str(key, holder) { - var i, // The loop counter. - k, // The member key. - v, // The member value. - length, - mind = gap, - partial, - value = holder[key]; - - if (value && typeof value === 'object' && - typeof value.toJSON === 'function') { - value = value.toJSON(key); - } - - if (typeof rep === 'function') { - value = rep.call(holder, key, value); - } - - switch (typeof value) { - case 'string': - return quote(value); - - case 'number': - return isFinite(value) ? String(value) : 'null'; - - case 'boolean': - case 'null': - return String(value); - - case 'object': - - if (!value) { - return 'null'; - } - - gap += indent; - partial = []; - - if (Object.prototype.toString.apply(value) === '[object Array]') { - - length = value.length; - for (i = 0; i < length; i += 1) { - partial[i] = str(i, value) || 'null'; - } - - v = partial.length === 0 ? '[]' : - gap ? '[\n' + gap + - partial.join(',\n' + gap) + '\n' + - mind + ']' : - '[' + partial.join(',') + ']'; - gap = mind; - return v; - } - if (rep && typeof rep === 'object') { - length = rep.length; - for (i = 0; i < length; i += 1) { - k = rep[i]; - if (typeof k === 'string') { - v = str(k, value); - if (v) { - partial.push(quote(k) + (gap ? ': ' : ':') + v); - } - } - } - } else { - for (k in value) { - if (Object.hasOwnProperty.call(value, k)) { - v = str(k, value); - if (v) { - partial.push(quote(k) + (gap ? ': ' : ':') + v); - } - } - } - } - - v = partial.length === 0 ? '{}' : - gap ? '{\n' + gap + partial.join(',\n' + gap) + '\n' + - mind + '}' : '{' + partial.join(',') + '}'; - gap = mind; - return v; - } - } - - if (typeof JSON['stringify'] !== 'function') { - JSON['stringify'] = function (value, replacer, space) { - var i; - gap = ''; - indent = ''; - - if (typeof space === 'number') { - for (i = 0; i < space; i += 1) { - indent += ' '; - } - } else if (typeof space === 'string') { - indent = space; - } - rep = replacer; - if (replacer && typeof replacer !== 'function' && - (typeof replacer !== 'object' || - typeof replacer.length !== 'number')) { - throw new Error('JSON.stringify'); - } - return str('', {'': value}); - }; - } - - if (typeof JSON['parse'] !== 'function') { - // JSON is parsed on the server for security. - JSON['parse'] = function (text) {return eval('('+text+')')}; - } -}()); - - -/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-======================= DOM UTIL ===========================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -window['PUBNUB'] || (function() { - -/** - * CONSOLE COMPATIBILITY - */ -window.console||(window.console=window.console||{}); -console.log||(console.log=((window.opera||{}).postError||function(){})); - -/** - * UTILITIES - */ -function unique() { return'x'+ ++NOW+''+(+new Date) } -function rnow() { return+new Date } - -/** - * LOCAL STORAGE OR COOKIE - */ -var db = (function(){ - var ls = window['localStorage']; - return { - 'get' : function(key) { - try { - if (ls) return ls.getItem(key); - if (document.cookie.indexOf(key) == -1) return null; - return ((document.cookie||'').match( - RegExp(key+'=([^;]+)') - )||[])[1] || null; - } catch(e) { return } - }, - 'set' : function( key, value ) { - try { - if (ls) return ls.setItem( key, value ) && 0; - document.cookie = key + '=' + value + - '; expires=Thu, 1 Aug 2030 20:00:00 UTC; path=/'; - } catch(e) { return } - } - }; -})(); - -/** - * UTIL LOCALS - */ -var NOW = 1 -, SWF = 'https://dh15atwfs066y.cloudfront.net/pubnub.swf' -, REPL = /{([\w\-]+)}/g -, ASYNC = 'async' -, URLBIT = '/' -, PARAMSBIT = '&' -, XHRTME = 310000 -, SECOND = 1000 -, PRESENCE_SUFFIX = '-pnpres' -, UA = navigator.userAgent -, XORIGN = UA.indexOf('MSIE 6') == -1; - -/** - * NEXTORIGIN - * ========== - * var next_origin = nextorigin(); - */ -var nextorigin = (function() { - var ori = Math.floor(Math.random() * 9) + 1; - return function(origin) { - return origin.indexOf('pubsub') > 0 - && origin.replace( - 'pubsub', 'ps' + (++ori < 10 ? ori : ori=1) - ) || origin; - } -})(); - -/** - * UPDATER - * ====== - * var timestamp = unique(); - */ -function updater( fun, rate ) { - var timeout - , last = 0 - , runnit = function() { - if (last + rate > rnow()) { - clearTimeout(timeout); - timeout = setTimeout( runnit, rate ); - } - else { - last = rnow(); - fun(); - } - }; - - return runnit; -} - -/** - * $ - * = - * var div = $('divid'); - */ -function $(id) { return document.getElementById(id) } - -/** - * LOG - * === - * log('message'); - */ -function log(message) { console['log'](message) } - -/** - * SEARCH - * ====== - * var elements = search('a div span'); - */ -function search( elements, start ) { - var list = []; - each( elements.split(/\s+/), function(el) { - each( (start || document).getElementsByTagName(el), function(node) { - list.push(node); - } ); - } ); - return list; -} - -/** - * EACH - * ==== - * each( [1,2,3], function(item) { console.log(item) } ) - */ -function each( o, f ) { - if ( !o || !f ) return; - - if ( typeof o[0] != 'undefined' ) - for ( var i = 0, l = o.length; i < l; ) - f.call( o[i], o[i], i++ ); - else - for ( var i in o ) - o.hasOwnProperty && - o.hasOwnProperty(i) && - f.call( o[i], i, o[i] ); -} - -/** - * MAP - * === - * var list = map( [1,2,3], function(item) { return item + 1 } ) - */ -function map( list, fun ) { - var fin = []; - each( list || [], function( k, v ) { fin.push(fun( k, v )) } ); - return fin; -} - -/** - * GREP - * ==== - * var list = grep( [1,2,3], function(item) { return item % 2 } ) - */ -function grep( list, fun ) { - var fin = []; - each( list || [], function(l) { fun(l) && fin.push(l) } ); - return fin -} - -/** - * SUPPLANT - * ======== - * var text = supplant( 'Hello {name}!', { name : 'John' } ) - */ -function supplant( str, values ) { - return str.replace( REPL, function( _, match ) { - return values[match] || _ - } ); -} - -/** - * BIND - * ==== - * bind( 'keydown', search('a')[0], function(element) { - * console.log( element, '1st anchor' ) - * } ); - */ -function bind( type, el, fun ) { - each( type.split(','), function(etype) { - var rapfun = function(e) { - if (!e) e = window.event; - if (!fun(e)) { - e.cancelBubble = true; - e.returnValue = false; - e.preventDefault && e.preventDefault(); - e.stopPropagation && e.stopPropagation(); - } - }; - - if ( el.addEventListener ) el.addEventListener( etype, rapfun, false ); - else if ( el.attachEvent ) el.attachEvent( 'on' + etype, rapfun ); - else el[ 'on' + etype ] = rapfun; - } ); -} - -/** - * UNBIND - * ====== - * unbind( 'keydown', search('a')[0] ); - */ -function unbind( type, el, fun ) { - if ( el.removeEventListener ) el.removeEventListener( type, false ); - else if ( el.detachEvent ) el.detachEvent( 'on' + type, false ); - else el[ 'on' + type ] = null; -} - -/** - * HEAD - * ==== - * head().appendChild(elm); - */ -function head() { return search('head')[0] } - -/** - * ATTR - * ==== - * var attribute = attr( node, 'attribute' ); - */ -function attr( node, attribute, value ) { - if (value) node.setAttribute( attribute, value ); - else return node && node.getAttribute && node.getAttribute(attribute); -} - -/** - * CSS - * === - * var obj = create('div'); - */ -function css( element, styles ) { - for (var style in styles) if (styles.hasOwnProperty(style)) - try {element.style[style] = styles[style] + ( - '|width|height|top|left|'.indexOf(style) > 0 && - typeof styles[style] == 'number' - ? 'px' : '' - )}catch(e){} -} - -/** - * CREATE - * ====== - * var obj = create('div'); - */ -function create(element) { return document.createElement(element) } - -/** - * timeout - * ======= - * timeout( function(){}, 100 ); - */ -function timeout( fun, wait ) { - return setTimeout( fun, wait ); -} - -/** - * jsonp_cb - * ======== - * var callback = jsonp_cb(); - */ -function jsonp_cb() { return XORIGN || FDomainRequest() ? 0 : unique() } - -/** - * ENCODE - * ====== - * var encoded_path = encode('path'); - */ -function encode(path) { - return map( (encodeURIComponent(path)).split(''), function(chr) { - return "-_.!~*'()".indexOf(chr) < 0 ? chr : - "%"+chr.charCodeAt(0).toString(16).toUpperCase() - } ).join(''); -} - -/** - * EVENTS - * ====== - * PUBNUB.events.bind( 'you-stepped-on-flower', function(message) { - * // Do Stuff with message - * } ); - * - * PUBNUB.events.fire( 'you-stepped-on-flower', "message-data" ); - * PUBNUB.events.fire( 'you-stepped-on-flower', {message:"data"} ); - * PUBNUB.events.fire( 'you-stepped-on-flower', [1,2,3] ); - * - */ -var events = { - 'list' : {}, - 'unbind' : function( name ) { events.list[name] = [] }, - 'bind' : function( name, fun ) { - (events.list[name] = events.list[name] || []).push(fun); - }, - 'fire' : function( name, data ) { - each( - events.list[name] || [], - function(fun) { fun(data) } - ); - } -}; - -/** - * XDR Cross Domain Request - * ======================== - * xdr({ - * url : ['http://www.blah.com/url'], - * success : function(response) {}, - * fail : function() {} - * }); - */ -function xdr( setup ) { - if (XORIGN || FDomainRequest()) return ajax(setup); - - var script = create('script') - , callback = setup.callback - , id = unique() - , finished = 0 - , timer = timeout( function(){done(1)}, XHRTME ) - , fail = setup.fail || function(){} - , success = setup.success || function(){} - - , append = function() { - head().appendChild(script); - } - - , done = function( failed, response ) { - if (finished) return; - finished = 1; - - failed || success(response); - script.onerror = null; - clearTimeout(timer); - - timeout( function() { - failed && fail(); - var s = $(id) - , p = s && s.parentNode; - p && p.removeChild(s); - }, SECOND ); - }; - - window[callback] = function(response) { - done( 0, response ); - }; - - script[ASYNC] = ASYNC; - script.onerror = function() { done(1) }; - script.src = setup.url.join(URLBIT); - if (setup.data) { - var params = []; - script.src += "?"; - for (key in setup.data) { - params.push(key+"="+setup.data[key]); - } - script.src += params.join(PARAMSBIT); - } - attr( script, 'id', id ); - - append(); - return done; -} - -/** - * CORS XHR Request - * ================ - * xdr({ - * url : ['http://www.blah.com/url'], - * success : function(response) {}, - * fail : function() {} - * }); - */ -function ajax( setup ) { - var xhr, response - , finished = function() { - if (loaded) return; - loaded = 1; - - clearTimeout(timer); - - try { response = JSON['parse'](xhr.responseText); } - catch (r) { return done(1); } - - success(response); - } - , complete = 0 - , loaded = 0 - , timer = timeout( function(){done(1)}, XHRTME ) - , fail = setup.fail || function(){} - , success = setup.success || function(){} - , done = function(failed) { - if (complete) return; - complete = 1; - - clearTimeout(timer); - - if (xhr) { - xhr.onerror = xhr.onload = null; - xhr.abort && xhr.abort(); - xhr = null; - } - - failed && fail(); - }; - - // Send - try { - xhr = FDomainRequest() || - window.XDomainRequest && - new XDomainRequest() || - new XMLHttpRequest(); - - xhr.onerror = xhr.onabort = function(){ done(1) }; - xhr.onload = xhr.onloadend = finished; - xhr.timeout = XHRTME; - - var url = setup.url.join(URLBIT); - if (setup.data) { - var params = []; - var key; - url += "?"; - for (key in setup.data) { - params.push(key+"="+setup.data[key]); - } - url += params.join(PARAMSBIT); - } - - xhr.open( 'GET', url, true ); - xhr.send(); - } - catch(eee) { - done(0); - XORIGN = 0; - return xdr(setup); - } - - // Return 'done' - return done; -} - - -/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= PUBNUB ===========================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -var PDIV = $('pubnub') || {} -, READY = 0 -, READY_BUFFER = [] -, CREATE_PUBNUB = function(setup) { - var CHANNELS = {} - , PUBLISH_KEY = setup['publish_key'] || '' - , SUBSCRIBE_KEY = setup['subscribe_key'] || '' - , SSL = setup['ssl'] ? 's' : '' - , UUID = setup['uuid'] || db.get(SUBSCRIBE_KEY+'uuid') || '' - , ORIGIN = 'http'+SSL+'://'+(setup['origin']||'pubsub.pubnub.com') - , SELF = { - /* - PUBNUB.history({ - channel : 'my_chat_channel', - limit : 100, - callback : function(messages) { console.log(messages) } - }); - */ - 'history' : function( args, callback ) { - var callback = args['callback'] || callback - , limit = args['limit'] || 100 - , channel = args['channel'] - , jsonp = jsonp_cb(); - - // Make sure we have a Channel - if (!channel) return log('Missing Channel'); - if (!callback) return log('Missing Callback'); - if (!SUBSCRIBE_KEY) return log('Missing Subscribe Key'); - - // Send Message - xdr({ - callback : jsonp, - url : [ - ORIGIN, 'history', - SUBSCRIBE_KEY, encode(channel), - jsonp, limit - ], - success : function(response) { callback(response) }, - fail : function(response) { log(response) } - }); - }, - - /* - PUBNUB.detailedHistory({ - channel : 'my_chat_channel', - count : 100, - callback : function(messages) { console.log(messages) } - }); - */ - 'detailedHistory' : function( args, callback ) { - var callback = args['callback'] || callback - , count = args['count'] || 100 - , channel = args['channel'] - , reverse = args['reverse'] || "false" - , start = args['start'] - , end = args['end'] - , jsonp = jsonp_cb(); - - // Make sure we have a Channel - if (!channel) return log('Missing Channel'); - if (!callback) return log('Missing Callback'); - if (!SUBSCRIBE_KEY) return log('Missing Subscribe Key'); - - var params = {}; - params["count"] = count; - params["reverse"] = reverse; - if (start) - params["start"] = start; - if (end) - params["end"] = end; - - // Send Message - xdr({ - callback : jsonp, - url : [ - ORIGIN, 'v2', 'history', - 'sub-key', SUBSCRIBE_KEY, 'channel', encode(channel) - ], - data : params, - success : function(response) { callback(response) }, - fail : function(response) { log(response) } - }); - }, - - /* - PUBNUB.time(function(time){ console.log(time) }); - */ - 'time' : function(callback) { - var jsonp = jsonp_cb(); - xdr({ - callback : jsonp, - url : [ORIGIN, 'time', jsonp], - success : function(response) { callback(response[0]) }, - fail : function() { callback(0) } - }); - }, - - /* - PUBNUB.uuid(function(uuid) { console.log(uuid) }); - */ - 'uuid' : function(callback) { - var u = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) { - var r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8); - return v.toString(16); - }); - if (callback) callback(u); - return u; - }, - - /* - PUBNUB.publish({ - channel : 'my_chat_channel', - message : 'hello!' - }); - */ - 'publish' : function( args, callback ) { - var callback = callback || args['callback'] || function(){} - , message = args['message'] - , channel = args['channel'] - , jsonp = jsonp_cb() - , url; - - if (!message) return log('Missing Message'); - if (!channel) return log('Missing Channel'); - if (!PUBLISH_KEY) return log('Missing Publish Key'); - if (!SUBSCRIBE_KEY) return log('Missing Subscribe Key'); - - // If trying to send Object - message = JSON['stringify'](message); - - // Create URL - url = [ - ORIGIN, 'publish', - PUBLISH_KEY, SUBSCRIBE_KEY, - 0, encode(channel), - jsonp, encode(message) - ]; - - // Send Message - xdr({ - callback : jsonp, - success : function(response) { callback(response) }, - fail : function() { callback([ 0, 'Disconnected' ]) }, - url : url, - data : { uuid: UUID } - }); - }, - /* - PUBNUB.unsubscribe({ channel : 'my_chat' }); - */ - 'unsubscribe' : function(args) { - // Unsubscribe from both the Channel and the Presence Channel - _unsubscribe(args['channel']); - _unsubscribe(args['channel'] + PRESENCE_SUFFIX); - - function _unsubscribe(channel) { - // Leave if there never was a channel. - if (!(channel in CHANNELS)) return; - - // Disable Channel - CHANNELS[channel].connected = 0; - - // Abort and Remove Script - CHANNELS[channel].done && - CHANNELS[channel].done(0); - } - }, - - /* - PUBNUB.subscribe({ - channel : 'my_chat' - callback : function(message) { console.log(message) } - }); - */ - 'subscribe' : function( args, callback ) { - var channel = args['channel'] - , callback = callback || args['callback'] - , subscribe_key= args['subscribe_key'] || SUBSCRIBE_KEY - , restore = args['restore'] - , timetoken = 0 - , error = args['error'] || function(){} - , connect = args['connect'] || function(){} - , reconnect = args['reconnect'] || function(){} - , disconnect = args['disconnect'] || function(){} - , presence = args['presence'] || function(){} - , disconnected = 0 - , connected = 0 - , origin = nextorigin(ORIGIN); - - // Reduce Status Flicker - if (!READY) return READY_BUFFER.push([ args, callback, SELF ]); - - // Make sure we have a Channel - if (!channel) return log('Missing Channel'); - if (!callback) return log('Missing Callback'); - if (!SUBSCRIBE_KEY) return log('Missing Subscribe Key'); - - if (!(channel in CHANNELS)) CHANNELS[channel] = {}; - - // Make sure we have a Channel - if (CHANNELS[channel].connected) return log('Already Connected'); - CHANNELS[channel].connected = 1; - - // Recurse Subscribe - function _connect() { - var jsonp = jsonp_cb(); - - // Stop Connection - if (!CHANNELS[channel].connected) return; - - // Connect to PubNub Subscribe Servers - CHANNELS[channel].done = xdr({ - callback : jsonp, - url : [ - origin, 'subscribe', - subscribe_key, encode(channel), - jsonp, timetoken - ], - data : { uuid: UUID }, - fail : function() { - // Disconnect - if (!disconnected) { - disconnected = 1; - disconnect(); - } - timeout( _connect, SECOND ); - SELF['time'](function(success){ - // Reconnect - if (success && disconnected) { - disconnected = 0; - reconnect(); - } - else { - error(); - } - }); - }, - success : function(messages) { - if (!CHANNELS[channel].connected) return; - - // Connect - if (!connected) { - connected = 1; - connect(); - } - - // Reconnect - if (disconnected) { - disconnected = 0; - reconnect(); - } - - // Restore Previous Connection Point if Needed - // Also Update Timetoken - restore = db.set( - SUBSCRIBE_KEY + channel, - timetoken = restore && db.get( - subscribe_key + channel - ) || messages[1] - ); - - each( messages[0], function(msg) { - callback( msg, messages ); - } ); - - timeout( _connect, 10 ); - } - }); - } - - // Presence Subscribe - if (args['presence']) SELF.subscribe({ - channel : args['channel'] + PRESENCE_SUFFIX, - callback : presence, - restore : args['restore'] - }); - - // Begin Recursive Subscribe - _connect(); - }, - 'here_now' : function( args, callback ) { - var callback = args['callback'] || callback - , channel = args['channel'] - , jsonp = jsonp_cb() - , origin = nextorigin(ORIGIN); - - // Make sure we have a Channel - if (!channel) return log('Missing Channel'); - if (!callback) return log('Missing Callback'); - if (!SUBSCRIBE_KEY) return log('Missing Subscribe Key'); - - data = null; - if (jsonp != '0') { data['callback']=jsonp; } - - // Send Message - xdr({ - callback : jsonp, - url : [ - origin, 'v2', 'presence', - 'sub_key', SUBSCRIBE_KEY, - 'channel', encode(channel) - ], - data: data, - success : function(response) { callback(response) }, - fail : function(response) { log(response) } - }); - }, - - // Expose PUBNUB Functions - 'xdr' : xdr, - 'ready' : ready, - 'db' : db, - 'each' : each, - 'map' : map, - 'css' : css, - '$' : $, - 'create' : create, - 'bind' : bind, - 'supplant' : supplant, - 'head' : head, - 'search' : search, - 'attr' : attr, - 'now' : rnow, - 'unique' : unique, - 'events' : events, - 'updater' : updater, - 'init' : CREATE_PUBNUB - }; - - if (UUID == '') UUID = SELF.uuid(); - db.set(SUBSCRIBE_KEY+'uuid', UUID); - - return SELF; -}; - -// CREATE A PUBNUB GLOBAL OBJECT -PUBNUB = CREATE_PUBNUB({ - 'publish_key' : attr( PDIV, 'pub-key' ), - 'subscribe_key' : attr( PDIV, 'sub-key' ), - 'ssl' : attr( PDIV, 'ssl' ) == 'on', - 'origin' : attr( PDIV, 'origin' ), - 'uuid' : attr( PDIV, 'uuid' ) -}); - -// PUBNUB Flash Socket -css( PDIV, { 'position' : 'absolute', 'top' : -SECOND } ); - -if ('opera' in window || attr( PDIV, 'flash' )) PDIV['innerHTML'] = - ''; - -var pubnubs = $('pubnubs') || {}; - -// PUBNUB READY TO CONNECT -function ready() { PUBNUB['time'](rnow); -PUBNUB['time'](function(t){ timeout( function() { - if (READY) return; - READY = 1; - each( READY_BUFFER, function(sub) { - sub[2]['subscribe']( sub[0], sub[1] ) - } ); -}, SECOND ); }); } - -// Bind for PUBNUB Readiness to Subscribe -bind( 'load', window, function(){ timeout( ready, 0 ) } ); - -// Create Interface for Opera Flash -PUBNUB['rdx'] = function( id, data ) { - if (!data) return FDomainRequest[id]['onerror'](); - FDomainRequest[id]['responseText'] = unescape(data); - FDomainRequest[id]['onload'](); -}; - -function FDomainRequest() { - if (!pubnubs['get']) return 0; - - var fdomainrequest = { - 'id' : FDomainRequest['id']++, - 'send' : function() {}, - 'abort' : function() { fdomainrequest['id'] = {} }, - 'open' : function( method, url ) { - FDomainRequest[fdomainrequest['id']] = fdomainrequest; - pubnubs['get']( fdomainrequest['id'], url ); - } - }; - - return fdomainrequest; -} -FDomainRequest['id'] = SECOND; - -// jQuery Interface -window['jQuery'] && (window['jQuery']['PUBNUB'] = PUBNUB); - -// For Testling.js - http://testling.com/ -typeof module !== 'undefined' && (module.exports = PUBNUB) && ready(); - -})(); diff --git a/core/3.3/pubnub-3.3.min.js b/core/3.3/pubnub-3.3.min.js deleted file mode 100644 index f004c32eb..000000000 --- a/core/3.3/pubnub-3.3.min.js +++ /dev/null @@ -1,19 +0,0 @@ -window.JSON&&window.JSON.stringify||function(){function u(c){w.lastIndex=0;return w.test(c)?'"'+c.replace(w,function(c){var d=D[c];return"string"===typeof d?d:"\\u"+("0000"+c.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+c+'"'}function q(r,p){var d,g,j,m,t=i,l,e=p[r];e&&("object"===typeof e&&"function"===typeof e.toJSON)&&(e=e.toJSON(r));"function"===typeof k&&(e=k.call(p,r,e));switch(typeof e){case "string":return u(e);case "number":return isFinite(e)?String(e):"null";case "boolean":case "null":return String(e); -case "object":if(!e)return"null";i+=c;l=[];if("[object Array]"===Object.prototype.toString.apply(e)){m=e.length;for(d=0;dq()?(clearTimeout(h),h=setTimeout(c,b)):(s=q(),a())};return c}function i(a){return document.getElementById(a)}function c(a){console.log(a)}function D(a,b){var h=[];k(a.split(/\s+/),function(a){k((b||document).getElementsByTagName(a),function(a){h.push(a)})});return h}function k(a,b){if(a&&b)if("undefined"!=typeof a[0])for(var h=0,c=a.length;h"-_.!~*'()".indexOf(a)?a:"%"+a.charCodeAt(0).toString(16).toUpperCase()}).join("")} -function v(a){if(G||n()){a:{var b,c,e=function(){if(!l){l=1;clearTimeout(k);try{c=JSON.parse(b.responseText)}catch(a){return z(1)}X(c)}},d=0,l=0,k=setTimeout(function(){z(1)},H),p=a.fail||function(){},X=a.success||function(){},z=function(a){d||(d=1,clearTimeout(k),b&&(b.onerror=b.onload=null,b.abort&&b.abort(),b=null),a&&p())};try{b=n()||window.XDomainRequest&&new XDomainRequest||new XMLHttpRequest;b.onerror=b.onabort=function(){z(1)};b.onload=b.onloadend=e;b.timeout=H;url=a.url.join(M);if(a.data){e= -[];url+="?";for(key in a.data)e.push(key+"="+a.data[key]);url+=e.join(N)}b.open("GET",url,!0);b.send()}catch(O){z(0);G=0;a=v(a);break a}a=z}return a}var f=t("script"),e=a.callback,P=u(),Q=0,q=setTimeout(function(){E(1)},H),r=a.fail||function(){},Y=a.success||function(){},E=function(a,b){Q||(Q=1,a||Y(b),f.onerror=null,clearTimeout(q),setTimeout(function(){a&&r();var b=i(P),c=b&&b.parentNode;c&&c.removeChild(b)},B))};window[e]=function(a){E(0,a)};f[R]=R;f.onerror=function(){E(1)};f.src=a.url.join(M); -if(a.data){e=[];f.src+="?";for(key in a.data)e.push(key+"="+a.data[key]);f.src+=e.join(N)}j(f,"id",P);g().appendChild(f);return E}function I(){PUBNUB.time(q);PUBNUB.time(function(){setTimeout(function(){J||(J=1,k(S,function(a){a[2].subscribe(a[0],a[1])}))},B)})}function n(){if(!T.get)return 0;var a={id:n.id++,send:function(){},abort:function(){a.id={}},open:function(b,c){n[a.id]=a;T.get(a.id,c)}};return a}window.console||(window.console=window.console||{});console.log||(console.log=(window.opera|| -{}).postError||function(){});var y,F=window.localStorage;y={get:function(a){try{return F?F.getItem(a):-1==document.cookie.indexOf(a)?null:((document.cookie||"").match(RegExp(a+"=([^;]+)"))||[])[1]||null}catch(b){}},set:function(a,b){try{if(F)return F.setItem(a,b)&&0;document.cookie=a+"="+b+"; expires=Thu, 1 Aug 2030 20:00:00 UTC; path=/"}catch(c){}}};var V=1,W=/{([\w\-]+)}/g,R="async",M="/",N="&",H=31E4,B=1E3,G=-1==navigator.userAgent.indexOf("MSIE 6"),K,L=Math.floor(9*Math.random())+1;K=function(a){return 0< -a.indexOf("pubsub")&&a.replace("pubsub","ps"+(10>++L?L:L=1))||a};var C={list:{},unbind:function(a){C.list[a]=[]},bind:function(a,b){(C.list[a]=C.list[a]||[]).push(b)},fire:function(a,b){k(C.list[a]||[],function(a){a(b)})}},o=i("pubnub")||{},J=0,S=[],U=function(a){var b={},h=a.publish_key||"",s=a.subscribe_key||"",n=a.ssl?"s":"",o=a.uuid||y.get(s+"uuid")||"",x="http"+n+"://"+(a.origin||"pubsub.pubnub.com"),A={history:function(a,b){var b=a.callback||b,O=a.limit||100,f=a.channel,d=l();if(!f)return c("Missing Channel"); -if(!b)return c("Missing Callback");v({callback:d,url:[x,"history",s,e(f),d,O],success:function(a){b(a)},fail:function(a){c(a)}})},detailedHistory:function(a,b){var b=a.callback||b,d=a.count||100,f=a.channel,h=a.reverse||"false",i=a.start,k=a.end,j=l();if(!f)return c("Missing Channel");if(!b)return c("Missing Callback");var g={};g.count=d;g.reverse=h;i&&(g.start=i);k&&(g.end=k);v({callback:j,url:[x,"v2","history","sub-key",s,"channel",e(f)],data:g,success:function(a){b(a)},fail:function(a){c(a)}})}, -time:function(a){var b=l();v({callback:b,url:[x,"time",b],success:function(b){a(b[0])},fail:function(){a(0)}})},uuid:function(a){var b="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});a&&a(b);return b},publish:function(a,b){var b=b||a.callback||function(){},d=a.message,f=a.channel,g=l();if(!d)return c("Missing Message");if(!f)return c("Missing Channel");if(!h)return c("Missing Publish Key");d=JSON.stringify(d);d=[x,"publish", -h,s,0,e(f),g,e(d)];v({callback:g,success:function(a){b(a)},fail:function(){b([0,"Disconnected"])},url:d,data:{uuid:o}})},unsubscribe:function(a){function c(a){a in b&&(b[a].connected=0,b[a].done&&b[a].done(0))}c(a.channel);c(a.channel+"-pnpres")},subscribe:function(a,d){function g(){var a=l();b[f].connected&&(b[f].done=v({callback:a,url:[w,"subscribe",h,e(f),a,j],data:{uuid:o},fail:function(){m||(m=1,r());setTimeout(g,B);A.time(function(a){if(a&&m){m=0;n()}else p()})},success:function(a){b[f].connected&& -(t||(t=1,q()),m&&(m=0,n()),i=y.set(s+f,j=i&&y.get(h+f)||a[1]),k(a[0],function(b){d(b,a)}),setTimeout(g,10))}}))}var f=a.channel,d=d||a.callback,h=a.subscribe_key||s,i=a.restore,j=0,p=a.error||function(){},q=a.connect||function(){},n=a.reconnect||function(){},r=a.disconnect||function(){},u=a.presence||function(){},m=0,t=0,w=K(x);if(!J)return S.push([a,d,A]);if(!f)return c("Missing Channel");if(!d)return c("Missing Callback");if(!s)return c("Missing Subscribe Key");f in b||(b[f]={});if(b[f].connected)return c("Already Connected"); -b[f].connected=1;a.presence&&A.subscribe({channel:a.channel+"-pnpres",callback:u,restore:a.restore});g()},here_now:function(a,b){var b=a.callback||b,d=a.channel,f=l(),g=K(x);if(!d)return c("Missing Channel");if(!b)return c("Missing Callback");data=null;"0"!=f&&(data.callback=f);v({callback:f,url:[g,"v2","presence","sub_key",s,"channel",e(d)],data:data,success:function(a){b(a)},fail:function(a){c(a)}})},xdr:v,ready:I,db:y,each:k,map:r,css:m,$:i,create:t,bind:d,supplant:p,head:g,search:D,attr:j,now:q, -unique:u,events:C,updater:w,init:U};""==o&&(o=A.uuid());y.set(s+"uuid",o);return A};PUBNUB=U({publish_key:j(o,"pub-key"),subscribe_key:j(o,"sub-key"),ssl:"on"==j(o,"ssl"),origin:j(o,"origin"),uuid:j(o,"uuid")});m(o,{position:"absolute",top:-B});if("opera"in window||j(o,"flash"))o.innerHTML="";var T=i("pubnubs")|| -{};d("load",window,function(){setTimeout(I,0)});PUBNUB.rdx=function(a,b){if(!b)return n[a].onerror();n[a].responseText=unescape(b);n[a].onload()};n.id=B;window.jQuery&&(window.jQuery.PUBNUB=PUBNUB);"undefined"!==typeof module&&(module.exports=PUBNUB)&&I()}(); diff --git a/core/3.3/pubnub.as b/core/3.3/pubnub.as deleted file mode 100644 index a10e99855..000000000 --- a/core/3.3/pubnub.as +++ /dev/null @@ -1,47 +0,0 @@ -package { - import flash.external.ExternalInterface; - import flash.display.Sprite; - import flash.net.URLLoader; - import flash.net.URLRequest; - import flash.events.Event; - import flash.events.IOErrorEvent; - import flash.events.SecurityErrorEvent; - import flash.system.Security; - import flash.utils.setTimeout; - - public class pubnub extends Sprite { - - Security.allowDomain("*"); - Security.allowInsecureDomain("*"); - - ExternalInterface.addCallback( "get", function( - id:Number, - url:String - ):void { - function handler(e:Event):void { - var loader:URLLoader = URLLoader(e.target) - , data:String = loader.data - , timeout:int = 1; - - if (e.type == 'securityError') { - data = '[1,"S"]'; - timeout = 1000; - } - - setTimeout( function delayed():void { - ExternalInterface.call( "PUBNUB.rdx", id, escape(data) ); - loader.close(); - }, timeout ); - } - - var loader:URLLoader = new URLLoader(); - - loader.addEventListener( Event.COMPLETE, handler ); - loader.addEventListener( IOErrorEvent.IO_ERROR, handler ); - loader.addEventListener( - SecurityErrorEvent.SECURITY_ERROR, handler - ); - loader.load(new URLRequest(url)); - }); - } -} diff --git a/core/3.3/pubnub.swf b/core/3.3/pubnub.swf deleted file mode 100644 index 1fce400b076e99ebd892f5f34ef50511e638cd1c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1140 zcmV-)1dIDaS5pay1^@tf+FevjZ`(!?-XSTDo_@%V;zyh)b`mF!tcTMUu;BF?|K9Icy)EmY8vlJ`vc#O zC{3dxY~cu329;X5MntBu)$@FZ%R2A(ZOh;xU1hW$oO;IVAwLuAJ(~xo+m%aTm?JG| zi~1AO>x$x@Ek?yh#V42f5juv1VDnOF{mLf=lm1#5-RYx4C;V;3uNqd>+N#+mS{tMSV|niyO64aidzR z#WF(gcIAKF9(!njb=H`At8TMh<;S0Y{W7i6gmwC>iJxjLdj5X#}{(G9Vx`QtJ zZT3iGj6AI8b4S$J6f1|oPndS*S*HGc;BJf zZGNsF_I*o=F+4aAq;Qgl!WfYE9M&@2w!LA)bGYTsMEiX=2%{qQO^nNor0`vCPdCS# zeV5iAH-vg3WQLpOE+u!l@jCtD=;`yLr)A$9DWsV?!}~&`W^v6Rh;Dn_6n?_6y+EX5 za#zUIQTyN^is+L2M5)R1zQ_e*olW2OeEh0bT0UGp&cs;*Y1u(K5b~wv2)f;93OcSZ zL7=eUp|XMMBUC>^_2cj=GX)ftDdCL;&}j4SfrOsYm=^6Ip#fcd6_Tlii)sf; z*;W#wB?X;yX?h1*8Rb*rN|%6aaB{(*^^gmZ>oY7 zzt1}gEk8J_V1GIw*l}Jk8+tQ)d5B|VD!thVa0eVMie4+-oXs%`m2QRpyKm9ajtfWZ z#*VTk;32=hL@=#YAUWC;Q}S$%(Xr;4w!kKssxnZuRJ!+S?Vm`(;``!%g#~xi*mInJ zmS?0PEU9(0-VIvS){+vLH+#3Pn#JDjE9UWXDEiqlv{oQepyk;erY^E91BKmX)N2hO zmDVq+7yDsL5(+?a<$~07?o~Uh)z1BD=RvizR_*BY` - - - PubNub JavaScript HEAD INIT TEST - - - - -
- -

Head Test

-
Wait here for an alert() message.
- -
-
- diff --git a/core/3.3/tests/head.load.min.js b/core/3.3/tests/head.load.min.js deleted file mode 100644 index 6242b0fad..000000000 --- a/core/3.3/tests/head.load.min.js +++ /dev/null @@ -1,8 +0,0 @@ -/** - Head JS The only script in your - Copyright Tero Piirainen (tipiirai) - License MIT / http://bit.ly/mit-license - Version 0.96 - - http://headjs.com -*/(function(a){function z(){d||(d=!0,s(e,function(a){p(a)}))}function y(c,d){var e=a.createElement("script");e.type="text/"+(c.type||"javascript"),e.src=c.src||c,e.async=!1,e.onreadystatechange=e.onload=function(){var a=e.readyState;!d.done&&(!a||/loaded|complete/.test(a))&&(d.done=!0,d())},(a.body||b).appendChild(e)}function x(a,b){if(a.state==o)return b&&b();if(a.state==n)return k.ready(a.name,b);if(a.state==m)return a.onpreload.push(function(){x(a,b)});a.state=n,y(a.url,function(){a.state=o,b&&b(),s(g[a.name],function(a){p(a)}),u()&&d&&s(g.ALL,function(a){p(a)})})}function w(a,b){a.state===undefined&&(a.state=m,a.onpreload=[],y({src:a.url,type:"cache"},function(){v(a)}))}function v(a){a.state=l,s(a.onpreload,function(a){a.call()})}function u(a){a=a||h;var b;for(var c in a){if(a.hasOwnProperty(c)&&a[c].state!=o)return!1;b=!0}return b}function t(a){return Object.prototype.toString.call(a)=="[object Function]"}function s(a,b){if(!!a){typeof a=="object"&&(a=[].slice.call(a));for(var c=0;c - - - PubNub JavaScript MailTO Fix - - -
- - -
- × -

PubNub MailTO Test for JavaScript on Mobile and Desktop Web Browser

-
- - - -
0
- -
- - -
- diff --git a/core/3.3/tests/presence-ssl.html b/core/3.3/tests/presence-ssl.html deleted file mode 100644 index b9461c9df..000000000 --- a/core/3.3/tests/presence-ssl.html +++ /dev/null @@ -1,60 +0,0 @@ - - - - - PubNub Presence SSL Test - - - - - - - -
- Open the - Developers Console - and watch the presence events section to ensure join/leave. -
- - - - -
- - - - - diff --git a/core/3.3/tests/ssl-test.html b/core/3.3/tests/ssl-test.html deleted file mode 100644 index 196cfd2bd..000000000 --- a/core/3.3/tests/ssl-test.html +++ /dev/null @@ -1,54 +0,0 @@ - - - -
- -
- - - - - - diff --git a/core/3.3/tests/test.js b/core/3.3/tests/test.js deleted file mode 100644 index d0f13de44..000000000 --- a/core/3.3/tests/test.js +++ /dev/null @@ -1,79 +0,0 @@ -var test = require('testling'); -var channel = 'unit-test-pubnub-channel'; - -test('PUBNUB JavaScript API', function (test) { - var pubnub = PUBNUB.init({ - publish_key : 'demo', - subscribe_key : 'demo' - }); - - test.plan(15); - - test.ok(PUBNUB); - - test.ok(pubnub); - test.ok(pubnub.publish); - test.ok(pubnub.subscribe); - test.ok(pubnub.history); - test.ok(pubnub.detailedHistory); - test.ok(pubnub.time); - - function publish_test() { - pubnub.publish({ - channel : channel, - message : { test : "test" }, - callback : function(response) { - test.ok(response[0]); - test.equal( response[1], 'Sent' ); - } - }); - } - - function time_test() { - pubnub.time(function(time){ - test.ok(time); - uuid_test(); - }); - } - - function uuid_test() { - pubnub.uuid(function(uuid){ - test.ok(uuid); - history_test(); - }); - } - - function history_test(history) { - pubnub.history({ - limit : 1, - channel : channel, - callback : function(messages) { - test.ok(messages); - test.equal( messages[0].test, "test" ); - test.end(); - } - }); - } - - function detailedHistory_test(history) { - pubnub.detailedHistory({ - count : 1, - channel : channel, - callback : function(messages) { - test.ok(messages); - test.equal( messages[0][0].test, "test" ); - test.end(); - } - }); - } - pubnub.subscribe({ - channel : channel, - connect : publish_test, - callback : function(message) { - test.ok(message); - test.equal( message.test, "test" ); - time_test(); - } - }); -}); - diff --git a/core/3.3/tests/test.sh b/core/3.3/tests/test.sh deleted file mode 100755 index 824d95b24..000000000 --- a/core/3.3/tests/test.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/bin/bash - -## ------------------------------------------------ -## PubNub 3.3 Real-time Cloud Push API - JAVASCRIPT -## ------------------------------------------------ - -## ---------------------------------------------------- -## -## TESTLING - PubNub JavaScript API for Web Browsers -## uses Testling Cloud Service -## for QA and Deployment. -## -## http://www.testling.com/ -## You need this to run './test.sh' unit test. -## -## ---------------------------------------------------- - -if [ -z "$1" ] -then - echo -e "\n\tUSER:PASSWD Required: http://testling.com/\n" - exit -fi - -browsers='firefox/3.6' -browsers=$browsers',firefox/9.0' -browsers=$browsers',firefox/10.0' -browsers=$browsers',chrome/16.0' -browsers=$browsers',chrome/17.0' -browsers=$browsers',iexplore/7.0' -browsers=$browsers',iexplore/8.0' -browsers=$browsers',iexplore/9.0' -browsers=$browsers',safari/5.1' - -echo -e "Testing: $browsers" - -cat ../pubnub-3.3.js test.js | - curl -u $1 -sSNT- \ - "testling.com/?noinstrument&browsers=$browsers" - diff --git a/core/3.3/tests/unit-test.html b/core/3.3/tests/unit-test.html deleted file mode 100644 index 803897046..000000000 --- a/core/3.3/tests/unit-test.html +++ /dev/null @@ -1,246 +0,0 @@ - - - - - PubNub JavaScript Unit Test - - - - -
- - -
- × -

PubNub Unit Tests for JavaScript on Mobile and Desktop Web Browser

-
- - -
- - - 100% Successful - Finished With Errors - ... -
- - - -
Pass/FailTest Ready -
- - - - -
- - -
- diff --git a/core/3.4.1/README.md b/core/3.4.1/README.md deleted file mode 100644 index 5477b9d60..000000000 --- a/core/3.4.1/README.md +++ /dev/null @@ -1,348 +0,0 @@ -# YOU MUST HAVE A PUBNUB ACCOUNT TO USE THE API. -http://www.pubnub.com/account - -## PubNub 3.4.1 Real-time Cloud Push API - JAVASCRIPT -http://www.pubnub.com - PubNub Real-time Push Service in the Cloud. -http://www.pubnub.com/tutorial/javascript-push-api - -PubNub is a blazingly fast cloud-hosted messaging service for building -real-time web and mobile apps. Hundreds of apps and thousands of developers -rely on PubNub for delivering human-perceptive real-time -experiences that scale to millions of users worldwide. PubNub delivers -the infrastructure needed to build amazing MMO games, social apps, -business collaborative solutions, and more. - -## SIMPLE EXAMPLE -```html -
- - -``` - -## ADVANCED STYLE -```html -
- - -``` - -## HISTORY AND HERE-NOW EXAMPLE -```html -Click Me for Here Now! -Click Me for History! - - -``` - -## SSL MODE -```html -
- - -``` - -## HISTORY -```html -
- - -``` - - -## REPLAY -```html -
- - -``` - -## WebSocket Client Interface - -Optionally PubNub offers you the full RFC 6455 -Support for WebSocket Client Specification. -PubNub WebSockets enables any browser (modern or not) to support -the HTML5 WebSocket standard APIs. -Use the WebSocket Client Directly in your Browser that -Now you can use `new WebSocket` anywhere! - -Here is a quick example: - -```javascript -var socket = new WebSocket('wss://pubsub.pubnub.com/PUB/SUB/CHANNEL') -``` - -The following example opens a `new WebSocket` in -**WSS Secure Socket Mode** with full **2048 Bit SSL** Encryption. - -```html - - - - - - - - -``` - -#### To Disable SSL WSS Secure Sockets: - -```html - - - - - - - - -``` - -## Using the PUBNUB init() Function - -Sometimes you want to use create a PubNub Instance directly in JavaScript -and pass the PubNub API Keys without using a DOM element. -To do this, simply follow this `init` example: - -```html - - -``` - -## Using with AES256 Encryption -This client now supports AES256 encryption out of the box! -And its super-easy to use! Check out the -file encrypted_chat_demo.html for a working example of -using encryption between this and other PubNub clients. - -##### Important Highlights - -1. Be sure to include the base pubnub.js, -gibberish, and encryption adapter: - -```html - - - -``` - -2. When instantiating your PubNub instance object, -use the .secure method instead of the .init method: - -```javascript -var cipher_key = "enigma"; -var secure_pubnub = PUBNUB.secure({ - publish_key : "demo", - subscribe_key : "demo", - cipher_key : cipher_key -}); -``` - -That's pretty much it. -Use subscribe, publish, and history as you would normally, -only the implementation is different, -being that the message traffic is now encrypted. - -## SUPER ADVANCED SETTINGS - -#### KEEPALIVE - -The JavaScript library will automatically detect disconnects -in near real-time. -However there are extra rare cases where `keepalives` are used -to detect disconnections of the network connection. -Optionally you may sacrafice bandwidth and reduce battery life -by lowering the `keepalive` value. -By reducing the `keepalive` you receive -greater percision to detect rare edge-case drops. -The Default `keepalive` is *60 seconds*. -**Reducing this value to 30 seconds will help detect -only the rare edge-case network problems -sooner under rare network disruption situations.** -It is not a good idea to reduce this value lower. -If you need it lower more, you must contact PubNub first. -Again, the JavaScript library will automatically -detect disconnects in near real-time anyway, -so it is not necessary to reduce this value further. - -```javascript -var pubnub = PUBNUB.init({ - keepalive : 30, - publish_key : 'demo', - subscribe_key : 'demo' -}); -``` - -#### WINDOWING AND MESSAGE ORDERING - -PubNub JavaScript library includes a `windowing` feature that will -automatically allow the PubNub Network the window time needed -to bundle, compress and optimize messages for high-throughput. -This means that if you specify a long window, you will be able to -receive significant performance imporvements and optimized performance. -Also with high throughput applications with many messages per second, -a long enough window will all the right amount of time for the PubNub Network -to order the messsage delivery. - - diff --git a/core/3.4.1/build-minify-pubnub b/core/3.4.1/build-minify-pubnub deleted file mode 100755 index 5950cd27e..000000000 --- a/core/3.4.1/build-minify-pubnub +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/bash - -echo $1 - -googleminify=$1 - -if [ -z "$googleminify" ]; then googleminify="/opt/minify/compiler.jar"; fi - -echo -e " " -echo -e " USING: $googleminify TO MINIFY..." -echo -e " COMPILING PUBNUB JAVASCRIPT API..." - -cat ./json.js ./websocket.js ./pubnub-3.4.1.js > ./pubnub.tmp -echo "(function(){" > ./pubnub-3.4.1.min.js -java -jar $googleminify --js=./pubnub.tmp --compilation_level=ADVANCED_OPTIMIZATIONS >> ./pubnub-3.4.1.min.js -echo "})();" >> ./pubnub-3.4.1.min.js - -echo -e " >>COMPRESSING<< PUBNUB JAVASCRIPT API..." -cat ./pubnub-3.4.1.min.js | gzip -c9 > ./pubnub-3.4.1.min.js.gz - -rm ./pubnub.tmp -echo -e " " -echo -e " DONE!\n" diff --git a/core/3.4.1/crypto/encrypt-pubnub.js b/core/3.4.1/crypto/encrypt-pubnub.js deleted file mode 100644 index 8663b5202..000000000 --- a/core/3.4.1/crypto/encrypt-pubnub.js +++ /dev/null @@ -1,238 +0,0 @@ -// ===================================================================== -// STANFORD CRYPTO Library with AES Encryption -// ===================================================================== - -PUBNUB.secure = (function () { - - GibberishAES.size(256); - var cipher_key = ""; - var iv = GibberishAES.s2a("0123456789012345"); - - - function encrypt(data) { - - var hex_message = GibberishAES.s2a(JSON.stringify(data)); - var encryptedHexArray = GibberishAES.rawEncrypt(hex_message, cipher_key, iv); - var base_64_encrypted = GibberishAES.Base64.encode(encryptedHexArray); - return base_64_encrypted || data.data.message; - } - - function decrypt(data, options) { - options = options ? options : {}; - - try { - var binary_enc = GibberishAES.Base64.decode(data); - var json_plain = GibberishAES.rawDecrypt(binary_enc, cipher_key, iv, false); - var plaintext = JSON.parse(json_plain); - - return plaintext; - } - catch (e) { - return options.parse_error || null; - } - } - - - return function (setup) { - - cipher_key = GibberishAES.s2a(SHA256(setup.cipher_key).slice(0,32)); - - var pubnub = PUBNUB.init(setup); - - return { - time: PUBNUB.time, - - publish: function (args) { - args.message = encrypt(args.message); - return pubnub.publish(args); - }, - subscribe: function (args) { - var callback = args.callback; - args.callback = function (message, envelope, channel) { - var decrypted = decrypt(message); - decrypted && callback(decrypted, envelope, channel); - } - - return pubnub.subscribe(args); - }, - history: function (args) { - - var encrypted_messages = ""; - var old_callback = args.callback; - - function new_callback(response) { - encrypted_messages = response[0]; - - var decrypted_messages = []; - - for (a = 0; a < encrypted_messages.length; a++) { - var new_message = decrypt(encrypted_messages[a], {"parse_error":"DECRYPT_ERROR"}); - decrypted_messages.push((new_message)); - } - - old_callback([decrypted_messages, response[1], response[2]]); - } - - args.callback = new_callback; - - pubnub.history(args); - - return true; - }, - - raw_encrypt: encrypt, - raw_decrypt: decrypt - }; - }; -})(); - -/** - * - * Secure Hash Algorithm (SHA256) - * http://www.webtoolkit.info/ - * - * Original code by Angel Marin, Paul Johnston. - * - **/ - -function SHA256(s) { - - var chrsz = 8; - var hexcase = 0; - - function safe_add(x, y) { - var lsw = (x & 0xFFFF) + (y & 0xFFFF); - var msw = (x >> 16) + (y >> 16) + (lsw >> 16); - return (msw << 16) | (lsw & 0xFFFF); - } - - function S(X, n) { - return ( X >>> n ) | (X << (32 - n)); - } - - function R(X, n) { - return ( X >>> n ); - } - - function Ch(x, y, z) { - return ((x & y) ^ ((~x) & z)); - } - - function Maj(x, y, z) { - return ((x & y) ^ (x & z) ^ (y & z)); - } - - function Sigma0256(x) { - return (S(x, 2) ^ S(x, 13) ^ S(x, 22)); - } - - function Sigma1256(x) { - return (S(x, 6) ^ S(x, 11) ^ S(x, 25)); - } - - function Gamma0256(x) { - return (S(x, 7) ^ S(x, 18) ^ R(x, 3)); - } - - function Gamma1256(x) { - return (S(x, 17) ^ S(x, 19) ^ R(x, 10)); - } - - function core_sha256(m, l) { - var K = new Array(0x428A2F98, 0x71374491, 0xB5C0FBCF, 0xE9B5DBA5, 0x3956C25B, 0x59F111F1, 0x923F82A4, 0xAB1C5ED5, 0xD807AA98, 0x12835B01, 0x243185BE, 0x550C7DC3, 0x72BE5D74, 0x80DEB1FE, 0x9BDC06A7, 0xC19BF174, 0xE49B69C1, 0xEFBE4786, 0xFC19DC6, 0x240CA1CC, 0x2DE92C6F, 0x4A7484AA, 0x5CB0A9DC, 0x76F988DA, 0x983E5152, 0xA831C66D, 0xB00327C8, 0xBF597FC7, 0xC6E00BF3, 0xD5A79147, 0x6CA6351, 0x14292967, 0x27B70A85, 0x2E1B2138, 0x4D2C6DFC, 0x53380D13, 0x650A7354, 0x766A0ABB, 0x81C2C92E, 0x92722C85, 0xA2BFE8A1, 0xA81A664B, 0xC24B8B70, 0xC76C51A3, 0xD192E819, 0xD6990624, 0xF40E3585, 0x106AA070, 0x19A4C116, 0x1E376C08, 0x2748774C, 0x34B0BCB5, 0x391C0CB3, 0x4ED8AA4A, 0x5B9CCA4F, 0x682E6FF3, 0x748F82EE, 0x78A5636F, 0x84C87814, 0x8CC70208, 0x90BEFFFA, 0xA4506CEB, 0xBEF9A3F7, 0xC67178F2); - var HASH = new Array(0x6A09E667, 0xBB67AE85, 0x3C6EF372, 0xA54FF53A, 0x510E527F, 0x9B05688C, 0x1F83D9AB, 0x5BE0CD19); - var W = new Array(64); - var a, b, c, d, e, f, g, h, i, j; - var T1, T2; - - m[l >> 5] |= 0x80 << (24 - l % 32); - m[((l + 64 >> 9) << 4) + 15] = l; - - for (var i = 0; i < m.length; i += 16) { - a = HASH[0]; - b = HASH[1]; - c = HASH[2]; - d = HASH[3]; - e = HASH[4]; - f = HASH[5]; - g = HASH[6]; - h = HASH[7]; - - for (var j = 0; j < 64; j++) { - if (j < 16) W[j] = m[j + i]; - else W[j] = safe_add(safe_add(safe_add(Gamma1256(W[j - 2]), W[j - 7]), Gamma0256(W[j - 15])), W[j - 16]); - - T1 = safe_add(safe_add(safe_add(safe_add(h, Sigma1256(e)), Ch(e, f, g)), K[j]), W[j]); - T2 = safe_add(Sigma0256(a), Maj(a, b, c)); - - h = g; - g = f; - f = e; - e = safe_add(d, T1); - d = c; - c = b; - b = a; - a = safe_add(T1, T2); - } - - HASH[0] = safe_add(a, HASH[0]); - HASH[1] = safe_add(b, HASH[1]); - HASH[2] = safe_add(c, HASH[2]); - HASH[3] = safe_add(d, HASH[3]); - HASH[4] = safe_add(e, HASH[4]); - HASH[5] = safe_add(f, HASH[5]); - HASH[6] = safe_add(g, HASH[6]); - HASH[7] = safe_add(h, HASH[7]); - } - return HASH; - } - - function str2binb(str) { - var bin = Array(); - var mask = (1 << chrsz) - 1; - for (var i = 0; i < str.length * chrsz; i += chrsz) { - bin[i >> 5] |= (str.charCodeAt(i / chrsz) & mask) << (24 - i % 32); - } - return bin; - } - - function Utf8Encode(string) { - string = string.replace(/\r\n/g, "\n"); - var utftext = ""; - - for (var n = 0; n < string.length; n++) { - - var c = string.charCodeAt(n); - - if (c < 128) { - utftext += String.fromCharCode(c); - } - else if ((c > 127) && (c < 2048)) { - utftext += String.fromCharCode((c >> 6) | 192); - utftext += String.fromCharCode((c & 63) | 128); - } - else { - utftext += String.fromCharCode((c >> 12) | 224); - utftext += String.fromCharCode(((c >> 6) & 63) | 128); - utftext += String.fromCharCode((c & 63) | 128); - } - - } - - return utftext; - } - - function binb2hex(binarray) { - var hex_tab = hexcase ? "0123456789ABCDEF" : "0123456789abcdef"; - var str = ""; - for (var i = 0; i < binarray.length * 4; i++) { - str += hex_tab.charAt((binarray[i >> 2] >> ((3 - i % 4) * 8 + 4)) & 0xF) + - hex_tab.charAt((binarray[i >> 2] >> ((3 - i % 4) * 8 )) & 0xF); - } - return str; - } - - s = Utf8Encode(s); - return binb2hex(core_sha256(str2binb(s), s.length * chrsz)); - -} \ No newline at end of file diff --git a/core/3.4.1/crypto/gibberish-aes.js b/core/3.4.1/crypto/gibberish-aes.js deleted file mode 100755 index c83cb3b6d..000000000 --- a/core/3.4.1/crypto/gibberish-aes.js +++ /dev/null @@ -1,998 +0,0 @@ -/** -* @license Gibberish-AES -* A lightweight Javascript Libray for OpenSSL compatible AES CBC encryption. -* -* Author: Mark Percival -* Email: mark@mpercival.com -* Copyright: Mark Percival - http://mpercival.com 2008 -* -* With thanks to: -* Josh Davis - http://www.josh-davis.org/ecmaScrypt -* Chris Veness - http://www.movable-type.co.uk/scripts/aes.html -* Michel I. Gallant - http://www.jensign.com/ -* Jean-Luc Cooke 2012-07-12: added strhex + invertArr to compress G2X/G3X/G9X/GBX/GEX/SBox/SBoxInv/Rcon saving over 7KB, and added encString, decString, also made the MD5 routine more easlier compressible using yuicompressor. -* -* License: MIT -* -* Usage: GibberishAES.enc("secret", "password") -* Outputs: AES Encrypted text encoded in Base64 -*/ - - -var GibberishAES = (function(){ - var Nr = 14, - /* Default to 256 Bit Encryption */ - Nk = 8, - Decrypt = false, - - enc_utf8 = function(s) - { - try { - return unescape(encodeURIComponent(s)); - } - catch(e) { - throw 'Error on UTF-8 encode'; - } - }, - - dec_utf8 = function(s) - { - try { - return decodeURIComponent(escape(s)); - } - catch(e) { - throw ('Bad Key'); - } - }, - - padBlock = function(byteArr) - { - var array = [], cpad, i; - if (byteArr.length < 16) { - cpad = 16 - byteArr.length; - array = [cpad, cpad, cpad, cpad, cpad, cpad, cpad, cpad, cpad, cpad, cpad, cpad, cpad, cpad, cpad, cpad]; - } - for (i = 0; i < byteArr.length; i++) - { - array[i] = byteArr[i]; - } - return array; - }, - - block2s = function(block, lastBlock) - { - var string = '', padding, i; - if (lastBlock) { - padding = block[15]; - if (padding > 16) { - throw ('Decryption error: Maybe bad key'); - } - if (padding == 16) { - return ''; - } - for (i = 0; i < 16 - padding; i++) { - string += String.fromCharCode(block[i]); - } - } else { - for (i = 0; i < 16; i++) { - string += String.fromCharCode(block[i]); - } - } - return string; - }, - - a2h = function(numArr) - { - var string = '', i; - for (i = 0; i < numArr.length; i++) { - string += (numArr[i] < 16 ? '0': '') + numArr[i].toString(16); - } - return string; - }, - - h2a = function(s) - { - var ret = []; - s.replace(/(..)/g, - function(s) { - ret.push(parseInt(s, 16)); - }); - return ret; - }, - - s2a = function(string, binary) { - var array = [], i; - - if (! binary) { - string = enc_utf8(string); - } - - for (i = 0; i < string.length; i++) - { - array[i] = string.charCodeAt(i); - } - - return array; - }, - - size = function(newsize) - { - switch (newsize) - { - case 128: - Nr = 10; - Nk = 4; - break; - case 192: - Nr = 12; - Nk = 6; - break; - case 256: - Nr = 14; - Nk = 8; - break; - default: - throw ('Invalid Key Size Specified:' + newsize); - } - }, - - randArr = function(num) { - var result = [], i; - for (i = 0; i < num; i++) { - result = result.concat(Math.floor(Math.random() * 256)); - } - return result; - }, - - openSSLKey = function(passwordArr, saltArr) { - // Number of rounds depends on the size of the AES in use - // 3 rounds for 256 - // 2 rounds for the key, 1 for the IV - // 2 rounds for 128 - // 1 round for the key, 1 round for the IV - // 3 rounds for 192 since it's not evenly divided by 128 bits - var rounds = Nr >= 12 ? 3: 2, - key = [], - iv = [], - md5_hash = [], - result = [], - data00 = passwordArr.concat(saltArr), - i; - md5_hash[0] = GibberishAES.Hash.MD5(data00); - result = md5_hash[0]; - for (i = 1; i < rounds; i++) { - md5_hash[i] = GibberishAES.Hash.MD5(md5_hash[i - 1].concat(data00)); - result = result.concat(md5_hash[i]); - } - key = result.slice(0, 4 * Nk); - iv = result.slice(4 * Nk, 4 * Nk + 16); - return { - key: key, - iv: iv - }; - }, - - rawEncrypt = function(plaintext, key, iv) { - // plaintext, key and iv as byte arrays - key = expandKey(key); - var numBlocks = Math.ceil(plaintext.length / 16), - blocks = [], - i, - cipherBlocks = []; - for (i = 0; i < numBlocks; i++) { - blocks[i] = padBlock(plaintext.slice(i * 16, i * 16 + 16)); - } - if (plaintext.length % 16 === 0) { - blocks.push([16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16]); - // CBC OpenSSL padding scheme - numBlocks++; - } - for (i = 0; i < blocks.length; i++) { - blocks[i] = (i === 0) ? xorBlocks(blocks[i], iv) : xorBlocks(blocks[i], cipherBlocks[i - 1]); - cipherBlocks[i] = encryptBlock(blocks[i], key); - } - return cipherBlocks; - }, - - rawDecrypt = function(cryptArr, key, iv, binary) { - // cryptArr, key and iv as byte arrays - key = expandKey(key); - var numBlocks = cryptArr.length / 16, - cipherBlocks = [], - i, - plainBlocks = [], - string = ''; - for (i = 0; i < numBlocks; i++) { - cipherBlocks.push(cryptArr.slice(i * 16, (i + 1) * 16)); - } - for (i = cipherBlocks.length - 1; i >= 0; i--) { - plainBlocks[i] = decryptBlock(cipherBlocks[i], key); - plainBlocks[i] = (i === 0) ? xorBlocks(plainBlocks[i], iv) : xorBlocks(plainBlocks[i], cipherBlocks[i - 1]); - } - for (i = 0; i < numBlocks - 1; i++) { - string += block2s(plainBlocks[i]); - } - string += block2s(plainBlocks[i], true); - return binary ? string : dec_utf8(string); - }, - - encryptBlock = function(block, words) { - Decrypt = false; - var state = addRoundKey(block, words, 0), - round; - for (round = 1; round < (Nr + 1); round++) { - state = subBytes(state); - state = shiftRows(state); - if (round < Nr) { - state = mixColumns(state); - } - //last round? don't mixColumns - state = addRoundKey(state, words, round); - } - - return state; - }, - - decryptBlock = function(block, words) { - Decrypt = true; - var state = addRoundKey(block, words, Nr), - round; - for (round = Nr - 1; round > -1; round--) { - state = shiftRows(state); - state = subBytes(state); - state = addRoundKey(state, words, round); - if (round > 0) { - state = mixColumns(state); - } - //last round? don't mixColumns - } - - return state; - }, - - subBytes = function(state) { - var S = Decrypt ? SBoxInv: SBox, - temp = [], - i; - for (i = 0; i < 16; i++) { - temp[i] = S[state[i]]; - } - return temp; - }, - - shiftRows = function(state) { - var temp = [], - shiftBy = Decrypt ? [0, 13, 10, 7, 4, 1, 14, 11, 8, 5, 2, 15, 12, 9, 6, 3] : [0, 5, 10, 15, 4, 9, 14, 3, 8, 13, 2, 7, 12, 1, 6, 11], - i; - for (i = 0; i < 16; i++) { - temp[i] = state[shiftBy[i]]; - } - return temp; - }, - - mixColumns = function(state) { - var t = [], - c; - if (!Decrypt) { - for (c = 0; c < 4; c++) { - t[c * 4] = G2X[state[c * 4]] ^ G3X[state[1 + c * 4]] ^ state[2 + c * 4] ^ state[3 + c * 4]; - t[1 + c * 4] = state[c * 4] ^ G2X[state[1 + c * 4]] ^ G3X[state[2 + c * 4]] ^ state[3 + c * 4]; - t[2 + c * 4] = state[c * 4] ^ state[1 + c * 4] ^ G2X[state[2 + c * 4]] ^ G3X[state[3 + c * 4]]; - t[3 + c * 4] = G3X[state[c * 4]] ^ state[1 + c * 4] ^ state[2 + c * 4] ^ G2X[state[3 + c * 4]]; - } - }else { - for (c = 0; c < 4; c++) { - t[c*4] = GEX[state[c*4]] ^ GBX[state[1+c*4]] ^ GDX[state[2+c*4]] ^ G9X[state[3+c*4]]; - t[1+c*4] = G9X[state[c*4]] ^ GEX[state[1+c*4]] ^ GBX[state[2+c*4]] ^ GDX[state[3+c*4]]; - t[2+c*4] = GDX[state[c*4]] ^ G9X[state[1+c*4]] ^ GEX[state[2+c*4]] ^ GBX[state[3+c*4]]; - t[3+c*4] = GBX[state[c*4]] ^ GDX[state[1+c*4]] ^ G9X[state[2+c*4]] ^ GEX[state[3+c*4]]; - } - } - - return t; - }, - - addRoundKey = function(state, words, round) { - var temp = [], - i; - for (i = 0; i < 16; i++) { - temp[i] = state[i] ^ words[round][i]; - } - return temp; - }, - - xorBlocks = function(block1, block2) { - var temp = [], - i; - for (i = 0; i < 16; i++) { - temp[i] = block1[i] ^ block2[i]; - } - return temp; - }, - - expandKey = function(key) { - // Expects a 1d number array - var w = [], - temp = [], - i, - r, - t, - flat = [], - j; - - for (i = 0; i < Nk; i++) { - r = [key[4 * i], key[4 * i + 1], key[4 * i + 2], key[4 * i + 3]]; - w[i] = r; - } - - for (i = Nk; i < (4 * (Nr + 1)); i++) { - w[i] = []; - for (t = 0; t < 4; t++) { - temp[t] = w[i - 1][t]; - } - if (i % Nk === 0) { - temp = subWord(rotWord(temp)); - temp[0] ^= Rcon[i / Nk - 1]; - } else if (Nk > 6 && i % Nk == 4) { - temp = subWord(temp); - } - for (t = 0; t < 4; t++) { - w[i][t] = w[i - Nk][t] ^ temp[t]; - } - } - for (i = 0; i < (Nr + 1); i++) { - flat[i] = []; - for (j = 0; j < 4; j++) { - flat[i].push(w[i * 4 + j][0], w[i * 4 + j][1], w[i * 4 + j][2], w[i * 4 + j][3]); - } - } - return flat; - }, - - subWord = function(w) { - // apply SBox to 4-byte word w - for (var i = 0; i < 4; i++) { - w[i] = SBox[w[i]]; - } - return w; - }, - - rotWord = function(w) { - // rotate 4-byte word w left by one byte - var tmp = w[0], - i; - for (i = 0; i < 4; i++) { - w[i] = w[i + 1]; - } - w[3] = tmp; - return w; - }, - -// jlcooke: 2012-07-12: added strhex + invertArr to compress G2X/G3X/G9X/GBX/GEX/SBox/SBoxInv/Rcon saving over 7KB, and added encString, decString - strhex = function(str,size) { - var ret = []; - for (i=0; i0x7f) ? 0x11b^(a<<1) : (a<<1); - b >>>= 1; - } - - return ret; - }, - Gx = function(x) { - var r = []; - for (var i=0; i<256; i++) - r[i] = Gxx(x, i); - return r; - }, - - // S-box -/* - SBox = [ - 99, 124, 119, 123, 242, 107, 111, 197, 48, 1, 103, 43, 254, 215, 171, - 118, 202, 130, 201, 125, 250, 89, 71, 240, 173, 212, 162, 175, 156, 164, - 114, 192, 183, 253, 147, 38, 54, 63, 247, 204, 52, 165, 229, 241, 113, - 216, 49, 21, 4, 199, 35, 195, 24, 150, 5, 154, 7, 18, 128, 226, - 235, 39, 178, 117, 9, 131, 44, 26, 27, 110, 90, 160, 82, 59, 214, - 179, 41, 227, 47, 132, 83, 209, 0, 237, 32, 252, 177, 91, 106, 203, - 190, 57, 74, 76, 88, 207, 208, 239, 170, 251, 67, 77, 51, 133, 69, - 249, 2, 127, 80, 60, 159, 168, 81, 163, 64, 143, 146, 157, 56, 245, - 188, 182, 218, 33, 16, 255, 243, 210, 205, 12, 19, 236, 95, 151, 68, - 23, 196, 167, 126, 61, 100, 93, 25, 115, 96, 129, 79, 220, 34, 42, - 144, 136, 70, 238, 184, 20, 222, 94, 11, 219, 224, 50, 58, 10, 73, - 6, 36, 92, 194, 211, 172, 98, 145, 149, 228, 121, 231, 200, 55, 109, - 141, 213, 78, 169, 108, 86, 244, 234, 101, 122, 174, 8, 186, 120, 37, - 46, 28, 166, 180, 198, 232, 221, 116, 31, 75, 189, 139, 138, 112, 62, - 181, 102, 72, 3, 246, 14, 97, 53, 87, 185, 134, 193, 29, 158, 225, - 248, 152, 17, 105, 217, 142, 148, 155, 30, 135, 233, 206, 85, 40, 223, - 140, 161, 137, 13, 191, 230, 66, 104, 65, 153, 45, 15, 176, 84, 187, - 22], //*/ SBox = strhex('637c777bf26b6fc53001672bfed7ab76ca82c97dfa5947f0add4a2af9ca472c0b7fd9326363ff7cc34a5e5f171d8311504c723c31896059a071280e2eb27b27509832c1a1b6e5aa0523bd6b329e32f8453d100ed20fcb15b6acbbe394a4c58cfd0efaafb434d338545f9027f503c9fa851a3408f929d38f5bcb6da2110fff3d2cd0c13ec5f974417c4a77e3d645d197360814fdc222a908846eeb814de5e0bdbe0323a0a4906245cc2d3ac629195e479e7c8376d8dd54ea96c56f4ea657aae08ba78252e1ca6b4c6e8dd741f4bbd8b8a703eb5664803f60e613557b986c11d9ee1f8981169d98e949b1e87e9ce5528df8ca1890dbfe6426841992d0fb054bb16',2), - - // Precomputed lookup table for the inverse SBox -/* SBoxInv = [ - 82, 9, 106, 213, 48, 54, 165, 56, 191, 64, 163, 158, 129, 243, 215, - 251, 124, 227, 57, 130, 155, 47, 255, 135, 52, 142, 67, 68, 196, 222, - 233, 203, 84, 123, 148, 50, 166, 194, 35, 61, 238, 76, 149, 11, 66, - 250, 195, 78, 8, 46, 161, 102, 40, 217, 36, 178, 118, 91, 162, 73, - 109, 139, 209, 37, 114, 248, 246, 100, 134, 104, 152, 22, 212, 164, 92, - 204, 93, 101, 182, 146, 108, 112, 72, 80, 253, 237, 185, 218, 94, 21, - 70, 87, 167, 141, 157, 132, 144, 216, 171, 0, 140, 188, 211, 10, 247, - 228, 88, 5, 184, 179, 69, 6, 208, 44, 30, 143, 202, 63, 15, 2, - 193, 175, 189, 3, 1, 19, 138, 107, 58, 145, 17, 65, 79, 103, 220, - 234, 151, 242, 207, 206, 240, 180, 230, 115, 150, 172, 116, 34, 231, 173, - 53, 133, 226, 249, 55, 232, 28, 117, 223, 110, 71, 241, 26, 113, 29, - 41, 197, 137, 111, 183, 98, 14, 170, 24, 190, 27, 252, 86, 62, 75, - 198, 210, 121, 32, 154, 219, 192, 254, 120, 205, 90, 244, 31, 221, 168, - 51, 136, 7, 199, 49, 177, 18, 16, 89, 39, 128, 236, 95, 96, 81, - 127, 169, 25, 181, 74, 13, 45, 229, 122, 159, 147, 201, 156, 239, 160, - 224, 59, 77, 174, 42, 245, 176, 200, 235, 187, 60, 131, 83, 153, 97, - 23, 43, 4, 126, 186, 119, 214, 38, 225, 105, 20, 99, 85, 33, 12, - 125], //*/ SBoxInv = invertArr(SBox), - - // Rijndael Rcon -/* - Rcon = [1, 2, 4, 8, 16, 32, 64, 128, 27, 54, 108, 216, 171, 77, 154, 47, 94, - 188, 99, 198, 151, 53, 106, 212, 179, 125, 250, 239, 197, 145], -//*/ Rcon = strhex('01020408102040801b366cd8ab4d9a2f5ebc63c697356ad4b37dfaefc591',2), - -/* - G2X = [ - 0x00, 0x02, 0x04, 0x06, 0x08, 0x0a, 0x0c, 0x0e, 0x10, 0x12, 0x14, 0x16, - 0x18, 0x1a, 0x1c, 0x1e, 0x20, 0x22, 0x24, 0x26, 0x28, 0x2a, 0x2c, 0x2e, - 0x30, 0x32, 0x34, 0x36, 0x38, 0x3a, 0x3c, 0x3e, 0x40, 0x42, 0x44, 0x46, - 0x48, 0x4a, 0x4c, 0x4e, 0x50, 0x52, 0x54, 0x56, 0x58, 0x5a, 0x5c, 0x5e, - 0x60, 0x62, 0x64, 0x66, 0x68, 0x6a, 0x6c, 0x6e, 0x70, 0x72, 0x74, 0x76, - 0x78, 0x7a, 0x7c, 0x7e, 0x80, 0x82, 0x84, 0x86, 0x88, 0x8a, 0x8c, 0x8e, - 0x90, 0x92, 0x94, 0x96, 0x98, 0x9a, 0x9c, 0x9e, 0xa0, 0xa2, 0xa4, 0xa6, - 0xa8, 0xaa, 0xac, 0xae, 0xb0, 0xb2, 0xb4, 0xb6, 0xb8, 0xba, 0xbc, 0xbe, - 0xc0, 0xc2, 0xc4, 0xc6, 0xc8, 0xca, 0xcc, 0xce, 0xd0, 0xd2, 0xd4, 0xd6, - 0xd8, 0xda, 0xdc, 0xde, 0xe0, 0xe2, 0xe4, 0xe6, 0xe8, 0xea, 0xec, 0xee, - 0xf0, 0xf2, 0xf4, 0xf6, 0xf8, 0xfa, 0xfc, 0xfe, 0x1b, 0x19, 0x1f, 0x1d, - 0x13, 0x11, 0x17, 0x15, 0x0b, 0x09, 0x0f, 0x0d, 0x03, 0x01, 0x07, 0x05, - 0x3b, 0x39, 0x3f, 0x3d, 0x33, 0x31, 0x37, 0x35, 0x2b, 0x29, 0x2f, 0x2d, - 0x23, 0x21, 0x27, 0x25, 0x5b, 0x59, 0x5f, 0x5d, 0x53, 0x51, 0x57, 0x55, - 0x4b, 0x49, 0x4f, 0x4d, 0x43, 0x41, 0x47, 0x45, 0x7b, 0x79, 0x7f, 0x7d, - 0x73, 0x71, 0x77, 0x75, 0x6b, 0x69, 0x6f, 0x6d, 0x63, 0x61, 0x67, 0x65, - 0x9b, 0x99, 0x9f, 0x9d, 0x93, 0x91, 0x97, 0x95, 0x8b, 0x89, 0x8f, 0x8d, - 0x83, 0x81, 0x87, 0x85, 0xbb, 0xb9, 0xbf, 0xbd, 0xb3, 0xb1, 0xb7, 0xb5, - 0xab, 0xa9, 0xaf, 0xad, 0xa3, 0xa1, 0xa7, 0xa5, 0xdb, 0xd9, 0xdf, 0xdd, - 0xd3, 0xd1, 0xd7, 0xd5, 0xcb, 0xc9, 0xcf, 0xcd, 0xc3, 0xc1, 0xc7, 0xc5, - 0xfb, 0xf9, 0xff, 0xfd, 0xf3, 0xf1, 0xf7, 0xf5, 0xeb, 0xe9, 0xef, 0xed, - 0xe3, 0xe1, 0xe7, 0xe5 - ], //*/ G2X = Gx(2), - -/* G3X = [ - 0x00, 0x03, 0x06, 0x05, 0x0c, 0x0f, 0x0a, 0x09, 0x18, 0x1b, 0x1e, 0x1d, - 0x14, 0x17, 0x12, 0x11, 0x30, 0x33, 0x36, 0x35, 0x3c, 0x3f, 0x3a, 0x39, - 0x28, 0x2b, 0x2e, 0x2d, 0x24, 0x27, 0x22, 0x21, 0x60, 0x63, 0x66, 0x65, - 0x6c, 0x6f, 0x6a, 0x69, 0x78, 0x7b, 0x7e, 0x7d, 0x74, 0x77, 0x72, 0x71, - 0x50, 0x53, 0x56, 0x55, 0x5c, 0x5f, 0x5a, 0x59, 0x48, 0x4b, 0x4e, 0x4d, - 0x44, 0x47, 0x42, 0x41, 0xc0, 0xc3, 0xc6, 0xc5, 0xcc, 0xcf, 0xca, 0xc9, - 0xd8, 0xdb, 0xde, 0xdd, 0xd4, 0xd7, 0xd2, 0xd1, 0xf0, 0xf3, 0xf6, 0xf5, - 0xfc, 0xff, 0xfa, 0xf9, 0xe8, 0xeb, 0xee, 0xed, 0xe4, 0xe7, 0xe2, 0xe1, - 0xa0, 0xa3, 0xa6, 0xa5, 0xac, 0xaf, 0xaa, 0xa9, 0xb8, 0xbb, 0xbe, 0xbd, - 0xb4, 0xb7, 0xb2, 0xb1, 0x90, 0x93, 0x96, 0x95, 0x9c, 0x9f, 0x9a, 0x99, - 0x88, 0x8b, 0x8e, 0x8d, 0x84, 0x87, 0x82, 0x81, 0x9b, 0x98, 0x9d, 0x9e, - 0x97, 0x94, 0x91, 0x92, 0x83, 0x80, 0x85, 0x86, 0x8f, 0x8c, 0x89, 0x8a, - 0xab, 0xa8, 0xad, 0xae, 0xa7, 0xa4, 0xa1, 0xa2, 0xb3, 0xb0, 0xb5, 0xb6, - 0xbf, 0xbc, 0xb9, 0xba, 0xfb, 0xf8, 0xfd, 0xfe, 0xf7, 0xf4, 0xf1, 0xf2, - 0xe3, 0xe0, 0xe5, 0xe6, 0xef, 0xec, 0xe9, 0xea, 0xcb, 0xc8, 0xcd, 0xce, - 0xc7, 0xc4, 0xc1, 0xc2, 0xd3, 0xd0, 0xd5, 0xd6, 0xdf, 0xdc, 0xd9, 0xda, - 0x5b, 0x58, 0x5d, 0x5e, 0x57, 0x54, 0x51, 0x52, 0x43, 0x40, 0x45, 0x46, - 0x4f, 0x4c, 0x49, 0x4a, 0x6b, 0x68, 0x6d, 0x6e, 0x67, 0x64, 0x61, 0x62, - 0x73, 0x70, 0x75, 0x76, 0x7f, 0x7c, 0x79, 0x7a, 0x3b, 0x38, 0x3d, 0x3e, - 0x37, 0x34, 0x31, 0x32, 0x23, 0x20, 0x25, 0x26, 0x2f, 0x2c, 0x29, 0x2a, - 0x0b, 0x08, 0x0d, 0x0e, 0x07, 0x04, 0x01, 0x02, 0x13, 0x10, 0x15, 0x16, - 0x1f, 0x1c, 0x19, 0x1a - ], //*/ G3X = Gx(3), - -/* - G9X = [ - 0x00, 0x09, 0x12, 0x1b, 0x24, 0x2d, 0x36, 0x3f, 0x48, 0x41, 0x5a, 0x53, - 0x6c, 0x65, 0x7e, 0x77, 0x90, 0x99, 0x82, 0x8b, 0xb4, 0xbd, 0xa6, 0xaf, - 0xd8, 0xd1, 0xca, 0xc3, 0xfc, 0xf5, 0xee, 0xe7, 0x3b, 0x32, 0x29, 0x20, - 0x1f, 0x16, 0x0d, 0x04, 0x73, 0x7a, 0x61, 0x68, 0x57, 0x5e, 0x45, 0x4c, - 0xab, 0xa2, 0xb9, 0xb0, 0x8f, 0x86, 0x9d, 0x94, 0xe3, 0xea, 0xf1, 0xf8, - 0xc7, 0xce, 0xd5, 0xdc, 0x76, 0x7f, 0x64, 0x6d, 0x52, 0x5b, 0x40, 0x49, - 0x3e, 0x37, 0x2c, 0x25, 0x1a, 0x13, 0x08, 0x01, 0xe6, 0xef, 0xf4, 0xfd, - 0xc2, 0xcb, 0xd0, 0xd9, 0xae, 0xa7, 0xbc, 0xb5, 0x8a, 0x83, 0x98, 0x91, - 0x4d, 0x44, 0x5f, 0x56, 0x69, 0x60, 0x7b, 0x72, 0x05, 0x0c, 0x17, 0x1e, - 0x21, 0x28, 0x33, 0x3a, 0xdd, 0xd4, 0xcf, 0xc6, 0xf9, 0xf0, 0xeb, 0xe2, - 0x95, 0x9c, 0x87, 0x8e, 0xb1, 0xb8, 0xa3, 0xaa, 0xec, 0xe5, 0xfe, 0xf7, - 0xc8, 0xc1, 0xda, 0xd3, 0xa4, 0xad, 0xb6, 0xbf, 0x80, 0x89, 0x92, 0x9b, - 0x7c, 0x75, 0x6e, 0x67, 0x58, 0x51, 0x4a, 0x43, 0x34, 0x3d, 0x26, 0x2f, - 0x10, 0x19, 0x02, 0x0b, 0xd7, 0xde, 0xc5, 0xcc, 0xf3, 0xfa, 0xe1, 0xe8, - 0x9f, 0x96, 0x8d, 0x84, 0xbb, 0xb2, 0xa9, 0xa0, 0x47, 0x4e, 0x55, 0x5c, - 0x63, 0x6a, 0x71, 0x78, 0x0f, 0x06, 0x1d, 0x14, 0x2b, 0x22, 0x39, 0x30, - 0x9a, 0x93, 0x88, 0x81, 0xbe, 0xb7, 0xac, 0xa5, 0xd2, 0xdb, 0xc0, 0xc9, - 0xf6, 0xff, 0xe4, 0xed, 0x0a, 0x03, 0x18, 0x11, 0x2e, 0x27, 0x3c, 0x35, - 0x42, 0x4b, 0x50, 0x59, 0x66, 0x6f, 0x74, 0x7d, 0xa1, 0xa8, 0xb3, 0xba, - 0x85, 0x8c, 0x97, 0x9e, 0xe9, 0xe0, 0xfb, 0xf2, 0xcd, 0xc4, 0xdf, 0xd6, - 0x31, 0x38, 0x23, 0x2a, 0x15, 0x1c, 0x07, 0x0e, 0x79, 0x70, 0x6b, 0x62, - 0x5d, 0x54, 0x4f, 0x46 - ], //*/ G9X = Gx(9), - -/* GBX = [ - 0x00, 0x0b, 0x16, 0x1d, 0x2c, 0x27, 0x3a, 0x31, 0x58, 0x53, 0x4e, 0x45, - 0x74, 0x7f, 0x62, 0x69, 0xb0, 0xbb, 0xa6, 0xad, 0x9c, 0x97, 0x8a, 0x81, - 0xe8, 0xe3, 0xfe, 0xf5, 0xc4, 0xcf, 0xd2, 0xd9, 0x7b, 0x70, 0x6d, 0x66, - 0x57, 0x5c, 0x41, 0x4a, 0x23, 0x28, 0x35, 0x3e, 0x0f, 0x04, 0x19, 0x12, - 0xcb, 0xc0, 0xdd, 0xd6, 0xe7, 0xec, 0xf1, 0xfa, 0x93, 0x98, 0x85, 0x8e, - 0xbf, 0xb4, 0xa9, 0xa2, 0xf6, 0xfd, 0xe0, 0xeb, 0xda, 0xd1, 0xcc, 0xc7, - 0xae, 0xa5, 0xb8, 0xb3, 0x82, 0x89, 0x94, 0x9f, 0x46, 0x4d, 0x50, 0x5b, - 0x6a, 0x61, 0x7c, 0x77, 0x1e, 0x15, 0x08, 0x03, 0x32, 0x39, 0x24, 0x2f, - 0x8d, 0x86, 0x9b, 0x90, 0xa1, 0xaa, 0xb7, 0xbc, 0xd5, 0xde, 0xc3, 0xc8, - 0xf9, 0xf2, 0xef, 0xe4, 0x3d, 0x36, 0x2b, 0x20, 0x11, 0x1a, 0x07, 0x0c, - 0x65, 0x6e, 0x73, 0x78, 0x49, 0x42, 0x5f, 0x54, 0xf7, 0xfc, 0xe1, 0xea, - 0xdb, 0xd0, 0xcd, 0xc6, 0xaf, 0xa4, 0xb9, 0xb2, 0x83, 0x88, 0x95, 0x9e, - 0x47, 0x4c, 0x51, 0x5a, 0x6b, 0x60, 0x7d, 0x76, 0x1f, 0x14, 0x09, 0x02, - 0x33, 0x38, 0x25, 0x2e, 0x8c, 0x87, 0x9a, 0x91, 0xa0, 0xab, 0xb6, 0xbd, - 0xd4, 0xdf, 0xc2, 0xc9, 0xf8, 0xf3, 0xee, 0xe5, 0x3c, 0x37, 0x2a, 0x21, - 0x10, 0x1b, 0x06, 0x0d, 0x64, 0x6f, 0x72, 0x79, 0x48, 0x43, 0x5e, 0x55, - 0x01, 0x0a, 0x17, 0x1c, 0x2d, 0x26, 0x3b, 0x30, 0x59, 0x52, 0x4f, 0x44, - 0x75, 0x7e, 0x63, 0x68, 0xb1, 0xba, 0xa7, 0xac, 0x9d, 0x96, 0x8b, 0x80, - 0xe9, 0xe2, 0xff, 0xf4, 0xc5, 0xce, 0xd3, 0xd8, 0x7a, 0x71, 0x6c, 0x67, - 0x56, 0x5d, 0x40, 0x4b, 0x22, 0x29, 0x34, 0x3f, 0x0e, 0x05, 0x18, 0x13, - 0xca, 0xc1, 0xdc, 0xd7, 0xe6, 0xed, 0xf0, 0xfb, 0x92, 0x99, 0x84, 0x8f, - 0xbe, 0xb5, 0xa8, 0xa3 - ], //*/ GBX = Gx(0xb), - -/* - GDX = [ - 0x00, 0x0d, 0x1a, 0x17, 0x34, 0x39, 0x2e, 0x23, 0x68, 0x65, 0x72, 0x7f, - 0x5c, 0x51, 0x46, 0x4b, 0xd0, 0xdd, 0xca, 0xc7, 0xe4, 0xe9, 0xfe, 0xf3, - 0xb8, 0xb5, 0xa2, 0xaf, 0x8c, 0x81, 0x96, 0x9b, 0xbb, 0xb6, 0xa1, 0xac, - 0x8f, 0x82, 0x95, 0x98, 0xd3, 0xde, 0xc9, 0xc4, 0xe7, 0xea, 0xfd, 0xf0, - 0x6b, 0x66, 0x71, 0x7c, 0x5f, 0x52, 0x45, 0x48, 0x03, 0x0e, 0x19, 0x14, - 0x37, 0x3a, 0x2d, 0x20, 0x6d, 0x60, 0x77, 0x7a, 0x59, 0x54, 0x43, 0x4e, - 0x05, 0x08, 0x1f, 0x12, 0x31, 0x3c, 0x2b, 0x26, 0xbd, 0xb0, 0xa7, 0xaa, - 0x89, 0x84, 0x93, 0x9e, 0xd5, 0xd8, 0xcf, 0xc2, 0xe1, 0xec, 0xfb, 0xf6, - 0xd6, 0xdb, 0xcc, 0xc1, 0xe2, 0xef, 0xf8, 0xf5, 0xbe, 0xb3, 0xa4, 0xa9, - 0x8a, 0x87, 0x90, 0x9d, 0x06, 0x0b, 0x1c, 0x11, 0x32, 0x3f, 0x28, 0x25, - 0x6e, 0x63, 0x74, 0x79, 0x5a, 0x57, 0x40, 0x4d, 0xda, 0xd7, 0xc0, 0xcd, - 0xee, 0xe3, 0xf4, 0xf9, 0xb2, 0xbf, 0xa8, 0xa5, 0x86, 0x8b, 0x9c, 0x91, - 0x0a, 0x07, 0x10, 0x1d, 0x3e, 0x33, 0x24, 0x29, 0x62, 0x6f, 0x78, 0x75, - 0x56, 0x5b, 0x4c, 0x41, 0x61, 0x6c, 0x7b, 0x76, 0x55, 0x58, 0x4f, 0x42, - 0x09, 0x04, 0x13, 0x1e, 0x3d, 0x30, 0x27, 0x2a, 0xb1, 0xbc, 0xab, 0xa6, - 0x85, 0x88, 0x9f, 0x92, 0xd9, 0xd4, 0xc3, 0xce, 0xed, 0xe0, 0xf7, 0xfa, - 0xb7, 0xba, 0xad, 0xa0, 0x83, 0x8e, 0x99, 0x94, 0xdf, 0xd2, 0xc5, 0xc8, - 0xeb, 0xe6, 0xf1, 0xfc, 0x67, 0x6a, 0x7d, 0x70, 0x53, 0x5e, 0x49, 0x44, - 0x0f, 0x02, 0x15, 0x18, 0x3b, 0x36, 0x21, 0x2c, 0x0c, 0x01, 0x16, 0x1b, - 0x38, 0x35, 0x22, 0x2f, 0x64, 0x69, 0x7e, 0x73, 0x50, 0x5d, 0x4a, 0x47, - 0xdc, 0xd1, 0xc6, 0xcb, 0xe8, 0xe5, 0xf2, 0xff, 0xb4, 0xb9, 0xae, 0xa3, - 0x80, 0x8d, 0x9a, 0x97 - ], //*/ GDX = Gx(0xd), - -/* - GEX = [ - 0x00, 0x0e, 0x1c, 0x12, 0x38, 0x36, 0x24, 0x2a, 0x70, 0x7e, 0x6c, 0x62, - 0x48, 0x46, 0x54, 0x5a, 0xe0, 0xee, 0xfc, 0xf2, 0xd8, 0xd6, 0xc4, 0xca, - 0x90, 0x9e, 0x8c, 0x82, 0xa8, 0xa6, 0xb4, 0xba, 0xdb, 0xd5, 0xc7, 0xc9, - 0xe3, 0xed, 0xff, 0xf1, 0xab, 0xa5, 0xb7, 0xb9, 0x93, 0x9d, 0x8f, 0x81, - 0x3b, 0x35, 0x27, 0x29, 0x03, 0x0d, 0x1f, 0x11, 0x4b, 0x45, 0x57, 0x59, - 0x73, 0x7d, 0x6f, 0x61, 0xad, 0xa3, 0xb1, 0xbf, 0x95, 0x9b, 0x89, 0x87, - 0xdd, 0xd3, 0xc1, 0xcf, 0xe5, 0xeb, 0xf9, 0xf7, 0x4d, 0x43, 0x51, 0x5f, - 0x75, 0x7b, 0x69, 0x67, 0x3d, 0x33, 0x21, 0x2f, 0x05, 0x0b, 0x19, 0x17, - 0x76, 0x78, 0x6a, 0x64, 0x4e, 0x40, 0x52, 0x5c, 0x06, 0x08, 0x1a, 0x14, - 0x3e, 0x30, 0x22, 0x2c, 0x96, 0x98, 0x8a, 0x84, 0xae, 0xa0, 0xb2, 0xbc, - 0xe6, 0xe8, 0xfa, 0xf4, 0xde, 0xd0, 0xc2, 0xcc, 0x41, 0x4f, 0x5d, 0x53, - 0x79, 0x77, 0x65, 0x6b, 0x31, 0x3f, 0x2d, 0x23, 0x09, 0x07, 0x15, 0x1b, - 0xa1, 0xaf, 0xbd, 0xb3, 0x99, 0x97, 0x85, 0x8b, 0xd1, 0xdf, 0xcd, 0xc3, - 0xe9, 0xe7, 0xf5, 0xfb, 0x9a, 0x94, 0x86, 0x88, 0xa2, 0xac, 0xbe, 0xb0, - 0xea, 0xe4, 0xf6, 0xf8, 0xd2, 0xdc, 0xce, 0xc0, 0x7a, 0x74, 0x66, 0x68, - 0x42, 0x4c, 0x5e, 0x50, 0x0a, 0x04, 0x16, 0x18, 0x32, 0x3c, 0x2e, 0x20, - 0xec, 0xe2, 0xf0, 0xfe, 0xd4, 0xda, 0xc8, 0xc6, 0x9c, 0x92, 0x80, 0x8e, - 0xa4, 0xaa, 0xb8, 0xb6, 0x0c, 0x02, 0x10, 0x1e, 0x34, 0x3a, 0x28, 0x26, - 0x7c, 0x72, 0x60, 0x6e, 0x44, 0x4a, 0x58, 0x56, 0x37, 0x39, 0x2b, 0x25, - 0x0f, 0x01, 0x13, 0x1d, 0x47, 0x49, 0x5b, 0x55, 0x7f, 0x71, 0x63, 0x6d, - 0xd7, 0xd9, 0xcb, 0xc5, 0xef, 0xe1, 0xf3, 0xfd, 0xa7, 0xa9, 0xbb, 0xb5, - 0x9f, 0x91, 0x83, 0x8d - ], //*/ GEX = Gx(0xe), - - enc = function(string, pass, binary) { - // string, password in plaintext - var salt = randArr(8), - pbe = openSSLKey(s2a(pass, binary), salt), - key = pbe.key, - iv = pbe.iv, - cipherBlocks, - saltBlock = [[83, 97, 108, 116, 101, 100, 95, 95].concat(salt)]; - string = s2a(string, binary); - cipherBlocks = rawEncrypt(string, key, iv); - // Spells out 'Salted__' - cipherBlocks = saltBlock.concat(cipherBlocks); - return Base64.encode(cipherBlocks); - }, - - dec = function(string, pass, binary) { - // string, password in plaintext - var cryptArr = Base64.decode(string), - salt = cryptArr.slice(8, 16), - pbe = openSSLKey(s2a(pass, binary), salt), - key = pbe.key, - iv = pbe.iv; - cryptArr = cryptArr.slice(16, cryptArr.length); - // Take off the Salted__ffeeddcc - string = rawDecrypt(cryptArr, key, iv, binary); - return string; - }, - - MD5 = function(numArr) { - - function rotateLeft(lValue, iShiftBits) { - return (lValue << iShiftBits) | (lValue >>> (32 - iShiftBits)); - } - - function addUnsigned(lX, lY) { - var lX4, - lY4, - lX8, - lY8, - lResult; - lX8 = (lX & 0x80000000); - lY8 = (lY & 0x80000000); - lX4 = (lX & 0x40000000); - lY4 = (lY & 0x40000000); - lResult = (lX & 0x3FFFFFFF) + (lY & 0x3FFFFFFF); - if (lX4 & lY4) { - return (lResult ^ 0x80000000 ^ lX8 ^ lY8); - } - if (lX4 | lY4) { - if (lResult & 0x40000000) { - return (lResult ^ 0xC0000000 ^ lX8 ^ lY8); - } else { - return (lResult ^ 0x40000000 ^ lX8 ^ lY8); - } - } else { - return (lResult ^ lX8 ^ lY8); - } - } - - function f(x, y, z) { - return (x & y) | ((~x) & z); - } - function g(x, y, z) { - return (x & z) | (y & (~z)); - } - function h(x, y, z) { - return (x ^ y ^ z); - } - function funcI(x, y, z) { - return (y ^ (x | (~z))); - } - - function ff(a, b, c, d, x, s, ac) { - a = addUnsigned(a, addUnsigned(addUnsigned(f(b, c, d), x), ac)); - return addUnsigned(rotateLeft(a, s), b); - } - - function gg(a, b, c, d, x, s, ac) { - a = addUnsigned(a, addUnsigned(addUnsigned(g(b, c, d), x), ac)); - return addUnsigned(rotateLeft(a, s), b); - } - - function hh(a, b, c, d, x, s, ac) { - a = addUnsigned(a, addUnsigned(addUnsigned(h(b, c, d), x), ac)); - return addUnsigned(rotateLeft(a, s), b); - } - - function ii(a, b, c, d, x, s, ac) { - a = addUnsigned(a, addUnsigned(addUnsigned(funcI(b, c, d), x), ac)); - return addUnsigned(rotateLeft(a, s), b); - } - - function convertToWordArray(numArr) { - var lWordCount, - lMessageLength = numArr.length, - lNumberOfWords_temp1 = lMessageLength + 8, - lNumberOfWords_temp2 = (lNumberOfWords_temp1 - (lNumberOfWords_temp1 % 64)) / 64, - lNumberOfWords = (lNumberOfWords_temp2 + 1) * 16, - lWordArray = [], - lBytePosition = 0, - lByteCount = 0; - while (lByteCount < lMessageLength) { - lWordCount = (lByteCount - (lByteCount % 4)) / 4; - lBytePosition = (lByteCount % 4) * 8; - lWordArray[lWordCount] = (lWordArray[lWordCount] | (numArr[lByteCount] << lBytePosition)); - lByteCount++; - } - lWordCount = (lByteCount - (lByteCount % 4)) / 4; - lBytePosition = (lByteCount % 4) * 8; - lWordArray[lWordCount] = lWordArray[lWordCount] | (0x80 << lBytePosition); - lWordArray[lNumberOfWords - 2] = lMessageLength << 3; - lWordArray[lNumberOfWords - 1] = lMessageLength >>> 29; - return lWordArray; - } - - function wordToHex(lValue) { - var lByte, - lCount, - wordToHexArr = []; - for (lCount = 0; lCount <= 3; lCount++) { - lByte = (lValue >>> (lCount * 8)) & 255; - wordToHexArr = wordToHexArr.concat(lByte); - } - return wordToHexArr; - } - - /*function utf8Encode(string) { - string = string.replace(/\r\n/g, "\n"); - var utftext = "", - n, - c; - - for (n = 0; n < string.length; n++) { - - c = string.charCodeAt(n); - - if (c < 128) { - utftext += String.fromCharCode(c); - } - else if ((c > 127) && (c < 2048)) { - utftext += String.fromCharCode((c >> 6) | 192); - utftext += String.fromCharCode((c & 63) | 128); - } - else { - utftext += String.fromCharCode((c >> 12) | 224); - utftext += String.fromCharCode(((c >> 6) & 63) | 128); - utftext += String.fromCharCode((c & 63) | 128); - } - - } - - return utftext; - }*/ - - var x = [], - k, - AA, - BB, - CC, - DD, - a, - b, - c, - d, - rnd = strhex('67452301efcdab8998badcfe10325476d76aa478e8c7b756242070dbc1bdceeef57c0faf4787c62aa8304613fd469501698098d88b44f7afffff5bb1895cd7be6b901122fd987193a679438e49b40821f61e2562c040b340265e5a51e9b6c7aad62f105d02441453d8a1e681e7d3fbc821e1cde6c33707d6f4d50d87455a14eda9e3e905fcefa3f8676f02d98d2a4c8afffa39428771f6816d9d6122fde5380ca4beea444bdecfa9f6bb4b60bebfbc70289b7ec6eaa127fad4ef308504881d05d9d4d039e6db99e51fa27cf8c4ac5665f4292244432aff97ab9423a7fc93a039655b59c38f0ccc92ffeff47d85845dd16fa87e4ffe2ce6e0a30143144e0811a1f7537e82bd3af2352ad7d2bbeb86d391',8); - - x = convertToWordArray(numArr); - - a = rnd[0]; - b = rnd[1]; - c = rnd[2]; - d = rnd[3] - - for (k = 0; k < x.length; k += 16) { - AA = a; - BB = b; - CC = c; - DD = d; - a = ff(a, b, c, d, x[k + 0], 7, rnd[4]); - d = ff(d, a, b, c, x[k + 1], 12, rnd[5]); - c = ff(c, d, a, b, x[k + 2], 17, rnd[6]); - b = ff(b, c, d, a, x[k + 3], 22, rnd[7]); - a = ff(a, b, c, d, x[k + 4], 7, rnd[8]); - d = ff(d, a, b, c, x[k + 5], 12, rnd[9]); - c = ff(c, d, a, b, x[k + 6], 17, rnd[10]); - b = ff(b, c, d, a, x[k + 7], 22, rnd[11]); - a = ff(a, b, c, d, x[k + 8], 7, rnd[12]); - d = ff(d, a, b, c, x[k + 9], 12, rnd[13]); - c = ff(c, d, a, b, x[k + 10], 17, rnd[14]); - b = ff(b, c, d, a, x[k + 11], 22, rnd[15]); - a = ff(a, b, c, d, x[k + 12], 7, rnd[16]); - d = ff(d, a, b, c, x[k + 13], 12, rnd[17]); - c = ff(c, d, a, b, x[k + 14], 17, rnd[18]); - b = ff(b, c, d, a, x[k + 15], 22, rnd[19]); - a = gg(a, b, c, d, x[k + 1], 5, rnd[20]); - d = gg(d, a, b, c, x[k + 6], 9, rnd[21]); - c = gg(c, d, a, b, x[k + 11], 14, rnd[22]); - b = gg(b, c, d, a, x[k + 0], 20, rnd[23]); - a = gg(a, b, c, d, x[k + 5], 5, rnd[24]); - d = gg(d, a, b, c, x[k + 10], 9, rnd[25]); - c = gg(c, d, a, b, x[k + 15], 14, rnd[26]); - b = gg(b, c, d, a, x[k + 4], 20, rnd[27]); - a = gg(a, b, c, d, x[k + 9], 5, rnd[28]); - d = gg(d, a, b, c, x[k + 14], 9, rnd[29]); - c = gg(c, d, a, b, x[k + 3], 14, rnd[30]); - b = gg(b, c, d, a, x[k + 8], 20, rnd[31]); - a = gg(a, b, c, d, x[k + 13], 5, rnd[32]); - d = gg(d, a, b, c, x[k + 2], 9, rnd[33]); - c = gg(c, d, a, b, x[k + 7], 14, rnd[34]); - b = gg(b, c, d, a, x[k + 12], 20, rnd[35]); - a = hh(a, b, c, d, x[k + 5], 4, rnd[36]); - d = hh(d, a, b, c, x[k + 8], 11, rnd[37]); - c = hh(c, d, a, b, x[k + 11], 16, rnd[38]); - b = hh(b, c, d, a, x[k + 14], 23, rnd[39]); - a = hh(a, b, c, d, x[k + 1], 4, rnd[40]); - d = hh(d, a, b, c, x[k + 4], 11, rnd[41]); - c = hh(c, d, a, b, x[k + 7], 16, rnd[42]); - b = hh(b, c, d, a, x[k + 10], 23, rnd[43]); - a = hh(a, b, c, d, x[k + 13], 4, rnd[44]); - d = hh(d, a, b, c, x[k + 0], 11, rnd[45]); - c = hh(c, d, a, b, x[k + 3], 16, rnd[46]); - b = hh(b, c, d, a, x[k + 6], 23, rnd[47]); - a = hh(a, b, c, d, x[k + 9], 4, rnd[48]); - d = hh(d, a, b, c, x[k + 12], 11, rnd[49]); - c = hh(c, d, a, b, x[k + 15], 16, rnd[50]); - b = hh(b, c, d, a, x[k + 2], 23, rnd[51]); - a = ii(a, b, c, d, x[k + 0], 6, rnd[52]); - d = ii(d, a, b, c, x[k + 7], 10, rnd[53]); - c = ii(c, d, a, b, x[k + 14], 15, rnd[54]); - b = ii(b, c, d, a, x[k + 5], 21, rnd[55]); - a = ii(a, b, c, d, x[k + 12], 6, rnd[56]); - d = ii(d, a, b, c, x[k + 3], 10, rnd[57]); - c = ii(c, d, a, b, x[k + 10], 15, rnd[58]); - b = ii(b, c, d, a, x[k + 1], 21, rnd[59]); - a = ii(a, b, c, d, x[k + 8], 6, rnd[60]); - d = ii(d, a, b, c, x[k + 15], 10, rnd[61]); - c = ii(c, d, a, b, x[k + 6], 15, rnd[62]); - b = ii(b, c, d, a, x[k + 13], 21, rnd[63]); - a = ii(a, b, c, d, x[k + 4], 6, rnd[64]); - d = ii(d, a, b, c, x[k + 11], 10, rnd[65]); - c = ii(c, d, a, b, x[k + 2], 15, rnd[66]); - b = ii(b, c, d, a, x[k + 9], 21, rnd[67]); - a = addUnsigned(a, AA); - b = addUnsigned(b, BB); - c = addUnsigned(c, CC); - d = addUnsigned(d, DD); - } - - return wordToHex(a).concat(wordToHex(b), wordToHex(c), wordToHex(d)); - }, - - encString = function(plaintext, key, iv) { - plaintext = s2a(plaintext); - - key = s2a(key); - for (var i=key.length; i<32; i++) - key[i] = 0; - - if (iv == null) { - iv = genIV(); - } else { - iv = s2a(iv); - for (var i=iv.length; i<16; i++) - iv[i] = 0; - } - - var ct = rawEncrypt(plaintext, key, iv); - var ret = [iv]; - for (var i=0; i> 2]; - b64 += chars[((flatArr[i] & 3) << 4) | (flatArr[i + 1] >> 4)]; - if (! (flatArr[i + 1] === undefined)) { - b64 += chars[((flatArr[i + 1] & 15) << 2) | (flatArr[i + 2] >> 6)]; - } else { - b64 += '='; - } - if (! (flatArr[i + 2] === undefined)) { - b64 += chars[flatArr[i + 2] & 63]; - } else { - b64 += '='; - } - } - // OpenSSL is super particular about line breaks - broken_b64 = b64.slice(0, 64); // + '\n'; - for (i = 1; i < (Math.ceil(b64.length / 64)); i++) { - broken_b64 += b64.slice(i * 64, i * 64 + 64) + (Math.ceil(b64.length / 64) == i + 1 ? '': '\n'); - } - return broken_b64; - }, - - decode = function(string) { - string = string.replace(/\n/g, ''); - var flatArr = [], - c = [], - b = [], - i; - for (i = 0; i < string.length; i = i + 4) { - c[0] = _chars.indexOf(string.charAt(i)); - c[1] = _chars.indexOf(string.charAt(i + 1)); - c[2] = _chars.indexOf(string.charAt(i + 2)); - c[3] = _chars.indexOf(string.charAt(i + 3)); - - b[0] = (c[0] << 2) | (c[1] >> 4); - b[1] = ((c[1] & 15) << 4) | (c[2] >> 2); - b[2] = ((c[2] & 3) << 6) | c[3]; - flatArr.push(b[0], b[1], b[2]); - } - flatArr = flatArr.slice(0, flatArr.length - (flatArr.length % 16)); - return flatArr; - }; - - //internet explorer - if(typeof Array.indexOf === "function") { - _chars = chars; - } - - /* - //other way to solve internet explorer problem - if(!Array.indexOf){ - Array.prototype.indexOf = function(obj){ - for(var i=0; i - - - diff --git a/core/3.4.1/examples/encrypted_chat_demo.html b/core/3.4.1/examples/encrypted_chat_demo.html deleted file mode 100644 index 3d618f47b..000000000 --- a/core/3.4.1/examples/encrypted_chat_demo.html +++ /dev/null @@ -1,90 +0,0 @@ - - - - -

AES256 Encryption Demo for JavaScript

- - - -
-
- - -
- - - - - - - - - - diff --git a/core/3.4.1/examples/presence/index.html b/core/3.4.1/examples/presence/index.html deleted file mode 100644 index e54f7c52f..000000000 --- a/core/3.4.1/examples/presence/index.html +++ /dev/null @@ -1,117 +0,0 @@ - - - PubNub Presence Demo - - - - - - - - - - - - - - -
- -

Currently Here

-
    -
-
- - - 0 people here now -
- - -
- - - - - - - - 0 - && origin.replace( - 'pubsub', 'ps' + (++ori < 10 ? ori : ori=1) - ) || origin; - } -})(); - -/** - * UPDATER - * ====== - * var timestamp = unique(); - */ -function updater( fun, rate ) { - var timeout - , last = 0 - , runnit = function() { - if (last + rate > rnow()) { - clearTimeout(timeout); - timeout = setTimeout( runnit, rate ); - } - else { - last = rnow(); - fun(); - } - }; - - return runnit; -} - -/** - * $ - * = - * var div = $('divid'); - */ -function $(id) { return document.getElementById(id) } - -/** - * LOG - * === - * log('message'); - */ -function log(message) { console['log'](message) } - -/** - * SEARCH - * ====== - * var elements = search('a div span'); - */ -function search( elements, start ) { - var list = []; - each( elements.split(/\s+/), function(el) { - each( (start || document).getElementsByTagName(el), function(node) { - list.push(node); - } ); - } ); - return list; -} - -/** - * EACH - * ==== - * each( [1,2,3], function(item) { console.log(item) } ) - */ -function each( o, f ) { - if ( !o || !f ) return; - - if ( typeof o[0] != 'undefined' ) - for ( var i = 0, l = o.length; i < l; ) - f.call( o[i], o[i], i++ ); - else - for ( var i in o ) - o.hasOwnProperty && - o.hasOwnProperty(i) && - f.call( o[i], i, o[i] ); -} - -/** - * MAP - * === - * var list = map( [1,2,3], function(item) { return item + 1 } ) - */ -function map( list, fun ) { - var fin = []; - each( list || [], function( k, v ) { fin.push(fun( k, v )) } ); - return fin; -} - -/** - * GREP - * ==== - * var list = grep( [1,2,3], function(item) { return item % 2 } ) - */ -function grep( list, fun ) { - var fin = []; - each( list || [], function(l) { fun(l) && fin.push(l) } ); - return fin -} - -/** - * SUPPLANT - * ======== - * var text = supplant( 'Hello {name}!', { name : 'John' } ) - */ -function supplant( str, values ) { - return str.replace( REPL, function( _, match ) { - return values[match] || _ - } ); -} - -/** - * BIND - * ==== - * bind( 'keydown', search('a')[0], function(element) { - * console.log( element, '1st anchor' ) - * } ); - */ -function bind( type, el, fun ) { - each( type.split(','), function(etype) { - var rapfun = function(e) { - if (!e) e = window.event; - if (!fun(e)) { - e.cancelBubble = true; - e.returnValue = false; - e.preventDefault && e.preventDefault(); - e.stopPropagation && e.stopPropagation(); - } - }; - - if ( el.addEventListener ) el.addEventListener( etype, rapfun, false ); - else if ( el.attachEvent ) el.attachEvent( 'on' + etype, rapfun ); - else el[ 'on' + etype ] = rapfun; - } ); -} - -/** - * UNBIND - * ====== - * unbind( 'keydown', search('a')[0] ); - */ -function unbind( type, el, fun ) { - if ( el.removeEventListener ) el.removeEventListener( type, false ); - else if ( el.detachEvent ) el.detachEvent( 'on' + type, false ); - else el[ 'on' + type ] = null; -} - -/** - * HEAD - * ==== - * head().appendChild(elm); - */ -function head() { return search('head')[0] } - -/** - * ATTR - * ==== - * var attribute = attr( node, 'attribute' ); - */ -function attr( node, attribute, value ) { - if (value) node.setAttribute( attribute, value ); - else return node && node.getAttribute && node.getAttribute(attribute); -} - -/** - * CSS - * === - * var obj = create('div'); - */ -function css( element, styles ) { - for (var style in styles) if (styles.hasOwnProperty(style)) - try {element.style[style] = styles[style] + ( - '|width|height|top|left|'.indexOf(style) > 0 && - typeof styles[style] == 'number' - ? 'px' : '' - )}catch(e){} -} - -/** - * CREATE - * ====== - * var obj = create('div'); - */ -function create(element) { return document.createElement(element) } - -/** - * timeout - * ======= - * timeout( function(){}, 100 ); - */ -function timeout( fun, wait ) { - return setTimeout( fun, wait ); -} - -/** - * jsonp_cb - * ======== - * var callback = jsonp_cb(); - */ -function jsonp_cb() { return XORIGN || FDomainRequest() ? 0 : unique() } - -/** - * ENCODE - * ====== - * var encoded_path = encode('path'); - */ -function encode(path) { - return map( (encodeURIComponent(path)).split(''), function(chr) { - return "-_.!~*'()".indexOf(chr) < 0 ? chr : - "%"+chr.charCodeAt(0).toString(16).toUpperCase() - } ).join(''); -} - -/** - * EVENTS - * ====== - * PUBNUB.events.bind( 'you-stepped-on-flower', function(message) { - * // Do Stuff with message - * } ); - * - * PUBNUB.events.fire( 'you-stepped-on-flower', "message-data" ); - * PUBNUB.events.fire( 'you-stepped-on-flower', {message:"data"} ); - * PUBNUB.events.fire( 'you-stepped-on-flower', [1,2,3] ); - * - */ -var events = { - 'list' : {}, - 'unbind' : function( name ) { events.list[name] = [] }, - 'bind' : function( name, fun ) { - (events.list[name] = events.list[name] || []).push(fun); - }, - 'fire' : function( name, data ) { - each( - events.list[name] || [], - function(fun) { fun(data) } - ); - } -}; - -/** - * XDR Cross Domain Request - * ======================== - * xdr({ - * url : ['http://www.blah.com/url'], - * success : function(response) {}, - * fail : function() {} - * }); - */ -function xdr( setup ) { - if (XORIGN || FDomainRequest()) return ajax(setup); - - var script = create('script') - , callback = setup.callback - , id = unique() - , finished = 0 - , timer = timeout( function(){done(1)}, XHRTME ) - , fail = setup.fail || function(){} - , success = setup.success || function(){} - - , append = function() { - head().appendChild(script); - } - - , done = function( failed, response ) { - if (finished) return; - finished = 1; - - failed || success(response); - script.onerror = null; - clearTimeout(timer); - - timeout( function() { - failed && fail(); - var s = $(id) - , p = s && s.parentNode; - p && p.removeChild(s); - }, SECOND ); - }; - - window[callback] = function(response) { - done( 0, response ); - }; - - script[ASYNC] = ASYNC; - script.onerror = function() { done(1) }; - script.src = setup.url.join(URLBIT); - if (setup.data) { - script.src += "?"; - for (key in setup.data) { - script.src += key+"="+setup.data[key]+"&"; - } - } - - attr( script, 'id', id ); - - append(); - return done; -} - -/** - * CORS XHR Request - * ================ - * xdr({ - * url : ['http://www.blah.com/url'], - * success : function(response) {}, - * fail : function() {} - * }); - */ -function ajax( setup ) { - var xhr - , finished = function() { - if (loaded) return; - loaded = 1; - - clearTimeout(timer); - - try { response = JSON['parse'](xhr.responseText); } - catch (r) { return done(1); } - - success(response); - } - , complete = 0 - , loaded = 0 - , timer = timeout( function(){done(1)}, XHRTME ) - , fail = setup.fail || function(){} - , success = setup.success || function(){} - , done = function(failed) { - if (complete) return; - complete = 1; - - clearTimeout(timer); - - if (xhr) { - xhr.onerror = xhr.onload = null; - xhr.abort && xhr.abort(); - xhr = null; - } - - failed && fail(); - }; - - // Send - try { - xhr = FDomainRequest() || - window.XDomainRequest && - new XDomainRequest() || - new XMLHttpRequest(); - - xhr.onerror = xhr.onabort = function(){ done(1) }; - xhr.onload = xhr.onloadend = finished; - xhr.timeout = XHRTME; - - url = setup.url.join(URLBIT); - if (setup.data) { - url += "?"; - for (key in setup.data) { - url += key+"="+setup.data[key]+"&"; - } - } - - xhr.open( 'GET', url, true ); - xhr.send(); - } - catch(eee) { - done(0); - XORIGN = 0; - return xdr(setup); - } - - // Return 'done' - return done; -} - - -/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= PUBNUB ===========================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -var PDIV = $('pubnub') || {} -, READY = 0 -, READY_BUFFER = [] -, CREATE_PUBNUB = function(setup) { - var CHANNELS = {} - , PUBLISH_KEY = setup['publish_key'] || '' - , SUBSCRIBE_KEY = setup['subscribe_key'] || '' - , SSL = setup['ssl'] ? 's' : '' - , UUID = setup['uuid'] || db.get(SUBSCRIBE_KEY+'uuid') || '' - , ORIGIN = 'http'+SSL+'://'+(setup['origin']||'pubsub.pubnub.com') - , SELF = { - /* - PUBNUB.history({ - channel : 'my_chat_channel', - limit : 100, - callback : function(messages) { console.log(messages) } - }); - */ - 'history' : function( args, callback ) { - var callback = args['callback'] || callback - , limit = args['limit'] || 100 - , channel = args['channel'] - , jsonp = jsonp_cb(); - - // Make sure we have a Channel - if (!channel) return log('Missing Channel'); - if (!callback) return log('Missing Callback'); - - // Send Message - xdr({ - callback : jsonp, - url : [ - ORIGIN, 'history', - SUBSCRIBE_KEY, encode(channel), - jsonp, limit - ], - success : function(response) { callback(response) }, - fail : function(response) { log(response) } - }); - }, - - /* - PUBNUB.time(function(time){ console.log(time) }); - */ - 'time' : function(callback) { - var jsonp = jsonp_cb(); - xdr({ - callback : jsonp, - url : [ORIGIN, 'time', jsonp], - success : function(response) { callback(response[0]) }, - fail : function() { callback(0) } - }); - }, - - /* - PUBNUB.uuid(function(uuid) { console.log(uuid) }); - */ - 'uuid' : function(callback) { - var u = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) { - var r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8); - return v.toString(16); - }); - if (callback) callback(u); - return u; - }, - - /* - PUBNUB.publish({ - channel : 'my_chat_channel', - message : 'hello!' - }); - */ - 'publish' : function( args, callback ) { - var callback = callback || args['callback'] || function(){} - , message = args['message'] - , channel = args['channel'] - , jsonp = jsonp_cb() - , url; - - if (!message) return log('Missing Message'); - if (!channel) return log('Missing Channel'); - if (!PUBLISH_KEY) return log('Missing Publish Key'); - - // If trying to send Object - message = JSON['stringify'](message); - - // Create URL - url = [ - ORIGIN, 'publish', - PUBLISH_KEY, SUBSCRIBE_KEY, - 0, encode(channel), - jsonp, encode(message) - ]; - - // Send Message - xdr({ - callback : jsonp, - success : function(response) { callback(response) }, - fail : function() { callback([ 0, 'Disconnected' ]) }, - url : url, - data : { uuid: UUID } - }); - }, - /* - PUBNUB.unsubscribe({ channel : 'my_chat' }); - */ - 'unsubscribe' : function(args) { - var channel = args['channel']; - - // Leave if there never was a channel. - if (!(channel in CHANNELS)) return; - - // Disable Channel - CHANNELS[channel].connected = 0; - - // Abort and Remove Script - CHANNELS[channel].done && - CHANNELS[channel].done(0); - }, - - /* - PUBNUB.subscribe({ - channel : 'my_chat' - callback : function(message) { console.log(message) } - }); - */ - 'subscribe' : function( args, callback ) { - var channel = args['channel'] - , callback = callback || args['callback'] - , subscribe_key= args['subscribe_key'] || SUBSCRIBE_KEY - , restore = args['restore'] - , timetoken = 0 - , error = args['error'] || function(){} - , connect = args['connect'] || function(){} - , reconnect = args['reconnect'] || function(){} - , disconnect = args['disconnect'] || function(){} - , presence = args['presence'] || function(){} - , disconnected = 0 - , connected = 0 - , origin = nextorigin(ORIGIN); - - // Reduce Status Flicker - if (!READY) return READY_BUFFER.push([ args, callback, SELF ]); - - // Make sure we have a Channel - if (!channel) return log('Missing Channel'); - if (!callback) return log('Missing Callback'); - if (!SUBSCRIBE_KEY) return log('Missing Subscribe Key'); - - if (!(channel in CHANNELS)) CHANNELS[channel] = {}; - - // Make sure we have a Channel - if (CHANNELS[channel].connected) return log('Already Connected'); - CHANNELS[channel].connected = 1; - - // Recurse Subscribe - function pubnub() { - var jsonp = jsonp_cb(); - - // Stop Connection - if (!CHANNELS[channel].connected) return; - - // Connect to PubNub Subscribe Servers - CHANNELS[channel].done = xdr({ - callback : jsonp, - url : [ - origin, 'subscribe', - subscribe_key, encode(channel), - jsonp, timetoken - ], - data : { uuid: UUID }, - fail : function() { - // Disconnect - if (!disconnected) { - disconnected = 1; - disconnect(); - } - timeout( pubnub, SECOND ); - SELF['time'](function(success){ - // Reconnect - if (success && disconnected) { - disconnected = 0; - reconnect(); - } - else { - error(); - } - }); - }, - success : function(messages) { - if (!CHANNELS[channel].connected) return; - - // Connect - if (!connected) { - connected = 1; - connect(); - } - - // Reconnect - if (disconnected) { - disconnected = 0; - reconnect(); - } - - // Restore Previous Connection Point if Needed - // Also Update Timetoken - restore = db.set( - SUBSCRIBE_KEY + channel, - timetoken = restore && db.get( - subscribe_key + channel - ) || messages[1] - ); - - each( messages[0], function(msg) { - callback( msg, messages ); - } ); - - timeout( pubnub, 10 ); - }, - - }); - } - - // Begin Recursive Subscribe - pubnub(); - - if (args['presence']) { - SELF.subscribe({ - channel: args['channel']+"-pnpres", - callback: presence, - restore: args['restore'] - }); - } - }, - 'here_now' : function( args, callback ) { - var callback = args['callback'] || callback - , channel = args['channel'] - , jsonp = jsonp_cb() - , origin = nextorigin(ORIGIN); - - // Make sure we have a Channel - if (!channel) return log('Missing Channel'); - if (!callback) return log('Missing Callback'); - - data = null; - if (jsonp != '0') { data['callback']=jsonp; } - - // Send Message - xdr({ - callback : jsonp, - url : [ - origin, 'v2', 'presence', - 'sub_key', SUBSCRIBE_KEY, - 'channel', encode(channel) - ], - data: data, - success : function(response) { callback(response) }, - fail : function(response) { log(response) } - }); - }, - - // Expose PUBNUB Functions - 'xdr' : xdr, - 'ready' : ready, - 'db' : db, - 'each' : each, - 'map' : map, - 'css' : css, - '$' : $, - 'create' : create, - 'bind' : bind, - 'supplant' : supplant, - 'head' : head, - 'search' : search, - 'attr' : attr, - 'now' : rnow, - 'unique' : unique, - 'events' : events, - 'updater' : updater, - 'init' : CREATE_PUBNUB - }; - - if (UUID == '') UUID = SELF.uuid(); - db.set(SUBSCRIBE_KEY+'uuid', UUID); - - return SELF; -}; - -// CREATE A PUBNUB GLOBAL OBJECT -PUBNUB = CREATE_PUBNUB({ - 'publish_key' : attr( PDIV, 'pub-key' ), - 'subscribe_key' : attr( PDIV, 'sub-key' ), - 'ssl' : attr( PDIV, 'ssl' ) == 'on', - 'origin' : attr( PDIV, 'origin' ), - 'uuid' : attr( PDIV, 'uuid' ) -}); - -// PUBNUB Flash Socket -css( PDIV, { 'position' : 'absolute', 'top' : -SECOND } ); - -if ('opera' in window || attr( PDIV, 'flash' )) PDIV['innerHTML'] = - ''; - -var pubnubs = $('pubnubs') || {}; - -// PUBNUB READY TO CONNECT -function ready() { PUBNUB['time'](rnow); -PUBNUB['time'](function(t){ timeout( function() { - if (READY) return; - READY = 1; - each( READY_BUFFER, function(sub) { - sub[2]['subscribe']( sub[0], sub[1] ) - } ); -}, SECOND ); }); } - -// Bind for PUBNUB Readiness to Subscribe -bind( 'load', window, function(){ timeout( ready, 0 ) } ); - -// Create Interface for Opera Flash -PUBNUB['rdx'] = function( id, data ) { - if (!data) return FDomainRequest[id]['onerror'](); - FDomainRequest[id]['responseText'] = unescape(data); - FDomainRequest[id]['onload'](); -}; - -function FDomainRequest() { - if (!pubnubs['get']) return 0; - - var fdomainrequest = { - 'id' : FDomainRequest['id']++, - 'send' : function() {}, - 'abort' : function() { fdomainrequest['id'] = {} }, - 'open' : function( method, url ) { - FDomainRequest[fdomainrequest['id']] = fdomainrequest; - pubnubs['get']( fdomainrequest['id'], url ); - } - }; - - return fdomainrequest; -} -FDomainRequest['id'] = SECOND; - -// jQuery Interface -window['jQuery'] && (window['jQuery']['PUBNUB'] = PUBNUB); - -// For Testling.js - http://testling.com/ -typeof module !== 'undefined' && (module.exports = PUBNUB) && ready(); - -})(); diff --git a/core/3.4.1/examples/simple-chat.js b/core/3.4.1/examples/simple-chat.js deleted file mode 100644 index 5b0192ba1..000000000 --- a/core/3.4.1/examples/simple-chat.js +++ /dev/null @@ -1,119 +0,0 @@ -(function(){ - -/* - PubNub Real Time Push APIs and Notifications Framework - Copyright (c) 2010 Stephen Blum - http://www.google.com/profiles/blum.stephen - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . -*/ - -/* - - - - - -
Loading Simple Chat
- -*/ -var P = PUBNUB -, chat = { - init : function( node_name ) { - var node = P.$(node_name); - - chat.node_name = node_name; - - // Create Nodes - chat.textbox = P.create('input'); - chat.chatbox = P.create('div'); - chat.button = P.create('button'); - - // Button Text - chat.button.innerHTML = 'Send'; - - // Capture Channel - var channel = P.attr( node, 'channel' ); - - // Add Styles - P.attr( chat.chatbox, 'id', 'simple-chat-chatbox' ); - P.attr( chat.textbox, 'id', 'simple-chat-textbox' ); - P.attr( chat.button, 'id', 'simple-chat-button' ); - - // Display Nodes - node.innerHTML = ''; - node.appendChild(chat.chatbox); - node.appendChild(chat.textbox); - node.appendChild(chat.button); - - // Send Sign-on Message - P.publish({ - channel : channel, - message : 'Someone Joined the Chat.' - }); - - function send(e) { - var key = e.keyCode || e.charCode || 0 - , message = chat.textbox.value; - - // Wait for Enter Key - if (key != 13 && e.type == 'keydown' || !message) return true; - - // Reset Value - chat.textbox.value = ''; - - // Send Message - P.publish({ - channel : node_name, - message : message - }); - } - - // Bind Events - P.bind( 'keydown', chat.textbox, send ); - P.bind( 'blur', chat.textbox, send ); - - // Register Listener - P.subscribe({ channel : node_name }, chat.subscribe ); - }, - - subscribe : function(message) { - var br = '
'; - chat.chatbox.innerHTML = message + br + chat.chatbox.innerHTML; - } - -}; - -// Startup Simple Chat -chat.init('simple-chat'); - -})() diff --git a/core/3.4.1/examples/simple.html b/core/3.4.1/examples/simple.html deleted file mode 100644 index 0bcb853ca..000000000 --- a/core/3.4.1/examples/simple.html +++ /dev/null @@ -1,22 +0,0 @@ -
- - diff --git a/core/3.4.1/json.js b/core/3.4.1/json.js deleted file mode 100644 index 5802af653..000000000 --- a/core/3.4.1/json.js +++ /dev/null @@ -1,155 +0,0 @@ -/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= JSON =============================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -(window['JSON'] && window['JSON']['stringify']) || (function () { - window['JSON'] || (window['JSON'] = {}); - - if (typeof String.prototype.toJSON !== 'function') { - String.prototype.toJSON = - Number.prototype.toJSON = - Boolean.prototype.toJSON = function (key) { - return this.valueOf(); - }; - } - - var cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, - escapable = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, - gap, - indent, - meta = { // table of character substitutions - '\b': '\\b', - '\t': '\\t', - '\n': '\\n', - '\f': '\\f', - '\r': '\\r', - '"' : '\\"', - '\\': '\\\\' - }, - rep; - - function quote(string) { - escapable.lastIndex = 0; - return escapable.test(string) ? - '"' + string.replace(escapable, function (a) { - var c = meta[a]; - return typeof c === 'string' ? c : - '\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4); - }) + '"' : - '"' + string + '"'; - } - - - function str(key, holder) { - var i, // The loop counter. - k, // The member key. - v, // The member value. - length, - mind = gap, - partial, - value = holder[key]; - - if (value && typeof value === 'object' && - typeof value.toJSON === 'function') { - value = value.toJSON(key); - } - - if (typeof rep === 'function') { - value = rep.call(holder, key, value); - } - - switch (typeof value) { - case 'string': - return quote(value); - - case 'number': - return isFinite(value) ? String(value) : 'null'; - - case 'boolean': - case 'null': - return String(value); - - case 'object': - - if (!value) { - return 'null'; - } - - gap += indent; - partial = []; - - if (Object.prototype.toString.apply(value) === '[object Array]') { - - length = value.length; - for (i = 0; i < length; i += 1) { - partial[i] = str(i, value) || 'null'; - } - - v = partial.length === 0 ? '[]' : - gap ? '[\n' + gap + - partial.join(',\n' + gap) + '\n' + - mind + ']' : - '[' + partial.join(',') + ']'; - gap = mind; - return v; - } - if (rep && typeof rep === 'object') { - length = rep.length; - for (i = 0; i < length; i += 1) { - k = rep[i]; - if (typeof k === 'string') { - v = str(k, value); - if (v) { - partial.push(quote(k) + (gap ? ': ' : ':') + v); - } - } - } - } else { - for (k in value) { - if (Object.hasOwnProperty.call(value, k)) { - v = str(k, value); - if (v) { - partial.push(quote(k) + (gap ? ': ' : ':') + v); - } - } - } - } - - v = partial.length === 0 ? '{}' : - gap ? '{\n' + gap + partial.join(',\n' + gap) + '\n' + - mind + '}' : '{' + partial.join(',') + '}'; - gap = mind; - return v; - } - } - - if (typeof JSON['stringify'] !== 'function') { - JSON['stringify'] = function (value, replacer, space) { - var i; - gap = ''; - indent = ''; - - if (typeof space === 'number') { - for (i = 0; i < space; i += 1) { - indent += ' '; - } - } else if (typeof space === 'string') { - indent = space; - } - rep = replacer; - if (replacer && typeof replacer !== 'function' && - (typeof replacer !== 'object' || - typeof replacer.length !== 'number')) { - throw new Error('JSON.stringify'); - } - return str('', {'': value}); - }; - } - - if (typeof JSON['parse'] !== 'function') { - // JSON is parsed on the server for security. - JSON['parse'] = function (text) {return eval('('+text+')')}; - } -}()); diff --git a/core/3.4.1/pubnub-3.4.1.js b/core/3.4.1/pubnub-3.4.1.js deleted file mode 100644 index 76893d0f0..000000000 --- a/core/3.4.1/pubnub-3.4.1.js +++ /dev/null @@ -1,1076 +0,0 @@ -/* --------------------------------------------------------------------------- -WAIT! - This file depends on instructions from the PUBNUB Cloud. -http://www.pubnub.com/account-javascript-api-include ---------------------------------------------------------------------------- */ - -/* --------------------------------------------------------------------------- -PubNub Real-time Cloud-Hosted Push API and Push Notification Client Frameworks -Copyright (c) 2011 PubNub Inc. -http://www.pubnub.com/ -http://www.pubnub.com/terms ---------------------------------------------------------------------------- */ - -/* --------------------------------------------------------------------------- -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. ---------------------------------------------------------------------------- */ - -/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= UTIL =============================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -window['PUBNUB'] || (function() { - -/** - * UTIL LOCALS - */ -var NOW = 1 -, SWF = 'https://pubnub.a.ssl.fastly.net/pubnub.swf' -, REPL = /{([\w\-]+)}/g -, ASYNC = 'async' -, URLBIT = '/' -, PARAMSBIT = '&' -, DEF_WINDOWING = 10 // MILLISECONDS. -, DEF_TIMEOUT = 10000 // MILLISECONDS. -, DEF_SUB_TIMEOUT = 310 // SECONDS. -, DEF_KEEPALIVE = 60 // SECONDS. -, SECOND = 1000 // A THOUSAND MILLISECONDS. -, PRESENCE_SUFFIX = '-pnpres' -, UA = navigator.userAgent -, XORIGN = UA.indexOf('MSIE 6') == -1; - -/** - * CONSOLE COMPATIBILITY - */ -window.console || (window.console=window.console||{}); -console.log || ( - console.log = - console.error = - ((window.opera||{}).postError||function(){}) -); - -/** - * UTILITIES - */ -function unique() { return'x'+ ++NOW+''+(+new Date) } -function rnow() { return+new Date } - -/** - * LOCAL STORAGE OR COOKIE - */ -var db = (function(){ - var ls = window['localStorage']; - return { - 'get' : function(key) { - try { - if (ls) return ls.getItem(key); - if (document.cookie.indexOf(key) == -1) return null; - return ((document.cookie||'').match( - RegExp(key+'=([^;]+)') - )||[])[1] || null; - } catch(e) { return } - }, - 'set' : function( key, value ) { - try { - if (ls) return ls.setItem( key, value ) && 0; - document.cookie = key + '=' + value + - '; expires=Thu, 1 Aug 2030 20:00:00 UTC; path=/'; - } catch(e) { return } - } - }; -})(); - -/** - * NEXTORIGIN - * ========== - * var next_origin = nextorigin(); - */ -var nextorigin = (function() { - var max = 20 - , ori = Math.floor(Math.random() * max); - return function(origin) { - return origin.indexOf('pubsub') > 0 - && origin.replace( - 'pubsub', 'ps' + (++ori < max? ori : ori=1) - ) || origin; - } -})(); - -/** - * UPDATER - * ======= - * var timestamp = unique(); - */ -function updater( fun, rate ) { - var timeout - , last = 0 - , runnit = function() { - if (last + rate > rnow()) { - clearTimeout(timeout); - timeout = setTimeout( runnit, rate ); - } - else { - last = rnow(); - fun(); - } - }; - - return runnit; -} - -/** - * $ - * = - * var div = $('divid'); - */ -function $(id) { return document.getElementById(id) } - -/** - * ERROR - * ===== - * error('message'); - */ -function error(message) { console['error'](message) } - -/** - * SEARCH - * ====== - * var elements = search('a div span'); - */ -function search( elements, start ) { - var list = []; - each( elements.split(/\s+/), function(el) { - each( (start || document).getElementsByTagName(el), function(node) { - list.push(node); - } ); - } ); - return list; -} - -/** - * EACH - * ==== - * each( [1,2,3], function(item) { } ) - */ -function each( o, f ) { - if ( !o || !f ) return; - - if ( typeof o[0] != 'undefined' ) - for ( var i = 0, l = o.length; i < l; ) - f.call( o[i], o[i], i++ ); - else - for ( var i in o ) - o.hasOwnProperty && - o.hasOwnProperty(i) && - f.call( o[i], i, o[i] ); -} - -/** - * MAP - * === - * var list = map( [1,2,3], function(item) { return item + 1 } ) - */ -function map( list, fun ) { - var fin = []; - each( list || [], function( k, v ) { fin.push(fun( k, v )) } ); - return fin; -} - -/** - * GREP - * ==== - * var list = grep( [1,2,3], function(item) { return item % 2 } ) - */ -function grep( list, fun ) { - var fin = []; - each( list || [], function(l) { fun(l) && fin.push(l) } ); - return fin -} - -/** - * SUPPLANT - * ======== - * var text = supplant( 'Hello {name}!', { name : 'John' } ) - */ -function supplant( str, values ) { - return str.replace( REPL, function( _, match ) { - return values[match] || _ - } ); -} - -/** - * BIND - * ==== - * bind( 'keydown', search('a')[0], function(element) { - * ... - * } ); - */ -function bind( type, el, fun ) { - each( type.split(','), function(etype) { - var rapfun = function(e) { - if (!e) e = window.event; - if (!fun(e)) { - e.cancelBubble = true; - e.returnValue = false; - e.preventDefault && e.preventDefault(); - e.stopPropagation && e.stopPropagation(); - } - }; - - if ( el.addEventListener ) el.addEventListener( etype, rapfun, false ); - else if ( el.attachEvent ) el.attachEvent( 'on' + etype, rapfun ); - else el[ 'on' + etype ] = rapfun; - } ); -} - -/** - * UNBIND - * ====== - * unbind( 'keydown', search('a')[0] ); - */ -function unbind( type, el, fun ) { - if ( el.removeEventListener ) el.removeEventListener( type, false ); - else if ( el.detachEvent ) el.detachEvent( 'on' + type, false ); - else el[ 'on' + type ] = null; -} - -/** - * HEAD - * ==== - * head().appendChild(elm); - */ -function head() { return search('head')[0] } - -/** - * ATTR - * ==== - * var attribute = attr( node, 'attribute' ); - */ -function attr( node, attribute, value ) { - if (value) node.setAttribute( attribute, value ); - else return node && node.getAttribute && node.getAttribute(attribute); -} - -/** - * CSS - * === - * var obj = create('div'); - */ -function css( element, styles ) { - for (var style in styles) if (styles.hasOwnProperty(style)) - try {element.style[style] = styles[style] + ( - '|width|height|top|left|'.indexOf(style) > 0 && - typeof styles[style] == 'number' - ? 'px' : '' - )}catch(e){} -} - -/** - * CREATE - * ====== - * var obj = create('div'); - */ -function create(element) { return document.createElement(element) } - -/** - * timeout - * ======= - * timeout( function(){}, 100 ); - */ -function timeout( fun, wait ) { - return setTimeout( fun, wait ); -} - -/** - * jsonp_cb - * ======== - * var callback = jsonp_cb(); - */ -function jsonp_cb() { return XORIGN || FDomainRequest() ? 0 : unique() } - -/** - * ENCODE - * ====== - * var encoded_path = encode('path'); - */ -function encode(path) { - return map( (encodeURIComponent(path)).split(''), function(chr) { - return "-_.!~*'()".indexOf(chr) < 0 ? chr : - "%"+chr.charCodeAt(0).toString(16).toUpperCase() - } ).join(''); -} - -/** - * EVENTS - * ====== - * PUBNUB.events.bind( 'you-stepped-on-flower', function(message) { - * // Do Stuff with message - * } ); - * - * PUBNUB.events.fire( 'you-stepped-on-flower', "message-data" ); - * PUBNUB.events.fire( 'you-stepped-on-flower', {message:"data"} ); - * PUBNUB.events.fire( 'you-stepped-on-flower', [1,2,3] ); - * - */ -var events = { - 'list' : {}, - 'unbind' : function( name ) { events.list[name] = [] }, - 'bind' : function( name, fun ) { - (events.list[name] = events.list[name] || []).push(fun); - }, - 'fire' : function( name, data ) { - each( - events.list[name] || [], - function(fun) { fun(data) } - ); - } -}; - -/** - * XDR Cross Domain Request - * ======================== - * xdr({ - * url : ['http://www.blah.com/url'], - * success : function(response) {}, - * fail : function() {} - * }); - */ -function xdr( setup ) { - if (XORIGN || FDomainRequest()) return ajax(setup); - - var script = create('script') - , callback = setup.callback - , id = unique() - , finished = 0 - , xhrtme = setup.timeout || DEF_TIMEOUT - , timer = timeout( function(){done(1)}, xhrtme ) - , fail = setup.fail || function(){} - , success = setup.success || function(){} - - , append = function() { - head().appendChild(script); - } - - , done = function( failed, response ) { - if (finished) return; - finished = 1; - - failed || success(response); - script.onerror = null; - clearTimeout(timer); - - timeout( function() { - failed && fail(); - var s = $(id) - , p = s && s.parentNode; - p && p.removeChild(s); - }, SECOND ); - }; - - window[callback] = function(response) { - done( 0, response ); - }; - - if (!setup.blocking) script[ASYNC] = ASYNC; - - script.onerror = function() { done(1) }; - script.src = setup.url.join(URLBIT); - - if (setup.data) { - var params = []; - script.src += "?"; - for (var key in setup.data) { - params.push(key+"="+setup.data[key]); - } - script.src += params.join(PARAMSBIT); - } - attr( script, 'id', id ); - - append(); - return done; -} - -/** - * CORS XHR Request - * ================ - * xdr({ - * url : ['http://www.blah.com/url'], - * success : function(response) {}, - * fail : function() {} - * }); - */ -function ajax( setup ) { - var xhr, response - , finished = function() { - if (loaded) return; - loaded = 1; - - clearTimeout(timer); - - try { response = JSON['parse'](xhr.responseText); } - catch (r) { return done(1); } - - success(response); - } - , complete = 0 - , loaded = 0 - , xhrtme = setup.timeout || DEF_TIMEOUT - , timer = timeout( function(){done(1)}, xhrtme ) - , fail = setup.fail || function(){} - , success = setup.success || function(){} - , done = function(failed) { - if (complete) return; - complete = 1; - - clearTimeout(timer); - - if (xhr) { - xhr.onerror = xhr.onload = null; - xhr.abort && xhr.abort(); - xhr = null; - } - - failed && fail(); - }; - - // Send - try { - xhr = FDomainRequest() || - window.XDomainRequest && - new XDomainRequest() || - new XMLHttpRequest(); - - xhr.onerror = xhr.onabort = function(){ done(1) }; - xhr.onload = xhr.onloadend = finished; - xhr.timeout = xhrtme; - - var url = setup.url.join(URLBIT); - if (setup.data) { - var params = []; - var key; - url += "?"; - for (key in setup.data) params.push(key+"="+setup.data[key]); - url += params.join(PARAMSBIT); - } - - xhr.open( 'GET', url, (typeof(setup.blocking === 'undefined')) ); - xhr.send(); - } - catch(eee) { - done(0); - XORIGN = 0; - return xdr(setup); - } - - // Return 'done' - return done; -} - -/** - * Generate Subscription Channel List - * ================================== - * generate_channel_list(channels_object); - */ -function generate_channel_list(channels) { - var list = []; - each( channels, function( channel, status ) { - if (status.subscribed) list.push(channel); - } ); - return list.sort(); -} - -/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= PUBNUB ===========================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -var PDIV = $('pubnub') || {} -, READY = 0 -, READY_BUFFER = [] -, CREATE_PUBNUB = function(setup) { - var CHANNELS = {} - , SUB_CALLBACK = 0 - , SUB_CHANNEL = 0 - , SUB_RECEIVER = 0 - , SUB_RESTORE = 0 - , SUB_BUFF_WAIT = 0 - , TIMETOKEN = 0 - , SUB_WINDOWING = +setup['windowing'] || DEF_WINDOWING - , SUB_TIMEOUT = (+setup['timeout'] || DEF_SUB_TIMEOUT) * SECOND - , KEEPALIVE = (+setup['keepalive'] || DEF_KEEPALIVE) * SECOND - , PUBLISH_KEY = setup['publish_key'] || '' - , SUBSCRIBE_KEY = setup['subscribe_key'] || '' - , SSL = setup['ssl'] ? 's' : '' - , UUID = setup['uuid'] || db['get'](SUBSCRIBE_KEY+'uuid') || '' - , ORIGIN = 'http'+SSL+'://'+(setup['origin']||'pubsub.pubnub.com') - , LEAVE = function(){} - , CONNECT = function(){} - , SELF = { - /* - PUBNUB.history({ - channel : 'my_chat_channel', - limit : 100, - callback : function(history) { } - }); - */ - 'history' : function( args, callback ) { - var callback = args['callback'] || callback - , count = args['count'] || args['limit'] || 100 - , reverse = args['reverse'] || "false" - , err = args['error'] || function(){} - , channel = args['channel'] - , start = args['start'] - , end = args['end'] - , params = {} - , jsonp = jsonp_cb(); - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - params['stringtoken'] = 'true'; - params['count'] = count; - params['reverse'] = reverse; - - if (start) params['start'] = start; - if (end) params['end'] = end; - - // Send Message - xdr({ - callback : jsonp, - data : params, - success : function(response) { callback(response) }, - fail : err, - url : [ - ORIGIN, 'v2', 'history', 'sub-key', - SUBSCRIBE_KEY, 'channel', encode(channel) - ] - }); - }, - - /* - PUBNUB.replay({ - source : 'my_channel', - destination : 'new_channel' - }); - */ - 'replay' : function(args) { - var callback = callback || args['callback'] || function(){} - , source = args['source'] - , destination = args['destination'] - , stop = args['stop'] - , start = args['start'] - , end = args['end'] - , reverse = args['reverse'] - , limit = args['limit'] - , jsonp = jsonp_cb() - , data = {} - , url; - - // Check User Input - if (!source) return error('Missing Source Channel'); - if (!destination) return error('Missing Destination Channel'); - if (!PUBLISH_KEY) return error('Missing Publish Key'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // Setup URL Params - if (jsonp != '0') data['callback'] = jsonp; - if (stop) data['stop'] = 'all'; - if (reverse) data['reverse'] = 'true'; - if (start) data['start'] = start; - if (end) data['end'] = end; - if (limit) data['count'] = limit; - - // Compose URL Parts - url = [ - ORIGIN, 'v1', 'replay', - PUBLISH_KEY, SUBSCRIBE_KEY, - source, destination - ]; - - // Start (or Stop) Replay! - xdr({ - callback : jsonp, - success : function(response) { callback(response) }, - fail : function() { callback([ 0, 'Disconnected' ]) }, - url : url, - data : data - }); - }, - - /* - PUBNUB.time(function(time){ }); - */ - 'time' : function(callback) { - var jsonp = jsonp_cb(); - xdr({ - callback : jsonp, - timeout : SECOND*5, - url : [ORIGIN, 'time', jsonp], - success : function(response) { callback(response[0]) }, - fail : function() { callback(0) } - }); - }, - - /* - PUBNUB.uuid(function(uuid) { }); - */ - 'uuid' : function(callback) { - var u = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, - function(c) { - var r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8); - return v.toString(16); - }); - if (callback) callback(u); - return u; - }, - - /* - PUBNUB.publish({ - channel : 'my_chat_channel', - message : 'hello!' - }); - */ - 'publish' : function( args, callback ) { - var callback = callback || args['callback'] || function(){} - , message = args['message'] - , channel = args['channel'] - , jsonp = jsonp_cb() - , url; - - if (!message) return error('Missing Message'); - if (!channel) return error('Missing Channel'); - if (!PUBLISH_KEY) return error('Missing Publish Key'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // If trying to send Object - message = JSON['stringify'](message); - - // Create URL - url = [ - ORIGIN, 'publish', - PUBLISH_KEY, SUBSCRIBE_KEY, - 0, encode(channel), - jsonp, encode(message) - ]; - - // Send Message - xdr({ - callback : jsonp, - success : function(response) { callback(response) }, - fail : function() { callback([ 0, 'Disconnected' ]) }, - url : url, - data : { 'uuid' : UUID } - }); - }, - - /* - PUBNUB.unsubscribe({ channel : 'my_chat' }); - */ - 'unsubscribe' : function(args) { - var channel = args['channel']; - - TIMETOKEN = 0; - SUB_RESTORE = 1; - - // Prepare Channel(s) - channel = map( ( - channel.join ? channel.join(',') : ''+channel - ).split(','), function(channel) { - return channel + ',' + channel + PRESENCE_SUFFIX; - } ).join(','); - - // Iterate over Channels - each( channel.split(','), function(channel) { - if (READY) LEAVE( channel, 0 ); - CHANNELS[channel] = 0; - } ); - - // ReOpen Connection if Any Channels Left - if (READY) CONNECT(); - }, - - /* - PUBNUB.subscribe({ - channel : 'my_chat' - callback : function(message) { } - }); - */ - 'subscribe' : function( args, callback ) { - var channel = args['channel'] - , callback = callback || args['callback'] - , callback = callback || args['message'] - , connect = args['connect'] || function(){} - , reconnect = args['reconnect'] || function(){} - , disconnect = args['disconnect'] || function(){} - , presence = args['presence'] || 0 - , noheresync = args['noheresync'] || 0 - , sub_timeout = args['timeout'] || SUB_TIMEOUT - , windowing = args['windowing'] || SUB_WINDOWING - , restore = args['restore'] - , origin = nextorigin(ORIGIN); - - // Restore Enabled? - if (restore) SUB_RESTORE = 1; - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // Setup Channel(s) - each( (channel.join ? channel.join(',') : ''+channel).split(','), - function(channel) { - var settings = CHANNELS[channel] || {}; - - // Store Channel State - CHANNELS[SUB_CHANNEL = channel] = { - name : channel, - connected : settings.connected, - disconnected : settings.disconnected, - subscribed : 1, - callback : SUB_CALLBACK = callback, - connect : connect, - disconnect : disconnect, - reconnect : reconnect - }; - - // Presence Enabled? - if (!presence) return; - - // Subscribe Presence Channel - SELF['subscribe']({ - 'channel' : channel + PRESENCE_SUFFIX, - 'callback' : presence - }); - - // Presence Subscribed? - if (settings.subscribed) return; - - // See Who's Here Now? - if (noheresync) return; - SELF['here_now']({ - 'channel' : channel, - 'callback' : function(here) { - each( 'uuids' in here ? here['uuids'] : [], - function(uuid) { presence( { - 'action' : 'join', - 'uuid' : uuid, - 'timestamp' : rnow(), - 'occupancy' : here['occupancy'] || 1 - }, here, channel ); } ); - } - }); - } ); - - // Test Network Connection - function _test_connection(success) { - if (success) { - // Begin Next Socket Connection - timeout( _connect, SECOND ); - } - else { - // New Origin on Failed Connection - origin = nextorigin(ORIGIN); - - // Re-test Connection - timeout( function() { - SELF['time'](_test_connection); - }, SECOND ); - } - - // Disconnect & Reconnect - each_channel(function(channel){ - // Reconnect - if (success && channel.disconnected) { - channel.disconnected = 0; - return channel.reconnect(channel.name); - } - - // Disconnect - if (!success && !channel.disconnected) { - channel.disconnected = 1; - channel.disconnect(channel.name); - } - }); - } - - // Evented Subscribe - function _connect() { - var jsonp = jsonp_cb() - , channels = generate_channel_list(CHANNELS).join(','); - - // Stop Connection - if (!channels) return; - - // Connect to PubNub Subscribe Servers - SUB_RECEIVER = xdr({ - timeout : sub_timeout, - callback : jsonp, - fail : function() { SELF['time'](_test_connection) }, - data : { 'uuid' : UUID }, - url : [ - origin, 'subscribe', - SUBSCRIBE_KEY, encode(channels), - jsonp, TIMETOKEN - ], - success : function(messages) { - if (!messages) return timeout( _connect, windowing ); - - // Connect - each_channel(function(channel){ - if (channel.connected) return; - channel.connected = 1; - channel.connect(channel.name); - }); - - // Restore Previous Connection Point if Needed - TIMETOKEN = !TIMETOKEN && - SUB_RESTORE && - db['get'](SUBSCRIBE_KEY) || messages[1]; - - // Update Saved Timetoken - db['set']( SUBSCRIBE_KEY, messages[1] ); - - // Route Channel <---> Callback for Message - var next_callback = (function() { - var channels = (messages.length>2?messages[2]:'') - , list = channels.split(','); - - return function() { - var channel = list.shift()||''; - return [ - (CHANNELS[channel]||{}) - .callback||SUB_CALLBACK, - (channel||SUB_CHANNEL) - .split(PRESENCE_SUFFIX)[0] - ]; - }; - })(); - - each( messages[0], function(msg) { - var next = next_callback(); - if (!CHANNELS[next[1]].subscribed) return; - next[0]( msg, messages, next[1] ); - } ); - - timeout( _connect, windowing ); - } - }); - } - - CONNECT = function() { - // Close Previous Subscribe Connection - _reset_offline(); - - // Begin Recursive Subscribe - clearTimeout(SUB_BUFF_WAIT); - SUB_BUFF_WAIT = timeout( _connect, 100 ); - }; - - // Reduce Status Flicker - if (!READY) return READY_BUFFER.push(CONNECT); - - // Connect Now - CONNECT(); - }, - - 'here_now' : function( args, callback ) { - var callback = args['callback'] || callback - , err = args['error'] || function(){} - , channel = args['channel'] - , jsonp = jsonp_cb() - , data = {}; - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - if (jsonp != '0') data['callback'] = jsonp; - - xdr({ - callback : jsonp, - data : data, - success : function(response) { callback(response) }, - fail : err, - url : [ - ORIGIN, 'v2', 'presence', - 'sub_key', SUBSCRIBE_KEY, - 'channel', encode(channel) - ] - }); - }, - - // Expose PUBNUB Functions - 'xdr' : xdr, - 'ready' : ready, - 'db' : db, - 'each' : each, - 'map' : map, - 'grep' : grep, - 'css' : css, - '$' : $, - 'create' : create, - 'bind' : bind, - 'supplant' : supplant, - 'head' : head, - 'search' : search, - 'attr' : attr, - 'now' : rnow, - 'unique' : unique, - 'events' : events, - 'updater' : updater, - 'init' : CREATE_PUBNUB - }; - - function each_channel(callback) { - each( generate_channel_list(CHANNELS), function(channel) { - var chan = CHANNELS[channel]; - if (!chan) return; - callback(chan); - } ); - } - - if (!UUID) UUID = SELF['uuid'](); - db['set']( SUBSCRIBE_KEY + 'uuid', UUID ); - - // Announce Leave Event - LEAVE = function( channel, blocking ) { - var data = { 'uuid' : UUID } - , origin = nextorigin(ORIGIN) - , jsonp = jsonp_cb(); - - // Prevent Leaving a Presence Channel - if (channel.indexOf(PRESENCE_SUFFIX) > 0) return; - - if (jsonp != '0') data['callback'] = jsonp; - - xdr({ - blocking : blocking || SSL, - timeout : 2000, - callback : jsonp, - data : data, - url : [ - origin, 'v2', 'presence', 'sub_key', - SUBSCRIBE_KEY, 'channel', encode(channel), 'leave' - ] - }); - }; - - // Add Leave Functions - bind( 'beforeunload', window, function() { - each_channel(function(ch){ LEAVE( ch.name, 1 ) }); - return true; - } ); - - // Test Connection State - function _is_online() { - if (!('onLine' in navigator)) return 1; - return navigator['onLine']; - } - function _poll_online() { - _is_online() || _reset_offline(); - timeout( _poll_online, SECOND ); - } - function _poll_online2() { - SELF['time'](function(success){ - success || _reset_offline(); - timeout( _poll_online2, KEEPALIVE ); - }); - } - function _reset_offline() { - SUB_RECEIVER && SUB_RECEIVER(1); - } - timeout( _poll_online, SECOND ); - timeout( _poll_online2, KEEPALIVE ); - - bind( 'offline', window, _reset_offline ); - bind( 'offline', document, _reset_offline ); - bind( 'offline', document.body, _reset_offline ); - - // Return PUBNUB Socket Object - return SELF; -}; - -// CREATE A PUBNUB GLOBAL OBJECT -PUBNUB = CREATE_PUBNUB({ - 'publish_key' : attr( PDIV, 'pub-key' ), - 'subscribe_key' : attr( PDIV, 'sub-key' ), - 'ssl' : !document.location.href.indexOf('https') || - attr( PDIV, 'ssl' ) == 'on', - 'origin' : attr( PDIV, 'origin' ), - 'uuid' : attr( PDIV, 'uuid' ) -}); - -// PUBNUB Flash Socket -css( PDIV, { 'position' : 'absolute', 'top' : -SECOND } ); - -if ('opera' in window || attr( PDIV, 'flash' )) PDIV['innerHTML'] = - ''; - -var pubnubs = $('pubnubs') || {}; - -// PUBNUB READY TO CONNECT -function ready() { PUBNUB['time'](rnow); -PUBNUB['time'](function(t){ timeout( function() { - if (READY) return; - READY = 1; - each( READY_BUFFER, function(connect) { connect() } ); -}, SECOND ); }); } - -// Bind for PUBNUB Readiness to Subscribe -bind( 'load', window, function(){ timeout( ready, 0 ) } ); - -// Create Interface for Opera Flash -PUBNUB['rdx'] = function( id, data ) { - if (!data) return FDomainRequest[id]['onerror'](); - FDomainRequest[id]['responseText'] = unescape(data); - FDomainRequest[id]['onload'](); -}; - -function FDomainRequest() { - if (!pubnubs['get']) return 0; - - var fdomainrequest = { - 'id' : FDomainRequest['id']++, - 'send' : function() {}, - 'abort' : function() { fdomainrequest['id'] = {} }, - 'open' : function( method, url ) { - FDomainRequest[fdomainrequest['id']] = fdomainrequest; - pubnubs['get']( fdomainrequest['id'], url ); - } - }; - - return fdomainrequest; -} -FDomainRequest['id'] = SECOND; - -// jQuery Interface -window['jQuery'] && (window['jQuery']['PUBNUB'] = PUBNUB); - -// For Modern JS + Testling.js - http://testling.com/ -typeof(module) !== 'undefined' && (module['exports'] = PUBNUB) && ready(); - -})(); diff --git a/core/3.4.1/pubnub-3.4.1.min.js b/core/3.4.1/pubnub-3.4.1.min.js deleted file mode 100644 index 448dfc88c..000000000 --- a/core/3.4.1/pubnub-3.4.1.min.js +++ /dev/null @@ -1,28 +0,0 @@ -(function(){ -function l(){return function(){}} -window.JSON&&window.JSON.stringify||function(){function a(a){b.lastIndex=0;return b.test(a)?'"'+a.replace(b,function(a){var b=k[a];return"string"===typeof b?b:"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+a+'"'}function c(b,k){var i,p,j,g,r=d,s,e=k[b];e&&("object"===typeof e&&"function"===typeof e.toJSON)&&(e=e.toJSON(b));"function"===typeof h&&(e=h.call(k,b,e));switch(typeof e){case "string":return a(e);case "number":return isFinite(e)?String(e):"null";case "boolean":case "null":return String(e); -case "object":if(!e)return"null";d+=f;s=[];if("[object Array]"===Object.prototype.toString.apply(e)){g=e.length;for(i=0;iq()?(clearTimeout(d),d=setTimeout(b,c)):(f=q(),a())}var d,f=0;return b},u=function(a){return document.getElementById(a)},v=function(a){console.error(a)},y=function(a,c){var b=[];x(a.split(/\s+/),function(a){x((c||document).getElementsByTagName(a),function(a){b.push(a)})});return b},x=function(a,c){if(a&&c)if("undefined"!=typeof a[0])for(var b=0,d=a.length;b"-_.!~*'()".indexOf(a)?a:"%"+a.charCodeAt(0).toString(16).toUpperCase()}).join("")},P=function(a){function c(a,b){w||(w=1,a||A(b),e.onerror=null,clearTimeout(m),setTimeout(function(){a&&H();var b=u(E),c=b&&b.parentNode;c&&c.removeChild(b)},O))}if(K||L()){a:{var b,d,f=function(){if(!h){h=1;clearTimeout(J);try{d=JSON.parse(b.responseText)}catch(a){return j(1)}p(d)}},k=0,h=0,t=a.timeout||ga,J=setTimeout(function(){j(1)},t),i=a.b||l(),p=a.c||l(),j=function(a){k||(k=1,clearTimeout(J), -b&&(b.onerror=b.onload=null,b.abort&&b.abort(),b=null),a&&i())};try{b=L()||window.XDomainRequest&&new XDomainRequest||new XMLHttpRequest;b.onerror=b.onabort=function(){j(1)};b.onload=b.onloadend=f;b.timeout=t;var g=a.url.join(ha);if(a.data){var f=[],r,g=g+"?";for(r in a.data)f.push(r+"="+a.data[r]);g+=f.join(ka)}b.open("GET",g,typeof("undefined"===a.h));b.send()}catch(s){j(0);K=0;a=P(a);break a}a=j}return a}var e=fa("script"),g=a.a,E=n(),w=0,m=setTimeout(function(){c(1)},a.timeout||ga),H=a.b||l(), -A=a.c||l();window[g]=function(a){c(0,a)};a.h||(e[la]=la);e.onerror=function(){c(1)};e.src=a.url.join(ha);if(a.data){g=[];e.src+="?";for(f in a.data)g.push(f+"="+a.data[f]);e.src+=g.join(ka)}G(e,"id",E);F().appendChild(e);return c},ma=function(a){var c=[];x(a,function(a,d){d.g&&c.push(a)});return c.sort()},S=function(){PUBNUB.time(q);PUBNUB.time(function(){setTimeout(function(){Q||(Q=1,x(na,function(a){a()}))},O)})},L=function(){if(!oa.get)return 0;var a={id:L.id++,send:l(),abort:function(){a.id={}}, -open:function(c,b){L[a.id]=a;oa.get(a.id,b)}};return a},aa=1,da=/{([\w\-]+)}/g,la="async",ha="/",ka="&",ga=1E4,O=1E3,T="-pnpres",K=-1==navigator.userAgent.indexOf("MSIE 6");window.console||(window.console=window.console||{});console.log||(console.log=console.error=(window.opera||{}).postError||l());var U,V=window.localStorage;U={get:function(a){try{return V?V.getItem(a):-1==document.cookie.indexOf(a)?null:((document.cookie||"").match(RegExp(a+"=([^;]+)"))||[])[1]||null}catch(c){}},set:function(a, -c){try{if(V)return V.setItem(a,c)&&0;document.cookie=a+"="+c+"; expires=Thu, 1 Aug 2030 20:00:00 UTC; path=/"}catch(b){}}};var W,Y=Math.floor(20*Math.random());W=function(a){return 0++Y?Y:Y=1))||a};var Z={list:{},unbind:function(a){Z.list[a]=[]},bind:function(a,c){(Z.list[a]=Z.list[a]||[]).push(c)},fire:function(a,c){x(Z.list[a]||[],function(a){a(c)})}},$=u("pubnub")||{},Q=0,na=[],pa=function(a){function c(){}function b(){}function d(a){x(ma(t),function(b){(b= -t[b])&&a(b)})}function f(){!("onLine"in navigator)||navigator.onLine||h();setTimeout(f,O)}function k(){D.time(function(a){a||h();setTimeout(k,E)})}function h(){p&&p(1)}var t={},J=0,i=0,p=0,j=0,g=0,r=0,s=+a.windowing||10,e=(+a.timeout||310)*O,E=(+a.keepalive||60)*O,w=a.publish_key||"",m=a.subscribe_key||"",H=a.ssl?"s":"",A=a.uuid||U.get(m+"uuid")||"",z="http"+H+"://"+(a.origin||"pubsub.pubnub.com"),D={history:function(a,b){var b=a.callback||b,c=a.count||a.limit||100,d=a.reverse||"false",e=a.error|| -l(),f=a.channel,i=a.start,j=a.end,g={},h=M();if(!f)return v("Missing Channel");if(!b)return v("Missing Callback");if(!m)return v("Missing Subscribe Key");g.stringtoken="true";g.count=c;g.reverse=d;i&&(g.start=i);j&&(g.end=j);P({a:h,data:g,c:function(a){b(a)},b:e,url:[z,"v2","history","sub-key",m,"channel",N(f)]})},replay:function(a){var b=b||a.callback||l(),c=a.source,d=a.destination,e=a.stop,f=a.start,g=a.end,i=a.reverse,a=a.limit,j=M(),h={};if(!c)return v("Missing Source Channel");if(!d)return v("Missing Destination Channel"); -if(!w)return v("Missing Publish Key");if(!m)return v("Missing Subscribe Key");"0"!=j&&(h.callback=j);e&&(h.stop="all");i&&(h.reverse="true");f&&(h.start=f);g&&(h.end=g);a&&(h.count=a);P({a:j,c:function(a){b(a)},b:function(){b([0,"Disconnected"])},url:[z,"v1","replay",w,m,c,d],data:h})},time:function(a){var b=M();P({a:b,timeout:5*O,url:[z,"time",b],c:function(b){a(b[0])},b:function(){a(0)}})},uuid:function(a){var b="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()| -0;return("x"==a?b:b&3|8).toString(16)});a&&a(b);return b},publish:function(a,b){var b=b||a.callback||l(),c=a.message,d=a.channel,e=M();if(!c)return v("Missing Message");if(!d)return v("Missing Channel");if(!w)return v("Missing Publish Key");if(!m)return v("Missing Subscribe Key");c=JSON.stringify(c);c=[z,"publish",w,m,0,N(d),e,N(c)];P({a:e,c:function(a){b(a)},b:function(){b([0,"Disconnected"])},url:c,data:{uuid:A}})},unsubscribe:function(a){a=a.channel;r=0;j=1;a=B((a.join?a.join(","):""+a).split(","), -function(a){return a+","+a+T}).join(",");x(a.split(","),function(a){Q&&b(a,0);t[a]=0});Q&&c()},subscribe:function(a,b){function f(a){a?setTimeout(k,O):(ia=W(z),setTimeout(function(){D.time(f)},O));d(function(b){if(a&&b.d)return b.d=0,b.l(b.name);!a&&!b.d&&(b.d=1,b.k(b.name))})}function k(){var a=M(),b=ma(t).join(",");b&&(p=P({timeout:ra,a:a,b:function(){D.time(f)},data:{uuid:A},url:[ia,"subscribe",m,N(b),a,r],c:function(a){if(!a)return setTimeout(k,ja);d(function(a){a.f||(a.f=1,a.j(a.name))});r=!r&& -j&&U.get(m)||a[1];U.set(m,a[1]);var b,c=(2)@G)saqP7}+X@6_$i1if69 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 diff --git a/core/3.4.1/tests/disconnect-patch-for-top-h.html b/core/3.4.1/tests/disconnect-patch-for-top-h.html deleted file mode 100644 index 76cf5a91f..000000000 --- a/core/3.4.1/tests/disconnect-patch-for-top-h.html +++ /dev/null @@ -1,31 +0,0 @@ - - - - - PubNub JavaScript Unit Test - - - - -
- - - - - diff --git a/core/3.4.1/tests/head-test.htm b/core/3.4.1/tests/head-test.htm deleted file mode 100644 index 4b34dd64d..000000000 --- a/core/3.4.1/tests/head-test.htm +++ /dev/null @@ -1,40 +0,0 @@ - - - - PubNub JavaScript HEAD INIT TEST - - - - -
- -

Head Test

-
Wait here for an alert() message.
- -
-
- diff --git a/core/3.4.1/tests/head.load.min.js b/core/3.4.1/tests/head.load.min.js deleted file mode 100644 index 6242b0fad..000000000 --- a/core/3.4.1/tests/head.load.min.js +++ /dev/null @@ -1,8 +0,0 @@ -/** - Head JS The only script in your - Copyright Tero Piirainen (tipiirai) - License MIT / http://bit.ly/mit-license - Version 0.96 - - http://headjs.com -*/(function(a){function z(){d||(d=!0,s(e,function(a){p(a)}))}function y(c,d){var e=a.createElement("script");e.type="text/"+(c.type||"javascript"),e.src=c.src||c,e.async=!1,e.onreadystatechange=e.onload=function(){var a=e.readyState;!d.done&&(!a||/loaded|complete/.test(a))&&(d.done=!0,d())},(a.body||b).appendChild(e)}function x(a,b){if(a.state==o)return b&&b();if(a.state==n)return k.ready(a.name,b);if(a.state==m)return a.onpreload.push(function(){x(a,b)});a.state=n,y(a.url,function(){a.state=o,b&&b(),s(g[a.name],function(a){p(a)}),u()&&d&&s(g.ALL,function(a){p(a)})})}function w(a,b){a.state===undefined&&(a.state=m,a.onpreload=[],y({src:a.url,type:"cache"},function(){v(a)}))}function v(a){a.state=l,s(a.onpreload,function(a){a.call()})}function u(a){a=a||h;var b;for(var c in a){if(a.hasOwnProperty(c)&&a[c].state!=o)return!1;b=!0}return b}function t(a){return Object.prototype.toString.call(a)=="[object Function]"}function s(a,b){if(!!a){typeof a=="object"&&(a=[].slice.call(a));for(var c=0;c - - - PubNub JavaScript MailTO Fix - - -
- - -
- × -

PubNub MailTO Test for JavaScript on Mobile and Desktop Web Browser

-
- - - -
0
- -
- - -
- diff --git a/core/3.4.1/tests/multiplexing.html b/core/3.4.1/tests/multiplexing.html deleted file mode 100644 index e6d87ebc4..000000000 --- a/core/3.4.1/tests/multiplexing.html +++ /dev/null @@ -1,104 +0,0 @@ - - - - - PubNub JavaScript Multiplexing Test - - - - -
- -
...
- -
- - - -
- diff --git a/core/3.4.1/tests/presence-ssl.html b/core/3.4.1/tests/presence-ssl.html deleted file mode 100644 index 42fe0b810..000000000 --- a/core/3.4.1/tests/presence-ssl.html +++ /dev/null @@ -1,60 +0,0 @@ - - - - - PubNub Presence SSL Test - - - - - - - -
- Open the - Developers Console - and watch the presence events section to ensure join/leave. -
- - - - -
- - - - - diff --git a/core/3.4.1/tests/publish-test.html b/core/3.4.1/tests/publish-test.html deleted file mode 100644 index 66e72ecb2..000000000 --- a/core/3.4.1/tests/publish-test.html +++ /dev/null @@ -1,73 +0,0 @@ - - - - - PubNub JavaScript Publish IE Fix - - - - -
- - - - -
...
- -
- - - -
- diff --git a/core/3.4.1/tests/ssl-test.html b/core/3.4.1/tests/ssl-test.html deleted file mode 100644 index 1b541eb05..000000000 --- a/core/3.4.1/tests/ssl-test.html +++ /dev/null @@ -1,52 +0,0 @@ - - - -
- -
- - - - diff --git a/core/3.4.1/tests/test.js b/core/3.4.1/tests/test.js deleted file mode 100644 index 2d8de94a6..000000000 --- a/core/3.4.1/tests/test.js +++ /dev/null @@ -1,81 +0,0 @@ -var test = require('testling'); -var PUBNUB = require('../pubnub-3.4.1'); -var channel = 'unit-test-pubnub-channel'; - -test('PUBNUB JavaScript API', function (test) { - var pubnub = PUBNUB.init({ - publish_key : 'demo', - subscribe_key : 'demo' - }); - - test.plan(14); - - test.ok(PUBNUB); - - test.ok(pubnub); - test.ok(pubnub.publish); - test.ok(pubnub.subscribe); - test.ok(pubnub.history); - test.ok(pubnub.detailedHistory); - test.ok(pubnub.time); - - function publish_test() { - pubnub.publish({ - channel : channel, - message : { test : "test" }, - callback : function(response) { - test.ok(response[0]); - test.equal( response[1], 'Sent' ); - } - }); - } - - function time_test() { - pubnub.time(function(time){ - test.ok(time); - uuid_test(); - }); - } - - function uuid_test() { - pubnub.uuid(function(uuid){ - test.ok(uuid); - history_test(); - }); - } - - function history_test(history) { - pubnub.history({ - limit : 1, - channel : channel, - callback : function(messages) { - test.ok(messages); - test.equal( messages[0].test, "test" ); - test.end(); - } - }); - } - - function detailedHistory_test(history) { - pubnub.detailedHistory({ - count : 1, - channel : channel, - callback : function(messages) { - test.ok(messages); - test.equal( messages[0][0].test, "test" ); - test.end(); - } - }); - } - pubnub.subscribe({ - channel : channel, - connect : publish_test, - callback : function(message) { - test.ok(message); - test.equal( message.test, "test" ); - time_test(); - } - }); - -}); - diff --git a/core/3.4.1/tests/test.sh b/core/3.4.1/tests/test.sh deleted file mode 100755 index 1b724fdd7..000000000 --- a/core/3.4.1/tests/test.sh +++ /dev/null @@ -1,41 +0,0 @@ -#!/bin/bash - -## -------------------------------------------------- -## PubNub 3.4.1 Real-time Cloud Push API - JAVASCRIPT -## -------------------------------------------------- - -## ---------------------------------------------------- -## -## TESTLING - PubNub JavaScript API for Web Browsers -## uses Testling Cloud Service -## for QA and Deployment. -## -## http://www.testling.com/ -## You need this to run './test.sh' unit test. -## -## ---------------------------------------------------- - -if [ -z "$1" ] -then - echo -e "\n\tUSER:PASSWD Required: http://testling.com/\n" - exit -fi - -browsers='firefox/3.6' -browsers=$browsers',firefox/9.0' -browsers=$browsers',firefox/10.0' -browsers=$browsers',chrome/16.0' -browsers=$browsers',chrome/17.0' -browsers=$browsers',iexplore/7.0' -browsers=$browsers',iexplore/8.0' -browsers=$browsers',iexplore/9.0' -browsers=$browsers',safari/5.1' - -echo -e "Testing: $browsers" - -noinstrument='pubnub-3.4.1.js,test.js' - -tar -cf- test.js ../pubnub-3.4.1.js | \ - curl -u $1 -sSNT- \ - "testling.com/?noinstrument=$noinstrument&browsers=$browsers" - diff --git a/core/3.4.1/tests/unit-test.html b/core/3.4.1/tests/unit-test.html deleted file mode 100644 index 71f8e0d86..000000000 --- a/core/3.4.1/tests/unit-test.html +++ /dev/null @@ -1,347 +0,0 @@ - - - - - PubNub JavaScript Unit Test - - - - - -
- - -
- × - -

PubNub Unit Tests for JavaScript on Mobile and Desktop Web Browser

-
- - -
- - - 100% Successful - Finished With Errors - ... -
- - - - -
Pass/Fail - Test Ready -
- - - - -
- - - - - - -
- - diff --git a/core/3.4.1/tests/websocket.html b/core/3.4.1/tests/websocket.html deleted file mode 100644 index 7b5bdd40f..000000000 --- a/core/3.4.1/tests/websocket.html +++ /dev/null @@ -1,43 +0,0 @@ - - - - - PubNub JavaScript Unit Test - - - - -
- - - - - diff --git a/core/3.4.1/websocket.js b/core/3.4.1/websocket.js deleted file mode 100644 index 818faedf9..000000000 --- a/core/3.4.1/websocket.js +++ /dev/null @@ -1,109 +0,0 @@ -(function(){ - -// --------------------------------------------------------------------------- -// WEBSOCKET INTERFACE -// --------------------------------------------------------------------------- -WebSocket = function( url, protocols ) { - var self = this - , url = self.url = url || '' - , protocol = self.protocol = protocols || 'Sec-WebSocket-Protocol' - , bits = url.split('/') - , setup = { - 'ssl' : bits[0] === 'wss:' - ,'origin' : bits[2] - ,'publish_key' : bits[3] - ,'subscribe_key' : bits[4] - ,'channel' : bits[5] - }; - - // READY STATES - self['CONNECTING'] = 0; // The connection is not yet open. - self['OPEN'] = 1; // The connection is open and ready to communicate. - self['CLOSING'] = 2; // The connection is in the process of closing. - self['CLOSED'] = 3; // The connection is closed or couldn't be opened. - - // CLOSE STATES - self['CLOSE_NORMAL'] = 1000; // Normal Intended Close; completed. - self['CLOSE_GOING_AWAY'] = 1001; // Closed Unexpecttedly. - self['CLOSE_PROTOCOL_ERROR'] = 1002; // Server: Not Supported. - self['CLOSE_UNSUPPORTED'] = 1003; // Server: Unsupported Protocol. - self['CLOSE_TOO_LARGE'] = 1004; // Server: Too Much Data. - self['CLOSE_NO_STATUS'] = 1005; // Server: No reason. - self['CLOSE_ABNORMAL'] = 1006; // Abnormal Disconnect. - - // Events Default - self['onclose'] = self['onerror'] = - self['onmessage'] = self['onopen'] = - self['onsend'] = function(){}; - - // Attributes - self['binaryType'] = ''; - self['extensions'] = ''; - self['bufferedAmount'] = 0; - self['trasnmitting'] = false; - self['buffer'] = []; - self['readyState'] = self['CONNECTING']; - - // Close if no setup. - if (!url) { - self['readyState'] = self['CLOSED']; - self['onclose']({ - 'code' : self['CLOSE_ABNORMAL'], - 'reason' : 'Missing URL', - 'wasClean' : true - }); - return self; - } - - // PubNub WebSocket Emulation - self.pubnub = PUBNUB['init'](setup); - self.pubnub.setup = setup; - self.setup = setup; - - self.pubnub['subscribe']({ - 'restore' : false, - 'channel' : setup['channel'], - 'disconnect' : self['onerror'], - 'reconnect' : self['onopen'], - 'error' : function() { - self['onclose']({ - 'code' : self['CLOSE_ABNORMAL'], - 'reason' : 'Missing URL', - 'wasClean' : false - }); - }, - 'callback' : function(message) { - self['onmessage']({ 'data' : message }); - }, - 'connect' : function() { - self['readyState'] = self['OPEN']; - self['onopen'](); - } - }); -}; - -// --------------------------------------------------------------------------- -// WEBSOCKET SEND -// --------------------------------------------------------------------------- -WebSocket.prototype.send = function(data) { - var self = this; - self.pubnub['publish']({ - 'channel' : self.pubnub.setup['channel'], - 'message' : data, - 'callback' : function(response) { - self['onsend']({ 'data' : response }); - } - }); -}; - -// --------------------------------------------------------------------------- -// WEBSOCKET CLOSE -// --------------------------------------------------------------------------- -WebSocket.prototype.close = function() { - var self = this; - self.pubnub['unsubscribe']({ 'channel' : self.pubnub.setup['channel'] }); - self['readyState'] = self['CLOSED']; - self['onclose']({}); -}; - -})(); diff --git a/core/3.4/build-minify-pubnub b/core/3.4/build-minify-pubnub deleted file mode 100755 index 62877617a..000000000 --- a/core/3.4/build-minify-pubnub +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/bash - -echo $1 - -googleminify=$1 - -if [ -z "$googleminify" ]; then googleminify="/opt/minify/compiler.jar"; fi - -echo -e " " -echo -e " USING: $googleminify TO MINIFY..." -echo -e " COMPILING PUBNUB JAVASCRIPT API..." - -cat ./json.js ./pubnub-3.4.js > ./pubnub.tmp -echo "(function(){" > ./pubnub-3.4.min.js -java -jar $googleminify --js=./pubnub.tmp --compilation_level=ADVANCED_OPTIMIZATIONS >> ./pubnub-3.4.min.js -echo "})();" >> ./pubnub-3.4.min.js - -echo -e " >>COMPRESSING<< PUBNUB JAVASCRIPT API..." -cat ./pubnub-3.4.min.js | gzip -c9 > ./pubnub-3.4.min.js.gz - -rm ./pubnub.tmp -echo -e " " -echo -e " DONE!\n" diff --git a/core/3.4/crypto/encrypt-pubnub.js b/core/3.4/crypto/encrypt-pubnub.js deleted file mode 100644 index 8663b5202..000000000 --- a/core/3.4/crypto/encrypt-pubnub.js +++ /dev/null @@ -1,238 +0,0 @@ -// ===================================================================== -// STANFORD CRYPTO Library with AES Encryption -// ===================================================================== - -PUBNUB.secure = (function () { - - GibberishAES.size(256); - var cipher_key = ""; - var iv = GibberishAES.s2a("0123456789012345"); - - - function encrypt(data) { - - var hex_message = GibberishAES.s2a(JSON.stringify(data)); - var encryptedHexArray = GibberishAES.rawEncrypt(hex_message, cipher_key, iv); - var base_64_encrypted = GibberishAES.Base64.encode(encryptedHexArray); - return base_64_encrypted || data.data.message; - } - - function decrypt(data, options) { - options = options ? options : {}; - - try { - var binary_enc = GibberishAES.Base64.decode(data); - var json_plain = GibberishAES.rawDecrypt(binary_enc, cipher_key, iv, false); - var plaintext = JSON.parse(json_plain); - - return plaintext; - } - catch (e) { - return options.parse_error || null; - } - } - - - return function (setup) { - - cipher_key = GibberishAES.s2a(SHA256(setup.cipher_key).slice(0,32)); - - var pubnub = PUBNUB.init(setup); - - return { - time: PUBNUB.time, - - publish: function (args) { - args.message = encrypt(args.message); - return pubnub.publish(args); - }, - subscribe: function (args) { - var callback = args.callback; - args.callback = function (message, envelope, channel) { - var decrypted = decrypt(message); - decrypted && callback(decrypted, envelope, channel); - } - - return pubnub.subscribe(args); - }, - history: function (args) { - - var encrypted_messages = ""; - var old_callback = args.callback; - - function new_callback(response) { - encrypted_messages = response[0]; - - var decrypted_messages = []; - - for (a = 0; a < encrypted_messages.length; a++) { - var new_message = decrypt(encrypted_messages[a], {"parse_error":"DECRYPT_ERROR"}); - decrypted_messages.push((new_message)); - } - - old_callback([decrypted_messages, response[1], response[2]]); - } - - args.callback = new_callback; - - pubnub.history(args); - - return true; - }, - - raw_encrypt: encrypt, - raw_decrypt: decrypt - }; - }; -})(); - -/** - * - * Secure Hash Algorithm (SHA256) - * http://www.webtoolkit.info/ - * - * Original code by Angel Marin, Paul Johnston. - * - **/ - -function SHA256(s) { - - var chrsz = 8; - var hexcase = 0; - - function safe_add(x, y) { - var lsw = (x & 0xFFFF) + (y & 0xFFFF); - var msw = (x >> 16) + (y >> 16) + (lsw >> 16); - return (msw << 16) | (lsw & 0xFFFF); - } - - function S(X, n) { - return ( X >>> n ) | (X << (32 - n)); - } - - function R(X, n) { - return ( X >>> n ); - } - - function Ch(x, y, z) { - return ((x & y) ^ ((~x) & z)); - } - - function Maj(x, y, z) { - return ((x & y) ^ (x & z) ^ (y & z)); - } - - function Sigma0256(x) { - return (S(x, 2) ^ S(x, 13) ^ S(x, 22)); - } - - function Sigma1256(x) { - return (S(x, 6) ^ S(x, 11) ^ S(x, 25)); - } - - function Gamma0256(x) { - return (S(x, 7) ^ S(x, 18) ^ R(x, 3)); - } - - function Gamma1256(x) { - return (S(x, 17) ^ S(x, 19) ^ R(x, 10)); - } - - function core_sha256(m, l) { - var K = new Array(0x428A2F98, 0x71374491, 0xB5C0FBCF, 0xE9B5DBA5, 0x3956C25B, 0x59F111F1, 0x923F82A4, 0xAB1C5ED5, 0xD807AA98, 0x12835B01, 0x243185BE, 0x550C7DC3, 0x72BE5D74, 0x80DEB1FE, 0x9BDC06A7, 0xC19BF174, 0xE49B69C1, 0xEFBE4786, 0xFC19DC6, 0x240CA1CC, 0x2DE92C6F, 0x4A7484AA, 0x5CB0A9DC, 0x76F988DA, 0x983E5152, 0xA831C66D, 0xB00327C8, 0xBF597FC7, 0xC6E00BF3, 0xD5A79147, 0x6CA6351, 0x14292967, 0x27B70A85, 0x2E1B2138, 0x4D2C6DFC, 0x53380D13, 0x650A7354, 0x766A0ABB, 0x81C2C92E, 0x92722C85, 0xA2BFE8A1, 0xA81A664B, 0xC24B8B70, 0xC76C51A3, 0xD192E819, 0xD6990624, 0xF40E3585, 0x106AA070, 0x19A4C116, 0x1E376C08, 0x2748774C, 0x34B0BCB5, 0x391C0CB3, 0x4ED8AA4A, 0x5B9CCA4F, 0x682E6FF3, 0x748F82EE, 0x78A5636F, 0x84C87814, 0x8CC70208, 0x90BEFFFA, 0xA4506CEB, 0xBEF9A3F7, 0xC67178F2); - var HASH = new Array(0x6A09E667, 0xBB67AE85, 0x3C6EF372, 0xA54FF53A, 0x510E527F, 0x9B05688C, 0x1F83D9AB, 0x5BE0CD19); - var W = new Array(64); - var a, b, c, d, e, f, g, h, i, j; - var T1, T2; - - m[l >> 5] |= 0x80 << (24 - l % 32); - m[((l + 64 >> 9) << 4) + 15] = l; - - for (var i = 0; i < m.length; i += 16) { - a = HASH[0]; - b = HASH[1]; - c = HASH[2]; - d = HASH[3]; - e = HASH[4]; - f = HASH[5]; - g = HASH[6]; - h = HASH[7]; - - for (var j = 0; j < 64; j++) { - if (j < 16) W[j] = m[j + i]; - else W[j] = safe_add(safe_add(safe_add(Gamma1256(W[j - 2]), W[j - 7]), Gamma0256(W[j - 15])), W[j - 16]); - - T1 = safe_add(safe_add(safe_add(safe_add(h, Sigma1256(e)), Ch(e, f, g)), K[j]), W[j]); - T2 = safe_add(Sigma0256(a), Maj(a, b, c)); - - h = g; - g = f; - f = e; - e = safe_add(d, T1); - d = c; - c = b; - b = a; - a = safe_add(T1, T2); - } - - HASH[0] = safe_add(a, HASH[0]); - HASH[1] = safe_add(b, HASH[1]); - HASH[2] = safe_add(c, HASH[2]); - HASH[3] = safe_add(d, HASH[3]); - HASH[4] = safe_add(e, HASH[4]); - HASH[5] = safe_add(f, HASH[5]); - HASH[6] = safe_add(g, HASH[6]); - HASH[7] = safe_add(h, HASH[7]); - } - return HASH; - } - - function str2binb(str) { - var bin = Array(); - var mask = (1 << chrsz) - 1; - for (var i = 0; i < str.length * chrsz; i += chrsz) { - bin[i >> 5] |= (str.charCodeAt(i / chrsz) & mask) << (24 - i % 32); - } - return bin; - } - - function Utf8Encode(string) { - string = string.replace(/\r\n/g, "\n"); - var utftext = ""; - - for (var n = 0; n < string.length; n++) { - - var c = string.charCodeAt(n); - - if (c < 128) { - utftext += String.fromCharCode(c); - } - else if ((c > 127) && (c < 2048)) { - utftext += String.fromCharCode((c >> 6) | 192); - utftext += String.fromCharCode((c & 63) | 128); - } - else { - utftext += String.fromCharCode((c >> 12) | 224); - utftext += String.fromCharCode(((c >> 6) & 63) | 128); - utftext += String.fromCharCode((c & 63) | 128); - } - - } - - return utftext; - } - - function binb2hex(binarray) { - var hex_tab = hexcase ? "0123456789ABCDEF" : "0123456789abcdef"; - var str = ""; - for (var i = 0; i < binarray.length * 4; i++) { - str += hex_tab.charAt((binarray[i >> 2] >> ((3 - i % 4) * 8 + 4)) & 0xF) + - hex_tab.charAt((binarray[i >> 2] >> ((3 - i % 4) * 8 )) & 0xF); - } - return str; - } - - s = Utf8Encode(s); - return binb2hex(core_sha256(str2binb(s), s.length * chrsz)); - -} \ No newline at end of file diff --git a/core/3.4/crypto/gibberish-aes.js b/core/3.4/crypto/gibberish-aes.js deleted file mode 100755 index c83cb3b6d..000000000 --- a/core/3.4/crypto/gibberish-aes.js +++ /dev/null @@ -1,998 +0,0 @@ -/** -* @license Gibberish-AES -* A lightweight Javascript Libray for OpenSSL compatible AES CBC encryption. -* -* Author: Mark Percival -* Email: mark@mpercival.com -* Copyright: Mark Percival - http://mpercival.com 2008 -* -* With thanks to: -* Josh Davis - http://www.josh-davis.org/ecmaScrypt -* Chris Veness - http://www.movable-type.co.uk/scripts/aes.html -* Michel I. Gallant - http://www.jensign.com/ -* Jean-Luc Cooke 2012-07-12: added strhex + invertArr to compress G2X/G3X/G9X/GBX/GEX/SBox/SBoxInv/Rcon saving over 7KB, and added encString, decString, also made the MD5 routine more easlier compressible using yuicompressor. -* -* License: MIT -* -* Usage: GibberishAES.enc("secret", "password") -* Outputs: AES Encrypted text encoded in Base64 -*/ - - -var GibberishAES = (function(){ - var Nr = 14, - /* Default to 256 Bit Encryption */ - Nk = 8, - Decrypt = false, - - enc_utf8 = function(s) - { - try { - return unescape(encodeURIComponent(s)); - } - catch(e) { - throw 'Error on UTF-8 encode'; - } - }, - - dec_utf8 = function(s) - { - try { - return decodeURIComponent(escape(s)); - } - catch(e) { - throw ('Bad Key'); - } - }, - - padBlock = function(byteArr) - { - var array = [], cpad, i; - if (byteArr.length < 16) { - cpad = 16 - byteArr.length; - array = [cpad, cpad, cpad, cpad, cpad, cpad, cpad, cpad, cpad, cpad, cpad, cpad, cpad, cpad, cpad, cpad]; - } - for (i = 0; i < byteArr.length; i++) - { - array[i] = byteArr[i]; - } - return array; - }, - - block2s = function(block, lastBlock) - { - var string = '', padding, i; - if (lastBlock) { - padding = block[15]; - if (padding > 16) { - throw ('Decryption error: Maybe bad key'); - } - if (padding == 16) { - return ''; - } - for (i = 0; i < 16 - padding; i++) { - string += String.fromCharCode(block[i]); - } - } else { - for (i = 0; i < 16; i++) { - string += String.fromCharCode(block[i]); - } - } - return string; - }, - - a2h = function(numArr) - { - var string = '', i; - for (i = 0; i < numArr.length; i++) { - string += (numArr[i] < 16 ? '0': '') + numArr[i].toString(16); - } - return string; - }, - - h2a = function(s) - { - var ret = []; - s.replace(/(..)/g, - function(s) { - ret.push(parseInt(s, 16)); - }); - return ret; - }, - - s2a = function(string, binary) { - var array = [], i; - - if (! binary) { - string = enc_utf8(string); - } - - for (i = 0; i < string.length; i++) - { - array[i] = string.charCodeAt(i); - } - - return array; - }, - - size = function(newsize) - { - switch (newsize) - { - case 128: - Nr = 10; - Nk = 4; - break; - case 192: - Nr = 12; - Nk = 6; - break; - case 256: - Nr = 14; - Nk = 8; - break; - default: - throw ('Invalid Key Size Specified:' + newsize); - } - }, - - randArr = function(num) { - var result = [], i; - for (i = 0; i < num; i++) { - result = result.concat(Math.floor(Math.random() * 256)); - } - return result; - }, - - openSSLKey = function(passwordArr, saltArr) { - // Number of rounds depends on the size of the AES in use - // 3 rounds for 256 - // 2 rounds for the key, 1 for the IV - // 2 rounds for 128 - // 1 round for the key, 1 round for the IV - // 3 rounds for 192 since it's not evenly divided by 128 bits - var rounds = Nr >= 12 ? 3: 2, - key = [], - iv = [], - md5_hash = [], - result = [], - data00 = passwordArr.concat(saltArr), - i; - md5_hash[0] = GibberishAES.Hash.MD5(data00); - result = md5_hash[0]; - for (i = 1; i < rounds; i++) { - md5_hash[i] = GibberishAES.Hash.MD5(md5_hash[i - 1].concat(data00)); - result = result.concat(md5_hash[i]); - } - key = result.slice(0, 4 * Nk); - iv = result.slice(4 * Nk, 4 * Nk + 16); - return { - key: key, - iv: iv - }; - }, - - rawEncrypt = function(plaintext, key, iv) { - // plaintext, key and iv as byte arrays - key = expandKey(key); - var numBlocks = Math.ceil(plaintext.length / 16), - blocks = [], - i, - cipherBlocks = []; - for (i = 0; i < numBlocks; i++) { - blocks[i] = padBlock(plaintext.slice(i * 16, i * 16 + 16)); - } - if (plaintext.length % 16 === 0) { - blocks.push([16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16]); - // CBC OpenSSL padding scheme - numBlocks++; - } - for (i = 0; i < blocks.length; i++) { - blocks[i] = (i === 0) ? xorBlocks(blocks[i], iv) : xorBlocks(blocks[i], cipherBlocks[i - 1]); - cipherBlocks[i] = encryptBlock(blocks[i], key); - } - return cipherBlocks; - }, - - rawDecrypt = function(cryptArr, key, iv, binary) { - // cryptArr, key and iv as byte arrays - key = expandKey(key); - var numBlocks = cryptArr.length / 16, - cipherBlocks = [], - i, - plainBlocks = [], - string = ''; - for (i = 0; i < numBlocks; i++) { - cipherBlocks.push(cryptArr.slice(i * 16, (i + 1) * 16)); - } - for (i = cipherBlocks.length - 1; i >= 0; i--) { - plainBlocks[i] = decryptBlock(cipherBlocks[i], key); - plainBlocks[i] = (i === 0) ? xorBlocks(plainBlocks[i], iv) : xorBlocks(plainBlocks[i], cipherBlocks[i - 1]); - } - for (i = 0; i < numBlocks - 1; i++) { - string += block2s(plainBlocks[i]); - } - string += block2s(plainBlocks[i], true); - return binary ? string : dec_utf8(string); - }, - - encryptBlock = function(block, words) { - Decrypt = false; - var state = addRoundKey(block, words, 0), - round; - for (round = 1; round < (Nr + 1); round++) { - state = subBytes(state); - state = shiftRows(state); - if (round < Nr) { - state = mixColumns(state); - } - //last round? don't mixColumns - state = addRoundKey(state, words, round); - } - - return state; - }, - - decryptBlock = function(block, words) { - Decrypt = true; - var state = addRoundKey(block, words, Nr), - round; - for (round = Nr - 1; round > -1; round--) { - state = shiftRows(state); - state = subBytes(state); - state = addRoundKey(state, words, round); - if (round > 0) { - state = mixColumns(state); - } - //last round? don't mixColumns - } - - return state; - }, - - subBytes = function(state) { - var S = Decrypt ? SBoxInv: SBox, - temp = [], - i; - for (i = 0; i < 16; i++) { - temp[i] = S[state[i]]; - } - return temp; - }, - - shiftRows = function(state) { - var temp = [], - shiftBy = Decrypt ? [0, 13, 10, 7, 4, 1, 14, 11, 8, 5, 2, 15, 12, 9, 6, 3] : [0, 5, 10, 15, 4, 9, 14, 3, 8, 13, 2, 7, 12, 1, 6, 11], - i; - for (i = 0; i < 16; i++) { - temp[i] = state[shiftBy[i]]; - } - return temp; - }, - - mixColumns = function(state) { - var t = [], - c; - if (!Decrypt) { - for (c = 0; c < 4; c++) { - t[c * 4] = G2X[state[c * 4]] ^ G3X[state[1 + c * 4]] ^ state[2 + c * 4] ^ state[3 + c * 4]; - t[1 + c * 4] = state[c * 4] ^ G2X[state[1 + c * 4]] ^ G3X[state[2 + c * 4]] ^ state[3 + c * 4]; - t[2 + c * 4] = state[c * 4] ^ state[1 + c * 4] ^ G2X[state[2 + c * 4]] ^ G3X[state[3 + c * 4]]; - t[3 + c * 4] = G3X[state[c * 4]] ^ state[1 + c * 4] ^ state[2 + c * 4] ^ G2X[state[3 + c * 4]]; - } - }else { - for (c = 0; c < 4; c++) { - t[c*4] = GEX[state[c*4]] ^ GBX[state[1+c*4]] ^ GDX[state[2+c*4]] ^ G9X[state[3+c*4]]; - t[1+c*4] = G9X[state[c*4]] ^ GEX[state[1+c*4]] ^ GBX[state[2+c*4]] ^ GDX[state[3+c*4]]; - t[2+c*4] = GDX[state[c*4]] ^ G9X[state[1+c*4]] ^ GEX[state[2+c*4]] ^ GBX[state[3+c*4]]; - t[3+c*4] = GBX[state[c*4]] ^ GDX[state[1+c*4]] ^ G9X[state[2+c*4]] ^ GEX[state[3+c*4]]; - } - } - - return t; - }, - - addRoundKey = function(state, words, round) { - var temp = [], - i; - for (i = 0; i < 16; i++) { - temp[i] = state[i] ^ words[round][i]; - } - return temp; - }, - - xorBlocks = function(block1, block2) { - var temp = [], - i; - for (i = 0; i < 16; i++) { - temp[i] = block1[i] ^ block2[i]; - } - return temp; - }, - - expandKey = function(key) { - // Expects a 1d number array - var w = [], - temp = [], - i, - r, - t, - flat = [], - j; - - for (i = 0; i < Nk; i++) { - r = [key[4 * i], key[4 * i + 1], key[4 * i + 2], key[4 * i + 3]]; - w[i] = r; - } - - for (i = Nk; i < (4 * (Nr + 1)); i++) { - w[i] = []; - for (t = 0; t < 4; t++) { - temp[t] = w[i - 1][t]; - } - if (i % Nk === 0) { - temp = subWord(rotWord(temp)); - temp[0] ^= Rcon[i / Nk - 1]; - } else if (Nk > 6 && i % Nk == 4) { - temp = subWord(temp); - } - for (t = 0; t < 4; t++) { - w[i][t] = w[i - Nk][t] ^ temp[t]; - } - } - for (i = 0; i < (Nr + 1); i++) { - flat[i] = []; - for (j = 0; j < 4; j++) { - flat[i].push(w[i * 4 + j][0], w[i * 4 + j][1], w[i * 4 + j][2], w[i * 4 + j][3]); - } - } - return flat; - }, - - subWord = function(w) { - // apply SBox to 4-byte word w - for (var i = 0; i < 4; i++) { - w[i] = SBox[w[i]]; - } - return w; - }, - - rotWord = function(w) { - // rotate 4-byte word w left by one byte - var tmp = w[0], - i; - for (i = 0; i < 4; i++) { - w[i] = w[i + 1]; - } - w[3] = tmp; - return w; - }, - -// jlcooke: 2012-07-12: added strhex + invertArr to compress G2X/G3X/G9X/GBX/GEX/SBox/SBoxInv/Rcon saving over 7KB, and added encString, decString - strhex = function(str,size) { - var ret = []; - for (i=0; i0x7f) ? 0x11b^(a<<1) : (a<<1); - b >>>= 1; - } - - return ret; - }, - Gx = function(x) { - var r = []; - for (var i=0; i<256; i++) - r[i] = Gxx(x, i); - return r; - }, - - // S-box -/* - SBox = [ - 99, 124, 119, 123, 242, 107, 111, 197, 48, 1, 103, 43, 254, 215, 171, - 118, 202, 130, 201, 125, 250, 89, 71, 240, 173, 212, 162, 175, 156, 164, - 114, 192, 183, 253, 147, 38, 54, 63, 247, 204, 52, 165, 229, 241, 113, - 216, 49, 21, 4, 199, 35, 195, 24, 150, 5, 154, 7, 18, 128, 226, - 235, 39, 178, 117, 9, 131, 44, 26, 27, 110, 90, 160, 82, 59, 214, - 179, 41, 227, 47, 132, 83, 209, 0, 237, 32, 252, 177, 91, 106, 203, - 190, 57, 74, 76, 88, 207, 208, 239, 170, 251, 67, 77, 51, 133, 69, - 249, 2, 127, 80, 60, 159, 168, 81, 163, 64, 143, 146, 157, 56, 245, - 188, 182, 218, 33, 16, 255, 243, 210, 205, 12, 19, 236, 95, 151, 68, - 23, 196, 167, 126, 61, 100, 93, 25, 115, 96, 129, 79, 220, 34, 42, - 144, 136, 70, 238, 184, 20, 222, 94, 11, 219, 224, 50, 58, 10, 73, - 6, 36, 92, 194, 211, 172, 98, 145, 149, 228, 121, 231, 200, 55, 109, - 141, 213, 78, 169, 108, 86, 244, 234, 101, 122, 174, 8, 186, 120, 37, - 46, 28, 166, 180, 198, 232, 221, 116, 31, 75, 189, 139, 138, 112, 62, - 181, 102, 72, 3, 246, 14, 97, 53, 87, 185, 134, 193, 29, 158, 225, - 248, 152, 17, 105, 217, 142, 148, 155, 30, 135, 233, 206, 85, 40, 223, - 140, 161, 137, 13, 191, 230, 66, 104, 65, 153, 45, 15, 176, 84, 187, - 22], //*/ SBox = strhex('637c777bf26b6fc53001672bfed7ab76ca82c97dfa5947f0add4a2af9ca472c0b7fd9326363ff7cc34a5e5f171d8311504c723c31896059a071280e2eb27b27509832c1a1b6e5aa0523bd6b329e32f8453d100ed20fcb15b6acbbe394a4c58cfd0efaafb434d338545f9027f503c9fa851a3408f929d38f5bcb6da2110fff3d2cd0c13ec5f974417c4a77e3d645d197360814fdc222a908846eeb814de5e0bdbe0323a0a4906245cc2d3ac629195e479e7c8376d8dd54ea96c56f4ea657aae08ba78252e1ca6b4c6e8dd741f4bbd8b8a703eb5664803f60e613557b986c11d9ee1f8981169d98e949b1e87e9ce5528df8ca1890dbfe6426841992d0fb054bb16',2), - - // Precomputed lookup table for the inverse SBox -/* SBoxInv = [ - 82, 9, 106, 213, 48, 54, 165, 56, 191, 64, 163, 158, 129, 243, 215, - 251, 124, 227, 57, 130, 155, 47, 255, 135, 52, 142, 67, 68, 196, 222, - 233, 203, 84, 123, 148, 50, 166, 194, 35, 61, 238, 76, 149, 11, 66, - 250, 195, 78, 8, 46, 161, 102, 40, 217, 36, 178, 118, 91, 162, 73, - 109, 139, 209, 37, 114, 248, 246, 100, 134, 104, 152, 22, 212, 164, 92, - 204, 93, 101, 182, 146, 108, 112, 72, 80, 253, 237, 185, 218, 94, 21, - 70, 87, 167, 141, 157, 132, 144, 216, 171, 0, 140, 188, 211, 10, 247, - 228, 88, 5, 184, 179, 69, 6, 208, 44, 30, 143, 202, 63, 15, 2, - 193, 175, 189, 3, 1, 19, 138, 107, 58, 145, 17, 65, 79, 103, 220, - 234, 151, 242, 207, 206, 240, 180, 230, 115, 150, 172, 116, 34, 231, 173, - 53, 133, 226, 249, 55, 232, 28, 117, 223, 110, 71, 241, 26, 113, 29, - 41, 197, 137, 111, 183, 98, 14, 170, 24, 190, 27, 252, 86, 62, 75, - 198, 210, 121, 32, 154, 219, 192, 254, 120, 205, 90, 244, 31, 221, 168, - 51, 136, 7, 199, 49, 177, 18, 16, 89, 39, 128, 236, 95, 96, 81, - 127, 169, 25, 181, 74, 13, 45, 229, 122, 159, 147, 201, 156, 239, 160, - 224, 59, 77, 174, 42, 245, 176, 200, 235, 187, 60, 131, 83, 153, 97, - 23, 43, 4, 126, 186, 119, 214, 38, 225, 105, 20, 99, 85, 33, 12, - 125], //*/ SBoxInv = invertArr(SBox), - - // Rijndael Rcon -/* - Rcon = [1, 2, 4, 8, 16, 32, 64, 128, 27, 54, 108, 216, 171, 77, 154, 47, 94, - 188, 99, 198, 151, 53, 106, 212, 179, 125, 250, 239, 197, 145], -//*/ Rcon = strhex('01020408102040801b366cd8ab4d9a2f5ebc63c697356ad4b37dfaefc591',2), - -/* - G2X = [ - 0x00, 0x02, 0x04, 0x06, 0x08, 0x0a, 0x0c, 0x0e, 0x10, 0x12, 0x14, 0x16, - 0x18, 0x1a, 0x1c, 0x1e, 0x20, 0x22, 0x24, 0x26, 0x28, 0x2a, 0x2c, 0x2e, - 0x30, 0x32, 0x34, 0x36, 0x38, 0x3a, 0x3c, 0x3e, 0x40, 0x42, 0x44, 0x46, - 0x48, 0x4a, 0x4c, 0x4e, 0x50, 0x52, 0x54, 0x56, 0x58, 0x5a, 0x5c, 0x5e, - 0x60, 0x62, 0x64, 0x66, 0x68, 0x6a, 0x6c, 0x6e, 0x70, 0x72, 0x74, 0x76, - 0x78, 0x7a, 0x7c, 0x7e, 0x80, 0x82, 0x84, 0x86, 0x88, 0x8a, 0x8c, 0x8e, - 0x90, 0x92, 0x94, 0x96, 0x98, 0x9a, 0x9c, 0x9e, 0xa0, 0xa2, 0xa4, 0xa6, - 0xa8, 0xaa, 0xac, 0xae, 0xb0, 0xb2, 0xb4, 0xb6, 0xb8, 0xba, 0xbc, 0xbe, - 0xc0, 0xc2, 0xc4, 0xc6, 0xc8, 0xca, 0xcc, 0xce, 0xd0, 0xd2, 0xd4, 0xd6, - 0xd8, 0xda, 0xdc, 0xde, 0xe0, 0xe2, 0xe4, 0xe6, 0xe8, 0xea, 0xec, 0xee, - 0xf0, 0xf2, 0xf4, 0xf6, 0xf8, 0xfa, 0xfc, 0xfe, 0x1b, 0x19, 0x1f, 0x1d, - 0x13, 0x11, 0x17, 0x15, 0x0b, 0x09, 0x0f, 0x0d, 0x03, 0x01, 0x07, 0x05, - 0x3b, 0x39, 0x3f, 0x3d, 0x33, 0x31, 0x37, 0x35, 0x2b, 0x29, 0x2f, 0x2d, - 0x23, 0x21, 0x27, 0x25, 0x5b, 0x59, 0x5f, 0x5d, 0x53, 0x51, 0x57, 0x55, - 0x4b, 0x49, 0x4f, 0x4d, 0x43, 0x41, 0x47, 0x45, 0x7b, 0x79, 0x7f, 0x7d, - 0x73, 0x71, 0x77, 0x75, 0x6b, 0x69, 0x6f, 0x6d, 0x63, 0x61, 0x67, 0x65, - 0x9b, 0x99, 0x9f, 0x9d, 0x93, 0x91, 0x97, 0x95, 0x8b, 0x89, 0x8f, 0x8d, - 0x83, 0x81, 0x87, 0x85, 0xbb, 0xb9, 0xbf, 0xbd, 0xb3, 0xb1, 0xb7, 0xb5, - 0xab, 0xa9, 0xaf, 0xad, 0xa3, 0xa1, 0xa7, 0xa5, 0xdb, 0xd9, 0xdf, 0xdd, - 0xd3, 0xd1, 0xd7, 0xd5, 0xcb, 0xc9, 0xcf, 0xcd, 0xc3, 0xc1, 0xc7, 0xc5, - 0xfb, 0xf9, 0xff, 0xfd, 0xf3, 0xf1, 0xf7, 0xf5, 0xeb, 0xe9, 0xef, 0xed, - 0xe3, 0xe1, 0xe7, 0xe5 - ], //*/ G2X = Gx(2), - -/* G3X = [ - 0x00, 0x03, 0x06, 0x05, 0x0c, 0x0f, 0x0a, 0x09, 0x18, 0x1b, 0x1e, 0x1d, - 0x14, 0x17, 0x12, 0x11, 0x30, 0x33, 0x36, 0x35, 0x3c, 0x3f, 0x3a, 0x39, - 0x28, 0x2b, 0x2e, 0x2d, 0x24, 0x27, 0x22, 0x21, 0x60, 0x63, 0x66, 0x65, - 0x6c, 0x6f, 0x6a, 0x69, 0x78, 0x7b, 0x7e, 0x7d, 0x74, 0x77, 0x72, 0x71, - 0x50, 0x53, 0x56, 0x55, 0x5c, 0x5f, 0x5a, 0x59, 0x48, 0x4b, 0x4e, 0x4d, - 0x44, 0x47, 0x42, 0x41, 0xc0, 0xc3, 0xc6, 0xc5, 0xcc, 0xcf, 0xca, 0xc9, - 0xd8, 0xdb, 0xde, 0xdd, 0xd4, 0xd7, 0xd2, 0xd1, 0xf0, 0xf3, 0xf6, 0xf5, - 0xfc, 0xff, 0xfa, 0xf9, 0xe8, 0xeb, 0xee, 0xed, 0xe4, 0xe7, 0xe2, 0xe1, - 0xa0, 0xa3, 0xa6, 0xa5, 0xac, 0xaf, 0xaa, 0xa9, 0xb8, 0xbb, 0xbe, 0xbd, - 0xb4, 0xb7, 0xb2, 0xb1, 0x90, 0x93, 0x96, 0x95, 0x9c, 0x9f, 0x9a, 0x99, - 0x88, 0x8b, 0x8e, 0x8d, 0x84, 0x87, 0x82, 0x81, 0x9b, 0x98, 0x9d, 0x9e, - 0x97, 0x94, 0x91, 0x92, 0x83, 0x80, 0x85, 0x86, 0x8f, 0x8c, 0x89, 0x8a, - 0xab, 0xa8, 0xad, 0xae, 0xa7, 0xa4, 0xa1, 0xa2, 0xb3, 0xb0, 0xb5, 0xb6, - 0xbf, 0xbc, 0xb9, 0xba, 0xfb, 0xf8, 0xfd, 0xfe, 0xf7, 0xf4, 0xf1, 0xf2, - 0xe3, 0xe0, 0xe5, 0xe6, 0xef, 0xec, 0xe9, 0xea, 0xcb, 0xc8, 0xcd, 0xce, - 0xc7, 0xc4, 0xc1, 0xc2, 0xd3, 0xd0, 0xd5, 0xd6, 0xdf, 0xdc, 0xd9, 0xda, - 0x5b, 0x58, 0x5d, 0x5e, 0x57, 0x54, 0x51, 0x52, 0x43, 0x40, 0x45, 0x46, - 0x4f, 0x4c, 0x49, 0x4a, 0x6b, 0x68, 0x6d, 0x6e, 0x67, 0x64, 0x61, 0x62, - 0x73, 0x70, 0x75, 0x76, 0x7f, 0x7c, 0x79, 0x7a, 0x3b, 0x38, 0x3d, 0x3e, - 0x37, 0x34, 0x31, 0x32, 0x23, 0x20, 0x25, 0x26, 0x2f, 0x2c, 0x29, 0x2a, - 0x0b, 0x08, 0x0d, 0x0e, 0x07, 0x04, 0x01, 0x02, 0x13, 0x10, 0x15, 0x16, - 0x1f, 0x1c, 0x19, 0x1a - ], //*/ G3X = Gx(3), - -/* - G9X = [ - 0x00, 0x09, 0x12, 0x1b, 0x24, 0x2d, 0x36, 0x3f, 0x48, 0x41, 0x5a, 0x53, - 0x6c, 0x65, 0x7e, 0x77, 0x90, 0x99, 0x82, 0x8b, 0xb4, 0xbd, 0xa6, 0xaf, - 0xd8, 0xd1, 0xca, 0xc3, 0xfc, 0xf5, 0xee, 0xe7, 0x3b, 0x32, 0x29, 0x20, - 0x1f, 0x16, 0x0d, 0x04, 0x73, 0x7a, 0x61, 0x68, 0x57, 0x5e, 0x45, 0x4c, - 0xab, 0xa2, 0xb9, 0xb0, 0x8f, 0x86, 0x9d, 0x94, 0xe3, 0xea, 0xf1, 0xf8, - 0xc7, 0xce, 0xd5, 0xdc, 0x76, 0x7f, 0x64, 0x6d, 0x52, 0x5b, 0x40, 0x49, - 0x3e, 0x37, 0x2c, 0x25, 0x1a, 0x13, 0x08, 0x01, 0xe6, 0xef, 0xf4, 0xfd, - 0xc2, 0xcb, 0xd0, 0xd9, 0xae, 0xa7, 0xbc, 0xb5, 0x8a, 0x83, 0x98, 0x91, - 0x4d, 0x44, 0x5f, 0x56, 0x69, 0x60, 0x7b, 0x72, 0x05, 0x0c, 0x17, 0x1e, - 0x21, 0x28, 0x33, 0x3a, 0xdd, 0xd4, 0xcf, 0xc6, 0xf9, 0xf0, 0xeb, 0xe2, - 0x95, 0x9c, 0x87, 0x8e, 0xb1, 0xb8, 0xa3, 0xaa, 0xec, 0xe5, 0xfe, 0xf7, - 0xc8, 0xc1, 0xda, 0xd3, 0xa4, 0xad, 0xb6, 0xbf, 0x80, 0x89, 0x92, 0x9b, - 0x7c, 0x75, 0x6e, 0x67, 0x58, 0x51, 0x4a, 0x43, 0x34, 0x3d, 0x26, 0x2f, - 0x10, 0x19, 0x02, 0x0b, 0xd7, 0xde, 0xc5, 0xcc, 0xf3, 0xfa, 0xe1, 0xe8, - 0x9f, 0x96, 0x8d, 0x84, 0xbb, 0xb2, 0xa9, 0xa0, 0x47, 0x4e, 0x55, 0x5c, - 0x63, 0x6a, 0x71, 0x78, 0x0f, 0x06, 0x1d, 0x14, 0x2b, 0x22, 0x39, 0x30, - 0x9a, 0x93, 0x88, 0x81, 0xbe, 0xb7, 0xac, 0xa5, 0xd2, 0xdb, 0xc0, 0xc9, - 0xf6, 0xff, 0xe4, 0xed, 0x0a, 0x03, 0x18, 0x11, 0x2e, 0x27, 0x3c, 0x35, - 0x42, 0x4b, 0x50, 0x59, 0x66, 0x6f, 0x74, 0x7d, 0xa1, 0xa8, 0xb3, 0xba, - 0x85, 0x8c, 0x97, 0x9e, 0xe9, 0xe0, 0xfb, 0xf2, 0xcd, 0xc4, 0xdf, 0xd6, - 0x31, 0x38, 0x23, 0x2a, 0x15, 0x1c, 0x07, 0x0e, 0x79, 0x70, 0x6b, 0x62, - 0x5d, 0x54, 0x4f, 0x46 - ], //*/ G9X = Gx(9), - -/* GBX = [ - 0x00, 0x0b, 0x16, 0x1d, 0x2c, 0x27, 0x3a, 0x31, 0x58, 0x53, 0x4e, 0x45, - 0x74, 0x7f, 0x62, 0x69, 0xb0, 0xbb, 0xa6, 0xad, 0x9c, 0x97, 0x8a, 0x81, - 0xe8, 0xe3, 0xfe, 0xf5, 0xc4, 0xcf, 0xd2, 0xd9, 0x7b, 0x70, 0x6d, 0x66, - 0x57, 0x5c, 0x41, 0x4a, 0x23, 0x28, 0x35, 0x3e, 0x0f, 0x04, 0x19, 0x12, - 0xcb, 0xc0, 0xdd, 0xd6, 0xe7, 0xec, 0xf1, 0xfa, 0x93, 0x98, 0x85, 0x8e, - 0xbf, 0xb4, 0xa9, 0xa2, 0xf6, 0xfd, 0xe0, 0xeb, 0xda, 0xd1, 0xcc, 0xc7, - 0xae, 0xa5, 0xb8, 0xb3, 0x82, 0x89, 0x94, 0x9f, 0x46, 0x4d, 0x50, 0x5b, - 0x6a, 0x61, 0x7c, 0x77, 0x1e, 0x15, 0x08, 0x03, 0x32, 0x39, 0x24, 0x2f, - 0x8d, 0x86, 0x9b, 0x90, 0xa1, 0xaa, 0xb7, 0xbc, 0xd5, 0xde, 0xc3, 0xc8, - 0xf9, 0xf2, 0xef, 0xe4, 0x3d, 0x36, 0x2b, 0x20, 0x11, 0x1a, 0x07, 0x0c, - 0x65, 0x6e, 0x73, 0x78, 0x49, 0x42, 0x5f, 0x54, 0xf7, 0xfc, 0xe1, 0xea, - 0xdb, 0xd0, 0xcd, 0xc6, 0xaf, 0xa4, 0xb9, 0xb2, 0x83, 0x88, 0x95, 0x9e, - 0x47, 0x4c, 0x51, 0x5a, 0x6b, 0x60, 0x7d, 0x76, 0x1f, 0x14, 0x09, 0x02, - 0x33, 0x38, 0x25, 0x2e, 0x8c, 0x87, 0x9a, 0x91, 0xa0, 0xab, 0xb6, 0xbd, - 0xd4, 0xdf, 0xc2, 0xc9, 0xf8, 0xf3, 0xee, 0xe5, 0x3c, 0x37, 0x2a, 0x21, - 0x10, 0x1b, 0x06, 0x0d, 0x64, 0x6f, 0x72, 0x79, 0x48, 0x43, 0x5e, 0x55, - 0x01, 0x0a, 0x17, 0x1c, 0x2d, 0x26, 0x3b, 0x30, 0x59, 0x52, 0x4f, 0x44, - 0x75, 0x7e, 0x63, 0x68, 0xb1, 0xba, 0xa7, 0xac, 0x9d, 0x96, 0x8b, 0x80, - 0xe9, 0xe2, 0xff, 0xf4, 0xc5, 0xce, 0xd3, 0xd8, 0x7a, 0x71, 0x6c, 0x67, - 0x56, 0x5d, 0x40, 0x4b, 0x22, 0x29, 0x34, 0x3f, 0x0e, 0x05, 0x18, 0x13, - 0xca, 0xc1, 0xdc, 0xd7, 0xe6, 0xed, 0xf0, 0xfb, 0x92, 0x99, 0x84, 0x8f, - 0xbe, 0xb5, 0xa8, 0xa3 - ], //*/ GBX = Gx(0xb), - -/* - GDX = [ - 0x00, 0x0d, 0x1a, 0x17, 0x34, 0x39, 0x2e, 0x23, 0x68, 0x65, 0x72, 0x7f, - 0x5c, 0x51, 0x46, 0x4b, 0xd0, 0xdd, 0xca, 0xc7, 0xe4, 0xe9, 0xfe, 0xf3, - 0xb8, 0xb5, 0xa2, 0xaf, 0x8c, 0x81, 0x96, 0x9b, 0xbb, 0xb6, 0xa1, 0xac, - 0x8f, 0x82, 0x95, 0x98, 0xd3, 0xde, 0xc9, 0xc4, 0xe7, 0xea, 0xfd, 0xf0, - 0x6b, 0x66, 0x71, 0x7c, 0x5f, 0x52, 0x45, 0x48, 0x03, 0x0e, 0x19, 0x14, - 0x37, 0x3a, 0x2d, 0x20, 0x6d, 0x60, 0x77, 0x7a, 0x59, 0x54, 0x43, 0x4e, - 0x05, 0x08, 0x1f, 0x12, 0x31, 0x3c, 0x2b, 0x26, 0xbd, 0xb0, 0xa7, 0xaa, - 0x89, 0x84, 0x93, 0x9e, 0xd5, 0xd8, 0xcf, 0xc2, 0xe1, 0xec, 0xfb, 0xf6, - 0xd6, 0xdb, 0xcc, 0xc1, 0xe2, 0xef, 0xf8, 0xf5, 0xbe, 0xb3, 0xa4, 0xa9, - 0x8a, 0x87, 0x90, 0x9d, 0x06, 0x0b, 0x1c, 0x11, 0x32, 0x3f, 0x28, 0x25, - 0x6e, 0x63, 0x74, 0x79, 0x5a, 0x57, 0x40, 0x4d, 0xda, 0xd7, 0xc0, 0xcd, - 0xee, 0xe3, 0xf4, 0xf9, 0xb2, 0xbf, 0xa8, 0xa5, 0x86, 0x8b, 0x9c, 0x91, - 0x0a, 0x07, 0x10, 0x1d, 0x3e, 0x33, 0x24, 0x29, 0x62, 0x6f, 0x78, 0x75, - 0x56, 0x5b, 0x4c, 0x41, 0x61, 0x6c, 0x7b, 0x76, 0x55, 0x58, 0x4f, 0x42, - 0x09, 0x04, 0x13, 0x1e, 0x3d, 0x30, 0x27, 0x2a, 0xb1, 0xbc, 0xab, 0xa6, - 0x85, 0x88, 0x9f, 0x92, 0xd9, 0xd4, 0xc3, 0xce, 0xed, 0xe0, 0xf7, 0xfa, - 0xb7, 0xba, 0xad, 0xa0, 0x83, 0x8e, 0x99, 0x94, 0xdf, 0xd2, 0xc5, 0xc8, - 0xeb, 0xe6, 0xf1, 0xfc, 0x67, 0x6a, 0x7d, 0x70, 0x53, 0x5e, 0x49, 0x44, - 0x0f, 0x02, 0x15, 0x18, 0x3b, 0x36, 0x21, 0x2c, 0x0c, 0x01, 0x16, 0x1b, - 0x38, 0x35, 0x22, 0x2f, 0x64, 0x69, 0x7e, 0x73, 0x50, 0x5d, 0x4a, 0x47, - 0xdc, 0xd1, 0xc6, 0xcb, 0xe8, 0xe5, 0xf2, 0xff, 0xb4, 0xb9, 0xae, 0xa3, - 0x80, 0x8d, 0x9a, 0x97 - ], //*/ GDX = Gx(0xd), - -/* - GEX = [ - 0x00, 0x0e, 0x1c, 0x12, 0x38, 0x36, 0x24, 0x2a, 0x70, 0x7e, 0x6c, 0x62, - 0x48, 0x46, 0x54, 0x5a, 0xe0, 0xee, 0xfc, 0xf2, 0xd8, 0xd6, 0xc4, 0xca, - 0x90, 0x9e, 0x8c, 0x82, 0xa8, 0xa6, 0xb4, 0xba, 0xdb, 0xd5, 0xc7, 0xc9, - 0xe3, 0xed, 0xff, 0xf1, 0xab, 0xa5, 0xb7, 0xb9, 0x93, 0x9d, 0x8f, 0x81, - 0x3b, 0x35, 0x27, 0x29, 0x03, 0x0d, 0x1f, 0x11, 0x4b, 0x45, 0x57, 0x59, - 0x73, 0x7d, 0x6f, 0x61, 0xad, 0xa3, 0xb1, 0xbf, 0x95, 0x9b, 0x89, 0x87, - 0xdd, 0xd3, 0xc1, 0xcf, 0xe5, 0xeb, 0xf9, 0xf7, 0x4d, 0x43, 0x51, 0x5f, - 0x75, 0x7b, 0x69, 0x67, 0x3d, 0x33, 0x21, 0x2f, 0x05, 0x0b, 0x19, 0x17, - 0x76, 0x78, 0x6a, 0x64, 0x4e, 0x40, 0x52, 0x5c, 0x06, 0x08, 0x1a, 0x14, - 0x3e, 0x30, 0x22, 0x2c, 0x96, 0x98, 0x8a, 0x84, 0xae, 0xa0, 0xb2, 0xbc, - 0xe6, 0xe8, 0xfa, 0xf4, 0xde, 0xd0, 0xc2, 0xcc, 0x41, 0x4f, 0x5d, 0x53, - 0x79, 0x77, 0x65, 0x6b, 0x31, 0x3f, 0x2d, 0x23, 0x09, 0x07, 0x15, 0x1b, - 0xa1, 0xaf, 0xbd, 0xb3, 0x99, 0x97, 0x85, 0x8b, 0xd1, 0xdf, 0xcd, 0xc3, - 0xe9, 0xe7, 0xf5, 0xfb, 0x9a, 0x94, 0x86, 0x88, 0xa2, 0xac, 0xbe, 0xb0, - 0xea, 0xe4, 0xf6, 0xf8, 0xd2, 0xdc, 0xce, 0xc0, 0x7a, 0x74, 0x66, 0x68, - 0x42, 0x4c, 0x5e, 0x50, 0x0a, 0x04, 0x16, 0x18, 0x32, 0x3c, 0x2e, 0x20, - 0xec, 0xe2, 0xf0, 0xfe, 0xd4, 0xda, 0xc8, 0xc6, 0x9c, 0x92, 0x80, 0x8e, - 0xa4, 0xaa, 0xb8, 0xb6, 0x0c, 0x02, 0x10, 0x1e, 0x34, 0x3a, 0x28, 0x26, - 0x7c, 0x72, 0x60, 0x6e, 0x44, 0x4a, 0x58, 0x56, 0x37, 0x39, 0x2b, 0x25, - 0x0f, 0x01, 0x13, 0x1d, 0x47, 0x49, 0x5b, 0x55, 0x7f, 0x71, 0x63, 0x6d, - 0xd7, 0xd9, 0xcb, 0xc5, 0xef, 0xe1, 0xf3, 0xfd, 0xa7, 0xa9, 0xbb, 0xb5, - 0x9f, 0x91, 0x83, 0x8d - ], //*/ GEX = Gx(0xe), - - enc = function(string, pass, binary) { - // string, password in plaintext - var salt = randArr(8), - pbe = openSSLKey(s2a(pass, binary), salt), - key = pbe.key, - iv = pbe.iv, - cipherBlocks, - saltBlock = [[83, 97, 108, 116, 101, 100, 95, 95].concat(salt)]; - string = s2a(string, binary); - cipherBlocks = rawEncrypt(string, key, iv); - // Spells out 'Salted__' - cipherBlocks = saltBlock.concat(cipherBlocks); - return Base64.encode(cipherBlocks); - }, - - dec = function(string, pass, binary) { - // string, password in plaintext - var cryptArr = Base64.decode(string), - salt = cryptArr.slice(8, 16), - pbe = openSSLKey(s2a(pass, binary), salt), - key = pbe.key, - iv = pbe.iv; - cryptArr = cryptArr.slice(16, cryptArr.length); - // Take off the Salted__ffeeddcc - string = rawDecrypt(cryptArr, key, iv, binary); - return string; - }, - - MD5 = function(numArr) { - - function rotateLeft(lValue, iShiftBits) { - return (lValue << iShiftBits) | (lValue >>> (32 - iShiftBits)); - } - - function addUnsigned(lX, lY) { - var lX4, - lY4, - lX8, - lY8, - lResult; - lX8 = (lX & 0x80000000); - lY8 = (lY & 0x80000000); - lX4 = (lX & 0x40000000); - lY4 = (lY & 0x40000000); - lResult = (lX & 0x3FFFFFFF) + (lY & 0x3FFFFFFF); - if (lX4 & lY4) { - return (lResult ^ 0x80000000 ^ lX8 ^ lY8); - } - if (lX4 | lY4) { - if (lResult & 0x40000000) { - return (lResult ^ 0xC0000000 ^ lX8 ^ lY8); - } else { - return (lResult ^ 0x40000000 ^ lX8 ^ lY8); - } - } else { - return (lResult ^ lX8 ^ lY8); - } - } - - function f(x, y, z) { - return (x & y) | ((~x) & z); - } - function g(x, y, z) { - return (x & z) | (y & (~z)); - } - function h(x, y, z) { - return (x ^ y ^ z); - } - function funcI(x, y, z) { - return (y ^ (x | (~z))); - } - - function ff(a, b, c, d, x, s, ac) { - a = addUnsigned(a, addUnsigned(addUnsigned(f(b, c, d), x), ac)); - return addUnsigned(rotateLeft(a, s), b); - } - - function gg(a, b, c, d, x, s, ac) { - a = addUnsigned(a, addUnsigned(addUnsigned(g(b, c, d), x), ac)); - return addUnsigned(rotateLeft(a, s), b); - } - - function hh(a, b, c, d, x, s, ac) { - a = addUnsigned(a, addUnsigned(addUnsigned(h(b, c, d), x), ac)); - return addUnsigned(rotateLeft(a, s), b); - } - - function ii(a, b, c, d, x, s, ac) { - a = addUnsigned(a, addUnsigned(addUnsigned(funcI(b, c, d), x), ac)); - return addUnsigned(rotateLeft(a, s), b); - } - - function convertToWordArray(numArr) { - var lWordCount, - lMessageLength = numArr.length, - lNumberOfWords_temp1 = lMessageLength + 8, - lNumberOfWords_temp2 = (lNumberOfWords_temp1 - (lNumberOfWords_temp1 % 64)) / 64, - lNumberOfWords = (lNumberOfWords_temp2 + 1) * 16, - lWordArray = [], - lBytePosition = 0, - lByteCount = 0; - while (lByteCount < lMessageLength) { - lWordCount = (lByteCount - (lByteCount % 4)) / 4; - lBytePosition = (lByteCount % 4) * 8; - lWordArray[lWordCount] = (lWordArray[lWordCount] | (numArr[lByteCount] << lBytePosition)); - lByteCount++; - } - lWordCount = (lByteCount - (lByteCount % 4)) / 4; - lBytePosition = (lByteCount % 4) * 8; - lWordArray[lWordCount] = lWordArray[lWordCount] | (0x80 << lBytePosition); - lWordArray[lNumberOfWords - 2] = lMessageLength << 3; - lWordArray[lNumberOfWords - 1] = lMessageLength >>> 29; - return lWordArray; - } - - function wordToHex(lValue) { - var lByte, - lCount, - wordToHexArr = []; - for (lCount = 0; lCount <= 3; lCount++) { - lByte = (lValue >>> (lCount * 8)) & 255; - wordToHexArr = wordToHexArr.concat(lByte); - } - return wordToHexArr; - } - - /*function utf8Encode(string) { - string = string.replace(/\r\n/g, "\n"); - var utftext = "", - n, - c; - - for (n = 0; n < string.length; n++) { - - c = string.charCodeAt(n); - - if (c < 128) { - utftext += String.fromCharCode(c); - } - else if ((c > 127) && (c < 2048)) { - utftext += String.fromCharCode((c >> 6) | 192); - utftext += String.fromCharCode((c & 63) | 128); - } - else { - utftext += String.fromCharCode((c >> 12) | 224); - utftext += String.fromCharCode(((c >> 6) & 63) | 128); - utftext += String.fromCharCode((c & 63) | 128); - } - - } - - return utftext; - }*/ - - var x = [], - k, - AA, - BB, - CC, - DD, - a, - b, - c, - d, - rnd = strhex('67452301efcdab8998badcfe10325476d76aa478e8c7b756242070dbc1bdceeef57c0faf4787c62aa8304613fd469501698098d88b44f7afffff5bb1895cd7be6b901122fd987193a679438e49b40821f61e2562c040b340265e5a51e9b6c7aad62f105d02441453d8a1e681e7d3fbc821e1cde6c33707d6f4d50d87455a14eda9e3e905fcefa3f8676f02d98d2a4c8afffa39428771f6816d9d6122fde5380ca4beea444bdecfa9f6bb4b60bebfbc70289b7ec6eaa127fad4ef308504881d05d9d4d039e6db99e51fa27cf8c4ac5665f4292244432aff97ab9423a7fc93a039655b59c38f0ccc92ffeff47d85845dd16fa87e4ffe2ce6e0a30143144e0811a1f7537e82bd3af2352ad7d2bbeb86d391',8); - - x = convertToWordArray(numArr); - - a = rnd[0]; - b = rnd[1]; - c = rnd[2]; - d = rnd[3] - - for (k = 0; k < x.length; k += 16) { - AA = a; - BB = b; - CC = c; - DD = d; - a = ff(a, b, c, d, x[k + 0], 7, rnd[4]); - d = ff(d, a, b, c, x[k + 1], 12, rnd[5]); - c = ff(c, d, a, b, x[k + 2], 17, rnd[6]); - b = ff(b, c, d, a, x[k + 3], 22, rnd[7]); - a = ff(a, b, c, d, x[k + 4], 7, rnd[8]); - d = ff(d, a, b, c, x[k + 5], 12, rnd[9]); - c = ff(c, d, a, b, x[k + 6], 17, rnd[10]); - b = ff(b, c, d, a, x[k + 7], 22, rnd[11]); - a = ff(a, b, c, d, x[k + 8], 7, rnd[12]); - d = ff(d, a, b, c, x[k + 9], 12, rnd[13]); - c = ff(c, d, a, b, x[k + 10], 17, rnd[14]); - b = ff(b, c, d, a, x[k + 11], 22, rnd[15]); - a = ff(a, b, c, d, x[k + 12], 7, rnd[16]); - d = ff(d, a, b, c, x[k + 13], 12, rnd[17]); - c = ff(c, d, a, b, x[k + 14], 17, rnd[18]); - b = ff(b, c, d, a, x[k + 15], 22, rnd[19]); - a = gg(a, b, c, d, x[k + 1], 5, rnd[20]); - d = gg(d, a, b, c, x[k + 6], 9, rnd[21]); - c = gg(c, d, a, b, x[k + 11], 14, rnd[22]); - b = gg(b, c, d, a, x[k + 0], 20, rnd[23]); - a = gg(a, b, c, d, x[k + 5], 5, rnd[24]); - d = gg(d, a, b, c, x[k + 10], 9, rnd[25]); - c = gg(c, d, a, b, x[k + 15], 14, rnd[26]); - b = gg(b, c, d, a, x[k + 4], 20, rnd[27]); - a = gg(a, b, c, d, x[k + 9], 5, rnd[28]); - d = gg(d, a, b, c, x[k + 14], 9, rnd[29]); - c = gg(c, d, a, b, x[k + 3], 14, rnd[30]); - b = gg(b, c, d, a, x[k + 8], 20, rnd[31]); - a = gg(a, b, c, d, x[k + 13], 5, rnd[32]); - d = gg(d, a, b, c, x[k + 2], 9, rnd[33]); - c = gg(c, d, a, b, x[k + 7], 14, rnd[34]); - b = gg(b, c, d, a, x[k + 12], 20, rnd[35]); - a = hh(a, b, c, d, x[k + 5], 4, rnd[36]); - d = hh(d, a, b, c, x[k + 8], 11, rnd[37]); - c = hh(c, d, a, b, x[k + 11], 16, rnd[38]); - b = hh(b, c, d, a, x[k + 14], 23, rnd[39]); - a = hh(a, b, c, d, x[k + 1], 4, rnd[40]); - d = hh(d, a, b, c, x[k + 4], 11, rnd[41]); - c = hh(c, d, a, b, x[k + 7], 16, rnd[42]); - b = hh(b, c, d, a, x[k + 10], 23, rnd[43]); - a = hh(a, b, c, d, x[k + 13], 4, rnd[44]); - d = hh(d, a, b, c, x[k + 0], 11, rnd[45]); - c = hh(c, d, a, b, x[k + 3], 16, rnd[46]); - b = hh(b, c, d, a, x[k + 6], 23, rnd[47]); - a = hh(a, b, c, d, x[k + 9], 4, rnd[48]); - d = hh(d, a, b, c, x[k + 12], 11, rnd[49]); - c = hh(c, d, a, b, x[k + 15], 16, rnd[50]); - b = hh(b, c, d, a, x[k + 2], 23, rnd[51]); - a = ii(a, b, c, d, x[k + 0], 6, rnd[52]); - d = ii(d, a, b, c, x[k + 7], 10, rnd[53]); - c = ii(c, d, a, b, x[k + 14], 15, rnd[54]); - b = ii(b, c, d, a, x[k + 5], 21, rnd[55]); - a = ii(a, b, c, d, x[k + 12], 6, rnd[56]); - d = ii(d, a, b, c, x[k + 3], 10, rnd[57]); - c = ii(c, d, a, b, x[k + 10], 15, rnd[58]); - b = ii(b, c, d, a, x[k + 1], 21, rnd[59]); - a = ii(a, b, c, d, x[k + 8], 6, rnd[60]); - d = ii(d, a, b, c, x[k + 15], 10, rnd[61]); - c = ii(c, d, a, b, x[k + 6], 15, rnd[62]); - b = ii(b, c, d, a, x[k + 13], 21, rnd[63]); - a = ii(a, b, c, d, x[k + 4], 6, rnd[64]); - d = ii(d, a, b, c, x[k + 11], 10, rnd[65]); - c = ii(c, d, a, b, x[k + 2], 15, rnd[66]); - b = ii(b, c, d, a, x[k + 9], 21, rnd[67]); - a = addUnsigned(a, AA); - b = addUnsigned(b, BB); - c = addUnsigned(c, CC); - d = addUnsigned(d, DD); - } - - return wordToHex(a).concat(wordToHex(b), wordToHex(c), wordToHex(d)); - }, - - encString = function(plaintext, key, iv) { - plaintext = s2a(plaintext); - - key = s2a(key); - for (var i=key.length; i<32; i++) - key[i] = 0; - - if (iv == null) { - iv = genIV(); - } else { - iv = s2a(iv); - for (var i=iv.length; i<16; i++) - iv[i] = 0; - } - - var ct = rawEncrypt(plaintext, key, iv); - var ret = [iv]; - for (var i=0; i> 2]; - b64 += chars[((flatArr[i] & 3) << 4) | (flatArr[i + 1] >> 4)]; - if (! (flatArr[i + 1] === undefined)) { - b64 += chars[((flatArr[i + 1] & 15) << 2) | (flatArr[i + 2] >> 6)]; - } else { - b64 += '='; - } - if (! (flatArr[i + 2] === undefined)) { - b64 += chars[flatArr[i + 2] & 63]; - } else { - b64 += '='; - } - } - // OpenSSL is super particular about line breaks - broken_b64 = b64.slice(0, 64); // + '\n'; - for (i = 1; i < (Math.ceil(b64.length / 64)); i++) { - broken_b64 += b64.slice(i * 64, i * 64 + 64) + (Math.ceil(b64.length / 64) == i + 1 ? '': '\n'); - } - return broken_b64; - }, - - decode = function(string) { - string = string.replace(/\n/g, ''); - var flatArr = [], - c = [], - b = [], - i; - for (i = 0; i < string.length; i = i + 4) { - c[0] = _chars.indexOf(string.charAt(i)); - c[1] = _chars.indexOf(string.charAt(i + 1)); - c[2] = _chars.indexOf(string.charAt(i + 2)); - c[3] = _chars.indexOf(string.charAt(i + 3)); - - b[0] = (c[0] << 2) | (c[1] >> 4); - b[1] = ((c[1] & 15) << 4) | (c[2] >> 2); - b[2] = ((c[2] & 3) << 6) | c[3]; - flatArr.push(b[0], b[1], b[2]); - } - flatArr = flatArr.slice(0, flatArr.length - (flatArr.length % 16)); - return flatArr; - }; - - //internet explorer - if(typeof Array.indexOf === "function") { - _chars = chars; - } - - /* - //other way to solve internet explorer problem - if(!Array.indexOf){ - Array.prototype.indexOf = function(obj){ - for(var i=0; i - - - -

AES256 Encryption Demo for JavaScript

- - - -
-
- - -
- - - - - - - - - - \ No newline at end of file diff --git a/core/3.4/json.js b/core/3.4/json.js deleted file mode 100644 index 5802af653..000000000 --- a/core/3.4/json.js +++ /dev/null @@ -1,155 +0,0 @@ -/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= JSON =============================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -(window['JSON'] && window['JSON']['stringify']) || (function () { - window['JSON'] || (window['JSON'] = {}); - - if (typeof String.prototype.toJSON !== 'function') { - String.prototype.toJSON = - Number.prototype.toJSON = - Boolean.prototype.toJSON = function (key) { - return this.valueOf(); - }; - } - - var cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, - escapable = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, - gap, - indent, - meta = { // table of character substitutions - '\b': '\\b', - '\t': '\\t', - '\n': '\\n', - '\f': '\\f', - '\r': '\\r', - '"' : '\\"', - '\\': '\\\\' - }, - rep; - - function quote(string) { - escapable.lastIndex = 0; - return escapable.test(string) ? - '"' + string.replace(escapable, function (a) { - var c = meta[a]; - return typeof c === 'string' ? c : - '\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4); - }) + '"' : - '"' + string + '"'; - } - - - function str(key, holder) { - var i, // The loop counter. - k, // The member key. - v, // The member value. - length, - mind = gap, - partial, - value = holder[key]; - - if (value && typeof value === 'object' && - typeof value.toJSON === 'function') { - value = value.toJSON(key); - } - - if (typeof rep === 'function') { - value = rep.call(holder, key, value); - } - - switch (typeof value) { - case 'string': - return quote(value); - - case 'number': - return isFinite(value) ? String(value) : 'null'; - - case 'boolean': - case 'null': - return String(value); - - case 'object': - - if (!value) { - return 'null'; - } - - gap += indent; - partial = []; - - if (Object.prototype.toString.apply(value) === '[object Array]') { - - length = value.length; - for (i = 0; i < length; i += 1) { - partial[i] = str(i, value) || 'null'; - } - - v = partial.length === 0 ? '[]' : - gap ? '[\n' + gap + - partial.join(',\n' + gap) + '\n' + - mind + ']' : - '[' + partial.join(',') + ']'; - gap = mind; - return v; - } - if (rep && typeof rep === 'object') { - length = rep.length; - for (i = 0; i < length; i += 1) { - k = rep[i]; - if (typeof k === 'string') { - v = str(k, value); - if (v) { - partial.push(quote(k) + (gap ? ': ' : ':') + v); - } - } - } - } else { - for (k in value) { - if (Object.hasOwnProperty.call(value, k)) { - v = str(k, value); - if (v) { - partial.push(quote(k) + (gap ? ': ' : ':') + v); - } - } - } - } - - v = partial.length === 0 ? '{}' : - gap ? '{\n' + gap + partial.join(',\n' + gap) + '\n' + - mind + '}' : '{' + partial.join(',') + '}'; - gap = mind; - return v; - } - } - - if (typeof JSON['stringify'] !== 'function') { - JSON['stringify'] = function (value, replacer, space) { - var i; - gap = ''; - indent = ''; - - if (typeof space === 'number') { - for (i = 0; i < space; i += 1) { - indent += ' '; - } - } else if (typeof space === 'string') { - indent = space; - } - rep = replacer; - if (replacer && typeof replacer !== 'function' && - (typeof replacer !== 'object' || - typeof replacer.length !== 'number')) { - throw new Error('JSON.stringify'); - } - return str('', {'': value}); - }; - } - - if (typeof JSON['parse'] !== 'function') { - // JSON is parsed on the server for security. - JSON['parse'] = function (text) {return eval('('+text+')')}; - } -}()); diff --git a/core/3.4/pubnub-3.4.js b/core/3.4/pubnub-3.4.js deleted file mode 100644 index f90f99072..000000000 --- a/core/3.4/pubnub-3.4.js +++ /dev/null @@ -1,1035 +0,0 @@ -/* --------------------------------------------------------------------------- -WAIT! - This file depends on instructions from the PUBNUB Cloud. -http://www.pubnub.com/account-javascript-api-include ---------------------------------------------------------------------------- */ - -/* --------------------------------------------------------------------------- -PubNub Real-time Cloud-Hosted Push API and Push Notification Client Frameworks -Copyright (c) 2011 PubNub Inc. -http://www.pubnub.com/ -http://www.pubnub.com/terms ---------------------------------------------------------------------------- */ - -/* --------------------------------------------------------------------------- -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. ---------------------------------------------------------------------------- */ - -/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= UTIL =============================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -window['PUBNUB'] || (function() { - -/** - * UTIL LOCALS - */ -var NOW = 1 -, SWF = 'https://pubnub.a.ssl.fastly.net/pubnub.swf' -, REPL = /{([\w\-]+)}/g -, ASYNC = 'async' -, URLBIT = '/' -, PARAMSBIT = '&' -, SUB_TIMEOUT = 310000 -, DEF_TIMEOUT = 10000 -, SECOND = 1000 -, PRESENCE_SUFFIX = '-pnpres' -, UA = navigator.userAgent -, XORIGN = UA.indexOf('MSIE 6') == -1; - -/** - * CONSOLE COMPATIBILITY - */ -window.console || (window.console=window.console||{}); -console.log || ( - console.log = - console.error = - ((window.opera||{}).postError||function(){}) -); - -/** - * UTILITIES - */ -function unique() { return'x'+ ++NOW+''+(+new Date) } -function rnow() { return+new Date } - -/** - * LOCAL STORAGE OR COOKIE - */ -var db = (function(){ - var ls = window['localStorage']; - return { - 'get' : function(key) { - try { - if (ls) return ls.getItem(key); - if (document.cookie.indexOf(key) == -1) return null; - return ((document.cookie||'').match( - RegExp(key+'=([^;]+)') - )||[])[1] || null; - } catch(e) { return } - }, - 'set' : function( key, value ) { - try { - if (ls) return ls.setItem( key, value ) && 0; - document.cookie = key + '=' + value + - '; expires=Thu, 1 Aug 2030 20:00:00 UTC; path=/'; - } catch(e) { return } - } - }; -})(); - -/** - * NEXTORIGIN - * ========== - * var next_origin = nextorigin(); - */ -var nextorigin = (function() { - var max = 20 - , ori = Math.floor(Math.random() * max); - return function(origin) { - return origin.indexOf('pubsub') > 0 - && origin.replace( - 'pubsub', 'ps' + (++ori < max? ori : ori=1) - ) || origin; - } -})(); - -/** - * UPDATER - * ======= - * var timestamp = unique(); - */ -function updater( fun, rate ) { - var timeout - , last = 0 - , runnit = function() { - if (last + rate > rnow()) { - clearTimeout(timeout); - timeout = setTimeout( runnit, rate ); - } - else { - last = rnow(); - fun(); - } - }; - - return runnit; -} - -/** - * $ - * = - * var div = $('divid'); - */ -function $(id) { return document.getElementById(id) } - -/** - * ERROR - * ===== - * error('message'); - */ -function error(message) { console['error'](message) } - -/** - * SEARCH - * ====== - * var elements = search('a div span'); - */ -function search( elements, start ) { - var list = []; - each( elements.split(/\s+/), function(el) { - each( (start || document).getElementsByTagName(el), function(node) { - list.push(node); - } ); - } ); - return list; -} - -/** - * EACH - * ==== - * each( [1,2,3], function(item) { } ) - */ -function each( o, f ) { - if ( !o || !f ) return; - - if ( typeof o[0] != 'undefined' ) - for ( var i = 0, l = o.length; i < l; ) - f.call( o[i], o[i], i++ ); - else - for ( var i in o ) - o.hasOwnProperty && - o.hasOwnProperty(i) && - f.call( o[i], i, o[i] ); -} - -/** - * MAP - * === - * var list = map( [1,2,3], function(item) { return item + 1 } ) - */ -function map( list, fun ) { - var fin = []; - each( list || [], function( k, v ) { fin.push(fun( k, v )) } ); - return fin; -} - -/** - * GREP - * ==== - * var list = grep( [1,2,3], function(item) { return item % 2 } ) - */ -function grep( list, fun ) { - var fin = []; - each( list || [], function(l) { fun(l) && fin.push(l) } ); - return fin -} - -/** - * SUPPLANT - * ======== - * var text = supplant( 'Hello {name}!', { name : 'John' } ) - */ -function supplant( str, values ) { - return str.replace( REPL, function( _, match ) { - return values[match] || _ - } ); -} - -/** - * BIND - * ==== - * bind( 'keydown', search('a')[0], function(element) { - * ... - * } ); - */ -function bind( type, el, fun ) { - each( type.split(','), function(etype) { - var rapfun = function(e) { - if (!e) e = window.event; - if (!fun(e)) { - e.cancelBubble = true; - e.returnValue = false; - e.preventDefault && e.preventDefault(); - e.stopPropagation && e.stopPropagation(); - } - }; - - if ( el.addEventListener ) el.addEventListener( etype, rapfun, false ); - else if ( el.attachEvent ) el.attachEvent( 'on' + etype, rapfun ); - else el[ 'on' + etype ] = rapfun; - } ); -} - -/** - * UNBIND - * ====== - * unbind( 'keydown', search('a')[0] ); - */ -function unbind( type, el, fun ) { - if ( el.removeEventListener ) el.removeEventListener( type, false ); - else if ( el.detachEvent ) el.detachEvent( 'on' + type, false ); - else el[ 'on' + type ] = null; -} - -/** - * HEAD - * ==== - * head().appendChild(elm); - */ -function head() { return search('head')[0] } - -/** - * ATTR - * ==== - * var attribute = attr( node, 'attribute' ); - */ -function attr( node, attribute, value ) { - if (value) node.setAttribute( attribute, value ); - else return node && node.getAttribute && node.getAttribute(attribute); -} - -/** - * CSS - * === - * var obj = create('div'); - */ -function css( element, styles ) { - for (var style in styles) if (styles.hasOwnProperty(style)) - try {element.style[style] = styles[style] + ( - '|width|height|top|left|'.indexOf(style) > 0 && - typeof styles[style] == 'number' - ? 'px' : '' - )}catch(e){} -} - -/** - * CREATE - * ====== - * var obj = create('div'); - */ -function create(element) { return document.createElement(element) } - -/** - * timeout - * ======= - * timeout( function(){}, 100 ); - */ -function timeout( fun, wait ) { - return setTimeout( fun, wait ); -} - -/** - * jsonp_cb - * ======== - * var callback = jsonp_cb(); - */ -function jsonp_cb() { return XORIGN || FDomainRequest() ? 0 : unique() } - -/** - * ENCODE - * ====== - * var encoded_path = encode('path'); - */ -function encode(path) { - return map( (encodeURIComponent(path)).split(''), function(chr) { - return "-_.!~*'()".indexOf(chr) < 0 ? chr : - "%"+chr.charCodeAt(0).toString(16).toUpperCase() - } ).join(''); -} - -/** - * EVENTS - * ====== - * PUBNUB.events.bind( 'you-stepped-on-flower', function(message) { - * // Do Stuff with message - * } ); - * - * PUBNUB.events.fire( 'you-stepped-on-flower', "message-data" ); - * PUBNUB.events.fire( 'you-stepped-on-flower', {message:"data"} ); - * PUBNUB.events.fire( 'you-stepped-on-flower', [1,2,3] ); - * - */ -var events = { - 'list' : {}, - 'unbind' : function( name ) { events.list[name] = [] }, - 'bind' : function( name, fun ) { - (events.list[name] = events.list[name] || []).push(fun); - }, - 'fire' : function( name, data ) { - each( - events.list[name] || [], - function(fun) { fun(data) } - ); - } -}; - -/** - * XDR Cross Domain Request - * ======================== - * xdr({ - * url : ['http://www.blah.com/url'], - * success : function(response) {}, - * fail : function() {} - * }); - */ -function xdr( setup ) { - if (XORIGN || FDomainRequest()) return ajax(setup); - - var script = create('script') - , callback = setup.callback - , id = unique() - , finished = 0 - , xhrtme = setup.timeout || DEF_TIMEOUT - , timer = timeout( function(){done(1)}, xhrtme ) - , fail = setup.fail || function(){} - , success = setup.success || function(){} - - , append = function() { - head().appendChild(script); - } - - , done = function( failed, response ) { - if (finished) return; - finished = 1; - - failed || success(response); - script.onerror = null; - clearTimeout(timer); - - timeout( function() { - failed && fail(); - var s = $(id) - , p = s && s.parentNode; - p && p.removeChild(s); - }, SECOND ); - }; - - window[callback] = function(response) { - done( 0, response ); - }; - - if (!setup.blocking) script[ASYNC] = ASYNC; - - script.onerror = function() { done(1) }; - script.src = setup.url.join(URLBIT); - - if (setup.data) { - var params = []; - script.src += "?"; - for (key in setup.data) { - params.push(key+"="+setup.data[key]); - } - script.src += params.join(PARAMSBIT); - } - attr( script, 'id', id ); - - append(); - return done; -} - -/** - * CORS XHR Request - * ================ - * xdr({ - * url : ['http://www.blah.com/url'], - * success : function(response) {}, - * fail : function() {} - * }); - */ -function ajax( setup ) { - var xhr, response - , finished = function() { - if (loaded) return; - loaded = 1; - - clearTimeout(timer); - - try { response = JSON['parse'](xhr.responseText); } - catch (r) { return done(1); } - - success(response); - } - , complete = 0 - , loaded = 0 - , xhrtme = setup.timeout || DEF_TIMEOUT - , timer = timeout( function(){done(1)}, xhrtme ) - , fail = setup.fail || function(){} - , success = setup.success || function(){} - , done = function(failed) { - if (complete) return; - complete = 1; - - clearTimeout(timer); - - if (xhr) { - xhr.onerror = xhr.onload = null; - xhr.abort && xhr.abort(); - xhr = null; - } - - failed && fail(); - }; - - // Send - try { - xhr = FDomainRequest() || - window.XDomainRequest && - new XDomainRequest() || - new XMLHttpRequest(); - - xhr.onerror = xhr.onabort = function(){ done(1) }; - xhr.onload = xhr.onloadend = finished; - xhr.timeout = xhrtme; - - var url = setup.url.join(URLBIT); - if (setup.data) { - var params = []; - var key; - url += "?"; - for (key in setup.data) params.push(key+"="+setup.data[key]); - url += params.join(PARAMSBIT); - } - - xhr.open( 'GET', url, (typeof(setup.blocking === 'undefined')) ); - xhr.send(); - } - catch(eee) { - done(0); - XORIGN = 0; - return xdr(setup); - } - - // Return 'done' - return done; -} - -/** - * Generate Subscription Channel List - * ================================== - * generate_channel_list(channels_object); - */ -function generate_channel_list(channels) { - var list = []; - each( channels, function( channel, status ) { - if (status.subscribed) list.push(channel); - } ); - return list.sort(); -} - -/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= PUBNUB ===========================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -var PDIV = $('pubnub') || {} -, READY = 0 -, READY_BUFFER = [] -, CREATE_PUBNUB = function(setup) { - var CHANNELS = {} - , SUB_CALLBACK = 0 - , SUB_CHANNEL = 0 - , SUB_RECEIVER = 0 - , SUB_RESTORE = 0 - , SUB_WINDOWING = 10 - , SUB_BUFF_WAIT = 0 - , TIMETOKEN = 0 - , PUBLISH_KEY = setup['publish_key'] || '' - , SUBSCRIBE_KEY = setup['subscribe_key'] || '' - , SSL = setup['ssl'] ? 's' : '' - , UUID = setup['uuid'] || db['get'](SUBSCRIBE_KEY+'uuid') || '' - , ORIGIN = 'http'+SSL+'://'+(setup['origin']||'pubsub.pubnub.com') - , LEAVE = function(){} - , CONNECT = function(){} - , SELF = { - /* - PUBNUB.history({ - channel : 'my_chat_channel', - limit : 100, - callback : function(history) { } - }); - */ - 'history' : function( args, callback ) { - var callback = args['callback'] || callback - , count = args['count'] || args['limit'] || 100 - , reverse = args['reverse'] || "false" - , err = args['error'] || function(){} - , channel = args['channel'] - , start = args['start'] - , end = args['end'] - , params = {} - , jsonp = jsonp_cb(); - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - params['stringtoken'] = 'true'; - params['count'] = count; - params['reverse'] = reverse; - - if (start) params['start'] = start; - if (end) params['end'] = end; - - // Send Message - xdr({ - callback : jsonp, - data : params, - success : function(response) { callback(response) }, - fail : err, - url : [ - ORIGIN, 'v2', 'history', 'sub-key', - SUBSCRIBE_KEY, 'channel', encode(channel) - ] - }); - }, - - /* - PUBNUB.replay({ - source : 'my_channel', - destination : 'new_channel' - }); - */ - 'replay' : function(args) { - var callback = callback || args['callback'] || function(){} - , source = args['source'] - , destination = args['destination'] - , stop = args['stop'] - , start = args['start'] - , end = args['end'] - , reverse = args['reverse'] - , limit = args['limit'] - , jsonp = jsonp_cb() - , data = {} - , url; - - // Check User Input - if (!source) return error('Missing Source Channel'); - if (!destination) return error('Missing Destination Channel'); - if (!PUBLISH_KEY) return error('Missing Publish Key'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // Setup URL Params - if (jsonp != '0') data['callback'] = jsonp; - if (stop) data['stop'] = 'all'; - if (reverse) data['reverse'] = 'true'; - if (start) data['start'] = start; - if (end) data['end'] = end; - if (limit) data['count'] = limit; - - // Compose URL Parts - url = [ - ORIGIN, 'v1', 'replay', - PUBLISH_KEY, SUBSCRIBE_KEY, - source, destination - ]; - - // Start (or Stop) Replay! - xdr({ - callback : jsonp, - success : function(response) { callback(response) }, - fail : function() { callback([ 0, 'Disconnected' ]) }, - url : url, - data : data - }); - }, - - /* - PUBNUB.time(function(time){ }); - */ - 'time' : function(callback) { - var jsonp = jsonp_cb(); - - xdr({ - callback : jsonp, - url : [ORIGIN, 'time', jsonp], - success : function(response) { callback(response[0]) }, - fail : function() { callback(0) } - }); - }, - - /* - PUBNUB.uuid(function(uuid) { }); - */ - 'uuid' : function(callback) { - var u = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, - function(c) { - var r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8); - return v.toString(16); - }); - if (callback) callback(u); - return u; - }, - - /* - PUBNUB.publish({ - channel : 'my_chat_channel', - message : 'hello!' - }); - */ - 'publish' : function( args, callback ) { - var callback = callback || args['callback'] || function(){} - , message = args['message'] - , channel = args['channel'] - , jsonp = jsonp_cb() - , url; - - if (!message) return error('Missing Message'); - if (!channel) return error('Missing Channel'); - if (!PUBLISH_KEY) return error('Missing Publish Key'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // If trying to send Object - message = JSON['stringify'](message); - - // Create URL - url = [ - ORIGIN, 'publish', - PUBLISH_KEY, SUBSCRIBE_KEY, - 0, encode(channel), - jsonp, encode(message) - ]; - - // Send Message - xdr({ - callback : jsonp, - success : function(response) { callback(response) }, - fail : function() { callback([ 0, 'Disconnected' ]) }, - url : url, - data : { 'uuid' : UUID } - }); - }, - - /* - PUBNUB.unsubscribe({ channel : 'my_chat' }); - */ - 'unsubscribe' : function(args) { - var channel = args['channel']; - - TIMETOKEN = 0; - SUB_RESTORE = 1; - - // Prepare Channel(s) - channel = map( ( - channel.join ? channel.join(',') : ''+channel - ).split(','), function(channel) { - return channel + ',' + channel + PRESENCE_SUFFIX; - } ).join(','); - - // Iterate over Channels - each( channel.split(','), function(channel) { - if (READY) LEAVE( channel, 0 ); - CHANNELS[channel] = 0; - } ); - - // ReOpen Connection if Any Channels Left - if (READY) CONNECT(); - }, - - /* - PUBNUB.subscribe({ - channel : 'my_chat' - callback : function(message) { } - }); - */ - 'subscribe' : function( args, callback ) { - var channel = args['channel'] - , callback = callback || args['callback'] - , callback = callback || args['message'] - , connect = args['connect'] || function(){} - , reconnect = args['reconnect'] || function(){} - , disconnect = args['disconnect'] || function(){} - , presence = args['presence'] || 0 - , noheresync = args['noheresync'] || 0 - , sub_timeout = args['timeout'] || SUB_TIMEOUT - , windowing = args['windowing'] || SUB_WINDOWING - , restore = args['restore'] - , origin = nextorigin(ORIGIN); - - // Restore Enabled? - if (restore) SUB_RESTORE = 1; - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // Setup Channel(s) - each( (channel.join ? channel.join(',') : ''+channel).split(','), - function(channel) { - var settings = CHANNELS[channel] || {}; - - // Store Channel State - CHANNELS[SUB_CHANNEL = channel] = { - name : channel, - connected : settings.connected, - disconnected : settings.disconnected, - subscribed : 1, - callback : SUB_CALLBACK = callback, - connect : connect, - disconnect : disconnect, - reconnect : reconnect - }; - - // Presence Enabled? - if (!presence) return; - - // Subscribe Presence Channel - SELF['subscribe']({ - 'channel' : channel + PRESENCE_SUFFIX, - 'callback' : presence - }); - - // Presence Subscribed? - if (settings.subscribed) return; - - // See Who's Here Now? - if (noheresync) return; - SELF['here_now']({ - 'channel' : channel, - 'callback' : function(here) { - each( 'uuids' in here ? here['uuids'] : [], - function(uuid) { presence( { - 'action' : 'join', - 'uuid' : uuid, - 'timestamp' : rnow(), - 'occupancy' : here['occupancy'] || 1 - }, here, channel ); } ); - } - }); - } ); - - // Evented Subscribe - function _connect() { - var jsonp = jsonp_cb() - , channels = generate_channel_list(CHANNELS).join(','); - - // Stop Connection - if (!channels) return; - - // Connect to PubNub Subscribe Servers - SUB_RECEIVER = xdr({ - timeout : sub_timeout, - callback : jsonp, - data : { 'uuid' : UUID }, - url : [ - origin, 'subscribe', - SUBSCRIBE_KEY, encode(channels), - jsonp, TIMETOKEN - ], - fail : function() { - // Disconnect - each_channel(function(channel){ - if (channel.disconnected) return; - channel.disconnected = 1; - channel.disconnect(channel.name); - }); - - // New Origin on Failed Connection - origin = nextorigin(ORIGIN); - - // Reconnect - timeout( _connect, SECOND ); - SELF['time'](function(success){ - each_channel(function(channel){ - if (success && channel.disconnected){ - channel.disconnected = 0; - channel.reconnect(channel.name); - } - }); - }); - }, - success : function(messages) { - if (!messages) return timeout( _connect, windowing ); - - // Connect - each_channel(function(channel){ - if (channel.connected) return; - channel.connected = 1; - channel.connect(channel.name); - }); - - // Restore Previous Connection Point if Needed - TIMETOKEN = !TIMETOKEN && - SUB_RESTORE && - db['get'](SUBSCRIBE_KEY) || messages[1]; - - // Update Saved Timetoken - db['set']( SUBSCRIBE_KEY, messages[1] ); - - // Route Channel <---> Callback for Message - var next_callback = (function() { - var channels = (messages.length>2?messages[2]:'') - , list = channels.split(','); - - return function() { - var channel = list.shift()||''; - return [ - (CHANNELS[channel]||{}) - .callback||SUB_CALLBACK, - (channel||SUB_CHANNEL) - .split(PRESENCE_SUFFIX)[0] - ]; - }; - })(); - - each( messages[0], function(msg) { - var next = next_callback(); - if (!CHANNELS[next[1]].subscribed) return; - next[0]( msg, messages, next[1] ); - } ); - - timeout( _connect, windowing ); - } - }); - } - - CONNECT = function() { - // Close Previous Subscribe Connection - SUB_RECEIVER && SUB_RECEIVER(); - - // Begin Recursive Subscribe - clearTimeout(SUB_BUFF_WAIT); - SUB_BUFF_WAIT = timeout( _connect, 100 ); - }; - - // Reduce Status Flicker - if (!READY) return READY_BUFFER.push(CONNECT); - - // Connect Now - CONNECT(); - }, - - 'here_now' : function( args, callback ) { - var callback = args['callback'] || callback - , err = args['error'] || function(){} - , channel = args['channel'] - , jsonp = jsonp_cb() - , data = {}; - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - if (jsonp != '0') data['callback'] = jsonp; - - xdr({ - callback : jsonp, - data : data, - success : function(response) { callback(response) }, - fail : err, - url : [ - ORIGIN, 'v2', 'presence', - 'sub_key', SUBSCRIBE_KEY, - 'channel', encode(channel) - ] - }); - }, - - // Expose PUBNUB Functions - 'xdr' : xdr, - 'ready' : ready, - 'db' : db, - 'each' : each, - 'map' : map, - 'grep' : grep, - 'css' : css, - '$' : $, - 'create' : create, - 'bind' : bind, - 'supplant' : supplant, - 'head' : head, - 'search' : search, - 'attr' : attr, - 'now' : rnow, - 'unique' : unique, - 'events' : events, - 'updater' : updater, - 'init' : CREATE_PUBNUB - }; - - function each_channel(callback) { - each( generate_channel_list(CHANNELS), function(channel) { - var chan = CHANNELS[channel]; - if (!chan) return; - callback(chan); - } ); - } - - if (!UUID) UUID = SELF['uuid'](); - db['set']( SUBSCRIBE_KEY + 'uuid', UUID ); - - // Announce Leave Event - LEAVE = function( channel, blocking ) { - var data = { 'uuid' : UUID } - , origin = nextorigin(ORIGIN) - , jsonp = jsonp_cb(); - - // Prevent Leaving a Presence Channel - if (channel.indexOf(PRESENCE_SUFFIX) > 0) return; - - if (jsonp != '0') data['callback'] = jsonp; - - xdr({ - blocking : blocking || SSL, - timeout : 2000, - callback : jsonp, - data : data, - url : [ - origin, 'v2', 'presence', 'sub_key', - SUBSCRIBE_KEY, 'channel', encode(channel), 'leave' - ] - }); - }; - - // Add Leave Functions - bind( 'beforeunload', window, function() { - each_channel(function(ch){ LEAVE( ch.name, 1 ) }); - return true; - } ); - - return SELF; -}; - -// CREATE A PUBNUB GLOBAL OBJECT -PUBNUB = CREATE_PUBNUB({ - 'publish_key' : attr( PDIV, 'pub-key' ), - 'subscribe_key' : attr( PDIV, 'sub-key' ), - 'ssl' : !document.location.href.indexOf('https') || - attr( PDIV, 'ssl' ) == 'on', - 'origin' : attr( PDIV, 'origin' ), - 'uuid' : attr( PDIV, 'uuid' ) -}); - -// PUBNUB Flash Socket -css( PDIV, { 'position' : 'absolute', 'top' : -SECOND } ); - -if ('opera' in window || attr( PDIV, 'flash' )) PDIV['innerHTML'] = - ''; - -var pubnubs = $('pubnubs') || {}; - -// PUBNUB READY TO CONNECT -function ready() { PUBNUB['time'](rnow); -PUBNUB['time'](function(t){ timeout( function() { - if (READY) return; - READY = 1; - each( READY_BUFFER, function(connect) { connect() } ); -}, SECOND ); }); } - -// Bind for PUBNUB Readiness to Subscribe -bind( 'load', window, function(){ timeout( ready, 0 ) } ); - -// Create Interface for Opera Flash -PUBNUB['rdx'] = function( id, data ) { - if (!data) return FDomainRequest[id]['onerror'](); - FDomainRequest[id]['responseText'] = unescape(data); - FDomainRequest[id]['onload'](); -}; - -function FDomainRequest() { - if (!pubnubs['get']) return 0; - - var fdomainrequest = { - 'id' : FDomainRequest['id']++, - 'send' : function() {}, - 'abort' : function() { fdomainrequest['id'] = {} }, - 'open' : function( method, url ) { - FDomainRequest[fdomainrequest['id']] = fdomainrequest; - pubnubs['get']( fdomainrequest['id'], url ); - } - }; - - return fdomainrequest; -} -FDomainRequest['id'] = SECOND; - -// jQuery Interface -window['jQuery'] && (window['jQuery']['PUBNUB'] = PUBNUB); - -// For Modern JS + Testling.js - http://testling.com/ -typeof(module) !== 'undefined' && (module['exports'] = PUBNUB) && ready(); - -})(); diff --git a/core/3.4/pubnub-3.4.min.js b/core/3.4/pubnub-3.4.min.js deleted file mode 100644 index 8bd625098..000000000 --- a/core/3.4/pubnub-3.4.min.js +++ /dev/null @@ -1,25 +0,0 @@ -(function(){ -function n(){return function(){}} -window.JSON&&window.JSON.stringify||function(){function a(a){b.lastIndex=0;return b.test(a)?'"'+a.replace(b,function(a){var b=j[a];return"string"===typeof b?b:"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+a+'"'}function c(b,j){var h,l,i,g,p=d,k,f=j[b];f&&("object"===typeof f&&"function"===typeof f.toJSON)&&(f=f.toJSON(b));"function"===typeof m&&(f=m.call(j,b,f));switch(typeof f){case "string":return a(f);case "number":return isFinite(f)?String(f):"null";case "boolean":case "null":return String(f); -case "object":if(!f)return"null";d+=e;k=[];if("[object Array]"===Object.prototype.toString.apply(f)){g=f.length;for(h=0;hr()?(clearTimeout(d),d=setTimeout(b,c)):(e=r(),a())}var d,e=0;return b},s=function(a){return document.getElementById(a)},t=function(a){console.error(a)},w=function(a,c){var b=[];u(a.split(/\s+/),function(a){u((c||document).getElementsByTagName(a),function(a){b.push(a)})});return b},u=function(a,c){if(a&&c)if("undefined"!=typeof a[0])for(var b=0,d=a.length;b"-_.!~*'()".indexOf(a)?a:"%"+a.charCodeAt(0).toString(16).toUpperCase()}).join("")},O=function(a){function c(a,b){D||(D=1,a||ma(b),f.onerror=null,clearTimeout(na),setTimeout(function(){a&&oa();var b=s(v),D=b&&b.parentNode;D&&D.removeChild(b)},K))}if(G||H()){a:{var b,d,e=function(){if(!m){m=1;clearTimeout(z);try{d=JSON.parse(b.responseText)}catch(a){return i(1)}l(d)}},j=0,m=0,y=a.timeout||L,z=setTimeout(function(){i(1)},y),h=a.b||n(),l=a.c||n(),i=function(a){j||(j=1,clearTimeout(z), -b&&(b.onerror=b.onload=null,b.abort&&b.abort(),b=null),a&&h())};try{b=H()||window.XDomainRequest&&new XDomainRequest||new XMLHttpRequest;b.onerror=b.onabort=function(){i(1)};b.onload=b.onloadend=e;b.timeout=y;var g=a.url.join(M);if(a.data){var e=[],p,g=g+"?";for(p in a.data)e.push(p+"="+a.data[p]);g+=e.join(N)}b.open("GET",g,typeof("undefined"===a.g));b.send()}catch(k){i(0);G=0;a=O(a);break a}a=i}return a}var f=F("script"),g=a.a,v=q(),D=0,na=setTimeout(function(){c(1)},a.timeout||L),oa=a.b||n(),ma= -a.c||n();window[g]=function(a){c(0,a)};a.g||(f[Q]=Q);f.onerror=function(){c(1)};f.src=a.url.join(M);if(a.data){g=[];f.src+="?";for(key in a.data)g.push(key+"="+a.data[key]);f.src+=g.join(N)}C(f,"id",v);B().appendChild(f);return c},R=function(a){var c=[];u(a,function(a,d){d.f&&c.push(a)});return c.sort()},T=function(){PUBNUB.time(r);PUBNUB.time(function(){setTimeout(function(){S||(S=1,u(ha,function(a){a()}))},K)})},H=function(){if(!ia.get)return 0;var a={id:H.id++,send:n(),abort:function(){a.id={}}, -open:function(c,b){H[a.id]=a;ia.get(a.id,b)}};return a},aa=1,fa=/{([\w\-]+)}/g,Q="async",M="/",N="&",L=1E4,K=1E3,U="-pnpres",G=-1==navigator.userAgent.indexOf("MSIE 6");window.console||(window.console=window.console||{});console.log||(console.log=console.error=(window.opera||{}).postError||n());var V,W=window.localStorage;V={get:function(a){try{return W?W.getItem(a):-1==document.cookie.indexOf(a)?null:((document.cookie||"").match(RegExp(a+"=([^;]+)"))||[])[1]||null}catch(c){}},set:function(a,c){try{if(W)return W.setItem(a, -c)&&0;document.cookie=a+"="+c+"; expires=Thu, 1 Aug 2030 20:00:00 UTC; path=/"}catch(b){}}};var X,Y=Math.floor(20*Math.random());X=function(a){return 0++Y?Y:Y=1))||a};var Z={list:{},unbind:function(a){Z.list[a]=[]},bind:function(a,c){(Z.list[a]=Z.list[a]||[]).push(c)},fire:function(a,c){u(Z.list[a]||[],function(a){a(c)})}},$=s("pubnub")||{},S=0,ha=[],ja=function(a){function c(){}function b(){}function d(a){u(R(e),function(b){(b=e[b])&&a(b)})}var e= -{},j=0,m=0,y=0,z=0,h=0,l=0,i=a.publish_key||"",g=a.subscribe_key||"",p=a.ssl?"s":"",k=a.uuid||V.get(g+"uuid")||"",f="http"+p+"://"+(a.origin||"pubsub.pubnub.com"),v={history:function(a,b){var b=a.callback||b,c=a.count||a.limit||100,d=a.reverse||"false",e=a.error||n(),h=a.channel,i=a.start,k=a.end,j={},l=I();if(!h)return t("Missing Channel");if(!b)return t("Missing Callback");if(!g)return t("Missing Subscribe Key");j.stringtoken="true";j.count=c;j.reverse=d;i&&(j.start=i);k&&(j.end=k);O({a:l,data:j, -c:function(a){b(a)},b:e,url:[f,"v2","history","sub-key",g,"channel",J(h)]})},replay:function(a){var b=b||a.callback||n(),c=a.source,d=a.destination,e=a.stop,h=a.start,j=a.end,k=a.reverse,a=a.limit,l=I(),m={};if(!c)return t("Missing Source Channel");if(!d)return t("Missing Destination Channel");if(!i)return t("Missing Publish Key");if(!g)return t("Missing Subscribe Key");"0"!=l&&(m.callback=l);e&&(m.stop="all");k&&(m.reverse="true");h&&(m.start=h);j&&(m.end=j);a&&(m.count=a);O({a:l,c:function(a){b(a)}, -b:function(){b([0,"Disconnected"])},url:[f,"v1","replay",i,g,c,d],data:m})},time:function(a){var b=I();O({a:b,url:[f,"time",b],c:function(b){a(b[0])},b:function(){a(0)}})},uuid:function(a){var b="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});a&&a(b);return b},publish:function(a,b){var b=b||a.callback||n(),c=a.message,d=a.channel,e=I();if(!c)return t("Missing Message");if(!d)return t("Missing Channel");if(!i)return t("Missing Publish Key"); -if(!g)return t("Missing Subscribe Key");c=JSON.stringify(c);c=[f,"publish",i,g,0,J(d),e,J(c)];O({a:e,c:function(a){b(a)},b:function(){b([0,"Disconnected"])},url:c,data:{uuid:k}})},unsubscribe:function(a){a=a.channel;l=0;z=1;a=x((a.join?a.join(","):""+a).split(","),function(a){return a+","+a+U}).join(",");u(a.split(","),function(a){S&&b(a,0);e[a]=0});S&&c()},subscribe:function(a,b){function i(){var a=I(),b=R(e).join(",");b&&(y=O({timeout:ra,a:a,data:{uuid:k},url:[da,"subscribe",g,J(b),a,l],b:function(){d(function(a){a.d|| -(a.d=1,a.i(a.name))});da=X(f);setTimeout(i,K);v.time(function(a){d(function(b){a&&b.d&&(b.d=0,b.j(b.name))})})},c:function(a){if(!a)return setTimeout(i,ca);d(function(a){a.e||(a.e=1,a.h(a.name))});l=!l&&z&&V.get(g)||a[1];V.set(g,a[1]);var b,c=(2v96ZYT|Du3amZMfoc6)vXvi&Hk=c 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 g4NKi-Xop)53^plc*1MhyeIkqVP0Jz})c>n+a diff --git a/core/3.4/tests/head-test.htm b/core/3.4/tests/head-test.htm deleted file mode 100644 index 36f1e2575..000000000 --- a/core/3.4/tests/head-test.htm +++ /dev/null @@ -1,40 +0,0 @@ - - - - PubNub JavaScript HEAD INIT TEST - - - - -
- -

Head Test

-
Wait here for an alert() message.
- -
-
- diff --git a/core/3.4/tests/head.load.min.js b/core/3.4/tests/head.load.min.js deleted file mode 100644 index 6242b0fad..000000000 --- a/core/3.4/tests/head.load.min.js +++ /dev/null @@ -1,8 +0,0 @@ -/** - Head JS The only script in your - Copyright Tero Piirainen (tipiirai) - License MIT / http://bit.ly/mit-license - Version 0.96 - - http://headjs.com -*/(function(a){function z(){d||(d=!0,s(e,function(a){p(a)}))}function y(c,d){var e=a.createElement("script");e.type="text/"+(c.type||"javascript"),e.src=c.src||c,e.async=!1,e.onreadystatechange=e.onload=function(){var a=e.readyState;!d.done&&(!a||/loaded|complete/.test(a))&&(d.done=!0,d())},(a.body||b).appendChild(e)}function x(a,b){if(a.state==o)return b&&b();if(a.state==n)return k.ready(a.name,b);if(a.state==m)return a.onpreload.push(function(){x(a,b)});a.state=n,y(a.url,function(){a.state=o,b&&b(),s(g[a.name],function(a){p(a)}),u()&&d&&s(g.ALL,function(a){p(a)})})}function w(a,b){a.state===undefined&&(a.state=m,a.onpreload=[],y({src:a.url,type:"cache"},function(){v(a)}))}function v(a){a.state=l,s(a.onpreload,function(a){a.call()})}function u(a){a=a||h;var b;for(var c in a){if(a.hasOwnProperty(c)&&a[c].state!=o)return!1;b=!0}return b}function t(a){return Object.prototype.toString.call(a)=="[object Function]"}function s(a,b){if(!!a){typeof a=="object"&&(a=[].slice.call(a));for(var c=0;c - - - PubNub JavaScript MailTO Fix - - -
- - -
- × -

PubNub MailTO Test for JavaScript on Mobile and Desktop Web Browser

-
- - - -
0
- -
- - -
- diff --git a/core/3.4/tests/multiplexing.html b/core/3.4/tests/multiplexing.html deleted file mode 100644 index 670a6de76..000000000 --- a/core/3.4/tests/multiplexing.html +++ /dev/null @@ -1,104 +0,0 @@ - - - - - PubNub JavaScript Multiplexing Test - - - - -
- -
...
- -
- - - -
- diff --git a/core/3.4/tests/presence-ssl.html b/core/3.4/tests/presence-ssl.html deleted file mode 100644 index 4482b921e..000000000 --- a/core/3.4/tests/presence-ssl.html +++ /dev/null @@ -1,60 +0,0 @@ - - - - - PubNub Presence SSL Test - - - - - - - -
- Open the - Developers Console - and watch the presence events section to ensure join/leave. -
- - - - -
- - - - - diff --git a/core/3.4/tests/ssl-test.html b/core/3.4/tests/ssl-test.html deleted file mode 100644 index c8f125cf0..000000000 --- a/core/3.4/tests/ssl-test.html +++ /dev/null @@ -1,52 +0,0 @@ - - - -
- -
- - - - diff --git a/core/3.4/tests/test.js b/core/3.4/tests/test.js deleted file mode 100644 index 0b925cfd7..000000000 --- a/core/3.4/tests/test.js +++ /dev/null @@ -1,81 +0,0 @@ -var test = require('testling'); -var PUBNUB = require('../pubnub-3.4'); -var channel = 'unit-test-pubnub-channel'; - -test('PUBNUB JavaScript API', function (test) { - var pubnub = PUBNUB.init({ - publish_key : 'demo', - subscribe_key : 'demo' - }); - - test.plan(14); - - test.ok(PUBNUB); - - test.ok(pubnub); - test.ok(pubnub.publish); - test.ok(pubnub.subscribe); - test.ok(pubnub.history); - test.ok(pubnub.detailedHistory); - test.ok(pubnub.time); - - function publish_test() { - pubnub.publish({ - channel : channel, - message : { test : "test" }, - callback : function(response) { - test.ok(response[0]); - test.equal( response[1], 'Sent' ); - } - }); - } - - function time_test() { - pubnub.time(function(time){ - test.ok(time); - uuid_test(); - }); - } - - function uuid_test() { - pubnub.uuid(function(uuid){ - test.ok(uuid); - history_test(); - }); - } - - function history_test(history) { - pubnub.history({ - limit : 1, - channel : channel, - callback : function(messages) { - test.ok(messages); - test.equal( messages[0].test, "test" ); - test.end(); - } - }); - } - - function detailedHistory_test(history) { - pubnub.detailedHistory({ - count : 1, - channel : channel, - callback : function(messages) { - test.ok(messages); - test.equal( messages[0][0].test, "test" ); - test.end(); - } - }); - } - pubnub.subscribe({ - channel : channel, - connect : publish_test, - callback : function(message) { - test.ok(message); - test.equal( message.test, "test" ); - time_test(); - } - }); - -}); - diff --git a/core/3.4/tests/test.sh b/core/3.4/tests/test.sh deleted file mode 100755 index 4636b2935..000000000 --- a/core/3.4/tests/test.sh +++ /dev/null @@ -1,41 +0,0 @@ -#!/bin/bash - -## ------------------------------------------------ -## PubNub 3.4 Real-time Cloud Push API - JAVASCRIPT -## ------------------------------------------------ - -## ---------------------------------------------------- -## -## TESTLING - PubNub JavaScript API for Web Browsers -## uses Testling Cloud Service -## for QA and Deployment. -## -## http://www.testling.com/ -## You need this to run './test.sh' unit test. -## -## ---------------------------------------------------- - -if [ -z "$1" ] -then - echo -e "\n\tUSER:PASSWD Required: http://testling.com/\n" - exit -fi - -browsers='firefox/3.6' -browsers=$browsers',firefox/9.0' -browsers=$browsers',firefox/10.0' -browsers=$browsers',chrome/16.0' -browsers=$browsers',chrome/17.0' -browsers=$browsers',iexplore/7.0' -browsers=$browsers',iexplore/8.0' -browsers=$browsers',iexplore/9.0' -browsers=$browsers',safari/5.1' - -echo -e "Testing: $browsers" - -noinstrument='pubnub-3.4.js,test.js' - -tar -cf- test.js ../pubnub-3.4.js | \ - curl -u $1 -sSNT- \ - "testling.com/?noinstrument=$noinstrument&browsers=$browsers" - diff --git a/core/3.4/tests/unit-test.html b/core/3.4/tests/unit-test.html deleted file mode 100644 index 2659db3ce..000000000 --- a/core/3.4/tests/unit-test.html +++ /dev/null @@ -1,347 +0,0 @@ - - - - - PubNub JavaScript Unit Test - - - - - -
- - -
- × - -

PubNub Unit Tests for JavaScript on Mobile and Desktop Web Browser

-
- - -
- - - 100% Successful - Finished With Errors - ... -
- - - - -
Pass/Fail - Test Ready -
- - - - -
- - - - - - -
- - \ No newline at end of file diff --git a/core/pubnub.js b/core/pubnub.js index b1869046c..45b0c0290 100644 --- a/core/pubnub.js +++ b/core/pubnub.js @@ -740,6 +740,7 @@ var PDIV = $('pubnub') || 0 , disconnect = args['disconnect'] || function(){} , presence = args['presence'] || 0 , noheresync = args['noheresync'] || 0 + , backfill = args['backfill'] || 0 , sub_timeout = args['timeout'] || SUB_TIMEOUT , windowing = args['windowing'] || SUB_WINDOWING , restore = args['restore']; @@ -864,6 +865,12 @@ var PDIV = $('pubnub') || 0 SUB_RESTORE && db['get'](SUBSCRIBE_KEY) || messages[1]; + // Backfill Channel + if (backfill) { + TIMETOKEN = 10000; + backfill = 0; + } + // Update Saved Timetoken db['set']( SUBSCRIBE_KEY, messages[1] ); diff --git a/socket.io/socket.io.min.js b/socket.io/socket.io.min.js index 618fce894..99da7c2ec 100644 --- a/socket.io/socket.io.min.js +++ b/socket.io/socket.io.min.js @@ -1,4 +1,4 @@ -// 3.4.2 +// 3.4.3 (function(){ var l=null;function p(){return function(){}} window.JSON&&window.JSON.stringify||function(){function a(){try{return this.valueOf()}catch(a){return l}}function c(a){d.lastIndex=0;return d.test(a)?'"'+a.replace(d,function(a){var b=w[a];return"string"===typeof b?b:"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+a+'"'}function b(d,k){var i,h,j,t,q,f=e,g=k[d];g&&"object"===typeof g&&(g=a.call(g));"function"===typeof n&&(g=n.call(k,d,g));switch(typeof g){case "string":return c(g);case "number":return isFinite(g)?String(g):"null";case "boolean":case "null":return String(g); @@ -10,23 +10,23 @@ a[b],b++);else for(b in a)a.hasOwnProperty&&a.hasOwnProperty(b)&&c.call(a[b],b,a c.addEventListener?c.addEventListener(a,e,!1):c.attachEvent?c.attachEvent("on"+a,e):c["on"+a]=e})},ga=function(){return ca("head")[0]},F=function(a,c,b){if(b)a.setAttribute(c,b);else return a&&a.getAttribute&&a.getAttribute(c)},ha=function(a,c){for(var b in c)if(c.hasOwnProperty(b))try{a.style[b]=c[b]+(0<"|width|height|top|left|".indexOf(b)&&"number"==typeof c[b]?"px":"")}catch(d){}},ia=function(a){return document.createElement(a)},I=function(a){var c="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function(a){var c=16*Math.random()|0;return("x"==a?c:c&3|8).toString(16)});a&&a(c);return c},M=function(){return J||K()?0:r()},N=function(a){return C(encodeURIComponent(a).split(""),function(a){return 0>"-_.!~*'()".indexOf(a)?a:"%"+a.charCodeAt(0).toString(16).toUpperCase()}).join("")},P=function(a){function c(a,b){U||(U=1,a||m(b),f.onerror=l,clearTimeout(A),setTimeout(function(){a&&B();var b=x(g),c=b&&b.parentNode;c&&c.removeChild(b)},O))}if(J||K()){a:{var b,d,e=function(){if(!w){w=1;clearTimeout(v); try{d=JSON.parse(b.responseText)}catch(a){return h(1)}i(d)}},s=0,w=0,n=a.timeout||ja,v=setTimeout(function(){h(1)},n),k=a.b||p(),i=a.c||p(),h=function(a){s||(s=1,clearTimeout(v),b&&(b.onerror=b.onload=l,b.abort&&b.abort(),b=l),a&&k())};try{b=K()||window.XDomainRequest&&new XDomainRequest||new XMLHttpRequest;b.onerror=b.onabort=function(){h(1)};b.onload=b.onloadend=e;b.timeout=n;var j=a.url.join(ka);if(a.data){var e=[],t,j=j+"?";for(t in a.data)e.push(t+"="+a.data[t]);j+=e.join(la)}b.open("GET",j, -typeof("undefined"===a.i));b.send()}catch(q){h(0);J=0;a=P(a);break a}a=h}return a}var f=ia("script"),j=a.a,g=r(),U=0,A=setTimeout(function(){c(1)},a.timeout||ja),B=a.b||p(),m=a.c||p();window[j]=function(a){c(0,a)};a.i||(f[ma]=ma);f.onerror=function(){c(1)};f.src=a.url.join(ka);if(a.data){j=[];f.src+="?";for(e in a.data)j.push(e+"="+a.data[e]);f.src+=j.join(la)}F(f,"id",g);ga().appendChild(f);return c},na=function(a){var c=[];z(a,function(a,d){d.h&&c.push(a)});return c.sort()},ra=function(){setTimeout(function(){Q|| -(Q=1,z(qa,function(a){a()}))},O)},K=function(){if(!sa||!sa.get)return 0;var a={id:K.id++,send:p(),abort:function(){a.id={}},open:function(c,b){K[a.id]=a;sa.get(a.id,b)}};return a},aa=1,ea=/{([\w\-]+)}/g,ma="async",ka="/",la="&",ja=1E4,O=1E3,R="-pnpres",J=-1==navigator.userAgent.indexOf("MSIE 6");window.console||(window.console=window.console||{});console.log||(console.log=console.error=(window.opera||{}).postError||p());var S,V=window.localStorage;S={get:function(a){try{return V?V.getItem(a):-1== -document.cookie.indexOf(a)?l:((document.cookie||"").match(RegExp(a+"=([^;]+)"))||[])[1]||l}catch(c){}},set:function(a,c){try{if(V)return V.setItem(a,c)&&0;document.cookie=a+"="+c+"; expires=Thu, 1 Aug 2030 20:00:00 UTC; path=/"}catch(b){}}};var W,ta=Math.floor(20*Math.random());W=function(a,c){return 0++ta?ta:ta=1))||a};var Y={list:{},unbind:function(a){Y.list[a]=[]},bind:function(a,c){(Y.list[a]=Y.list[a]||[]).push(c)},fire:function(a, -c){z(Y.list[a]||[],function(a){a(c)})}},Z=x("pubnub")||0,Q=0,qa=[],ua=function(a){function c(){}function b(){}function d(a){a&&(k.g=0);!k.g&&k.length&&(k.g=1,P(k.shift()))}function e(a){z(na(v),function(b){(b=v[b])&&a(b)})}function s(){!("onLine"in navigator)||navigator.onLine||n();setTimeout(s,O)}function w(){D.time(function(a){a||n();setTimeout(w,A)})}function n(){j&&j(1)}a.jsonp&&(J=0);var v={},k=[],i=0,h=0,j=0,t=0,q=0,f=0,g=+a.windowing||10,U=(+a.timeout||310)*O,A=(+a.keepalive||60)*O,B=a.publish_key|| +typeof("undefined"===a.i));b.send()}catch(q){h(0);J=0;a=P(a);break a}a=h}return a}var f=ia("script"),j=a.a,g=r(),U=0,A=setTimeout(function(){c(1)},a.timeout||ja),B=a.b||p(),m=a.c||p();window[j]=function(a){c(0,a)};a.i||(f[ma]=ma);f.onerror=function(){c(1)};f.src=a.url.join(ka);if(a.data){j=[];f.src+="?";for(e in a.data)j.push(e+"="+a.data[e]);f.src+=j.join(la)}F(f,"id",g);ga().appendChild(f);return c},na=function(a){var c=[];z(a,function(a,d){d.h&&c.push(a)});return c.sort()},sa=function(){setTimeout(function(){Q|| +(Q=1,z(ra,function(a){a()}))},O)},K=function(){if(!ta||!ta.get)return 0;var a={id:K.id++,send:p(),abort:function(){a.id={}},open:function(c,b){K[a.id]=a;ta.get(a.id,b)}};return a},aa=1,ea=/{([\w\-]+)}/g,ma="async",ka="/",la="&",ja=1E4,O=1E3,R="-pnpres",J=-1==navigator.userAgent.indexOf("MSIE 6");window.console||(window.console=window.console||{});console.log||(console.log=console.error=(window.opera||{}).postError||p());var S,V=window.localStorage;S={get:function(a){try{return V?V.getItem(a):-1== +document.cookie.indexOf(a)?l:((document.cookie||"").match(RegExp(a+"=([^;]+)"))||[])[1]||l}catch(c){}},set:function(a,c){try{if(V)return V.setItem(a,c)&&0;document.cookie=a+"="+c+"; expires=Thu, 1 Aug 2030 20:00:00 UTC; path=/"}catch(b){}}};var W,ua=Math.floor(20*Math.random());W=function(a,c){return 0++ua?ua:ua=1))||a};var Y={list:{},unbind:function(a){Y.list[a]=[]},bind:function(a,c){(Y.list[a]=Y.list[a]||[]).push(c)},fire:function(a, +c){z(Y.list[a]||[],function(a){a(c)})}},Z=x("pubnub")||0,Q=0,ra=[],va=function(a){function c(){}function b(){}function d(a){a&&(k.g=0);!k.g&&k.length&&(k.g=1,P(k.shift()))}function e(a){z(na(v),function(b){(b=v[b])&&a(b)})}function s(){!("onLine"in navigator)||navigator.onLine||n();setTimeout(s,O)}function w(){D.time(function(a){a||n();setTimeout(w,A)})}function n(){j&&j(1)}a.jsonp&&(J=0);var v={},k=[],i=0,h=0,j=0,t=0,q=0,f=0,g=+a.windowing||10,U=(+a.timeout||310)*O,A=(+a.keepalive||60)*O,B=a.publish_key|| "",m=a.subscribe_key||"",T=a.ssl?"s":"",G=a.uuid||S.get(m+"uuid")||"",L="http"+T+"://"+(a.origin||"pubsub.pubnub.com"),H=W(L),oa=W(L),D={history:function(a,b){var b=a.callback||b,c=a.count||a.limit||100,d=a.reverse||"false",e=a.error||p(),g=a.channel,j=a.start,h=a.end,f={},i=M();if(!g)return y("Missing Channel");if(!b)return y("Missing Callback");if(!m)return y("Missing Subscribe Key");f.stringtoken="true";f.count=c;f.reverse=d;i&&(f.callback=i);j&&(f.start=j);h&&(f.end=h);P({a:i,data:f,c:function(a){b(a)}, b:e,url:[H,"v2","history","sub-key",m,"channel",N(g)]})},replay:function(a){var b=b||a.callback||p(),c=a.source,d=a.destination,e=a.stop,f=a.start,g=a.end,j=a.reverse,a=a.limit,h=M(),i={};if(!c)return y("Missing Source Channel");if(!d)return y("Missing Destination Channel");if(!B)return y("Missing Publish Key");if(!m)return y("Missing Subscribe Key");"0"!=h&&(i.callback=h);e&&(i.stop="all");j&&(i.reverse="true");f&&(i.start=f);g&&(i.end=g);a&&(i.count=a);P({a:h,c:function(a){b(a)},b:function(){b([0, "Disconnected"])},url:[H,"v1","replay",B,m,c,d],data:i})},time:function(a){var b=M();P({a:b,timeout:5*O,url:[H,"time",b],c:function(b){a(b[0])},b:function(){a(0)}})},publish:function(a,b){var b=b||a.callback||p(),c=a.message,e=a.channel,f=M();if(!c)return y("Missing Message");if(!e)return y("Missing Channel");if(!B)return y("Missing Publish Key");if(!m)return y("Missing Subscribe Key");c=JSON.stringify(c);e=[H,"publish",B,m,0,N(e),f,N(c)];k.push({a:f,timeout:5*O,url:e,data:{uuid:G},c:function(a){b(a); -d(1)},b:function(){b([0,"Failed",c]);d(1)}});d()},unsubscribe:function(a){a=a.channel;f=0;t=1;a=C((a.join?a.join(","):""+a).split(","),function(a){return a+","+a+R}).join(",");z(a.split(","),function(a){Q&&b(a,0);v[a]=0});Q&&c()},subscribe:function(a,b){function d(a){a?setTimeout(k,O):(H=W(L,1),oa=W(L,1),setTimeout(function(){D.time(d)},O));e(function(b){if(a&&b.d)return b.d=0,b.m(b.name);!a&&!b.d&&(b.d=1,b.l(b.name))})}function k(){var a=M(),b=na(v).join(",");b&&(j=P({timeout:wa,a:a,b:function(){D.time(d)}, -data:{uuid:G},url:[oa,"subscribe",m,N(b),a,f],c:function(a){if(!a)return setTimeout(k,pa);e(function(a){a.f||(a.f=1,a.k(a.name))});f=!f&&t&&S.get(m)||a[1];S.set(m,a[1]);var b,c=(2q;q++)c+=String.fromCharCode(b[q]);return c},u=function(b,f){var c=[],d;if(!f)try{b=unescape(encodeURIComponent(b))}catch(q){throw"Error on UTF-8 encode";}for(d=0;d"-_.!~*'()".indexOf(a)?a:"%"+a.charCodeAt(0).toString(16).toUpperCase()}).join("")},P=function(a){function c(a,b){U||(U=1,a||m(b),f.onerror=l,clearTimeout(A),setTimeout(function(){a&&B();var b=x(g),c=b&&b.parentNode;c&&c.removeChild(b)},O))}if(J||K()){a:{var b,d,e=function(){if(!w){w=1;clearTimeout(v); try{d=JSON.parse(b.responseText)}catch(a){return h(1)}i(d)}},s=0,w=0,n=a.timeout||ja,v=setTimeout(function(){h(1)},n),k=a.b||p(),i=a.c||p(),h=function(a){s||(s=1,clearTimeout(v),b&&(b.onerror=b.onload=l,b.abort&&b.abort(),b=l),a&&k())};try{b=K()||window.XDomainRequest&&new XDomainRequest||new XMLHttpRequest;b.onerror=b.onabort=function(){h(1)};b.onload=b.onloadend=e;b.timeout=n;var j=a.url.join(ka);if(a.data){var e=[],t,j=j+"?";for(t in a.data)e.push(t+"="+a.data[t]);j+=e.join(la)}b.open("GET",j, -typeof("undefined"===a.i));b.send()}catch(q){h(0);J=0;a=P(a);break a}a=h}return a}var f=ia("script"),j=a.a,g=r(),U=0,A=setTimeout(function(){c(1)},a.timeout||ja),B=a.b||p(),m=a.c||p();window[j]=function(a){c(0,a)};a.i||(f[ma]=ma);f.onerror=function(){c(1)};f.src=a.url.join(ka);if(a.data){j=[];f.src+="?";for(e in a.data)j.push(e+"="+a.data[e]);f.src+=j.join(la)}F(f,"id",g);ga().appendChild(f);return c},na=function(a){var c=[];z(a,function(a,d){d.h&&c.push(a)});return c.sort()},ra=function(){setTimeout(function(){Q|| -(Q=1,z(qa,function(a){a()}))},O)},K=function(){if(!sa||!sa.get)return 0;var a={id:K.id++,send:p(),abort:function(){a.id={}},open:function(c,b){K[a.id]=a;sa.get(a.id,b)}};return a},aa=1,ea=/{([\w\-]+)}/g,ma="async",ka="/",la="&",ja=1E4,O=1E3,R="-pnpres",J=-1==navigator.userAgent.indexOf("MSIE 6");window.console||(window.console=window.console||{});console.log||(console.log=console.error=(window.opera||{}).postError||p());var S,V=window.localStorage;S={get:function(a){try{return V?V.getItem(a):-1== -document.cookie.indexOf(a)?l:((document.cookie||"").match(RegExp(a+"=([^;]+)"))||[])[1]||l}catch(c){}},set:function(a,c){try{if(V)return V.setItem(a,c)&&0;document.cookie=a+"="+c+"; expires=Thu, 1 Aug 2030 20:00:00 UTC; path=/"}catch(b){}}};var W,ta=Math.floor(20*Math.random());W=function(a,c){return 0++ta?ta:ta=1))||a};var Y={list:{},unbind:function(a){Y.list[a]=[]},bind:function(a,c){(Y.list[a]=Y.list[a]||[]).push(c)},fire:function(a, -c){z(Y.list[a]||[],function(a){a(c)})}},Z=x("pubnub")||0,Q=0,qa=[],ua=function(a){function c(){}function b(){}function d(a){a&&(k.g=0);!k.g&&k.length&&(k.g=1,P(k.shift()))}function e(a){z(na(v),function(b){(b=v[b])&&a(b)})}function s(){!("onLine"in navigator)||navigator.onLine||n();setTimeout(s,O)}function w(){D.time(function(a){a||n();setTimeout(w,A)})}function n(){j&&j(1)}a.jsonp&&(J=0);var v={},k=[],i=0,h=0,j=0,t=0,q=0,f=0,g=+a.windowing||10,U=(+a.timeout||310)*O,A=(+a.keepalive||60)*O,B=a.publish_key|| +typeof("undefined"===a.i));b.send()}catch(q){h(0);J=0;a=P(a);break a}a=h}return a}var f=ia("script"),j=a.a,g=r(),U=0,A=setTimeout(function(){c(1)},a.timeout||ja),B=a.b||p(),m=a.c||p();window[j]=function(a){c(0,a)};a.i||(f[ma]=ma);f.onerror=function(){c(1)};f.src=a.url.join(ka);if(a.data){j=[];f.src+="?";for(e in a.data)j.push(e+"="+a.data[e]);f.src+=j.join(la)}F(f,"id",g);ga().appendChild(f);return c},na=function(a){var c=[];z(a,function(a,d){d.h&&c.push(a)});return c.sort()},sa=function(){setTimeout(function(){Q|| +(Q=1,z(ra,function(a){a()}))},O)},K=function(){if(!ta||!ta.get)return 0;var a={id:K.id++,send:p(),abort:function(){a.id={}},open:function(c,b){K[a.id]=a;ta.get(a.id,b)}};return a},aa=1,ea=/{([\w\-]+)}/g,ma="async",ka="/",la="&",ja=1E4,O=1E3,R="-pnpres",J=-1==navigator.userAgent.indexOf("MSIE 6");window.console||(window.console=window.console||{});console.log||(console.log=console.error=(window.opera||{}).postError||p());var S,V=window.localStorage;S={get:function(a){try{return V?V.getItem(a):-1== +document.cookie.indexOf(a)?l:((document.cookie||"").match(RegExp(a+"=([^;]+)"))||[])[1]||l}catch(c){}},set:function(a,c){try{if(V)return V.setItem(a,c)&&0;document.cookie=a+"="+c+"; expires=Thu, 1 Aug 2030 20:00:00 UTC; path=/"}catch(b){}}};var W,ua=Math.floor(20*Math.random());W=function(a,c){return 0++ua?ua:ua=1))||a};var Y={list:{},unbind:function(a){Y.list[a]=[]},bind:function(a,c){(Y.list[a]=Y.list[a]||[]).push(c)},fire:function(a, +c){z(Y.list[a]||[],function(a){a(c)})}},Z=x("pubnub")||0,Q=0,ra=[],va=function(a){function c(){}function b(){}function d(a){a&&(k.g=0);!k.g&&k.length&&(k.g=1,P(k.shift()))}function e(a){z(na(v),function(b){(b=v[b])&&a(b)})}function s(){!("onLine"in navigator)||navigator.onLine||n();setTimeout(s,O)}function w(){D.time(function(a){a||n();setTimeout(w,A)})}function n(){j&&j(1)}a.jsonp&&(J=0);var v={},k=[],i=0,h=0,j=0,t=0,q=0,f=0,g=+a.windowing||10,U=(+a.timeout||310)*O,A=(+a.keepalive||60)*O,B=a.publish_key|| "",m=a.subscribe_key||"",T=a.ssl?"s":"",G=a.uuid||S.get(m+"uuid")||"",L="http"+T+"://"+(a.origin||"pubsub.pubnub.com"),H=W(L),oa=W(L),D={history:function(a,b){var b=a.callback||b,c=a.count||a.limit||100,d=a.reverse||"false",e=a.error||p(),g=a.channel,j=a.start,h=a.end,f={},i=M();if(!g)return y("Missing Channel");if(!b)return y("Missing Callback");if(!m)return y("Missing Subscribe Key");f.stringtoken="true";f.count=c;f.reverse=d;i&&(f.callback=i);j&&(f.start=j);h&&(f.end=h);P({a:i,data:f,c:function(a){b(a)}, b:e,url:[H,"v2","history","sub-key",m,"channel",N(g)]})},replay:function(a){var b=b||a.callback||p(),c=a.source,d=a.destination,e=a.stop,f=a.start,g=a.end,j=a.reverse,a=a.limit,h=M(),i={};if(!c)return y("Missing Source Channel");if(!d)return y("Missing Destination Channel");if(!B)return y("Missing Publish Key");if(!m)return y("Missing Subscribe Key");"0"!=h&&(i.callback=h);e&&(i.stop="all");j&&(i.reverse="true");f&&(i.start=f);g&&(i.end=g);a&&(i.count=a);P({a:h,c:function(a){b(a)},b:function(){b([0, "Disconnected"])},url:[H,"v1","replay",B,m,c,d],data:i})},time:function(a){var b=M();P({a:b,timeout:5*O,url:[H,"time",b],c:function(b){a(b[0])},b:function(){a(0)}})},publish:function(a,b){var b=b||a.callback||p(),c=a.message,e=a.channel,f=M();if(!c)return y("Missing Message");if(!e)return y("Missing Channel");if(!B)return y("Missing Publish Key");if(!m)return y("Missing Subscribe Key");c=JSON.stringify(c);e=[H,"publish",B,m,0,N(e),f,N(c)];k.push({a:f,timeout:5*O,url:e,data:{uuid:G},c:function(a){b(a); -d(1)},b:function(){b([0,"Failed",c]);d(1)}});d()},unsubscribe:function(a){a=a.channel;f=0;t=1;a=C((a.join?a.join(","):""+a).split(","),function(a){return a+","+a+R}).join(",");z(a.split(","),function(a){Q&&b(a,0);v[a]=0});Q&&c()},subscribe:function(a,b){function d(a){a?setTimeout(k,O):(H=W(L,1),oa=W(L,1),setTimeout(function(){D.time(d)},O));e(function(b){if(a&&b.d)return b.d=0,b.m(b.name);!a&&!b.d&&(b.d=1,b.l(b.name))})}function k(){var a=M(),b=na(v).join(",");b&&(j=P({timeout:wa,a:a,b:function(){D.time(d)}, -data:{uuid:G},url:[oa,"subscribe",m,N(b),a,f],c:function(a){if(!a)return setTimeout(k,pa);e(function(a){a.f||(a.f=1,a.k(a.name))});f=!f&&t&&S.get(m)||a[1];S.set(m,a[1]);var b,c=(2q;q++)c+=String.fromCharCode(b[q]);return c},u=function(b,f){var c=[],d;if(!f)try{b=unescape(encodeURIComponent(b))}catch(q){throw"Error on UTF-8 encode";}for(d=0;dj.length&&(t=16-j.length,r=[t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t]);for(t=0;td;d++)c[d]=f[b[d]];return c},E=function(b){var f=[],c=s?[0,13,10,7,4,1,14,11,8,5,2,15,12,9,6,3]:[0,5,10,15,4,9,14,3,8,13,2,7,12,1,6,11],d;for(d=0;16>d;d++)f[d]=b[c[d]];return f},F=function(b){var f=[],c;if(s)for(c=0;4>c;c++)f[4*c]=L[b[4*c]]^M[b[1+4*c]]^N[b[2+4*c]]^O[b[3+4*c]],f[1+4*c]=O[b[4*c]]^L[b[1+4*c]]^M[b[2+4*c]]^N[b[3+4*c]],f[2+4*c]=N[b[4*c]]^O[b[1+4*c]]^L[b[2+4*c]]^M[b[3+4*c]], +f[3+4*c]=M[b[4*c]]^N[b[1+4*c]]^O[b[2+4*c]]^L[b[3+4*c]];else for(c=0;4>c;c++)f[4*c]=P[b[4*c]]^Q[b[1+4*c]]^b[2+4*c]^b[3+4*c],f[1+4*c]=b[4*c]^P[b[1+4*c]]^Q[b[2+4*c]]^b[3+4*c],f[2+4*c]=b[4*c]^b[1+4*c]^P[b[2+4*c]]^Q[b[3+4*c]],f[3+4*c]=Q[b[4*c]]^b[1+4*c]^b[2+4*c]^P[b[3+4*c]];return f},C=function(b,f,c){var d=[],q;for(q=0;16>q;q++)d[q]=b[q]^f[c][q];return d},B=function(b,f){var c=[],d;for(d=0;16>d;d++)c[d]=b[d]^f[d];return c},x=function(b){var f=[],c=[],d,q,p=[];for(d=0;db;b++)c[b]=f[d-1][b];if(0===d%j){b=c[0];q=void 0;for(q=0;4>q;q++)c[q]=c[q+1];c[3]=b;c=G(c);c[0]^=X[d/j-1]}else 6b;b++)f[d][b]=f[d-j][b]^c[b]}for(d=0;dc;c++)p[d].push(f[4*d+c][0],f[4*d+c][1],f[4*d+c][2],f[4*d+c][3])}return p},G=function(b){for(var f=0;4>f;f++)b[f]=S[b[f]];return b},H=function(b,f){var c=[];for(i=0;ic;c++){for(var d=f,q=c,e=b,j=c,m=void 0,p=void 0,m=p=0;8>m;m++)p=1==(j&1)?p^e:p,e=127>>=1;d[q]=p}return f},S=H("637c777bf26b6fc53001672bfed7ab76ca82c97dfa5947f0add4a2af9ca472c0b7fd9326363ff7cc34a5e5f171d8311504c723c31896059a071280e2eb27b27509832c1a1b6e5aa0523bd6b329e32f8453d100ed20fcb15b6acbbe394a4c58cfd0efaafb434d338545f9027f503c9fa851a3408f929d38f5bcb6da2110fff3d2cd0c13ec5f974417c4a77e3d645d197360814fdc222a908846eeb814de5e0bdbe0323a0a4906245cc2d3ac629195e479e7c8376d8dd54ea96c56f4ea657aae08ba78252e1ca6b4c6e8dd741f4bbd8b8a703eb5664803f60e613557b986c11d9ee1f8981169d98e949b1e87e9ce5528df8ca1890dbfe6426841992d0fb054bb16", +2),U,V=S,W=[];for(i=0;i>2],c+=K[(f[d]&3)<<4|f[d+1]>>4],c=void 0!== +f[d+1]?c+K[(f[d+1]&15)<<2|f[d+2]>>6]:c+"=",c=void 0!==f[d+2]?c+K[f[d+2]&63]:c+"=";b=c.slice(0,64);for(d=1;d>4,d[1]=(c[1]&15)<<4|c[2]>>2,d[2]=(c[2]&3)<<6|c[3],f.push(d[0],d[1],d[2]); +return f=f.slice(0,f.length-f.length%16)}};return{size:function(b){switch(b){case 128:e=10;j=4;break;case 192:e=12;j=6;break;case 256:e=14;j=8;break;default:throw"Invalid Key Size Specified:"+b;}},h2a:function(b){var f=[];b.replace(/(..)/g,function(b){f.push(parseInt(b,16))});return f},expandKey:x,encryptBlock:z,decryptBlock:D,Decrypt:s,s2a:u,rawEncrypt:r,rawDecrypt:w,dec:function(b,f,c){var b=R.decode(b),d=b.slice(8,16),d=p(u(f,c),d),f=d.key,d=d.iv,b=b.slice(16,b.length);return b=w(b,f,d,c)},openSSLKey:p, +a2h:function(b){var f="",c;for(c=0;cb[c]?"0":"")+b[c].toString(16);return f},enc:function(b,f,c){var d;d=[];var e;for(e=0;8>e;e++)d=d.concat(Math.floor(256*Math.random()));e=p(u(f,c),d);f=e.key;e=e.iv;d=[[83,97,108,116,101,100,95,95].concat(d)];b=u(b,c);b=r(b,f,e);b=d.concat(b);return R.encode(b)},Hash:{MD5:function(b){function f(b,c){var d,e,f,g,h;f=b&2147483648;g=c&2147483648;d=b&1073741824;e=c&1073741824;h=(b&1073741823)+(c&1073741823);return d&e?h^2147483648^f^g:d|e?h&1073741824? +h^3221225472^f^g:h^1073741824^f^g:h^f^g}function c(b,c,d,e,g,h,k){b=f(b,f(f(c&d|~c&e,g),k));return f(b<>>32-h,c)}function d(b,c,d,e,g,h,k){b=f(b,f(f(c&e|d&~e,g),k));return f(b<>>32-h,c)}function e(b,c,d,g,h,k,l){b=f(b,f(f(c^d^g,h),l));return f(b<>>32-k,c)}function j(b,c,d,e,g,h,k){b=f(b,f(f(d^(c|~e),g),k));return f(b<>>32-h,c)}function p(b){var c,d,e=[];for(d=0;3>=d;d++)c=b>>>8*d&255,e=e.concat(c);return e}var m=[],r,s,w,t,g,h,k,l,n=H("67452301efcdab8998badcfe10325476d76aa478e8c7b756242070dbc1bdceeef57c0faf4787c62aa8304613fd469501698098d88b44f7afffff5bb1895cd7be6b901122fd987193a679438e49b40821f61e2562c040b340265e5a51e9b6c7aad62f105d02441453d8a1e681e7d3fbc821e1cde6c33707d6f4d50d87455a14eda9e3e905fcefa3f8676f02d98d2a4c8afffa39428771f6816d9d6122fde5380ca4beea444bdecfa9f6bb4b60bebfbc70289b7ec6eaa127fad4ef308504881d05d9d4d039e6db99e51fa27cf8c4ac5665f4292244432aff97ab9423a7fc93a039655b59c38f0ccc92ffeff47d85845dd16fa87e4ffe2ce6e0a30143144e0811a1f7537e82bd3af2352ad7d2bbeb86d391", +8),m=b.length;r=m+8;s=16*((r-r%64)/64+1);w=[];for(g=t=0;g>>29;m=w;g=n[0];h=n[1];k=n[2];l=n[3];for(b=0;b>16)+(j>>16)+(p>>16)<<16|p&65535}function s(e,j){return e>>>j|e<<32-j}var v;v=e.replace(/\r\n/g,"\n");for(var e="",u=0;up?e+=String.fromCharCode(p):(127p?e+=String.fromCharCode(p>>6|192):(e+=String.fromCharCode(p>>12|224),e+=String.fromCharCode(p>>6&63|128)),e+=String.fromCharCode(p&63|128))}u=e;v=[];for(p=0;p<8*u.length;p+=8)v[p>>5]|=(u.charCodeAt(p/8)&255)<<24-p%32;var r=8*e.length, +u=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909, +275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],e=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],p=Array(64),w,z,D,y,E,F,C,B,x,G,H;v[r>>5]|=128<<24-r%32;v[(r+64>>9<<4)+15]=r;for(B=0;Bx;x++)p[x]=16>x?v[x+B]:j(j(j(s(p[x-2],17)^s(p[x-2],19)^p[x- +2]>>>10,p[x-7]),s(p[x-15],7)^s(p[x-15],18)^p[x-15]>>>3),p[x-16]),G=j(j(j(j(C,s(y,6)^s(y,11)^s(y,25)),y&E^~y&F),u[x]),p[x]),H=j(s(r,2)^s(r,13)^s(r,22),r&w^r&z^w&z),C=F,F=E,E=y,y=j(D,G),D=z,z=w,w=r,r=j(G,H);e[0]=j(r,e[0]);e[1]=j(w,e[1]);e[2]=j(z,e[2]);e[3]=j(D,e[3]);e[4]=j(y,e[4]);e[5]=j(E,e[5]);e[6]=j(F,e[6]);e[7]=j(C,e[7])}v="";for(u=0;u<4*e.length;u++)v+="0123456789abcdef".charAt(e[u>>2]>>8*(3-u%4)+4&15)+"0123456789abcdef".charAt(e[u>>2]>>8*(3-u%4)&15);return v}; +})(); diff --git a/web/pubnub.js b/web/pubnub.js index d334b5c72..9acaff8a3 100644 --- a/web/pubnub.js +++ b/web/pubnub.js @@ -1,4 +1,4 @@ -// 3.4.2 +// 3.4.3 /* =-====================================================================-= */ /* =-====================================================================-= */ /* =-========================= JSON =============================-= */ @@ -891,6 +891,7 @@ var PDIV = $('pubnub') || 0 , disconnect = args['disconnect'] || function(){} , presence = args['presence'] || 0 , noheresync = args['noheresync'] || 0 + , backfill = args['backfill'] || 0 , sub_timeout = args['timeout'] || SUB_TIMEOUT , windowing = args['windowing'] || SUB_WINDOWING , restore = args['restore']; @@ -1015,6 +1016,12 @@ var PDIV = $('pubnub') || 0 SUB_RESTORE && db['get'](SUBSCRIBE_KEY) || messages[1]; + // Backfill Channel + if (backfill) { + TIMETOKEN = 10000; + backfill = 0; + } + // Update Saved Timetoken db['set']( SUBSCRIBE_KEY, messages[1] ); diff --git a/web/pubnub.min.js b/web/pubnub.min.js index 110d4360a..48687e83c 100644 --- a/web/pubnub.min.js +++ b/web/pubnub.min.js @@ -1,4 +1,4 @@ -// 3.4.2 +// 3.4.3 (function(){ var l=null;function p(){return function(){}} window.JSON&&window.JSON.stringify||function(){function a(){try{return this.valueOf()}catch(a){return l}}function c(a){d.lastIndex=0;return d.test(a)?'"'+a.replace(d,function(a){var b=w[a];return"string"===typeof b?b:"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+a+'"'}function b(d,k){var i,h,j,t,q,f=e,g=k[d];g&&"object"===typeof g&&(g=a.call(g));"function"===typeof n&&(g=n.call(k,d,g));switch(typeof g){case "string":return c(g);case "number":return isFinite(g)?String(g):"null";case "boolean":case "null":return String(g); @@ -10,21 +10,21 @@ a[b],b++);else for(b in a)a.hasOwnProperty&&a.hasOwnProperty(b)&&c.call(a[b],b,a c.addEventListener?c.addEventListener(a,e,!1):c.attachEvent?c.attachEvent("on"+a,e):c["on"+a]=e})},ga=function(){return ca("head")[0]},F=function(a,c,b){if(b)a.setAttribute(c,b);else return a&&a.getAttribute&&a.getAttribute(c)},ha=function(a,c){for(var b in c)if(c.hasOwnProperty(b))try{a.style[b]=c[b]+(0<"|width|height|top|left|".indexOf(b)&&"number"==typeof c[b]?"px":"")}catch(d){}},ia=function(a){return document.createElement(a)},I=function(a){var c="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function(a){var c=16*Math.random()|0;return("x"==a?c:c&3|8).toString(16)});a&&a(c);return c},M=function(){return J||K()?0:r()},N=function(a){return C(encodeURIComponent(a).split(""),function(a){return 0>"-_.!~*'()".indexOf(a)?a:"%"+a.charCodeAt(0).toString(16).toUpperCase()}).join("")},P=function(a){function c(a,b){U||(U=1,a||m(b),f.onerror=l,clearTimeout(A),setTimeout(function(){a&&B();var b=x(g),c=b&&b.parentNode;c&&c.removeChild(b)},O))}if(J||K()){a:{var b,d,e=function(){if(!w){w=1;clearTimeout(v); try{d=JSON.parse(b.responseText)}catch(a){return h(1)}i(d)}},s=0,w=0,n=a.timeout||ja,v=setTimeout(function(){h(1)},n),k=a.b||p(),i=a.c||p(),h=function(a){s||(s=1,clearTimeout(v),b&&(b.onerror=b.onload=l,b.abort&&b.abort(),b=l),a&&k())};try{b=K()||window.XDomainRequest&&new XDomainRequest||new XMLHttpRequest;b.onerror=b.onabort=function(){h(1)};b.onload=b.onloadend=e;b.timeout=n;var j=a.url.join(ka);if(a.data){var e=[],t,j=j+"?";for(t in a.data)e.push(t+"="+a.data[t]);j+=e.join(la)}b.open("GET",j, -typeof("undefined"===a.i));b.send()}catch(q){h(0);J=0;a=P(a);break a}a=h}return a}var f=ia("script"),j=a.a,g=r(),U=0,A=setTimeout(function(){c(1)},a.timeout||ja),B=a.b||p(),m=a.c||p();window[j]=function(a){c(0,a)};a.i||(f[ma]=ma);f.onerror=function(){c(1)};f.src=a.url.join(ka);if(a.data){j=[];f.src+="?";for(e in a.data)j.push(e+"="+a.data[e]);f.src+=j.join(la)}F(f,"id",g);ga().appendChild(f);return c},na=function(a){var c=[];z(a,function(a,d){d.h&&c.push(a)});return c.sort()},ra=function(){setTimeout(function(){Q|| -(Q=1,z(qa,function(a){a()}))},O)},K=function(){if(!sa||!sa.get)return 0;var a={id:K.id++,send:p(),abort:function(){a.id={}},open:function(c,b){K[a.id]=a;sa.get(a.id,b)}};return a},aa=1,ea=/{([\w\-]+)}/g,ma="async",ka="/",la="&",ja=1E4,O=1E3,R="-pnpres",J=-1==navigator.userAgent.indexOf("MSIE 6");window.console||(window.console=window.console||{});console.log||(console.log=console.error=(window.opera||{}).postError||p());var S,V=window.localStorage;S={get:function(a){try{return V?V.getItem(a):-1== -document.cookie.indexOf(a)?l:((document.cookie||"").match(RegExp(a+"=([^;]+)"))||[])[1]||l}catch(c){}},set:function(a,c){try{if(V)return V.setItem(a,c)&&0;document.cookie=a+"="+c+"; expires=Thu, 1 Aug 2030 20:00:00 UTC; path=/"}catch(b){}}};var W,ta=Math.floor(20*Math.random());W=function(a,c){return 0++ta?ta:ta=1))||a};var Y={list:{},unbind:function(a){Y.list[a]=[]},bind:function(a,c){(Y.list[a]=Y.list[a]||[]).push(c)},fire:function(a, -c){z(Y.list[a]||[],function(a){a(c)})}},Z=x("pubnub")||0,Q=0,qa=[],ua=function(a){function c(){}function b(){}function d(a){a&&(k.g=0);!k.g&&k.length&&(k.g=1,P(k.shift()))}function e(a){z(na(v),function(b){(b=v[b])&&a(b)})}function s(){!("onLine"in navigator)||navigator.onLine||n();setTimeout(s,O)}function w(){D.time(function(a){a||n();setTimeout(w,A)})}function n(){j&&j(1)}a.jsonp&&(J=0);var v={},k=[],i=0,h=0,j=0,t=0,q=0,f=0,g=+a.windowing||10,U=(+a.timeout||310)*O,A=(+a.keepalive||60)*O,B=a.publish_key|| +typeof("undefined"===a.i));b.send()}catch(q){h(0);J=0;a=P(a);break a}a=h}return a}var f=ia("script"),j=a.a,g=r(),U=0,A=setTimeout(function(){c(1)},a.timeout||ja),B=a.b||p(),m=a.c||p();window[j]=function(a){c(0,a)};a.i||(f[ma]=ma);f.onerror=function(){c(1)};f.src=a.url.join(ka);if(a.data){j=[];f.src+="?";for(e in a.data)j.push(e+"="+a.data[e]);f.src+=j.join(la)}F(f,"id",g);ga().appendChild(f);return c},na=function(a){var c=[];z(a,function(a,d){d.h&&c.push(a)});return c.sort()},sa=function(){setTimeout(function(){Q|| +(Q=1,z(ra,function(a){a()}))},O)},K=function(){if(!ta||!ta.get)return 0;var a={id:K.id++,send:p(),abort:function(){a.id={}},open:function(c,b){K[a.id]=a;ta.get(a.id,b)}};return a},aa=1,ea=/{([\w\-]+)}/g,ma="async",ka="/",la="&",ja=1E4,O=1E3,R="-pnpres",J=-1==navigator.userAgent.indexOf("MSIE 6");window.console||(window.console=window.console||{});console.log||(console.log=console.error=(window.opera||{}).postError||p());var S,V=window.localStorage;S={get:function(a){try{return V?V.getItem(a):-1== +document.cookie.indexOf(a)?l:((document.cookie||"").match(RegExp(a+"=([^;]+)"))||[])[1]||l}catch(c){}},set:function(a,c){try{if(V)return V.setItem(a,c)&&0;document.cookie=a+"="+c+"; expires=Thu, 1 Aug 2030 20:00:00 UTC; path=/"}catch(b){}}};var W,ua=Math.floor(20*Math.random());W=function(a,c){return 0++ua?ua:ua=1))||a};var Y={list:{},unbind:function(a){Y.list[a]=[]},bind:function(a,c){(Y.list[a]=Y.list[a]||[]).push(c)},fire:function(a, +c){z(Y.list[a]||[],function(a){a(c)})}},Z=x("pubnub")||0,Q=0,ra=[],va=function(a){function c(){}function b(){}function d(a){a&&(k.g=0);!k.g&&k.length&&(k.g=1,P(k.shift()))}function e(a){z(na(v),function(b){(b=v[b])&&a(b)})}function s(){!("onLine"in navigator)||navigator.onLine||n();setTimeout(s,O)}function w(){D.time(function(a){a||n();setTimeout(w,A)})}function n(){j&&j(1)}a.jsonp&&(J=0);var v={},k=[],i=0,h=0,j=0,t=0,q=0,f=0,g=+a.windowing||10,U=(+a.timeout||310)*O,A=(+a.keepalive||60)*O,B=a.publish_key|| "",m=a.subscribe_key||"",T=a.ssl?"s":"",G=a.uuid||S.get(m+"uuid")||"",L="http"+T+"://"+(a.origin||"pubsub.pubnub.com"),H=W(L),oa=W(L),D={history:function(a,b){var b=a.callback||b,c=a.count||a.limit||100,d=a.reverse||"false",e=a.error||p(),g=a.channel,j=a.start,h=a.end,f={},i=M();if(!g)return y("Missing Channel");if(!b)return y("Missing Callback");if(!m)return y("Missing Subscribe Key");f.stringtoken="true";f.count=c;f.reverse=d;i&&(f.callback=i);j&&(f.start=j);h&&(f.end=h);P({a:i,data:f,c:function(a){b(a)}, b:e,url:[H,"v2","history","sub-key",m,"channel",N(g)]})},replay:function(a){var b=b||a.callback||p(),c=a.source,d=a.destination,e=a.stop,f=a.start,g=a.end,j=a.reverse,a=a.limit,h=M(),i={};if(!c)return y("Missing Source Channel");if(!d)return y("Missing Destination Channel");if(!B)return y("Missing Publish Key");if(!m)return y("Missing Subscribe Key");"0"!=h&&(i.callback=h);e&&(i.stop="all");j&&(i.reverse="true");f&&(i.start=f);g&&(i.end=g);a&&(i.count=a);P({a:h,c:function(a){b(a)},b:function(){b([0, "Disconnected"])},url:[H,"v1","replay",B,m,c,d],data:i})},time:function(a){var b=M();P({a:b,timeout:5*O,url:[H,"time",b],c:function(b){a(b[0])},b:function(){a(0)}})},publish:function(a,b){var b=b||a.callback||p(),c=a.message,e=a.channel,f=M();if(!c)return y("Missing Message");if(!e)return y("Missing Channel");if(!B)return y("Missing Publish Key");if(!m)return y("Missing Subscribe Key");c=JSON.stringify(c);e=[H,"publish",B,m,0,N(e),f,N(c)];k.push({a:f,timeout:5*O,url:e,data:{uuid:G},c:function(a){b(a); -d(1)},b:function(){b([0,"Failed",c]);d(1)}});d()},unsubscribe:function(a){a=a.channel;f=0;t=1;a=C((a.join?a.join(","):""+a).split(","),function(a){return a+","+a+R}).join(",");z(a.split(","),function(a){Q&&b(a,0);v[a]=0});Q&&c()},subscribe:function(a,b){function d(a){a?setTimeout(k,O):(H=W(L,1),oa=W(L,1),setTimeout(function(){D.time(d)},O));e(function(b){if(a&&b.d)return b.d=0,b.m(b.name);!a&&!b.d&&(b.d=1,b.l(b.name))})}function k(){var a=M(),b=na(v).join(",");b&&(j=P({timeout:wa,a:a,b:function(){D.time(d)}, -data:{uuid:G},url:[oa,"subscribe",m,N(b),a,f],c:function(a){if(!a)return setTimeout(k,pa);e(function(a){a.f||(a.f=1,a.k(a.name))});f=!f&&t&&S.get(m)||a[1];S.set(m,a[1]);var b,c=(2 Date: Fri, 29 Mar 2013 22:41:48 -0700 Subject: [PATCH 15/66] updated README.md with backfill flag. --- README.md | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/README.md b/README.md index 571556d3d..4f4c31346 100644 --- a/README.md +++ b/README.md @@ -379,6 +379,47 @@ and get back an answer with list of users and the occupancy count. ``` +## BACKFILL + +PubNub Network offers automatic hot-memory backfill which pulls +the full queue from of the message Network to provide a response +filled with a compressed GZIP payload up to the maximum size +of your queue length. +The Default Queue size is 100 for basic PubNub Accounts. +Adding `backfill` to a truthy value on subscribe, +you can pull up to the last 100 message off of an in-memory +queue. Note that this queue is purged on a regular basis +and you may instead wish to use PubNub Network History API +to guarantee pulling historical messages. + +>If you need to increase your queue length, contact PubNub Network +at help@pubnub.com for larger queue length. + +Notice that we are using `backfill : true` in +the `pubnub.subscribe` call below. + +```html +
+ + +``` + + ## WebSocket Client Interface Optionally PubNub offers you the full RFC 6455 From 94138584607af5856c52377d9c3ac5bffc2fb42e Mon Sep 17 00:00:00 2001 From: Stephen Blum Date: Fri, 29 Mar 2013 23:16:28 -0700 Subject: [PATCH 16/66] added updates to BACKFILL description. --- README.md | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 4f4c31346..14fce97d8 100644 --- a/README.md +++ b/README.md @@ -381,16 +381,14 @@ and get back an answer with list of users and the occupancy count. ## BACKFILL -PubNub Network offers automatic hot-memory backfill which pulls -the full queue from of the message Network to provide a response -filled with a compressed GZIP payload up to the maximum size -of your queue length. +PubNub Network offers automatic hot-memory backfill which pulls the full +queue from the message Network to provide a response filled with a +compressed GZIP payload up to the maximum size of your queue length. The Default Queue size is 100 for basic PubNub Accounts. -Adding `backfill` to a truthy value on subscribe, -you can pull up to the last 100 message off of an in-memory -queue. Note that this queue is purged on a regular basis -and you may instead wish to use PubNub Network History API -to guarantee pulling historical messages. +Adding backfill to a truthy value on subscribe, you can pull up to the +last 100 messages off of an in-memory queue. +Note that this queue is purged on a regularly and you may instead wish +to use PubNub Network History API to guarantee pulling historical messages. >If you need to increase your queue length, contact PubNub Network at help@pubnub.com for larger queue length. From dd78faeea9622b6f7807e071b9d2bc40a66eb5fb Mon Sep 17 00:00:00 2001 From: Stephen Blum Date: Fri, 29 Mar 2013 23:24:41 -0700 Subject: [PATCH 17/66] updated BACKFILL doc again with more detail. --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 14fce97d8..15a2922f8 100644 --- a/README.md +++ b/README.md @@ -387,8 +387,8 @@ compressed GZIP payload up to the maximum size of your queue length. The Default Queue size is 100 for basic PubNub Accounts. Adding backfill to a truthy value on subscribe, you can pull up to the last 100 messages off of an in-memory queue. -Note that this queue is purged on a regularly and you may instead wish -to use PubNub Network History API to guarantee pulling historical messages. +Note that this queue may not always return 100 messages and you may instead wish +to use PubNub Network History API to guarantee pulling all historical messages. >If you need to increase your queue length, contact PubNub Network at help@pubnub.com for larger queue length. From 18db3356273de8431e670f0393d2d09d1fb09474 Mon Sep 17 00:00:00 2001 From: Devendra Date: Tue, 2 Apr 2013 01:09:09 +0530 Subject: [PATCH 18/66] javascript consolidation, adding nodejs and modern --- .gitignore | 1 + Makefile | 19 + Makefile.inc | 17 + build-all | 52 - core/pubnub-common.js | 668 + core/tests/disconnect-patch-for-top-h.html | 31 - core/tests/head-test.htm | 40 - core/tests/head.load.min.js | 8 - core/tests/mailto-fix.html | 52 - core/tests/multiplexing.html | 104 - core/tests/presence-ssl.html | 60 - core/tests/publish-test.html | 73 - core/tests/ssl-test.html | 52 - core/tests/unit-test.html | 347 - core/tests/websocket.html | 43 - modern/Makefile | 27 + modern/README.md | 59 + .../pubnub-crypto.min.js | 0 modern/pubnub.js | 8209 ++++++++ modern/pubnub.min.js | 148 + modern/tests/example.html | 83 + modern/tests/mx_example.html | 49 + {core => modern}/tests/test.js | 18 +- {core => modern}/tests/test.sh | 12 +- modern/tests/unit-test.html | 333 + modern/tests/webworker.html | 21 + modern/tests/webworker.js | 52 + modern/unassembled/platform.js | 248 + nodejs/Makefile | 26 + nodejs/README.md | 6 + nodejs/examples/hello.js | 34 + nodejs/examples/history.js | 49 + nodejs/examples/keystroke.js | 75 + nodejs/examples/listener.js | 44 + .../examples/node-to-browser/browser-app.js | 15 + nodejs/examples/node-to-browser/index.html | 19 + nodejs/examples/node-to-browser/node-app.js | 34 + nodejs/examples/node-to-browser/styles.css | 4 + .../examples/node-to-phone/node-to-phone.js | 34 + nodejs/examples/say.js | 32 + nodejs/examples/usage.js | 64 + nodejs/examples/winsay.js | 6 + nodejs/package.json | 39 + {core => nodejs}/pubnub.js | 872 +- nodejs/tests/test.js | 162 + nodejs/tests/unit-test.js | 177 + nodejs/unassembled/platform.js | 175 + socket.io/Makefile | 30 + socket.io/acknowledgements/index.html | 2 +- socket.io/here_now/index.html | 2 +- socket.io/history/index.html | 2 +- socket.io/presence/index.html | 2 +- .../public-private-communication.html | 2 +- socket.io/socket.io.min.js | 1615 +- web/Makefile | 27 + {core => web}/examples/advanced.html | 0 .../examples/encrypted_chat_demo.html | 5 +- {core => web}/examples/presence/index.html | 2 +- .../presence/js/jquery.example.min.js | 0 .../examples/presence/js/pubnub-3.1.js | 0 {core => web}/examples/simple-chat.js | 0 {core => web}/examples/simple.html | 0 web/pubnub-3.4.3.js | 1377 -- web/pubnub-3.4.3.min.js | 30 - web/pubnub-crypto-3.4.3.min.js | 25 - web/pubnub.js | 17447 +++++++++++++++- web/pubnub.min.js | 401 +- web/tests/disconnect.html | 2 +- web/tests/multiplexing.html | 2 +- web/tests/websocket.html | 2 +- web/unassembled/platform.js | 752 + 71 files changed, 30924 insertions(+), 3496 deletions(-) create mode 100644 .gitignore create mode 100644 Makefile create mode 100644 Makefile.inc delete mode 100755 build-all create mode 100644 core/pubnub-common.js delete mode 100644 core/tests/disconnect-patch-for-top-h.html delete mode 100644 core/tests/head-test.htm delete mode 100644 core/tests/head.load.min.js delete mode 100644 core/tests/mailto-fix.html delete mode 100644 core/tests/multiplexing.html delete mode 100644 core/tests/presence-ssl.html delete mode 100644 core/tests/publish-test.html delete mode 100644 core/tests/ssl-test.html delete mode 100644 core/tests/unit-test.html delete mode 100644 core/tests/websocket.html create mode 100644 modern/Makefile create mode 100644 modern/README.md rename web/pubnub-crypto-3.4.2.min.js => modern/pubnub-crypto.min.js (100%) create mode 100644 modern/pubnub.js create mode 100644 modern/pubnub.min.js create mode 100644 modern/tests/example.html create mode 100644 modern/tests/mx_example.html rename {core => modern}/tests/test.js (74%) rename {core => modern}/tests/test.sh (72%) create mode 100644 modern/tests/unit-test.html create mode 100644 modern/tests/webworker.html create mode 100644 modern/tests/webworker.js create mode 100644 modern/unassembled/platform.js create mode 100644 nodejs/Makefile create mode 100644 nodejs/README.md create mode 100644 nodejs/examples/hello.js create mode 100644 nodejs/examples/history.js create mode 100644 nodejs/examples/keystroke.js create mode 100644 nodejs/examples/listener.js create mode 100644 nodejs/examples/node-to-browser/browser-app.js create mode 100644 nodejs/examples/node-to-browser/index.html create mode 100644 nodejs/examples/node-to-browser/node-app.js create mode 100644 nodejs/examples/node-to-browser/styles.css create mode 100644 nodejs/examples/node-to-phone/node-to-phone.js create mode 100644 nodejs/examples/say.js create mode 100644 nodejs/examples/usage.js create mode 100755 nodejs/examples/winsay.js create mode 100644 nodejs/package.json rename {core => nodejs}/pubnub.js (64%) create mode 100644 nodejs/tests/test.js create mode 100644 nodejs/tests/unit-test.js create mode 100644 nodejs/unassembled/platform.js create mode 100644 socket.io/Makefile create mode 100644 web/Makefile rename {core => web}/examples/advanced.html (100%) rename {core => web}/examples/encrypted_chat_demo.html (94%) rename {core => web}/examples/presence/index.html (99%) rename {core => web}/examples/presence/js/jquery.example.min.js (100%) rename {core => web}/examples/presence/js/pubnub-3.1.js (100%) rename {core => web}/examples/simple-chat.js (100%) rename {core => web}/examples/simple.html (100%) delete mode 100644 web/pubnub-3.4.3.js delete mode 100644 web/pubnub-3.4.3.min.js delete mode 100644 web/pubnub-crypto-3.4.3.min.js create mode 100644 web/unassembled/platform.js diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000..3c3629e64 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +node_modules diff --git a/Makefile b/Makefile new file mode 100644 index 000000000..99ff14f0d --- /dev/null +++ b/Makefile @@ -0,0 +1,19 @@ +SUBDIRS = web socket.io nodejs modern + +.PHONY: all +all: + for dir in $(SUBDIRS); do \ + $(MAKE) -C $$dir; \ + done + +.PHONY: clean +clean: + for dir in $(SUBDIRS); do \ + $(MAKE) clean -C $$dir; \ + done + +.PHONY: test +test: + for dir in $(SUBDIRS); do \ + $(MAKE) test -C $$dir; \ + done diff --git a/Makefile.inc b/Makefile.inc new file mode 100644 index 000000000..6fcc3d393 --- /dev/null +++ b/Makefile.inc @@ -0,0 +1,17 @@ +REPOS_DIR=.. +TOOLS_DIR=$(REPOS_DIR)/tools +VERSION=$(shell cat $(REPOS_DIR)/VERSION) +GOOGLE_MINIFY=/opt/minify/compiler.jar +CORE_DIR=$(REPOS_DIR)/core +ECHO=/bin/echo +PUBNUB_JS=pubnub.js +PUBNUB_MIN_JS=pubnub.min.js +PUBNUB_UNASSEMBLED_DIR=unassembled +PUBNUB_PLATFORM_JS=$(PUBNUB_UNASSEMBLED_DIR)/platform.js +PUBNUB_CRYPTO_MIN_JS=pubnub-crypto.min.js +JSON_JS=$(CORE_DIR)/json.js +PUBNUB_COMMON_JS=$(CORE_DIR)/pubnub-common.js +CRYPTO_DIR=$(CORE_DIR)/crypto +GIBBERISH_JS=$(CORE_DIR)/crypto/gibberish-aes.js +ENCRYPT_JS=$(CORE_DIR)/crypto/encrypt-pubnub.js +PUBNUB_MIN_JS=pubnub.min.js diff --git a/build-all b/build-all deleted file mode 100755 index 6a5371710..000000000 --- a/build-all +++ /dev/null @@ -1,52 +0,0 @@ -#!/bin/bash - -echo $1 - -googleminify=$1 -VERSION=`cat ./VERSION` -TOPOUT=pubnub-$VERSION.js -MINOUT=pubnub-$VERSION.min.js -CRYOUT=pubnub-crypto-$VERSION.min.js - -if [ -z "$googleminify" ]; then googleminify="/opt/minify/compiler.jar"; fi - -echo -e " USING: $googleminify" - -## -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- -## Web Build -## -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- -echo -e " " -echo -e " BUILDING WEB..." -rm ./web/pubnub-$VERSION* -echo -n "// " >> ./web/$TOPOUT -cat ./VERSION ./core/json.js ./core/pubnub.js ./core/websocket.js >> ./web/$TOPOUT -echo -n "// " >> ./web/$MINOUT -cat ./VERSION >> ./web/$MINOUT -echo "(function(){" >> ./web/$MINOUT -java -jar $googleminify --js=./web/$TOPOUT --compilation_level=ADVANCED_OPTIMIZATIONS >> ./web/$MINOUT -echo "})();" >> ./web/$MINOUT -cp ./web/$TOPOUT ./web/pubnub.js -cp ./web/$MINOUT ./web/pubnub.min.js - -## Crypto -echo -e " BUILDING CRYPTO..." -echo "(function(){" > ./web/$CRYOUT -cat ./core/crypto/gibberish-aes.js \ -./core/crypto/encrypt-pubnub.js \ -| java -jar $googleminify >> ./web/$CRYOUT -echo "})();" >> ./web/$CRYOUT -cp ./web/$CRYOUT ./web/pubnub-crypto.min.js - -echo -e " DONE WEB BUILD!\n" - -## -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- -## Socket.IO Build -## -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- -echo -e " " -echo -e " BUILDING SOCKET.IO..." -cat ./socket.io/socket.io-base.js | java -jar $googleminify > ./socket.io/socket.io.tmp -cat ./web/pubnub.min.js \ - ./web/$CRYOUT \ - ./socket.io/socket.io.tmp > ./socket.io/socket.io.min.js -rm ./socket.io/socket.io.tmp -echo -e " DONE SOCKET.IO BUILD!\n" diff --git a/core/pubnub-common.js b/core/pubnub-common.js new file mode 100644 index 000000000..d3eba1402 --- /dev/null +++ b/core/pubnub-common.js @@ -0,0 +1,668 @@ +var NOW = 1 +, READY = false +, READY_BUFFER = [] +, PRESENCE_SUFFIX = '-pnpres' +, DEF_WINDOWING = 10 // MILLISECONDS. +, DEF_TIMEOUT = 10000 // MILLISECONDS. +, DEF_SUB_TIMEOUT = 310 // SECONDS. +, DEF_KEEPALIVE = 60 // SECONDS. +, SECOND = 1000 // A THOUSAND MILLISECONDS. +, REPL = /{([\w\-]+)}/g; + +/** + * UTILITIES + */ +function unique() { return'x'+ ++NOW+''+(+new Date) } +function rnow() { return+new Date } + +/** + * NEXTORIGIN + * ========== + * var next_origin = nextorigin(); + */ +var nextorigin = (function() { + var max = 20 + , ori = Math.floor(Math.random() * max); + return function( origin, failover ) { + return origin.indexOf('pubsub.') > 0 + && origin.replace( + 'pubsub', 'ps' + ( + failover ? uuid().split('-')[0] : + (++ori < max? ori : ori=1) + ) ) || origin; + } +})(); + +/** + * UPDATER + * ======= + * var timestamp = unique(); + */ +function updater( fun, rate ) { + var timeout + , last = 0 + , runnit = function() { + if (last + rate > rnow()) { + clearTimeout(timeout); + timeout = setTimeout( runnit, rate ); + } + else { + last = rnow(); + fun(); + } + }; + + return runnit; +} + +/** + * GREP + * ==== + * var list = grep( [1,2,3], function(item) { return item % 2 } ) + */ +function grep( list, fun ) { + var fin = []; + each( list || [], function(l) { fun(l) && fin.push(l) } ); + return fin +} + +/** + * SUPPLANT + * ======== + * var text = supplant( 'Hello {name}!', { name : 'John' } ) + */ +function supplant( str, values ) { + return str.replace( REPL, function( _, match ) { + return values[match] || _ + } ); +} + +/** + * timeout + * ======= + * timeout( function(){}, 100 ); + */ +function timeout( fun, wait ) { + return setTimeout( fun, wait ); +} + +/** + * uuid + * ==== + * var my_uuid = uuid(); + */ +function uuid(callback) { + var u = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, + function(c) { + var r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8); + return v.toString(16); + }); + if (callback) callback(u); + return u; +} + +/** + * EACH + * ==== + * each( [1,2,3], function(item) { } ) + */ +function each( o, f ) { + if ( !o || !f ) return; + + if ( typeof o[0] != 'undefined' ) + for ( var i = 0, l = o.length; i < l; ) + f.call( o[i], o[i], i++ ); + else + for ( var i in o ) + o.hasOwnProperty && + o.hasOwnProperty(i) && + f.call( o[i], i, o[i] ); +} + +/** + * MAP + * === + * var list = map( [1,2,3], function(item) { return item + 1 } ) + */ +function map( list, fun ) { + var fin = []; + each( list || [], function( k, v ) { fin.push(fun( k, v )) } ); + return fin; +} + +/** + * ENCODE + * ====== + * var encoded_path = encode('path'); + */ +function encode(path) { + return map( (encodeURIComponent(path)).split(''), function(chr) { + return "-_.!~*'()".indexOf(chr) < 0 ? chr : + "%"+chr.charCodeAt(0).toString(16).toUpperCase() + } ).join(''); +} + +/** + * Generate Subscription Channel List + * ================================== + * generate_channel_list(channels_object); + */ +function generate_channel_list(channels) { + var list = []; + each( channels, function( channel, status ) { + if (status.subscribed) list.push(channel); + } ); + return list.sort(); +} + +// PUBNUB READY TO CONNECT + function ready() { timeout( function() { + if (READY) return; + READY = 1; + each( READY_BUFFER, function(connect) { connect() } ); + }, SECOND ); } + +function PN_API(setup) { + var SUB_WINDOWING = +setup['windowing'] || DEF_WINDOWING + , SUB_TIMEOUT = (+setup['timeout'] || DEF_SUB_TIMEOUT) * SECOND + , KEEPALIVE = (+setup['keepalive'] || DEF_KEEPALIVE) * SECOND + , PUBLISH_KEY = setup['publish_key'] || '' + , SUBSCRIBE_KEY = setup['subscribe_key'] || '' + , SSL = setup['ssl'] ? 's' : '' + , ORIGIN = 'http'+SSL+'://'+(setup['origin']||'pubsub.pubnub.com') + , STD_ORIGIN = nextorigin(ORIGIN) + , SUB_ORIGIN = nextorigin(ORIGIN) + , CONNECT = function(){} + , PUB_QUEUE = [] + , SUB_CALLBACK = 0 + , SUB_CHANNEL = 0 + , SUB_RECEIVER = 0 + , SUB_RESTORE = 0 + , SUB_BUFF_WAIT = 0 + , TIMETOKEN = 0 + , CHANNELS = {} + , xdr = setup['xdr'] + , _is_online = setup['_is_online'] || function() { return 1; } + , jsonp_cb = setup['jsonp_cb'] || function(){ return 0; } + , db = setup['db'] || {'get': function(){}, 'set': function(){}} + , UUID = setup['uuid'] || ( db && db['get'](SUBSCRIBE_KEY+'uuid') || ''); + + + + function publish(next) { + if (next) PUB_QUEUE.sending = 0; + if (PUB_QUEUE.sending || !PUB_QUEUE.length) return; + PUB_QUEUE.sending = 1; + xdr(PUB_QUEUE.shift()); + } + + function each_channel(callback) { + each( generate_channel_list(CHANNELS), function(channel) { + var chan = CHANNELS[channel]; + if (!chan) return; + callback(chan); + } ); + } + + // Announce Leave Event + + + var SELF = { + + '_reset_offline' : function() { + SUB_RECEIVER && SUB_RECEIVER(1); + }, + + 'LEAVE' : function( channel, blocking ) { + var data = { 'uuid' : UUID } + , origin = nextorigin(ORIGIN) + , jsonp = jsonp_cb(); + + // Prevent Leaving a Presence Channel + if (channel.indexOf(PRESENCE_SUFFIX) > 0) return; + + if (jsonp != '0') data['callback'] = jsonp; + + xdr({ + blocking : blocking || SSL, + timeout : 2000, + callback : jsonp, + data : data, + url : [ + origin, 'v2', 'presence', 'sub_key', + SUBSCRIBE_KEY, 'channel', encode(channel), 'leave' + ] + }); + }, + /* + PUBNUB.history({ + channel : 'my_chat_channel', + limit : 100, + callback : function(history) { } + }); + */ + 'history' : function( args, callback ) { + var callback = args['callback'] || callback + , count = args['count'] || args['limit'] || 100 + , reverse = args['reverse'] || "false" + , err = args['error'] || function(){} + , channel = args['channel'] + , start = args['start'] + , end = args['end'] + , params = {} + , jsonp = jsonp_cb(); + + // Make sure we have a Channel + if (!channel) return error('Missing Channel'); + if (!callback) return error('Missing Callback'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + params['stringtoken'] = 'true'; + params['count'] = count; + params['reverse'] = reverse; + + if (jsonp) params['callback'] = jsonp; + if (start) params['start'] = start; + if (end) params['end'] = end; + + // Send Message + xdr({ + callback : jsonp, + data : params, + success : function(response) { callback(response) }, + fail : err, + url : [ + STD_ORIGIN, 'v2', 'history', 'sub-key', + SUBSCRIBE_KEY, 'channel', encode(channel) + ] + }); + }, + + /* + PUBNUB.replay({ + source : 'my_channel', + destination : 'new_channel' + }); + */ + 'replay' : function(args) { + var callback = callback || args['callback'] || function(){} + , source = args['source'] + , destination = args['destination'] + , stop = args['stop'] + , start = args['start'] + , end = args['end'] + , reverse = args['reverse'] + , limit = args['limit'] + , jsonp = jsonp_cb() + , data = {} + , url; + + // Check User Input + if (!source) return error('Missing Source Channel'); + if (!destination) return error('Missing Destination Channel'); + if (!PUBLISH_KEY) return error('Missing Publish Key'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + // Setup URL Params + if (jsonp != '0') data['callback'] = jsonp; + if (stop) data['stop'] = 'all'; + if (reverse) data['reverse'] = 'true'; + if (start) data['start'] = start; + if (end) data['end'] = end; + if (limit) data['count'] = limit; + + // Compose URL Parts + url = [ + STD_ORIGIN, 'v1', 'replay', + PUBLISH_KEY, SUBSCRIBE_KEY, + source, destination + ]; + + // Start (or Stop) Replay! + xdr({ + callback : jsonp, + success : function(response) { callback(response) }, + fail : function() { callback([ 0, 'Disconnected' ]) }, + url : url, + data : data + }); + }, + + /* + PUBNUB.time(function(time){ }); + */ + 'time' : function(callback) { + var jsonp = jsonp_cb(); + xdr({ + callback : jsonp, + timeout : SECOND*5, + url : [STD_ORIGIN, 'time', jsonp], + success : function(response) { callback(response[0]) }, + fail : function() { callback(0) } + }); + }, + + /* + PUBNUB.publish({ + channel : 'my_chat_channel', + message : 'hello!' + }); + */ + 'publish' : function( args, callback ) { + var callback = callback || args['callback'] || function(){} + , msg = args['message'] + , channel = args['channel'] + , jsonp = jsonp_cb() + , url; + + if (!msg) return error('Missing Message'); + if (!channel) return error('Missing Channel'); + if (!PUBLISH_KEY) return error('Missing Publish Key'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + // If trying to send Object + msg = JSON['stringify'](msg); + + // Create URL + url = [ + STD_ORIGIN, 'publish', + PUBLISH_KEY, SUBSCRIBE_KEY, + 0, encode(channel), + jsonp, encode(msg) + ]; + + // Queue Message Send + PUB_QUEUE.push({ + callback : jsonp, + timeout : SECOND*5, + url : url, + data : { 'uuid' : UUID }, + success : function(response){callback(response);publish(1)}, + fail : function(){callback([0,'Failed',msg]);publish(1)} + }); + + // Send Message + publish(); + }, + + /* + PUBNUB.unsubscribe({ channel : 'my_chat' }); + */ + 'unsubscribe' : function(args) { + var channel = args['channel']; + + TIMETOKEN = 0; + SUB_RESTORE = 1; + + // Prepare Channel(s) + channel = map( ( + channel.join ? channel.join(',') : ''+channel + ).split(','), function(channel) { + return channel + ',' + channel + PRESENCE_SUFFIX; + } ).join(','); + + // Iterate over Channels + each( channel.split(','), function(channel) { + if (READY) SELF['LEAVE']( channel, 0 ); + CHANNELS[channel] = 0; + } ); + + // ReOpen Connection if Any Channels Left + if (READY) CONNECT(); + }, + + /* + PUBNUB.subscribe({ + channel : 'my_chat' + callback : function(message) { } + }); + */ + 'subscribe' : function( args, callback ) { + var channel = args['channel'] + , callback = callback || args['callback'] + , callback = callback || args['message'] + , connect = args['connect'] || function(){} + , reconnect = args['reconnect'] || function(){} + , disconnect = args['disconnect'] || function(){} + , presence = args['presence'] || 0 + , noheresync = args['noheresync'] || 0 + , backfill = args['backfill'] || 0 + , sub_timeout = args['timeout'] || SUB_TIMEOUT + , windowing = args['windowing'] || SUB_WINDOWING + , restore = args['restore']; + + // Restore Enabled? + if (restore) SUB_RESTORE = 1; + + TIMETOKEN = 0; + + // Make sure we have a Channel + if (!channel) return error('Missing Channel'); + if (!callback) return error('Missing Callback'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + // Setup Channel(s) + each( (channel.join ? channel.join(',') : ''+channel).split(','), + function(channel) { + var settings = CHANNELS[channel] || {}; + + // Store Channel State + CHANNELS[SUB_CHANNEL = channel] = { + name : channel, + connected : settings.connected, + disconnected : settings.disconnected, + subscribed : 1, + callback : SUB_CALLBACK = callback, + connect : connect, + disconnect : disconnect, + reconnect : reconnect + }; + + // Presence Enabled? + if (!presence) return; + + // Subscribe Presence Channel + SELF['subscribe']({ + 'channel' : channel + PRESENCE_SUFFIX, + 'callback' : presence + }); + + // Presence Subscribed? + if (settings.subscribed) return; + + // See Who's Here Now? + if (noheresync) return; + SELF['here_now']({ + 'channel' : channel, + 'callback' : function(here) { + each( 'uuids' in here ? here['uuids'] : [], + function(uid) { presence( { + 'action' : 'join', + 'uuid' : uid, + 'timestamp' : rnow(), + 'occupancy' : here['occupancy'] || 1 + }, here, channel ); } ); + } + }); + } ); + + // Test Network Connection + function _test_connection(success) { + if (success) { + // Begin Next Socket Connection + timeout( _connect, SECOND ); + } + else { + // New Origin on Failed Connection + STD_ORIGIN = nextorigin( ORIGIN, 1 ); + SUB_ORIGIN = nextorigin( ORIGIN, 1 ); + + // Re-test Connection + timeout( function() { + SELF['time'](_test_connection); + }, SECOND ); + } + + // Disconnect & Reconnect + each_channel(function(channel){ + // Reconnect + if (success && channel.disconnected) { + channel.disconnected = 0; + return channel.reconnect(channel.name); + } + + // Disconnect + if (!success && !channel.disconnected) { + channel.disconnected = 1; + channel.disconnect(channel.name); + } + }); + } + + // Evented Subscribe + function _connect() { + var jsonp = jsonp_cb() + , channels = generate_channel_list(CHANNELS).join(','); + + // Stop Connection + if (!channels) return; + + // Connect to PubNub Subscribe Servers + SUB_RECEIVER = xdr({ + timeout : sub_timeout, + callback : jsonp, + fail : function() { SELF['time'](_test_connection) }, + data : { 'uuid' : UUID }, + url : [ + SUB_ORIGIN, 'subscribe', + SUBSCRIBE_KEY, encode(channels), + jsonp, TIMETOKEN + ], + success : function(messages) { + if (!messages) return timeout( _connect, windowing ); + + // Connect + each_channel(function(channel){ + if (channel.connected) return; + channel.connected = 1; + channel.connect(channel.name); + }); + + // Restore Previous Connection Point if Needed + TIMETOKEN = !TIMETOKEN && + SUB_RESTORE && + db['get'](SUBSCRIBE_KEY) || messages[1]; + + + if (backfill) { + Timetoken = 10000; + backfill = 0; + } + + // Update Saved Timetoken + db['set']( SUBSCRIBE_KEY, messages[1] ); + + // Route Channel <---> Callback for Message + var next_callback = (function() { + var channels = (messages.length>2?messages[2]:'') + , list = channels.split(','); + + return function() { + var channel = list.shift()||''; + return [ + (CHANNELS[channel]||{}) + .callback||SUB_CALLBACK, + (channel||SUB_CHANNEL) + .split(PRESENCE_SUFFIX)[0] + ]; + }; + })(); + + each( messages[0], function(msg) { + var next = next_callback(); + if (!CHANNELS[next[1]].subscribed) return; + next[0]( msg, messages, next[1] ); + } ); + + timeout( _connect, windowing ); + } + }); + } + + CONNECT = function() { + // Close Previous Subscribe Connection + SELF['_reset_offline'](); + + // Begin Recursive Subscribe + clearTimeout(SUB_BUFF_WAIT); + SUB_BUFF_WAIT = timeout( _connect, 100 ); + }; + + // Reduce Status Flicker + if (!READY) return READY_BUFFER.push(CONNECT); + + // Connect Now + CONNECT(); + }, + + 'here_now' : function( args, callback ) { + var callback = args['callback'] || callback + , err = args['error'] || function(){} + , channel = args['channel'] + , jsonp = jsonp_cb() + , data = null; + + // Make sure we have a Channel + if (!channel) return error('Missing Channel'); + if (!callback) return error('Missing Callback'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + if (jsonp != '0') { + data = {}; + data['callback'] = jsonp; + } + + xdr({ + callback : jsonp, + data : data, + success : function(response) { callback(response) }, + fail : err, + url : [ + STD_ORIGIN, 'v2', 'presence', + 'sub_key', SUBSCRIBE_KEY, + 'channel', encode(channel) + ] + }); + }, + + // Expose PUBNUB Functions + 'xdr' : xdr, + 'ready' : ready, + 'db' : db, + 'uuid' : uuid, + 'each' : each, + 'map' : map, + 'grep' : grep, + 'supplant' : supplant, + 'now' : rnow, + 'unique' : unique, + 'updater' : updater, + 'poll_online' : function() { + _is_online() || SELF['_reset_offline'](); + timeout( SELF['poll_online'], SECOND ); + }, + 'poll_online2' : function() { + SELF['time'](function(success){ + success || SELF['_reset_offline'](); + timeout( SELF['poll_online2'], KEEPALIVE ); + }) + } + }; + if (!UUID) UUID = SELF['uuid'](); + db['set']( SUBSCRIBE_KEY + 'uuid', UUID ); + + timeout( SELF['poll_online'], SECOND ); + timeout( SELF['poll_online2'], KEEPALIVE ); + + return SELF; +} diff --git a/core/tests/disconnect-patch-for-top-h.html b/core/tests/disconnect-patch-for-top-h.html deleted file mode 100644 index 67b4c9bb3..000000000 --- a/core/tests/disconnect-patch-for-top-h.html +++ /dev/null @@ -1,31 +0,0 @@ - - - - - PubNub JavaScript Unit Test - - - - -
- - - - - diff --git a/core/tests/head-test.htm b/core/tests/head-test.htm deleted file mode 100644 index 1c36d5a22..000000000 --- a/core/tests/head-test.htm +++ /dev/null @@ -1,40 +0,0 @@ - - - - PubNub JavaScript HEAD INIT TEST - - - - -
- -

Head Test

-
Wait here for an alert() message.
- -
-
- diff --git a/core/tests/head.load.min.js b/core/tests/head.load.min.js deleted file mode 100644 index 6242b0fad..000000000 --- a/core/tests/head.load.min.js +++ /dev/null @@ -1,8 +0,0 @@ -/** - Head JS The only script in your - Copyright Tero Piirainen (tipiirai) - License MIT / http://bit.ly/mit-license - Version 0.96 - - http://headjs.com -*/(function(a){function z(){d||(d=!0,s(e,function(a){p(a)}))}function y(c,d){var e=a.createElement("script");e.type="text/"+(c.type||"javascript"),e.src=c.src||c,e.async=!1,e.onreadystatechange=e.onload=function(){var a=e.readyState;!d.done&&(!a||/loaded|complete/.test(a))&&(d.done=!0,d())},(a.body||b).appendChild(e)}function x(a,b){if(a.state==o)return b&&b();if(a.state==n)return k.ready(a.name,b);if(a.state==m)return a.onpreload.push(function(){x(a,b)});a.state=n,y(a.url,function(){a.state=o,b&&b(),s(g[a.name],function(a){p(a)}),u()&&d&&s(g.ALL,function(a){p(a)})})}function w(a,b){a.state===undefined&&(a.state=m,a.onpreload=[],y({src:a.url,type:"cache"},function(){v(a)}))}function v(a){a.state=l,s(a.onpreload,function(a){a.call()})}function u(a){a=a||h;var b;for(var c in a){if(a.hasOwnProperty(c)&&a[c].state!=o)return!1;b=!0}return b}function t(a){return Object.prototype.toString.call(a)=="[object Function]"}function s(a,b){if(!!a){typeof a=="object"&&(a=[].slice.call(a));for(var c=0;c - - - PubNub JavaScript MailTO Fix - - -
- - -
- × -

PubNub MailTO Test for JavaScript on Mobile and Desktop Web Browser

-
- - - -
0
- -
- - -
- diff --git a/core/tests/multiplexing.html b/core/tests/multiplexing.html deleted file mode 100644 index 40756d7c3..000000000 --- a/core/tests/multiplexing.html +++ /dev/null @@ -1,104 +0,0 @@ - - - - - PubNub JavaScript Multiplexing Test - - - - -
- -
...
- -
- - - -
- diff --git a/core/tests/presence-ssl.html b/core/tests/presence-ssl.html deleted file mode 100644 index 04e838080..000000000 --- a/core/tests/presence-ssl.html +++ /dev/null @@ -1,60 +0,0 @@ - - - - - PubNub Presence SSL Test - - - - - - - -
- Open the - Developers Console - and watch the presence events section to ensure join/leave. -
- - - - -
- - - - - diff --git a/core/tests/publish-test.html b/core/tests/publish-test.html deleted file mode 100644 index 425c99fa0..000000000 --- a/core/tests/publish-test.html +++ /dev/null @@ -1,73 +0,0 @@ - - - - - PubNub JavaScript Publish IE Fix - - - - -
- - - - -
...
- -
- - - -
- diff --git a/core/tests/ssl-test.html b/core/tests/ssl-test.html deleted file mode 100644 index 729cd9081..000000000 --- a/core/tests/ssl-test.html +++ /dev/null @@ -1,52 +0,0 @@ - - - -
- -
- - - - diff --git a/core/tests/unit-test.html b/core/tests/unit-test.html deleted file mode 100644 index 493abec5d..000000000 --- a/core/tests/unit-test.html +++ /dev/null @@ -1,347 +0,0 @@ - - - - - PubNub JavaScript Unit Test - - - - - -
- - -
- × - -

PubNub Unit Tests for JavaScript on Mobile and Desktop Web Browser

-
- - -
- - - 100% Successful - Finished With Errors - ... -
- - - - -
Pass/Fail - Test Ready -
- - - - -
- - - - - - -
- - diff --git a/core/tests/websocket.html b/core/tests/websocket.html deleted file mode 100644 index d1409d409..000000000 --- a/core/tests/websocket.html +++ /dev/null @@ -1,43 +0,0 @@ - - - - - PubNub JavaScript Unit Test - - - - -
- - - - - diff --git a/modern/Makefile b/modern/Makefile new file mode 100644 index 000000000..96d1faddb --- /dev/null +++ b/modern/Makefile @@ -0,0 +1,27 @@ +include ../Makefile.inc +WEBSOCKET_JS=$(CORE_DIR)/websocket.js +OUTPUT_FILES=$(PUBNUB_MIN_JS) $(PUBNUB_CRYPTO_MIN_JS) + +.PHONY : all +all: build + +.PHONY : build +build: $(PUBNUB_MIN_JS) $(PUBNUB_CRYPTO_MIN_JS) + +$(PUBNUB_MIN_JS) : $(JSON_JS) $(PUBNUB_COMMON_JS) $(PUBNUB_MODERN_JS) + cat $(PUBNUB_COMMON_JS) $(PUBNUB_PLATFORM_JS) >> $(PUBNUB_JS) + $(ECHO) -n "// " > $(PUBNUB_MIN_JS) + $(ECHO) $(VERSION) >> $(PUBNUB_MIN_JS) + $(ECHO) "(function(){" >> $(PUBNUB_MIN_JS) + cat $(PUBNUB_JS) | java -jar $(GOOGLE_MINIFY) --compilation_level=ADVANCED_OPTIMIZATIONS >> $(PUBNUB_MIN_JS) + $(ECHO) "})();" >> $(PUBNUB_MIN_JS) + +$(PUBNUB_CRYPTO_MIN_JS) : $(GIBBERISH_JS) $(ENCRYPTO_JS) + $(ECHO) "(function(){" >> $(PUBNUB_CRYPTO_MIN_JS) + cat $(GIBBERISH_JS) $(ENCRYPT_JS) | java -jar $(GOOGLE_MINIFY) >> $(PUBNUB_CRYPTO_MIN_JS) + $(ECHO) "})();" >> $(PUBNUB_CRYPTO_MIN_JS) + + +.PHONY : clean +clean: + rm -f $(OUTPUT_FILES) diff --git a/modern/README.md b/modern/README.md new file mode 100644 index 000000000..21dd4ce47 --- /dev/null +++ b/modern/README.md @@ -0,0 +1,59 @@ +# PubNub HTML5 Modern JavaScript Library + +For a faster PubNub load, use the PubNub HTML5 Modern JavaScript +Library which is `CommonJS` and HTML5 `WebWorker` Ready. + +#### Supported Browsers: + + - firefox/3.6' + - firefox/9.0' + - firefox/10.0' + - chrome/16.0' + - chrome/17.0' + - iexplore/9.0' + - safari/5.1' + +```html + + + +``` + diff --git a/web/pubnub-crypto-3.4.2.min.js b/modern/pubnub-crypto.min.js similarity index 100% rename from web/pubnub-crypto-3.4.2.min.js rename to modern/pubnub-crypto.min.js diff --git a/modern/pubnub.js b/modern/pubnub.js new file mode 100644 index 000000000..c4084f18a --- /dev/null +++ b/modern/pubnub.js @@ -0,0 +1,8209 @@ +var NOW = 1 +, READY = false +, READY_BUFFER = [] +, PRESENCE_SUFFIX = '-pnpres' +, DEF_WINDOWING = 10 // MILLISECONDS. +, DEF_TIMEOUT = 10000 // MILLISECONDS. +, DEF_SUB_TIMEOUT = 310 // SECONDS. +, DEF_KEEPALIVE = 60 // SECONDS. +, SECOND = 1000 // A THOUSAND MILLISECONDS. +, REPL = /{([\w\-]+)}/g; + +/** + * UTILITIES + */ +function unique() { return'x'+ ++NOW+''+(+new Date) } +function rnow() { return+new Date } + +/** + * NEXTORIGIN + * ========== + * var next_origin = nextorigin(); + */ +var nextorigin = (function() { + var max = 20 + , ori = Math.floor(Math.random() * max); + return function( origin, failover ) { + return origin.indexOf('pubsub.') > 0 + && origin.replace( + 'pubsub', 'ps' + ( + failover ? uuid().split('-')[0] : + (++ori < max? ori : ori=1) + ) ) || origin; + } +})(); + +/** + * UPDATER + * ======= + * var timestamp = unique(); + */ +function updater( fun, rate ) { + var timeout + , last = 0 + , runnit = function() { + if (last + rate > rnow()) { + clearTimeout(timeout); + timeout = setTimeout( runnit, rate ); + } + else { + last = rnow(); + fun(); + } + }; + + return runnit; +} + +/** + * GREP + * ==== + * var list = grep( [1,2,3], function(item) { return item % 2 } ) + */ +function grep( list, fun ) { + var fin = []; + each( list || [], function(l) { fun(l) && fin.push(l) } ); + return fin +} + +/** + * SUPPLANT + * ======== + * var text = supplant( 'Hello {name}!', { name : 'John' } ) + */ +function supplant( str, values ) { + return str.replace( REPL, function( _, match ) { + return values[match] || _ + } ); +} + +/** + * timeout + * ======= + * timeout( function(){}, 100 ); + */ +function timeout( fun, wait ) { + return setTimeout( fun, wait ); +} + +/** + * uuid + * ==== + * var my_uuid = uuid(); + */ +function uuid(callback) { + var u = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, + function(c) { + var r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8); + return v.toString(16); + }); + if (callback) callback(u); + return u; +} + +/** + * EACH + * ==== + * each( [1,2,3], function(item) { } ) + */ +function each( o, f ) { + if ( !o || !f ) return; + + if ( typeof o[0] != 'undefined' ) + for ( var i = 0, l = o.length; i < l; ) + f.call( o[i], o[i], i++ ); + else + for ( var i in o ) + o.hasOwnProperty && + o.hasOwnProperty(i) && + f.call( o[i], i, o[i] ); +} + +/** + * MAP + * === + * var list = map( [1,2,3], function(item) { return item + 1 } ) + */ +function map( list, fun ) { + var fin = []; + each( list || [], function( k, v ) { fin.push(fun( k, v )) } ); + return fin; +} + +/** + * ENCODE + * ====== + * var encoded_path = encode('path'); + */ +function encode(path) { + return map( (encodeURIComponent(path)).split(''), function(chr) { + return "-_.!~*'()".indexOf(chr) < 0 ? chr : + "%"+chr.charCodeAt(0).toString(16).toUpperCase() + } ).join(''); +} + +/** + * Generate Subscription Channel List + * ================================== + * generate_channel_list(channels_object); + */ +function generate_channel_list(channels) { + var list = []; + each( channels, function( channel, status ) { + if (status.subscribed) list.push(channel); + } ); + return list.sort(); +} + +// PUBNUB READY TO CONNECT + function ready() { timeout( function() { + if (READY) return; + READY = 1; + each( READY_BUFFER, function(connect) { connect() } ); + }, SECOND ); } + +function PN_API(setup) { + var SUB_WINDOWING = +setup['windowing'] || DEF_WINDOWING + , SUB_TIMEOUT = (+setup['timeout'] || DEF_SUB_TIMEOUT) * SECOND + , KEEPALIVE = (+setup['keepalive'] || DEF_KEEPALIVE) * SECOND + , PUBLISH_KEY = setup['publish_key'] || '' + , SUBSCRIBE_KEY = setup['subscribe_key'] || '' + , SSL = setup['ssl'] ? 's' : '' + , ORIGIN = 'http'+SSL+'://'+(setup['origin']||'pubsub.pubnub.com') + , STD_ORIGIN = nextorigin(ORIGIN) + , SUB_ORIGIN = nextorigin(ORIGIN) + , CONNECT = function(){} + , PUB_QUEUE = [] + , SUB_CALLBACK = 0 + , SUB_CHANNEL = 0 + , SUB_RECEIVER = 0 + , SUB_RESTORE = 0 + , SUB_BUFF_WAIT = 0 + , TIMETOKEN = 0 + , CHANNELS = {} + , xdr = setup['xdr'] + , _is_online = setup['_is_online'] || function() { return 1; } + , jsonp_cb = setup['jsonp_cb'] || function(){ return 0; } + , db = setup['db'] || {'get': function(){}, 'set': function(){}} + , UUID = setup['uuid'] || ( db && db['get'](SUBSCRIBE_KEY+'uuid') || ''); + + + + function publish(next) { + if (next) PUB_QUEUE.sending = 0; + if (PUB_QUEUE.sending || !PUB_QUEUE.length) return; + PUB_QUEUE.sending = 1; + xdr(PUB_QUEUE.shift()); + } + + function each_channel(callback) { + each( generate_channel_list(CHANNELS), function(channel) { + var chan = CHANNELS[channel]; + if (!chan) return; + callback(chan); + } ); + } + + // Announce Leave Event + + + var SELF = { + + '_reset_offline' : function() { + SUB_RECEIVER && SUB_RECEIVER(1); + }, + + 'LEAVE' : function( channel, blocking ) { + var data = { 'uuid' : UUID } + , origin = nextorigin(ORIGIN) + , jsonp = jsonp_cb(); + + // Prevent Leaving a Presence Channel + if (channel.indexOf(PRESENCE_SUFFIX) > 0) return; + + if (jsonp != '0') data['callback'] = jsonp; + + xdr({ + blocking : blocking || SSL, + timeout : 2000, + callback : jsonp, + data : data, + url : [ + origin, 'v2', 'presence', 'sub_key', + SUBSCRIBE_KEY, 'channel', encode(channel), 'leave' + ] + }); + }, + /* + PUBNUB.history({ + channel : 'my_chat_channel', + limit : 100, + callback : function(history) { } + }); + */ + 'history' : function( args, callback ) { + var callback = args['callback'] || callback + , count = args['count'] || args['limit'] || 100 + , reverse = args['reverse'] || "false" + , err = args['error'] || function(){} + , channel = args['channel'] + , start = args['start'] + , end = args['end'] + , params = {} + , jsonp = jsonp_cb(); + + // Make sure we have a Channel + if (!channel) return error('Missing Channel'); + if (!callback) return error('Missing Callback'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + params['stringtoken'] = 'true'; + params['count'] = count; + params['reverse'] = reverse; + + if (jsonp) params['callback'] = jsonp; + if (start) params['start'] = start; + if (end) params['end'] = end; + + // Send Message + xdr({ + callback : jsonp, + data : params, + success : function(response) { callback(response) }, + fail : err, + url : [ + STD_ORIGIN, 'v2', 'history', 'sub-key', + SUBSCRIBE_KEY, 'channel', encode(channel) + ] + }); + }, + + /* + PUBNUB.replay({ + source : 'my_channel', + destination : 'new_channel' + }); + */ + 'replay' : function(args) { + var callback = callback || args['callback'] || function(){} + , source = args['source'] + , destination = args['destination'] + , stop = args['stop'] + , start = args['start'] + , end = args['end'] + , reverse = args['reverse'] + , limit = args['limit'] + , jsonp = jsonp_cb() + , data = {} + , url; + + // Check User Input + if (!source) return error('Missing Source Channel'); + if (!destination) return error('Missing Destination Channel'); + if (!PUBLISH_KEY) return error('Missing Publish Key'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + // Setup URL Params + if (jsonp != '0') data['callback'] = jsonp; + if (stop) data['stop'] = 'all'; + if (reverse) data['reverse'] = 'true'; + if (start) data['start'] = start; + if (end) data['end'] = end; + if (limit) data['count'] = limit; + + // Compose URL Parts + url = [ + STD_ORIGIN, 'v1', 'replay', + PUBLISH_KEY, SUBSCRIBE_KEY, + source, destination + ]; + + // Start (or Stop) Replay! + xdr({ + callback : jsonp, + success : function(response) { callback(response) }, + fail : function() { callback([ 0, 'Disconnected' ]) }, + url : url, + data : data + }); + }, + + /* + PUBNUB.time(function(time){ }); + */ + 'time' : function(callback) { + var jsonp = jsonp_cb(); + xdr({ + callback : jsonp, + timeout : SECOND*5, + url : [STD_ORIGIN, 'time', jsonp], + success : function(response) { callback(response[0]) }, + fail : function() { callback(0) } + }); + }, + + /* + PUBNUB.publish({ + channel : 'my_chat_channel', + message : 'hello!' + }); + */ + 'publish' : function( args, callback ) { + var callback = callback || args['callback'] || function(){} + , msg = args['message'] + , channel = args['channel'] + , jsonp = jsonp_cb() + , url; + + if (!msg) return error('Missing Message'); + if (!channel) return error('Missing Channel'); + if (!PUBLISH_KEY) return error('Missing Publish Key'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + // If trying to send Object + msg = JSON['stringify'](msg); + + // Create URL + url = [ + STD_ORIGIN, 'publish', + PUBLISH_KEY, SUBSCRIBE_KEY, + 0, encode(channel), + jsonp, encode(msg) + ]; + + // Queue Message Send + PUB_QUEUE.push({ + callback : jsonp, + timeout : SECOND*5, + url : url, + data : { 'uuid' : UUID }, + success : function(response){callback(response);publish(1)}, + fail : function(){callback([0,'Failed',msg]);publish(1)} + }); + + // Send Message + publish(); + }, + + /* + PUBNUB.unsubscribe({ channel : 'my_chat' }); + */ + 'unsubscribe' : function(args) { + var channel = args['channel']; + + TIMETOKEN = 0; + SUB_RESTORE = 1; + + // Prepare Channel(s) + channel = map( ( + channel.join ? channel.join(',') : ''+channel + ).split(','), function(channel) { + return channel + ',' + channel + PRESENCE_SUFFIX; + } ).join(','); + + // Iterate over Channels + each( channel.split(','), function(channel) { + if (READY) SELF['LEAVE']( channel, 0 ); + CHANNELS[channel] = 0; + } ); + + // ReOpen Connection if Any Channels Left + if (READY) CONNECT(); + }, + + /* + PUBNUB.subscribe({ + channel : 'my_chat' + callback : function(message) { } + }); + */ + 'subscribe' : function( args, callback ) { + var channel = args['channel'] + , callback = callback || args['callback'] + , callback = callback || args['message'] + , connect = args['connect'] || function(){} + , reconnect = args['reconnect'] || function(){} + , disconnect = args['disconnect'] || function(){} + , presence = args['presence'] || 0 + , noheresync = args['noheresync'] || 0 + , sub_timeout = args['timeout'] || SUB_TIMEOUT + , windowing = args['windowing'] || SUB_WINDOWING + , restore = args['restore']; + + // Restore Enabled? + if (restore) SUB_RESTORE = 1; + + TIMETOKEN = 0; + + // Make sure we have a Channel + if (!channel) return error('Missing Channel'); + if (!callback) return error('Missing Callback'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + // Setup Channel(s) + each( (channel.join ? channel.join(',') : ''+channel).split(','), + function(channel) { + var settings = CHANNELS[channel] || {}; + + // Store Channel State + CHANNELS[SUB_CHANNEL = channel] = { + name : channel, + connected : settings.connected, + disconnected : settings.disconnected, + subscribed : 1, + callback : SUB_CALLBACK = callback, + connect : connect, + disconnect : disconnect, + reconnect : reconnect + }; + + // Presence Enabled? + if (!presence) return; + + // Subscribe Presence Channel + SELF['subscribe']({ + 'channel' : channel + PRESENCE_SUFFIX, + 'callback' : presence + }); + + // Presence Subscribed? + if (settings.subscribed) return; + + // See Who's Here Now? + if (noheresync) return; + SELF['here_now']({ + 'channel' : channel, + 'callback' : function(here) { + each( 'uuids' in here ? here['uuids'] : [], + function(uid) { presence( { + 'action' : 'join', + 'uuid' : uid, + 'timestamp' : rnow(), + 'occupancy' : here['occupancy'] || 1 + }, here, channel ); } ); + } + }); + } ); + + // Test Network Connection + function _test_connection(success) { + if (success) { + // Begin Next Socket Connection + timeout( _connect, SECOND ); + } + else { + // New Origin on Failed Connection + STD_ORIGIN = nextorigin( ORIGIN, 1 ); + SUB_ORIGIN = nextorigin( ORIGIN, 1 ); + + // Re-test Connection + timeout( function() { + SELF['time'](_test_connection); + }, SECOND ); + } + + // Disconnect & Reconnect + each_channel(function(channel){ + // Reconnect + if (success && channel.disconnected) { + channel.disconnected = 0; + return channel.reconnect(channel.name); + } + + // Disconnect + if (!success && !channel.disconnected) { + channel.disconnected = 1; + channel.disconnect(channel.name); + } + }); + } + + // Evented Subscribe + function _connect() { + var jsonp = jsonp_cb() + , channels = generate_channel_list(CHANNELS).join(','); + + // Stop Connection + if (!channels) return; + + // Connect to PubNub Subscribe Servers + SUB_RECEIVER = xdr({ + timeout : sub_timeout, + callback : jsonp, + fail : function() { SELF['time'](_test_connection) }, + data : { 'uuid' : UUID }, + url : [ + SUB_ORIGIN, 'subscribe', + SUBSCRIBE_KEY, encode(channels), + jsonp, TIMETOKEN + ], + success : function(messages) { + if (!messages) return timeout( _connect, windowing ); + + // Connect + each_channel(function(channel){ + if (channel.connected) return; + channel.connected = 1; + channel.connect(channel.name); + }); + + // Restore Previous Connection Point if Needed + TIMETOKEN = !TIMETOKEN && + SUB_RESTORE && + db['get'](SUBSCRIBE_KEY) || messages[1]; + + // Update Saved Timetoken + if (TIMETOKEN) db['set']( SUBSCRIBE_KEY, messages[1] ); + + // Route Channel <---> Callback for Message + var next_callback = (function() { + var channels = (messages.length>2?messages[2]:'') + , list = channels.split(','); + + return function() { + var channel = list.shift()||''; + return [ + (CHANNELS[channel]||{}) + .callback||SUB_CALLBACK, + (channel||SUB_CHANNEL) + .split(PRESENCE_SUFFIX)[0] + ]; + }; + })(); + + each( messages[0], function(msg) { + var next = next_callback(); + if (!CHANNELS[next[1]].subscribed) return; + next[0]( msg, messages, next[1] ); + } ); + + timeout( _connect, windowing ); + } + }); + } + + CONNECT = function() { + // Close Previous Subscribe Connection + SELF['_reset_offline'](); + + // Begin Recursive Subscribe + clearTimeout(SUB_BUFF_WAIT); + SUB_BUFF_WAIT = timeout( _connect, 100 ); + }; + + // Reduce Status Flicker + if (!READY) return READY_BUFFER.push(CONNECT); + + // Connect Now + CONNECT(); + }, + + 'here_now' : function( args, callback ) { + var callback = args['callback'] || callback + , err = args['error'] || function(){} + , channel = args['channel'] + , jsonp = jsonp_cb() + , data = null; + + // Make sure we have a Channel + if (!channel) return error('Missing Channel'); + if (!callback) return error('Missing Callback'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + if (jsonp != '0') { + data = {}; + data['callback'] = jsonp; + } + + xdr({ + callback : jsonp, + data : data, + success : function(response) { callback(response) }, + fail : err, + url : [ + STD_ORIGIN, 'v2', 'presence', + 'sub_key', SUBSCRIBE_KEY, + 'channel', encode(channel) + ] + }); + }, + + // Expose PUBNUB Functions + 'xdr' : xdr, + 'ready' : ready, + 'db' : db, + 'uuid' : uuid, + 'each' : each, + 'map' : map, + 'grep' : grep, + 'supplant' : supplant, + 'now' : rnow, + 'unique' : unique, + 'updater' : updater, + 'poll_online' : function() { + _is_online() || SELF['_reset_offline'](); + timeout( SELF['poll_online'], SECOND ); + }, + 'poll_online2' : function() { + SELF['time'](function(success){ + success || SELF['_reset_offline'](); + timeout( SELF['poll_online2'], KEEPALIVE ); + }) + } + }; + if (!UUID) UUID = SELF['uuid'](); + db['set']( SUBSCRIBE_KEY + 'uuid', UUID ); + + timeout( SELF['poll_online'], SECOND ); + timeout( SELF['poll_online2'], KEEPALIVE ); + + return SELF; +} +/* --------------------------------------------------------------------------- +--------------------------------------------------------------------------- */ + +/* --------------------------------------------------------------------------- +PubNub Real-time Cloud-Hosted Push API and Push Notification Client Frameworks +Copyright (c) 2011 PubNub Inc. +http://www.pubnub.com/ +http://www.pubnub.com/terms +--------------------------------------------------------------------------- */ + +/* --------------------------------------------------------------------------- +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +--------------------------------------------------------------------------- */ +(function(){ + +/** + * UTIL LOCALS + */ +var NOW = 1 +, URLBIT = '/' +, PARAMSBIT = '&' +, XHRTME = 310000; + +/** + * UTILITIES + */ +//function unique() { return'x'+ ++NOW+''+(+new Date) } +//function rnow() { return+new Date } + +/** + * LOCAL STORAGE + */ +var db = (function(){ + var ls = typeof localStorage != 'undefined' && localStorage; + return { + get : function(key) { + try { + if (ls) return ls.getItem(key); + if (document.cookie.indexOf(key) == -1) return null; + return ((document.cookie||'').match( + RegExp(key+'=([^;]+)') + )||[])[1] || null; + } catch(e) { return } + }, + set : function( key, value ) { + try { + if (ls) return ls.setItem( key, value ) && 0; + document.cookie = key + '=' + value + + '; expires=Thu, 1 Aug 2030 20:00:00 UTC; path=/'; + } catch(e) { return } + } + }; +})(); + + +/** + * CORS XHR Request + * ================ + * xdr({ + * url : ['http://www.blah.com/url'], + * success : function(response) {}, + * fail : function() {} + * }); + */ +function xdr( setup ) { + var xhr + , finished = function() { + if (loaded) return; + loaded = 1; + + clearTimeout(timer); + + try { response = JSON['parse'](xhr.responseText); } + catch (r) { return done(1); } + + success(response); + } + , complete = 0 + , loaded = 0 + , timer = timeout( function(){done(1)}, XHRTME ) + , fail = setup.fail || function(){} + , success = setup.success || function(){} + , done = function(failed) { + if (complete) return; + complete = 1; + + clearTimeout(timer); + + if (xhr) { + xhr.onerror = xhr.onload = null; + xhr.abort && xhr.abort(); + xhr = null; + } + + failed && fail(); + }; + + // Send + try { + xhr = typeof XDomainRequest !== 'undefined' && + new XDomainRequest() || + new XMLHttpRequest(); + + xhr.onerror = xhr.onabort = function(){ done(1) }; + xhr.onload = xhr.onloadend = finished; + xhr.timeout = XHRTME; + url = setup.url.join(URLBIT); + if (setup.data) { + var params = []; + url += "?"; + for (key in setup.data) { + params.push(key+"="+setup.data[key]); + } + url += params.join(PARAMSBIT); + } + xhr.open( 'GET', url, true ); + xhr.send(); + } + catch(eee) { + done(0); + return xdr(setup); + } + + // Return 'done' + return done; +} + +/** + * BIND + * ==== + * bind( 'keydown', search('a')[0], function(element) { + * ... + * } ); + */ +function bind( type, el, fun ) { + each( type.split(','), function(etype) { + var rapfun = function(e) { + if (!e) e = window.event; + if (!fun(e)) { + e.cancelBubble = true; + e.returnValue = false; + e.preventDefault && e.preventDefault(); + e.stopPropagation && e.stopPropagation(); + } + }; + + if ( el.addEventListener ) el.addEventListener( etype, rapfun, false ); + else if ( el.attachEvent ) el.attachEvent( 'on' + etype, rapfun ); + else el[ 'on' + etype ] = rapfun; + } ); +} + +/** + * UNBIND + * ====== + * unbind( 'keydown', search('a')[0] ); + */ +function unbind( type, el, fun ) { + if ( el.removeEventListener ) el.removeEventListener( type, false ); + else if ( el.detachEvent ) el.detachEvent( 'on' + type, false ); + else el[ 'on' + type ] = null; +} + +/** + * LOG + * === + * var list = grep( [1,2,3], function(item) { return item % 2 } ) + */ +var log = function(){}; + +/** + * EVENTS + * ====== + * PUBNUB.events.bind( 'you-stepped-on-flower', function(message) { + * // Do Stuff with message + * } ); + * + * PUBNUB.events.fire( 'you-stepped-on-flower', "message-data" ); + * PUBNUB.events.fire( 'you-stepped-on-flower', {message:"data"} ); + * PUBNUB.events.fire( 'you-stepped-on-flower', [1,2,3] ); + * + */ +var events = { + 'list' : {}, + 'unbind' : function( name ) { events.list[name] = [] }, + 'bind' : function( name, fun ) { + (events.list[name] = events.list[name] || []).push(fun); + }, + 'fire' : function( name, data ) { + each( + events.list[name] || [], + function(fun) { fun(data) } + ); + } +}; + +/* =-====================================================================-= */ +/* =-====================================================================-= */ +/* =-========================= PUBNUB ===========================-= */ +/* =-====================================================================-= */ +/* =-====================================================================-= */ + +function PN(setup) { + + + setup['db'] = db; + setup['xdr'] = xdr; + var SELF = PN_API(setup); + + SELF['init'] = PN; + + + // Return without Testing + if (setup['notest']) return SELF; + + // Add Leave Functions + bind( 'beforeunload', window, function() { + each_channel(function(ch){ SELF['LEAVE']( ch.name, 1 ) }); + return true; + } ); + + bind( 'offline', window, SELF['_reset_offline'] ); + bind( 'offline', document, SELF['_reset_offline'] ); + + SELF['ready'](); + return SELF; +} + +typeof module !== 'undefined' && (module.exports = PN) || +typeof exports !== 'undefined' && (exports.PN = PN) || (PUBNUB = PN); + +})(); +var NOW = 1 +, READY = false +, READY_BUFFER = [] +, PRESENCE_SUFFIX = '-pnpres' +, DEF_WINDOWING = 10 // MILLISECONDS. +, DEF_TIMEOUT = 10000 // MILLISECONDS. +, DEF_SUB_TIMEOUT = 310 // SECONDS. +, DEF_KEEPALIVE = 60 // SECONDS. +, SECOND = 1000 // A THOUSAND MILLISECONDS. +, REPL = /{([\w\-]+)}/g; + +/** + * UTILITIES + */ +function unique() { return'x'+ ++NOW+''+(+new Date) } +function rnow() { return+new Date } + +/** + * NEXTORIGIN + * ========== + * var next_origin = nextorigin(); + */ +var nextorigin = (function() { + var max = 20 + , ori = Math.floor(Math.random() * max); + return function( origin, failover ) { + return origin.indexOf('pubsub.') > 0 + && origin.replace( + 'pubsub', 'ps' + ( + failover ? uuid().split('-')[0] : + (++ori < max? ori : ori=1) + ) ) || origin; + } +})(); + +/** + * UPDATER + * ======= + * var timestamp = unique(); + */ +function updater( fun, rate ) { + var timeout + , last = 0 + , runnit = function() { + if (last + rate > rnow()) { + clearTimeout(timeout); + timeout = setTimeout( runnit, rate ); + } + else { + last = rnow(); + fun(); + } + }; + + return runnit; +} + +/** + * GREP + * ==== + * var list = grep( [1,2,3], function(item) { return item % 2 } ) + */ +function grep( list, fun ) { + var fin = []; + each( list || [], function(l) { fun(l) && fin.push(l) } ); + return fin +} + +/** + * SUPPLANT + * ======== + * var text = supplant( 'Hello {name}!', { name : 'John' } ) + */ +function supplant( str, values ) { + return str.replace( REPL, function( _, match ) { + return values[match] || _ + } ); +} + +/** + * timeout + * ======= + * timeout( function(){}, 100 ); + */ +function timeout( fun, wait ) { + return setTimeout( fun, wait ); +} + +/** + * uuid + * ==== + * var my_uuid = uuid(); + */ +function uuid(callback) { + var u = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, + function(c) { + var r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8); + return v.toString(16); + }); + if (callback) callback(u); + return u; +} + +/** + * EACH + * ==== + * each( [1,2,3], function(item) { } ) + */ +function each( o, f ) { + if ( !o || !f ) return; + + if ( typeof o[0] != 'undefined' ) + for ( var i = 0, l = o.length; i < l; ) + f.call( o[i], o[i], i++ ); + else + for ( var i in o ) + o.hasOwnProperty && + o.hasOwnProperty(i) && + f.call( o[i], i, o[i] ); +} + +/** + * MAP + * === + * var list = map( [1,2,3], function(item) { return item + 1 } ) + */ +function map( list, fun ) { + var fin = []; + each( list || [], function( k, v ) { fin.push(fun( k, v )) } ); + return fin; +} + +/** + * ENCODE + * ====== + * var encoded_path = encode('path'); + */ +function encode(path) { + return map( (encodeURIComponent(path)).split(''), function(chr) { + return "-_.!~*'()".indexOf(chr) < 0 ? chr : + "%"+chr.charCodeAt(0).toString(16).toUpperCase() + } ).join(''); +} + +/** + * Generate Subscription Channel List + * ================================== + * generate_channel_list(channels_object); + */ +function generate_channel_list(channels) { + var list = []; + each( channels, function( channel, status ) { + if (status.subscribed) list.push(channel); + } ); + return list.sort(); +} + +// PUBNUB READY TO CONNECT + function ready() { timeout( function() { + if (READY) return; + READY = 1; + each( READY_BUFFER, function(connect) { connect() } ); + }, SECOND ); } + +function PN_API(setup) { + var SUB_WINDOWING = +setup['windowing'] || DEF_WINDOWING + , SUB_TIMEOUT = (+setup['timeout'] || DEF_SUB_TIMEOUT) * SECOND + , KEEPALIVE = (+setup['keepalive'] || DEF_KEEPALIVE) * SECOND + , PUBLISH_KEY = setup['publish_key'] || '' + , SUBSCRIBE_KEY = setup['subscribe_key'] || '' + , SSL = setup['ssl'] ? 's' : '' + , ORIGIN = 'http'+SSL+'://'+(setup['origin']||'pubsub.pubnub.com') + , STD_ORIGIN = nextorigin(ORIGIN) + , SUB_ORIGIN = nextorigin(ORIGIN) + , CONNECT = function(){} + , PUB_QUEUE = [] + , SUB_CALLBACK = 0 + , SUB_CHANNEL = 0 + , SUB_RECEIVER = 0 + , SUB_RESTORE = 0 + , SUB_BUFF_WAIT = 0 + , TIMETOKEN = 0 + , CHANNELS = {} + , xdr = setup['xdr'] + , _is_online = setup['_is_online'] || function() { return 1; } + , jsonp_cb = setup['jsonp_cb'] || function(){ return 0; } + , db = setup['db'] || {'get': function(){}, 'set': function(){}} + , UUID = setup['uuid'] || ( db && db['get'](SUBSCRIBE_KEY+'uuid') || ''); + + + + function publish(next) { + if (next) PUB_QUEUE.sending = 0; + if (PUB_QUEUE.sending || !PUB_QUEUE.length) return; + PUB_QUEUE.sending = 1; + xdr(PUB_QUEUE.shift()); + } + + function each_channel(callback) { + each( generate_channel_list(CHANNELS), function(channel) { + var chan = CHANNELS[channel]; + if (!chan) return; + callback(chan); + } ); + } + + // Announce Leave Event + + + var SELF = { + + '_reset_offline' : function() { + SUB_RECEIVER && SUB_RECEIVER(1); + }, + + 'LEAVE' : function( channel, blocking ) { + var data = { 'uuid' : UUID } + , origin = nextorigin(ORIGIN) + , jsonp = jsonp_cb(); + + // Prevent Leaving a Presence Channel + if (channel.indexOf(PRESENCE_SUFFIX) > 0) return; + + if (jsonp != '0') data['callback'] = jsonp; + + xdr({ + blocking : blocking || SSL, + timeout : 2000, + callback : jsonp, + data : data, + url : [ + origin, 'v2', 'presence', 'sub_key', + SUBSCRIBE_KEY, 'channel', encode(channel), 'leave' + ] + }); + }, + /* + PUBNUB.history({ + channel : 'my_chat_channel', + limit : 100, + callback : function(history) { } + }); + */ + 'history' : function( args, callback ) { + var callback = args['callback'] || callback + , count = args['count'] || args['limit'] || 100 + , reverse = args['reverse'] || "false" + , err = args['error'] || function(){} + , channel = args['channel'] + , start = args['start'] + , end = args['end'] + , params = {} + , jsonp = jsonp_cb(); + + // Make sure we have a Channel + if (!channel) return error('Missing Channel'); + if (!callback) return error('Missing Callback'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + params['stringtoken'] = 'true'; + params['count'] = count; + params['reverse'] = reverse; + + if (jsonp) params['callback'] = jsonp; + if (start) params['start'] = start; + if (end) params['end'] = end; + + // Send Message + xdr({ + callback : jsonp, + data : params, + success : function(response) { callback(response) }, + fail : err, + url : [ + STD_ORIGIN, 'v2', 'history', 'sub-key', + SUBSCRIBE_KEY, 'channel', encode(channel) + ] + }); + }, + + /* + PUBNUB.replay({ + source : 'my_channel', + destination : 'new_channel' + }); + */ + 'replay' : function(args) { + var callback = callback || args['callback'] || function(){} + , source = args['source'] + , destination = args['destination'] + , stop = args['stop'] + , start = args['start'] + , end = args['end'] + , reverse = args['reverse'] + , limit = args['limit'] + , jsonp = jsonp_cb() + , data = {} + , url; + + // Check User Input + if (!source) return error('Missing Source Channel'); + if (!destination) return error('Missing Destination Channel'); + if (!PUBLISH_KEY) return error('Missing Publish Key'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + // Setup URL Params + if (jsonp != '0') data['callback'] = jsonp; + if (stop) data['stop'] = 'all'; + if (reverse) data['reverse'] = 'true'; + if (start) data['start'] = start; + if (end) data['end'] = end; + if (limit) data['count'] = limit; + + // Compose URL Parts + url = [ + STD_ORIGIN, 'v1', 'replay', + PUBLISH_KEY, SUBSCRIBE_KEY, + source, destination + ]; + + // Start (or Stop) Replay! + xdr({ + callback : jsonp, + success : function(response) { callback(response) }, + fail : function() { callback([ 0, 'Disconnected' ]) }, + url : url, + data : data + }); + }, + + /* + PUBNUB.time(function(time){ }); + */ + 'time' : function(callback) { + var jsonp = jsonp_cb(); + xdr({ + callback : jsonp, + timeout : SECOND*5, + url : [STD_ORIGIN, 'time', jsonp], + success : function(response) { callback(response[0]) }, + fail : function() { callback(0) } + }); + }, + + /* + PUBNUB.publish({ + channel : 'my_chat_channel', + message : 'hello!' + }); + */ + 'publish' : function( args, callback ) { + var callback = callback || args['callback'] || function(){} + , msg = args['message'] + , channel = args['channel'] + , jsonp = jsonp_cb() + , url; + + if (!msg) return error('Missing Message'); + if (!channel) return error('Missing Channel'); + if (!PUBLISH_KEY) return error('Missing Publish Key'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + // If trying to send Object + msg = JSON['stringify'](msg); + + // Create URL + url = [ + STD_ORIGIN, 'publish', + PUBLISH_KEY, SUBSCRIBE_KEY, + 0, encode(channel), + jsonp, encode(msg) + ]; + + // Queue Message Send + PUB_QUEUE.push({ + callback : jsonp, + timeout : SECOND*5, + url : url, + data : { 'uuid' : UUID }, + success : function(response){callback(response);publish(1)}, + fail : function(){callback([0,'Failed',msg]);publish(1)} + }); + + // Send Message + publish(); + }, + + /* + PUBNUB.unsubscribe({ channel : 'my_chat' }); + */ + 'unsubscribe' : function(args) { + var channel = args['channel']; + + TIMETOKEN = 0; + SUB_RESTORE = 1; + + // Prepare Channel(s) + channel = map( ( + channel.join ? channel.join(',') : ''+channel + ).split(','), function(channel) { + return channel + ',' + channel + PRESENCE_SUFFIX; + } ).join(','); + + // Iterate over Channels + each( channel.split(','), function(channel) { + if (READY) SELF['LEAVE']( channel, 0 ); + CHANNELS[channel] = 0; + } ); + + // ReOpen Connection if Any Channels Left + if (READY) CONNECT(); + }, + + /* + PUBNUB.subscribe({ + channel : 'my_chat' + callback : function(message) { } + }); + */ + 'subscribe' : function( args, callback ) { + var channel = args['channel'] + , callback = callback || args['callback'] + , callback = callback || args['message'] + , connect = args['connect'] || function(){} + , reconnect = args['reconnect'] || function(){} + , disconnect = args['disconnect'] || function(){} + , presence = args['presence'] || 0 + , noheresync = args['noheresync'] || 0 + , sub_timeout = args['timeout'] || SUB_TIMEOUT + , windowing = args['windowing'] || SUB_WINDOWING + , restore = args['restore']; + + // Restore Enabled? + if (restore) SUB_RESTORE = 1; + + TIMETOKEN = 0; + + // Make sure we have a Channel + if (!channel) return error('Missing Channel'); + if (!callback) return error('Missing Callback'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + // Setup Channel(s) + each( (channel.join ? channel.join(',') : ''+channel).split(','), + function(channel) { + var settings = CHANNELS[channel] || {}; + + // Store Channel State + CHANNELS[SUB_CHANNEL = channel] = { + name : channel, + connected : settings.connected, + disconnected : settings.disconnected, + subscribed : 1, + callback : SUB_CALLBACK = callback, + connect : connect, + disconnect : disconnect, + reconnect : reconnect + }; + + // Presence Enabled? + if (!presence) return; + + // Subscribe Presence Channel + SELF['subscribe']({ + 'channel' : channel + PRESENCE_SUFFIX, + 'callback' : presence + }); + + // Presence Subscribed? + if (settings.subscribed) return; + + // See Who's Here Now? + if (noheresync) return; + SELF['here_now']({ + 'channel' : channel, + 'callback' : function(here) { + each( 'uuids' in here ? here['uuids'] : [], + function(uid) { presence( { + 'action' : 'join', + 'uuid' : uid, + 'timestamp' : rnow(), + 'occupancy' : here['occupancy'] || 1 + }, here, channel ); } ); + } + }); + } ); + + // Test Network Connection + function _test_connection(success) { + if (success) { + // Begin Next Socket Connection + timeout( _connect, SECOND ); + } + else { + // New Origin on Failed Connection + STD_ORIGIN = nextorigin( ORIGIN, 1 ); + SUB_ORIGIN = nextorigin( ORIGIN, 1 ); + + // Re-test Connection + timeout( function() { + SELF['time'](_test_connection); + }, SECOND ); + } + + // Disconnect & Reconnect + each_channel(function(channel){ + // Reconnect + if (success && channel.disconnected) { + channel.disconnected = 0; + return channel.reconnect(channel.name); + } + + // Disconnect + if (!success && !channel.disconnected) { + channel.disconnected = 1; + channel.disconnect(channel.name); + } + }); + } + + // Evented Subscribe + function _connect() { + var jsonp = jsonp_cb() + , channels = generate_channel_list(CHANNELS).join(','); + + // Stop Connection + if (!channels) return; + + // Connect to PubNub Subscribe Servers + SUB_RECEIVER = xdr({ + timeout : sub_timeout, + callback : jsonp, + fail : function() { SELF['time'](_test_connection) }, + data : { 'uuid' : UUID }, + url : [ + SUB_ORIGIN, 'subscribe', + SUBSCRIBE_KEY, encode(channels), + jsonp, TIMETOKEN + ], + success : function(messages) { + if (!messages) return timeout( _connect, windowing ); + + // Connect + each_channel(function(channel){ + if (channel.connected) return; + channel.connected = 1; + channel.connect(channel.name); + }); + + // Restore Previous Connection Point if Needed + TIMETOKEN = !TIMETOKEN && + SUB_RESTORE && + db['get'](SUBSCRIBE_KEY) || messages[1]; + + // Update Saved Timetoken + if (TIMETOKEN) db['set']( SUBSCRIBE_KEY, messages[1] ); + + // Route Channel <---> Callback for Message + var next_callback = (function() { + var channels = (messages.length>2?messages[2]:'') + , list = channels.split(','); + + return function() { + var channel = list.shift()||''; + return [ + (CHANNELS[channel]||{}) + .callback||SUB_CALLBACK, + (channel||SUB_CHANNEL) + .split(PRESENCE_SUFFIX)[0] + ]; + }; + })(); + + each( messages[0], function(msg) { + var next = next_callback(); + if (!CHANNELS[next[1]].subscribed) return; + next[0]( msg, messages, next[1] ); + } ); + + timeout( _connect, windowing ); + } + }); + } + + CONNECT = function() { + // Close Previous Subscribe Connection + SELF['_reset_offline'](); + + // Begin Recursive Subscribe + clearTimeout(SUB_BUFF_WAIT); + SUB_BUFF_WAIT = timeout( _connect, 100 ); + }; + + // Reduce Status Flicker + if (!READY) return READY_BUFFER.push(CONNECT); + + // Connect Now + CONNECT(); + }, + + 'here_now' : function( args, callback ) { + var callback = args['callback'] || callback + , err = args['error'] || function(){} + , channel = args['channel'] + , jsonp = jsonp_cb() + , data = null; + + // Make sure we have a Channel + if (!channel) return error('Missing Channel'); + if (!callback) return error('Missing Callback'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + if (jsonp != '0') { + data = {}; + data['callback'] = jsonp; + } + + xdr({ + callback : jsonp, + data : data, + success : function(response) { callback(response) }, + fail : err, + url : [ + STD_ORIGIN, 'v2', 'presence', + 'sub_key', SUBSCRIBE_KEY, + 'channel', encode(channel) + ] + }); + }, + + // Expose PUBNUB Functions + 'xdr' : xdr, + 'ready' : ready, + 'db' : db, + 'uuid' : uuid, + 'each' : each, + 'map' : map, + 'grep' : grep, + 'supplant' : supplant, + 'now' : rnow, + 'unique' : unique, + 'updater' : updater, + 'poll_online' : function() { + _is_online() || SELF['_reset_offline'](); + timeout( SELF['poll_online'], SECOND ); + }, + 'poll_online2' : function() { + SELF['time'](function(success){ + success || SELF['_reset_offline'](); + timeout( SELF['poll_online2'], KEEPALIVE ); + }) + } + }; + if (!UUID) UUID = SELF['uuid'](); + db['set']( SUBSCRIBE_KEY + 'uuid', UUID ); + + timeout( SELF['poll_online'], SECOND ); + timeout( SELF['poll_online2'], KEEPALIVE ); + + return SELF; +} +/* --------------------------------------------------------------------------- +--------------------------------------------------------------------------- */ + +/* --------------------------------------------------------------------------- +PubNub Real-time Cloud-Hosted Push API and Push Notification Client Frameworks +Copyright (c) 2011 PubNub Inc. +http://www.pubnub.com/ +http://www.pubnub.com/terms +--------------------------------------------------------------------------- */ + +/* --------------------------------------------------------------------------- +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +--------------------------------------------------------------------------- */ +(function(){ + +/** + * UTIL LOCALS + */ +var NOW = 1 +, URLBIT = '/' +, PARAMSBIT = '&' +, XHRTME = 310000; + +/** + * UTILITIES + */ +//function unique() { return'x'+ ++NOW+''+(+new Date) } +//function rnow() { return+new Date } + +/** + * LOCAL STORAGE + */ +var db = (function(){ + var ls = typeof localStorage != 'undefined' && localStorage; + return { + get : function(key) { + try { + if (ls) return ls.getItem(key); + if (document.cookie.indexOf(key) == -1) return null; + return ((document.cookie||'').match( + RegExp(key+'=([^;]+)') + )||[])[1] || null; + } catch(e) { return } + }, + set : function( key, value ) { + try { + if (ls) return ls.setItem( key, value ) && 0; + document.cookie = key + '=' + value + + '; expires=Thu, 1 Aug 2030 20:00:00 UTC; path=/'; + } catch(e) { return } + } + }; +})(); + + +/** + * CORS XHR Request + * ================ + * xdr({ + * url : ['http://www.blah.com/url'], + * success : function(response) {}, + * fail : function() {} + * }); + */ +function xdr( setup ) { + var xhr + , finished = function() { + if (loaded) return; + loaded = 1; + + clearTimeout(timer); + + try { response = JSON['parse'](xhr.responseText); } + catch (r) { return done(1); } + + success(response); + } + , complete = 0 + , loaded = 0 + , timer = timeout( function(){done(1)}, XHRTME ) + , fail = setup.fail || function(){} + , success = setup.success || function(){} + , done = function(failed) { + if (complete) return; + complete = 1; + + clearTimeout(timer); + + if (xhr) { + xhr.onerror = xhr.onload = null; + xhr.abort && xhr.abort(); + xhr = null; + } + + failed && fail(); + }; + + // Send + try { + xhr = typeof XDomainRequest !== 'undefined' && + new XDomainRequest() || + new XMLHttpRequest(); + + xhr.onerror = xhr.onabort = function(){ done(1) }; + xhr.onload = xhr.onloadend = finished; + xhr.timeout = XHRTME; + url = setup.url.join(URLBIT); + if (setup.data) { + var params = []; + url += "?"; + for (key in setup.data) { + params.push(key+"="+setup.data[key]); + } + url += params.join(PARAMSBIT); + } + xhr.open( 'GET', url, true ); + xhr.send(); + } + catch(eee) { + done(0); + return xdr(setup); + } + + // Return 'done' + return done; +} + +/** + * BIND + * ==== + * bind( 'keydown', search('a')[0], function(element) { + * ... + * } ); + */ +function bind( type, el, fun ) { + each( type.split(','), function(etype) { + var rapfun = function(e) { + if (!e) e = window.event; + if (!fun(e)) { + e.cancelBubble = true; + e.returnValue = false; + e.preventDefault && e.preventDefault(); + e.stopPropagation && e.stopPropagation(); + } + }; + + if ( el.addEventListener ) el.addEventListener( etype, rapfun, false ); + else if ( el.attachEvent ) el.attachEvent( 'on' + etype, rapfun ); + else el[ 'on' + etype ] = rapfun; + } ); +} + +/** + * UNBIND + * ====== + * unbind( 'keydown', search('a')[0] ); + */ +function unbind( type, el, fun ) { + if ( el.removeEventListener ) el.removeEventListener( type, false ); + else if ( el.detachEvent ) el.detachEvent( 'on' + type, false ); + else el[ 'on' + type ] = null; +} + +/** + * LOG + * === + * var list = grep( [1,2,3], function(item) { return item % 2 } ) + */ +var log = function(){}; + +/** + * EVENTS + * ====== + * PUBNUB.events.bind( 'you-stepped-on-flower', function(message) { + * // Do Stuff with message + * } ); + * + * PUBNUB.events.fire( 'you-stepped-on-flower', "message-data" ); + * PUBNUB.events.fire( 'you-stepped-on-flower', {message:"data"} ); + * PUBNUB.events.fire( 'you-stepped-on-flower', [1,2,3] ); + * + */ +var events = { + 'list' : {}, + 'unbind' : function( name ) { events.list[name] = [] }, + 'bind' : function( name, fun ) { + (events.list[name] = events.list[name] || []).push(fun); + }, + 'fire' : function( name, data ) { + each( + events.list[name] || [], + function(fun) { fun(data) } + ); + } +}; + +/* =-====================================================================-= */ +/* =-====================================================================-= */ +/* =-========================= PUBNUB ===========================-= */ +/* =-====================================================================-= */ +/* =-====================================================================-= */ + +function PN(setup) { + + + setup['db'] = db; + setup['xdr'] = xdr; + var SELF = PN_API(setup); + + SELF['init'] = PN; + + + // Return without Testing + if (setup['notest']) return SELF; + + // Add Leave Functions + bind( 'beforeunload', window, function() { + each_channel(function(ch){ SELF['LEAVE']( ch.name, 1 ) }); + return true; + } ); + + bind( 'offline', window, SELF['_reset_offline'] ); + bind( 'offline', document, SELF['_reset_offline'] ); + + SELF['ready'](); + return SELF; +} + +typeof module !== 'undefined' && (module.exports = PN) || +typeof exports !== 'undefined' && (exports.PN = PN) || (PUBNUB = PN); + +})(); +var NOW = 1 +, READY = false +, READY_BUFFER = [] +, PRESENCE_SUFFIX = '-pnpres' +, DEF_WINDOWING = 10 // MILLISECONDS. +, DEF_TIMEOUT = 10000 // MILLISECONDS. +, DEF_SUB_TIMEOUT = 310 // SECONDS. +, DEF_KEEPALIVE = 60 // SECONDS. +, SECOND = 1000 // A THOUSAND MILLISECONDS. +, REPL = /{([\w\-]+)}/g; + +/** + * UTILITIES + */ +function unique() { return'x'+ ++NOW+''+(+new Date) } +function rnow() { return+new Date } + +/** + * NEXTORIGIN + * ========== + * var next_origin = nextorigin(); + */ +var nextorigin = (function() { + var max = 20 + , ori = Math.floor(Math.random() * max); + return function( origin, failover ) { + return origin.indexOf('pubsub.') > 0 + && origin.replace( + 'pubsub', 'ps' + ( + failover ? uuid().split('-')[0] : + (++ori < max? ori : ori=1) + ) ) || origin; + } +})(); + +/** + * UPDATER + * ======= + * var timestamp = unique(); + */ +function updater( fun, rate ) { + var timeout + , last = 0 + , runnit = function() { + if (last + rate > rnow()) { + clearTimeout(timeout); + timeout = setTimeout( runnit, rate ); + } + else { + last = rnow(); + fun(); + } + }; + + return runnit; +} + +/** + * GREP + * ==== + * var list = grep( [1,2,3], function(item) { return item % 2 } ) + */ +function grep( list, fun ) { + var fin = []; + each( list || [], function(l) { fun(l) && fin.push(l) } ); + return fin +} + +/** + * SUPPLANT + * ======== + * var text = supplant( 'Hello {name}!', { name : 'John' } ) + */ +function supplant( str, values ) { + return str.replace( REPL, function( _, match ) { + return values[match] || _ + } ); +} + +/** + * timeout + * ======= + * timeout( function(){}, 100 ); + */ +function timeout( fun, wait ) { + return setTimeout( fun, wait ); +} + +/** + * uuid + * ==== + * var my_uuid = uuid(); + */ +function uuid(callback) { + var u = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, + function(c) { + var r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8); + return v.toString(16); + }); + if (callback) callback(u); + return u; +} + +/** + * EACH + * ==== + * each( [1,2,3], function(item) { } ) + */ +function each( o, f ) { + if ( !o || !f ) return; + + if ( typeof o[0] != 'undefined' ) + for ( var i = 0, l = o.length; i < l; ) + f.call( o[i], o[i], i++ ); + else + for ( var i in o ) + o.hasOwnProperty && + o.hasOwnProperty(i) && + f.call( o[i], i, o[i] ); +} + +/** + * MAP + * === + * var list = map( [1,2,3], function(item) { return item + 1 } ) + */ +function map( list, fun ) { + var fin = []; + each( list || [], function( k, v ) { fin.push(fun( k, v )) } ); + return fin; +} + +/** + * ENCODE + * ====== + * var encoded_path = encode('path'); + */ +function encode(path) { + return map( (encodeURIComponent(path)).split(''), function(chr) { + return "-_.!~*'()".indexOf(chr) < 0 ? chr : + "%"+chr.charCodeAt(0).toString(16).toUpperCase() + } ).join(''); +} + +/** + * Generate Subscription Channel List + * ================================== + * generate_channel_list(channels_object); + */ +function generate_channel_list(channels) { + var list = []; + each( channels, function( channel, status ) { + if (status.subscribed) list.push(channel); + } ); + return list.sort(); +} + +// PUBNUB READY TO CONNECT + function ready() { timeout( function() { + if (READY) return; + READY = 1; + each( READY_BUFFER, function(connect) { connect() } ); + }, SECOND ); } + +function PN_API(setup) { + var SUB_WINDOWING = +setup['windowing'] || DEF_WINDOWING + , SUB_TIMEOUT = (+setup['timeout'] || DEF_SUB_TIMEOUT) * SECOND + , KEEPALIVE = (+setup['keepalive'] || DEF_KEEPALIVE) * SECOND + , PUBLISH_KEY = setup['publish_key'] || '' + , SUBSCRIBE_KEY = setup['subscribe_key'] || '' + , SSL = setup['ssl'] ? 's' : '' + , ORIGIN = 'http'+SSL+'://'+(setup['origin']||'pubsub.pubnub.com') + , STD_ORIGIN = nextorigin(ORIGIN) + , SUB_ORIGIN = nextorigin(ORIGIN) + , CONNECT = function(){} + , PUB_QUEUE = [] + , SUB_CALLBACK = 0 + , SUB_CHANNEL = 0 + , SUB_RECEIVER = 0 + , SUB_RESTORE = 0 + , SUB_BUFF_WAIT = 0 + , TIMETOKEN = 0 + , CHANNELS = {} + , xdr = setup['xdr'] + , _is_online = setup['_is_online'] || function() { return 1; } + , jsonp_cb = setup['jsonp_cb'] || function(){ return 0; } + , db = setup['db'] || {'get': function(){}, 'set': function(){}} + , UUID = setup['uuid'] || ( db && db['get'](SUBSCRIBE_KEY+'uuid') || ''); + + + + function publish(next) { + if (next) PUB_QUEUE.sending = 0; + if (PUB_QUEUE.sending || !PUB_QUEUE.length) return; + PUB_QUEUE.sending = 1; + xdr(PUB_QUEUE.shift()); + } + + function each_channel(callback) { + each( generate_channel_list(CHANNELS), function(channel) { + var chan = CHANNELS[channel]; + if (!chan) return; + callback(chan); + } ); + } + + // Announce Leave Event + + + var SELF = { + + '_reset_offline' : function() { + SUB_RECEIVER && SUB_RECEIVER(1); + }, + + 'LEAVE' : function( channel, blocking ) { + var data = { 'uuid' : UUID } + , origin = nextorigin(ORIGIN) + , jsonp = jsonp_cb(); + + // Prevent Leaving a Presence Channel + if (channel.indexOf(PRESENCE_SUFFIX) > 0) return; + + if (jsonp != '0') data['callback'] = jsonp; + + xdr({ + blocking : blocking || SSL, + timeout : 2000, + callback : jsonp, + data : data, + url : [ + origin, 'v2', 'presence', 'sub_key', + SUBSCRIBE_KEY, 'channel', encode(channel), 'leave' + ] + }); + }, + /* + PUBNUB.history({ + channel : 'my_chat_channel', + limit : 100, + callback : function(history) { } + }); + */ + 'history' : function( args, callback ) { + var callback = args['callback'] || callback + , count = args['count'] || args['limit'] || 100 + , reverse = args['reverse'] || "false" + , err = args['error'] || function(){} + , channel = args['channel'] + , start = args['start'] + , end = args['end'] + , params = {} + , jsonp = jsonp_cb(); + + // Make sure we have a Channel + if (!channel) return error('Missing Channel'); + if (!callback) return error('Missing Callback'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + params['stringtoken'] = 'true'; + params['count'] = count; + params['reverse'] = reverse; + + if (jsonp) params['callback'] = jsonp; + if (start) params['start'] = start; + if (end) params['end'] = end; + + // Send Message + xdr({ + callback : jsonp, + data : params, + success : function(response) { callback(response) }, + fail : err, + url : [ + STD_ORIGIN, 'v2', 'history', 'sub-key', + SUBSCRIBE_KEY, 'channel', encode(channel) + ] + }); + }, + + /* + PUBNUB.replay({ + source : 'my_channel', + destination : 'new_channel' + }); + */ + 'replay' : function(args) { + var callback = callback || args['callback'] || function(){} + , source = args['source'] + , destination = args['destination'] + , stop = args['stop'] + , start = args['start'] + , end = args['end'] + , reverse = args['reverse'] + , limit = args['limit'] + , jsonp = jsonp_cb() + , data = {} + , url; + + // Check User Input + if (!source) return error('Missing Source Channel'); + if (!destination) return error('Missing Destination Channel'); + if (!PUBLISH_KEY) return error('Missing Publish Key'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + // Setup URL Params + if (jsonp != '0') data['callback'] = jsonp; + if (stop) data['stop'] = 'all'; + if (reverse) data['reverse'] = 'true'; + if (start) data['start'] = start; + if (end) data['end'] = end; + if (limit) data['count'] = limit; + + // Compose URL Parts + url = [ + STD_ORIGIN, 'v1', 'replay', + PUBLISH_KEY, SUBSCRIBE_KEY, + source, destination + ]; + + // Start (or Stop) Replay! + xdr({ + callback : jsonp, + success : function(response) { callback(response) }, + fail : function() { callback([ 0, 'Disconnected' ]) }, + url : url, + data : data + }); + }, + + /* + PUBNUB.time(function(time){ }); + */ + 'time' : function(callback) { + var jsonp = jsonp_cb(); + xdr({ + callback : jsonp, + timeout : SECOND*5, + url : [STD_ORIGIN, 'time', jsonp], + success : function(response) { callback(response[0]) }, + fail : function() { callback(0) } + }); + }, + + /* + PUBNUB.publish({ + channel : 'my_chat_channel', + message : 'hello!' + }); + */ + 'publish' : function( args, callback ) { + var callback = callback || args['callback'] || function(){} + , msg = args['message'] + , channel = args['channel'] + , jsonp = jsonp_cb() + , url; + + if (!msg) return error('Missing Message'); + if (!channel) return error('Missing Channel'); + if (!PUBLISH_KEY) return error('Missing Publish Key'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + // If trying to send Object + msg = JSON['stringify'](msg); + + // Create URL + url = [ + STD_ORIGIN, 'publish', + PUBLISH_KEY, SUBSCRIBE_KEY, + 0, encode(channel), + jsonp, encode(msg) + ]; + + // Queue Message Send + PUB_QUEUE.push({ + callback : jsonp, + timeout : SECOND*5, + url : url, + data : { 'uuid' : UUID }, + success : function(response){callback(response);publish(1)}, + fail : function(){callback([0,'Failed',msg]);publish(1)} + }); + + // Send Message + publish(); + }, + + /* + PUBNUB.unsubscribe({ channel : 'my_chat' }); + */ + 'unsubscribe' : function(args) { + var channel = args['channel']; + + TIMETOKEN = 0; + SUB_RESTORE = 1; + + // Prepare Channel(s) + channel = map( ( + channel.join ? channel.join(',') : ''+channel + ).split(','), function(channel) { + return channel + ',' + channel + PRESENCE_SUFFIX; + } ).join(','); + + // Iterate over Channels + each( channel.split(','), function(channel) { + if (READY) SELF['LEAVE']( channel, 0 ); + CHANNELS[channel] = 0; + } ); + + // ReOpen Connection if Any Channels Left + if (READY) CONNECT(); + }, + + /* + PUBNUB.subscribe({ + channel : 'my_chat' + callback : function(message) { } + }); + */ + 'subscribe' : function( args, callback ) { + var channel = args['channel'] + , callback = callback || args['callback'] + , callback = callback || args['message'] + , connect = args['connect'] || function(){} + , reconnect = args['reconnect'] || function(){} + , disconnect = args['disconnect'] || function(){} + , presence = args['presence'] || 0 + , noheresync = args['noheresync'] || 0 + , sub_timeout = args['timeout'] || SUB_TIMEOUT + , windowing = args['windowing'] || SUB_WINDOWING + , restore = args['restore']; + + // Restore Enabled? + if (restore) SUB_RESTORE = 1; + + TIMETOKEN = 0; + + // Make sure we have a Channel + if (!channel) return error('Missing Channel'); + if (!callback) return error('Missing Callback'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + // Setup Channel(s) + each( (channel.join ? channel.join(',') : ''+channel).split(','), + function(channel) { + var settings = CHANNELS[channel] || {}; + + // Store Channel State + CHANNELS[SUB_CHANNEL = channel] = { + name : channel, + connected : settings.connected, + disconnected : settings.disconnected, + subscribed : 1, + callback : SUB_CALLBACK = callback, + connect : connect, + disconnect : disconnect, + reconnect : reconnect + }; + + // Presence Enabled? + if (!presence) return; + + // Subscribe Presence Channel + SELF['subscribe']({ + 'channel' : channel + PRESENCE_SUFFIX, + 'callback' : presence + }); + + // Presence Subscribed? + if (settings.subscribed) return; + + // See Who's Here Now? + if (noheresync) return; + SELF['here_now']({ + 'channel' : channel, + 'callback' : function(here) { + each( 'uuids' in here ? here['uuids'] : [], + function(uid) { presence( { + 'action' : 'join', + 'uuid' : uid, + 'timestamp' : rnow(), + 'occupancy' : here['occupancy'] || 1 + }, here, channel ); } ); + } + }); + } ); + + // Test Network Connection + function _test_connection(success) { + if (success) { + // Begin Next Socket Connection + timeout( _connect, SECOND ); + } + else { + // New Origin on Failed Connection + STD_ORIGIN = nextorigin( ORIGIN, 1 ); + SUB_ORIGIN = nextorigin( ORIGIN, 1 ); + + // Re-test Connection + timeout( function() { + SELF['time'](_test_connection); + }, SECOND ); + } + + // Disconnect & Reconnect + each_channel(function(channel){ + // Reconnect + if (success && channel.disconnected) { + channel.disconnected = 0; + return channel.reconnect(channel.name); + } + + // Disconnect + if (!success && !channel.disconnected) { + channel.disconnected = 1; + channel.disconnect(channel.name); + } + }); + } + + // Evented Subscribe + function _connect() { + var jsonp = jsonp_cb() + , channels = generate_channel_list(CHANNELS).join(','); + + // Stop Connection + if (!channels) return; + + // Connect to PubNub Subscribe Servers + SUB_RECEIVER = xdr({ + timeout : sub_timeout, + callback : jsonp, + fail : function() { SELF['time'](_test_connection) }, + data : { 'uuid' : UUID }, + url : [ + SUB_ORIGIN, 'subscribe', + SUBSCRIBE_KEY, encode(channels), + jsonp, TIMETOKEN + ], + success : function(messages) { + if (!messages) return timeout( _connect, windowing ); + + // Connect + each_channel(function(channel){ + if (channel.connected) return; + channel.connected = 1; + channel.connect(channel.name); + }); + + // Restore Previous Connection Point if Needed + TIMETOKEN = !TIMETOKEN && + SUB_RESTORE && + db['get'](SUBSCRIBE_KEY) || messages[1]; + + // Update Saved Timetoken + if (TIMETOKEN) db['set']( SUBSCRIBE_KEY, messages[1] ); + + // Route Channel <---> Callback for Message + var next_callback = (function() { + var channels = (messages.length>2?messages[2]:'') + , list = channels.split(','); + + return function() { + var channel = list.shift()||''; + return [ + (CHANNELS[channel]||{}) + .callback||SUB_CALLBACK, + (channel||SUB_CHANNEL) + .split(PRESENCE_SUFFIX)[0] + ]; + }; + })(); + + each( messages[0], function(msg) { + var next = next_callback(); + if (!CHANNELS[next[1]].subscribed) return; + next[0]( msg, messages, next[1] ); + } ); + + timeout( _connect, windowing ); + } + }); + } + + CONNECT = function() { + // Close Previous Subscribe Connection + SELF['_reset_offline'](); + + // Begin Recursive Subscribe + clearTimeout(SUB_BUFF_WAIT); + SUB_BUFF_WAIT = timeout( _connect, 100 ); + }; + + // Reduce Status Flicker + if (!READY) return READY_BUFFER.push(CONNECT); + + // Connect Now + CONNECT(); + }, + + 'here_now' : function( args, callback ) { + var callback = args['callback'] || callback + , err = args['error'] || function(){} + , channel = args['channel'] + , jsonp = jsonp_cb() + , data = null; + + // Make sure we have a Channel + if (!channel) return error('Missing Channel'); + if (!callback) return error('Missing Callback'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + if (jsonp != '0') { + data = {}; + data['callback'] = jsonp; + } + + xdr({ + callback : jsonp, + data : data, + success : function(response) { callback(response) }, + fail : err, + url : [ + STD_ORIGIN, 'v2', 'presence', + 'sub_key', SUBSCRIBE_KEY, + 'channel', encode(channel) + ] + }); + }, + + // Expose PUBNUB Functions + 'xdr' : xdr, + 'ready' : ready, + 'db' : db, + 'uuid' : uuid, + 'each' : each, + 'map' : map, + 'grep' : grep, + 'supplant' : supplant, + 'now' : rnow, + 'unique' : unique, + 'updater' : updater, + 'poll_online' : function() { + _is_online() || SELF['_reset_offline'](); + timeout( SELF['poll_online'], SECOND ); + }, + 'poll_online2' : function() { + SELF['time'](function(success){ + success || SELF['_reset_offline'](); + timeout( SELF['poll_online2'], KEEPALIVE ); + }) + } + }; + if (!UUID) UUID = SELF['uuid'](); + db['set']( SUBSCRIBE_KEY + 'uuid', UUID ); + + timeout( SELF['poll_online'], SECOND ); + timeout( SELF['poll_online2'], KEEPALIVE ); + + return SELF; +} +/* --------------------------------------------------------------------------- +--------------------------------------------------------------------------- */ + +/* --------------------------------------------------------------------------- +PubNub Real-time Cloud-Hosted Push API and Push Notification Client Frameworks +Copyright (c) 2011 PubNub Inc. +http://www.pubnub.com/ +http://www.pubnub.com/terms +--------------------------------------------------------------------------- */ + +/* --------------------------------------------------------------------------- +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +--------------------------------------------------------------------------- */ +(function(){ + +/** + * UTIL LOCALS + */ +var NOW = 1 +, URLBIT = '/' +, PARAMSBIT = '&' +, XHRTME = 310000; + +/** + * UTILITIES + */ +//function unique() { return'x'+ ++NOW+''+(+new Date) } +//function rnow() { return+new Date } + +/** + * LOCAL STORAGE + */ +var db = (function(){ + var ls = typeof localStorage != 'undefined' && localStorage; + return { + get : function(key) { + try { + if (ls) return ls.getItem(key); + if (document.cookie.indexOf(key) == -1) return null; + return ((document.cookie||'').match( + RegExp(key+'=([^;]+)') + )||[])[1] || null; + } catch(e) { return } + }, + set : function( key, value ) { + try { + if (ls) return ls.setItem( key, value ) && 0; + document.cookie = key + '=' + value + + '; expires=Thu, 1 Aug 2030 20:00:00 UTC; path=/'; + } catch(e) { return } + } + }; +})(); + + +/** + * CORS XHR Request + * ================ + * xdr({ + * url : ['http://www.blah.com/url'], + * success : function(response) {}, + * fail : function() {} + * }); + */ +function xdr( setup ) { + var xhr + , finished = function() { + if (loaded) return; + loaded = 1; + + clearTimeout(timer); + + try { response = JSON['parse'](xhr.responseText); } + catch (r) { return done(1); } + + success(response); + } + , complete = 0 + , loaded = 0 + , timer = timeout( function(){done(1)}, XHRTME ) + , fail = setup.fail || function(){} + , success = setup.success || function(){} + , done = function(failed) { + if (complete) return; + complete = 1; + + clearTimeout(timer); + + if (xhr) { + xhr.onerror = xhr.onload = null; + xhr.abort && xhr.abort(); + xhr = null; + } + + failed && fail(); + }; + + // Send + try { + xhr = typeof XDomainRequest !== 'undefined' && + new XDomainRequest() || + new XMLHttpRequest(); + + xhr.onerror = xhr.onabort = function(){ done(1) }; + xhr.onload = xhr.onloadend = finished; + xhr.timeout = XHRTME; + url = setup.url.join(URLBIT); + if (setup.data) { + var params = []; + url += "?"; + for (key in setup.data) { + params.push(key+"="+setup.data[key]); + } + url += params.join(PARAMSBIT); + } + xhr.open( 'GET', url, true ); + xhr.send(); + } + catch(eee) { + done(0); + return xdr(setup); + } + + // Return 'done' + return done; +} + +/** + * BIND + * ==== + * bind( 'keydown', search('a')[0], function(element) { + * ... + * } ); + */ +function bind( type, el, fun ) { + each( type.split(','), function(etype) { + var rapfun = function(e) { + if (!e) e = window.event; + if (!fun(e)) { + e.cancelBubble = true; + e.returnValue = false; + e.preventDefault && e.preventDefault(); + e.stopPropagation && e.stopPropagation(); + } + }; + + if ( el.addEventListener ) el.addEventListener( etype, rapfun, false ); + else if ( el.attachEvent ) el.attachEvent( 'on' + etype, rapfun ); + else el[ 'on' + etype ] = rapfun; + } ); +} + +/** + * UNBIND + * ====== + * unbind( 'keydown', search('a')[0] ); + */ +function unbind( type, el, fun ) { + if ( el.removeEventListener ) el.removeEventListener( type, false ); + else if ( el.detachEvent ) el.detachEvent( 'on' + type, false ); + else el[ 'on' + type ] = null; +} + +/** + * LOG + * === + * var list = grep( [1,2,3], function(item) { return item % 2 } ) + */ +var log = function(){}; + +/** + * EVENTS + * ====== + * PUBNUB.events.bind( 'you-stepped-on-flower', function(message) { + * // Do Stuff with message + * } ); + * + * PUBNUB.events.fire( 'you-stepped-on-flower', "message-data" ); + * PUBNUB.events.fire( 'you-stepped-on-flower', {message:"data"} ); + * PUBNUB.events.fire( 'you-stepped-on-flower', [1,2,3] ); + * + */ +var events = { + 'list' : {}, + 'unbind' : function( name ) { events.list[name] = [] }, + 'bind' : function( name, fun ) { + (events.list[name] = events.list[name] || []).push(fun); + }, + 'fire' : function( name, data ) { + each( + events.list[name] || [], + function(fun) { fun(data) } + ); + } +}; + +/* =-====================================================================-= */ +/* =-====================================================================-= */ +/* =-========================= PUBNUB ===========================-= */ +/* =-====================================================================-= */ +/* =-====================================================================-= */ + +function PN(setup) { + + + setup['db'] = db; + setup['xdr'] = xdr; + var SELF = PN_API(setup); + + SELF['init'] = PN; + + + // Return without Testing + if (setup['notest']) return SELF; + + // Add Leave Functions + bind( 'beforeunload', window, function() { + each_channel(function(ch){ SELF['LEAVE']( ch.name, 1 ) }); + return true; + } ); + + bind( 'offline', window, SELF['_reset_offline'] ); + bind( 'offline', document, SELF['_reset_offline'] ); + + SELF['ready'](); + return SELF; +} + +typeof module !== 'undefined' && (module.exports = PN) || +typeof exports !== 'undefined' && (exports.PN = PN) || (PUBNUB = PN); + +})(); +var NOW = 1 +, READY = false +, READY_BUFFER = [] +, PRESENCE_SUFFIX = '-pnpres' +, DEF_WINDOWING = 10 // MILLISECONDS. +, DEF_TIMEOUT = 10000 // MILLISECONDS. +, DEF_SUB_TIMEOUT = 310 // SECONDS. +, DEF_KEEPALIVE = 60 // SECONDS. +, SECOND = 1000 // A THOUSAND MILLISECONDS. +, REPL = /{([\w\-]+)}/g; + +/** + * UTILITIES + */ +function unique() { return'x'+ ++NOW+''+(+new Date) } +function rnow() { return+new Date } + +/** + * NEXTORIGIN + * ========== + * var next_origin = nextorigin(); + */ +var nextorigin = (function() { + var max = 20 + , ori = Math.floor(Math.random() * max); + return function( origin, failover ) { + return origin.indexOf('pubsub.') > 0 + && origin.replace( + 'pubsub', 'ps' + ( + failover ? uuid().split('-')[0] : + (++ori < max? ori : ori=1) + ) ) || origin; + } +})(); + +/** + * UPDATER + * ======= + * var timestamp = unique(); + */ +function updater( fun, rate ) { + var timeout + , last = 0 + , runnit = function() { + if (last + rate > rnow()) { + clearTimeout(timeout); + timeout = setTimeout( runnit, rate ); + } + else { + last = rnow(); + fun(); + } + }; + + return runnit; +} + +/** + * GREP + * ==== + * var list = grep( [1,2,3], function(item) { return item % 2 } ) + */ +function grep( list, fun ) { + var fin = []; + each( list || [], function(l) { fun(l) && fin.push(l) } ); + return fin +} + +/** + * SUPPLANT + * ======== + * var text = supplant( 'Hello {name}!', { name : 'John' } ) + */ +function supplant( str, values ) { + return str.replace( REPL, function( _, match ) { + return values[match] || _ + } ); +} + +/** + * timeout + * ======= + * timeout( function(){}, 100 ); + */ +function timeout( fun, wait ) { + return setTimeout( fun, wait ); +} + +/** + * uuid + * ==== + * var my_uuid = uuid(); + */ +function uuid(callback) { + var u = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, + function(c) { + var r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8); + return v.toString(16); + }); + if (callback) callback(u); + return u; +} + +/** + * EACH + * ==== + * each( [1,2,3], function(item) { } ) + */ +function each( o, f ) { + if ( !o || !f ) return; + + if ( typeof o[0] != 'undefined' ) + for ( var i = 0, l = o.length; i < l; ) + f.call( o[i], o[i], i++ ); + else + for ( var i in o ) + o.hasOwnProperty && + o.hasOwnProperty(i) && + f.call( o[i], i, o[i] ); +} + +/** + * MAP + * === + * var list = map( [1,2,3], function(item) { return item + 1 } ) + */ +function map( list, fun ) { + var fin = []; + each( list || [], function( k, v ) { fin.push(fun( k, v )) } ); + return fin; +} + +/** + * ENCODE + * ====== + * var encoded_path = encode('path'); + */ +function encode(path) { + return map( (encodeURIComponent(path)).split(''), function(chr) { + return "-_.!~*'()".indexOf(chr) < 0 ? chr : + "%"+chr.charCodeAt(0).toString(16).toUpperCase() + } ).join(''); +} + +/** + * Generate Subscription Channel List + * ================================== + * generate_channel_list(channels_object); + */ +function generate_channel_list(channels) { + var list = []; + each( channels, function( channel, status ) { + if (status.subscribed) list.push(channel); + } ); + return list.sort(); +} + +// PUBNUB READY TO CONNECT + function ready() { timeout( function() { + if (READY) return; + READY = 1; + each( READY_BUFFER, function(connect) { connect() } ); + }, SECOND ); } + +function PN_API(setup) { + var SUB_WINDOWING = +setup['windowing'] || DEF_WINDOWING + , SUB_TIMEOUT = (+setup['timeout'] || DEF_SUB_TIMEOUT) * SECOND + , KEEPALIVE = (+setup['keepalive'] || DEF_KEEPALIVE) * SECOND + , PUBLISH_KEY = setup['publish_key'] || '' + , SUBSCRIBE_KEY = setup['subscribe_key'] || '' + , SSL = setup['ssl'] ? 's' : '' + , ORIGIN = 'http'+SSL+'://'+(setup['origin']||'pubsub.pubnub.com') + , STD_ORIGIN = nextorigin(ORIGIN) + , SUB_ORIGIN = nextorigin(ORIGIN) + , CONNECT = function(){} + , PUB_QUEUE = [] + , SUB_CALLBACK = 0 + , SUB_CHANNEL = 0 + , SUB_RECEIVER = 0 + , SUB_RESTORE = 0 + , SUB_BUFF_WAIT = 0 + , TIMETOKEN = 0 + , CHANNELS = {} + , xdr = setup['xdr'] + , _is_online = setup['_is_online'] || function() { return 1; } + , jsonp_cb = setup['jsonp_cb'] || function(){ return 0; } + , db = setup['db'] || {'get': function(){}, 'set': function(){}} + , UUID = setup['uuid'] || ( db && db['get'](SUBSCRIBE_KEY+'uuid') || ''); + + + + function publish(next) { + if (next) PUB_QUEUE.sending = 0; + if (PUB_QUEUE.sending || !PUB_QUEUE.length) return; + PUB_QUEUE.sending = 1; + xdr(PUB_QUEUE.shift()); + } + + function each_channel(callback) { + each( generate_channel_list(CHANNELS), function(channel) { + var chan = CHANNELS[channel]; + if (!chan) return; + callback(chan); + } ); + } + + // Announce Leave Event + + + var SELF = { + + '_reset_offline' : function() { + SUB_RECEIVER && SUB_RECEIVER(1); + }, + + 'LEAVE' : function( channel, blocking ) { + var data = { 'uuid' : UUID } + , origin = nextorigin(ORIGIN) + , jsonp = jsonp_cb(); + + // Prevent Leaving a Presence Channel + if (channel.indexOf(PRESENCE_SUFFIX) > 0) return; + + if (jsonp != '0') data['callback'] = jsonp; + + xdr({ + blocking : blocking || SSL, + timeout : 2000, + callback : jsonp, + data : data, + url : [ + origin, 'v2', 'presence', 'sub_key', + SUBSCRIBE_KEY, 'channel', encode(channel), 'leave' + ] + }); + }, + /* + PUBNUB.history({ + channel : 'my_chat_channel', + limit : 100, + callback : function(history) { } + }); + */ + 'history' : function( args, callback ) { + var callback = args['callback'] || callback + , count = args['count'] || args['limit'] || 100 + , reverse = args['reverse'] || "false" + , err = args['error'] || function(){} + , channel = args['channel'] + , start = args['start'] + , end = args['end'] + , params = {} + , jsonp = jsonp_cb(); + + // Make sure we have a Channel + if (!channel) return error('Missing Channel'); + if (!callback) return error('Missing Callback'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + params['stringtoken'] = 'true'; + params['count'] = count; + params['reverse'] = reverse; + + if (jsonp) params['callback'] = jsonp; + if (start) params['start'] = start; + if (end) params['end'] = end; + + // Send Message + xdr({ + callback : jsonp, + data : params, + success : function(response) { callback(response) }, + fail : err, + url : [ + STD_ORIGIN, 'v2', 'history', 'sub-key', + SUBSCRIBE_KEY, 'channel', encode(channel) + ] + }); + }, + + /* + PUBNUB.replay({ + source : 'my_channel', + destination : 'new_channel' + }); + */ + 'replay' : function(args) { + var callback = callback || args['callback'] || function(){} + , source = args['source'] + , destination = args['destination'] + , stop = args['stop'] + , start = args['start'] + , end = args['end'] + , reverse = args['reverse'] + , limit = args['limit'] + , jsonp = jsonp_cb() + , data = {} + , url; + + // Check User Input + if (!source) return error('Missing Source Channel'); + if (!destination) return error('Missing Destination Channel'); + if (!PUBLISH_KEY) return error('Missing Publish Key'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + // Setup URL Params + if (jsonp != '0') data['callback'] = jsonp; + if (stop) data['stop'] = 'all'; + if (reverse) data['reverse'] = 'true'; + if (start) data['start'] = start; + if (end) data['end'] = end; + if (limit) data['count'] = limit; + + // Compose URL Parts + url = [ + STD_ORIGIN, 'v1', 'replay', + PUBLISH_KEY, SUBSCRIBE_KEY, + source, destination + ]; + + // Start (or Stop) Replay! + xdr({ + callback : jsonp, + success : function(response) { callback(response) }, + fail : function() { callback([ 0, 'Disconnected' ]) }, + url : url, + data : data + }); + }, + + /* + PUBNUB.time(function(time){ }); + */ + 'time' : function(callback) { + var jsonp = jsonp_cb(); + xdr({ + callback : jsonp, + timeout : SECOND*5, + url : [STD_ORIGIN, 'time', jsonp], + success : function(response) { callback(response[0]) }, + fail : function() { callback(0) } + }); + }, + + /* + PUBNUB.publish({ + channel : 'my_chat_channel', + message : 'hello!' + }); + */ + 'publish' : function( args, callback ) { + var callback = callback || args['callback'] || function(){} + , msg = args['message'] + , channel = args['channel'] + , jsonp = jsonp_cb() + , url; + + if (!msg) return error('Missing Message'); + if (!channel) return error('Missing Channel'); + if (!PUBLISH_KEY) return error('Missing Publish Key'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + // If trying to send Object + msg = JSON['stringify'](msg); + + // Create URL + url = [ + STD_ORIGIN, 'publish', + PUBLISH_KEY, SUBSCRIBE_KEY, + 0, encode(channel), + jsonp, encode(msg) + ]; + + // Queue Message Send + PUB_QUEUE.push({ + callback : jsonp, + timeout : SECOND*5, + url : url, + data : { 'uuid' : UUID }, + success : function(response){callback(response);publish(1)}, + fail : function(){callback([0,'Failed',msg]);publish(1)} + }); + + // Send Message + publish(); + }, + + /* + PUBNUB.unsubscribe({ channel : 'my_chat' }); + */ + 'unsubscribe' : function(args) { + var channel = args['channel']; + + TIMETOKEN = 0; + SUB_RESTORE = 1; + + // Prepare Channel(s) + channel = map( ( + channel.join ? channel.join(',') : ''+channel + ).split(','), function(channel) { + return channel + ',' + channel + PRESENCE_SUFFIX; + } ).join(','); + + // Iterate over Channels + each( channel.split(','), function(channel) { + if (READY) SELF['LEAVE']( channel, 0 ); + CHANNELS[channel] = 0; + } ); + + // ReOpen Connection if Any Channels Left + if (READY) CONNECT(); + }, + + /* + PUBNUB.subscribe({ + channel : 'my_chat' + callback : function(message) { } + }); + */ + 'subscribe' : function( args, callback ) { + var channel = args['channel'] + , callback = callback || args['callback'] + , callback = callback || args['message'] + , connect = args['connect'] || function(){} + , reconnect = args['reconnect'] || function(){} + , disconnect = args['disconnect'] || function(){} + , presence = args['presence'] || 0 + , noheresync = args['noheresync'] || 0 + , sub_timeout = args['timeout'] || SUB_TIMEOUT + , windowing = args['windowing'] || SUB_WINDOWING + , restore = args['restore']; + + // Restore Enabled? + if (restore) SUB_RESTORE = 1; + + TIMETOKEN = 0; + + // Make sure we have a Channel + if (!channel) return error('Missing Channel'); + if (!callback) return error('Missing Callback'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + // Setup Channel(s) + each( (channel.join ? channel.join(',') : ''+channel).split(','), + function(channel) { + var settings = CHANNELS[channel] || {}; + + // Store Channel State + CHANNELS[SUB_CHANNEL = channel] = { + name : channel, + connected : settings.connected, + disconnected : settings.disconnected, + subscribed : 1, + callback : SUB_CALLBACK = callback, + connect : connect, + disconnect : disconnect, + reconnect : reconnect + }; + + // Presence Enabled? + if (!presence) return; + + // Subscribe Presence Channel + SELF['subscribe']({ + 'channel' : channel + PRESENCE_SUFFIX, + 'callback' : presence + }); + + // Presence Subscribed? + if (settings.subscribed) return; + + // See Who's Here Now? + if (noheresync) return; + SELF['here_now']({ + 'channel' : channel, + 'callback' : function(here) { + each( 'uuids' in here ? here['uuids'] : [], + function(uid) { presence( { + 'action' : 'join', + 'uuid' : uid, + 'timestamp' : rnow(), + 'occupancy' : here['occupancy'] || 1 + }, here, channel ); } ); + } + }); + } ); + + // Test Network Connection + function _test_connection(success) { + if (success) { + // Begin Next Socket Connection + timeout( _connect, SECOND ); + } + else { + // New Origin on Failed Connection + STD_ORIGIN = nextorigin( ORIGIN, 1 ); + SUB_ORIGIN = nextorigin( ORIGIN, 1 ); + + // Re-test Connection + timeout( function() { + SELF['time'](_test_connection); + }, SECOND ); + } + + // Disconnect & Reconnect + each_channel(function(channel){ + // Reconnect + if (success && channel.disconnected) { + channel.disconnected = 0; + return channel.reconnect(channel.name); + } + + // Disconnect + if (!success && !channel.disconnected) { + channel.disconnected = 1; + channel.disconnect(channel.name); + } + }); + } + + // Evented Subscribe + function _connect() { + var jsonp = jsonp_cb() + , channels = generate_channel_list(CHANNELS).join(','); + + // Stop Connection + if (!channels) return; + + // Connect to PubNub Subscribe Servers + SUB_RECEIVER = xdr({ + timeout : sub_timeout, + callback : jsonp, + fail : function() { SELF['time'](_test_connection) }, + data : { 'uuid' : UUID }, + url : [ + SUB_ORIGIN, 'subscribe', + SUBSCRIBE_KEY, encode(channels), + jsonp, TIMETOKEN + ], + success : function(messages) { + if (!messages) return timeout( _connect, windowing ); + + // Connect + each_channel(function(channel){ + if (channel.connected) return; + channel.connected = 1; + channel.connect(channel.name); + }); + + // Restore Previous Connection Point if Needed + TIMETOKEN = !TIMETOKEN && + SUB_RESTORE && + db['get'](SUBSCRIBE_KEY) || messages[1]; + + // Update Saved Timetoken + if (TIMETOKEN) db['set']( SUBSCRIBE_KEY, messages[1] ); + + // Route Channel <---> Callback for Message + var next_callback = (function() { + var channels = (messages.length>2?messages[2]:'') + , list = channels.split(','); + + return function() { + var channel = list.shift()||''; + return [ + (CHANNELS[channel]||{}) + .callback||SUB_CALLBACK, + (channel||SUB_CHANNEL) + .split(PRESENCE_SUFFIX)[0] + ]; + }; + })(); + + each( messages[0], function(msg) { + var next = next_callback(); + if (!CHANNELS[next[1]].subscribed) return; + next[0]( msg, messages, next[1] ); + } ); + + timeout( _connect, windowing ); + } + }); + } + + CONNECT = function() { + // Close Previous Subscribe Connection + SELF['_reset_offline'](); + + // Begin Recursive Subscribe + clearTimeout(SUB_BUFF_WAIT); + SUB_BUFF_WAIT = timeout( _connect, 100 ); + }; + + // Reduce Status Flicker + if (!READY) return READY_BUFFER.push(CONNECT); + + // Connect Now + CONNECT(); + }, + + 'here_now' : function( args, callback ) { + var callback = args['callback'] || callback + , err = args['error'] || function(){} + , channel = args['channel'] + , jsonp = jsonp_cb() + , data = null; + + // Make sure we have a Channel + if (!channel) return error('Missing Channel'); + if (!callback) return error('Missing Callback'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + if (jsonp != '0') { + data = {}; + data['callback'] = jsonp; + } + + xdr({ + callback : jsonp, + data : data, + success : function(response) { callback(response) }, + fail : err, + url : [ + STD_ORIGIN, 'v2', 'presence', + 'sub_key', SUBSCRIBE_KEY, + 'channel', encode(channel) + ] + }); + }, + + // Expose PUBNUB Functions + 'xdr' : xdr, + 'ready' : ready, + 'db' : db, + 'uuid' : uuid, + 'each' : each, + 'map' : map, + 'grep' : grep, + 'supplant' : supplant, + 'now' : rnow, + 'unique' : unique, + 'updater' : updater, + 'poll_online' : function() { + _is_online() || SELF['_reset_offline'](); + timeout( SELF['poll_online'], SECOND ); + }, + 'poll_online2' : function() { + SELF['time'](function(success){ + success || SELF['_reset_offline'](); + timeout( SELF['poll_online2'], KEEPALIVE ); + }) + } + }; + if (!UUID) UUID = SELF['uuid'](); + db['set']( SUBSCRIBE_KEY + 'uuid', UUID ); + + timeout( SELF['poll_online'], SECOND ); + timeout( SELF['poll_online2'], KEEPALIVE ); + + return SELF; +} +/* --------------------------------------------------------------------------- +--------------------------------------------------------------------------- */ + +/* --------------------------------------------------------------------------- +PubNub Real-time Cloud-Hosted Push API and Push Notification Client Frameworks +Copyright (c) 2011 PubNub Inc. +http://www.pubnub.com/ +http://www.pubnub.com/terms +--------------------------------------------------------------------------- */ + +/* --------------------------------------------------------------------------- +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +--------------------------------------------------------------------------- */ +(function(){ + +/** + * UTIL LOCALS + */ +var NOW = 1 +, URLBIT = '/' +, PARAMSBIT = '&' +, XHRTME = 310000; + +/** + * UTILITIES + */ +//function unique() { return'x'+ ++NOW+''+(+new Date) } +//function rnow() { return+new Date } + +/** + * LOCAL STORAGE + */ +var db = (function(){ + var ls = typeof localStorage != 'undefined' && localStorage; + return { + get : function(key) { + try { + if (ls) return ls.getItem(key); + if (document.cookie.indexOf(key) == -1) return null; + return ((document.cookie||'').match( + RegExp(key+'=([^;]+)') + )||[])[1] || null; + } catch(e) { return } + }, + set : function( key, value ) { + try { + if (ls) return ls.setItem( key, value ) && 0; + document.cookie = key + '=' + value + + '; expires=Thu, 1 Aug 2030 20:00:00 UTC; path=/'; + } catch(e) { return } + } + }; +})(); + + +/** + * CORS XHR Request + * ================ + * xdr({ + * url : ['http://www.blah.com/url'], + * success : function(response) {}, + * fail : function() {} + * }); + */ +function xdr( setup ) { + var xhr + , finished = function() { + if (loaded) return; + loaded = 1; + + clearTimeout(timer); + + try { response = JSON['parse'](xhr.responseText); } + catch (r) { return done(1); } + + success(response); + } + , complete = 0 + , loaded = 0 + , timer = timeout( function(){done(1)}, XHRTME ) + , fail = setup.fail || function(){} + , success = setup.success || function(){} + , done = function(failed) { + if (complete) return; + complete = 1; + + clearTimeout(timer); + + if (xhr) { + xhr.onerror = xhr.onload = null; + xhr.abort && xhr.abort(); + xhr = null; + } + + failed && fail(); + }; + + // Send + try { + xhr = typeof XDomainRequest !== 'undefined' && + new XDomainRequest() || + new XMLHttpRequest(); + + xhr.onerror = xhr.onabort = function(){ done(1) }; + xhr.onload = xhr.onloadend = finished; + xhr.timeout = XHRTME; + url = setup.url.join(URLBIT); + if (setup.data) { + var params = []; + url += "?"; + for (key in setup.data) { + params.push(key+"="+setup.data[key]); + } + url += params.join(PARAMSBIT); + } + xhr.open( 'GET', url, true ); + xhr.send(); + } + catch(eee) { + done(0); + return xdr(setup); + } + + // Return 'done' + return done; +} + +/** + * BIND + * ==== + * bind( 'keydown', search('a')[0], function(element) { + * ... + * } ); + */ +function bind( type, el, fun ) { + each( type.split(','), function(etype) { + var rapfun = function(e) { + if (!e) e = window.event; + if (!fun(e)) { + e.cancelBubble = true; + e.returnValue = false; + e.preventDefault && e.preventDefault(); + e.stopPropagation && e.stopPropagation(); + } + }; + + if ( el.addEventListener ) el.addEventListener( etype, rapfun, false ); + else if ( el.attachEvent ) el.attachEvent( 'on' + etype, rapfun ); + else el[ 'on' + etype ] = rapfun; + } ); +} + +/** + * UNBIND + * ====== + * unbind( 'keydown', search('a')[0] ); + */ +function unbind( type, el, fun ) { + if ( el.removeEventListener ) el.removeEventListener( type, false ); + else if ( el.detachEvent ) el.detachEvent( 'on' + type, false ); + else el[ 'on' + type ] = null; +} + +/** + * LOG + * === + * var list = grep( [1,2,3], function(item) { return item % 2 } ) + */ +var log = function(){}; + +/** + * EVENTS + * ====== + * PUBNUB.events.bind( 'you-stepped-on-flower', function(message) { + * // Do Stuff with message + * } ); + * + * PUBNUB.events.fire( 'you-stepped-on-flower', "message-data" ); + * PUBNUB.events.fire( 'you-stepped-on-flower', {message:"data"} ); + * PUBNUB.events.fire( 'you-stepped-on-flower', [1,2,3] ); + * + */ +var events = { + 'list' : {}, + 'unbind' : function( name ) { events.list[name] = [] }, + 'bind' : function( name, fun ) { + (events.list[name] = events.list[name] || []).push(fun); + }, + 'fire' : function( name, data ) { + each( + events.list[name] || [], + function(fun) { fun(data) } + ); + } +}; + +/* =-====================================================================-= */ +/* =-====================================================================-= */ +/* =-========================= PUBNUB ===========================-= */ +/* =-====================================================================-= */ +/* =-====================================================================-= */ + +function PN(setup) { + + + setup['db'] = db; + setup['xdr'] = xdr; + var SELF = PN_API(setup); + + SELF['init'] = PN; + + + // Return without Testing + if (setup['notest']) return SELF; + + // Add Leave Functions + bind( 'beforeunload', window, function() { + each_channel(function(ch){ SELF['LEAVE']( ch.name, 1 ) }); + return true; + } ); + + bind( 'offline', window, SELF['_reset_offline'] ); + bind( 'offline', document, SELF['_reset_offline'] ); + + SELF['ready'](); + return SELF; +} + +typeof module !== 'undefined' && (module.exports = PN) || +typeof exports !== 'undefined' && (exports.PN = PN) || (PUBNUB = PN); + +})(); +var NOW = 1 +, READY = false +, READY_BUFFER = [] +, PRESENCE_SUFFIX = '-pnpres' +, DEF_WINDOWING = 10 // MILLISECONDS. +, DEF_TIMEOUT = 10000 // MILLISECONDS. +, DEF_SUB_TIMEOUT = 310 // SECONDS. +, DEF_KEEPALIVE = 60 // SECONDS. +, SECOND = 1000 // A THOUSAND MILLISECONDS. +, REPL = /{([\w\-]+)}/g; + +/** + * UTILITIES + */ +function unique() { return'x'+ ++NOW+''+(+new Date) } +function rnow() { return+new Date } + +/** + * NEXTORIGIN + * ========== + * var next_origin = nextorigin(); + */ +var nextorigin = (function() { + var max = 20 + , ori = Math.floor(Math.random() * max); + return function( origin, failover ) { + return origin.indexOf('pubsub.') > 0 + && origin.replace( + 'pubsub', 'ps' + ( + failover ? uuid().split('-')[0] : + (++ori < max? ori : ori=1) + ) ) || origin; + } +})(); + +/** + * UPDATER + * ======= + * var timestamp = unique(); + */ +function updater( fun, rate ) { + var timeout + , last = 0 + , runnit = function() { + if (last + rate > rnow()) { + clearTimeout(timeout); + timeout = setTimeout( runnit, rate ); + } + else { + last = rnow(); + fun(); + } + }; + + return runnit; +} + +/** + * GREP + * ==== + * var list = grep( [1,2,3], function(item) { return item % 2 } ) + */ +function grep( list, fun ) { + var fin = []; + each( list || [], function(l) { fun(l) && fin.push(l) } ); + return fin +} + +/** + * SUPPLANT + * ======== + * var text = supplant( 'Hello {name}!', { name : 'John' } ) + */ +function supplant( str, values ) { + return str.replace( REPL, function( _, match ) { + return values[match] || _ + } ); +} + +/** + * timeout + * ======= + * timeout( function(){}, 100 ); + */ +function timeout( fun, wait ) { + return setTimeout( fun, wait ); +} + +/** + * uuid + * ==== + * var my_uuid = uuid(); + */ +function uuid(callback) { + var u = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, + function(c) { + var r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8); + return v.toString(16); + }); + if (callback) callback(u); + return u; +} + +/** + * EACH + * ==== + * each( [1,2,3], function(item) { } ) + */ +function each( o, f ) { + if ( !o || !f ) return; + + if ( typeof o[0] != 'undefined' ) + for ( var i = 0, l = o.length; i < l; ) + f.call( o[i], o[i], i++ ); + else + for ( var i in o ) + o.hasOwnProperty && + o.hasOwnProperty(i) && + f.call( o[i], i, o[i] ); +} + +/** + * MAP + * === + * var list = map( [1,2,3], function(item) { return item + 1 } ) + */ +function map( list, fun ) { + var fin = []; + each( list || [], function( k, v ) { fin.push(fun( k, v )) } ); + return fin; +} + +/** + * ENCODE + * ====== + * var encoded_path = encode('path'); + */ +function encode(path) { + return map( (encodeURIComponent(path)).split(''), function(chr) { + return "-_.!~*'()".indexOf(chr) < 0 ? chr : + "%"+chr.charCodeAt(0).toString(16).toUpperCase() + } ).join(''); +} + +/** + * Generate Subscription Channel List + * ================================== + * generate_channel_list(channels_object); + */ +function generate_channel_list(channels) { + var list = []; + each( channels, function( channel, status ) { + if (status.subscribed) list.push(channel); + } ); + return list.sort(); +} + +// PUBNUB READY TO CONNECT + function ready() { timeout( function() { + if (READY) return; + READY = 1; + each( READY_BUFFER, function(connect) { connect() } ); + }, SECOND ); } + +function PN_API(setup) { + var SUB_WINDOWING = +setup['windowing'] || DEF_WINDOWING + , SUB_TIMEOUT = (+setup['timeout'] || DEF_SUB_TIMEOUT) * SECOND + , KEEPALIVE = (+setup['keepalive'] || DEF_KEEPALIVE) * SECOND + , PUBLISH_KEY = setup['publish_key'] || '' + , SUBSCRIBE_KEY = setup['subscribe_key'] || '' + , SSL = setup['ssl'] ? 's' : '' + , ORIGIN = 'http'+SSL+'://'+(setup['origin']||'pubsub.pubnub.com') + , STD_ORIGIN = nextorigin(ORIGIN) + , SUB_ORIGIN = nextorigin(ORIGIN) + , CONNECT = function(){} + , PUB_QUEUE = [] + , SUB_CALLBACK = 0 + , SUB_CHANNEL = 0 + , SUB_RECEIVER = 0 + , SUB_RESTORE = 0 + , SUB_BUFF_WAIT = 0 + , TIMETOKEN = 0 + , CHANNELS = {} + , xdr = setup['xdr'] + , _is_online = setup['_is_online'] || function() { return 1; } + , jsonp_cb = setup['jsonp_cb'] || function(){ return 0; } + , db = setup['db'] || {'get': function(){}, 'set': function(){}} + , UUID = setup['uuid'] || ( db && db['get'](SUBSCRIBE_KEY+'uuid') || ''); + + + + function publish(next) { + if (next) PUB_QUEUE.sending = 0; + if (PUB_QUEUE.sending || !PUB_QUEUE.length) return; + PUB_QUEUE.sending = 1; + xdr(PUB_QUEUE.shift()); + } + + function each_channel(callback) { + each( generate_channel_list(CHANNELS), function(channel) { + var chan = CHANNELS[channel]; + if (!chan) return; + callback(chan); + } ); + } + + // Announce Leave Event + + + var SELF = { + + '_reset_offline' : function() { + SUB_RECEIVER && SUB_RECEIVER(1); + }, + + 'LEAVE' : function( channel, blocking ) { + var data = { 'uuid' : UUID } + , origin = nextorigin(ORIGIN) + , jsonp = jsonp_cb(); + + // Prevent Leaving a Presence Channel + if (channel.indexOf(PRESENCE_SUFFIX) > 0) return; + + if (jsonp != '0') data['callback'] = jsonp; + + xdr({ + blocking : blocking || SSL, + timeout : 2000, + callback : jsonp, + data : data, + url : [ + origin, 'v2', 'presence', 'sub_key', + SUBSCRIBE_KEY, 'channel', encode(channel), 'leave' + ] + }); + }, + /* + PUBNUB.history({ + channel : 'my_chat_channel', + limit : 100, + callback : function(history) { } + }); + */ + 'history' : function( args, callback ) { + var callback = args['callback'] || callback + , count = args['count'] || args['limit'] || 100 + , reverse = args['reverse'] || "false" + , err = args['error'] || function(){} + , channel = args['channel'] + , start = args['start'] + , end = args['end'] + , params = {} + , jsonp = jsonp_cb(); + + // Make sure we have a Channel + if (!channel) return error('Missing Channel'); + if (!callback) return error('Missing Callback'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + params['stringtoken'] = 'true'; + params['count'] = count; + params['reverse'] = reverse; + + if (jsonp) params['callback'] = jsonp; + if (start) params['start'] = start; + if (end) params['end'] = end; + + // Send Message + xdr({ + callback : jsonp, + data : params, + success : function(response) { callback(response) }, + fail : err, + url : [ + STD_ORIGIN, 'v2', 'history', 'sub-key', + SUBSCRIBE_KEY, 'channel', encode(channel) + ] + }); + }, + + /* + PUBNUB.replay({ + source : 'my_channel', + destination : 'new_channel' + }); + */ + 'replay' : function(args) { + var callback = callback || args['callback'] || function(){} + , source = args['source'] + , destination = args['destination'] + , stop = args['stop'] + , start = args['start'] + , end = args['end'] + , reverse = args['reverse'] + , limit = args['limit'] + , jsonp = jsonp_cb() + , data = {} + , url; + + // Check User Input + if (!source) return error('Missing Source Channel'); + if (!destination) return error('Missing Destination Channel'); + if (!PUBLISH_KEY) return error('Missing Publish Key'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + // Setup URL Params + if (jsonp != '0') data['callback'] = jsonp; + if (stop) data['stop'] = 'all'; + if (reverse) data['reverse'] = 'true'; + if (start) data['start'] = start; + if (end) data['end'] = end; + if (limit) data['count'] = limit; + + // Compose URL Parts + url = [ + STD_ORIGIN, 'v1', 'replay', + PUBLISH_KEY, SUBSCRIBE_KEY, + source, destination + ]; + + // Start (or Stop) Replay! + xdr({ + callback : jsonp, + success : function(response) { callback(response) }, + fail : function() { callback([ 0, 'Disconnected' ]) }, + url : url, + data : data + }); + }, + + /* + PUBNUB.time(function(time){ }); + */ + 'time' : function(callback) { + var jsonp = jsonp_cb(); + xdr({ + callback : jsonp, + timeout : SECOND*5, + url : [STD_ORIGIN, 'time', jsonp], + success : function(response) { callback(response[0]) }, + fail : function() { callback(0) } + }); + }, + + /* + PUBNUB.publish({ + channel : 'my_chat_channel', + message : 'hello!' + }); + */ + 'publish' : function( args, callback ) { + var callback = callback || args['callback'] || function(){} + , msg = args['message'] + , channel = args['channel'] + , jsonp = jsonp_cb() + , url; + + if (!msg) return error('Missing Message'); + if (!channel) return error('Missing Channel'); + if (!PUBLISH_KEY) return error('Missing Publish Key'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + // If trying to send Object + msg = JSON['stringify'](msg); + + // Create URL + url = [ + STD_ORIGIN, 'publish', + PUBLISH_KEY, SUBSCRIBE_KEY, + 0, encode(channel), + jsonp, encode(msg) + ]; + + // Queue Message Send + PUB_QUEUE.push({ + callback : jsonp, + timeout : SECOND*5, + url : url, + data : { 'uuid' : UUID }, + success : function(response){callback(response);publish(1)}, + fail : function(){callback([0,'Failed',msg]);publish(1)} + }); + + // Send Message + publish(); + }, + + /* + PUBNUB.unsubscribe({ channel : 'my_chat' }); + */ + 'unsubscribe' : function(args) { + var channel = args['channel']; + + TIMETOKEN = 0; + SUB_RESTORE = 1; + + // Prepare Channel(s) + channel = map( ( + channel.join ? channel.join(',') : ''+channel + ).split(','), function(channel) { + return channel + ',' + channel + PRESENCE_SUFFIX; + } ).join(','); + + // Iterate over Channels + each( channel.split(','), function(channel) { + if (READY) SELF['LEAVE']( channel, 0 ); + CHANNELS[channel] = 0; + } ); + + // ReOpen Connection if Any Channels Left + if (READY) CONNECT(); + }, + + /* + PUBNUB.subscribe({ + channel : 'my_chat' + callback : function(message) { } + }); + */ + 'subscribe' : function( args, callback ) { + var channel = args['channel'] + , callback = callback || args['callback'] + , callback = callback || args['message'] + , connect = args['connect'] || function(){} + , reconnect = args['reconnect'] || function(){} + , disconnect = args['disconnect'] || function(){} + , presence = args['presence'] || 0 + , noheresync = args['noheresync'] || 0 + , sub_timeout = args['timeout'] || SUB_TIMEOUT + , windowing = args['windowing'] || SUB_WINDOWING + , restore = args['restore']; + + // Restore Enabled? + if (restore) SUB_RESTORE = 1; + + TIMETOKEN = 0; + + // Make sure we have a Channel + if (!channel) return error('Missing Channel'); + if (!callback) return error('Missing Callback'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + // Setup Channel(s) + each( (channel.join ? channel.join(',') : ''+channel).split(','), + function(channel) { + var settings = CHANNELS[channel] || {}; + + // Store Channel State + CHANNELS[SUB_CHANNEL = channel] = { + name : channel, + connected : settings.connected, + disconnected : settings.disconnected, + subscribed : 1, + callback : SUB_CALLBACK = callback, + connect : connect, + disconnect : disconnect, + reconnect : reconnect + }; + + // Presence Enabled? + if (!presence) return; + + // Subscribe Presence Channel + SELF['subscribe']({ + 'channel' : channel + PRESENCE_SUFFIX, + 'callback' : presence + }); + + // Presence Subscribed? + if (settings.subscribed) return; + + // See Who's Here Now? + if (noheresync) return; + SELF['here_now']({ + 'channel' : channel, + 'callback' : function(here) { + each( 'uuids' in here ? here['uuids'] : [], + function(uid) { presence( { + 'action' : 'join', + 'uuid' : uid, + 'timestamp' : rnow(), + 'occupancy' : here['occupancy'] || 1 + }, here, channel ); } ); + } + }); + } ); + + // Test Network Connection + function _test_connection(success) { + if (success) { + // Begin Next Socket Connection + timeout( _connect, SECOND ); + } + else { + // New Origin on Failed Connection + STD_ORIGIN = nextorigin( ORIGIN, 1 ); + SUB_ORIGIN = nextorigin( ORIGIN, 1 ); + + // Re-test Connection + timeout( function() { + SELF['time'](_test_connection); + }, SECOND ); + } + + // Disconnect & Reconnect + each_channel(function(channel){ + // Reconnect + if (success && channel.disconnected) { + channel.disconnected = 0; + return channel.reconnect(channel.name); + } + + // Disconnect + if (!success && !channel.disconnected) { + channel.disconnected = 1; + channel.disconnect(channel.name); + } + }); + } + + // Evented Subscribe + function _connect() { + var jsonp = jsonp_cb() + , channels = generate_channel_list(CHANNELS).join(','); + + // Stop Connection + if (!channels) return; + + // Connect to PubNub Subscribe Servers + SUB_RECEIVER = xdr({ + timeout : sub_timeout, + callback : jsonp, + fail : function() { SELF['time'](_test_connection) }, + data : { 'uuid' : UUID }, + url : [ + SUB_ORIGIN, 'subscribe', + SUBSCRIBE_KEY, encode(channels), + jsonp, TIMETOKEN + ], + success : function(messages) { + if (!messages) return timeout( _connect, windowing ); + + // Connect + each_channel(function(channel){ + if (channel.connected) return; + channel.connected = 1; + channel.connect(channel.name); + }); + + // Restore Previous Connection Point if Needed + TIMETOKEN = !TIMETOKEN && + SUB_RESTORE && + db['get'](SUBSCRIBE_KEY) || messages[1]; + + // Update Saved Timetoken + if (TIMETOKEN) db['set']( SUBSCRIBE_KEY, messages[1] ); + + // Route Channel <---> Callback for Message + var next_callback = (function() { + var channels = (messages.length>2?messages[2]:'') + , list = channels.split(','); + + return function() { + var channel = list.shift()||''; + return [ + (CHANNELS[channel]||{}) + .callback||SUB_CALLBACK, + (channel||SUB_CHANNEL) + .split(PRESENCE_SUFFIX)[0] + ]; + }; + })(); + + each( messages[0], function(msg) { + var next = next_callback(); + if (!CHANNELS[next[1]].subscribed) return; + next[0]( msg, messages, next[1] ); + } ); + + timeout( _connect, windowing ); + } + }); + } + + CONNECT = function() { + // Close Previous Subscribe Connection + SELF['_reset_offline'](); + + // Begin Recursive Subscribe + clearTimeout(SUB_BUFF_WAIT); + SUB_BUFF_WAIT = timeout( _connect, 100 ); + }; + + // Reduce Status Flicker + if (!READY) return READY_BUFFER.push(CONNECT); + + // Connect Now + CONNECT(); + }, + + 'here_now' : function( args, callback ) { + var callback = args['callback'] || callback + , err = args['error'] || function(){} + , channel = args['channel'] + , jsonp = jsonp_cb() + , data = null; + + // Make sure we have a Channel + if (!channel) return error('Missing Channel'); + if (!callback) return error('Missing Callback'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + if (jsonp != '0') { + data = {}; + data['callback'] = jsonp; + } + + xdr({ + callback : jsonp, + data : data, + success : function(response) { callback(response) }, + fail : err, + url : [ + STD_ORIGIN, 'v2', 'presence', + 'sub_key', SUBSCRIBE_KEY, + 'channel', encode(channel) + ] + }); + }, + + // Expose PUBNUB Functions + 'xdr' : xdr, + 'ready' : ready, + 'db' : db, + 'uuid' : uuid, + 'each' : each, + 'map' : map, + 'grep' : grep, + 'supplant' : supplant, + 'now' : rnow, + 'unique' : unique, + 'updater' : updater, + 'poll_online' : function() { + _is_online() || SELF['_reset_offline'](); + timeout( SELF['poll_online'], SECOND ); + }, + 'poll_online2' : function() { + SELF['time'](function(success){ + success || SELF['_reset_offline'](); + timeout( SELF['poll_online2'], KEEPALIVE ); + }) + } + }; + if (!UUID) UUID = SELF['uuid'](); + db['set']( SUBSCRIBE_KEY + 'uuid', UUID ); + + timeout( SELF['poll_online'], SECOND ); + timeout( SELF['poll_online2'], KEEPALIVE ); + + return SELF; +} +/* --------------------------------------------------------------------------- +--------------------------------------------------------------------------- */ + +/* --------------------------------------------------------------------------- +PubNub Real-time Cloud-Hosted Push API and Push Notification Client Frameworks +Copyright (c) 2011 PubNub Inc. +http://www.pubnub.com/ +http://www.pubnub.com/terms +--------------------------------------------------------------------------- */ + +/* --------------------------------------------------------------------------- +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +--------------------------------------------------------------------------- */ +(function(){ + +/** + * UTIL LOCALS + */ +var NOW = 1 +, URLBIT = '/' +, PARAMSBIT = '&' +, XHRTME = 310000; + +/** + * UTILITIES + */ +//function unique() { return'x'+ ++NOW+''+(+new Date) } +//function rnow() { return+new Date } + +/** + * LOCAL STORAGE + */ +var db = (function(){ + var ls = typeof localStorage != 'undefined' && localStorage; + return { + get : function(key) { + try { + if (ls) return ls.getItem(key); + if (document.cookie.indexOf(key) == -1) return null; + return ((document.cookie||'').match( + RegExp(key+'=([^;]+)') + )||[])[1] || null; + } catch(e) { return } + }, + set : function( key, value ) { + try { + if (ls) return ls.setItem( key, value ) && 0; + document.cookie = key + '=' + value + + '; expires=Thu, 1 Aug 2030 20:00:00 UTC; path=/'; + } catch(e) { return } + } + }; +})(); + + +/** + * CORS XHR Request + * ================ + * xdr({ + * url : ['http://www.blah.com/url'], + * success : function(response) {}, + * fail : function() {} + * }); + */ +function xdr( setup ) { + var xhr + , finished = function() { + if (loaded) return; + loaded = 1; + + clearTimeout(timer); + + try { response = JSON['parse'](xhr.responseText); } + catch (r) { return done(1); } + + success(response); + } + , complete = 0 + , loaded = 0 + , timer = timeout( function(){done(1)}, XHRTME ) + , fail = setup.fail || function(){} + , success = setup.success || function(){} + , done = function(failed) { + if (complete) return; + complete = 1; + + clearTimeout(timer); + + if (xhr) { + xhr.onerror = xhr.onload = null; + xhr.abort && xhr.abort(); + xhr = null; + } + + failed && fail(); + }; + + // Send + try { + xhr = typeof XDomainRequest !== 'undefined' && + new XDomainRequest() || + new XMLHttpRequest(); + + xhr.onerror = xhr.onabort = function(){ done(1) }; + xhr.onload = xhr.onloadend = finished; + xhr.timeout = XHRTME; + url = setup.url.join(URLBIT); + if (setup.data) { + var params = []; + url += "?"; + for (key in setup.data) { + params.push(key+"="+setup.data[key]); + } + url += params.join(PARAMSBIT); + } + xhr.open( 'GET', url, true ); + xhr.send(); + } + catch(eee) { + done(0); + return xdr(setup); + } + + // Return 'done' + return done; +} + +/** + * BIND + * ==== + * bind( 'keydown', search('a')[0], function(element) { + * ... + * } ); + */ +function bind( type, el, fun ) { + each( type.split(','), function(etype) { + var rapfun = function(e) { + if (!e) e = window.event; + if (!fun(e)) { + e.cancelBubble = true; + e.returnValue = false; + e.preventDefault && e.preventDefault(); + e.stopPropagation && e.stopPropagation(); + } + }; + + if ( el.addEventListener ) el.addEventListener( etype, rapfun, false ); + else if ( el.attachEvent ) el.attachEvent( 'on' + etype, rapfun ); + else el[ 'on' + etype ] = rapfun; + } ); +} + +/** + * UNBIND + * ====== + * unbind( 'keydown', search('a')[0] ); + */ +function unbind( type, el, fun ) { + if ( el.removeEventListener ) el.removeEventListener( type, false ); + else if ( el.detachEvent ) el.detachEvent( 'on' + type, false ); + else el[ 'on' + type ] = null; +} + +/** + * LOG + * === + * var list = grep( [1,2,3], function(item) { return item % 2 } ) + */ +var log = function(){}; + +/** + * EVENTS + * ====== + * PUBNUB.events.bind( 'you-stepped-on-flower', function(message) { + * // Do Stuff with message + * } ); + * + * PUBNUB.events.fire( 'you-stepped-on-flower', "message-data" ); + * PUBNUB.events.fire( 'you-stepped-on-flower', {message:"data"} ); + * PUBNUB.events.fire( 'you-stepped-on-flower', [1,2,3] ); + * + */ +var events = { + 'list' : {}, + 'unbind' : function( name ) { events.list[name] = [] }, + 'bind' : function( name, fun ) { + (events.list[name] = events.list[name] || []).push(fun); + }, + 'fire' : function( name, data ) { + each( + events.list[name] || [], + function(fun) { fun(data) } + ); + } +}; + +/* =-====================================================================-= */ +/* =-====================================================================-= */ +/* =-========================= PUBNUB ===========================-= */ +/* =-====================================================================-= */ +/* =-====================================================================-= */ + +function PN(setup) { + + + setup['db'] = db; + setup['xdr'] = xdr; + var SELF = PN_API(setup); + + SELF['init'] = PN; + + + // Return without Testing + if (setup['notest']) return SELF; + + // Add Leave Functions + bind( 'beforeunload', window, function() { + each_channel(function(ch){ SELF['LEAVE']( ch.name, 1 ) }); + return true; + } ); + + bind( 'offline', window, SELF['_reset_offline'] ); + bind( 'offline', document, SELF['_reset_offline'] ); + + SELF['ready'](); + return SELF; +} + +typeof module !== 'undefined' && (module.exports = PN) || +typeof exports !== 'undefined' && (exports.PN = PN) || (PUBNUB = PN); + +})(); +var NOW = 1 +, READY = false +, READY_BUFFER = [] +, PRESENCE_SUFFIX = '-pnpres' +, DEF_WINDOWING = 10 // MILLISECONDS. +, DEF_TIMEOUT = 10000 // MILLISECONDS. +, DEF_SUB_TIMEOUT = 310 // SECONDS. +, DEF_KEEPALIVE = 60 // SECONDS. +, SECOND = 1000 // A THOUSAND MILLISECONDS. +, REPL = /{([\w\-]+)}/g; + +/** + * UTILITIES + */ +function unique() { return'x'+ ++NOW+''+(+new Date) } +function rnow() { return+new Date } + +/** + * NEXTORIGIN + * ========== + * var next_origin = nextorigin(); + */ +var nextorigin = (function() { + var max = 20 + , ori = Math.floor(Math.random() * max); + return function( origin, failover ) { + return origin.indexOf('pubsub.') > 0 + && origin.replace( + 'pubsub', 'ps' + ( + failover ? uuid().split('-')[0] : + (++ori < max? ori : ori=1) + ) ) || origin; + } +})(); + +/** + * UPDATER + * ======= + * var timestamp = unique(); + */ +function updater( fun, rate ) { + var timeout + , last = 0 + , runnit = function() { + if (last + rate > rnow()) { + clearTimeout(timeout); + timeout = setTimeout( runnit, rate ); + } + else { + last = rnow(); + fun(); + } + }; + + return runnit; +} + +/** + * GREP + * ==== + * var list = grep( [1,2,3], function(item) { return item % 2 } ) + */ +function grep( list, fun ) { + var fin = []; + each( list || [], function(l) { fun(l) && fin.push(l) } ); + return fin +} + +/** + * SUPPLANT + * ======== + * var text = supplant( 'Hello {name}!', { name : 'John' } ) + */ +function supplant( str, values ) { + return str.replace( REPL, function( _, match ) { + return values[match] || _ + } ); +} + +/** + * timeout + * ======= + * timeout( function(){}, 100 ); + */ +function timeout( fun, wait ) { + return setTimeout( fun, wait ); +} + +/** + * uuid + * ==== + * var my_uuid = uuid(); + */ +function uuid(callback) { + var u = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, + function(c) { + var r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8); + return v.toString(16); + }); + if (callback) callback(u); + return u; +} + +/** + * EACH + * ==== + * each( [1,2,3], function(item) { } ) + */ +function each( o, f ) { + if ( !o || !f ) return; + + if ( typeof o[0] != 'undefined' ) + for ( var i = 0, l = o.length; i < l; ) + f.call( o[i], o[i], i++ ); + else + for ( var i in o ) + o.hasOwnProperty && + o.hasOwnProperty(i) && + f.call( o[i], i, o[i] ); +} + +/** + * MAP + * === + * var list = map( [1,2,3], function(item) { return item + 1 } ) + */ +function map( list, fun ) { + var fin = []; + each( list || [], function( k, v ) { fin.push(fun( k, v )) } ); + return fin; +} + +/** + * ENCODE + * ====== + * var encoded_path = encode('path'); + */ +function encode(path) { + return map( (encodeURIComponent(path)).split(''), function(chr) { + return "-_.!~*'()".indexOf(chr) < 0 ? chr : + "%"+chr.charCodeAt(0).toString(16).toUpperCase() + } ).join(''); +} + +/** + * Generate Subscription Channel List + * ================================== + * generate_channel_list(channels_object); + */ +function generate_channel_list(channels) { + var list = []; + each( channels, function( channel, status ) { + if (status.subscribed) list.push(channel); + } ); + return list.sort(); +} + +// PUBNUB READY TO CONNECT + function ready() { timeout( function() { + if (READY) return; + READY = 1; + each( READY_BUFFER, function(connect) { connect() } ); + }, SECOND ); } + +function PN_API(setup) { + var SUB_WINDOWING = +setup['windowing'] || DEF_WINDOWING + , SUB_TIMEOUT = (+setup['timeout'] || DEF_SUB_TIMEOUT) * SECOND + , KEEPALIVE = (+setup['keepalive'] || DEF_KEEPALIVE) * SECOND + , PUBLISH_KEY = setup['publish_key'] || '' + , SUBSCRIBE_KEY = setup['subscribe_key'] || '' + , SSL = setup['ssl'] ? 's' : '' + , ORIGIN = 'http'+SSL+'://'+(setup['origin']||'pubsub.pubnub.com') + , STD_ORIGIN = nextorigin(ORIGIN) + , SUB_ORIGIN = nextorigin(ORIGIN) + , CONNECT = function(){} + , PUB_QUEUE = [] + , SUB_CALLBACK = 0 + , SUB_CHANNEL = 0 + , SUB_RECEIVER = 0 + , SUB_RESTORE = 0 + , SUB_BUFF_WAIT = 0 + , TIMETOKEN = 0 + , CHANNELS = {} + , xdr = setup['xdr'] + , _is_online = setup['_is_online'] || function() { return 1; } + , jsonp_cb = setup['jsonp_cb'] || function(){ return 0; } + , db = setup['db'] || {'get': function(){}, 'set': function(){}} + , UUID = setup['uuid'] || ( db && db['get'](SUBSCRIBE_KEY+'uuid') || ''); + + + + function publish(next) { + if (next) PUB_QUEUE.sending = 0; + if (PUB_QUEUE.sending || !PUB_QUEUE.length) return; + PUB_QUEUE.sending = 1; + xdr(PUB_QUEUE.shift()); + } + + function each_channel(callback) { + each( generate_channel_list(CHANNELS), function(channel) { + var chan = CHANNELS[channel]; + if (!chan) return; + callback(chan); + } ); + } + + // Announce Leave Event + + + var SELF = { + + '_reset_offline' : function() { + SUB_RECEIVER && SUB_RECEIVER(1); + }, + + 'LEAVE' : function( channel, blocking ) { + var data = { 'uuid' : UUID } + , origin = nextorigin(ORIGIN) + , jsonp = jsonp_cb(); + + // Prevent Leaving a Presence Channel + if (channel.indexOf(PRESENCE_SUFFIX) > 0) return; + + if (jsonp != '0') data['callback'] = jsonp; + + xdr({ + blocking : blocking || SSL, + timeout : 2000, + callback : jsonp, + data : data, + url : [ + origin, 'v2', 'presence', 'sub_key', + SUBSCRIBE_KEY, 'channel', encode(channel), 'leave' + ] + }); + }, + /* + PUBNUB.history({ + channel : 'my_chat_channel', + limit : 100, + callback : function(history) { } + }); + */ + 'history' : function( args, callback ) { + var callback = args['callback'] || callback + , count = args['count'] || args['limit'] || 100 + , reverse = args['reverse'] || "false" + , err = args['error'] || function(){} + , channel = args['channel'] + , start = args['start'] + , end = args['end'] + , params = {} + , jsonp = jsonp_cb(); + + // Make sure we have a Channel + if (!channel) return error('Missing Channel'); + if (!callback) return error('Missing Callback'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + params['stringtoken'] = 'true'; + params['count'] = count; + params['reverse'] = reverse; + + if (jsonp) params['callback'] = jsonp; + if (start) params['start'] = start; + if (end) params['end'] = end; + + // Send Message + xdr({ + callback : jsonp, + data : params, + success : function(response) { callback(response) }, + fail : err, + url : [ + STD_ORIGIN, 'v2', 'history', 'sub-key', + SUBSCRIBE_KEY, 'channel', encode(channel) + ] + }); + }, + + /* + PUBNUB.replay({ + source : 'my_channel', + destination : 'new_channel' + }); + */ + 'replay' : function(args) { + var callback = callback || args['callback'] || function(){} + , source = args['source'] + , destination = args['destination'] + , stop = args['stop'] + , start = args['start'] + , end = args['end'] + , reverse = args['reverse'] + , limit = args['limit'] + , jsonp = jsonp_cb() + , data = {} + , url; + + // Check User Input + if (!source) return error('Missing Source Channel'); + if (!destination) return error('Missing Destination Channel'); + if (!PUBLISH_KEY) return error('Missing Publish Key'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + // Setup URL Params + if (jsonp != '0') data['callback'] = jsonp; + if (stop) data['stop'] = 'all'; + if (reverse) data['reverse'] = 'true'; + if (start) data['start'] = start; + if (end) data['end'] = end; + if (limit) data['count'] = limit; + + // Compose URL Parts + url = [ + STD_ORIGIN, 'v1', 'replay', + PUBLISH_KEY, SUBSCRIBE_KEY, + source, destination + ]; + + // Start (or Stop) Replay! + xdr({ + callback : jsonp, + success : function(response) { callback(response) }, + fail : function() { callback([ 0, 'Disconnected' ]) }, + url : url, + data : data + }); + }, + + /* + PUBNUB.time(function(time){ }); + */ + 'time' : function(callback) { + var jsonp = jsonp_cb(); + xdr({ + callback : jsonp, + timeout : SECOND*5, + url : [STD_ORIGIN, 'time', jsonp], + success : function(response) { callback(response[0]) }, + fail : function() { callback(0) } + }); + }, + + /* + PUBNUB.publish({ + channel : 'my_chat_channel', + message : 'hello!' + }); + */ + 'publish' : function( args, callback ) { + var callback = callback || args['callback'] || function(){} + , msg = args['message'] + , channel = args['channel'] + , jsonp = jsonp_cb() + , url; + + if (!msg) return error('Missing Message'); + if (!channel) return error('Missing Channel'); + if (!PUBLISH_KEY) return error('Missing Publish Key'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + // If trying to send Object + msg = JSON['stringify'](msg); + + // Create URL + url = [ + STD_ORIGIN, 'publish', + PUBLISH_KEY, SUBSCRIBE_KEY, + 0, encode(channel), + jsonp, encode(msg) + ]; + + // Queue Message Send + PUB_QUEUE.push({ + callback : jsonp, + timeout : SECOND*5, + url : url, + data : { 'uuid' : UUID }, + success : function(response){callback(response);publish(1)}, + fail : function(){callback([0,'Failed',msg]);publish(1)} + }); + + // Send Message + publish(); + }, + + /* + PUBNUB.unsubscribe({ channel : 'my_chat' }); + */ + 'unsubscribe' : function(args) { + var channel = args['channel']; + + TIMETOKEN = 0; + SUB_RESTORE = 1; + + // Prepare Channel(s) + channel = map( ( + channel.join ? channel.join(',') : ''+channel + ).split(','), function(channel) { + return channel + ',' + channel + PRESENCE_SUFFIX; + } ).join(','); + + // Iterate over Channels + each( channel.split(','), function(channel) { + if (READY) SELF['LEAVE']( channel, 0 ); + CHANNELS[channel] = 0; + } ); + + // ReOpen Connection if Any Channels Left + if (READY) CONNECT(); + }, + + /* + PUBNUB.subscribe({ + channel : 'my_chat' + callback : function(message) { } + }); + */ + 'subscribe' : function( args, callback ) { + var channel = args['channel'] + , callback = callback || args['callback'] + , callback = callback || args['message'] + , connect = args['connect'] || function(){} + , reconnect = args['reconnect'] || function(){} + , disconnect = args['disconnect'] || function(){} + , presence = args['presence'] || 0 + , noheresync = args['noheresync'] || 0 + , backfill = args['backfill'] || 0 + , sub_timeout = args['timeout'] || SUB_TIMEOUT + , windowing = args['windowing'] || SUB_WINDOWING + , restore = args['restore']; + + // Restore Enabled? + if (restore) SUB_RESTORE = 1; + + TIMETOKEN = 0; + + // Make sure we have a Channel + if (!channel) return error('Missing Channel'); + if (!callback) return error('Missing Callback'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + // Setup Channel(s) + each( (channel.join ? channel.join(',') : ''+channel).split(','), + function(channel) { + var settings = CHANNELS[channel] || {}; + + // Store Channel State + CHANNELS[SUB_CHANNEL = channel] = { + name : channel, + connected : settings.connected, + disconnected : settings.disconnected, + subscribed : 1, + callback : SUB_CALLBACK = callback, + connect : connect, + disconnect : disconnect, + reconnect : reconnect + }; + + // Presence Enabled? + if (!presence) return; + + // Subscribe Presence Channel + SELF['subscribe']({ + 'channel' : channel + PRESENCE_SUFFIX, + 'callback' : presence + }); + + // Presence Subscribed? + if (settings.subscribed) return; + + // See Who's Here Now? + if (noheresync) return; + SELF['here_now']({ + 'channel' : channel, + 'callback' : function(here) { + each( 'uuids' in here ? here['uuids'] : [], + function(uid) { presence( { + 'action' : 'join', + 'uuid' : uid, + 'timestamp' : rnow(), + 'occupancy' : here['occupancy'] || 1 + }, here, channel ); } ); + } + }); + } ); + + // Test Network Connection + function _test_connection(success) { + if (success) { + // Begin Next Socket Connection + timeout( _connect, SECOND ); + } + else { + // New Origin on Failed Connection + STD_ORIGIN = nextorigin( ORIGIN, 1 ); + SUB_ORIGIN = nextorigin( ORIGIN, 1 ); + + // Re-test Connection + timeout( function() { + SELF['time'](_test_connection); + }, SECOND ); + } + + // Disconnect & Reconnect + each_channel(function(channel){ + // Reconnect + if (success && channel.disconnected) { + channel.disconnected = 0; + return channel.reconnect(channel.name); + } + + // Disconnect + if (!success && !channel.disconnected) { + channel.disconnected = 1; + channel.disconnect(channel.name); + } + }); + } + + // Evented Subscribe + function _connect() { + var jsonp = jsonp_cb() + , channels = generate_channel_list(CHANNELS).join(','); + + // Stop Connection + if (!channels) return; + + // Connect to PubNub Subscribe Servers + SUB_RECEIVER = xdr({ + timeout : sub_timeout, + callback : jsonp, + fail : function() { SELF['time'](_test_connection) }, + data : { 'uuid' : UUID }, + url : [ + SUB_ORIGIN, 'subscribe', + SUBSCRIBE_KEY, encode(channels), + jsonp, TIMETOKEN + ], + success : function(messages) { + if (!messages) return timeout( _connect, windowing ); + + // Connect + each_channel(function(channel){ + if (channel.connected) return; + channel.connected = 1; + channel.connect(channel.name); + }); + + // Restore Previous Connection Point if Needed + TIMETOKEN = !TIMETOKEN && + SUB_RESTORE && + db['get'](SUBSCRIBE_KEY) || messages[1]; + + + if (backfill) { + Timetoken = 10000; + backfill = 0; + } + + // Update Saved Timetoken + db['set']( SUBSCRIBE_KEY, messages[1] ); + + // Route Channel <---> Callback for Message + var next_callback = (function() { + var channels = (messages.length>2?messages[2]:'') + , list = channels.split(','); + + return function() { + var channel = list.shift()||''; + return [ + (CHANNELS[channel]||{}) + .callback||SUB_CALLBACK, + (channel||SUB_CHANNEL) + .split(PRESENCE_SUFFIX)[0] + ]; + }; + })(); + + each( messages[0], function(msg) { + var next = next_callback(); + if (!CHANNELS[next[1]].subscribed) return; + next[0]( msg, messages, next[1] ); + } ); + + timeout( _connect, windowing ); + } + }); + } + + CONNECT = function() { + // Close Previous Subscribe Connection + SELF['_reset_offline'](); + + // Begin Recursive Subscribe + clearTimeout(SUB_BUFF_WAIT); + SUB_BUFF_WAIT = timeout( _connect, 100 ); + }; + + // Reduce Status Flicker + if (!READY) return READY_BUFFER.push(CONNECT); + + // Connect Now + CONNECT(); + }, + + 'here_now' : function( args, callback ) { + var callback = args['callback'] || callback + , err = args['error'] || function(){} + , channel = args['channel'] + , jsonp = jsonp_cb() + , data = null; + + // Make sure we have a Channel + if (!channel) return error('Missing Channel'); + if (!callback) return error('Missing Callback'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + if (jsonp != '0') { + data = {}; + data['callback'] = jsonp; + } + + xdr({ + callback : jsonp, + data : data, + success : function(response) { callback(response) }, + fail : err, + url : [ + STD_ORIGIN, 'v2', 'presence', + 'sub_key', SUBSCRIBE_KEY, + 'channel', encode(channel) + ] + }); + }, + + // Expose PUBNUB Functions + 'xdr' : xdr, + 'ready' : ready, + 'db' : db, + 'uuid' : uuid, + 'each' : each, + 'map' : map, + 'grep' : grep, + 'supplant' : supplant, + 'now' : rnow, + 'unique' : unique, + 'updater' : updater, + 'poll_online' : function() { + _is_online() || SELF['_reset_offline'](); + timeout( SELF['poll_online'], SECOND ); + }, + 'poll_online2' : function() { + SELF['time'](function(success){ + success || SELF['_reset_offline'](); + timeout( SELF['poll_online2'], KEEPALIVE ); + }) + } + }; + if (!UUID) UUID = SELF['uuid'](); + db['set']( SUBSCRIBE_KEY + 'uuid', UUID ); + + timeout( SELF['poll_online'], SECOND ); + timeout( SELF['poll_online2'], KEEPALIVE ); + + return SELF; +} +/* --------------------------------------------------------------------------- +--------------------------------------------------------------------------- */ + +/* --------------------------------------------------------------------------- +PubNub Real-time Cloud-Hosted Push API and Push Notification Client Frameworks +Copyright (c) 2011 PubNub Inc. +http://www.pubnub.com/ +http://www.pubnub.com/terms +--------------------------------------------------------------------------- */ + +/* --------------------------------------------------------------------------- +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +--------------------------------------------------------------------------- */ +(function(){ + +/** + * UTIL LOCALS + */ +var NOW = 1 +, URLBIT = '/' +, PARAMSBIT = '&' +, XHRTME = 310000; + +/** + * UTILITIES + */ +//function unique() { return'x'+ ++NOW+''+(+new Date) } +//function rnow() { return+new Date } + +/** + * LOCAL STORAGE + */ +var db = (function(){ + var ls = typeof localStorage != 'undefined' && localStorage; + return { + get : function(key) { + try { + if (ls) return ls.getItem(key); + if (document.cookie.indexOf(key) == -1) return null; + return ((document.cookie||'').match( + RegExp(key+'=([^;]+)') + )||[])[1] || null; + } catch(e) { return } + }, + set : function( key, value ) { + try { + if (ls) return ls.setItem( key, value ) && 0; + document.cookie = key + '=' + value + + '; expires=Thu, 1 Aug 2030 20:00:00 UTC; path=/'; + } catch(e) { return } + } + }; +})(); + + +/** + * CORS XHR Request + * ================ + * xdr({ + * url : ['http://www.blah.com/url'], + * success : function(response) {}, + * fail : function() {} + * }); + */ +function xdr( setup ) { + var xhr + , finished = function() { + if (loaded) return; + loaded = 1; + + clearTimeout(timer); + + try { response = JSON['parse'](xhr.responseText); } + catch (r) { return done(1); } + + success(response); + } + , complete = 0 + , loaded = 0 + , timer = timeout( function(){done(1)}, XHRTME ) + , fail = setup.fail || function(){} + , success = setup.success || function(){} + , done = function(failed) { + if (complete) return; + complete = 1; + + clearTimeout(timer); + + if (xhr) { + xhr.onerror = xhr.onload = null; + xhr.abort && xhr.abort(); + xhr = null; + } + + failed && fail(); + }; + + // Send + try { + xhr = typeof XDomainRequest !== 'undefined' && + new XDomainRequest() || + new XMLHttpRequest(); + + xhr.onerror = xhr.onabort = function(){ done(1) }; + xhr.onload = xhr.onloadend = finished; + xhr.timeout = XHRTME; + url = setup.url.join(URLBIT); + if (setup.data) { + var params = []; + url += "?"; + for (key in setup.data) { + params.push(key+"="+setup.data[key]); + } + url += params.join(PARAMSBIT); + } + xhr.open( 'GET', url, true ); + xhr.send(); + } + catch(eee) { + done(0); + return xdr(setup); + } + + // Return 'done' + return done; +} + +/** + * BIND + * ==== + * bind( 'keydown', search('a')[0], function(element) { + * ... + * } ); + */ +function bind( type, el, fun ) { + each( type.split(','), function(etype) { + var rapfun = function(e) { + if (!e) e = window.event; + if (!fun(e)) { + e.cancelBubble = true; + e.returnValue = false; + e.preventDefault && e.preventDefault(); + e.stopPropagation && e.stopPropagation(); + } + }; + + if ( el.addEventListener ) el.addEventListener( etype, rapfun, false ); + else if ( el.attachEvent ) el.attachEvent( 'on' + etype, rapfun ); + else el[ 'on' + etype ] = rapfun; + } ); +} + +/** + * UNBIND + * ====== + * unbind( 'keydown', search('a')[0] ); + */ +function unbind( type, el, fun ) { + if ( el.removeEventListener ) el.removeEventListener( type, false ); + else if ( el.detachEvent ) el.detachEvent( 'on' + type, false ); + else el[ 'on' + type ] = null; +} + +/** + * LOG + * === + * var list = grep( [1,2,3], function(item) { return item % 2 } ) + */ +var log = function(){}; + +/** + * EVENTS + * ====== + * PUBNUB.events.bind( 'you-stepped-on-flower', function(message) { + * // Do Stuff with message + * } ); + * + * PUBNUB.events.fire( 'you-stepped-on-flower', "message-data" ); + * PUBNUB.events.fire( 'you-stepped-on-flower', {message:"data"} ); + * PUBNUB.events.fire( 'you-stepped-on-flower', [1,2,3] ); + * + */ +var events = { + 'list' : {}, + 'unbind' : function( name ) { events.list[name] = [] }, + 'bind' : function( name, fun ) { + (events.list[name] = events.list[name] || []).push(fun); + }, + 'fire' : function( name, data ) { + each( + events.list[name] || [], + function(fun) { fun(data) } + ); + } +}; + +/* =-====================================================================-= */ +/* =-====================================================================-= */ +/* =-========================= PUBNUB ===========================-= */ +/* =-====================================================================-= */ +/* =-====================================================================-= */ + +function PN(setup) { + + + setup['db'] = db; + setup['xdr'] = xdr; + var SELF = PN_API(setup); + + SELF['init'] = PN; + + + // Return without Testing + if (setup['notest']) return SELF; + + // Add Leave Functions + bind( 'beforeunload', window, function() { + each_channel(function(ch){ SELF['LEAVE']( ch.name, 1 ) }); + return true; + } ); + + bind( 'offline', window, SELF['_reset_offline'] ); + bind( 'offline', document, SELF['_reset_offline'] ); + + SELF['ready'](); + return SELF; +} + +typeof module !== 'undefined' && (module.exports = PN) || +typeof exports !== 'undefined' && (exports.PN = PN) || (PUBNUB = PN); + +})(); +var NOW = 1 +, READY = false +, READY_BUFFER = [] +, PRESENCE_SUFFIX = '-pnpres' +, DEF_WINDOWING = 10 // MILLISECONDS. +, DEF_TIMEOUT = 10000 // MILLISECONDS. +, DEF_SUB_TIMEOUT = 310 // SECONDS. +, DEF_KEEPALIVE = 60 // SECONDS. +, SECOND = 1000 // A THOUSAND MILLISECONDS. +, REPL = /{([\w\-]+)}/g; + +/** + * UTILITIES + */ +function unique() { return'x'+ ++NOW+''+(+new Date) } +function rnow() { return+new Date } + +/** + * NEXTORIGIN + * ========== + * var next_origin = nextorigin(); + */ +var nextorigin = (function() { + var max = 20 + , ori = Math.floor(Math.random() * max); + return function( origin, failover ) { + return origin.indexOf('pubsub.') > 0 + && origin.replace( + 'pubsub', 'ps' + ( + failover ? uuid().split('-')[0] : + (++ori < max? ori : ori=1) + ) ) || origin; + } +})(); + +/** + * UPDATER + * ======= + * var timestamp = unique(); + */ +function updater( fun, rate ) { + var timeout + , last = 0 + , runnit = function() { + if (last + rate > rnow()) { + clearTimeout(timeout); + timeout = setTimeout( runnit, rate ); + } + else { + last = rnow(); + fun(); + } + }; + + return runnit; +} + +/** + * GREP + * ==== + * var list = grep( [1,2,3], function(item) { return item % 2 } ) + */ +function grep( list, fun ) { + var fin = []; + each( list || [], function(l) { fun(l) && fin.push(l) } ); + return fin +} + +/** + * SUPPLANT + * ======== + * var text = supplant( 'Hello {name}!', { name : 'John' } ) + */ +function supplant( str, values ) { + return str.replace( REPL, function( _, match ) { + return values[match] || _ + } ); +} + +/** + * timeout + * ======= + * timeout( function(){}, 100 ); + */ +function timeout( fun, wait ) { + return setTimeout( fun, wait ); +} + +/** + * uuid + * ==== + * var my_uuid = uuid(); + */ +function uuid(callback) { + var u = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, + function(c) { + var r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8); + return v.toString(16); + }); + if (callback) callback(u); + return u; +} + +/** + * EACH + * ==== + * each( [1,2,3], function(item) { } ) + */ +function each( o, f ) { + if ( !o || !f ) return; + + if ( typeof o[0] != 'undefined' ) + for ( var i = 0, l = o.length; i < l; ) + f.call( o[i], o[i], i++ ); + else + for ( var i in o ) + o.hasOwnProperty && + o.hasOwnProperty(i) && + f.call( o[i], i, o[i] ); +} + +/** + * MAP + * === + * var list = map( [1,2,3], function(item) { return item + 1 } ) + */ +function map( list, fun ) { + var fin = []; + each( list || [], function( k, v ) { fin.push(fun( k, v )) } ); + return fin; +} + +/** + * ENCODE + * ====== + * var encoded_path = encode('path'); + */ +function encode(path) { + return map( (encodeURIComponent(path)).split(''), function(chr) { + return "-_.!~*'()".indexOf(chr) < 0 ? chr : + "%"+chr.charCodeAt(0).toString(16).toUpperCase() + } ).join(''); +} + +/** + * Generate Subscription Channel List + * ================================== + * generate_channel_list(channels_object); + */ +function generate_channel_list(channels) { + var list = []; + each( channels, function( channel, status ) { + if (status.subscribed) list.push(channel); + } ); + return list.sort(); +} + +// PUBNUB READY TO CONNECT + function ready() { timeout( function() { + if (READY) return; + READY = 1; + each( READY_BUFFER, function(connect) { connect() } ); + }, SECOND ); } + +function PN_API(setup) { + var SUB_WINDOWING = +setup['windowing'] || DEF_WINDOWING + , SUB_TIMEOUT = (+setup['timeout'] || DEF_SUB_TIMEOUT) * SECOND + , KEEPALIVE = (+setup['keepalive'] || DEF_KEEPALIVE) * SECOND + , PUBLISH_KEY = setup['publish_key'] || '' + , SUBSCRIBE_KEY = setup['subscribe_key'] || '' + , SSL = setup['ssl'] ? 's' : '' + , ORIGIN = 'http'+SSL+'://'+(setup['origin']||'pubsub.pubnub.com') + , STD_ORIGIN = nextorigin(ORIGIN) + , SUB_ORIGIN = nextorigin(ORIGIN) + , CONNECT = function(){} + , PUB_QUEUE = [] + , SUB_CALLBACK = 0 + , SUB_CHANNEL = 0 + , SUB_RECEIVER = 0 + , SUB_RESTORE = 0 + , SUB_BUFF_WAIT = 0 + , TIMETOKEN = 0 + , CHANNELS = {} + , xdr = setup['xdr'] + , _is_online = setup['_is_online'] || function() { return 1; } + , jsonp_cb = setup['jsonp_cb'] || function(){ return 0; } + , db = setup['db'] || {'get': function(){}, 'set': function(){}} + , UUID = setup['uuid'] || ( db && db['get'](SUBSCRIBE_KEY+'uuid') || ''); + + + + function publish(next) { + if (next) PUB_QUEUE.sending = 0; + if (PUB_QUEUE.sending || !PUB_QUEUE.length) return; + PUB_QUEUE.sending = 1; + xdr(PUB_QUEUE.shift()); + } + + function each_channel(callback) { + each( generate_channel_list(CHANNELS), function(channel) { + var chan = CHANNELS[channel]; + if (!chan) return; + callback(chan); + } ); + } + + // Announce Leave Event + + + var SELF = { + + '_reset_offline' : function() { + SUB_RECEIVER && SUB_RECEIVER(1); + }, + + 'LEAVE' : function( channel, blocking ) { + var data = { 'uuid' : UUID } + , origin = nextorigin(ORIGIN) + , jsonp = jsonp_cb(); + + // Prevent Leaving a Presence Channel + if (channel.indexOf(PRESENCE_SUFFIX) > 0) return; + + if (jsonp != '0') data['callback'] = jsonp; + + xdr({ + blocking : blocking || SSL, + timeout : 2000, + callback : jsonp, + data : data, + url : [ + origin, 'v2', 'presence', 'sub_key', + SUBSCRIBE_KEY, 'channel', encode(channel), 'leave' + ] + }); + }, + /* + PUBNUB.history({ + channel : 'my_chat_channel', + limit : 100, + callback : function(history) { } + }); + */ + 'history' : function( args, callback ) { + var callback = args['callback'] || callback + , count = args['count'] || args['limit'] || 100 + , reverse = args['reverse'] || "false" + , err = args['error'] || function(){} + , channel = args['channel'] + , start = args['start'] + , end = args['end'] + , params = {} + , jsonp = jsonp_cb(); + + // Make sure we have a Channel + if (!channel) return error('Missing Channel'); + if (!callback) return error('Missing Callback'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + params['stringtoken'] = 'true'; + params['count'] = count; + params['reverse'] = reverse; + + if (jsonp) params['callback'] = jsonp; + if (start) params['start'] = start; + if (end) params['end'] = end; + + // Send Message + xdr({ + callback : jsonp, + data : params, + success : function(response) { callback(response) }, + fail : err, + url : [ + STD_ORIGIN, 'v2', 'history', 'sub-key', + SUBSCRIBE_KEY, 'channel', encode(channel) + ] + }); + }, + + /* + PUBNUB.replay({ + source : 'my_channel', + destination : 'new_channel' + }); + */ + 'replay' : function(args) { + var callback = callback || args['callback'] || function(){} + , source = args['source'] + , destination = args['destination'] + , stop = args['stop'] + , start = args['start'] + , end = args['end'] + , reverse = args['reverse'] + , limit = args['limit'] + , jsonp = jsonp_cb() + , data = {} + , url; + + // Check User Input + if (!source) return error('Missing Source Channel'); + if (!destination) return error('Missing Destination Channel'); + if (!PUBLISH_KEY) return error('Missing Publish Key'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + // Setup URL Params + if (jsonp != '0') data['callback'] = jsonp; + if (stop) data['stop'] = 'all'; + if (reverse) data['reverse'] = 'true'; + if (start) data['start'] = start; + if (end) data['end'] = end; + if (limit) data['count'] = limit; + + // Compose URL Parts + url = [ + STD_ORIGIN, 'v1', 'replay', + PUBLISH_KEY, SUBSCRIBE_KEY, + source, destination + ]; + + // Start (or Stop) Replay! + xdr({ + callback : jsonp, + success : function(response) { callback(response) }, + fail : function() { callback([ 0, 'Disconnected' ]) }, + url : url, + data : data + }); + }, + + /* + PUBNUB.time(function(time){ }); + */ + 'time' : function(callback) { + var jsonp = jsonp_cb(); + xdr({ + callback : jsonp, + timeout : SECOND*5, + url : [STD_ORIGIN, 'time', jsonp], + success : function(response) { callback(response[0]) }, + fail : function() { callback(0) } + }); + }, + + /* + PUBNUB.publish({ + channel : 'my_chat_channel', + message : 'hello!' + }); + */ + 'publish' : function( args, callback ) { + var callback = callback || args['callback'] || function(){} + , msg = args['message'] + , channel = args['channel'] + , jsonp = jsonp_cb() + , url; + + if (!msg) return error('Missing Message'); + if (!channel) return error('Missing Channel'); + if (!PUBLISH_KEY) return error('Missing Publish Key'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + // If trying to send Object + msg = JSON['stringify'](msg); + + // Create URL + url = [ + STD_ORIGIN, 'publish', + PUBLISH_KEY, SUBSCRIBE_KEY, + 0, encode(channel), + jsonp, encode(msg) + ]; + + // Queue Message Send + PUB_QUEUE.push({ + callback : jsonp, + timeout : SECOND*5, + url : url, + data : { 'uuid' : UUID }, + success : function(response){callback(response);publish(1)}, + fail : function(){callback([0,'Failed',msg]);publish(1)} + }); + + // Send Message + publish(); + }, + + /* + PUBNUB.unsubscribe({ channel : 'my_chat' }); + */ + 'unsubscribe' : function(args) { + var channel = args['channel']; + + TIMETOKEN = 0; + SUB_RESTORE = 1; + + // Prepare Channel(s) + channel = map( ( + channel.join ? channel.join(',') : ''+channel + ).split(','), function(channel) { + return channel + ',' + channel + PRESENCE_SUFFIX; + } ).join(','); + + // Iterate over Channels + each( channel.split(','), function(channel) { + if (READY) SELF['LEAVE']( channel, 0 ); + CHANNELS[channel] = 0; + } ); + + // ReOpen Connection if Any Channels Left + if (READY) CONNECT(); + }, + + /* + PUBNUB.subscribe({ + channel : 'my_chat' + callback : function(message) { } + }); + */ + 'subscribe' : function( args, callback ) { + var channel = args['channel'] + , callback = callback || args['callback'] + , callback = callback || args['message'] + , connect = args['connect'] || function(){} + , reconnect = args['reconnect'] || function(){} + , disconnect = args['disconnect'] || function(){} + , presence = args['presence'] || 0 + , noheresync = args['noheresync'] || 0 + , backfill = args['backfill'] || 0 + , sub_timeout = args['timeout'] || SUB_TIMEOUT + , windowing = args['windowing'] || SUB_WINDOWING + , restore = args['restore']; + + // Restore Enabled? + if (restore) SUB_RESTORE = 1; + + TIMETOKEN = 0; + + // Make sure we have a Channel + if (!channel) return error('Missing Channel'); + if (!callback) return error('Missing Callback'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + // Setup Channel(s) + each( (channel.join ? channel.join(',') : ''+channel).split(','), + function(channel) { + var settings = CHANNELS[channel] || {}; + + // Store Channel State + CHANNELS[SUB_CHANNEL = channel] = { + name : channel, + connected : settings.connected, + disconnected : settings.disconnected, + subscribed : 1, + callback : SUB_CALLBACK = callback, + connect : connect, + disconnect : disconnect, + reconnect : reconnect + }; + + // Presence Enabled? + if (!presence) return; + + // Subscribe Presence Channel + SELF['subscribe']({ + 'channel' : channel + PRESENCE_SUFFIX, + 'callback' : presence + }); + + // Presence Subscribed? + if (settings.subscribed) return; + + // See Who's Here Now? + if (noheresync) return; + SELF['here_now']({ + 'channel' : channel, + 'callback' : function(here) { + each( 'uuids' in here ? here['uuids'] : [], + function(uid) { presence( { + 'action' : 'join', + 'uuid' : uid, + 'timestamp' : rnow(), + 'occupancy' : here['occupancy'] || 1 + }, here, channel ); } ); + } + }); + } ); + + // Test Network Connection + function _test_connection(success) { + if (success) { + // Begin Next Socket Connection + timeout( _connect, SECOND ); + } + else { + // New Origin on Failed Connection + STD_ORIGIN = nextorigin( ORIGIN, 1 ); + SUB_ORIGIN = nextorigin( ORIGIN, 1 ); + + // Re-test Connection + timeout( function() { + SELF['time'](_test_connection); + }, SECOND ); + } + + // Disconnect & Reconnect + each_channel(function(channel){ + // Reconnect + if (success && channel.disconnected) { + channel.disconnected = 0; + return channel.reconnect(channel.name); + } + + // Disconnect + if (!success && !channel.disconnected) { + channel.disconnected = 1; + channel.disconnect(channel.name); + } + }); + } + + // Evented Subscribe + function _connect() { + var jsonp = jsonp_cb() + , channels = generate_channel_list(CHANNELS).join(','); + + // Stop Connection + if (!channels) return; + + // Connect to PubNub Subscribe Servers + SUB_RECEIVER = xdr({ + timeout : sub_timeout, + callback : jsonp, + fail : function() { SELF['time'](_test_connection) }, + data : { 'uuid' : UUID }, + url : [ + SUB_ORIGIN, 'subscribe', + SUBSCRIBE_KEY, encode(channels), + jsonp, TIMETOKEN + ], + success : function(messages) { + if (!messages) return timeout( _connect, windowing ); + + // Connect + each_channel(function(channel){ + if (channel.connected) return; + channel.connected = 1; + channel.connect(channel.name); + }); + + // Restore Previous Connection Point if Needed + TIMETOKEN = !TIMETOKEN && + SUB_RESTORE && + db['get'](SUBSCRIBE_KEY) || messages[1]; + + + if (backfill) { + Timetoken = 10000; + backfill = 0; + } + + // Update Saved Timetoken + db['set']( SUBSCRIBE_KEY, messages[1] ); + + // Route Channel <---> Callback for Message + var next_callback = (function() { + var channels = (messages.length>2?messages[2]:'') + , list = channels.split(','); + + return function() { + var channel = list.shift()||''; + return [ + (CHANNELS[channel]||{}) + .callback||SUB_CALLBACK, + (channel||SUB_CHANNEL) + .split(PRESENCE_SUFFIX)[0] + ]; + }; + })(); + + each( messages[0], function(msg) { + var next = next_callback(); + if (!CHANNELS[next[1]].subscribed) return; + next[0]( msg, messages, next[1] ); + } ); + + timeout( _connect, windowing ); + } + }); + } + + CONNECT = function() { + // Close Previous Subscribe Connection + SELF['_reset_offline'](); + + // Begin Recursive Subscribe + clearTimeout(SUB_BUFF_WAIT); + SUB_BUFF_WAIT = timeout( _connect, 100 ); + }; + + // Reduce Status Flicker + if (!READY) return READY_BUFFER.push(CONNECT); + + // Connect Now + CONNECT(); + }, + + 'here_now' : function( args, callback ) { + var callback = args['callback'] || callback + , err = args['error'] || function(){} + , channel = args['channel'] + , jsonp = jsonp_cb() + , data = null; + + // Make sure we have a Channel + if (!channel) return error('Missing Channel'); + if (!callback) return error('Missing Callback'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + if (jsonp != '0') { + data = {}; + data['callback'] = jsonp; + } + + xdr({ + callback : jsonp, + data : data, + success : function(response) { callback(response) }, + fail : err, + url : [ + STD_ORIGIN, 'v2', 'presence', + 'sub_key', SUBSCRIBE_KEY, + 'channel', encode(channel) + ] + }); + }, + + // Expose PUBNUB Functions + 'xdr' : xdr, + 'ready' : ready, + 'db' : db, + 'uuid' : uuid, + 'each' : each, + 'map' : map, + 'grep' : grep, + 'supplant' : supplant, + 'now' : rnow, + 'unique' : unique, + 'updater' : updater, + 'poll_online' : function() { + _is_online() || SELF['_reset_offline'](); + timeout( SELF['poll_online'], SECOND ); + }, + 'poll_online2' : function() { + SELF['time'](function(success){ + success || SELF['_reset_offline'](); + timeout( SELF['poll_online2'], KEEPALIVE ); + }) + } + }; + if (!UUID) UUID = SELF['uuid'](); + db['set']( SUBSCRIBE_KEY + 'uuid', UUID ); + + timeout( SELF['poll_online'], SECOND ); + timeout( SELF['poll_online2'], KEEPALIVE ); + + return SELF; +} +/* --------------------------------------------------------------------------- +--------------------------------------------------------------------------- */ + +/* --------------------------------------------------------------------------- +PubNub Real-time Cloud-Hosted Push API and Push Notification Client Frameworks +Copyright (c) 2011 PubNub Inc. +http://www.pubnub.com/ +http://www.pubnub.com/terms +--------------------------------------------------------------------------- */ + +/* --------------------------------------------------------------------------- +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +--------------------------------------------------------------------------- */ +(function(){ + +/** + * UTIL LOCALS + */ +var NOW = 1 +, URLBIT = '/' +, PARAMSBIT = '&' +, XHRTME = 310000; + +/** + * UTILITIES + */ +//function unique() { return'x'+ ++NOW+''+(+new Date) } +//function rnow() { return+new Date } + +/** + * LOCAL STORAGE + */ +var db = (function(){ + var ls = typeof localStorage != 'undefined' && localStorage; + return { + get : function(key) { + try { + if (ls) return ls.getItem(key); + if (document.cookie.indexOf(key) == -1) return null; + return ((document.cookie||'').match( + RegExp(key+'=([^;]+)') + )||[])[1] || null; + } catch(e) { return } + }, + set : function( key, value ) { + try { + if (ls) return ls.setItem( key, value ) && 0; + document.cookie = key + '=' + value + + '; expires=Thu, 1 Aug 2030 20:00:00 UTC; path=/'; + } catch(e) { return } + } + }; +})(); + + +/** + * CORS XHR Request + * ================ + * xdr({ + * url : ['http://www.blah.com/url'], + * success : function(response) {}, + * fail : function() {} + * }); + */ +function xdr( setup ) { + var xhr + , finished = function() { + if (loaded) return; + loaded = 1; + + clearTimeout(timer); + + try { response = JSON['parse'](xhr.responseText); } + catch (r) { return done(1); } + + success(response); + } + , complete = 0 + , loaded = 0 + , timer = timeout( function(){done(1)}, XHRTME ) + , fail = setup.fail || function(){} + , success = setup.success || function(){} + , done = function(failed) { + if (complete) return; + complete = 1; + + clearTimeout(timer); + + if (xhr) { + xhr.onerror = xhr.onload = null; + xhr.abort && xhr.abort(); + xhr = null; + } + + failed && fail(); + }; + + // Send + try { + xhr = typeof XDomainRequest !== 'undefined' && + new XDomainRequest() || + new XMLHttpRequest(); + + xhr.onerror = xhr.onabort = function(){ done(1) }; + xhr.onload = xhr.onloadend = finished; + xhr.timeout = XHRTME; + url = setup.url.join(URLBIT); + if (setup.data) { + var params = []; + url += "?"; + for (key in setup.data) { + params.push(key+"="+setup.data[key]); + } + url += params.join(PARAMSBIT); + } + xhr.open( 'GET', url, true ); + xhr.send(); + } + catch(eee) { + done(0); + return xdr(setup); + } + + // Return 'done' + return done; +} + +/** + * BIND + * ==== + * bind( 'keydown', search('a')[0], function(element) { + * ... + * } ); + */ +function bind( type, el, fun ) { + each( type.split(','), function(etype) { + var rapfun = function(e) { + if (!e) e = window.event; + if (!fun(e)) { + e.cancelBubble = true; + e.returnValue = false; + e.preventDefault && e.preventDefault(); + e.stopPropagation && e.stopPropagation(); + } + }; + + if ( el.addEventListener ) el.addEventListener( etype, rapfun, false ); + else if ( el.attachEvent ) el.attachEvent( 'on' + etype, rapfun ); + else el[ 'on' + etype ] = rapfun; + } ); +} + +/** + * UNBIND + * ====== + * unbind( 'keydown', search('a')[0] ); + */ +function unbind( type, el, fun ) { + if ( el.removeEventListener ) el.removeEventListener( type, false ); + else if ( el.detachEvent ) el.detachEvent( 'on' + type, false ); + else el[ 'on' + type ] = null; +} + +/** + * LOG + * === + * var list = grep( [1,2,3], function(item) { return item % 2 } ) + */ +var log = function(){}; + +/** + * EVENTS + * ====== + * PUBNUB.events.bind( 'you-stepped-on-flower', function(message) { + * // Do Stuff with message + * } ); + * + * PUBNUB.events.fire( 'you-stepped-on-flower', "message-data" ); + * PUBNUB.events.fire( 'you-stepped-on-flower', {message:"data"} ); + * PUBNUB.events.fire( 'you-stepped-on-flower', [1,2,3] ); + * + */ +var events = { + 'list' : {}, + 'unbind' : function( name ) { events.list[name] = [] }, + 'bind' : function( name, fun ) { + (events.list[name] = events.list[name] || []).push(fun); + }, + 'fire' : function( name, data ) { + each( + events.list[name] || [], + function(fun) { fun(data) } + ); + } +}; + +/* =-====================================================================-= */ +/* =-====================================================================-= */ +/* =-========================= PUBNUB ===========================-= */ +/* =-====================================================================-= */ +/* =-====================================================================-= */ + +function PN(setup) { + + + setup['db'] = db; + setup['xdr'] = xdr; + var SELF = PN_API(setup); + + SELF['init'] = PN; + + + // Return without Testing + if (setup['notest']) return SELF; + + // Add Leave Functions + bind( 'beforeunload', window, function() { + each_channel(function(ch){ SELF['LEAVE']( ch.name, 1 ) }); + return true; + } ); + + bind( 'offline', window, SELF['_reset_offline'] ); + bind( 'offline', document, SELF['_reset_offline'] ); + + SELF['ready'](); + return SELF; +} + +typeof module !== 'undefined' && (module.exports = PN) || +typeof exports !== 'undefined' && (exports.PN = PN) || (PUBNUB = PN); + +})(); +var NOW = 1 +, READY = false +, READY_BUFFER = [] +, PRESENCE_SUFFIX = '-pnpres' +, DEF_WINDOWING = 10 // MILLISECONDS. +, DEF_TIMEOUT = 10000 // MILLISECONDS. +, DEF_SUB_TIMEOUT = 310 // SECONDS. +, DEF_KEEPALIVE = 60 // SECONDS. +, SECOND = 1000 // A THOUSAND MILLISECONDS. +, REPL = /{([\w\-]+)}/g; + +/** + * UTILITIES + */ +function unique() { return'x'+ ++NOW+''+(+new Date) } +function rnow() { return+new Date } + +/** + * NEXTORIGIN + * ========== + * var next_origin = nextorigin(); + */ +var nextorigin = (function() { + var max = 20 + , ori = Math.floor(Math.random() * max); + return function( origin, failover ) { + return origin.indexOf('pubsub.') > 0 + && origin.replace( + 'pubsub', 'ps' + ( + failover ? uuid().split('-')[0] : + (++ori < max? ori : ori=1) + ) ) || origin; + } +})(); + +/** + * UPDATER + * ======= + * var timestamp = unique(); + */ +function updater( fun, rate ) { + var timeout + , last = 0 + , runnit = function() { + if (last + rate > rnow()) { + clearTimeout(timeout); + timeout = setTimeout( runnit, rate ); + } + else { + last = rnow(); + fun(); + } + }; + + return runnit; +} + +/** + * GREP + * ==== + * var list = grep( [1,2,3], function(item) { return item % 2 } ) + */ +function grep( list, fun ) { + var fin = []; + each( list || [], function(l) { fun(l) && fin.push(l) } ); + return fin +} + +/** + * SUPPLANT + * ======== + * var text = supplant( 'Hello {name}!', { name : 'John' } ) + */ +function supplant( str, values ) { + return str.replace( REPL, function( _, match ) { + return values[match] || _ + } ); +} + +/** + * timeout + * ======= + * timeout( function(){}, 100 ); + */ +function timeout( fun, wait ) { + return setTimeout( fun, wait ); +} + +/** + * uuid + * ==== + * var my_uuid = uuid(); + */ +function uuid(callback) { + var u = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, + function(c) { + var r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8); + return v.toString(16); + }); + if (callback) callback(u); + return u; +} + +/** + * EACH + * ==== + * each( [1,2,3], function(item) { } ) + */ +function each( o, f ) { + if ( !o || !f ) return; + + if ( typeof o[0] != 'undefined' ) + for ( var i = 0, l = o.length; i < l; ) + f.call( o[i], o[i], i++ ); + else + for ( var i in o ) + o.hasOwnProperty && + o.hasOwnProperty(i) && + f.call( o[i], i, o[i] ); +} + +/** + * MAP + * === + * var list = map( [1,2,3], function(item) { return item + 1 } ) + */ +function map( list, fun ) { + var fin = []; + each( list || [], function( k, v ) { fin.push(fun( k, v )) } ); + return fin; +} + +/** + * ENCODE + * ====== + * var encoded_path = encode('path'); + */ +function encode(path) { + return map( (encodeURIComponent(path)).split(''), function(chr) { + return "-_.!~*'()".indexOf(chr) < 0 ? chr : + "%"+chr.charCodeAt(0).toString(16).toUpperCase() + } ).join(''); +} + +/** + * Generate Subscription Channel List + * ================================== + * generate_channel_list(channels_object); + */ +function generate_channel_list(channels) { + var list = []; + each( channels, function( channel, status ) { + if (status.subscribed) list.push(channel); + } ); + return list.sort(); +} + +// PUBNUB READY TO CONNECT + function ready() { timeout( function() { + if (READY) return; + READY = 1; + each( READY_BUFFER, function(connect) { connect() } ); + }, SECOND ); } + +function PN_API(setup) { + var SUB_WINDOWING = +setup['windowing'] || DEF_WINDOWING + , SUB_TIMEOUT = (+setup['timeout'] || DEF_SUB_TIMEOUT) * SECOND + , KEEPALIVE = (+setup['keepalive'] || DEF_KEEPALIVE) * SECOND + , PUBLISH_KEY = setup['publish_key'] || '' + , SUBSCRIBE_KEY = setup['subscribe_key'] || '' + , SSL = setup['ssl'] ? 's' : '' + , ORIGIN = 'http'+SSL+'://'+(setup['origin']||'pubsub.pubnub.com') + , STD_ORIGIN = nextorigin(ORIGIN) + , SUB_ORIGIN = nextorigin(ORIGIN) + , CONNECT = function(){} + , PUB_QUEUE = [] + , SUB_CALLBACK = 0 + , SUB_CHANNEL = 0 + , SUB_RECEIVER = 0 + , SUB_RESTORE = 0 + , SUB_BUFF_WAIT = 0 + , TIMETOKEN = 0 + , CHANNELS = {} + , xdr = setup['xdr'] + , _is_online = setup['_is_online'] || function() { return 1; } + , jsonp_cb = setup['jsonp_cb'] || function(){ return 0; } + , db = setup['db'] || {'get': function(){}, 'set': function(){}} + , UUID = setup['uuid'] || ( db && db['get'](SUBSCRIBE_KEY+'uuid') || ''); + + + + function publish(next) { + if (next) PUB_QUEUE.sending = 0; + if (PUB_QUEUE.sending || !PUB_QUEUE.length) return; + PUB_QUEUE.sending = 1; + xdr(PUB_QUEUE.shift()); + } + + function each_channel(callback) { + each( generate_channel_list(CHANNELS), function(channel) { + var chan = CHANNELS[channel]; + if (!chan) return; + callback(chan); + } ); + } + + // Announce Leave Event + + + var SELF = { + + '_reset_offline' : function() { + SUB_RECEIVER && SUB_RECEIVER(1); + }, + + 'LEAVE' : function( channel, blocking ) { + var data = { 'uuid' : UUID } + , origin = nextorigin(ORIGIN) + , jsonp = jsonp_cb(); + + // Prevent Leaving a Presence Channel + if (channel.indexOf(PRESENCE_SUFFIX) > 0) return; + + if (jsonp != '0') data['callback'] = jsonp; + + xdr({ + blocking : blocking || SSL, + timeout : 2000, + callback : jsonp, + data : data, + url : [ + origin, 'v2', 'presence', 'sub_key', + SUBSCRIBE_KEY, 'channel', encode(channel), 'leave' + ] + }); + }, + /* + PUBNUB.history({ + channel : 'my_chat_channel', + limit : 100, + callback : function(history) { } + }); + */ + 'history' : function( args, callback ) { + var callback = args['callback'] || callback + , count = args['count'] || args['limit'] || 100 + , reverse = args['reverse'] || "false" + , err = args['error'] || function(){} + , channel = args['channel'] + , start = args['start'] + , end = args['end'] + , params = {} + , jsonp = jsonp_cb(); + + // Make sure we have a Channel + if (!channel) return error('Missing Channel'); + if (!callback) return error('Missing Callback'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + params['stringtoken'] = 'true'; + params['count'] = count; + params['reverse'] = reverse; + + if (jsonp) params['callback'] = jsonp; + if (start) params['start'] = start; + if (end) params['end'] = end; + + // Send Message + xdr({ + callback : jsonp, + data : params, + success : function(response) { callback(response) }, + fail : err, + url : [ + STD_ORIGIN, 'v2', 'history', 'sub-key', + SUBSCRIBE_KEY, 'channel', encode(channel) + ] + }); + }, + + /* + PUBNUB.replay({ + source : 'my_channel', + destination : 'new_channel' + }); + */ + 'replay' : function(args) { + var callback = callback || args['callback'] || function(){} + , source = args['source'] + , destination = args['destination'] + , stop = args['stop'] + , start = args['start'] + , end = args['end'] + , reverse = args['reverse'] + , limit = args['limit'] + , jsonp = jsonp_cb() + , data = {} + , url; + + // Check User Input + if (!source) return error('Missing Source Channel'); + if (!destination) return error('Missing Destination Channel'); + if (!PUBLISH_KEY) return error('Missing Publish Key'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + // Setup URL Params + if (jsonp != '0') data['callback'] = jsonp; + if (stop) data['stop'] = 'all'; + if (reverse) data['reverse'] = 'true'; + if (start) data['start'] = start; + if (end) data['end'] = end; + if (limit) data['count'] = limit; + + // Compose URL Parts + url = [ + STD_ORIGIN, 'v1', 'replay', + PUBLISH_KEY, SUBSCRIBE_KEY, + source, destination + ]; + + // Start (or Stop) Replay! + xdr({ + callback : jsonp, + success : function(response) { callback(response) }, + fail : function() { callback([ 0, 'Disconnected' ]) }, + url : url, + data : data + }); + }, + + /* + PUBNUB.time(function(time){ }); + */ + 'time' : function(callback) { + var jsonp = jsonp_cb(); + xdr({ + callback : jsonp, + timeout : SECOND*5, + url : [STD_ORIGIN, 'time', jsonp], + success : function(response) { callback(response[0]) }, + fail : function() { callback(0) } + }); + }, + + /* + PUBNUB.publish({ + channel : 'my_chat_channel', + message : 'hello!' + }); + */ + 'publish' : function( args, callback ) { + var callback = callback || args['callback'] || function(){} + , msg = args['message'] + , channel = args['channel'] + , jsonp = jsonp_cb() + , url; + + if (!msg) return error('Missing Message'); + if (!channel) return error('Missing Channel'); + if (!PUBLISH_KEY) return error('Missing Publish Key'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + // If trying to send Object + msg = JSON['stringify'](msg); + + // Create URL + url = [ + STD_ORIGIN, 'publish', + PUBLISH_KEY, SUBSCRIBE_KEY, + 0, encode(channel), + jsonp, encode(msg) + ]; + + // Queue Message Send + PUB_QUEUE.push({ + callback : jsonp, + timeout : SECOND*5, + url : url, + data : { 'uuid' : UUID }, + success : function(response){callback(response);publish(1)}, + fail : function(){callback([0,'Failed',msg]);publish(1)} + }); + + // Send Message + publish(); + }, + + /* + PUBNUB.unsubscribe({ channel : 'my_chat' }); + */ + 'unsubscribe' : function(args) { + var channel = args['channel']; + + TIMETOKEN = 0; + SUB_RESTORE = 1; + + // Prepare Channel(s) + channel = map( ( + channel.join ? channel.join(',') : ''+channel + ).split(','), function(channel) { + return channel + ',' + channel + PRESENCE_SUFFIX; + } ).join(','); + + // Iterate over Channels + each( channel.split(','), function(channel) { + if (READY) SELF['LEAVE']( channel, 0 ); + CHANNELS[channel] = 0; + } ); + + // ReOpen Connection if Any Channels Left + if (READY) CONNECT(); + }, + + /* + PUBNUB.subscribe({ + channel : 'my_chat' + callback : function(message) { } + }); + */ + 'subscribe' : function( args, callback ) { + var channel = args['channel'] + , callback = callback || args['callback'] + , callback = callback || args['message'] + , connect = args['connect'] || function(){} + , reconnect = args['reconnect'] || function(){} + , disconnect = args['disconnect'] || function(){} + , presence = args['presence'] || 0 + , noheresync = args['noheresync'] || 0 + , backfill = args['backfill'] || 0 + , sub_timeout = args['timeout'] || SUB_TIMEOUT + , windowing = args['windowing'] || SUB_WINDOWING + , restore = args['restore']; + + // Restore Enabled? + if (restore) SUB_RESTORE = 1; + + TIMETOKEN = 0; + + // Make sure we have a Channel + if (!channel) return error('Missing Channel'); + if (!callback) return error('Missing Callback'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + // Setup Channel(s) + each( (channel.join ? channel.join(',') : ''+channel).split(','), + function(channel) { + var settings = CHANNELS[channel] || {}; + + // Store Channel State + CHANNELS[SUB_CHANNEL = channel] = { + name : channel, + connected : settings.connected, + disconnected : settings.disconnected, + subscribed : 1, + callback : SUB_CALLBACK = callback, + connect : connect, + disconnect : disconnect, + reconnect : reconnect + }; + + // Presence Enabled? + if (!presence) return; + + // Subscribe Presence Channel + SELF['subscribe']({ + 'channel' : channel + PRESENCE_SUFFIX, + 'callback' : presence + }); + + // Presence Subscribed? + if (settings.subscribed) return; + + // See Who's Here Now? + if (noheresync) return; + SELF['here_now']({ + 'channel' : channel, + 'callback' : function(here) { + each( 'uuids' in here ? here['uuids'] : [], + function(uid) { presence( { + 'action' : 'join', + 'uuid' : uid, + 'timestamp' : rnow(), + 'occupancy' : here['occupancy'] || 1 + }, here, channel ); } ); + } + }); + } ); + + // Test Network Connection + function _test_connection(success) { + if (success) { + // Begin Next Socket Connection + timeout( _connect, SECOND ); + } + else { + // New Origin on Failed Connection + STD_ORIGIN = nextorigin( ORIGIN, 1 ); + SUB_ORIGIN = nextorigin( ORIGIN, 1 ); + + // Re-test Connection + timeout( function() { + SELF['time'](_test_connection); + }, SECOND ); + } + + // Disconnect & Reconnect + each_channel(function(channel){ + // Reconnect + if (success && channel.disconnected) { + channel.disconnected = 0; + return channel.reconnect(channel.name); + } + + // Disconnect + if (!success && !channel.disconnected) { + channel.disconnected = 1; + channel.disconnect(channel.name); + } + }); + } + + // Evented Subscribe + function _connect() { + var jsonp = jsonp_cb() + , channels = generate_channel_list(CHANNELS).join(','); + + // Stop Connection + if (!channels) return; + + // Connect to PubNub Subscribe Servers + SUB_RECEIVER = xdr({ + timeout : sub_timeout, + callback : jsonp, + fail : function() { SELF['time'](_test_connection) }, + data : { 'uuid' : UUID }, + url : [ + SUB_ORIGIN, 'subscribe', + SUBSCRIBE_KEY, encode(channels), + jsonp, TIMETOKEN + ], + success : function(messages) { + if (!messages) return timeout( _connect, windowing ); + + // Connect + each_channel(function(channel){ + if (channel.connected) return; + channel.connected = 1; + channel.connect(channel.name); + }); + + // Restore Previous Connection Point if Needed + TIMETOKEN = !TIMETOKEN && + SUB_RESTORE && + db['get'](SUBSCRIBE_KEY) || messages[1]; + + + if (backfill) { + Timetoken = 10000; + backfill = 0; + } + + // Update Saved Timetoken + db['set']( SUBSCRIBE_KEY, messages[1] ); + + // Route Channel <---> Callback for Message + var next_callback = (function() { + var channels = (messages.length>2?messages[2]:'') + , list = channels.split(','); + + return function() { + var channel = list.shift()||''; + return [ + (CHANNELS[channel]||{}) + .callback||SUB_CALLBACK, + (channel||SUB_CHANNEL) + .split(PRESENCE_SUFFIX)[0] + ]; + }; + })(); + + each( messages[0], function(msg) { + var next = next_callback(); + if (!CHANNELS[next[1]].subscribed) return; + next[0]( msg, messages, next[1] ); + } ); + + timeout( _connect, windowing ); + } + }); + } + + CONNECT = function() { + // Close Previous Subscribe Connection + SELF['_reset_offline'](); + + // Begin Recursive Subscribe + clearTimeout(SUB_BUFF_WAIT); + SUB_BUFF_WAIT = timeout( _connect, 100 ); + }; + + // Reduce Status Flicker + if (!READY) return READY_BUFFER.push(CONNECT); + + // Connect Now + CONNECT(); + }, + + 'here_now' : function( args, callback ) { + var callback = args['callback'] || callback + , err = args['error'] || function(){} + , channel = args['channel'] + , jsonp = jsonp_cb() + , data = null; + + // Make sure we have a Channel + if (!channel) return error('Missing Channel'); + if (!callback) return error('Missing Callback'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + if (jsonp != '0') { + data = {}; + data['callback'] = jsonp; + } + + xdr({ + callback : jsonp, + data : data, + success : function(response) { callback(response) }, + fail : err, + url : [ + STD_ORIGIN, 'v2', 'presence', + 'sub_key', SUBSCRIBE_KEY, + 'channel', encode(channel) + ] + }); + }, + + // Expose PUBNUB Functions + 'xdr' : xdr, + 'ready' : ready, + 'db' : db, + 'uuid' : uuid, + 'each' : each, + 'map' : map, + 'grep' : grep, + 'supplant' : supplant, + 'now' : rnow, + 'unique' : unique, + 'updater' : updater, + 'poll_online' : function() { + _is_online() || SELF['_reset_offline'](); + timeout( SELF['poll_online'], SECOND ); + }, + 'poll_online2' : function() { + SELF['time'](function(success){ + success || SELF['_reset_offline'](); + timeout( SELF['poll_online2'], KEEPALIVE ); + }) + } + }; + if (!UUID) UUID = SELF['uuid'](); + db['set']( SUBSCRIBE_KEY + 'uuid', UUID ); + + timeout( SELF['poll_online'], SECOND ); + timeout( SELF['poll_online2'], KEEPALIVE ); + + return SELF; +} +/* --------------------------------------------------------------------------- +--------------------------------------------------------------------------- */ + +/* --------------------------------------------------------------------------- +PubNub Real-time Cloud-Hosted Push API and Push Notification Client Frameworks +Copyright (c) 2011 PubNub Inc. +http://www.pubnub.com/ +http://www.pubnub.com/terms +--------------------------------------------------------------------------- */ + +/* --------------------------------------------------------------------------- +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +--------------------------------------------------------------------------- */ +(function(){ + +/** + * UTIL LOCALS + */ +var NOW = 1 +, URLBIT = '/' +, PARAMSBIT = '&' +, XHRTME = 310000; + +/** + * UTILITIES + */ +//function unique() { return'x'+ ++NOW+''+(+new Date) } +//function rnow() { return+new Date } + +/** + * LOCAL STORAGE + */ +var db = (function(){ + var ls = typeof localStorage != 'undefined' && localStorage; + return { + get : function(key) { + try { + if (ls) return ls.getItem(key); + if (document.cookie.indexOf(key) == -1) return null; + return ((document.cookie||'').match( + RegExp(key+'=([^;]+)') + )||[])[1] || null; + } catch(e) { return } + }, + set : function( key, value ) { + try { + if (ls) return ls.setItem( key, value ) && 0; + document.cookie = key + '=' + value + + '; expires=Thu, 1 Aug 2030 20:00:00 UTC; path=/'; + } catch(e) { return } + } + }; +})(); + + +/** + * CORS XHR Request + * ================ + * xdr({ + * url : ['http://www.blah.com/url'], + * success : function(response) {}, + * fail : function() {} + * }); + */ +function xdr( setup ) { + var xhr + , finished = function() { + if (loaded) return; + loaded = 1; + + clearTimeout(timer); + + try { response = JSON['parse'](xhr.responseText); } + catch (r) { return done(1); } + + success(response); + } + , complete = 0 + , loaded = 0 + , timer = timeout( function(){done(1)}, XHRTME ) + , fail = setup.fail || function(){} + , success = setup.success || function(){} + , done = function(failed) { + if (complete) return; + complete = 1; + + clearTimeout(timer); + + if (xhr) { + xhr.onerror = xhr.onload = null; + xhr.abort && xhr.abort(); + xhr = null; + } + + failed && fail(); + }; + + // Send + try { + xhr = typeof XDomainRequest !== 'undefined' && + new XDomainRequest() || + new XMLHttpRequest(); + + xhr.onerror = xhr.onabort = function(){ done(1) }; + xhr.onload = xhr.onloadend = finished; + xhr.timeout = XHRTME; + url = setup.url.join(URLBIT); + if (setup.data) { + var params = []; + url += "?"; + for (key in setup.data) { + params.push(key+"="+setup.data[key]); + } + url += params.join(PARAMSBIT); + } + xhr.open( 'GET', url, true ); + xhr.send(); + } + catch(eee) { + done(0); + return xdr(setup); + } + + // Return 'done' + return done; +} + +/** + * BIND + * ==== + * bind( 'keydown', search('a')[0], function(element) { + * ... + * } ); + */ +function bind( type, el, fun ) { + each( type.split(','), function(etype) { + var rapfun = function(e) { + if (!e) e = window.event; + if (!fun(e)) { + e.cancelBubble = true; + e.returnValue = false; + e.preventDefault && e.preventDefault(); + e.stopPropagation && e.stopPropagation(); + } + }; + + if ( el.addEventListener ) el.addEventListener( etype, rapfun, false ); + else if ( el.attachEvent ) el.attachEvent( 'on' + etype, rapfun ); + else el[ 'on' + etype ] = rapfun; + } ); +} + +/** + * UNBIND + * ====== + * unbind( 'keydown', search('a')[0] ); + */ +function unbind( type, el, fun ) { + if ( el.removeEventListener ) el.removeEventListener( type, false ); + else if ( el.detachEvent ) el.detachEvent( 'on' + type, false ); + else el[ 'on' + type ] = null; +} + +/** + * LOG + * === + * var list = grep( [1,2,3], function(item) { return item % 2 } ) + */ +var log = function(){}; + +/** + * EVENTS + * ====== + * PUBNUB.events.bind( 'you-stepped-on-flower', function(message) { + * // Do Stuff with message + * } ); + * + * PUBNUB.events.fire( 'you-stepped-on-flower', "message-data" ); + * PUBNUB.events.fire( 'you-stepped-on-flower', {message:"data"} ); + * PUBNUB.events.fire( 'you-stepped-on-flower', [1,2,3] ); + * + */ +var events = { + 'list' : {}, + 'unbind' : function( name ) { events.list[name] = [] }, + 'bind' : function( name, fun ) { + (events.list[name] = events.list[name] || []).push(fun); + }, + 'fire' : function( name, data ) { + each( + events.list[name] || [], + function(fun) { fun(data) } + ); + } +}; + +/* =-====================================================================-= */ +/* =-====================================================================-= */ +/* =-========================= PUBNUB ===========================-= */ +/* =-====================================================================-= */ +/* =-====================================================================-= */ + +function PN(setup) { + + + setup['db'] = db; + setup['xdr'] = xdr; + var SELF = PN_API(setup); + + SELF['init'] = PN; + + + // Return without Testing + if (setup['notest']) return SELF; + + // Add Leave Functions + bind( 'beforeunload', window, function() { + each_channel(function(ch){ SELF['LEAVE']( ch.name, 1 ) }); + return true; + } ); + + bind( 'offline', window, SELF['_reset_offline'] ); + bind( 'offline', document, SELF['_reset_offline'] ); + + SELF['ready'](); + return SELF; +} + +typeof module !== 'undefined' && (module.exports = PN) || +typeof exports !== 'undefined' && (exports.PN = PN) || (PUBNUB = PN); + +})(); +var NOW = 1 +, READY = false +, READY_BUFFER = [] +, PRESENCE_SUFFIX = '-pnpres' +, DEF_WINDOWING = 10 // MILLISECONDS. +, DEF_TIMEOUT = 10000 // MILLISECONDS. +, DEF_SUB_TIMEOUT = 310 // SECONDS. +, DEF_KEEPALIVE = 60 // SECONDS. +, SECOND = 1000 // A THOUSAND MILLISECONDS. +, REPL = /{([\w\-]+)}/g; + +/** + * UTILITIES + */ +function unique() { return'x'+ ++NOW+''+(+new Date) } +function rnow() { return+new Date } + +/** + * NEXTORIGIN + * ========== + * var next_origin = nextorigin(); + */ +var nextorigin = (function() { + var max = 20 + , ori = Math.floor(Math.random() * max); + return function( origin, failover ) { + return origin.indexOf('pubsub.') > 0 + && origin.replace( + 'pubsub', 'ps' + ( + failover ? uuid().split('-')[0] : + (++ori < max? ori : ori=1) + ) ) || origin; + } +})(); + +/** + * UPDATER + * ======= + * var timestamp = unique(); + */ +function updater( fun, rate ) { + var timeout + , last = 0 + , runnit = function() { + if (last + rate > rnow()) { + clearTimeout(timeout); + timeout = setTimeout( runnit, rate ); + } + else { + last = rnow(); + fun(); + } + }; + + return runnit; +} + +/** + * GREP + * ==== + * var list = grep( [1,2,3], function(item) { return item % 2 } ) + */ +function grep( list, fun ) { + var fin = []; + each( list || [], function(l) { fun(l) && fin.push(l) } ); + return fin +} + +/** + * SUPPLANT + * ======== + * var text = supplant( 'Hello {name}!', { name : 'John' } ) + */ +function supplant( str, values ) { + return str.replace( REPL, function( _, match ) { + return values[match] || _ + } ); +} + +/** + * timeout + * ======= + * timeout( function(){}, 100 ); + */ +function timeout( fun, wait ) { + return setTimeout( fun, wait ); +} + +/** + * uuid + * ==== + * var my_uuid = uuid(); + */ +function uuid(callback) { + var u = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, + function(c) { + var r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8); + return v.toString(16); + }); + if (callback) callback(u); + return u; +} + +/** + * EACH + * ==== + * each( [1,2,3], function(item) { } ) + */ +function each( o, f ) { + if ( !o || !f ) return; + + if ( typeof o[0] != 'undefined' ) + for ( var i = 0, l = o.length; i < l; ) + f.call( o[i], o[i], i++ ); + else + for ( var i in o ) + o.hasOwnProperty && + o.hasOwnProperty(i) && + f.call( o[i], i, o[i] ); +} + +/** + * MAP + * === + * var list = map( [1,2,3], function(item) { return item + 1 } ) + */ +function map( list, fun ) { + var fin = []; + each( list || [], function( k, v ) { fin.push(fun( k, v )) } ); + return fin; +} + +/** + * ENCODE + * ====== + * var encoded_path = encode('path'); + */ +function encode(path) { + return map( (encodeURIComponent(path)).split(''), function(chr) { + return "-_.!~*'()".indexOf(chr) < 0 ? chr : + "%"+chr.charCodeAt(0).toString(16).toUpperCase() + } ).join(''); +} + +/** + * Generate Subscription Channel List + * ================================== + * generate_channel_list(channels_object); + */ +function generate_channel_list(channels) { + var list = []; + each( channels, function( channel, status ) { + if (status.subscribed) list.push(channel); + } ); + return list.sort(); +} + +// PUBNUB READY TO CONNECT + function ready() { timeout( function() { + if (READY) return; + READY = 1; + each( READY_BUFFER, function(connect) { connect() } ); + }, SECOND ); } + +function PN_API(setup) { + var SUB_WINDOWING = +setup['windowing'] || DEF_WINDOWING + , SUB_TIMEOUT = (+setup['timeout'] || DEF_SUB_TIMEOUT) * SECOND + , KEEPALIVE = (+setup['keepalive'] || DEF_KEEPALIVE) * SECOND + , PUBLISH_KEY = setup['publish_key'] || '' + , SUBSCRIBE_KEY = setup['subscribe_key'] || '' + , SSL = setup['ssl'] ? 's' : '' + , ORIGIN = 'http'+SSL+'://'+(setup['origin']||'pubsub.pubnub.com') + , STD_ORIGIN = nextorigin(ORIGIN) + , SUB_ORIGIN = nextorigin(ORIGIN) + , CONNECT = function(){} + , PUB_QUEUE = [] + , SUB_CALLBACK = 0 + , SUB_CHANNEL = 0 + , SUB_RECEIVER = 0 + , SUB_RESTORE = 0 + , SUB_BUFF_WAIT = 0 + , TIMETOKEN = 0 + , CHANNELS = {} + , xdr = setup['xdr'] + , _is_online = setup['_is_online'] || function() { return 1; } + , jsonp_cb = setup['jsonp_cb'] || function(){ return 0; } + , db = setup['db'] || {'get': function(){}, 'set': function(){}} + , UUID = setup['uuid'] || ( db && db['get'](SUBSCRIBE_KEY+'uuid') || ''); + + + + function publish(next) { + if (next) PUB_QUEUE.sending = 0; + if (PUB_QUEUE.sending || !PUB_QUEUE.length) return; + PUB_QUEUE.sending = 1; + xdr(PUB_QUEUE.shift()); + } + + function each_channel(callback) { + each( generate_channel_list(CHANNELS), function(channel) { + var chan = CHANNELS[channel]; + if (!chan) return; + callback(chan); + } ); + } + + // Announce Leave Event + + + var SELF = { + + '_reset_offline' : function() { + SUB_RECEIVER && SUB_RECEIVER(1); + }, + + 'LEAVE' : function( channel, blocking ) { + var data = { 'uuid' : UUID } + , origin = nextorigin(ORIGIN) + , jsonp = jsonp_cb(); + + // Prevent Leaving a Presence Channel + if (channel.indexOf(PRESENCE_SUFFIX) > 0) return; + + if (jsonp != '0') data['callback'] = jsonp; + + xdr({ + blocking : blocking || SSL, + timeout : 2000, + callback : jsonp, + data : data, + url : [ + origin, 'v2', 'presence', 'sub_key', + SUBSCRIBE_KEY, 'channel', encode(channel), 'leave' + ] + }); + }, + /* + PUBNUB.history({ + channel : 'my_chat_channel', + limit : 100, + callback : function(history) { } + }); + */ + 'history' : function( args, callback ) { + var callback = args['callback'] || callback + , count = args['count'] || args['limit'] || 100 + , reverse = args['reverse'] || "false" + , err = args['error'] || function(){} + , channel = args['channel'] + , start = args['start'] + , end = args['end'] + , params = {} + , jsonp = jsonp_cb(); + + // Make sure we have a Channel + if (!channel) return error('Missing Channel'); + if (!callback) return error('Missing Callback'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + params['stringtoken'] = 'true'; + params['count'] = count; + params['reverse'] = reverse; + + if (jsonp) params['callback'] = jsonp; + if (start) params['start'] = start; + if (end) params['end'] = end; + + // Send Message + xdr({ + callback : jsonp, + data : params, + success : function(response) { callback(response) }, + fail : err, + url : [ + STD_ORIGIN, 'v2', 'history', 'sub-key', + SUBSCRIBE_KEY, 'channel', encode(channel) + ] + }); + }, + + /* + PUBNUB.replay({ + source : 'my_channel', + destination : 'new_channel' + }); + */ + 'replay' : function(args) { + var callback = callback || args['callback'] || function(){} + , source = args['source'] + , destination = args['destination'] + , stop = args['stop'] + , start = args['start'] + , end = args['end'] + , reverse = args['reverse'] + , limit = args['limit'] + , jsonp = jsonp_cb() + , data = {} + , url; + + // Check User Input + if (!source) return error('Missing Source Channel'); + if (!destination) return error('Missing Destination Channel'); + if (!PUBLISH_KEY) return error('Missing Publish Key'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + // Setup URL Params + if (jsonp != '0') data['callback'] = jsonp; + if (stop) data['stop'] = 'all'; + if (reverse) data['reverse'] = 'true'; + if (start) data['start'] = start; + if (end) data['end'] = end; + if (limit) data['count'] = limit; + + // Compose URL Parts + url = [ + STD_ORIGIN, 'v1', 'replay', + PUBLISH_KEY, SUBSCRIBE_KEY, + source, destination + ]; + + // Start (or Stop) Replay! + xdr({ + callback : jsonp, + success : function(response) { callback(response) }, + fail : function() { callback([ 0, 'Disconnected' ]) }, + url : url, + data : data + }); + }, + + /* + PUBNUB.time(function(time){ }); + */ + 'time' : function(callback) { + var jsonp = jsonp_cb(); + xdr({ + callback : jsonp, + timeout : SECOND*5, + url : [STD_ORIGIN, 'time', jsonp], + success : function(response) { callback(response[0]) }, + fail : function() { callback(0) } + }); + }, + + /* + PUBNUB.publish({ + channel : 'my_chat_channel', + message : 'hello!' + }); + */ + 'publish' : function( args, callback ) { + var callback = callback || args['callback'] || function(){} + , msg = args['message'] + , channel = args['channel'] + , jsonp = jsonp_cb() + , url; + + if (!msg) return error('Missing Message'); + if (!channel) return error('Missing Channel'); + if (!PUBLISH_KEY) return error('Missing Publish Key'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + // If trying to send Object + msg = JSON['stringify'](msg); + + // Create URL + url = [ + STD_ORIGIN, 'publish', + PUBLISH_KEY, SUBSCRIBE_KEY, + 0, encode(channel), + jsonp, encode(msg) + ]; + + // Queue Message Send + PUB_QUEUE.push({ + callback : jsonp, + timeout : SECOND*5, + url : url, + data : { 'uuid' : UUID }, + success : function(response){callback(response);publish(1)}, + fail : function(){callback([0,'Failed',msg]);publish(1)} + }); + + // Send Message + publish(); + }, + + /* + PUBNUB.unsubscribe({ channel : 'my_chat' }); + */ + 'unsubscribe' : function(args) { + var channel = args['channel']; + + TIMETOKEN = 0; + SUB_RESTORE = 1; + + // Prepare Channel(s) + channel = map( ( + channel.join ? channel.join(',') : ''+channel + ).split(','), function(channel) { + return channel + ',' + channel + PRESENCE_SUFFIX; + } ).join(','); + + // Iterate over Channels + each( channel.split(','), function(channel) { + if (READY) SELF['LEAVE']( channel, 0 ); + CHANNELS[channel] = 0; + } ); + + // ReOpen Connection if Any Channels Left + if (READY) CONNECT(); + }, + + /* + PUBNUB.subscribe({ + channel : 'my_chat' + callback : function(message) { } + }); + */ + 'subscribe' : function( args, callback ) { + var channel = args['channel'] + , callback = callback || args['callback'] + , callback = callback || args['message'] + , connect = args['connect'] || function(){} + , reconnect = args['reconnect'] || function(){} + , disconnect = args['disconnect'] || function(){} + , presence = args['presence'] || 0 + , noheresync = args['noheresync'] || 0 + , backfill = args['backfill'] || 0 + , sub_timeout = args['timeout'] || SUB_TIMEOUT + , windowing = args['windowing'] || SUB_WINDOWING + , restore = args['restore']; + + // Restore Enabled? + if (restore) SUB_RESTORE = 1; + + TIMETOKEN = 0; + + // Make sure we have a Channel + if (!channel) return error('Missing Channel'); + if (!callback) return error('Missing Callback'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + // Setup Channel(s) + each( (channel.join ? channel.join(',') : ''+channel).split(','), + function(channel) { + var settings = CHANNELS[channel] || {}; + + // Store Channel State + CHANNELS[SUB_CHANNEL = channel] = { + name : channel, + connected : settings.connected, + disconnected : settings.disconnected, + subscribed : 1, + callback : SUB_CALLBACK = callback, + connect : connect, + disconnect : disconnect, + reconnect : reconnect + }; + + // Presence Enabled? + if (!presence) return; + + // Subscribe Presence Channel + SELF['subscribe']({ + 'channel' : channel + PRESENCE_SUFFIX, + 'callback' : presence + }); + + // Presence Subscribed? + if (settings.subscribed) return; + + // See Who's Here Now? + if (noheresync) return; + SELF['here_now']({ + 'channel' : channel, + 'callback' : function(here) { + each( 'uuids' in here ? here['uuids'] : [], + function(uid) { presence( { + 'action' : 'join', + 'uuid' : uid, + 'timestamp' : rnow(), + 'occupancy' : here['occupancy'] || 1 + }, here, channel ); } ); + } + }); + } ); + + // Test Network Connection + function _test_connection(success) { + if (success) { + // Begin Next Socket Connection + timeout( _connect, SECOND ); + } + else { + // New Origin on Failed Connection + STD_ORIGIN = nextorigin( ORIGIN, 1 ); + SUB_ORIGIN = nextorigin( ORIGIN, 1 ); + + // Re-test Connection + timeout( function() { + SELF['time'](_test_connection); + }, SECOND ); + } + + // Disconnect & Reconnect + each_channel(function(channel){ + // Reconnect + if (success && channel.disconnected) { + channel.disconnected = 0; + return channel.reconnect(channel.name); + } + + // Disconnect + if (!success && !channel.disconnected) { + channel.disconnected = 1; + channel.disconnect(channel.name); + } + }); + } + + // Evented Subscribe + function _connect() { + var jsonp = jsonp_cb() + , channels = generate_channel_list(CHANNELS).join(','); + + // Stop Connection + if (!channels) return; + + // Connect to PubNub Subscribe Servers + SUB_RECEIVER = xdr({ + timeout : sub_timeout, + callback : jsonp, + fail : function() { SELF['time'](_test_connection) }, + data : { 'uuid' : UUID }, + url : [ + SUB_ORIGIN, 'subscribe', + SUBSCRIBE_KEY, encode(channels), + jsonp, TIMETOKEN + ], + success : function(messages) { + if (!messages) return timeout( _connect, windowing ); + + // Connect + each_channel(function(channel){ + if (channel.connected) return; + channel.connected = 1; + channel.connect(channel.name); + }); + + // Restore Previous Connection Point if Needed + TIMETOKEN = !TIMETOKEN && + SUB_RESTORE && + db['get'](SUBSCRIBE_KEY) || messages[1]; + + + if (backfill) { + Timetoken = 10000; + backfill = 0; + } + + // Update Saved Timetoken + db['set']( SUBSCRIBE_KEY, messages[1] ); + + // Route Channel <---> Callback for Message + var next_callback = (function() { + var channels = (messages.length>2?messages[2]:'') + , list = channels.split(','); + + return function() { + var channel = list.shift()||''; + return [ + (CHANNELS[channel]||{}) + .callback||SUB_CALLBACK, + (channel||SUB_CHANNEL) + .split(PRESENCE_SUFFIX)[0] + ]; + }; + })(); + + each( messages[0], function(msg) { + var next = next_callback(); + if (!CHANNELS[next[1]].subscribed) return; + next[0]( msg, messages, next[1] ); + } ); + + timeout( _connect, windowing ); + } + }); + } + + CONNECT = function() { + // Close Previous Subscribe Connection + SELF['_reset_offline'](); + + // Begin Recursive Subscribe + clearTimeout(SUB_BUFF_WAIT); + SUB_BUFF_WAIT = timeout( _connect, 100 ); + }; + + // Reduce Status Flicker + if (!READY) return READY_BUFFER.push(CONNECT); + + // Connect Now + CONNECT(); + }, + + 'here_now' : function( args, callback ) { + var callback = args['callback'] || callback + , err = args['error'] || function(){} + , channel = args['channel'] + , jsonp = jsonp_cb() + , data = null; + + // Make sure we have a Channel + if (!channel) return error('Missing Channel'); + if (!callback) return error('Missing Callback'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + if (jsonp != '0') { + data = {}; + data['callback'] = jsonp; + } + + xdr({ + callback : jsonp, + data : data, + success : function(response) { callback(response) }, + fail : err, + url : [ + STD_ORIGIN, 'v2', 'presence', + 'sub_key', SUBSCRIBE_KEY, + 'channel', encode(channel) + ] + }); + }, + + // Expose PUBNUB Functions + 'xdr' : xdr, + 'ready' : ready, + 'db' : db, + 'uuid' : uuid, + 'each' : each, + 'map' : map, + 'grep' : grep, + 'supplant' : supplant, + 'now' : rnow, + 'unique' : unique, + 'updater' : updater, + 'poll_online' : function() { + _is_online() || SELF['_reset_offline'](); + timeout( SELF['poll_online'], SECOND ); + }, + 'poll_online2' : function() { + SELF['time'](function(success){ + success || SELF['_reset_offline'](); + timeout( SELF['poll_online2'], KEEPALIVE ); + }) + } + }; + if (!UUID) UUID = SELF['uuid'](); + db['set']( SUBSCRIBE_KEY + 'uuid', UUID ); + + timeout( SELF['poll_online'], SECOND ); + timeout( SELF['poll_online2'], KEEPALIVE ); + + return SELF; +} +/* --------------------------------------------------------------------------- +--------------------------------------------------------------------------- */ + +/* --------------------------------------------------------------------------- +PubNub Real-time Cloud-Hosted Push API and Push Notification Client Frameworks +Copyright (c) 2011 PubNub Inc. +http://www.pubnub.com/ +http://www.pubnub.com/terms +--------------------------------------------------------------------------- */ + +/* --------------------------------------------------------------------------- +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +--------------------------------------------------------------------------- */ +(function(){ + +/** + * UTIL LOCALS + */ +var NOW = 1 +, URLBIT = '/' +, PARAMSBIT = '&' +, XHRTME = 310000; + +/** + * UTILITIES + */ +//function unique() { return'x'+ ++NOW+''+(+new Date) } +//function rnow() { return+new Date } + +/** + * LOCAL STORAGE + */ +var db = (function(){ + var ls = typeof localStorage != 'undefined' && localStorage; + return { + get : function(key) { + try { + if (ls) return ls.getItem(key); + if (document.cookie.indexOf(key) == -1) return null; + return ((document.cookie||'').match( + RegExp(key+'=([^;]+)') + )||[])[1] || null; + } catch(e) { return } + }, + set : function( key, value ) { + try { + if (ls) return ls.setItem( key, value ) && 0; + document.cookie = key + '=' + value + + '; expires=Thu, 1 Aug 2030 20:00:00 UTC; path=/'; + } catch(e) { return } + } + }; +})(); + + +/** + * CORS XHR Request + * ================ + * xdr({ + * url : ['http://www.blah.com/url'], + * success : function(response) {}, + * fail : function() {} + * }); + */ +function xdr( setup ) { + var xhr + , finished = function() { + if (loaded) return; + loaded = 1; + + clearTimeout(timer); + + try { response = JSON['parse'](xhr.responseText); } + catch (r) { return done(1); } + + success(response); + } + , complete = 0 + , loaded = 0 + , timer = timeout( function(){done(1)}, XHRTME ) + , fail = setup.fail || function(){} + , success = setup.success || function(){} + , done = function(failed) { + if (complete) return; + complete = 1; + + clearTimeout(timer); + + if (xhr) { + xhr.onerror = xhr.onload = null; + xhr.abort && xhr.abort(); + xhr = null; + } + + failed && fail(); + }; + + // Send + try { + xhr = typeof XDomainRequest !== 'undefined' && + new XDomainRequest() || + new XMLHttpRequest(); + + xhr.onerror = xhr.onabort = function(){ done(1) }; + xhr.onload = xhr.onloadend = finished; + xhr.timeout = XHRTME; + url = setup.url.join(URLBIT); + if (setup.data) { + var params = []; + url += "?"; + for (key in setup.data) { + params.push(key+"="+setup.data[key]); + } + url += params.join(PARAMSBIT); + } + xhr.open( 'GET', url, true ); + xhr.send(); + } + catch(eee) { + done(0); + return xdr(setup); + } + + // Return 'done' + return done; +} + +/** + * BIND + * ==== + * bind( 'keydown', search('a')[0], function(element) { + * ... + * } ); + */ +function bind( type, el, fun ) { + each( type.split(','), function(etype) { + var rapfun = function(e) { + if (!e) e = window.event; + if (!fun(e)) { + e.cancelBubble = true; + e.returnValue = false; + e.preventDefault && e.preventDefault(); + e.stopPropagation && e.stopPropagation(); + } + }; + + if ( el.addEventListener ) el.addEventListener( etype, rapfun, false ); + else if ( el.attachEvent ) el.attachEvent( 'on' + etype, rapfun ); + else el[ 'on' + etype ] = rapfun; + } ); +} + +/** + * UNBIND + * ====== + * unbind( 'keydown', search('a')[0] ); + */ +function unbind( type, el, fun ) { + if ( el.removeEventListener ) el.removeEventListener( type, false ); + else if ( el.detachEvent ) el.detachEvent( 'on' + type, false ); + else el[ 'on' + type ] = null; +} + +/** + * LOG + * === + * var list = grep( [1,2,3], function(item) { return item % 2 } ) + */ +var log = function(){}; + +/** + * EVENTS + * ====== + * PUBNUB.events.bind( 'you-stepped-on-flower', function(message) { + * // Do Stuff with message + * } ); + * + * PUBNUB.events.fire( 'you-stepped-on-flower', "message-data" ); + * PUBNUB.events.fire( 'you-stepped-on-flower', {message:"data"} ); + * PUBNUB.events.fire( 'you-stepped-on-flower', [1,2,3] ); + * + */ +var events = { + 'list' : {}, + 'unbind' : function( name ) { events.list[name] = [] }, + 'bind' : function( name, fun ) { + (events.list[name] = events.list[name] || []).push(fun); + }, + 'fire' : function( name, data ) { + each( + events.list[name] || [], + function(fun) { fun(data) } + ); + } +}; + +/* =-====================================================================-= */ +/* =-====================================================================-= */ +/* =-========================= PUBNUB ===========================-= */ +/* =-====================================================================-= */ +/* =-====================================================================-= */ + +function PN(setup) { + + + setup['db'] = db; + setup['xdr'] = xdr; + var SELF = PN_API(setup); + + SELF['init'] = PN; + + + // Return without Testing + if (setup['notest']) return SELF; + + // Add Leave Functions + bind( 'beforeunload', window, function() { + each_channel(function(ch){ SELF['LEAVE']( ch.name, 1 ) }); + return true; + } ); + + bind( 'offline', window, SELF['_reset_offline'] ); + bind( 'offline', document, SELF['_reset_offline'] ); + + SELF['ready'](); + return SELF; +} + +typeof module !== 'undefined' && (module.exports = PN) || +typeof exports !== 'undefined' && (exports.PN = PN) || (PUBNUB = PN); + +})(); diff --git a/modern/pubnub.min.js b/modern/pubnub.min.js new file mode 100644 index 000000000..277143069 --- /dev/null +++ b/modern/pubnub.min.js @@ -0,0 +1,148 @@ +// 3.4.3 +(function(){ +var k=!0,l=null,n=!1;function q(){return function(){}}function x(a){return function(){return a}}var C=1,D=n,F=[],G="-pnpres",H=10,J=310,N=60,O=1E3,aa=/{([\w\-]+)}/g;function ba(){return"x"+ ++C+""+ +new Date}function P(){return+new Date}var Q,ca=Math.floor(20*Math.random());Q=function(a,b){return 0++ca?ca:ca=1))||a};function da(a,b){function d(){f+b>P()?(clearTimeout(c),c=setTimeout(d,b)):(f=P(),a())}var c,f=0;return d} +function ea(a,b){var d=[];W(a||[],function(a){b(a)&&d.push(a)});return d}function fa(a,b){return a.replace(aa,function(a,c){return b[c]||a})}function X(a,b){return setTimeout(a,b)}function R(a){var b="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});a&&a(b);return b} +function W(a,b){if(a&&b)if("undefined"!=typeof a[0])for(var d=0,c=a.length;d"-_.!~*'()".indexOf(a)?a:"%"+a.charCodeAt(0).toString(16).toUpperCase()}).join("")}function $(a){var b=[];W(a,function(a,c){c.f&&b.push(a)});return b.sort()} +function ga(){X(function(){D||(D=1,W(F,function(a){a()}))},O)} +function pa(a){function b(){}function d(a){a&&(r.g=0);!r.g&&r.length&&(r.g=1,t(r.shift()))}function c(a){W($(j),function(b){(b=j[b])&&a(b)})}var f=+a.windowing||H,p=(+a.timeout||J)*O,u=(+a.keepalive||N)*O,s=a.publish_key||"",g=a.subscribe_key||"",w=a.ssl?"s":"",y="http"+w+"://"+(a.origin||"pubsub.pubnub.com"),z=Q(y),S=Q(y),r=[],T=0,U=0,K=0,L=0,V=0,E=0,j={},t=a.xdr,M=a._is_online||x(1),v=a.jsonp_cb||x(0),A=a.db||{get:q(),set:q()},B=a.uuid||A&&A.get(g+"uuid")||"",e={_reset_offline:function(){K&&K(1)}, +LEAVE:function(a,b){var c={uuid:B},d=Q(y),m=v();0++ya?ya:ya=1))||a};function da(a,b){function d(){f+b>P()?(clearTimeout(c),c=setTimeout(d,b)):(f=P(),a())}var c,f=0;return d}function ea(a,b){var d=[];W(a||[],function(a){b(a)&&d.push(a)});return d}function fa(a,b){return a.replace(aa,function(a,c){return b[c]||a})} +function X(a,b){return setTimeout(a,b)}function R(a){var b="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});a&&a(b);return b}function W(a,b){if(a&&b)if("undefined"!=typeof a[0])for(var d=0,c=a.length;d"-_.!~*'()".indexOf(a)?a:"%"+a.charCodeAt(0).toString(16).toUpperCase()}).join("")}function $(a){var b=[];W(a,function(a,c){c.f&&b.push(a)});return b.sort()}function ga(){X(function(){D||(D=1,W(F,function(a){a()}))},O)} +function pa(a){function b(){}function d(a){a&&(r.g=0);!r.g&&r.length&&(r.g=1,t(r.shift()))}function c(a){W($(j),function(b){(b=j[b])&&a(b)})}var f=+a.windowing||H,p=(+a.timeout||J)*O,u=(+a.keepalive||N)*O,s=a.publish_key||"",g=a.subscribe_key||"",w=a.ssl?"s":"",y="http"+w+"://"+(a.origin||"pubsub.pubnub.com"),z=Q(y),S=Q(y),r=[],T=0,U=0,K=0,L=0,V=0,E=0,j={},t=a.xdr,M=a._is_online||x(1),v=a.jsonp_cb||x(0),A=a.db||{get:q(),set:q()},B=a.uuid||A&&A.get(g+"uuid")||"",e={_reset_offline:function(){K&&K(1)}, +LEAVE:function(a,b){var c={uuid:B},d=Q(y),m=v();0++Ha?Ha:Ha=1))||a};function da(a,b){function d(){f+b>P()?(clearTimeout(c),c=setTimeout(d,b)):(f=P(),a())}var c,f=0;return d}function ea(a,b){var d=[];W(a||[],function(a){b(a)&&d.push(a)});return d}function fa(a,b){return a.replace(aa,function(a,c){return b[c]||a})} +function X(a,b){return setTimeout(a,b)}function R(a){var b="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});a&&a(b);return b}function W(a,b){if(a&&b)if("undefined"!=typeof a[0])for(var d=0,c=a.length;d"-_.!~*'()".indexOf(a)?a:"%"+a.charCodeAt(0).toString(16).toUpperCase()}).join("")}function $(a){var b=[];W(a,function(a,c){c.f&&b.push(a)});return b.sort()}function ga(){X(function(){D||(D=1,W(F,function(a){a()}))},O)} +function pa(a){function b(){}function d(a){a&&(r.g=0);!r.g&&r.length&&(r.g=1,t(r.shift()))}function c(a){W($(j),function(b){(b=j[b])&&a(b)})}var f=+a.windowing||H,p=(+a.timeout||J)*O,u=(+a.keepalive||N)*O,s=a.publish_key||"",g=a.subscribe_key||"",w=a.ssl?"s":"",y="http"+w+"://"+(a.origin||"pubsub.pubnub.com"),z=Q(y),S=Q(y),r=[],T=0,U=0,K=0,L=0,V=0,E=0,j={},t=a.xdr,M=a._is_online||x(1),v=a.jsonp_cb||x(0),A=a.db||{get:q(),set:q()},B=a.uuid||A&&A.get(g+"uuid")||"",e={_reset_offline:function(){K&&K(1)}, +LEAVE:function(a,b){var c={uuid:B},d=Q(y),m=v();0++Qa?Qa:Qa=1))||a};function da(a,b){function d(){f+b>P()?(clearTimeout(c),c=setTimeout(d,b)):(f=P(),a())}var c,f=0;return d}function ea(a,b){var d=[];W(a||[],function(a){b(a)&&d.push(a)});return d}function fa(a,b){return a.replace(aa,function(a,c){return b[c]||a})} +function X(a,b){return setTimeout(a,b)}function R(a){var b="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});a&&a(b);return b}function W(a,b){if(a&&b)if("undefined"!=typeof a[0])for(var d=0,c=a.length;d"-_.!~*'()".indexOf(a)?a:"%"+a.charCodeAt(0).toString(16).toUpperCase()}).join("")}function $(a){var b=[];W(a,function(a,c){c.f&&b.push(a)});return b.sort()}function ga(){X(function(){D||(D=1,W(F,function(a){a()}))},O)} +function pa(a){function b(){}function d(a){a&&(r.g=0);!r.g&&r.length&&(r.g=1,t(r.shift()))}function c(a){W($(j),function(b){(b=j[b])&&a(b)})}var f=+a.windowing||H,p=(+a.timeout||J)*O,u=(+a.keepalive||N)*O,s=a.publish_key||"",g=a.subscribe_key||"",w=a.ssl?"s":"",y="http"+w+"://"+(a.origin||"pubsub.pubnub.com"),z=Q(y),S=Q(y),r=[],T=0,U=0,K=0,L=0,V=0,E=0,j={},t=a.xdr,M=a._is_online||x(1),v=a.jsonp_cb||x(0),A=a.db||{get:q(),set:q()},B=a.uuid||A&&A.get(g+"uuid")||"",e={_reset_offline:function(){K&&K(1)}, +LEAVE:function(a,b){var c={uuid:B},d=Q(y),m=v();0++Za?Za:Za=1))||a};function da(a,b){function d(){f+b>P()?(clearTimeout(c),c=setTimeout(d,b)):(f=P(),a())}var c,f=0;return d}function ea(a,b){var d=[];W(a||[],function(a){b(a)&&d.push(a)});return d}function fa(a,b){return a.replace(aa,function(a,c){return b[c]||a})} +function X(a,b){return setTimeout(a,b)}function R(a){var b="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});a&&a(b);return b}function W(a,b){if(a&&b)if("undefined"!=typeof a[0])for(var d=0,c=a.length;d"-_.!~*'()".indexOf(a)?a:"%"+a.charCodeAt(0).toString(16).toUpperCase()}).join("")}function $(a){var b=[];W(a,function(a,c){c.f&&b.push(a)});return b.sort()}function ga(){X(function(){D||(D=1,W(F,function(a){a()}))},O)} +function pa(a){function b(){}function d(a){a&&(r.g=0);!r.g&&r.length&&(r.g=1,t(r.shift()))}function c(a){W($(j),function(b){(b=j[b])&&a(b)})}var f=+a.windowing||H,p=(+a.timeout||J)*O,u=(+a.keepalive||N)*O,s=a.publish_key||"",g=a.subscribe_key||"",w=a.ssl?"s":"",y="http"+w+"://"+(a.origin||"pubsub.pubnub.com"),z=Q(y),S=Q(y),r=[],T=0,U=0,K=0,L=0,V=0,E=0,j={},t=a.xdr,M=a._is_online||x(1),v=a.jsonp_cb||x(0),A=a.db||{get:q(),set:q()},B=a.uuid||A&&A.get(g+"uuid")||"",e={_reset_offline:function(){K&&K(1)}, +LEAVE:function(a,b){var c={uuid:B},d=Q(y),e=v();0++hb?hb:hb=1))||a};function da(a,b){function d(){f+b>P()?(clearTimeout(c),c=setTimeout(d,b)):(f=P(),a())}var c,f=0;return d}function ea(a,b){var d=[];W(a||[],function(a){b(a)&&d.push(a)});return d}function fa(a,b){return a.replace(aa,function(a,c){return b[c]||a})} +function X(a,b){return setTimeout(a,b)}function R(a){var b="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});a&&a(b);return b}function W(a,b){if(a&&b)if("undefined"!=typeof a[0])for(var d=0,c=a.length;d"-_.!~*'()".indexOf(a)?a:"%"+a.charCodeAt(0).toString(16).toUpperCase()}).join("")}function $(a){var b=[];W(a,function(a,c){c.f&&b.push(a)});return b.sort()}function ga(){X(function(){D||(D=1,W(F,function(a){a()}))},O)} +function pa(a){function b(){}function d(a){a&&(r.g=0);!r.g&&r.length&&(r.g=1,t(r.shift()))}function c(a){W($(j),function(b){(b=j[b])&&a(b)})}var f=+a.windowing||H,p=(+a.timeout||J)*O,u=(+a.keepalive||N)*O,s=a.publish_key||"",g=a.subscribe_key||"",w=a.ssl?"s":"",y="http"+w+"://"+(a.origin||"pubsub.pubnub.com"),z=Q(y),S=Q(y),r=[],T=0,U=0,K=0,L=0,V=0,E=0,j={},t=a.xdr,M=a._is_online||x(1),v=a.jsonp_cb||x(0),A=a.db||{get:q(),set:q()},B=a.uuid||A&&A.get(g+"uuid")||"",e={_reset_offline:function(){K&&K(1)}, +LEAVE:function(a,b){var c={uuid:B},d=Q(y),e=v();0++qb?qb:qb=1))||a};function da(a,b){function d(){f+b>P()?(clearTimeout(c),c=setTimeout(d,b)):(f=P(),a())}var c,f=0;return d}function ea(a,b){var d=[];W(a||[],function(a){b(a)&&d.push(a)});return d}function fa(a,b){return a.replace(aa,function(a,c){return b[c]||a})} +function X(a,b){return setTimeout(a,b)}function R(a){var b="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});a&&a(b);return b}function W(a,b){if(a&&b)if("undefined"!=typeof a[0])for(var d=0,c=a.length;d"-_.!~*'()".indexOf(a)?a:"%"+a.charCodeAt(0).toString(16).toUpperCase()}).join("")}function $(a){var b=[];W(a,function(a,c){c.f&&b.push(a)});return b.sort()}function ga(){X(function(){D||(D=1,W(F,function(a){a()}))},O)} +function pa(a){function b(){}function d(a){a&&(r.g=0);!r.g&&r.length&&(r.g=1,t(r.shift()))}function c(a){W($(j),function(b){(b=j[b])&&a(b)})}var f=+a.windowing||H,p=(+a.timeout||J)*O,u=(+a.keepalive||N)*O,s=a.publish_key||"",g=a.subscribe_key||"",w=a.ssl?"s":"",y="http"+w+"://"+(a.origin||"pubsub.pubnub.com"),z=Q(y),S=Q(y),r=[],T=0,U=0,K=0,L=0,V=0,E=0,j={},t=a.xdr,M=a._is_online||x(1),v=a.jsonp_cb||x(0),A=a.db||{get:q(),set:q()},B=a.uuid||A&&A.get(g+"uuid")||"",e={_reset_offline:function(){K&&K(1)}, +LEAVE:function(a,b){var c={uuid:B},d=Q(y),e=v();0++zb?zb:zb=1))||a};function da(a,b){function d(){f+b>P()?(clearTimeout(c),c=setTimeout(d,b)):(f=P(),a())}var c,f=0;return d}function ea(a,b){var d=[];W(a||[],function(a){b(a)&&d.push(a)});return d}function fa(a,b){return a.replace(aa,function(a,c){return b[c]||a})} +function X(a,b){return setTimeout(a,b)}function R(a){var b="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});a&&a(b);return b}function W(a,b){if(a&&b)if("undefined"!=typeof a[0])for(var d=0,c=a.length;d"-_.!~*'()".indexOf(a)?a:"%"+a.charCodeAt(0).toString(16).toUpperCase()}).join("")}function $(a){var b=[];W(a,function(a,c){c.f&&b.push(a)});return b.sort()}function ga(){X(function(){D||(D=1,W(F,function(a){a()}))},O)} +function pa(a){function b(){}function d(a){a&&(r.g=0);!r.g&&r.length&&(r.g=1,t(r.shift()))}function c(a){W($(j),function(b){(b=j[b])&&a(b)})}var f=+a.windowing||H,p=(+a.timeout||J)*O,u=(+a.keepalive||N)*O,s=a.publish_key||"",g=a.subscribe_key||"",w=a.ssl?"s":"",y="http"+w+"://"+(a.origin||"pubsub.pubnub.com"),z=Q(y),S=Q(y),r=[],T=0,U=0,K=0,L=0,V=0,E=0,j={},t=a.xdr,M=a._is_online||x(1),v=a.jsonp_cb||x(0),A=a.db||{get:q(),set:q()},B=a.uuid||A&&A.get(g+"uuid")||"",e={_reset_offline:function(){K&&K(1)}, +LEAVE:function(a,b){var c={uuid:B},d=Q(y),e=v();0++Ib?Ib:Ib=1))||a};function da(a,b){function d(){f+b>P()?(clearTimeout(c),c=setTimeout(d,b)):(f=P(),a())}var c,f=0;return d}function ea(a,b){var d=[];W(a||[],function(a){b(a)&&d.push(a)});return d}function fa(a,b){return a.replace(aa,function(a,c){return b[c]||a})} +function X(a,b){return setTimeout(a,b)}function R(a){var b="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});a&&a(b);return b}function W(a,b){if(a&&b)if("undefined"!=typeof a[0])for(var d=0,c=a.length;d"-_.!~*'()".indexOf(a)?a:"%"+a.charCodeAt(0).toString(16).toUpperCase()}).join("")}function $(a){var b=[];W(a,function(a,c){c.f&&b.push(a)});return b.sort()}function ga(){X(function(){D||(D=1,W(F,function(a){a()}))},O)} +function pa(a){function b(){}function d(a){a&&(r.g=0);!r.g&&r.length&&(r.g=1,t(r.shift()))}function c(a){W($(j),function(b){(b=j[b])&&a(b)})}var f=+a.windowing||H,p=(+a.timeout||J)*O,u=(+a.keepalive||N)*O,s=a.publish_key||"",g=a.subscribe_key||"",w=a.ssl?"s":"",y="http"+w+"://"+(a.origin||"pubsub.pubnub.com"),z=Q(y),S=Q(y),r=[],T=0,U=0,K=0,L=0,V=0,E=0,j={},t=a.xdr,M=a._is_online||x(1),v=a.jsonp_cb||x(0),A=a.db||{get:q(),set:q()},B=a.uuid||A&&A.get(g+"uuid")||"",e={_reset_offline:function(){K&&K(1)}, +LEAVE:function(a,b){var c={uuid:B},d=Q(y),e=v();0 + + + PubNub JavaScript CommonJS + + +
+ +
+ + + + diff --git a/modern/tests/mx_example.html b/modern/tests/mx_example.html new file mode 100644 index 000000000..f41c0ae34 --- /dev/null +++ b/modern/tests/mx_example.html @@ -0,0 +1,49 @@ + + + + + diff --git a/core/tests/test.js b/modern/tests/test.js similarity index 74% rename from core/tests/test.js rename to modern/tests/test.js index cc333cf50..10fc895bb 100644 --- a/core/tests/test.js +++ b/modern/tests/test.js @@ -1,9 +1,9 @@ var test = require('testling'); -var PUBNUB = require('../pubnub'); +var PUBNUB = require('./pubnub.min'); var channel = 'unit-test-pubnub-channel'; test('PUBNUB JavaScript API', function (test) { - var pubnub = PUBNUB.init({ + var pubnub = PUBNUB({ publish_key : 'demo', subscribe_key : 'demo' }); @@ -16,7 +16,6 @@ test('PUBNUB JavaScript API', function (test) { test.ok(pubnub.publish); test.ok(pubnub.subscribe); test.ok(pubnub.history); - test.ok(pubnub.detailedHistory); test.ok(pubnub.time); function publish_test() { @@ -25,7 +24,7 @@ test('PUBNUB JavaScript API', function (test) { message : { test : "test" }, callback : function(response) { test.ok(response[0]); - test.equal( response[1], 'Sent' ); + test.equal( response[1], 'Demo' ); } }); } @@ -56,17 +55,6 @@ test('PUBNUB JavaScript API', function (test) { }); } - function detailedHistory_test(history) { - pubnub.detailedHistory({ - count : 1, - channel : channel, - callback : function(messages) { - test.ok(messages); - test.equal( messages[0][0].test, "test" ); - test.end(); - } - }); - } pubnub.subscribe({ channel : channel, connect : publish_test, diff --git a/core/tests/test.sh b/modern/tests/test.sh similarity index 72% rename from core/tests/test.sh rename to modern/tests/test.sh index dd3804dff..bb8984aed 100755 --- a/core/tests/test.sh +++ b/modern/tests/test.sh @@ -1,8 +1,8 @@ #!/bin/bash -## -------------------------------------------------- -## PubNub Real-time Cloud Push API - JAVASCRIPT -## -------------------------------------------------- +## ------------------------------------------------ +## PubNub 3.3 Real-time Cloud Push API - JAVASCRIPT +## ------------------------------------------------ ## ---------------------------------------------------- ## @@ -26,16 +26,14 @@ browsers=$browsers',firefox/9.0' browsers=$browsers',firefox/10.0' browsers=$browsers',chrome/16.0' browsers=$browsers',chrome/17.0' -browsers=$browsers',iexplore/7.0' -browsers=$browsers',iexplore/8.0' browsers=$browsers',iexplore/9.0' browsers=$browsers',safari/5.1' echo -e "Testing: $browsers" -noinstrument='pubnub.js,test.js' +noinstrument='pubnub-3.3.js' -tar -cf- test.js ../pubnub.js | \ +tar -cf- test.js ../pubnub-3.3.js | \ curl -u $1 -sSNT- \ "testling.com/?noinstrument=$noinstrument&browsers=$browsers" diff --git a/modern/tests/unit-test.html b/modern/tests/unit-test.html new file mode 100644 index 000000000..9b33b91f5 --- /dev/null +++ b/modern/tests/unit-test.html @@ -0,0 +1,333 @@ + + + + PubNub JavaScript Unit Test + + + +
+ + +
+ × +

PubNub Unit Tests for JavaScript on Mobile and Desktop Web Browser

+
+ + +
+ + + 100% Successful + Finished With Errors + ... +
+ + + +
Pass/FailTest Ready +
+ + + + + + +
+ diff --git a/modern/tests/webworker.html b/modern/tests/webworker.html new file mode 100644 index 000000000..b15dd68cc --- /dev/null +++ b/modern/tests/webworker.html @@ -0,0 +1,21 @@ + + + + PubNub JavaScript CommonJS + + +
+ + + diff --git a/modern/tests/webworker.js b/modern/tests/webworker.js new file mode 100644 index 000000000..bcc1795ef --- /dev/null +++ b/modern/tests/webworker.js @@ -0,0 +1,52 @@ +(function(){ + + "use strict" + + importScripts('../pubnub-3.3-common.js') + importScripts('../pubnub-3.3.js') + + var app = PUBNUB({ + publish_key : 'demo', + subscribe_key : 'demo' + }); + var channel = 'webworker-test-channel' + '-' + app.uuid(); + app.publish({ + channel : channel, + message : 'It Works!', + callback : function(info) { + postMessage(info); + app.history({ + channel : channel, + limit : 1, + message : 123, + callback : postMessage + }); + app.detailedHistory({ + channel : channel, + count : 1, + message : 123, + callback : postMessage + }) + } + }); + app.subscribe({ + channel : channel, + connect : function() { + + setTimeout(function(){ + app.here_now({ + channel : channel, + callback : postMessage + })}, 5000); + + setTimeout(function(){ + app.publish({ + channel : channel, + message : "Subscribe Test Message", + callback : postMessage + })}, 5000); + }, + callback : function(response) { postMessage(response); } + }) + +})(); diff --git a/modern/unassembled/platform.js b/modern/unassembled/platform.js new file mode 100644 index 000000000..60e975544 --- /dev/null +++ b/modern/unassembled/platform.js @@ -0,0 +1,248 @@ +/* --------------------------------------------------------------------------- +--------------------------------------------------------------------------- */ + +/* --------------------------------------------------------------------------- +PubNub Real-time Cloud-Hosted Push API and Push Notification Client Frameworks +Copyright (c) 2011 PubNub Inc. +http://www.pubnub.com/ +http://www.pubnub.com/terms +--------------------------------------------------------------------------- */ + +/* --------------------------------------------------------------------------- +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +--------------------------------------------------------------------------- */ +(function(){ + +/** + * UTIL LOCALS + */ +var NOW = 1 +, URLBIT = '/' +, PARAMSBIT = '&' +, XHRTME = 310000; + +/** + * UTILITIES + */ +//function unique() { return'x'+ ++NOW+''+(+new Date) } +//function rnow() { return+new Date } + +/** + * LOCAL STORAGE + */ +var db = (function(){ + var ls = typeof localStorage != 'undefined' && localStorage; + return { + get : function(key) { + try { + if (ls) return ls.getItem(key); + if (document.cookie.indexOf(key) == -1) return null; + return ((document.cookie||'').match( + RegExp(key+'=([^;]+)') + )||[])[1] || null; + } catch(e) { return } + }, + set : function( key, value ) { + try { + if (ls) return ls.setItem( key, value ) && 0; + document.cookie = key + '=' + value + + '; expires=Thu, 1 Aug 2030 20:00:00 UTC; path=/'; + } catch(e) { return } + } + }; +})(); + + +/** + * CORS XHR Request + * ================ + * xdr({ + * url : ['http://www.blah.com/url'], + * success : function(response) {}, + * fail : function() {} + * }); + */ +function xdr( setup ) { + var xhr + , finished = function() { + if (loaded) return; + loaded = 1; + + clearTimeout(timer); + + try { response = JSON['parse'](xhr.responseText); } + catch (r) { return done(1); } + + success(response); + } + , complete = 0 + , loaded = 0 + , timer = timeout( function(){done(1)}, XHRTME ) + , fail = setup.fail || function(){} + , success = setup.success || function(){} + , done = function(failed) { + if (complete) return; + complete = 1; + + clearTimeout(timer); + + if (xhr) { + xhr.onerror = xhr.onload = null; + xhr.abort && xhr.abort(); + xhr = null; + } + + failed && fail(); + }; + + // Send + try { + xhr = typeof XDomainRequest !== 'undefined' && + new XDomainRequest() || + new XMLHttpRequest(); + + xhr.onerror = xhr.onabort = function(){ done(1) }; + xhr.onload = xhr.onloadend = finished; + xhr.timeout = XHRTME; + url = setup.url.join(URLBIT); + if (setup.data) { + var params = []; + url += "?"; + for (key in setup.data) { + params.push(key+"="+setup.data[key]); + } + url += params.join(PARAMSBIT); + } + xhr.open( 'GET', url, true ); + xhr.send(); + } + catch(eee) { + done(0); + return xdr(setup); + } + + // Return 'done' + return done; +} + +/** + * BIND + * ==== + * bind( 'keydown', search('a')[0], function(element) { + * ... + * } ); + */ +function bind( type, el, fun ) { + each( type.split(','), function(etype) { + var rapfun = function(e) { + if (!e) e = window.event; + if (!fun(e)) { + e.cancelBubble = true; + e.returnValue = false; + e.preventDefault && e.preventDefault(); + e.stopPropagation && e.stopPropagation(); + } + }; + + if ( el.addEventListener ) el.addEventListener( etype, rapfun, false ); + else if ( el.attachEvent ) el.attachEvent( 'on' + etype, rapfun ); + else el[ 'on' + etype ] = rapfun; + } ); +} + +/** + * UNBIND + * ====== + * unbind( 'keydown', search('a')[0] ); + */ +function unbind( type, el, fun ) { + if ( el.removeEventListener ) el.removeEventListener( type, false ); + else if ( el.detachEvent ) el.detachEvent( 'on' + type, false ); + else el[ 'on' + type ] = null; +} + +/** + * LOG + * === + * var list = grep( [1,2,3], function(item) { return item % 2 } ) + */ +var log = function(){}; + +/** + * EVENTS + * ====== + * PUBNUB.events.bind( 'you-stepped-on-flower', function(message) { + * // Do Stuff with message + * } ); + * + * PUBNUB.events.fire( 'you-stepped-on-flower', "message-data" ); + * PUBNUB.events.fire( 'you-stepped-on-flower', {message:"data"} ); + * PUBNUB.events.fire( 'you-stepped-on-flower', [1,2,3] ); + * + */ +var events = { + 'list' : {}, + 'unbind' : function( name ) { events.list[name] = [] }, + 'bind' : function( name, fun ) { + (events.list[name] = events.list[name] || []).push(fun); + }, + 'fire' : function( name, data ) { + each( + events.list[name] || [], + function(fun) { fun(data) } + ); + } +}; + +/* =-====================================================================-= */ +/* =-====================================================================-= */ +/* =-========================= PUBNUB ===========================-= */ +/* =-====================================================================-= */ +/* =-====================================================================-= */ + +function PN(setup) { + + + setup['db'] = db; + setup['xdr'] = xdr; + var SELF = PN_API(setup); + + SELF['init'] = PN; + + + // Return without Testing + if (setup['notest']) return SELF; + + // Add Leave Functions + bind( 'beforeunload', window, function() { + each_channel(function(ch){ SELF['LEAVE']( ch.name, 1 ) }); + return true; + } ); + + bind( 'offline', window, SELF['_reset_offline'] ); + bind( 'offline', document, SELF['_reset_offline'] ); + + SELF['ready'](); + return SELF; +} + +typeof module !== 'undefined' && (module.exports = PN) || +typeof exports !== 'undefined' && (exports.PN = PN) || (PUBNUB = PN); + +})(); diff --git a/nodejs/Makefile b/nodejs/Makefile new file mode 100644 index 000000000..2cf766939 --- /dev/null +++ b/nodejs/Makefile @@ -0,0 +1,26 @@ +include ../Makefile.inc + + +OUTPUT_FILES=$(PUBNUB_JS) + + + + +.PHONY : all +all: build + +.PHONY : build +build: $(PUBNUB_JS) + + + +$(PUBNUB_JS): $(PUBNUB_COMMON_JS) $(PUBNUB_NODE_JS) + cat $(PUBNUB_COMMON_JS) $(PUBNUB_PLATFORM_JS) > $(PUBNUB_JS) + +.PHONY : clean +clean: + rm -f $(OUTPUT_FILES) + +.PHONY : test +test: + mocha -R spec tests/test.js diff --git a/nodejs/README.md b/nodejs/README.md new file mode 100644 index 000000000..ebe208bb0 --- /dev/null +++ b/nodejs/README.md @@ -0,0 +1,6 @@ +# PubNub 3.3 Web Data Push Cloud-Hosted API - node.js +## PubNub node.js Usage + +Open 3.3/tests/unit-test.js to see examples for all the basics, plus detailedHistory(), Presence() and here_now()! + +Report an issue, or email us at support if there are any additional questions or comments. diff --git a/nodejs/examples/hello.js b/nodejs/examples/hello.js new file mode 100644 index 000000000..8990a2f82 --- /dev/null +++ b/nodejs/examples/hello.js @@ -0,0 +1,34 @@ +/* --------------------------------------------------------------------------- + + Init PubNub and Get your PubNub API Keys: + http://www.pubnub.com/account#api-keys + +--------------------------------------------------------------------------- */ +console.log('Type your message, press ENTER.\n'); + +var pubnub = require("./../pubnub.js").init({ + publish_key : "demo", + subscribe_key : "demo" +}); + +/* --------------------------------------------------------------------------- +Listen for Messages +--------------------------------------------------------------------------- */ +pubnub.subscribe({ + channel : "my_channel", + callback : function(message) { + console.log( " > ", message ); + } +}); + +/* --------------------------------------------------------------------------- +Type Console Message +--------------------------------------------------------------------------- */ +var stdin = process.openStdin(); +stdin.on( 'data', function(chunk) { + pubnub.publish({ + channel : "my_channel", + message : ''+chunk + }); +}); + diff --git a/nodejs/examples/history.js b/nodejs/examples/history.js new file mode 100644 index 000000000..304d269b6 --- /dev/null +++ b/nodejs/examples/history.js @@ -0,0 +1,49 @@ +/* --------------------------------------------------------------------------- + + Init PubNub and Get your PubNub API Keys: + http://www.pubnub.com/account#api-keys + +--------------------------------------------------------------------------- */ +var pubnub = require("./../pubnub.js"); +var channel = 'my_channel'; +var network = pubnub.init({ + publish_key : "demo", + subscribe_key : "demo" +}); + +/* --------------------------------------------------------------------------- +Print All +--------------------------------------------------------------------------- */ +get_all_history({ + channel : channel, + callback : function(messages) { + console.log(messages); + } +}) + +/* --------------------------------------------------------------------------- +Get All History Message for a CHANNEL +--------------------------------------------------------------------------- */ +function get_all_history(args) { + var channel = args['channel'] + , callback = args['callback'] + , start = 0 + , history = []; + + (function add_messages() { + network.detailedHistory({ + channel : channel, + start : start, + reverse : true, + callback : function(messages) { + var msgs = messages[0] + , end = start = messages[2]; + + if (!msgs.length) return callback(history); + + history = history.concat(msgs); + add_messages(); + } + }); + })(); +} diff --git a/nodejs/examples/keystroke.js b/nodejs/examples/keystroke.js new file mode 100644 index 000000000..255b48b6c --- /dev/null +++ b/nodejs/examples/keystroke.js @@ -0,0 +1,75 @@ +/* --------------------------------------------------------------------------- + + Init PubNub and Get your PubNub API Keys: + http://www.pubnub.com/account#api-keys + +--------------------------------------------------------------------------- */ +var pubnub = require("./../pubnub.js").init({ + publish_key : "demo", + subscribe_key : "demo" +}) // PubNub Module +, userid = Math.random() * 1000000 | 1 // Random UID +, channel = "my_channel" // Communication Channel +, users = {} // List of Chaters +, lines = []; // Local History + +/* --------------------------------------------------------------------------- +Open Network Connection to PubNub +--------------------------------------------------------------------------- */ +pubnub.subscribe({ + channel : channel, + connect : function() { + console.log("Ready To Receive Messages"); + }, + callback : function(update) { + // Create New User if Need Be. + update.userid in users || (users[update.userid] = ''); + + // New Line? + if ( + update.key.indexOf('\r') >= 0 || + update.key.indexOf('\n') >= 0 + ) { + lines.push(chatln( update.userid, users[update.userid] )); + users[update.userid] = ''; + return render(); + } + + // Append Key(s) + users[update.userid] += update.key; + + // Draw + render(); + } +}); + +/* --------------------------------------------------------------------------- +Render Chat +--------------------------------------------------------------------------- */ +function chatln( user, message ) { return user + ': ' + message + '\r\n' } +function render() { + // Clear Screen + process.stdout.write('\u001B[2J\u001B[0;0f'); + + // Print History Lines + lines.forEach(function(line){ process.stdout.write(line) }); + console.log('---------------------------------------------------------'); + + // Print Active Lines + for (var user in users) process.stdout.write(chatln( user, users[user] )); +} + +/* --------------------------------------------------------------------------- +Keystrokes +--------------------------------------------------------------------------- */ +require('tty').setRawMode(true); +process.openStdin().on( 'keypress', function (chunk, key) { + // Watch for Exit Command + if (key && key.ctrl && key.name == 'c') return process.exit(); + + // Send Keystroke + pubnub.publish({ + channel : channel, + message : { userid : userid, key : chunk } + }); +} ); diff --git a/nodejs/examples/listener.js b/nodejs/examples/listener.js new file mode 100644 index 000000000..665267ac5 --- /dev/null +++ b/nodejs/examples/listener.js @@ -0,0 +1,44 @@ +/* --------------------------------------------------------------------------- + + Init PubNub and Get your PubNub API Keys: + http://www.pubnub.com/account#api-keys + +--------------------------------------------------------------------------- */ + +var pubnub = require('./../pubnub'); +var createPubNub = function(config) { + var that = {}; + var handler = pubnub.init({ + subscribe_key: 'demo' + }); + that.subscribe = function(options) { + handler.subscribe(options); + }; + return that; +}; + +var messaging = createPubNub(); +var createListener = function(channel) { + messaging.subscribe({ + channel : channel, + callback : function(message) { + console.log(new Date(), channel, 'Got Message:', message); + }, + error : function() { + console.log(new Date(), channel, 'Connection Lost.'); + }, + connect : function() { + console.log(new Date(), channel, 'Connected.'); + }, + reconnect : function() { + console.log(new Date(), channel, 'Reconnected.'); + }, + disconnect : function() { + console.log(new Date(), channel, 'Disconnect.'); + } + }); +}; + +for ( var i = 2; i < process.argv.length; i += 1) { + createListener(process.argv[i]); +} diff --git a/nodejs/examples/node-to-browser/browser-app.js b/nodejs/examples/node-to-browser/browser-app.js new file mode 100644 index 000000000..2c2a19f31 --- /dev/null +++ b/nodejs/examples/node-to-browser/browser-app.js @@ -0,0 +1,15 @@ +(function(){ + +var output = PUBNUB.$('output') +, pubnub = PUBNUB.init({ subscribe_key : 'demo' }); + +pubnub.subscribe({ + channel : 'my_browser_channel', + callback : function(message) { + output.innerHTML = [ + message, '
', output.innerHTML + ].join(''); + } +}); + +})(); diff --git a/nodejs/examples/node-to-browser/index.html b/nodejs/examples/node-to-browser/index.html new file mode 100644 index 000000000..2e91e0231 --- /dev/null +++ b/nodejs/examples/node-to-browser/index.html @@ -0,0 +1,19 @@ + + + + + + PubNub ★ Node to Browser + + + + + +
...
+ + + + + diff --git a/nodejs/examples/node-to-browser/node-app.js b/nodejs/examples/node-to-browser/node-app.js new file mode 100644 index 000000000..0e8f76128 --- /dev/null +++ b/nodejs/examples/node-to-browser/node-app.js @@ -0,0 +1,34 @@ +/* --------------------------------------------------------------------------- + + Init PubNub and Get your PubNub API Keys: + http://www.pubnub.com/account#api-keys + +--------------------------------------------------------------------------- */ +console.log('Broadcasting Messages from Node...'); +require('child_process').exec('open index.html'); + +var pubnub = require("./../../pubnub.js").init({ + publish_key : "demo", + subscribe_key : "demo" +}); + +/* --------------------------------------------------------------------------- +Listen for Messages +--------------------------------------------------------------------------- */ +pubnub.subscribe({ + channel : "my_node_channel", + callback : function(message) { + console.log( "Message From Browser - ", message ); + } +}); + +/* --------------------------------------------------------------------------- +Type Console Message +--------------------------------------------------------------------------- */ +setInterval( function() { + pubnub.publish({ + channel : "my_browser_channel", + message : 'Hello from Node!' + }); +}, 1000 ); + diff --git a/nodejs/examples/node-to-browser/styles.css b/nodejs/examples/node-to-browser/styles.css new file mode 100644 index 000000000..84918d6b0 --- /dev/null +++ b/nodejs/examples/node-to-browser/styles.css @@ -0,0 +1,4 @@ +body { + font-family: "Open Sans"; +} + diff --git a/nodejs/examples/node-to-phone/node-to-phone.js b/nodejs/examples/node-to-phone/node-to-phone.js new file mode 100644 index 000000000..8990a2f82 --- /dev/null +++ b/nodejs/examples/node-to-phone/node-to-phone.js @@ -0,0 +1,34 @@ +/* --------------------------------------------------------------------------- + + Init PubNub and Get your PubNub API Keys: + http://www.pubnub.com/account#api-keys + +--------------------------------------------------------------------------- */ +console.log('Type your message, press ENTER.\n'); + +var pubnub = require("./../pubnub.js").init({ + publish_key : "demo", + subscribe_key : "demo" +}); + +/* --------------------------------------------------------------------------- +Listen for Messages +--------------------------------------------------------------------------- */ +pubnub.subscribe({ + channel : "my_channel", + callback : function(message) { + console.log( " > ", message ); + } +}); + +/* --------------------------------------------------------------------------- +Type Console Message +--------------------------------------------------------------------------- */ +var stdin = process.openStdin(); +stdin.on( 'data', function(chunk) { + pubnub.publish({ + channel : "my_channel", + message : ''+chunk + }); +}); + diff --git a/nodejs/examples/say.js b/nodejs/examples/say.js new file mode 100644 index 000000000..abd99fbe0 --- /dev/null +++ b/nodejs/examples/say.js @@ -0,0 +1,32 @@ +/* --------------------------------------------------------------------------- + Init PubNub and Get your PubNub API Keys: + http://www.pubnub.com/account#api-keys +--------------------------------------------------------------------------- */ +var pubnub = require("./../pubnub.js").init({ + publish_key : "demo", + subscribe_key : "demo" +}) +, exec = require('child_process').exec; + +pubnub.subscribe({ + channel : "my_channel", + connect : function() { + // Publish a Message on Connect + pubnub.publish({ + channel : "my_channel", + message : { text : 'Ready to Receive Voice Script.' } + }); + }, + callback : function(message) { + console.log(message); + exec('say ' + ( + 'voice' in message && + message.voice ? '-v ' + + message.voice + ' ' : '' + ) + message.text); + + }, + error : function() { + console.log("Network Connection Dropped"); + } +}); diff --git a/nodejs/examples/usage.js b/nodejs/examples/usage.js new file mode 100644 index 000000000..301f25c8a --- /dev/null +++ b/nodejs/examples/usage.js @@ -0,0 +1,64 @@ +/* --------------------------------------------------------------------------- + + Init PubNub and Get your PubNub API Keys: + http://www.pubnub.com/account#api-keys + +--------------------------------------------------------------------------- */ +var pubnub = require("./../pubnub.js"); +var network = pubnub.init({ + publish_key : "demo", + subscribe_key : "demo", + secret_key : "", + ssl : true, + origin : "pubsub.pubnub.com" +}); + +var delivery_count = 0; +var crazy = ' ~`!@#$%^&*(顶顅Ȓ)+=[]\\{}|;\':"./<>?abcd' + +/* --------------------------------------------------------------------------- +Listen for Messages +--------------------------------------------------------------------------- */ +network.subscribe({ + channel : "hello_world", + connect : function() { + + // Publish a Message on Connect + network.publish({ + channel : "hello_world", + message : { + count : ++delivery_count, + some_key : "Hello World!", + crazy : crazy + }, + callback : function(info){ + if (!info[0]) console.log("Failed Message Delivery") + + console.log(info); + + network.history({ + channel : "hello_world", + limit : 1, + callback : function(messages){ + // messages is an array of history. + console.log(messages); + } + }); + } + }); + }, + callback : function(message) { + console.log(message); + console.log('MESSAGE RECEIVED!!!'); + }, + error : function() { + console.log("Network Connection Dropped"); + } +}); + +/* --------------------------------------------------------------------------- +Utility Function Returns PubNub TimeToken +--------------------------------------------------------------------------- */ +network.time(function(time){ + console.log(time); +}); diff --git a/nodejs/examples/winsay.js b/nodejs/examples/winsay.js new file mode 100755 index 000000000..0039b5de2 --- /dev/null +++ b/nodejs/examples/winsay.js @@ -0,0 +1,6 @@ +var sp = new ActiveXObject("SAPI.SpVoice"); +var text = ""; +for(var i = 0; i < WScript.Arguments.length; i++) { + text = text + WScript.Arguments.Item(i); +} +sp.speak( text ); \ No newline at end of file diff --git a/nodejs/package.json b/nodejs/package.json new file mode 100644 index 000000000..ed83f37f1 --- /dev/null +++ b/nodejs/package.json @@ -0,0 +1,39 @@ +{ + "name": "pubnub", + "preferGlobal": false, + "version": "3.3.1", + "author": "Pubnub ", + "description": "Publish & Subscribe Real-time Messaging with PubNub", + "contributors": [ + { + "name": "Stephen Blum", + "email": "stephen@pubnub.com" + } + ], + "bin": {}, + "scripts": { }, + "main": "./pubnub.js", + "repository": { + "type": "git", + "url": "git://github.com/pubnub/pubnub-api.git" + }, + "keywords": [ + "cloud", + "publish", + "subscribe", + "websockets", + "comet", + "bosh", + "xmpp", + "real-time", + "messaging" + ], + "dependencies" : { }, + "noAnalyze": false, + "devDependencies": {}, + "bundleDependencies": [], + "license": "MIT", + "engine": { + "node": ">=0.2" + } +} diff --git a/core/pubnub.js b/nodejs/pubnub.js similarity index 64% rename from core/pubnub.js rename to nodejs/pubnub.js index 45b0c0290..c84dd16ff 100644 --- a/core/pubnub.js +++ b/nodejs/pubnub.js @@ -1,70 +1,13 @@ -/* --------------------------------------------------------------------------- -WAIT! - This file depends on instructions from the PUBNUB Cloud. -http://www.pubnub.com/account-javascript-api-include ---------------------------------------------------------------------------- */ - -/* --------------------------------------------------------------------------- -PubNub Real-time Cloud-Hosted Push API and Push Notification Client Frameworks -Copyright (c) 2011 PubNub Inc. -http://www.pubnub.com/ -http://www.pubnub.com/terms ---------------------------------------------------------------------------- */ - -/* --------------------------------------------------------------------------- -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. ---------------------------------------------------------------------------- */ - -/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= UTIL =============================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -window['PUBNUB'] || (function() { - -/** - * UTIL LOCALS - */ var NOW = 1 -, SWF = 'https://pubnub.a.ssl.fastly.net/pubnub.swf' -, REPL = /{([\w\-]+)}/g -, ASYNC = 'async' -, URLBIT = '/' -, PARAMSBIT = '&' +, READY = false +, READY_BUFFER = [] +, PRESENCE_SUFFIX = '-pnpres' , DEF_WINDOWING = 10 // MILLISECONDS. , DEF_TIMEOUT = 10000 // MILLISECONDS. , DEF_SUB_TIMEOUT = 310 // SECONDS. , DEF_KEEPALIVE = 60 // SECONDS. , SECOND = 1000 // A THOUSAND MILLISECONDS. -, PRESENCE_SUFFIX = '-pnpres' -, UA = navigator.userAgent -, XORIGN = UA.indexOf('MSIE 6') == -1; - -/** - * CONSOLE COMPATIBILITY - */ -window.console || (window.console=window.console||{}); -console.log || ( - console.log = - console.error = - ((window.opera||{}).postError||function(){}) -); +, REPL = /{([\w\-]+)}/g; /** * UTILITIES @@ -72,31 +15,6 @@ console.log || ( function unique() { return'x'+ ++NOW+''+(+new Date) } function rnow() { return+new Date } -/** - * LOCAL STORAGE OR COOKIE - */ -var db = (function(){ - var ls = window['localStorage']; - return { - 'get' : function(key) { - try { - if (ls) return ls.getItem(key); - if (document.cookie.indexOf(key) == -1) return null; - return ((document.cookie||'').match( - RegExp(key+'=([^;]+)') - )||[])[1] || null; - } catch(e) { return } - }, - 'set' : function( key, value ) { - try { - if (ls) return ls.setItem( key, value ) && 0; - document.cookie = key + '=' + value + - '; expires=Thu, 1 Aug 2030 20:00:00 UTC; path=/'; - } catch(e) { return } - } - }; -})(); - /** * NEXTORIGIN * ========== @@ -137,64 +55,6 @@ function updater( fun, rate ) { return runnit; } -/** - * $ - * = - * var div = $('divid'); - */ -function $(id) { return document.getElementById(id) } - -/** - * ERROR - * ===== - * error('message'); - */ -function error(message) { console['error'](message) } - -/** - * SEARCH - * ====== - * var elements = search('a div span'); - */ -function search( elements, start ) { - var list = []; - each( elements.split(/\s+/), function(el) { - each( (start || document).getElementsByTagName(el), function(node) { - list.push(node); - } ); - } ); - return list; -} - -/** - * EACH - * ==== - * each( [1,2,3], function(item) { } ) - */ -function each( o, f ) { - if ( !o || !f ) return; - - if ( typeof o[0] != 'undefined' ) - for ( var i = 0, l = o.length; i < l; ) - f.call( o[i], o[i], i++ ); - else - for ( var i in o ) - o.hasOwnProperty && - o.hasOwnProperty(i) && - f.call( o[i], i, o[i] ); -} - -/** - * MAP - * === - * var list = map( [1,2,3], function(item) { return item + 1 } ) - */ -function map( list, fun ) { - var fin = []; - each( list || [], function( k, v ) { fin.push(fun( k, v )) } ); - return fin; -} - /** * GREP * ==== @@ -217,80 +77,6 @@ function supplant( str, values ) { } ); } -/** - * BIND - * ==== - * bind( 'keydown', search('a')[0], function(element) { - * ... - * } ); - */ -function bind( type, el, fun ) { - each( type.split(','), function(etype) { - var rapfun = function(e) { - if (!e) e = window.event; - if (!fun(e)) { - e.cancelBubble = true; - e.returnValue = false; - e.preventDefault && e.preventDefault(); - e.stopPropagation && e.stopPropagation(); - } - }; - - if ( el.addEventListener ) el.addEventListener( etype, rapfun, false ); - else if ( el.attachEvent ) el.attachEvent( 'on' + etype, rapfun ); - else el[ 'on' + etype ] = rapfun; - } ); -} - -/** - * UNBIND - * ====== - * unbind( 'keydown', search('a')[0] ); - */ -function unbind( type, el, fun ) { - if ( el.removeEventListener ) el.removeEventListener( type, false ); - else if ( el.detachEvent ) el.detachEvent( 'on' + type, false ); - else el[ 'on' + type ] = null; -} - -/** - * HEAD - * ==== - * head().appendChild(elm); - */ -function head() { return search('head')[0] } - -/** - * ATTR - * ==== - * var attribute = attr( node, 'attribute' ); - */ -function attr( node, attribute, value ) { - if (value) node.setAttribute( attribute, value ); - else return node && node.getAttribute && node.getAttribute(attribute); -} - -/** - * CSS - * === - * var obj = create('div'); - */ -function css( element, styles ) { - for (var style in styles) if (styles.hasOwnProperty(style)) - try {element.style[style] = styles[style] + ( - '|width|height|top|left|'.indexOf(style) > 0 && - typeof styles[style] == 'number' - ? 'px' : '' - )}catch(e){} -} - -/** - * CREATE - * ====== - * var obj = create('div'); - */ -function create(element) { return document.createElement(element) } - /** * timeout * ======= @@ -316,11 +102,33 @@ function uuid(callback) { } /** - * jsonp_cb - * ======== - * var callback = jsonp_cb(); + * EACH + * ==== + * each( [1,2,3], function(item) { } ) */ -function jsonp_cb() { return XORIGN || FDomainRequest() ? 0 : unique() } +function each( o, f ) { + if ( !o || !f ) return; + + if ( typeof o[0] != 'undefined' ) + for ( var i = 0, l = o.length; i < l; ) + f.call( o[i], o[i], i++ ); + else + for ( var i in o ) + o.hasOwnProperty && + o.hasOwnProperty(i) && + f.call( o[i], i, o[i] ); +} + +/** + * MAP + * === + * var list = map( [1,2,3], function(item) { return item + 1 } ) + */ +function map( list, fun ) { + var fin = []; + each( list || [], function( k, v ) { fin.push(fun( k, v )) } ); + return fin; +} /** * ENCODE @@ -334,172 +142,6 @@ function encode(path) { } ).join(''); } -/** - * EVENTS - * ====== - * PUBNUB.events.bind( 'you-stepped-on-flower', function(message) { - * // Do Stuff with message - * } ); - * - * PUBNUB.events.fire( 'you-stepped-on-flower', "message-data" ); - * PUBNUB.events.fire( 'you-stepped-on-flower', {message:"data"} ); - * PUBNUB.events.fire( 'you-stepped-on-flower', [1,2,3] ); - * - */ -var events = { - 'list' : {}, - 'unbind' : function( name ) { events.list[name] = [] }, - 'bind' : function( name, fun ) { - (events.list[name] = events.list[name] || []).push(fun); - }, - 'fire' : function( name, data ) { - each( - events.list[name] || [], - function(fun) { fun(data) } - ); - } -}; - -/** - * XDR Cross Domain Request - * ======================== - * xdr({ - * url : ['http://www.blah.com/url'], - * success : function(response) {}, - * fail : function() {} - * }); - */ -function xdr( setup ) { - if (XORIGN || FDomainRequest()) return ajax(setup); - - var script = create('script') - , callback = setup.callback - , id = unique() - , finished = 0 - , xhrtme = setup.timeout || DEF_TIMEOUT - , timer = timeout( function(){done(1)}, xhrtme ) - , fail = setup.fail || function(){} - , success = setup.success || function(){} - - , append = function() { - head().appendChild(script); - } - - , done = function( failed, response ) { - if (finished) return; - finished = 1; - - failed || success(response); - script.onerror = null; - clearTimeout(timer); - - timeout( function() { - failed && fail(); - var s = $(id) - , p = s && s.parentNode; - p && p.removeChild(s); - }, SECOND ); - }; - - window[callback] = function(response) { - done( 0, response ); - }; - - if (!setup.blocking) script[ASYNC] = ASYNC; - - script.onerror = function() { done(1) }; - script.src = setup.url.join(URLBIT); - - if (setup.data) { - var params = []; - script.src += "?"; - for (var key in setup.data) { - params.push(key+"="+setup.data[key]); - } - script.src += params.join(PARAMSBIT); - } - attr( script, 'id', id ); - - append(); - return done; -} - -/** - * CORS XHR Request - * ================ - * xdr({ - * url : ['http://www.blah.com/url'], - * success : function(response) {}, - * fail : function() {} - * }); - */ -function ajax( setup ) { - var xhr, response - , finished = function() { - if (loaded) return; - loaded = 1; - - clearTimeout(timer); - - try { response = JSON['parse'](xhr.responseText); } - catch (r) { return done(1); } - - success(response); - } - , complete = 0 - , loaded = 0 - , xhrtme = setup.timeout || DEF_TIMEOUT - , timer = timeout( function(){done(1)}, xhrtme ) - , fail = setup.fail || function(){} - , success = setup.success || function(){} - , done = function(failed) { - if (complete) return; - complete = 1; - - clearTimeout(timer); - - if (xhr) { - xhr.onerror = xhr.onload = null; - xhr.abort && xhr.abort(); - xhr = null; - } - - failed && fail(); - }; - - // Send - try { - xhr = FDomainRequest() || - window.XDomainRequest && - new XDomainRequest() || - new XMLHttpRequest(); - - xhr.onerror = xhr.onabort = function(){ done(1) }; - xhr.onload = xhr.onloadend = finished; - xhr.timeout = xhrtme; - - var url = setup.url.join(URLBIT); - if (setup.data) { - var params = []; - var key; - url += "?"; - for (key in setup.data) params.push(key+"="+setup.data[key]); - url += params.join(PARAMSBIT); - } - - xhr.open( 'GET', url, (typeof(setup.blocking === 'undefined')) ); - xhr.send(); - } - catch(eee) { - done(0); - XORIGN = 0; - return xdr(setup); - } - - // Return 'done' - return done; -} - /** * Generate Subscription Channel List * ================================== @@ -513,41 +155,85 @@ function generate_channel_list(channels) { return list.sort(); } -/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= PUBNUB ===========================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -var PDIV = $('pubnub') || 0 -, READY = 0 -, READY_BUFFER = [] -, CREATE_PUBNUB = function(setup) { - - // Force JSONP if requested from user. - if (setup['jsonp']) XORIGN = 0; - - var CHANNELS = {} - , PUB_QUEUE = [] - , SUB_CALLBACK = 0 - , SUB_CHANNEL = 0 - , SUB_RECEIVER = 0 - , SUB_RESTORE = 0 - , SUB_BUFF_WAIT = 0 - , TIMETOKEN = 0 - , SUB_WINDOWING = +setup['windowing'] || DEF_WINDOWING +// PUBNUB READY TO CONNECT + function ready() { timeout( function() { + if (READY) return; + READY = 1; + each( READY_BUFFER, function(connect) { connect() } ); + }, SECOND ); } + +function PN_API(setup) { + var SUB_WINDOWING = +setup['windowing'] || DEF_WINDOWING , SUB_TIMEOUT = (+setup['timeout'] || DEF_SUB_TIMEOUT) * SECOND , KEEPALIVE = (+setup['keepalive'] || DEF_KEEPALIVE) * SECOND , PUBLISH_KEY = setup['publish_key'] || '' , SUBSCRIBE_KEY = setup['subscribe_key'] || '' , SSL = setup['ssl'] ? 's' : '' - , UUID = setup['uuid'] || db['get'](SUBSCRIBE_KEY+'uuid') || '' , ORIGIN = 'http'+SSL+'://'+(setup['origin']||'pubsub.pubnub.com') , STD_ORIGIN = nextorigin(ORIGIN) , SUB_ORIGIN = nextorigin(ORIGIN) - , LEAVE = function(){} , CONNECT = function(){} - , SELF = { + , PUB_QUEUE = [] + , SUB_CALLBACK = 0 + , SUB_CHANNEL = 0 + , SUB_RECEIVER = 0 + , SUB_RESTORE = 0 + , SUB_BUFF_WAIT = 0 + , TIMETOKEN = 0 + , CHANNELS = {} + , xdr = setup['xdr'] + , _is_online = setup['_is_online'] || function() { return 1; } + , jsonp_cb = setup['jsonp_cb'] || function(){ return 0; } + , db = setup['db'] || {'get': function(){}, 'set': function(){}} + , UUID = setup['uuid'] || ( db && db['get'](SUBSCRIBE_KEY+'uuid') || ''); + + + + function publish(next) { + if (next) PUB_QUEUE.sending = 0; + if (PUB_QUEUE.sending || !PUB_QUEUE.length) return; + PUB_QUEUE.sending = 1; + xdr(PUB_QUEUE.shift()); + } + + function each_channel(callback) { + each( generate_channel_list(CHANNELS), function(channel) { + var chan = CHANNELS[channel]; + if (!chan) return; + callback(chan); + } ); + } + + // Announce Leave Event + + + var SELF = { + + '_reset_offline' : function() { + SUB_RECEIVER && SUB_RECEIVER(1); + }, + + 'LEAVE' : function( channel, blocking ) { + var data = { 'uuid' : UUID } + , origin = nextorigin(ORIGIN) + , jsonp = jsonp_cb(); + + // Prevent Leaving a Presence Channel + if (channel.indexOf(PRESENCE_SUFFIX) > 0) return; + + if (jsonp != '0') data['callback'] = jsonp; + + xdr({ + blocking : blocking || SSL, + timeout : 2000, + callback : jsonp, + data : data, + url : [ + origin, 'v2', 'presence', 'sub_key', + SUBSCRIBE_KEY, 'channel', encode(channel), 'leave' + ] + }); + }, /* PUBNUB.history({ channel : 'my_chat_channel', @@ -717,7 +403,7 @@ var PDIV = $('pubnub') || 0 // Iterate over Channels each( channel.split(','), function(channel) { - if (READY) LEAVE( channel, 0 ); + if (READY) SELF['LEAVE']( channel, 0 ); CHANNELS[channel] = 0; } ); @@ -740,7 +426,7 @@ var PDIV = $('pubnub') || 0 , disconnect = args['disconnect'] || function(){} , presence = args['presence'] || 0 , noheresync = args['noheresync'] || 0 - , backfill = args['backfill'] || 0 + , backfill = args['backfill'] || 0 , sub_timeout = args['timeout'] || SUB_TIMEOUT , windowing = args['windowing'] || SUB_WINDOWING , restore = args['restore']; @@ -748,6 +434,8 @@ var PDIV = $('pubnub') || 0 // Restore Enabled? if (restore) SUB_RESTORE = 1; + TIMETOKEN = 0; + // Make sure we have a Channel if (!channel) return error('Missing Channel'); if (!callback) return error('Missing Callback'); @@ -865,9 +553,9 @@ var PDIV = $('pubnub') || 0 SUB_RESTORE && db['get'](SUBSCRIBE_KEY) || messages[1]; - // Backfill Channel + if (backfill) { - TIMETOKEN = 10000; + Timetoken = 10000; backfill = 0; } @@ -903,7 +591,7 @@ var PDIV = $('pubnub') || 0 CONNECT = function() { // Close Previous Subscribe Connection - _reset_offline(); + SELF['_reset_offline'](); // Begin Recursive Subscribe clearTimeout(SUB_BUFF_WAIT); @@ -922,14 +610,17 @@ var PDIV = $('pubnub') || 0 , err = args['error'] || function(){} , channel = args['channel'] , jsonp = jsonp_cb() - , data = {}; + , data = null; // Make sure we have a Channel if (!channel) return error('Missing Channel'); if (!callback) return error('Missing Callback'); if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - if (jsonp != '0') data['callback'] = jsonp; + if (jsonp != '0') { + data = {}; + data['callback'] = jsonp; + } xdr({ callback : jsonp, @@ -945,171 +636,208 @@ var PDIV = $('pubnub') || 0 }, // Expose PUBNUB Functions - 'xdr' : xdr, - 'ready' : ready, - 'db' : db, - 'uuid' : uuid, - 'each' : each, - 'map' : map, - 'grep' : grep, - 'css' : css, - '$' : $, - 'create' : create, - 'bind' : bind, - 'supplant' : supplant, - 'head' : head, - 'search' : search, - 'attr' : attr, - 'now' : rnow, - 'unique' : unique, - 'events' : events, - 'updater' : updater, - 'init' : CREATE_PUBNUB + 'xdr' : xdr, + 'ready' : ready, + 'db' : db, + 'uuid' : uuid, + 'each' : each, + 'map' : map, + 'grep' : grep, + 'supplant' : supplant, + 'now' : rnow, + 'unique' : unique, + 'updater' : updater, + 'poll_online' : function() { + _is_online() || SELF['_reset_offline'](); + timeout( SELF['poll_online'], SECOND ); + }, + 'poll_online2' : function() { + SELF['time'](function(success){ + success || SELF['_reset_offline'](); + timeout( SELF['poll_online2'], KEEPALIVE ); + }) + } }; + if (!UUID) UUID = SELF['uuid'](); + db['set']( SUBSCRIBE_KEY + 'uuid', UUID ); - PUB_QUEUE.sending = 0; - function publish(next) { - if (next) PUB_QUEUE.sending = 0; - if (PUB_QUEUE.sending || !PUB_QUEUE.length) return; - PUB_QUEUE.sending = 1; - xdr(PUB_QUEUE.shift()); - } + timeout( SELF['poll_online'], SECOND ); + timeout( SELF['poll_online2'], KEEPALIVE ); - function each_channel(callback) { - each( generate_channel_list(CHANNELS), function(channel) { - var chan = CHANNELS[channel]; - if (!chan) return; - callback(chan); - } ); - } + return SELF; +} +/* --------------------------------------------------------------------------- +WAIT! - This file depends on instructions from the PUBNUB Cloud. +http://www.pubnub.com/account +--------------------------------------------------------------------------- */ - if (!UUID) UUID = uuid(); - db['set']( SUBSCRIBE_KEY + 'uuid', UUID ); +/* --------------------------------------------------------------------------- +PubNub Real-time Cloud-Hosted Push API and Push Notification Client Frameworks +Copyright (c) 2011 TopMambo Inc. +http://www.pubnub.com/ +http://www.pubnub.com/terms +--------------------------------------------------------------------------- */ - // Return without Testing - if (setup['notest']) return SELF; +/* --------------------------------------------------------------------------- +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: - // Announce Leave Event - LEAVE = function( channel, blocking ) { - var data = { 'uuid' : UUID } - , origin = nextorigin(ORIGIN) - , jsonp = jsonp_cb(); - - // Prevent Leaving a Presence Channel - if (channel.indexOf(PRESENCE_SUFFIX) > 0) return; - - if (jsonp != '0') data['callback'] = jsonp; - - xdr({ - blocking : blocking || SSL, - timeout : 2000, - callback : jsonp, - data : data, - url : [ - origin, 'v2', 'presence', 'sub_key', - SUBSCRIBE_KEY, 'channel', encode(channel), 'leave' - ] - }); - }; +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. - // Add Leave Functions - bind( 'beforeunload', window, function() { - each_channel(function(ch){ LEAVE( ch.name, 1 ) }); - return true; - } ); +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +--------------------------------------------------------------------------- */ +/** + * UTIL LOCALS + */ +var NOW = 1 +, http = require('http') +, https = require('https') +, URLBIT = '/' +, PARAMSBIT = '&' +, XHRTME = 310000 +, DEF_TIMEOUT = 10000 +, SECOND = 1000 +, XORIGN = 1; - // Test Connection State - function _is_online() { - if (!('onLine' in navigator)) return 1; - return navigator['onLine']; - } - function _poll_online() { - _is_online() || _reset_offline(); - timeout( _poll_online, SECOND ); - } - function _poll_online2() { - SELF['time'](function(success){ - success || _reset_offline(); - timeout( _poll_online2, KEEPALIVE ); - }); - } - function _reset_offline() { - SUB_RECEIVER && SUB_RECEIVER(1); - } - timeout( _poll_online, SECOND ); - timeout( _poll_online2, KEEPALIVE ); +/** + * UNIQUE + * ====== + * var timestamp = unique(); + */ +function unique() { return'x'+ ++NOW+''+(+new Date) } - bind( 'offline', window, _reset_offline ); - bind( 'offline', document, _reset_offline ); +/** + * LOG + * === + * log('message'); + */ +function log(message) { console['log'](message) } - // Return PUBNUB Socket Object - return SELF; -}; -// PUBNUB READY TO CONNECT -function ready() { timeout( function() { - if (READY) return; - READY = 1; - each( READY_BUFFER, function(connect) { connect() } ); -}, SECOND ); } - -// Bind for PUBNUB Readiness to Subscribe -bind( 'load', window, function(){ timeout( ready, 0 ) } ); - -var pdiv = PDIV || {}; - -// CREATE A PUBNUB GLOBAL OBJECT -PUBNUB = CREATE_PUBNUB({ - 'notest' : 1, - 'publish_key' : attr( pdiv, 'pub-key' ), - 'subscribe_key' : attr( pdiv, 'sub-key' ), - 'ssl' : !document.location.href.indexOf('https') || - attr( pdiv, 'ssl' ) == 'on', - 'origin' : attr( pdiv, 'origin' ), - 'uuid' : attr( pdiv, 'uuid' ) -}); - -// jQuery Interface -window['jQuery'] && (window['jQuery']['PUBNUB'] = PUBNUB); - -// For Modern JS + Testling.js - http://testling.com/ -typeof(module) !== 'undefined' && (module['exports'] = PUBNUB) && ready(); - -var pubnubs = $('pubnubs') || 0; - -// LEAVE NOW IF NO PDIV. -if (!PDIV) return; - -// PUBNUB Flash Socket -css( PDIV, { 'position' : 'absolute', 'top' : -SECOND } ); - -if ('opera' in window || attr( PDIV, 'flash' )) PDIV['innerHTML'] = - ''; - -// Create Interface for Opera Flash -PUBNUB['rdx'] = function( id, data ) { - if (!data) return FDomainRequest[id]['onerror'](); - FDomainRequest[id]['responseText'] = unescape(data); - FDomainRequest[id]['onload'](); -}; - -function FDomainRequest() { - if (!pubnubs || !pubnubs['get']) return 0; - - var fdomainrequest = { - 'id' : FDomainRequest['id']++, - 'send' : function() {}, - 'abort' : function() { fdomainrequest['id'] = {} }, - 'open' : function( method, url ) { - FDomainRequest[fdomainrequest['id']] = fdomainrequest; - pubnubs['get']( fdomainrequest['id'], url ); +/** + * Request + * ======= + * xdr({ + * url : ['http://www.blah.com/url'], + * success : function(response) {}, + * fail : function() {} + * }); + */ +function xdr( setup ) { + //setup.url.unshift(''); + var url = setup.url.join(URLBIT) + , request + , response + , success = setup.success || function(){} + , fail = setup.fail || function(){} + , origin = setup.origin || 'pubsub.pubnub.com' + , ssl = setup.ssl + , failed = 0 + , complete = 0 + , loaded = 0 + , xhrtme = setup.timeout || DEF_TIMEOUT + , body = '' + , finished = function() { + if (loaded) return; + loaded = 1; + + clearTimeout(timer); + try { response = JSON['parse'](body); } + catch (r) { return done(1); } + success(response); + } + , done = function(failed) { + if (complete) return; + complete = 1; + + clearTimeout(timer); + + if (request) { + request.on('error', function(){}); + request.on('data', function(){}); + request.on('end', function(){}); + request.abort && request.abort(); + request = null; + } + failed && fail(); } + , timer = timeout( function(){done(1);} , xhrtme ); + + + if (setup.data) { + var params = []; + url += "?"; + for (var key in setup.data) { + params.push(key+"="+setup.data[key]); + } + url += params.join(PARAMSBIT); + } + var options = { + hostname : origin, + port : ssl ? 443 : 80, + path : url, + method : 'GET' }; + try { + request = (ssl ? https : http).request(options, function(response) { + response.setEncoding('utf8'); + response.on( 'error', function(){done(1)}); + response.on( 'abort', function(){done(1)}); + response.on( 'data', function (chunk) { + if (chunk) body += chunk; + } ); + response.on( 'end', function(){finished();}); + }); + request.end(); + request.timeout = xhrtme; + + } catch(e) { + done(0); + return xdr(setup); + } - return fdomainrequest; + return done; } -FDomainRequest['id'] = SECOND; +/** + * LOCAL STORAGE + */ +var db = (function(){ + var store = {}; + return { + 'get' : function(key) { + return store[key]; + }, + 'set' : function( key, value ) { + db[key] = value; + } + }; })(); + +/* =-=====================================================================-= */ +/* =-=====================================================================-= */ +/* =-========================= PUBNUB ============================-= */ +/* =-=====================================================================-= */ +/* =-=====================================================================-= */ + +exports.init = function(setup) { + var PN = {}; + setup['xdr'] = xdr; + setup['db'] = db; + PN = PN_API(setup); + PN.ready(); + return PN; +} +PUBNUB = exports.init({}); +exports.unique = unique diff --git a/nodejs/tests/test.js b/nodejs/tests/test.js new file mode 100644 index 000000000..76e75fb05 --- /dev/null +++ b/nodejs/tests/test.js @@ -0,0 +1,162 @@ + var assert = require('assert'); + var PUBNUB = require('../pubnub.js'); + + var pubnub = PUBNUB.init({ + publish_key : 'demo', + subscribe_key : 'demo' + }); + + var channel = 'javascript-test-channel-' + Date.now(); + var count = 0; + + var message_string = 'Hi from Javascript'; + var message_jsono = {'message': 'Hi Hi from Javascript'}; + var message_jsona = ['message' , 'Hi Hi from javascript']; + + describe('Pubnub', function() { + this.timeout(40000); + describe('#publish()', function(){ + it('should publish strings without error', function(done){ + var ch = channel + '-' + ++count; + pubnub.subscribe({channel : ch , + connect : function(response) { + pubnub.publish({channel: ch , message : message_string, + callback : function(response) { + assert.deepEqual(response[0],1); + } + }); + }, + callback : function(response) { + assert.deepEqual(response,message_string); + pubnub.unsubscribe({channel : ch}); + done(); + } + + }) + }) + it('should publish json objects without error', function(done){ + var ch = channel + '-' + ++count; + pubnub.subscribe({channel : ch , + connect : function(response) { + pubnub.publish({channel: ch , message : message_jsono, + callback : function(response) { + assert.deepEqual(response[0],1); + } + }); + }, + callback : function(response) { + assert.deepEqual(response,message_jsono); + pubnub.unsubscribe({channel : ch}); + done(); + } + + }) + }) + it('should publish json arrays without error', function(done){ + var ch = channel + '-' + ++count ; + pubnub.subscribe({channel : ch , + connect : function(response) { + pubnub.publish({channel: ch , message : message_jsona, + callback : function(response) { + assert.deepEqual(response[0],1); + } + }); + }, + callback : function(response) { + assert.deepEqual(response,message_jsona); + pubnub.unsubscribe({channel : ch}); + done(); + } + + }) + }) + }) + describe('#time()', function() { + it('should return time successfully when called', function(done){ + pubnub.time(function(time) { + assert.ok(time); + done(); + }) + }) + + }) + describe('#uuid()', function() { + it('should return uuid successfully when called', function(done){ + pubnub.uuid(function(uuid) { + assert.ok(uuid); + done(); + }) + }) + + }) + describe('#here_now()', function() { + this.timeout(80000); + it('should show occupancy 1 user if 1 user is subscribed to channel', function(done){ + var ch = channel + '-' + 'here-now' ; + pubnub.subscribe({channel : ch , + connect : function(response) { + setTimeout(function() { + pubnub.here_now( {channel : ch, callback : function(data) { + assert.deepEqual(data.occupancy, 1); + pubnub.unsubscribe({channel : ch}); + done(); + }})}, 10000 + ); + pubnub.publish({channel: ch , message : message_jsona, + callback : function(response) { + assert.deepEqual(response[0],1); + } + }); + }, + callback : function(response) { + assert.deepEqual(response,message_jsona); + } + + }) + + }) + + }) + describe('#history()', function(){ + var history_channel = channel + '-history'; + this.timeout(60000); + before(function(done){ + pubnub.publish({channel: history_channel, + message : message_string, + callback : function(response){ + assert.deepEqual(response[0],1);} + }); + pubnub.publish({channel: history_channel, + message : message_string, + callback : function(response){ + assert.deepEqual(response[0],1); + done(); + } + }); + + }) + it('should return 2 messages when 2 messages were published on channel', function(done) { + setTimeout(function() { + pubnub.history({channel : history_channel, + callback : function(response) { + assert.deepEqual(response[0].length,2); + done(); + } + }) + },5000); + }) + it('should return 1 message when 2 messages were published on channel and count is 1', function(done) { + + setTimeout(function() { + pubnub.history({channel : history_channel, + count : 1, + callback : function(response) { + assert.deepEqual(response[0].length,1); + done(); + } + }) + },5000); + }) + }) + +}) diff --git a/nodejs/tests/unit-test.js b/nodejs/tests/unit-test.js new file mode 100644 index 000000000..3bb6c7bed --- /dev/null +++ b/nodejs/tests/unit-test.js @@ -0,0 +1,177 @@ +var PUBNUB, channel, here_now_test, history_test, nodeunit, publish_dummy, publish_test, pubnub, run_dummy_subscribe, subscribe_test, time_test, uuid_test, detailed_history_test_1, detailed_history_test_2, detailed_history_test_3; + +PUBNUB = require('../pubnub'); + +nodeunit = require('nodeunit'); + +channel = 'unit-test-pubnub-nodejs'; + +pubnub = PUBNUB.init({ + publish_key:'demo', + subscribe_key:'demo' +}); + +publish_dummy = function (channel, callback, message) { + if (callback === null) { + callback = function () { + }; + } + return pubnub.publish({ + channel:channel, + message:message || { "test" :"test" }, + callback:callback + }); +}; + +var publish_callback = function(message) {}; +var temp_channel = channel + '-' + pubnub.uuid(); + +publish_dummy(temp_channel, publish_callback, 'first'); +publish_dummy(temp_channel, publish_callback, 'second'); + +publish_test = function (test) { + test.expect(2); + return publish_dummy(channel, function (response) { + test.ok(response[0] === 1); + test.ok(response[1] === "Sent"); + test.done(); + }); +}; + +time_test = function (test) { + test.expect(1); + return pubnub.time(function (time) { + test.ok(time); + test.done(); + }); +}; + +uuid_test = function (test) { + test.expect(1); + return pubnub.uuid(function (uuid) { + test.ok(uuid); + test.done(); + }); +}; + +detailed_history_test_1 = function (test) { + test.expect(2); + return pubnub.history({ + count:1, + channel:channel, + callback:function (messages) { + test.ok(messages); + test.ok(messages[0][0].test === "test"); + test.done(); + } + }); +}; + +detailed_history_test_2 = function (test) { + + test.expect(2); + + return pubnub.history({ + count:1, + channel:temp_channel, + callback:function (messages) { + test.notEqual(messages, null); + test.equal(messages[0][0], "second"); + test.done(); + } + }); +}; + +detailed_history_test_3 = function (test) { + + test.expect(2); + + return pubnub.history({ + count:1, + channel:temp_channel, + reverse:'true', + callback:function (messages) { + test.notEqual(messages, null); + test.equal(messages[0][0], "first"); + test.done(); + } + }); +}; + + +history_test = function (test) { + test.expect(2); + return pubnub.history({ + limit:1, + channel:channel, + callback:function (messages) { + test.ok(messages); + test.equal(messages[0][0].test, "test"); + test.done(); + } + }); +}; + +subscribe_test = function (test) { + var test_channel; + test_channel = 'channel-' + PUBNUB.unique(); + test.expect(2); + return pubnub.subscribe({ + channel:test_channel, + connect:function () { + return publish_dummy(test_channel); + }, + callback:function (message) { + test.ok(message); + test.ok(message.test === "test"); + test.done(); + pubnub.unsubscribe({channel:test_channel}); + } + }); +}; + +run_dummy_subscribe = function (channel) { + var pubnub = PUBNUB.init({ + publish_key:'demo', + subscribe_key:'demo' + }); + return pubnub.subscribe({ + channel:channel, + connect:function () { + return {stop:true}; + }, + callback:function () { + return {stop:true}; + } + }); +}; + +here_now_test = function (test) { + var test_channel; + test_channel = 'channel-' + PUBNUB.unique(); + test.expect(3); + + pubnub.here_now({ + channel:test_channel, + callback:function (message) { + test.notEqual(message, null); + test.equal(message.occupancy, 0); + test.equal(message.uuids.length, 0); + test.done(); + return {stop:true }; + } + }); + +}; + +module.exports = { + "Publish Test": publish_test, + "History Test": history_test, + "Time Test": time_test, + "UUID Test": uuid_test, + "Here Now Test":here_now_test, + "Detailed History Test 1":detailed_history_test_1, + "Detailed History Test 2":detailed_history_test_2, + "Detailed History Test 3":detailed_history_test_3, + "Subscribe Test": subscribe_test +}; diff --git a/nodejs/unassembled/platform.js b/nodejs/unassembled/platform.js new file mode 100644 index 000000000..f5fe718f6 --- /dev/null +++ b/nodejs/unassembled/platform.js @@ -0,0 +1,175 @@ +/* --------------------------------------------------------------------------- +WAIT! - This file depends on instructions from the PUBNUB Cloud. +http://www.pubnub.com/account +--------------------------------------------------------------------------- */ + +/* --------------------------------------------------------------------------- +PubNub Real-time Cloud-Hosted Push API and Push Notification Client Frameworks +Copyright (c) 2011 TopMambo Inc. +http://www.pubnub.com/ +http://www.pubnub.com/terms +--------------------------------------------------------------------------- */ + +/* --------------------------------------------------------------------------- +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +--------------------------------------------------------------------------- */ +/** + * UTIL LOCALS + */ +var NOW = 1 +, http = require('http') +, https = require('https') +, URLBIT = '/' +, PARAMSBIT = '&' +, XHRTME = 310000 +, DEF_TIMEOUT = 10000 +, SECOND = 1000 +, XORIGN = 1; + +/** + * UNIQUE + * ====== + * var timestamp = unique(); + */ +function unique() { return'x'+ ++NOW+''+(+new Date) } + +/** + * LOG + * === + * log('message'); + */ +function log(message) { console['log'](message) } + + +/** + * Request + * ======= + * xdr({ + * url : ['http://www.blah.com/url'], + * success : function(response) {}, + * fail : function() {} + * }); + */ +function xdr( setup ) { + //setup.url.unshift(''); + var url = setup.url.join(URLBIT) + , request + , response + , success = setup.success || function(){} + , fail = setup.fail || function(){} + , origin = setup.origin || 'pubsub.pubnub.com' + , ssl = setup.ssl + , failed = 0 + , complete = 0 + , loaded = 0 + , xhrtme = setup.timeout || DEF_TIMEOUT + , body = '' + , finished = function() { + if (loaded) return; + loaded = 1; + + clearTimeout(timer); + try { response = JSON['parse'](body); } + catch (r) { return done(1); } + success(response); + } + , done = function(failed) { + if (complete) return; + complete = 1; + + clearTimeout(timer); + + if (request) { + request.on('error', function(){}); + request.on('data', function(){}); + request.on('end', function(){}); + request.abort && request.abort(); + request = null; + } + failed && fail(); + } + , timer = timeout( function(){done(1);} , xhrtme ); + + + if (setup.data) { + var params = []; + url += "?"; + for (var key in setup.data) { + params.push(key+"="+setup.data[key]); + } + url += params.join(PARAMSBIT); + } + var options = { + hostname : origin, + port : ssl ? 443 : 80, + path : url, + method : 'GET' + }; + try { + request = (ssl ? https : http).request(options, function(response) { + response.setEncoding('utf8'); + response.on( 'error', function(){done(1)}); + response.on( 'abort', function(){done(1)}); + response.on( 'data', function (chunk) { + if (chunk) body += chunk; + } ); + response.on( 'end', function(){finished();}); + }); + request.end(); + request.timeout = xhrtme; + + } catch(e) { + done(0); + return xdr(setup); + } + + return done; +} + +/** + * LOCAL STORAGE + */ +var db = (function(){ + var store = {}; + return { + 'get' : function(key) { + return store[key]; + }, + 'set' : function( key, value ) { + db[key] = value; + } + }; +})(); + +/* =-=====================================================================-= */ +/* =-=====================================================================-= */ +/* =-========================= PUBNUB ============================-= */ +/* =-=====================================================================-= */ +/* =-=====================================================================-= */ + +exports.init = function(setup) { + var PN = {}; + setup['xdr'] = xdr; + setup['db'] = db; + PN = PN_API(setup); + PN.ready(); + return PN; +} +PUBNUB = exports.init({}); +exports.unique = unique diff --git a/socket.io/Makefile b/socket.io/Makefile new file mode 100644 index 000000000..49b34594c --- /dev/null +++ b/socket.io/Makefile @@ -0,0 +1,30 @@ + +include ../Makefile.inc + +WEB_DIR=$(REPOS_DIR)/web + +PUBNUB_MIN_JS=$(WEB_DIR)/pubnub.min.js +SOCKET_IO_BASE_JS=socket.io-base.js +SOCKET_IO_MIN_JS=socket.io.min.js +OUTPUT_FILES=$(SOCKET_IO_MIN_JS) +SOCKET_IO_TMP=socket.io.tmp + +GIBBERISH_AES_JS=$(CRYPTO_DIR)/gibberish-aes.js +ENCRYPT_PUBNUB_JS=$(CRYPTO_DIR)/encrypt-pubnub.js + +.PHONY : all +all: build + +.PHONY : build +build: $(SOCKET_IO_MIN_JS) + + + +$(SOCKET_IO_MIN_JS): $(SOCKET_IO_BASE_JS) $(PUBNUB_MIN_JS) + cat $(SOCKET_IO_BASE_JS) | java -jar $(GOOGLE_MINIFY) > $(SOCKET_IO_TMP) + cat $(PUBNUB_MIN_JS) $(GIBBERISH_AES_JS) $(ENCRYPT_PUBNUB_JS) $(SOCKET_IO_TMP) > $(SOCKET_IO_MIN_JS) + rm $(SOCKET_IO_TMP) + +.PHONY : clean +clean: + rm -f $(OUTPUT_FILES) $(SOCKET_IO_TMP) diff --git a/socket.io/acknowledgements/index.html b/socket.io/acknowledgements/index.html index 697086faf..fc58f3295 100644 --- a/socket.io/acknowledgements/index.html +++ b/socket.io/acknowledgements/index.html @@ -16,7 +16,7 @@ diff --git a/socket.io/here_now/index.html b/socket.io/here_now/index.html index 6659b315e..992895e2b 100644 --- a/socket.io/here_now/index.html +++ b/socket.io/here_now/index.html @@ -15,7 +15,7 @@
Click me and check the console log for here now!
- + diff --git a/socket.io/history/index.html b/socket.io/history/index.html index 1a9f0899f..b8cb9fed4 100644 --- a/socket.io/history/index.html +++ b/socket.io/history/index.html @@ -16,7 +16,7 @@ - + diff --git a/socket.io/presence/index.html b/socket.io/presence/index.html index 2884d11bd..ae3a9b73d 100644 --- a/socket.io/presence/index.html +++ b/socket.io/presence/index.html @@ -15,7 +15,7 @@
Hello to Web User!
- + diff --git a/socket.io/public-private-communication/public-private-communication.html b/socket.io/public-private-communication/public-private-communication.html index bfa79b373..16ed5bcd5 100644 --- a/socket.io/public-private-communication/public-private-communication.html +++ b/socket.io/public-private-communication/public-private-communication.html @@ -50,7 +50,7 @@
diff --git a/socket.io/socket.io.min.js b/socket.io/socket.io.min.js index 99da7c2ec..c63fe9fac 100644 --- a/socket.io/socket.io.min.js +++ b/socket.io/socket.io.min.js @@ -1,58 +1,1571 @@ // 3.4.3 (function(){ -var l=null;function p(){return function(){}} -window.JSON&&window.JSON.stringify||function(){function a(){try{return this.valueOf()}catch(a){return l}}function c(a){d.lastIndex=0;return d.test(a)?'"'+a.replace(d,function(a){var b=w[a];return"string"===typeof b?b:"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+a+'"'}function b(d,k){var i,h,j,t,q,f=e,g=k[d];g&&"object"===typeof g&&(g=a.call(g));"function"===typeof n&&(g=n.call(k,d,g));switch(typeof g){case "string":return c(g);case "number":return isFinite(g)?String(g):"null";case "boolean":case "null":return String(g); -case "object":if(!g)return"null";e+=s;q=[];if("[object Array]"===Object.prototype.toString.apply(g)){t=g.length;for(i=0;iu()?(clearTimeout(d),d=setTimeout(b,c)):(e=u(),a())}var d,e=0;return b},x=function(a){return document.getElementById(a)},y=function(a){console.error(a)},ca=function(a,c){var b=[];z(a.split(/\s+/),function(a){z((c||document).getElementsByTagName(a),function(a){b.push(a)})});return b},z=function(a,c){if(a&&c)if("undefined"!=typeof a[0])for(var b=0,d=a.length;b"-_.!~*'()".indexOf(a)?a:"%"+a.charCodeAt(0).toString(16).toUpperCase()}).join("")},P=function(a){function c(a,b){U||(U=1,a||m(b),f.onerror=l,clearTimeout(A),setTimeout(function(){a&&B();var b=x(g),c=b&&b.parentNode;c&&c.removeChild(b)},O))}if(J||K()){a:{var b,d,e=function(){if(!w){w=1;clearTimeout(v); -try{d=JSON.parse(b.responseText)}catch(a){return h(1)}i(d)}},s=0,w=0,n=a.timeout||ja,v=setTimeout(function(){h(1)},n),k=a.b||p(),i=a.c||p(),h=function(a){s||(s=1,clearTimeout(v),b&&(b.onerror=b.onload=l,b.abort&&b.abort(),b=l),a&&k())};try{b=K()||window.XDomainRequest&&new XDomainRequest||new XMLHttpRequest;b.onerror=b.onabort=function(){h(1)};b.onload=b.onloadend=e;b.timeout=n;var j=a.url.join(ka);if(a.data){var e=[],t,j=j+"?";for(t in a.data)e.push(t+"="+a.data[t]);j+=e.join(la)}b.open("GET",j, -typeof("undefined"===a.i));b.send()}catch(q){h(0);J=0;a=P(a);break a}a=h}return a}var f=ia("script"),j=a.a,g=r(),U=0,A=setTimeout(function(){c(1)},a.timeout||ja),B=a.b||p(),m=a.c||p();window[j]=function(a){c(0,a)};a.i||(f[ma]=ma);f.onerror=function(){c(1)};f.src=a.url.join(ka);if(a.data){j=[];f.src+="?";for(e in a.data)j.push(e+"="+a.data[e]);f.src+=j.join(la)}F(f,"id",g);ga().appendChild(f);return c},na=function(a){var c=[];z(a,function(a,d){d.h&&c.push(a)});return c.sort()},sa=function(){setTimeout(function(){Q|| -(Q=1,z(ra,function(a){a()}))},O)},K=function(){if(!ta||!ta.get)return 0;var a={id:K.id++,send:p(),abort:function(){a.id={}},open:function(c,b){K[a.id]=a;ta.get(a.id,b)}};return a},aa=1,ea=/{([\w\-]+)}/g,ma="async",ka="/",la="&",ja=1E4,O=1E3,R="-pnpres",J=-1==navigator.userAgent.indexOf("MSIE 6");window.console||(window.console=window.console||{});console.log||(console.log=console.error=(window.opera||{}).postError||p());var S,V=window.localStorage;S={get:function(a){try{return V?V.getItem(a):-1== -document.cookie.indexOf(a)?l:((document.cookie||"").match(RegExp(a+"=([^;]+)"))||[])[1]||l}catch(c){}},set:function(a,c){try{if(V)return V.setItem(a,c)&&0;document.cookie=a+"="+c+"; expires=Thu, 1 Aug 2030 20:00:00 UTC; path=/"}catch(b){}}};var W,ua=Math.floor(20*Math.random());W=function(a,c){return 0++ua?ua:ua=1))||a};var Y={list:{},unbind:function(a){Y.list[a]=[]},bind:function(a,c){(Y.list[a]=Y.list[a]||[]).push(c)},fire:function(a, -c){z(Y.list[a]||[],function(a){a(c)})}},Z=x("pubnub")||0,Q=0,ra=[],va=function(a){function c(){}function b(){}function d(a){a&&(k.g=0);!k.g&&k.length&&(k.g=1,P(k.shift()))}function e(a){z(na(v),function(b){(b=v[b])&&a(b)})}function s(){!("onLine"in navigator)||navigator.onLine||n();setTimeout(s,O)}function w(){D.time(function(a){a||n();setTimeout(w,A)})}function n(){j&&j(1)}a.jsonp&&(J=0);var v={},k=[],i=0,h=0,j=0,t=0,q=0,f=0,g=+a.windowing||10,U=(+a.timeout||310)*O,A=(+a.keepalive||60)*O,B=a.publish_key|| -"",m=a.subscribe_key||"",T=a.ssl?"s":"",G=a.uuid||S.get(m+"uuid")||"",L="http"+T+"://"+(a.origin||"pubsub.pubnub.com"),H=W(L),oa=W(L),D={history:function(a,b){var b=a.callback||b,c=a.count||a.limit||100,d=a.reverse||"false",e=a.error||p(),g=a.channel,j=a.start,h=a.end,f={},i=M();if(!g)return y("Missing Channel");if(!b)return y("Missing Callback");if(!m)return y("Missing Subscribe Key");f.stringtoken="true";f.count=c;f.reverse=d;i&&(f.callback=i);j&&(f.start=j);h&&(f.end=h);P({a:i,data:f,c:function(a){b(a)}, -b:e,url:[H,"v2","history","sub-key",m,"channel",N(g)]})},replay:function(a){var b=b||a.callback||p(),c=a.source,d=a.destination,e=a.stop,f=a.start,g=a.end,j=a.reverse,a=a.limit,h=M(),i={};if(!c)return y("Missing Source Channel");if(!d)return y("Missing Destination Channel");if(!B)return y("Missing Publish Key");if(!m)return y("Missing Subscribe Key");"0"!=h&&(i.callback=h);e&&(i.stop="all");j&&(i.reverse="true");f&&(i.start=f);g&&(i.end=g);a&&(i.count=a);P({a:h,c:function(a){b(a)},b:function(){b([0, -"Disconnected"])},url:[H,"v1","replay",B,m,c,d],data:i})},time:function(a){var b=M();P({a:b,timeout:5*O,url:[H,"time",b],c:function(b){a(b[0])},b:function(){a(0)}})},publish:function(a,b){var b=b||a.callback||p(),c=a.message,e=a.channel,f=M();if(!c)return y("Missing Message");if(!e)return y("Missing Channel");if(!B)return y("Missing Publish Key");if(!m)return y("Missing Subscribe Key");c=JSON.stringify(c);e=[H,"publish",B,m,0,N(e),f,N(c)];k.push({a:f,timeout:5*O,url:e,data:{uuid:G},c:function(a){b(a); -d(1)},b:function(){b([0,"Failed",c]);d(1)}});d()},unsubscribe:function(a){a=a.channel;f=0;t=1;a=C((a.join?a.join(","):""+a).split(","),function(a){return a+","+a+R}).join(",");z(a.split(","),function(a){Q&&b(a,0);v[a]=0});Q&&c()},subscribe:function(a,b){function d(a){a?setTimeout(k,O):(H=W(L,1),oa=W(L,1),setTimeout(function(){D.time(d)},O));e(function(b){if(a&&b.d)return b.d=0,b.m(b.name);!a&&!b.d&&(b.d=1,b.l(b.name))})}function k(){var a=M(),b=na(v).join(",");b&&(j=P({timeout:xa,a:a,b:function(){D.time(d)}, -data:{uuid:G},url:[oa,"subscribe",m,N(b),a,f],c:function(a){if(!a)return setTimeout(k,qa);e(function(a){a.f||(a.f=1,a.k(a.name))});f=!f&&t&&S.get(m)||a[1];pa&&(f=1E4,pa=0);S.set(m,a[1]);var b,c=(2++ea?ea:ea=1))||b}; +function fa(b,c){function a(){e+c>P()?(clearTimeout(d),d=setTimeout(a,c)):(e=P(),b())}var d,e=0;return a}function ga(b,c){var a=[];T(b||[],function(b){c(b)&&a.push(b)});return a}function la(b,c){return b.replace(da,function(a,b){return c[b]||a})}function U(b,c){return setTimeout(b,c)}function S(b){var c="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});b&&b(c);return c} +function T(b,c){if(b&&c)if("undefined"!=typeof b[0])for(var a=0,d=b.length;a"-_.!~*'()".indexOf(b)?b:"%"+b.charCodeAt(0).toString(16).toUpperCase()}).join("")}function Y(b){var c=[];T(b,function(a,b){b.h&&c.push(a)});return c.sort()} +function Z(){U(function(){H||(H=1,T(I,function(b){b()}))},M)} +function $(b){function c(){}function a(a){a&&(m.j=0);!m.j&&m.length&&(m.j=1,z(m.shift()))}function d(a){T(Y(x),function(b){(b=x[b])&&a(b)})}var e=+b.windowing||aa,k=(+b.timeout||ba)*M,w=(+b.keepalive||ca)*M,l=b.publish_key||"",p=b.subscribe_key||"",q=b.ssl?"s":"",h="http"+q+"://"+(b.origin||"pubsub.pubnub.com"),g=Q(h),i=Q(h),m=[],j=0,n=0,f=0,D=0,J=0,B=0,x={},z=b.xdr,N=b._is_online||A(1),C=b.jsonp_cb||A(0),F=b.db||{get:y(),set:y()},G=b.uuid||F&&F.get(p+"uuid")||"",s={_reset_offline:function(){f&&f(1)}, +LEAVE:function(a,b){var c={uuid:G},d=Q(h),e=C();0++La?La:La=1))||b}; +function fa(b,c){function a(){e+c>P()?(clearTimeout(d),d=setTimeout(a,c)):(e=P(),b())}var d,e=0;return a}function ga(b,c){var a=[];T(b||[],function(b){c(b)&&a.push(b)});return a}function la(b,c){return b.replace(da,function(a,b){return c[b]||a})}function U(b,c){return setTimeout(b,c)}function S(b){var c="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});b&&b(c);return c} +function T(b,c){if(b&&c)if("undefined"!=typeof b[0])for(var a=0,d=b.length;a"-_.!~*'()".indexOf(b)?b:"%"+b.charCodeAt(0).toString(16).toUpperCase()}).join("")}function Y(b){var c=[];T(b,function(a,b){b.h&&c.push(a)});return c.sort()} +function Z(){U(function(){H||(H=1,T(I,function(b){b()}))},M)} +function $(b){function c(){}function a(a){a&&(m.j=0);!m.j&&m.length&&(m.j=1,z(m.shift()))}function d(a){T(Y(x),function(b){(b=x[b])&&a(b)})}var e=+b.windowing||aa,k=(+b.timeout||ba)*M,w=(+b.keepalive||ca)*M,l=b.publish_key||"",p=b.subscribe_key||"",q=b.ssl?"s":"",h="http"+q+"://"+(b.origin||"pubsub.pubnub.com"),g=Q(h),i=Q(h),m=[],j=0,n=0,f=0,D=0,J=0,B=0,x={},z=b.xdr,N=b._is_online||A(1),C=b.jsonp_cb||A(0),F=b.db||{get:y(),set:y()},G=b.uuid||F&&F.get(p+"uuid")||"",s={_reset_offline:function(){f&&f(1)}, +LEAVE:function(a,b){var c={uuid:G},d=Q(h),e=C();0++Hb?Hb:Hb=1))||b}; +function fa(b,c){function a(){e+c>P()?(clearTimeout(d),d=setTimeout(a,c)):(e=P(),b())}var d,e=0;return a}function ga(b,c){var a=[];T(b||[],function(b){c(b)&&a.push(b)});return a}function la(b,c){return b.replace(da,function(a,b){return c[b]||a})}function U(b,c){return setTimeout(b,c)}function S(b){var c="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});b&&b(c);return c} +function T(b,c){if(b&&c)if("undefined"!=typeof b[0])for(var a=0,d=b.length;a"-_.!~*'()".indexOf(b)?b:"%"+b.charCodeAt(0).toString(16).toUpperCase()}).join("")}function Y(b){var c=[];T(b,function(a,b){b.h&&c.push(a)});return c.sort()} +function Z(){U(function(){H||(H=1,T(I,function(b){b()}))},M)} +function $(b){function c(){}function a(a){a&&(m.j=0);!m.j&&m.length&&(m.j=1,z(m.shift()))}function d(a){T(Y(x),function(b){(b=x[b])&&a(b)})}var e=+b.windowing||aa,k=(+b.timeout||ba)*M,w=(+b.keepalive||ca)*M,l=b.publish_key||"",p=b.subscribe_key||"",q=b.ssl?"s":"",h="http"+q+"://"+(b.origin||"pubsub.pubnub.com"),g=Q(h),i=Q(h),m=[],j=0,n=0,f=0,D=0,J=0,B=0,x={},z=b.xdr,N=b._is_online||A(1),C=b.jsonp_cb||A(0),F=b.db||{get:y(),set:y()},G=b.uuid||F&&F.get(p+"uuid")||"",s={_reset_offline:function(){f&&f(1)}, +LEAVE:function(a,b){var c={uuid:G},d=Q(h),e=C();0++fc?fc:fc=1))||b}; +function fa(b,c){function a(){e+c>P()?(clearTimeout(d),d=setTimeout(a,c)):(e=P(),b())}var d,e=0;return a}function ga(b,c){var a=[];T(b||[],function(b){c(b)&&a.push(b)});return a}function la(b,c){return b.replace(da,function(a,b){return c[b]||a})}function U(b,c){return setTimeout(b,c)}function S(b){var c="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});b&&b(c);return c} +function T(b,c){if(b&&c)if("undefined"!=typeof b[0])for(var a=0,d=b.length;a"-_.!~*'()".indexOf(b)?b:"%"+b.charCodeAt(0).toString(16).toUpperCase()}).join("")}function Y(b){var c=[];T(b,function(a,b){b.h&&c.push(a)});return c.sort()} +function Z(){U(function(){H||(H=1,T(I,function(b){b()}))},M)} +function $(b){function c(){}function a(a){a&&(m.j=0);!m.j&&m.length&&(m.j=1,z(m.shift()))}function d(a){T(Y(x),function(b){(b=x[b])&&a(b)})}var e=+b.windowing||aa,k=(+b.timeout||ba)*M,w=(+b.keepalive||ca)*M,l=b.publish_key||"",p=b.subscribe_key||"",q=b.ssl?"s":"",h="http"+q+"://"+(b.origin||"pubsub.pubnub.com"),g=Q(h),i=Q(h),m=[],j=0,n=0,f=0,D=0,J=0,B=0,x={},z=b.xdr,N=b._is_online||A(1),C=b.jsonp_cb||A(0),F=b.db||{get:y(),set:y()},G=b.uuid||F&&F.get(p+"uuid")||"",s={_reset_offline:function(){f&&f(1)}, +LEAVE:function(a,b){var c={uuid:G},d=Q(h),e=C();0++Fc?Fc:Fc=1))||b}; +function fa(b,c){function a(){e+c>P()?(clearTimeout(d),d=setTimeout(a,c)):(e=P(),b())}var d,e=0;return a}function ga(b,c){var a=[];T(b||[],function(b){c(b)&&a.push(b)});return a}function la(b,c){return b.replace(da,function(a,b){return c[b]||a})}function U(b,c){return setTimeout(b,c)}function S(b){var c="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});b&&b(c);return c} +function T(b,c){if(b&&c)if("undefined"!=typeof b[0])for(var a=0,d=b.length;a"-_.!~*'()".indexOf(b)?b:"%"+b.charCodeAt(0).toString(16).toUpperCase()}).join("")}function Y(b){var c=[];T(b,function(a,b){b.h&&c.push(a)});return c.sort()} +function Z(){U(function(){H||(H=1,T(I,function(b){b()}))},M)} +function $(b){function c(){}function a(a){a&&(m.j=0);!m.j&&m.length&&(m.j=1,z(m.shift()))}function d(a){T(Y(x),function(b){(b=x[b])&&a(b)})}var e=+b.windowing||aa,k=(+b.timeout||ba)*M,w=(+b.keepalive||ca)*M,l=b.publish_key||"",p=b.subscribe_key||"",q=b.ssl?"s":"",h="http"+q+"://"+(b.origin||"pubsub.pubnub.com"),g=Q(h),i=Q(h),m=[],j=0,n=0,f=0,D=0,J=0,B=0,x={},z=b.xdr,N=b._is_online||A(1),C=b.jsonp_cb||A(0),F=b.db||{get:y(),set:y()},G=b.uuid||F&&F.get(p+"uuid")||"",s={_reset_offline:function(){f&&f(1)}, +LEAVE:function(a,b){var c={uuid:G},d=Q(h),e=C();0++dd?dd:dd=1))||b}; +function fa(b,c){function a(){e+c>P()?(clearTimeout(d),d=setTimeout(a,c)):(e=P(),b())}var d,e=0;return a}function ga(b,c){var a=[];T(b||[],function(b){c(b)&&a.push(b)});return a}function la(b,c){return b.replace(da,function(a,b){return c[b]||a})}function U(b,c){return setTimeout(b,c)}function S(b){var c="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});b&&b(c);return c} +function T(b,c){if(b&&c)if("undefined"!=typeof b[0])for(var a=0,d=b.length;a"-_.!~*'()".indexOf(b)?b:"%"+b.charCodeAt(0).toString(16).toUpperCase()}).join("")}function Y(b){var c=[];T(b,function(a,b){b.h&&c.push(a)});return c.sort()} +function Z(){U(function(){H||(H=1,T(I,function(b){b()}))},M)} +function $(b){function c(){}function a(a){a&&(m.j=0);!m.j&&m.length&&(m.j=1,z(m.shift()))}function d(a){T(Y(x),function(b){(b=x[b])&&a(b)})}var e=+b.windowing||aa,k=(+b.timeout||ba)*M,w=(+b.keepalive||ca)*M,l=b.publish_key||"",p=b.subscribe_key||"",q=b.ssl?"s":"",h="http"+q+"://"+(b.origin||"pubsub.pubnub.com"),g=Q(h),i=Q(h),m=[],j=0,n=0,f=0,D=0,J=0,B=0,x={},z=b.xdr,N=b._is_online||A(1),C=b.jsonp_cb||A(0),F=b.db||{get:y(),set:y()},G=b.uuid||F&&F.get(p+"uuid")||"",s={_reset_offline:function(){f&&f(1)}, +LEAVE:function(a,b){var c={uuid:G},d=Q(h),e=C();0++Cd?Cd:Cd=1))||b}; +function fa(b,c){function a(){e+c>P()?(clearTimeout(d),d=setTimeout(a,c)):(e=P(),b())}var d,e=0;return a}function ga(b,c){var a=[];T(b||[],function(b){c(b)&&a.push(b)});return a}function la(b,c){return b.replace(da,function(a,b){return c[b]||a})}function U(b,c){return setTimeout(b,c)}function S(b){var c="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});b&&b(c);return c} +function T(b,c){if(b&&c)if("undefined"!=typeof b[0])for(var a=0,d=b.length;a"-_.!~*'()".indexOf(b)?b:"%"+b.charCodeAt(0).toString(16).toUpperCase()}).join("")}function Y(b){var c=[];T(b,function(a,b){b.h&&c.push(a)});return c.sort()} +function Z(){U(function(){H||(H=1,T(I,function(b){b()}))},M)} +function $(b){function c(){}function a(a){a&&(m.j=0);!m.j&&m.length&&(m.j=1,z(m.shift()))}function d(a){T(Y(x),function(b){(b=x[b])&&a(b)})}var e=+b.windowing||aa,k=(+b.timeout||ba)*M,w=(+b.keepalive||ca)*M,l=b.publish_key||"",p=b.subscribe_key||"",q=b.ssl?"s":"",h="http"+q+"://"+(b.origin||"pubsub.pubnub.com"),g=Q(h),i=Q(h),m=[],j=0,n=0,f=0,D=0,J=0,B=0,x={},z=b.xdr,N=b._is_online||A(1),C=b.jsonp_cb||A(0),F=b.db||{get:y(),set:y()},G=b.uuid||F&&F.get(p+"uuid")||"",s={_reset_offline:function(){f&&f(1)}, +LEAVE:function(a,b){var c={uuid:G},d=Q(h),e=C();0++ae?ae:ae=1))||b}; +function fa(b,c){function a(){e+c>P()?(clearTimeout(d),d=setTimeout(a,c)):(e=P(),b())}var d,e=0;return a}function ga(b,c){var a=[];T(b||[],function(b){c(b)&&a.push(b)});return a}function la(b,c){return b.replace(da,function(a,b){return c[b]||a})}function U(b,c){return setTimeout(b,c)}function S(b){var c="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});b&&b(c);return c} +function T(b,c){if(b&&c)if("undefined"!=typeof b[0])for(var a=0,d=b.length;a"-_.!~*'()".indexOf(b)?b:"%"+b.charCodeAt(0).toString(16).toUpperCase()}).join("")}function Y(b){var c=[];T(b,function(a,b){b.h&&c.push(a)});return c.sort()} +function Z(){U(function(){H||(H=1,T(I,function(b){b()}))},M)} +function $(b){function c(){}function a(a){a&&(m.j=0);!m.j&&m.length&&(m.j=1,z(m.shift()))}function d(a){T(Y(x),function(b){(b=x[b])&&a(b)})}var e=+b.windowing||aa,k=(+b.timeout||ba)*M,w=(+b.keepalive||ca)*M,l=b.publish_key||"",p=b.subscribe_key||"",q=b.ssl?"s":"",h="http"+q+"://"+(b.origin||"pubsub.pubnub.com"),g=Q(h),i=Q(h),m=[],j=0,n=0,f=0,D=0,J=0,B=0,x={},z=b.xdr,N=b._is_online||A(1),C=b.jsonp_cb||A(0),F=b.db||{get:y(),set:y()},G=b.uuid||F&&F.get(p+"uuid")||"",s={_reset_offline:function(){f&&f(1)}, +LEAVE:function(a,b){var c={uuid:G},d=Q(h),e=C();0++ze?ze:ze=1))||b}; +function fa(b,c){function a(){e+c>P()?(clearTimeout(d),d=setTimeout(a,c)):(e=P(),b())}var d,e=0;return a}function ga(b,c){var a=[];T(b||[],function(b){c(b)&&a.push(b)});return a}function la(b,c){return b.replace(da,function(a,b){return c[b]||a})}function U(b,c){return setTimeout(b,c)}function S(b){var c="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});b&&b(c);return c} +function T(b,c){if(b&&c)if("undefined"!=typeof b[0])for(var a=0,d=b.length;a"-_.!~*'()".indexOf(b)?b:"%"+b.charCodeAt(0).toString(16).toUpperCase()}).join("")}function Y(b){var c=[];T(b,function(a,b){b.h&&c.push(a)});return c.sort()} +function Z(){U(function(){H||(H=1,T(I,function(b){b()}))},M)} +function $(b){function c(){}function a(a){a&&(m.j=0);!m.j&&m.length&&(m.j=1,z(m.shift()))}function d(a){T(Y(x),function(b){(b=x[b])&&a(b)})}var e=+b.windowing||aa,k=(+b.timeout||ba)*M,w=(+b.keepalive||ca)*M,l=b.publish_key||"",p=b.subscribe_key||"",q=b.ssl?"s":"",h="http"+q+"://"+(b.origin||"pubsub.pubnub.com"),g=Q(h),i=Q(h),m=[],j=0,n=0,f=0,D=0,J=0,B=0,x={},z=b.xdr,N=b._is_online||A(1),C=b.jsonp_cb||A(0),F=b.db||{get:y(),set:y()},G=b.uuid||F&&F.get(p+"uuid")||"",s={_reset_offline:function(){f&&f(1)}, +LEAVE:function(a,b){var c={uuid:G},d=Q(h),e=C();0++Ye?Ye:Ye=1))||b}; +function fa(b,c){function a(){e+c>P()?(clearTimeout(d),d=setTimeout(a,c)):(e=P(),b())}var d,e=0;return a}function ga(b,c){var a=[];T(b||[],function(b){c(b)&&a.push(b)});return a}function la(b,c){return b.replace(da,function(a,b){return c[b]||a})}function U(b,c){return setTimeout(b,c)}function S(b){var c="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});b&&b(c);return c} +function T(b,c){if(b&&c)if("undefined"!=typeof b[0])for(var a=0,d=b.length;a"-_.!~*'()".indexOf(b)?b:"%"+b.charCodeAt(0).toString(16).toUpperCase()}).join("")}function Y(b){var c=[];T(b,function(a,b){b.h&&c.push(a)});return c.sort()} +function Z(){U(function(){H||(H=1,T(I,function(b){b()}))},M)} +function $(b){function c(){}function a(a){a&&(m.j=0);!m.j&&m.length&&(m.j=1,z(m.shift()))}function d(a){T(Y(x),function(b){(b=x[b])&&a(b)})}var e=+b.windowing||aa,k=(+b.timeout||ba)*M,w=(+b.keepalive||ca)*M,l=b.publish_key||"",p=b.subscribe_key||"",q=b.ssl?"s":"",h="http"+q+"://"+(b.origin||"pubsub.pubnub.com"),g=Q(h),i=Q(h),m=[],j=0,n=0,f=0,D=0,J=0,B=0,x={},z=b.xdr,N=b._is_online||A(1),C=b.jsonp_cb||A(0),F=b.db||{get:y(),set:y()},G=b.uuid||F&&F.get(p+"uuid")||"",s={_reset_offline:function(){f&&f(1)}, +LEAVE:function(a,b){var c={uuid:G},d=Q(h),e=C();0q;q++)c+=String.fromCharCode(b[q]);return c},u=function(b,f){var c=[],d;if(!f)try{b=unescape(encodeURIComponent(b))}catch(q){throw"Error on UTF-8 encode";}for(d=0;dj.length&&(t=16-j.length,r=[t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t]);for(t=0;td;d++)c[d]=f[b[d]];return c},E=function(b){var f=[],c=s?[0,13,10,7,4,1,14,11,8,5,2,15,12,9,6,3]:[0,5,10,15,4,9,14,3,8,13,2,7,12,1,6,11],d;for(d=0;16>d;d++)f[d]=b[c[d]];return f},F=function(b){var f=[],c;if(s)for(c=0;4>c;c++)f[4*c]=L[b[4*c]]^M[b[1+4*c]]^N[b[2+4*c]]^O[b[3+4*c]],f[1+4*c]=O[b[4*c]]^L[b[1+4*c]]^M[b[2+4*c]]^N[b[3+4*c]],f[2+4*c]=N[b[4*c]]^O[b[1+4*c]]^L[b[2+4*c]]^M[b[3+4*c]], -f[3+4*c]=M[b[4*c]]^N[b[1+4*c]]^O[b[2+4*c]]^L[b[3+4*c]];else for(c=0;4>c;c++)f[4*c]=P[b[4*c]]^Q[b[1+4*c]]^b[2+4*c]^b[3+4*c],f[1+4*c]=b[4*c]^P[b[1+4*c]]^Q[b[2+4*c]]^b[3+4*c],f[2+4*c]=b[4*c]^b[1+4*c]^P[b[2+4*c]]^Q[b[3+4*c]],f[3+4*c]=Q[b[4*c]]^b[1+4*c]^b[2+4*c]^P[b[3+4*c]];return f},C=function(b,f,c){var d=[],q;for(q=0;16>q;q++)d[q]=b[q]^f[c][q];return d},B=function(b,f){var c=[],d;for(d=0;16>d;d++)c[d]=b[d]^f[d];return c},x=function(b){var f=[],c=[],d,q,p=[];for(d=0;db;b++)c[b]=f[d-1][b];if(0===d%j){b=c[0];q=void 0;for(q=0;4>q;q++)c[q]=c[q+1];c[3]=b;c=G(c);c[0]^=X[d/j-1]}else 6b;b++)f[d][b]=f[d-j][b]^c[b]}for(d=0;dc;c++)p[d].push(f[4*d+c][0],f[4*d+c][1],f[4*d+c][2],f[4*d+c][3])}return p},G=function(b){for(var f=0;4>f;f++)b[f]=S[b[f]];return b},H=function(b,f){var c=[];for(i=0;ic;c++){for(var d=f,q=c,e=b,j=c,m=void 0,p=void 0,m=p=0;8>m;m++)p=1==(j&1)?p^e:p,e=127>>=1;d[q]=p}return f},S=H("637c777bf26b6fc53001672bfed7ab76ca82c97dfa5947f0add4a2af9ca472c0b7fd9326363ff7cc34a5e5f171d8311504c723c31896059a071280e2eb27b27509832c1a1b6e5aa0523bd6b329e32f8453d100ed20fcb15b6acbbe394a4c58cfd0efaafb434d338545f9027f503c9fa851a3408f929d38f5bcb6da2110fff3d2cd0c13ec5f974417c4a77e3d645d197360814fdc222a908846eeb814de5e0bdbe0323a0a4906245cc2d3ac629195e479e7c8376d8dd54ea96c56f4ea657aae08ba78252e1ca6b4c6e8dd741f4bbd8b8a703eb5664803f60e613557b986c11d9ee1f8981169d98e949b1e87e9ce5528df8ca1890dbfe6426841992d0fb054bb16", -2),U,V=S,W=[];for(i=0;i>2],c+=K[(f[d]&3)<<4|f[d+1]>>4],c=void 0!== -f[d+1]?c+K[(f[d+1]&15)<<2|f[d+2]>>6]:c+"=",c=void 0!==f[d+2]?c+K[f[d+2]&63]:c+"=";b=c.slice(0,64);for(d=1;d>4,d[1]=(c[1]&15)<<4|c[2]>>2,d[2]=(c[2]&3)<<6|c[3],f.push(d[0],d[1],d[2]); -return f=f.slice(0,f.length-f.length%16)}};return{size:function(b){switch(b){case 128:e=10;j=4;break;case 192:e=12;j=6;break;case 256:e=14;j=8;break;default:throw"Invalid Key Size Specified:"+b;}},h2a:function(b){var f=[];b.replace(/(..)/g,function(b){f.push(parseInt(b,16))});return f},expandKey:x,encryptBlock:z,decryptBlock:D,Decrypt:s,s2a:u,rawEncrypt:r,rawDecrypt:w,dec:function(b,f,c){var b=R.decode(b),d=b.slice(8,16),d=p(u(f,c),d),f=d.key,d=d.iv,b=b.slice(16,b.length);return b=w(b,f,d,c)},openSSLKey:p, -a2h:function(b){var f="",c;for(c=0;cb[c]?"0":"")+b[c].toString(16);return f},enc:function(b,f,c){var d;d=[];var e;for(e=0;8>e;e++)d=d.concat(Math.floor(256*Math.random()));e=p(u(f,c),d);f=e.key;e=e.iv;d=[[83,97,108,116,101,100,95,95].concat(d)];b=u(b,c);b=r(b,f,e);b=d.concat(b);return R.encode(b)},Hash:{MD5:function(b){function f(b,c){var d,e,f,g,h;f=b&2147483648;g=c&2147483648;d=b&1073741824;e=c&1073741824;h=(b&1073741823)+(c&1073741823);return d&e?h^2147483648^f^g:d|e?h&1073741824? -h^3221225472^f^g:h^1073741824^f^g:h^f^g}function c(b,c,d,e,g,h,k){b=f(b,f(f(c&d|~c&e,g),k));return f(b<>>32-h,c)}function d(b,c,d,e,g,h,k){b=f(b,f(f(c&e|d&~e,g),k));return f(b<>>32-h,c)}function e(b,c,d,g,h,k,l){b=f(b,f(f(c^d^g,h),l));return f(b<>>32-k,c)}function j(b,c,d,e,g,h,k){b=f(b,f(f(d^(c|~e),g),k));return f(b<>>32-h,c)}function p(b){var c,d,e=[];for(d=0;3>=d;d++)c=b>>>8*d&255,e=e.concat(c);return e}var m=[],r,s,w,t,g,h,k,l,n=H("67452301efcdab8998badcfe10325476d76aa478e8c7b756242070dbc1bdceeef57c0faf4787c62aa8304613fd469501698098d88b44f7afffff5bb1895cd7be6b901122fd987193a679438e49b40821f61e2562c040b340265e5a51e9b6c7aad62f105d02441453d8a1e681e7d3fbc821e1cde6c33707d6f4d50d87455a14eda9e3e905fcefa3f8676f02d98d2a4c8afffa39428771f6816d9d6122fde5380ca4beea444bdecfa9f6bb4b60bebfbc70289b7ec6eaa127fad4ef308504881d05d9d4d039e6db99e51fa27cf8c4ac5665f4292244432aff97ab9423a7fc93a039655b59c38f0ccc92ffeff47d85845dd16fa87e4ffe2ce6e0a30143144e0811a1f7537e82bd3af2352ad7d2bbeb86d391", -8),m=b.length;r=m+8;s=16*((r-r%64)/64+1);w=[];for(g=t=0;g>>29;m=w;g=n[0];h=n[1];k=n[2];l=n[3];for(b=0;b>16)+(j>>16)+(p>>16)<<16|p&65535}function s(e,j){return e>>>j|e<<32-j}var v;v=e.replace(/\r\n/g,"\n");for(var e="",u=0;up?e+=String.fromCharCode(p):(127p?e+=String.fromCharCode(p>>6|192):(e+=String.fromCharCode(p>>12|224),e+=String.fromCharCode(p>>6&63|128)),e+=String.fromCharCode(p&63|128))}u=e;v=[];for(p=0;p<8*u.length;p+=8)v[p>>5]|=(u.charCodeAt(p/8)&255)<<24-p%32;var r=8*e.length, -u=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909, -275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],e=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],p=Array(64),w,z,D,y,E,F,C,B,x,G,H;v[r>>5]|=128<<24-r%32;v[(r+64>>9<<4)+15]=r;for(B=0;Bx;x++)p[x]=16>x?v[x+B]:j(j(j(s(p[x-2],17)^s(p[x-2],19)^p[x- -2]>>>10,p[x-7]),s(p[x-15],7)^s(p[x-15],18)^p[x-15]>>>3),p[x-16]),G=j(j(j(j(C,s(y,6)^s(y,11)^s(y,25)),y&E^~y&F),u[x]),p[x]),H=j(s(r,2)^s(r,13)^s(r,22),r&w^r&z^w&z),C=F,F=E,E=y,y=j(D,G),D=z,z=w,w=r,r=j(G,H);e[0]=j(r,e[0]);e[1]=j(w,e[1]);e[2]=j(z,e[2]);e[3]=j(D,e[3]);e[4]=j(y,e[4]);e[5]=j(E,e[5]);e[6]=j(F,e[6]);e[7]=j(C,e[7])}v="";for(u=0;u<4*e.length;u++)v+="0123456789abcdef".charAt(e[u>>2]>>8*(3-u%4)+4&15)+"0123456789abcdef".charAt(e[u>>2]>>8*(3-u%4)&15);return v}; +PUBNUB['crypto'] = (function(){ + var Nr = 14, + /* Default to 256 Bit Encryption */ + Nk = 8, + Decrypt = false, + + enc_utf8 = function(s) + { + try { + return unescape(encodeURIComponent(s)); + } + catch(e) { + throw 'Error on UTF-8 encode'; + } + }, + + dec_utf8 = function(s) + { + try { + return decodeURIComponent(escape(s)); + } + catch(e) { + throw ('Bad Key'); + } + }, + + padBlock = function(byteArr) + { + var array = [], cpad, i; + if (byteArr.length < 16) { + cpad = 16 - byteArr.length; + array = [cpad, cpad, cpad, cpad, cpad, cpad, cpad, cpad, cpad, cpad, cpad, cpad, cpad, cpad, cpad, cpad]; + } + for (i = 0; i < byteArr.length; i++) + { + array[i] = byteArr[i]; + } + return array; + }, + + block2s = function(block, lastBlock) + { + var string = '', padding, i; + if (lastBlock) { + padding = block[15]; + if (padding > 16) { + throw ('Decryption error: Maybe bad key'); + } + if (padding == 16) { + return ''; + } + for (i = 0; i < 16 - padding; i++) { + string += String.fromCharCode(block[i]); + } + } else { + for (i = 0; i < 16; i++) { + string += String.fromCharCode(block[i]); + } + } + return string; + }, + + a2h = function(numArr) + { + var string = '', i; + for (i = 0; i < numArr.length; i++) { + string += (numArr[i] < 16 ? '0': '') + numArr[i].toString(16); + } + return string; + }, + + h2a = function(s) + { + var ret = []; + s.replace(/(..)/g, + function(s) { + ret.push(parseInt(s, 16)); + }); + return ret; + }, + + s2a = function(string, binary) { + var array = [], i; + + if (! binary) { + string = enc_utf8(string); + } + + for (i = 0; i < string.length; i++) + { + array[i] = string.charCodeAt(i); + } + + return array; + }, + + size = function(newsize) + { + switch (newsize) + { + case 128: + Nr = 10; + Nk = 4; + break; + case 192: + Nr = 12; + Nk = 6; + break; + case 256: + Nr = 14; + Nk = 8; + break; + default: + throw ('Invalid Key Size Specified:' + newsize); + } + }, + + randArr = function(num) { + var result = [], i; + for (i = 0; i < num; i++) { + result = result.concat(Math.floor(Math.random() * 256)); + } + return result; + }, + + openSSLKey = function(passwordArr, saltArr) { + // Number of rounds depends on the size of the AES in use + // 3 rounds for 256 + // 2 rounds for the key, 1 for the IV + // 2 rounds for 128 + // 1 round for the key, 1 round for the IV + // 3 rounds for 192 since it's not evenly divided by 128 bits + var rounds = Nr >= 12 ? 3: 2, + key = [], + iv = [], + md5_hash = [], + result = [], + data00 = passwordArr.concat(saltArr), + i; + md5_hash[0] = GibberishAES.Hash.MD5(data00); + result = md5_hash[0]; + for (i = 1; i < rounds; i++) { + md5_hash[i] = GibberishAES.Hash.MD5(md5_hash[i - 1].concat(data00)); + result = result.concat(md5_hash[i]); + } + key = result.slice(0, 4 * Nk); + iv = result.slice(4 * Nk, 4 * Nk + 16); + return { + key: key, + iv: iv + }; + }, + + rawEncrypt = function(plaintext, key, iv) { + // plaintext, key and iv as byte arrays + key = expandKey(key); + var numBlocks = Math.ceil(plaintext.length / 16), + blocks = [], + i, + cipherBlocks = []; + for (i = 0; i < numBlocks; i++) { + blocks[i] = padBlock(plaintext.slice(i * 16, i * 16 + 16)); + } + if (plaintext.length % 16 === 0) { + blocks.push([16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16]); + // CBC OpenSSL padding scheme + numBlocks++; + } + for (i = 0; i < blocks.length; i++) { + blocks[i] = (i === 0) ? xorBlocks(blocks[i], iv) : xorBlocks(blocks[i], cipherBlocks[i - 1]); + cipherBlocks[i] = encryptBlock(blocks[i], key); + } + return cipherBlocks; + }, + + rawDecrypt = function(cryptArr, key, iv, binary) { + // cryptArr, key and iv as byte arrays + key = expandKey(key); + var numBlocks = cryptArr.length / 16, + cipherBlocks = [], + i, + plainBlocks = [], + string = ''; + for (i = 0; i < numBlocks; i++) { + cipherBlocks.push(cryptArr.slice(i * 16, (i + 1) * 16)); + } + for (i = cipherBlocks.length - 1; i >= 0; i--) { + plainBlocks[i] = decryptBlock(cipherBlocks[i], key); + plainBlocks[i] = (i === 0) ? xorBlocks(plainBlocks[i], iv) : xorBlocks(plainBlocks[i], cipherBlocks[i - 1]); + } + for (i = 0; i < numBlocks - 1; i++) { + string += block2s(plainBlocks[i]); + } + string += block2s(plainBlocks[i], true); + return binary ? string : dec_utf8(string); + }, + + encryptBlock = function(block, words) { + Decrypt = false; + var state = addRoundKey(block, words, 0), + round; + for (round = 1; round < (Nr + 1); round++) { + state = subBytes(state); + state = shiftRows(state); + if (round < Nr) { + state = mixColumns(state); + } + //last round? don't mixColumns + state = addRoundKey(state, words, round); + } + + return state; + }, + + decryptBlock = function(block, words) { + Decrypt = true; + var state = addRoundKey(block, words, Nr), + round; + for (round = Nr - 1; round > -1; round--) { + state = shiftRows(state); + state = subBytes(state); + state = addRoundKey(state, words, round); + if (round > 0) { + state = mixColumns(state); + } + //last round? don't mixColumns + } + + return state; + }, + + subBytes = function(state) { + var S = Decrypt ? SBoxInv: SBox, + temp = [], + i; + for (i = 0; i < 16; i++) { + temp[i] = S[state[i]]; + } + return temp; + }, + + shiftRows = function(state) { + var temp = [], + shiftBy = Decrypt ? [0, 13, 10, 7, 4, 1, 14, 11, 8, 5, 2, 15, 12, 9, 6, 3] : [0, 5, 10, 15, 4, 9, 14, 3, 8, 13, 2, 7, 12, 1, 6, 11], + i; + for (i = 0; i < 16; i++) { + temp[i] = state[shiftBy[i]]; + } + return temp; + }, + + mixColumns = function(state) { + var t = [], + c; + if (!Decrypt) { + for (c = 0; c < 4; c++) { + t[c * 4] = G2X[state[c * 4]] ^ G3X[state[1 + c * 4]] ^ state[2 + c * 4] ^ state[3 + c * 4]; + t[1 + c * 4] = state[c * 4] ^ G2X[state[1 + c * 4]] ^ G3X[state[2 + c * 4]] ^ state[3 + c * 4]; + t[2 + c * 4] = state[c * 4] ^ state[1 + c * 4] ^ G2X[state[2 + c * 4]] ^ G3X[state[3 + c * 4]]; + t[3 + c * 4] = G3X[state[c * 4]] ^ state[1 + c * 4] ^ state[2 + c * 4] ^ G2X[state[3 + c * 4]]; + } + }else { + for (c = 0; c < 4; c++) { + t[c*4] = GEX[state[c*4]] ^ GBX[state[1+c*4]] ^ GDX[state[2+c*4]] ^ G9X[state[3+c*4]]; + t[1+c*4] = G9X[state[c*4]] ^ GEX[state[1+c*4]] ^ GBX[state[2+c*4]] ^ GDX[state[3+c*4]]; + t[2+c*4] = GDX[state[c*4]] ^ G9X[state[1+c*4]] ^ GEX[state[2+c*4]] ^ GBX[state[3+c*4]]; + t[3+c*4] = GBX[state[c*4]] ^ GDX[state[1+c*4]] ^ G9X[state[2+c*4]] ^ GEX[state[3+c*4]]; + } + } + + return t; + }, + + addRoundKey = function(state, words, round) { + var temp = [], + i; + for (i = 0; i < 16; i++) { + temp[i] = state[i] ^ words[round][i]; + } + return temp; + }, + + xorBlocks = function(block1, block2) { + var temp = [], + i; + for (i = 0; i < 16; i++) { + temp[i] = block1[i] ^ block2[i]; + } + return temp; + }, + + expandKey = function(key) { + // Expects a 1d number array + var w = [], + temp = [], + i, + r, + t, + flat = [], + j; + + for (i = 0; i < Nk; i++) { + r = [key[4 * i], key[4 * i + 1], key[4 * i + 2], key[4 * i + 3]]; + w[i] = r; + } + + for (i = Nk; i < (4 * (Nr + 1)); i++) { + w[i] = []; + for (t = 0; t < 4; t++) { + temp[t] = w[i - 1][t]; + } + if (i % Nk === 0) { + temp = subWord(rotWord(temp)); + temp[0] ^= Rcon[i / Nk - 1]; + } else if (Nk > 6 && i % Nk == 4) { + temp = subWord(temp); + } + for (t = 0; t < 4; t++) { + w[i][t] = w[i - Nk][t] ^ temp[t]; + } + } + for (i = 0; i < (Nr + 1); i++) { + flat[i] = []; + for (j = 0; j < 4; j++) { + flat[i].push(w[i * 4 + j][0], w[i * 4 + j][1], w[i * 4 + j][2], w[i * 4 + j][3]); + } + } + return flat; + }, + + subWord = function(w) { + // apply SBox to 4-byte word w + for (var i = 0; i < 4; i++) { + w[i] = SBox[w[i]]; + } + return w; + }, + + rotWord = function(w) { + // rotate 4-byte word w left by one byte + var tmp = w[0], + i; + for (i = 0; i < 4; i++) { + w[i] = w[i + 1]; + } + w[3] = tmp; + return w; + }, + +// jlcooke: 2012-07-12: added strhex + invertArr to compress G2X/G3X/G9X/GBX/GEX/SBox/SBoxInv/Rcon saving over 7KB, and added encString, decString + strhex = function(str,size) { + var ret = []; + for (i=0; i0x7f) ? 0x11b^(a<<1) : (a<<1); + b >>>= 1; + } + + return ret; + }, + Gx = function(x) { + var r = []; + for (var i=0; i<256; i++) + r[i] = Gxx(x, i); + return r; + }, + + // S-box +/* + SBox = [ + 99, 124, 119, 123, 242, 107, 111, 197, 48, 1, 103, 43, 254, 215, 171, + 118, 202, 130, 201, 125, 250, 89, 71, 240, 173, 212, 162, 175, 156, 164, + 114, 192, 183, 253, 147, 38, 54, 63, 247, 204, 52, 165, 229, 241, 113, + 216, 49, 21, 4, 199, 35, 195, 24, 150, 5, 154, 7, 18, 128, 226, + 235, 39, 178, 117, 9, 131, 44, 26, 27, 110, 90, 160, 82, 59, 214, + 179, 41, 227, 47, 132, 83, 209, 0, 237, 32, 252, 177, 91, 106, 203, + 190, 57, 74, 76, 88, 207, 208, 239, 170, 251, 67, 77, 51, 133, 69, + 249, 2, 127, 80, 60, 159, 168, 81, 163, 64, 143, 146, 157, 56, 245, + 188, 182, 218, 33, 16, 255, 243, 210, 205, 12, 19, 236, 95, 151, 68, + 23, 196, 167, 126, 61, 100, 93, 25, 115, 96, 129, 79, 220, 34, 42, + 144, 136, 70, 238, 184, 20, 222, 94, 11, 219, 224, 50, 58, 10, 73, + 6, 36, 92, 194, 211, 172, 98, 145, 149, 228, 121, 231, 200, 55, 109, + 141, 213, 78, 169, 108, 86, 244, 234, 101, 122, 174, 8, 186, 120, 37, + 46, 28, 166, 180, 198, 232, 221, 116, 31, 75, 189, 139, 138, 112, 62, + 181, 102, 72, 3, 246, 14, 97, 53, 87, 185, 134, 193, 29, 158, 225, + 248, 152, 17, 105, 217, 142, 148, 155, 30, 135, 233, 206, 85, 40, 223, + 140, 161, 137, 13, 191, 230, 66, 104, 65, 153, 45, 15, 176, 84, 187, + 22], //*/ SBox = strhex('637c777bf26b6fc53001672bfed7ab76ca82c97dfa5947f0add4a2af9ca472c0b7fd9326363ff7cc34a5e5f171d8311504c723c31896059a071280e2eb27b27509832c1a1b6e5aa0523bd6b329e32f8453d100ed20fcb15b6acbbe394a4c58cfd0efaafb434d338545f9027f503c9fa851a3408f929d38f5bcb6da2110fff3d2cd0c13ec5f974417c4a77e3d645d197360814fdc222a908846eeb814de5e0bdbe0323a0a4906245cc2d3ac629195e479e7c8376d8dd54ea96c56f4ea657aae08ba78252e1ca6b4c6e8dd741f4bbd8b8a703eb5664803f60e613557b986c11d9ee1f8981169d98e949b1e87e9ce5528df8ca1890dbfe6426841992d0fb054bb16',2), + + // Precomputed lookup table for the inverse SBox +/* SBoxInv = [ + 82, 9, 106, 213, 48, 54, 165, 56, 191, 64, 163, 158, 129, 243, 215, + 251, 124, 227, 57, 130, 155, 47, 255, 135, 52, 142, 67, 68, 196, 222, + 233, 203, 84, 123, 148, 50, 166, 194, 35, 61, 238, 76, 149, 11, 66, + 250, 195, 78, 8, 46, 161, 102, 40, 217, 36, 178, 118, 91, 162, 73, + 109, 139, 209, 37, 114, 248, 246, 100, 134, 104, 152, 22, 212, 164, 92, + 204, 93, 101, 182, 146, 108, 112, 72, 80, 253, 237, 185, 218, 94, 21, + 70, 87, 167, 141, 157, 132, 144, 216, 171, 0, 140, 188, 211, 10, 247, + 228, 88, 5, 184, 179, 69, 6, 208, 44, 30, 143, 202, 63, 15, 2, + 193, 175, 189, 3, 1, 19, 138, 107, 58, 145, 17, 65, 79, 103, 220, + 234, 151, 242, 207, 206, 240, 180, 230, 115, 150, 172, 116, 34, 231, 173, + 53, 133, 226, 249, 55, 232, 28, 117, 223, 110, 71, 241, 26, 113, 29, + 41, 197, 137, 111, 183, 98, 14, 170, 24, 190, 27, 252, 86, 62, 75, + 198, 210, 121, 32, 154, 219, 192, 254, 120, 205, 90, 244, 31, 221, 168, + 51, 136, 7, 199, 49, 177, 18, 16, 89, 39, 128, 236, 95, 96, 81, + 127, 169, 25, 181, 74, 13, 45, 229, 122, 159, 147, 201, 156, 239, 160, + 224, 59, 77, 174, 42, 245, 176, 200, 235, 187, 60, 131, 83, 153, 97, + 23, 43, 4, 126, 186, 119, 214, 38, 225, 105, 20, 99, 85, 33, 12, + 125], //*/ SBoxInv = invertArr(SBox), + + // Rijndael Rcon +/* + Rcon = [1, 2, 4, 8, 16, 32, 64, 128, 27, 54, 108, 216, 171, 77, 154, 47, 94, + 188, 99, 198, 151, 53, 106, 212, 179, 125, 250, 239, 197, 145], +//*/ Rcon = strhex('01020408102040801b366cd8ab4d9a2f5ebc63c697356ad4b37dfaefc591',2), + +/* + G2X = [ + 0x00, 0x02, 0x04, 0x06, 0x08, 0x0a, 0x0c, 0x0e, 0x10, 0x12, 0x14, 0x16, + 0x18, 0x1a, 0x1c, 0x1e, 0x20, 0x22, 0x24, 0x26, 0x28, 0x2a, 0x2c, 0x2e, + 0x30, 0x32, 0x34, 0x36, 0x38, 0x3a, 0x3c, 0x3e, 0x40, 0x42, 0x44, 0x46, + 0x48, 0x4a, 0x4c, 0x4e, 0x50, 0x52, 0x54, 0x56, 0x58, 0x5a, 0x5c, 0x5e, + 0x60, 0x62, 0x64, 0x66, 0x68, 0x6a, 0x6c, 0x6e, 0x70, 0x72, 0x74, 0x76, + 0x78, 0x7a, 0x7c, 0x7e, 0x80, 0x82, 0x84, 0x86, 0x88, 0x8a, 0x8c, 0x8e, + 0x90, 0x92, 0x94, 0x96, 0x98, 0x9a, 0x9c, 0x9e, 0xa0, 0xa2, 0xa4, 0xa6, + 0xa8, 0xaa, 0xac, 0xae, 0xb0, 0xb2, 0xb4, 0xb6, 0xb8, 0xba, 0xbc, 0xbe, + 0xc0, 0xc2, 0xc4, 0xc6, 0xc8, 0xca, 0xcc, 0xce, 0xd0, 0xd2, 0xd4, 0xd6, + 0xd8, 0xda, 0xdc, 0xde, 0xe0, 0xe2, 0xe4, 0xe6, 0xe8, 0xea, 0xec, 0xee, + 0xf0, 0xf2, 0xf4, 0xf6, 0xf8, 0xfa, 0xfc, 0xfe, 0x1b, 0x19, 0x1f, 0x1d, + 0x13, 0x11, 0x17, 0x15, 0x0b, 0x09, 0x0f, 0x0d, 0x03, 0x01, 0x07, 0x05, + 0x3b, 0x39, 0x3f, 0x3d, 0x33, 0x31, 0x37, 0x35, 0x2b, 0x29, 0x2f, 0x2d, + 0x23, 0x21, 0x27, 0x25, 0x5b, 0x59, 0x5f, 0x5d, 0x53, 0x51, 0x57, 0x55, + 0x4b, 0x49, 0x4f, 0x4d, 0x43, 0x41, 0x47, 0x45, 0x7b, 0x79, 0x7f, 0x7d, + 0x73, 0x71, 0x77, 0x75, 0x6b, 0x69, 0x6f, 0x6d, 0x63, 0x61, 0x67, 0x65, + 0x9b, 0x99, 0x9f, 0x9d, 0x93, 0x91, 0x97, 0x95, 0x8b, 0x89, 0x8f, 0x8d, + 0x83, 0x81, 0x87, 0x85, 0xbb, 0xb9, 0xbf, 0xbd, 0xb3, 0xb1, 0xb7, 0xb5, + 0xab, 0xa9, 0xaf, 0xad, 0xa3, 0xa1, 0xa7, 0xa5, 0xdb, 0xd9, 0xdf, 0xdd, + 0xd3, 0xd1, 0xd7, 0xd5, 0xcb, 0xc9, 0xcf, 0xcd, 0xc3, 0xc1, 0xc7, 0xc5, + 0xfb, 0xf9, 0xff, 0xfd, 0xf3, 0xf1, 0xf7, 0xf5, 0xeb, 0xe9, 0xef, 0xed, + 0xe3, 0xe1, 0xe7, 0xe5 + ], //*/ G2X = Gx(2), + +/* G3X = [ + 0x00, 0x03, 0x06, 0x05, 0x0c, 0x0f, 0x0a, 0x09, 0x18, 0x1b, 0x1e, 0x1d, + 0x14, 0x17, 0x12, 0x11, 0x30, 0x33, 0x36, 0x35, 0x3c, 0x3f, 0x3a, 0x39, + 0x28, 0x2b, 0x2e, 0x2d, 0x24, 0x27, 0x22, 0x21, 0x60, 0x63, 0x66, 0x65, + 0x6c, 0x6f, 0x6a, 0x69, 0x78, 0x7b, 0x7e, 0x7d, 0x74, 0x77, 0x72, 0x71, + 0x50, 0x53, 0x56, 0x55, 0x5c, 0x5f, 0x5a, 0x59, 0x48, 0x4b, 0x4e, 0x4d, + 0x44, 0x47, 0x42, 0x41, 0xc0, 0xc3, 0xc6, 0xc5, 0xcc, 0xcf, 0xca, 0xc9, + 0xd8, 0xdb, 0xde, 0xdd, 0xd4, 0xd7, 0xd2, 0xd1, 0xf0, 0xf3, 0xf6, 0xf5, + 0xfc, 0xff, 0xfa, 0xf9, 0xe8, 0xeb, 0xee, 0xed, 0xe4, 0xe7, 0xe2, 0xe1, + 0xa0, 0xa3, 0xa6, 0xa5, 0xac, 0xaf, 0xaa, 0xa9, 0xb8, 0xbb, 0xbe, 0xbd, + 0xb4, 0xb7, 0xb2, 0xb1, 0x90, 0x93, 0x96, 0x95, 0x9c, 0x9f, 0x9a, 0x99, + 0x88, 0x8b, 0x8e, 0x8d, 0x84, 0x87, 0x82, 0x81, 0x9b, 0x98, 0x9d, 0x9e, + 0x97, 0x94, 0x91, 0x92, 0x83, 0x80, 0x85, 0x86, 0x8f, 0x8c, 0x89, 0x8a, + 0xab, 0xa8, 0xad, 0xae, 0xa7, 0xa4, 0xa1, 0xa2, 0xb3, 0xb0, 0xb5, 0xb6, + 0xbf, 0xbc, 0xb9, 0xba, 0xfb, 0xf8, 0xfd, 0xfe, 0xf7, 0xf4, 0xf1, 0xf2, + 0xe3, 0xe0, 0xe5, 0xe6, 0xef, 0xec, 0xe9, 0xea, 0xcb, 0xc8, 0xcd, 0xce, + 0xc7, 0xc4, 0xc1, 0xc2, 0xd3, 0xd0, 0xd5, 0xd6, 0xdf, 0xdc, 0xd9, 0xda, + 0x5b, 0x58, 0x5d, 0x5e, 0x57, 0x54, 0x51, 0x52, 0x43, 0x40, 0x45, 0x46, + 0x4f, 0x4c, 0x49, 0x4a, 0x6b, 0x68, 0x6d, 0x6e, 0x67, 0x64, 0x61, 0x62, + 0x73, 0x70, 0x75, 0x76, 0x7f, 0x7c, 0x79, 0x7a, 0x3b, 0x38, 0x3d, 0x3e, + 0x37, 0x34, 0x31, 0x32, 0x23, 0x20, 0x25, 0x26, 0x2f, 0x2c, 0x29, 0x2a, + 0x0b, 0x08, 0x0d, 0x0e, 0x07, 0x04, 0x01, 0x02, 0x13, 0x10, 0x15, 0x16, + 0x1f, 0x1c, 0x19, 0x1a + ], //*/ G3X = Gx(3), + +/* + G9X = [ + 0x00, 0x09, 0x12, 0x1b, 0x24, 0x2d, 0x36, 0x3f, 0x48, 0x41, 0x5a, 0x53, + 0x6c, 0x65, 0x7e, 0x77, 0x90, 0x99, 0x82, 0x8b, 0xb4, 0xbd, 0xa6, 0xaf, + 0xd8, 0xd1, 0xca, 0xc3, 0xfc, 0xf5, 0xee, 0xe7, 0x3b, 0x32, 0x29, 0x20, + 0x1f, 0x16, 0x0d, 0x04, 0x73, 0x7a, 0x61, 0x68, 0x57, 0x5e, 0x45, 0x4c, + 0xab, 0xa2, 0xb9, 0xb0, 0x8f, 0x86, 0x9d, 0x94, 0xe3, 0xea, 0xf1, 0xf8, + 0xc7, 0xce, 0xd5, 0xdc, 0x76, 0x7f, 0x64, 0x6d, 0x52, 0x5b, 0x40, 0x49, + 0x3e, 0x37, 0x2c, 0x25, 0x1a, 0x13, 0x08, 0x01, 0xe6, 0xef, 0xf4, 0xfd, + 0xc2, 0xcb, 0xd0, 0xd9, 0xae, 0xa7, 0xbc, 0xb5, 0x8a, 0x83, 0x98, 0x91, + 0x4d, 0x44, 0x5f, 0x56, 0x69, 0x60, 0x7b, 0x72, 0x05, 0x0c, 0x17, 0x1e, + 0x21, 0x28, 0x33, 0x3a, 0xdd, 0xd4, 0xcf, 0xc6, 0xf9, 0xf0, 0xeb, 0xe2, + 0x95, 0x9c, 0x87, 0x8e, 0xb1, 0xb8, 0xa3, 0xaa, 0xec, 0xe5, 0xfe, 0xf7, + 0xc8, 0xc1, 0xda, 0xd3, 0xa4, 0xad, 0xb6, 0xbf, 0x80, 0x89, 0x92, 0x9b, + 0x7c, 0x75, 0x6e, 0x67, 0x58, 0x51, 0x4a, 0x43, 0x34, 0x3d, 0x26, 0x2f, + 0x10, 0x19, 0x02, 0x0b, 0xd7, 0xde, 0xc5, 0xcc, 0xf3, 0xfa, 0xe1, 0xe8, + 0x9f, 0x96, 0x8d, 0x84, 0xbb, 0xb2, 0xa9, 0xa0, 0x47, 0x4e, 0x55, 0x5c, + 0x63, 0x6a, 0x71, 0x78, 0x0f, 0x06, 0x1d, 0x14, 0x2b, 0x22, 0x39, 0x30, + 0x9a, 0x93, 0x88, 0x81, 0xbe, 0xb7, 0xac, 0xa5, 0xd2, 0xdb, 0xc0, 0xc9, + 0xf6, 0xff, 0xe4, 0xed, 0x0a, 0x03, 0x18, 0x11, 0x2e, 0x27, 0x3c, 0x35, + 0x42, 0x4b, 0x50, 0x59, 0x66, 0x6f, 0x74, 0x7d, 0xa1, 0xa8, 0xb3, 0xba, + 0x85, 0x8c, 0x97, 0x9e, 0xe9, 0xe0, 0xfb, 0xf2, 0xcd, 0xc4, 0xdf, 0xd6, + 0x31, 0x38, 0x23, 0x2a, 0x15, 0x1c, 0x07, 0x0e, 0x79, 0x70, 0x6b, 0x62, + 0x5d, 0x54, 0x4f, 0x46 + ], //*/ G9X = Gx(9), + +/* GBX = [ + 0x00, 0x0b, 0x16, 0x1d, 0x2c, 0x27, 0x3a, 0x31, 0x58, 0x53, 0x4e, 0x45, + 0x74, 0x7f, 0x62, 0x69, 0xb0, 0xbb, 0xa6, 0xad, 0x9c, 0x97, 0x8a, 0x81, + 0xe8, 0xe3, 0xfe, 0xf5, 0xc4, 0xcf, 0xd2, 0xd9, 0x7b, 0x70, 0x6d, 0x66, + 0x57, 0x5c, 0x41, 0x4a, 0x23, 0x28, 0x35, 0x3e, 0x0f, 0x04, 0x19, 0x12, + 0xcb, 0xc0, 0xdd, 0xd6, 0xe7, 0xec, 0xf1, 0xfa, 0x93, 0x98, 0x85, 0x8e, + 0xbf, 0xb4, 0xa9, 0xa2, 0xf6, 0xfd, 0xe0, 0xeb, 0xda, 0xd1, 0xcc, 0xc7, + 0xae, 0xa5, 0xb8, 0xb3, 0x82, 0x89, 0x94, 0x9f, 0x46, 0x4d, 0x50, 0x5b, + 0x6a, 0x61, 0x7c, 0x77, 0x1e, 0x15, 0x08, 0x03, 0x32, 0x39, 0x24, 0x2f, + 0x8d, 0x86, 0x9b, 0x90, 0xa1, 0xaa, 0xb7, 0xbc, 0xd5, 0xde, 0xc3, 0xc8, + 0xf9, 0xf2, 0xef, 0xe4, 0x3d, 0x36, 0x2b, 0x20, 0x11, 0x1a, 0x07, 0x0c, + 0x65, 0x6e, 0x73, 0x78, 0x49, 0x42, 0x5f, 0x54, 0xf7, 0xfc, 0xe1, 0xea, + 0xdb, 0xd0, 0xcd, 0xc6, 0xaf, 0xa4, 0xb9, 0xb2, 0x83, 0x88, 0x95, 0x9e, + 0x47, 0x4c, 0x51, 0x5a, 0x6b, 0x60, 0x7d, 0x76, 0x1f, 0x14, 0x09, 0x02, + 0x33, 0x38, 0x25, 0x2e, 0x8c, 0x87, 0x9a, 0x91, 0xa0, 0xab, 0xb6, 0xbd, + 0xd4, 0xdf, 0xc2, 0xc9, 0xf8, 0xf3, 0xee, 0xe5, 0x3c, 0x37, 0x2a, 0x21, + 0x10, 0x1b, 0x06, 0x0d, 0x64, 0x6f, 0x72, 0x79, 0x48, 0x43, 0x5e, 0x55, + 0x01, 0x0a, 0x17, 0x1c, 0x2d, 0x26, 0x3b, 0x30, 0x59, 0x52, 0x4f, 0x44, + 0x75, 0x7e, 0x63, 0x68, 0xb1, 0xba, 0xa7, 0xac, 0x9d, 0x96, 0x8b, 0x80, + 0xe9, 0xe2, 0xff, 0xf4, 0xc5, 0xce, 0xd3, 0xd8, 0x7a, 0x71, 0x6c, 0x67, + 0x56, 0x5d, 0x40, 0x4b, 0x22, 0x29, 0x34, 0x3f, 0x0e, 0x05, 0x18, 0x13, + 0xca, 0xc1, 0xdc, 0xd7, 0xe6, 0xed, 0xf0, 0xfb, 0x92, 0x99, 0x84, 0x8f, + 0xbe, 0xb5, 0xa8, 0xa3 + ], //*/ GBX = Gx(0xb), + +/* + GDX = [ + 0x00, 0x0d, 0x1a, 0x17, 0x34, 0x39, 0x2e, 0x23, 0x68, 0x65, 0x72, 0x7f, + 0x5c, 0x51, 0x46, 0x4b, 0xd0, 0xdd, 0xca, 0xc7, 0xe4, 0xe9, 0xfe, 0xf3, + 0xb8, 0xb5, 0xa2, 0xaf, 0x8c, 0x81, 0x96, 0x9b, 0xbb, 0xb6, 0xa1, 0xac, + 0x8f, 0x82, 0x95, 0x98, 0xd3, 0xde, 0xc9, 0xc4, 0xe7, 0xea, 0xfd, 0xf0, + 0x6b, 0x66, 0x71, 0x7c, 0x5f, 0x52, 0x45, 0x48, 0x03, 0x0e, 0x19, 0x14, + 0x37, 0x3a, 0x2d, 0x20, 0x6d, 0x60, 0x77, 0x7a, 0x59, 0x54, 0x43, 0x4e, + 0x05, 0x08, 0x1f, 0x12, 0x31, 0x3c, 0x2b, 0x26, 0xbd, 0xb0, 0xa7, 0xaa, + 0x89, 0x84, 0x93, 0x9e, 0xd5, 0xd8, 0xcf, 0xc2, 0xe1, 0xec, 0xfb, 0xf6, + 0xd6, 0xdb, 0xcc, 0xc1, 0xe2, 0xef, 0xf8, 0xf5, 0xbe, 0xb3, 0xa4, 0xa9, + 0x8a, 0x87, 0x90, 0x9d, 0x06, 0x0b, 0x1c, 0x11, 0x32, 0x3f, 0x28, 0x25, + 0x6e, 0x63, 0x74, 0x79, 0x5a, 0x57, 0x40, 0x4d, 0xda, 0xd7, 0xc0, 0xcd, + 0xee, 0xe3, 0xf4, 0xf9, 0xb2, 0xbf, 0xa8, 0xa5, 0x86, 0x8b, 0x9c, 0x91, + 0x0a, 0x07, 0x10, 0x1d, 0x3e, 0x33, 0x24, 0x29, 0x62, 0x6f, 0x78, 0x75, + 0x56, 0x5b, 0x4c, 0x41, 0x61, 0x6c, 0x7b, 0x76, 0x55, 0x58, 0x4f, 0x42, + 0x09, 0x04, 0x13, 0x1e, 0x3d, 0x30, 0x27, 0x2a, 0xb1, 0xbc, 0xab, 0xa6, + 0x85, 0x88, 0x9f, 0x92, 0xd9, 0xd4, 0xc3, 0xce, 0xed, 0xe0, 0xf7, 0xfa, + 0xb7, 0xba, 0xad, 0xa0, 0x83, 0x8e, 0x99, 0x94, 0xdf, 0xd2, 0xc5, 0xc8, + 0xeb, 0xe6, 0xf1, 0xfc, 0x67, 0x6a, 0x7d, 0x70, 0x53, 0x5e, 0x49, 0x44, + 0x0f, 0x02, 0x15, 0x18, 0x3b, 0x36, 0x21, 0x2c, 0x0c, 0x01, 0x16, 0x1b, + 0x38, 0x35, 0x22, 0x2f, 0x64, 0x69, 0x7e, 0x73, 0x50, 0x5d, 0x4a, 0x47, + 0xdc, 0xd1, 0xc6, 0xcb, 0xe8, 0xe5, 0xf2, 0xff, 0xb4, 0xb9, 0xae, 0xa3, + 0x80, 0x8d, 0x9a, 0x97 + ], //*/ GDX = Gx(0xd), + +/* + GEX = [ + 0x00, 0x0e, 0x1c, 0x12, 0x38, 0x36, 0x24, 0x2a, 0x70, 0x7e, 0x6c, 0x62, + 0x48, 0x46, 0x54, 0x5a, 0xe0, 0xee, 0xfc, 0xf2, 0xd8, 0xd6, 0xc4, 0xca, + 0x90, 0x9e, 0x8c, 0x82, 0xa8, 0xa6, 0xb4, 0xba, 0xdb, 0xd5, 0xc7, 0xc9, + 0xe3, 0xed, 0xff, 0xf1, 0xab, 0xa5, 0xb7, 0xb9, 0x93, 0x9d, 0x8f, 0x81, + 0x3b, 0x35, 0x27, 0x29, 0x03, 0x0d, 0x1f, 0x11, 0x4b, 0x45, 0x57, 0x59, + 0x73, 0x7d, 0x6f, 0x61, 0xad, 0xa3, 0xb1, 0xbf, 0x95, 0x9b, 0x89, 0x87, + 0xdd, 0xd3, 0xc1, 0xcf, 0xe5, 0xeb, 0xf9, 0xf7, 0x4d, 0x43, 0x51, 0x5f, + 0x75, 0x7b, 0x69, 0x67, 0x3d, 0x33, 0x21, 0x2f, 0x05, 0x0b, 0x19, 0x17, + 0x76, 0x78, 0x6a, 0x64, 0x4e, 0x40, 0x52, 0x5c, 0x06, 0x08, 0x1a, 0x14, + 0x3e, 0x30, 0x22, 0x2c, 0x96, 0x98, 0x8a, 0x84, 0xae, 0xa0, 0xb2, 0xbc, + 0xe6, 0xe8, 0xfa, 0xf4, 0xde, 0xd0, 0xc2, 0xcc, 0x41, 0x4f, 0x5d, 0x53, + 0x79, 0x77, 0x65, 0x6b, 0x31, 0x3f, 0x2d, 0x23, 0x09, 0x07, 0x15, 0x1b, + 0xa1, 0xaf, 0xbd, 0xb3, 0x99, 0x97, 0x85, 0x8b, 0xd1, 0xdf, 0xcd, 0xc3, + 0xe9, 0xe7, 0xf5, 0xfb, 0x9a, 0x94, 0x86, 0x88, 0xa2, 0xac, 0xbe, 0xb0, + 0xea, 0xe4, 0xf6, 0xf8, 0xd2, 0xdc, 0xce, 0xc0, 0x7a, 0x74, 0x66, 0x68, + 0x42, 0x4c, 0x5e, 0x50, 0x0a, 0x04, 0x16, 0x18, 0x32, 0x3c, 0x2e, 0x20, + 0xec, 0xe2, 0xf0, 0xfe, 0xd4, 0xda, 0xc8, 0xc6, 0x9c, 0x92, 0x80, 0x8e, + 0xa4, 0xaa, 0xb8, 0xb6, 0x0c, 0x02, 0x10, 0x1e, 0x34, 0x3a, 0x28, 0x26, + 0x7c, 0x72, 0x60, 0x6e, 0x44, 0x4a, 0x58, 0x56, 0x37, 0x39, 0x2b, 0x25, + 0x0f, 0x01, 0x13, 0x1d, 0x47, 0x49, 0x5b, 0x55, 0x7f, 0x71, 0x63, 0x6d, + 0xd7, 0xd9, 0xcb, 0xc5, 0xef, 0xe1, 0xf3, 0xfd, 0xa7, 0xa9, 0xbb, 0xb5, + 0x9f, 0x91, 0x83, 0x8d + ], //*/ GEX = Gx(0xe), + + enc = function(string, pass, binary) { + // string, password in plaintext + var salt = randArr(8), + pbe = openSSLKey(s2a(pass, binary), salt), + key = pbe.key, + iv = pbe.iv, + cipherBlocks, + saltBlock = [[83, 97, 108, 116, 101, 100, 95, 95].concat(salt)]; + string = s2a(string, binary); + cipherBlocks = rawEncrypt(string, key, iv); + // Spells out 'Salted__' + cipherBlocks = saltBlock.concat(cipherBlocks); + return Base64.encode(cipherBlocks); + }, + + dec = function(string, pass, binary) { + // string, password in plaintext + var cryptArr = Base64.decode(string), + salt = cryptArr.slice(8, 16), + pbe = openSSLKey(s2a(pass, binary), salt), + key = pbe.key, + iv = pbe.iv; + cryptArr = cryptArr.slice(16, cryptArr.length); + // Take off the Salted__ffeeddcc + string = rawDecrypt(cryptArr, key, iv, binary); + return string; + }, + + MD5 = function(numArr) { + + function rotateLeft(lValue, iShiftBits) { + return (lValue << iShiftBits) | (lValue >>> (32 - iShiftBits)); + } + + function addUnsigned(lX, lY) { + var lX4, + lY4, + lX8, + lY8, + lResult; + lX8 = (lX & 0x80000000); + lY8 = (lY & 0x80000000); + lX4 = (lX & 0x40000000); + lY4 = (lY & 0x40000000); + lResult = (lX & 0x3FFFFFFF) + (lY & 0x3FFFFFFF); + if (lX4 & lY4) { + return (lResult ^ 0x80000000 ^ lX8 ^ lY8); + } + if (lX4 | lY4) { + if (lResult & 0x40000000) { + return (lResult ^ 0xC0000000 ^ lX8 ^ lY8); + } else { + return (lResult ^ 0x40000000 ^ lX8 ^ lY8); + } + } else { + return (lResult ^ lX8 ^ lY8); + } + } + + function f(x, y, z) { + return (x & y) | ((~x) & z); + } + function g(x, y, z) { + return (x & z) | (y & (~z)); + } + function h(x, y, z) { + return (x ^ y ^ z); + } + function funcI(x, y, z) { + return (y ^ (x | (~z))); + } + + function ff(a, b, c, d, x, s, ac) { + a = addUnsigned(a, addUnsigned(addUnsigned(f(b, c, d), x), ac)); + return addUnsigned(rotateLeft(a, s), b); + } + + function gg(a, b, c, d, x, s, ac) { + a = addUnsigned(a, addUnsigned(addUnsigned(g(b, c, d), x), ac)); + return addUnsigned(rotateLeft(a, s), b); + } + + function hh(a, b, c, d, x, s, ac) { + a = addUnsigned(a, addUnsigned(addUnsigned(h(b, c, d), x), ac)); + return addUnsigned(rotateLeft(a, s), b); + } + + function ii(a, b, c, d, x, s, ac) { + a = addUnsigned(a, addUnsigned(addUnsigned(funcI(b, c, d), x), ac)); + return addUnsigned(rotateLeft(a, s), b); + } + + function convertToWordArray(numArr) { + var lWordCount, + lMessageLength = numArr.length, + lNumberOfWords_temp1 = lMessageLength + 8, + lNumberOfWords_temp2 = (lNumberOfWords_temp1 - (lNumberOfWords_temp1 % 64)) / 64, + lNumberOfWords = (lNumberOfWords_temp2 + 1) * 16, + lWordArray = [], + lBytePosition = 0, + lByteCount = 0; + while (lByteCount < lMessageLength) { + lWordCount = (lByteCount - (lByteCount % 4)) / 4; + lBytePosition = (lByteCount % 4) * 8; + lWordArray[lWordCount] = (lWordArray[lWordCount] | (numArr[lByteCount] << lBytePosition)); + lByteCount++; + } + lWordCount = (lByteCount - (lByteCount % 4)) / 4; + lBytePosition = (lByteCount % 4) * 8; + lWordArray[lWordCount] = lWordArray[lWordCount] | (0x80 << lBytePosition); + lWordArray[lNumberOfWords - 2] = lMessageLength << 3; + lWordArray[lNumberOfWords - 1] = lMessageLength >>> 29; + return lWordArray; + } + + function wordToHex(lValue) { + var lByte, + lCount, + wordToHexArr = []; + for (lCount = 0; lCount <= 3; lCount++) { + lByte = (lValue >>> (lCount * 8)) & 255; + wordToHexArr = wordToHexArr.concat(lByte); + } + return wordToHexArr; + } + + /*function utf8Encode(string) { + string = string.replace(/\r\n/g, "\n"); + var utftext = "", + n, + c; + + for (n = 0; n < string.length; n++) { + + c = string.charCodeAt(n); + + if (c < 128) { + utftext += String.fromCharCode(c); + } + else if ((c > 127) && (c < 2048)) { + utftext += String.fromCharCode((c >> 6) | 192); + utftext += String.fromCharCode((c & 63) | 128); + } + else { + utftext += String.fromCharCode((c >> 12) | 224); + utftext += String.fromCharCode(((c >> 6) & 63) | 128); + utftext += String.fromCharCode((c & 63) | 128); + } + + } + + return utftext; + }*/ + + var x = [], + k, + AA, + BB, + CC, + DD, + a, + b, + c, + d, + rnd = strhex('67452301efcdab8998badcfe10325476d76aa478e8c7b756242070dbc1bdceeef57c0faf4787c62aa8304613fd469501698098d88b44f7afffff5bb1895cd7be6b901122fd987193a679438e49b40821f61e2562c040b340265e5a51e9b6c7aad62f105d02441453d8a1e681e7d3fbc821e1cde6c33707d6f4d50d87455a14eda9e3e905fcefa3f8676f02d98d2a4c8afffa39428771f6816d9d6122fde5380ca4beea444bdecfa9f6bb4b60bebfbc70289b7ec6eaa127fad4ef308504881d05d9d4d039e6db99e51fa27cf8c4ac5665f4292244432aff97ab9423a7fc93a039655b59c38f0ccc92ffeff47d85845dd16fa87e4ffe2ce6e0a30143144e0811a1f7537e82bd3af2352ad7d2bbeb86d391',8); + + x = convertToWordArray(numArr); + + a = rnd[0]; + b = rnd[1]; + c = rnd[2]; + d = rnd[3] + + for (k = 0; k < x.length; k += 16) { + AA = a; + BB = b; + CC = c; + DD = d; + a = ff(a, b, c, d, x[k + 0], 7, rnd[4]); + d = ff(d, a, b, c, x[k + 1], 12, rnd[5]); + c = ff(c, d, a, b, x[k + 2], 17, rnd[6]); + b = ff(b, c, d, a, x[k + 3], 22, rnd[7]); + a = ff(a, b, c, d, x[k + 4], 7, rnd[8]); + d = ff(d, a, b, c, x[k + 5], 12, rnd[9]); + c = ff(c, d, a, b, x[k + 6], 17, rnd[10]); + b = ff(b, c, d, a, x[k + 7], 22, rnd[11]); + a = ff(a, b, c, d, x[k + 8], 7, rnd[12]); + d = ff(d, a, b, c, x[k + 9], 12, rnd[13]); + c = ff(c, d, a, b, x[k + 10], 17, rnd[14]); + b = ff(b, c, d, a, x[k + 11], 22, rnd[15]); + a = ff(a, b, c, d, x[k + 12], 7, rnd[16]); + d = ff(d, a, b, c, x[k + 13], 12, rnd[17]); + c = ff(c, d, a, b, x[k + 14], 17, rnd[18]); + b = ff(b, c, d, a, x[k + 15], 22, rnd[19]); + a = gg(a, b, c, d, x[k + 1], 5, rnd[20]); + d = gg(d, a, b, c, x[k + 6], 9, rnd[21]); + c = gg(c, d, a, b, x[k + 11], 14, rnd[22]); + b = gg(b, c, d, a, x[k + 0], 20, rnd[23]); + a = gg(a, b, c, d, x[k + 5], 5, rnd[24]); + d = gg(d, a, b, c, x[k + 10], 9, rnd[25]); + c = gg(c, d, a, b, x[k + 15], 14, rnd[26]); + b = gg(b, c, d, a, x[k + 4], 20, rnd[27]); + a = gg(a, b, c, d, x[k + 9], 5, rnd[28]); + d = gg(d, a, b, c, x[k + 14], 9, rnd[29]); + c = gg(c, d, a, b, x[k + 3], 14, rnd[30]); + b = gg(b, c, d, a, x[k + 8], 20, rnd[31]); + a = gg(a, b, c, d, x[k + 13], 5, rnd[32]); + d = gg(d, a, b, c, x[k + 2], 9, rnd[33]); + c = gg(c, d, a, b, x[k + 7], 14, rnd[34]); + b = gg(b, c, d, a, x[k + 12], 20, rnd[35]); + a = hh(a, b, c, d, x[k + 5], 4, rnd[36]); + d = hh(d, a, b, c, x[k + 8], 11, rnd[37]); + c = hh(c, d, a, b, x[k + 11], 16, rnd[38]); + b = hh(b, c, d, a, x[k + 14], 23, rnd[39]); + a = hh(a, b, c, d, x[k + 1], 4, rnd[40]); + d = hh(d, a, b, c, x[k + 4], 11, rnd[41]); + c = hh(c, d, a, b, x[k + 7], 16, rnd[42]); + b = hh(b, c, d, a, x[k + 10], 23, rnd[43]); + a = hh(a, b, c, d, x[k + 13], 4, rnd[44]); + d = hh(d, a, b, c, x[k + 0], 11, rnd[45]); + c = hh(c, d, a, b, x[k + 3], 16, rnd[46]); + b = hh(b, c, d, a, x[k + 6], 23, rnd[47]); + a = hh(a, b, c, d, x[k + 9], 4, rnd[48]); + d = hh(d, a, b, c, x[k + 12], 11, rnd[49]); + c = hh(c, d, a, b, x[k + 15], 16, rnd[50]); + b = hh(b, c, d, a, x[k + 2], 23, rnd[51]); + a = ii(a, b, c, d, x[k + 0], 6, rnd[52]); + d = ii(d, a, b, c, x[k + 7], 10, rnd[53]); + c = ii(c, d, a, b, x[k + 14], 15, rnd[54]); + b = ii(b, c, d, a, x[k + 5], 21, rnd[55]); + a = ii(a, b, c, d, x[k + 12], 6, rnd[56]); + d = ii(d, a, b, c, x[k + 3], 10, rnd[57]); + c = ii(c, d, a, b, x[k + 10], 15, rnd[58]); + b = ii(b, c, d, a, x[k + 1], 21, rnd[59]); + a = ii(a, b, c, d, x[k + 8], 6, rnd[60]); + d = ii(d, a, b, c, x[k + 15], 10, rnd[61]); + c = ii(c, d, a, b, x[k + 6], 15, rnd[62]); + b = ii(b, c, d, a, x[k + 13], 21, rnd[63]); + a = ii(a, b, c, d, x[k + 4], 6, rnd[64]); + d = ii(d, a, b, c, x[k + 11], 10, rnd[65]); + c = ii(c, d, a, b, x[k + 2], 15, rnd[66]); + b = ii(b, c, d, a, x[k + 9], 21, rnd[67]); + a = addUnsigned(a, AA); + b = addUnsigned(b, BB); + c = addUnsigned(c, CC); + d = addUnsigned(d, DD); + } + + return wordToHex(a).concat(wordToHex(b), wordToHex(c), wordToHex(d)); + }, + + encString = function(plaintext, key, iv) { + plaintext = s2a(plaintext); + + key = s2a(key); + for (var i=key.length; i<32; i++) + key[i] = 0; + + if (iv == null) { + iv = genIV(); + } else { + iv = s2a(iv); + for (var i=iv.length; i<16; i++) + iv[i] = 0; + } + + var ct = rawEncrypt(plaintext, key, iv); + var ret = [iv]; + for (var i=0; i> 2]; + b64 += chars[((flatArr[i] & 3) << 4) | (flatArr[i + 1] >> 4)]; + if (! (flatArr[i + 1] === undefined)) { + b64 += chars[((flatArr[i + 1] & 15) << 2) | (flatArr[i + 2] >> 6)]; + } else { + b64 += '='; + } + if (! (flatArr[i + 2] === undefined)) { + b64 += chars[flatArr[i + 2] & 63]; + } else { + b64 += '='; + } + } + // OpenSSL is super particular about line breaks + broken_b64 = b64.slice(0, 64); // + '\n'; + for (i = 1; i < (Math.ceil(b64.length / 64)); i++) { + broken_b64 += b64.slice(i * 64, i * 64 + 64) + (Math.ceil(b64.length / 64) == i + 1 ? '': '\n'); + } + return broken_b64; + }, + + decode = function(string) { + string = string.replace(/\n/g, ''); + var flatArr = [], + c = [], + b = [], + i; + for (i = 0; i < string.length; i = i + 4) { + c[0] = _chars.indexOf(string.charAt(i)); + c[1] = _chars.indexOf(string.charAt(i + 1)); + c[2] = _chars.indexOf(string.charAt(i + 2)); + c[3] = _chars.indexOf(string.charAt(i + 3)); + + b[0] = (c[0] << 2) | (c[1] >> 4); + b[1] = ((c[1] & 15) << 4) | (c[2] >> 2); + b[2] = ((c[2] & 3) << 6) | c[3]; + flatArr.push(b[0], b[1], b[2]); + } + flatArr = flatArr.slice(0, flatArr.length - (flatArr.length % 16)); + return flatArr; + }; + + //internet explorer + if(typeof Array.indexOf === "function") { + _chars = chars; + } + + /* + //other way to solve internet explorer problem + if(!Array.indexOf){ + Array.prototype.indexOf = function(obj){ + for(var i=0; i> 16) + (y >> 16) + (lsw >> 16); + return (msw << 16) | (lsw & 0xFFFF); + } + + function S(X, n) { + return ( X >>> n ) | (X << (32 - n)); + } + + function R(X, n) { + return ( X >>> n ); + } + + function Ch(x, y, z) { + return ((x & y) ^ ((~x) & z)); + } + + function Maj(x, y, z) { + return ((x & y) ^ (x & z) ^ (y & z)); + } + + function Sigma0256(x) { + return (S(x, 2) ^ S(x, 13) ^ S(x, 22)); + } + + function Sigma1256(x) { + return (S(x, 6) ^ S(x, 11) ^ S(x, 25)); + } + + function Gamma0256(x) { + return (S(x, 7) ^ S(x, 18) ^ R(x, 3)); + } + + function Gamma1256(x) { + return (S(x, 17) ^ S(x, 19) ^ R(x, 10)); + } + + function core_sha256(m, l) { + var K = new Array(0x428A2F98, 0x71374491, 0xB5C0FBCF, 0xE9B5DBA5, 0x3956C25B, 0x59F111F1, 0x923F82A4, 0xAB1C5ED5, 0xD807AA98, 0x12835B01, 0x243185BE, 0x550C7DC3, 0x72BE5D74, 0x80DEB1FE, 0x9BDC06A7, 0xC19BF174, 0xE49B69C1, 0xEFBE4786, 0xFC19DC6, 0x240CA1CC, 0x2DE92C6F, 0x4A7484AA, 0x5CB0A9DC, 0x76F988DA, 0x983E5152, 0xA831C66D, 0xB00327C8, 0xBF597FC7, 0xC6E00BF3, 0xD5A79147, 0x6CA6351, 0x14292967, 0x27B70A85, 0x2E1B2138, 0x4D2C6DFC, 0x53380D13, 0x650A7354, 0x766A0ABB, 0x81C2C92E, 0x92722C85, 0xA2BFE8A1, 0xA81A664B, 0xC24B8B70, 0xC76C51A3, 0xD192E819, 0xD6990624, 0xF40E3585, 0x106AA070, 0x19A4C116, 0x1E376C08, 0x2748774C, 0x34B0BCB5, 0x391C0CB3, 0x4ED8AA4A, 0x5B9CCA4F, 0x682E6FF3, 0x748F82EE, 0x78A5636F, 0x84C87814, 0x8CC70208, 0x90BEFFFA, 0xA4506CEB, 0xBEF9A3F7, 0xC67178F2); + var HASH = new Array(0x6A09E667, 0xBB67AE85, 0x3C6EF372, 0xA54FF53A, 0x510E527F, 0x9B05688C, 0x1F83D9AB, 0x5BE0CD19); + var W = new Array(64); + var a, b, c, d, e, f, g, h, i, j; + var T1, T2; + + m[l >> 5] |= 0x80 << (24 - l % 32); + m[((l + 64 >> 9) << 4) + 15] = l; + + for (var i = 0; i < m.length; i += 16) { + a = HASH[0]; + b = HASH[1]; + c = HASH[2]; + d = HASH[3]; + e = HASH[4]; + f = HASH[5]; + g = HASH[6]; + h = HASH[7]; + + for (var j = 0; j < 64; j++) { + if (j < 16) W[j] = m[j + i]; + else W[j] = safe_add(safe_add(safe_add(Gamma1256(W[j - 2]), W[j - 7]), Gamma0256(W[j - 15])), W[j - 16]); + + T1 = safe_add(safe_add(safe_add(safe_add(h, Sigma1256(e)), Ch(e, f, g)), K[j]), W[j]); + T2 = safe_add(Sigma0256(a), Maj(a, b, c)); + + h = g; + g = f; + f = e; + e = safe_add(d, T1); + d = c; + c = b; + b = a; + a = safe_add(T1, T2); + } + + HASH[0] = safe_add(a, HASH[0]); + HASH[1] = safe_add(b, HASH[1]); + HASH[2] = safe_add(c, HASH[2]); + HASH[3] = safe_add(d, HASH[3]); + HASH[4] = safe_add(e, HASH[4]); + HASH[5] = safe_add(f, HASH[5]); + HASH[6] = safe_add(g, HASH[6]); + HASH[7] = safe_add(h, HASH[7]); + } + return HASH; + } + + function str2binb(str) { + var bin = Array(); + var mask = (1 << chrsz) - 1; + for (var i = 0; i < str.length * chrsz; i += chrsz) { + bin[i >> 5] |= (str.charCodeAt(i / chrsz) & mask) << (24 - i % 32); + } + return bin; + } + + function Utf8Encode(string) { + string = string.replace(/\r\n/g, "\n"); + var utftext = ""; + + for (var n = 0; n < string.length; n++) { + + var c = string.charCodeAt(n); + + if (c < 128) { + utftext += String.fromCharCode(c); + } + else if ((c > 127) && (c < 2048)) { + utftext += String.fromCharCode((c >> 6) | 192); + utftext += String.fromCharCode((c & 63) | 128); + } + else { + utftext += String.fromCharCode((c >> 12) | 224); + utftext += String.fromCharCode(((c >> 6) & 63) | 128); + utftext += String.fromCharCode((c & 63) | 128); + } + + } + + return utftext; + } + + function binb2hex(binarray) { + var hex_tab = hexcase ? "0123456789ABCDEF" : "0123456789abcdef"; + var str = ""; + for (var i = 0; i < binarray.length * 4; i++) { + str += hex_tab.charAt((binarray[i >> 2] >> ((3 - i % 4) * 8 + 4)) & 0xF) + + hex_tab.charAt((binarray[i >> 2] >> ((3 - i % 4) * 8 )) & 0xF); + } + return str; + } + + s = Utf8Encode(s); + return binb2hex(core_sha256(str2binb(s), s.length * chrsz)); +} (function(){function n(c){b.each(d,function(a){if(a in g&&c in g[a]){var e=g[a][c];e.connected&&(e.connected=!1,e.socket.user_count--,b.events.fire(a+"leave",e))}})}function l(c,a,e,h,d){var k=j(a);b.publish({channel:k.channel,message:{name:c,ns:a,data:e,uuid:m,geo:k.location||[0,0]},callback:function(b){if(b[0])return(d||function(){})(b);var i=2*(h||500);setTimeout(function(){l(c,a,e,i,d)},5500> $(PUBNUB_JS) + $(ECHO) -n "// " > $(PUBNUB_MIN_JS) + $(ECHO) $(VERSION) >> $(PUBNUB_MIN_JS) + $(ECHO) "(function(){" >> $(PUBNUB_MIN_JS) + cat $(PUBNUB_JS) | java -jar $(GOOGLE_MINIFY) --compilation_level=ADVANCED_OPTIMIZATIONS >> $(PUBNUB_MIN_JS) + $(ECHO) "})();" >> $(PUBNUB_MIN_JS) + +$(PUBNUB_CRYPTO_MIN_JS) : $(GIBBERISH_JS) $(ENCRYPTO_JS) + $(ECHO) "(function(){" >> $(PUBNUB_CRYPTO_MIN_JS) + cat $(GIBBERISH_JS) $(ENCRYPT_JS) | java -jar $(GOOGLE_MINIFY) >> $(PUBNUB_CRYPTO_MIN_JS) + $(ECHO) "})();" >> $(PUBNUB_CRYPTO_MIN_JS) + + +.PHONY : clean +clean: + rm -f $(OUTPUT_FILES) diff --git a/core/examples/advanced.html b/web/examples/advanced.html similarity index 100% rename from core/examples/advanced.html rename to web/examples/advanced.html diff --git a/core/examples/encrypted_chat_demo.html b/web/examples/encrypted_chat_demo.html similarity index 94% rename from core/examples/encrypted_chat_demo.html rename to web/examples/encrypted_chat_demo.html index 982d9307d..bc474d324 100644 --- a/core/examples/encrypted_chat_demo.html +++ b/web/examples/encrypted_chat_demo.html @@ -31,10 +31,9 @@

AES256 Encryption Demo for JavaScript

- + - - + + + + + + + +
curl http://services.mcx-sx.com/srvlnk.xml
+ +
+    <root>
+        <url key="currencyurl">
+            <value>http://services.mcx-sx.com/chartservice.svc/cd/{charttype}/{symbol}/{series}/{expiry}/{instrumenttype}/{optiontype}/{strikeprice}</value>
+        </url>
+        <url key="equityurl">
+            <value>http://services.mcx-sx.com/chartservice.svc/eq/line/{symbol}/{series}/{expiry}/2/xx/0</value>
+        </url>
+        <url key="equitypreopenurl">
+            <value>http://services.mcx-sx.com/chartservice.svc/eq/preo/{symbol}/{series}/{expiry}/2</value>
+        </url>
+        <url key="equityindexurl">
+            <value>http://services.mcx-sx.com/chartservice.svc/eq/idx/{symbol}/nm</value>
+        </url>
+        <url key="equitypreopenindexurl">
+            <value>http://services.mcx-sx.com/chartservice.svc/eq/idx/{symbol}/po</value>
+        </url>
+        <url key="equityderivativesurl">
+            <value>http://services.mcx-sx.com/chartservice.svc/eds/{charttype}/{symbol}/{series}/{expiry}/{instrumenttype}/{optiontype}/{strikeprice}</value>
+        </url>
+        <url key="currencyhistoricalurl">
+            <value>http://services.mcx-sx.com/chartservice.svc/cd/{charttype}/{symbol}/{series}/{expiry}/{instrumentname}/{optiontype}/{strikeprice}/{startdate}/{enddate}</value>
+        </url>
+    </root>
+    
+ +
+ curl http://services.mcx-sx.com/chartservice.svc/eq/line/TCS/EQ/1577836800/2/xx/0 +
+ +
+    {
+        "Expiry": null,
+        "InstrumentName": null,
+        "OptionType": null,
+        "StrikePrice": 0,
+        "cmonth": "JAN2020",
+        "comparison": null,
+        "date": 1364860800,
+        "hline": null,
+        "line": [
+            {
+                "c": "1551.80",
+                "t": 34008,
+                "v": 250
+            },
+            {
+                "c": "1551.90",
+                "t": 34064,
+                "v": 500
+            },
+            {
+                "c": "1547.85",
+                "t": 34160,
+                "v": 250
+            },
+            {
+                "c": "1546.00",
+                "t": 35858,
+                "v": 250
+            }
+            ],
+        "ohlcv": null,
+        "oi": null,
+        "pcp": 1553.4,
+        "rbi": 0,
+        "secdesc": "TATA CONSULTANCY SERV LTD",
+        "series": "EQ ",
+        "symbol": "TCS",
+        "vol": null
+    }
+    
+ +
Example Escaped (URL Encoded) CURL Command
+ +
+    curl "http://pubsub.pubnub.com/publish/demo/demo/0/TCS/0/%7B%22Expiry%22%3Anull
+    %2C%22InstrumentName%22%3Anull%2C%22OptionType%22%3Anull%2C%22StrikePrice%22%3A
+    0%2C%22cmonth%22%3A%22JAN2020%22%2C%22comparison%22%3Anull%2C%22date%22%3A13648
+    60800%2C%22hline%22%3Anull%2C%22line%22%3A%5B%7B%22c%22%3A%221551.80%22%2C%22t%
+    22%3A34008%2C%22v%22%3A250%7D%2C%7B%22c%22%3A%221551.90%22%2C%22t%22%3A34064%2C
+    %22v%22%3A500%7D%2C%7B%22c%22%3A%221547.85%22%2C%22t%22%3A34160%2C%22v%22%3A250
+    %7D%2C%7B%22c%22%3A%221551.00%22%2C%22t%22%3A34255%2C%22v%22%3A250%7D%2C%7B%22c
+    %22%3A%221550.65%22%2C%22t%22%3A34550%2C%22v%22%3A250%7D%2C%7B%22c%22%3A%221549
+    .30%22%2C%22t%22%3A34684%2C%22v%22%3A250%7D%2C%7B%22c%22%3A%221544.20%22%2C%22t
+    %22%3A35272%2C%22v%22%3A250%7D%2C%7B%22c%22%3A%221544.60%22%2C%22t%22%3A35328%2
+    C%22v%22%3A253%7D%2C%7B%22c%22%3A%221546.00%22%2C%22t%22%3A35858%2C%22v%22%3A25
+    0%7D%5D%2C%22ohlcv%22%3Anull%2C%22oi%22%3Anull%2C%22pcp%22%3A1553.4%2C%22rbi%22
+    %3A0%2C%22secdesc%22%3A%22TATA%20CONSULTANCY%20SERV%20LTD%22%2C%22series%22%3A%
+    22EQ%20%22%2C%22symbol%22%3A%22TCS%22%2C%22vol%22%3Anull%7D"
+    
+ +
Example UnEscaped JSON
+ +
+    {"Expiry":null,"InstrumentName":null,"OptionType":null,"StrikePrice":0,"cmonth":"JAN2020","comparison":null,"date":1364860800,"hline":null,"line":[{"c":"1551.80","t":34008,"v":250},{"c":"1551.90","t":34064,"v":500},{"c":"1547.85","t":34160,"v":250},{"c":"1551.00","t":34255,"v":250},{"c":"1550.65","t":34550,"v":250},{"c":"1549.30","t":34684,"v":250},{"c":"1544.20","t":35272,"v":250},{"c":"1544.60","t":35328,"v":253},{"c":"1546.00","t":35858,"v":250}],"ohlcv":null,"oi":null,"pcp":1553.4,"rbi":0,"secdesc":"TATA CONSULTANCY SERV LTD","series":"EQ ","symbol":"TCS","vol":null}
+    
+ + + diff --git a/examples/stock-ticker-mcx/stock.rtf b/examples/stock-ticker-mcx/stock.rtf new file mode 100644 index 000000000..415446f24 --- /dev/null +++ b/examples/stock-ticker-mcx/stock.rtf @@ -0,0 +1,30 @@ +{\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf340 +{\fonttbl\f0\froman\fcharset0 Times-Roman;\f1\fmodern\fcharset0 Courier;} +{\colortbl;\red255\green255\blue255;} +\vieww32140\viewh18240\viewkind0 +\deftab720 +\pard\pardeftab720 + +\f0\fs24 \cf0 curl http://services.mcx-sx.com/srvlnk.xml http://services.mcx-sx.com/chartservice.svc/cd/\{charttype\}/\{symbol\}/\{series\}/\{expiry\}/\{instrumenttype\}/\{optiontype\}/\{strikeprice\} http://services.mcx-sx.com/chartservice.svc/eq/line/\{symbol\}/\{series\}/\{expiry\}/2/xx/0 http://services.mcx-sx.com/chartservice.svc/eq/preo/\{symbol\}/\{series\}/\{expiry\}/2 http://services.mcx-sx.com/chartservice.svc/eq/idx/\{symbol\}/nm http://services.mcx-sx.com/chartservice.svc/eq/idx/\{symbol\}/po http://services.mcx-sx.com/chartservice.svc/eds/\{charttype\}/\{symbol\}/\{series\}/\{expiry\}/\{instrumenttype\}/\{optiontype\}/\{strikeprice\} http://services.mcx-sx.com/chartservice.svc/cd/\{charttype\}/\{symbol\}/\{series\}/\{expiry\}/\{instrumentname\}/\{optiontype\}/\{strikeprice\}/\{startdate\}/\{enddate\} curl http://services.mcx-sx.com/chartservice.svc/eq/line/TCS/EQ/1577836800/2/xx/0 \{ "Expiry": null, "InstrumentName": null, "OptionType": null, "StrikePrice": 0, "cmonth": "JAN2020", "comparison": null, "date": 1364860800, "hline": null, "line": [ \{ "c": "1551.80", "t": 34008, "v": 250 \}, \{ "c": "1551.90", "t": 34064, "v": 500 \}, \{ "c": "1547.85", "t": 34160, "v": 250 \}, \{ "c": "1546.00", "t": 35858, "v": 250 \} ], "ohlcv": null, "oi": null, "pcp": 1553.4, "rbi": 0, "secdesc": "TATA CONSULTANCY SERV LTD", "series": "EQ ", "symbol": "TCS", "vol": null \} +\f1 \ + curl "http://pubsub.pubnub.com/publish/demo/demo/0/TCS/0/%7B%22Expiry%22%3Anull\ + %2C%22InstrumentName%22%3Anull%2C%22OptionType%22%3Anull%2C%22StrikePrice%22%3A\ + 0%2C%22cmonth%22%3A%22JAN2020%22%2C%22comparison%22%3Anull%2C%22date%22%3A13648\ + 60800%2C%22hline%22%3Anull%2C%22line%22%3A%5B%7B%22c%22%3A%221551.80%22%2C%22t%\ + 22%3A34008%2C%22v%22%3A250%7D%2C%7B%22c%22%3A%221551.90%22%2C%22t%22%3A34064%2C\ + %22v%22%3A500%7D%2C%7B%22c%22%3A%221547.85%22%2C%22t%22%3A34160%2C%22v%22%3A250\ + %7D%2C%7B%22c%22%3A%221551.00%22%2C%22t%22%3A34255%2C%22v%22%3A250%7D%2C%7B%22c\ + %22%3A%221550.65%22%2C%22t%22%3A34550%2C%22v%22%3A250%7D%2C%7B%22c%22%3A%221549\ + .30%22%2C%22t%22%3A34684%2C%22v%22%3A250%7D%2C%7B%22c%22%3A%221544.20%22%2C%22t\ + %22%3A35272%2C%22v%22%3A250%7D%2C%7B%22c%22%3A%221544.60%22%2C%22t%22%3A35328%2\ + C%22v%22%3A253%7D%2C%7B%22c%22%3A%221546.00%22%2C%22t%22%3A35858%2C%22v%22%3A25\ + 0%7D%5D%2C%22ohlcv%22%3Anull%2C%22oi%22%3Anull%2C%22pcp%22%3A1553.4%2C%22rbi%22\ + %3A0%2C%22secdesc%22%3A%22TATA%20CONSULTANCY%20SERV%20LTD%22%2C%22series%22%3A%\ + 22EQ%20%22%2C%22symbol%22%3A%22TCS%22%2C%22vol%22%3Anull%7D"\ + \ + \{"Expiry":null,"InstrumentName":null,"OptionType":null,"StrikePrice":0,"cmonth":"JAN2020","comparison":null,"date":1364860800,"hline":null,"line":[\{"c":"1551.80","t":34008,"v":250\},\{"c":"1551.90","t":34064,"v":500\},\{"c":"1547.85","t":34160,"v":250\},\{"c":"1551.00","t":34255,"v":250\},\{"c":"1550.65","t":34550,"v":250\},\{"c":"1549.30","t":34684,"v":250\},\{"c":"1544.20","t":35272,"v":250\},\{"c":"1544.60","t":35328,"v":253\},\{"c":"1546.00","t":35858,"v":250\}],"ohlcv":null,"oi":null,"pcp":1553.4,"rbi":0,"secdesc":"TATA CONSULTANCY SERV LTD","series":"EQ ","symbol":"TCS","vol":null\}\ + \ + +\f0 http://www.pubnub.com/tutorial/http-rest-push-api\ +1,552.80\ +} \ No newline at end of file From 5c9af175569f44280aa70ea5d29e6609bc0ff866 Mon Sep 17 00:00:00 2001 From: Stephen Blum Date: Mon, 1 Apr 2013 23:18:02 -0700 Subject: [PATCH 20/66] removed rtf unnecessary file. --- examples/stock-ticker-mcx/stock.rtf | 30 ----------------------------- 1 file changed, 30 deletions(-) delete mode 100644 examples/stock-ticker-mcx/stock.rtf diff --git a/examples/stock-ticker-mcx/stock.rtf b/examples/stock-ticker-mcx/stock.rtf deleted file mode 100644 index 415446f24..000000000 --- a/examples/stock-ticker-mcx/stock.rtf +++ /dev/null @@ -1,30 +0,0 @@ -{\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf340 -{\fonttbl\f0\froman\fcharset0 Times-Roman;\f1\fmodern\fcharset0 Courier;} -{\colortbl;\red255\green255\blue255;} -\vieww32140\viewh18240\viewkind0 -\deftab720 -\pard\pardeftab720 - -\f0\fs24 \cf0 curl http://services.mcx-sx.com/srvlnk.xml http://services.mcx-sx.com/chartservice.svc/cd/\{charttype\}/\{symbol\}/\{series\}/\{expiry\}/\{instrumenttype\}/\{optiontype\}/\{strikeprice\} http://services.mcx-sx.com/chartservice.svc/eq/line/\{symbol\}/\{series\}/\{expiry\}/2/xx/0 http://services.mcx-sx.com/chartservice.svc/eq/preo/\{symbol\}/\{series\}/\{expiry\}/2 http://services.mcx-sx.com/chartservice.svc/eq/idx/\{symbol\}/nm http://services.mcx-sx.com/chartservice.svc/eq/idx/\{symbol\}/po http://services.mcx-sx.com/chartservice.svc/eds/\{charttype\}/\{symbol\}/\{series\}/\{expiry\}/\{instrumenttype\}/\{optiontype\}/\{strikeprice\} http://services.mcx-sx.com/chartservice.svc/cd/\{charttype\}/\{symbol\}/\{series\}/\{expiry\}/\{instrumentname\}/\{optiontype\}/\{strikeprice\}/\{startdate\}/\{enddate\} curl http://services.mcx-sx.com/chartservice.svc/eq/line/TCS/EQ/1577836800/2/xx/0 \{ "Expiry": null, "InstrumentName": null, "OptionType": null, "StrikePrice": 0, "cmonth": "JAN2020", "comparison": null, "date": 1364860800, "hline": null, "line": [ \{ "c": "1551.80", "t": 34008, "v": 250 \}, \{ "c": "1551.90", "t": 34064, "v": 500 \}, \{ "c": "1547.85", "t": 34160, "v": 250 \}, \{ "c": "1546.00", "t": 35858, "v": 250 \} ], "ohlcv": null, "oi": null, "pcp": 1553.4, "rbi": 0, "secdesc": "TATA CONSULTANCY SERV LTD", "series": "EQ ", "symbol": "TCS", "vol": null \} -\f1 \ - curl "http://pubsub.pubnub.com/publish/demo/demo/0/TCS/0/%7B%22Expiry%22%3Anull\ - %2C%22InstrumentName%22%3Anull%2C%22OptionType%22%3Anull%2C%22StrikePrice%22%3A\ - 0%2C%22cmonth%22%3A%22JAN2020%22%2C%22comparison%22%3Anull%2C%22date%22%3A13648\ - 60800%2C%22hline%22%3Anull%2C%22line%22%3A%5B%7B%22c%22%3A%221551.80%22%2C%22t%\ - 22%3A34008%2C%22v%22%3A250%7D%2C%7B%22c%22%3A%221551.90%22%2C%22t%22%3A34064%2C\ - %22v%22%3A500%7D%2C%7B%22c%22%3A%221547.85%22%2C%22t%22%3A34160%2C%22v%22%3A250\ - %7D%2C%7B%22c%22%3A%221551.00%22%2C%22t%22%3A34255%2C%22v%22%3A250%7D%2C%7B%22c\ - %22%3A%221550.65%22%2C%22t%22%3A34550%2C%22v%22%3A250%7D%2C%7B%22c%22%3A%221549\ - .30%22%2C%22t%22%3A34684%2C%22v%22%3A250%7D%2C%7B%22c%22%3A%221544.20%22%2C%22t\ - %22%3A35272%2C%22v%22%3A250%7D%2C%7B%22c%22%3A%221544.60%22%2C%22t%22%3A35328%2\ - C%22v%22%3A253%7D%2C%7B%22c%22%3A%221546.00%22%2C%22t%22%3A35858%2C%22v%22%3A25\ - 0%7D%5D%2C%22ohlcv%22%3Anull%2C%22oi%22%3Anull%2C%22pcp%22%3A1553.4%2C%22rbi%22\ - %3A0%2C%22secdesc%22%3A%22TATA%20CONSULTANCY%20SERV%20LTD%22%2C%22series%22%3A%\ - 22EQ%20%22%2C%22symbol%22%3A%22TCS%22%2C%22vol%22%3Anull%7D"\ - \ - \{"Expiry":null,"InstrumentName":null,"OptionType":null,"StrikePrice":0,"cmonth":"JAN2020","comparison":null,"date":1364860800,"hline":null,"line":[\{"c":"1551.80","t":34008,"v":250\},\{"c":"1551.90","t":34064,"v":500\},\{"c":"1547.85","t":34160,"v":250\},\{"c":"1551.00","t":34255,"v":250\},\{"c":"1550.65","t":34550,"v":250\},\{"c":"1549.30","t":34684,"v":250\},\{"c":"1544.20","t":35272,"v":250\},\{"c":"1544.60","t":35328,"v":253\},\{"c":"1546.00","t":35858,"v":250\}],"ohlcv":null,"oi":null,"pcp":1553.4,"rbi":0,"secdesc":"TATA CONSULTANCY SERV LTD","series":"EQ ","symbol":"TCS","vol":null\}\ - \ - -\f0 http://www.pubnub.com/tutorial/http-rest-push-api\ -1,552.80\ -} \ No newline at end of file From 3df40fefecbe4ca7458f31946462b773986049ce Mon Sep 17 00:00:00 2001 From: Devendra Date: Thu, 4 Apr 2013 15:59:42 +0530 Subject: [PATCH 21/66] adding titanium pubnub api to javascript repos --- titanium/.gitignore | 2 + titanium/Makefile | 28 + titanium/README.md | 93 ++ titanium/examples/desktop/app.js | 84 ++ titanium/examples/desktop/index.html | 75 ++ titanium/examples/desktop/pubnub.js | 972 ++++++++++++++++++ .../examples/mobile/chat-example-app/.project | 23 + .../mobile/chat-example-app/CHANGELOG.txt | 1 + .../examples/mobile/chat-example-app/LICENSE | 219 ++++ .../mobile/chat-example-app/LICENSE.txt | 1 + .../examples/mobile/chat-example-app/README | 18 + .../chat-example-app/Resources/KS_nav_ui.png | Bin 0 -> 1158 bytes .../Resources/KS_nav_views.png | Bin 0 -> 1074 bytes .../Resources/android/appicon.png | Bin 0 -> 11039 bytes .../Resources/android/default.png | Bin 0 -> 16529 bytes .../images/res-long-land-hdpi/default.png | Bin 0 -> 102971 bytes .../images/res-long-land-ldpi/default.png | Bin 0 -> 34784 bytes .../images/res-long-port-hdpi/default.png | Bin 0 -> 125025 bytes .../images/res-long-port-ldpi/default.png | Bin 0 -> 47541 bytes .../images/res-notlong-land-hdpi/default.png | Bin 0 -> 102971 bytes .../images/res-notlong-land-ldpi/default.png | Bin 0 -> 37038 bytes .../images/res-notlong-land-mdpi/default.png | Bin 0 -> 53422 bytes .../images/res-notlong-port-hdpi/default.png | Bin 0 -> 125025 bytes .../images/res-notlong-port-ldpi/default.png | Bin 0 -> 30377 bytes .../images/res-notlong-port-mdpi/default.png | Bin 0 -> 53982 bytes .../mobile/chat-example-app/Resources/app.js | 26 + .../Resources/iphone/Default-Landscape.png | Bin 0 -> 517419 bytes .../Resources/iphone/Default-Portrait.png | Bin 0 -> 551670 bytes .../Resources/iphone/Default.png | Bin 0 -> 114262 bytes .../Resources/iphone/Default@2x.png | Bin 0 -> 380255 bytes .../Resources/iphone/appicon.png | Bin 0 -> 4275 bytes .../chat-example-app/Resources/pubnub-chat.js | 180 ++++ .../chat-example-app/Resources/pubnub.js | 972 ++++++++++++++++++ .../examples/mobile/chat-example-app/manifest | 8 + .../mobile/chat-example-app/tiapp.xml | 41 + .../detailed-history-example-app/.project | 17 + .../CHANGELOG.txt | 1 + .../detailed-history-example-app/LICENSE | 219 ++++ .../detailed-history-example-app/LICENSE.txt | 1 + .../detailed-history-example-app/README | 18 + .../Resources/KS_nav_ui.png | Bin 0 -> 1158 bytes .../Resources/KS_nav_views.png | Bin 0 -> 1074 bytes .../Resources/android/appicon.png | Bin 0 -> 11039 bytes .../Resources/android/default.png | Bin 0 -> 16529 bytes .../images/res-long-land-hdpi/default.png | Bin 0 -> 102971 bytes .../images/res-long-land-ldpi/default.png | Bin 0 -> 34784 bytes .../images/res-long-port-hdpi/default.png | Bin 0 -> 125025 bytes .../images/res-long-port-ldpi/default.png | Bin 0 -> 47541 bytes .../images/res-notlong-land-hdpi/default.png | Bin 0 -> 102971 bytes .../images/res-notlong-land-ldpi/default.png | Bin 0 -> 37038 bytes .../images/res-notlong-land-mdpi/default.png | Bin 0 -> 53422 bytes .../images/res-notlong-port-hdpi/default.png | Bin 0 -> 125025 bytes .../images/res-notlong-port-ldpi/default.png | Bin 0 -> 30377 bytes .../images/res-notlong-port-mdpi/default.png | Bin 0 -> 53982 bytes .../Resources/app.js | 26 + .../Resources/iphone/Default-Landscape.png | Bin 0 -> 517419 bytes .../Resources/iphone/Default-Portrait.png | Bin 0 -> 551670 bytes .../Resources/iphone/Default.png | Bin 0 -> 114262 bytes .../Resources/iphone/Default@2x.png | Bin 0 -> 380255 bytes .../Resources/iphone/appicon.png | Bin 0 -> 4275 bytes .../Resources/pubnub-detailed-history.js | 240 +++++ .../Resources/pubnub.js | 972 ++++++++++++++++++ .../detailed-history-example-app/manifest | 8 + .../detailed-history-example-app/tiapp.xml | 41 + .../mobile/here-now-example-app/.project | 17 + .../mobile/here-now-example-app/CHANGELOG.txt | 1 + .../mobile/here-now-example-app/LICENSE | 219 ++++ .../mobile/here-now-example-app/LICENSE.txt | 1 + .../mobile/here-now-example-app/README | 18 + .../Resources/KS_nav_ui.png | Bin 0 -> 1158 bytes .../Resources/KS_nav_views.png | Bin 0 -> 1074 bytes .../Resources/android/appicon.png | Bin 0 -> 11039 bytes .../Resources/android/default.png | Bin 0 -> 16529 bytes .../images/res-long-land-hdpi/default.png | Bin 0 -> 102971 bytes .../images/res-long-land-ldpi/default.png | Bin 0 -> 34784 bytes .../images/res-long-port-hdpi/default.png | Bin 0 -> 125025 bytes .../images/res-long-port-ldpi/default.png | Bin 0 -> 47541 bytes .../images/res-notlong-land-hdpi/default.png | Bin 0 -> 102971 bytes .../images/res-notlong-land-ldpi/default.png | Bin 0 -> 37038 bytes .../images/res-notlong-land-mdpi/default.png | Bin 0 -> 53422 bytes .../images/res-notlong-port-hdpi/default.png | Bin 0 -> 125025 bytes .../images/res-notlong-port-ldpi/default.png | Bin 0 -> 30377 bytes .../images/res-notlong-port-mdpi/default.png | Bin 0 -> 53982 bytes .../here-now-example-app/Resources/app.js | 26 + .../Resources/iphone/Default-Landscape.png | Bin 0 -> 517419 bytes .../Resources/iphone/Default-Portrait.png | Bin 0 -> 551670 bytes .../Resources/iphone/Default.png | Bin 0 -> 114262 bytes .../Resources/iphone/Default@2x.png | Bin 0 -> 380255 bytes .../Resources/iphone/appicon.png | Bin 0 -> 4275 bytes .../Resources/pubnub-here-now.js | 138 +++ .../here-now-example-app/Resources/pubnub.js | 972 ++++++++++++++++++ .../mobile/here-now-example-app/manifest | 8 + .../mobile/here-now-example-app/tiapp.xml | 41 + titanium/pubnub.js | 972 ++++++++++++++++++ titanium/unassembled/platform.js | 301 ++++++ 95 files changed, 7000 insertions(+) create mode 100644 titanium/.gitignore create mode 100644 titanium/Makefile create mode 100644 titanium/README.md create mode 100644 titanium/examples/desktop/app.js create mode 100644 titanium/examples/desktop/index.html create mode 100644 titanium/examples/desktop/pubnub.js create mode 100644 titanium/examples/mobile/chat-example-app/.project create mode 100644 titanium/examples/mobile/chat-example-app/CHANGELOG.txt create mode 100644 titanium/examples/mobile/chat-example-app/LICENSE create mode 100644 titanium/examples/mobile/chat-example-app/LICENSE.txt create mode 100644 titanium/examples/mobile/chat-example-app/README create mode 100644 titanium/examples/mobile/chat-example-app/Resources/KS_nav_ui.png create mode 100644 titanium/examples/mobile/chat-example-app/Resources/KS_nav_views.png create mode 100644 titanium/examples/mobile/chat-example-app/Resources/android/appicon.png create mode 100644 titanium/examples/mobile/chat-example-app/Resources/android/default.png create mode 100644 titanium/examples/mobile/chat-example-app/Resources/android/images/res-long-land-hdpi/default.png create mode 100644 titanium/examples/mobile/chat-example-app/Resources/android/images/res-long-land-ldpi/default.png create mode 100644 titanium/examples/mobile/chat-example-app/Resources/android/images/res-long-port-hdpi/default.png create mode 100644 titanium/examples/mobile/chat-example-app/Resources/android/images/res-long-port-ldpi/default.png create mode 100644 titanium/examples/mobile/chat-example-app/Resources/android/images/res-notlong-land-hdpi/default.png create mode 100644 titanium/examples/mobile/chat-example-app/Resources/android/images/res-notlong-land-ldpi/default.png create mode 100644 titanium/examples/mobile/chat-example-app/Resources/android/images/res-notlong-land-mdpi/default.png create mode 100644 titanium/examples/mobile/chat-example-app/Resources/android/images/res-notlong-port-hdpi/default.png create mode 100644 titanium/examples/mobile/chat-example-app/Resources/android/images/res-notlong-port-ldpi/default.png create mode 100644 titanium/examples/mobile/chat-example-app/Resources/android/images/res-notlong-port-mdpi/default.png create mode 100644 titanium/examples/mobile/chat-example-app/Resources/app.js create mode 100644 titanium/examples/mobile/chat-example-app/Resources/iphone/Default-Landscape.png create mode 100644 titanium/examples/mobile/chat-example-app/Resources/iphone/Default-Portrait.png create mode 100644 titanium/examples/mobile/chat-example-app/Resources/iphone/Default.png create mode 100644 titanium/examples/mobile/chat-example-app/Resources/iphone/Default@2x.png create mode 100644 titanium/examples/mobile/chat-example-app/Resources/iphone/appicon.png create mode 100755 titanium/examples/mobile/chat-example-app/Resources/pubnub-chat.js create mode 100644 titanium/examples/mobile/chat-example-app/Resources/pubnub.js create mode 100644 titanium/examples/mobile/chat-example-app/manifest create mode 100644 titanium/examples/mobile/chat-example-app/tiapp.xml create mode 100644 titanium/examples/mobile/detailed-history-example-app/.project create mode 100644 titanium/examples/mobile/detailed-history-example-app/CHANGELOG.txt create mode 100644 titanium/examples/mobile/detailed-history-example-app/LICENSE create mode 100644 titanium/examples/mobile/detailed-history-example-app/LICENSE.txt create mode 100644 titanium/examples/mobile/detailed-history-example-app/README create mode 100644 titanium/examples/mobile/detailed-history-example-app/Resources/KS_nav_ui.png create mode 100644 titanium/examples/mobile/detailed-history-example-app/Resources/KS_nav_views.png create mode 100644 titanium/examples/mobile/detailed-history-example-app/Resources/android/appicon.png create mode 100644 titanium/examples/mobile/detailed-history-example-app/Resources/android/default.png create mode 100644 titanium/examples/mobile/detailed-history-example-app/Resources/android/images/res-long-land-hdpi/default.png create mode 100644 titanium/examples/mobile/detailed-history-example-app/Resources/android/images/res-long-land-ldpi/default.png create mode 100644 titanium/examples/mobile/detailed-history-example-app/Resources/android/images/res-long-port-hdpi/default.png create mode 100644 titanium/examples/mobile/detailed-history-example-app/Resources/android/images/res-long-port-ldpi/default.png create mode 100644 titanium/examples/mobile/detailed-history-example-app/Resources/android/images/res-notlong-land-hdpi/default.png create mode 100644 titanium/examples/mobile/detailed-history-example-app/Resources/android/images/res-notlong-land-ldpi/default.png create mode 100644 titanium/examples/mobile/detailed-history-example-app/Resources/android/images/res-notlong-land-mdpi/default.png create mode 100644 titanium/examples/mobile/detailed-history-example-app/Resources/android/images/res-notlong-port-hdpi/default.png create mode 100644 titanium/examples/mobile/detailed-history-example-app/Resources/android/images/res-notlong-port-ldpi/default.png create mode 100644 titanium/examples/mobile/detailed-history-example-app/Resources/android/images/res-notlong-port-mdpi/default.png create mode 100644 titanium/examples/mobile/detailed-history-example-app/Resources/app.js create mode 100644 titanium/examples/mobile/detailed-history-example-app/Resources/iphone/Default-Landscape.png create mode 100644 titanium/examples/mobile/detailed-history-example-app/Resources/iphone/Default-Portrait.png create mode 100644 titanium/examples/mobile/detailed-history-example-app/Resources/iphone/Default.png create mode 100644 titanium/examples/mobile/detailed-history-example-app/Resources/iphone/Default@2x.png create mode 100644 titanium/examples/mobile/detailed-history-example-app/Resources/iphone/appicon.png create mode 100755 titanium/examples/mobile/detailed-history-example-app/Resources/pubnub-detailed-history.js create mode 100644 titanium/examples/mobile/detailed-history-example-app/Resources/pubnub.js create mode 100644 titanium/examples/mobile/detailed-history-example-app/manifest create mode 100644 titanium/examples/mobile/detailed-history-example-app/tiapp.xml create mode 100644 titanium/examples/mobile/here-now-example-app/.project create mode 100644 titanium/examples/mobile/here-now-example-app/CHANGELOG.txt create mode 100644 titanium/examples/mobile/here-now-example-app/LICENSE create mode 100644 titanium/examples/mobile/here-now-example-app/LICENSE.txt create mode 100644 titanium/examples/mobile/here-now-example-app/README create mode 100644 titanium/examples/mobile/here-now-example-app/Resources/KS_nav_ui.png create mode 100644 titanium/examples/mobile/here-now-example-app/Resources/KS_nav_views.png create mode 100644 titanium/examples/mobile/here-now-example-app/Resources/android/appicon.png create mode 100644 titanium/examples/mobile/here-now-example-app/Resources/android/default.png create mode 100644 titanium/examples/mobile/here-now-example-app/Resources/android/images/res-long-land-hdpi/default.png create mode 100644 titanium/examples/mobile/here-now-example-app/Resources/android/images/res-long-land-ldpi/default.png create mode 100644 titanium/examples/mobile/here-now-example-app/Resources/android/images/res-long-port-hdpi/default.png create mode 100644 titanium/examples/mobile/here-now-example-app/Resources/android/images/res-long-port-ldpi/default.png create mode 100644 titanium/examples/mobile/here-now-example-app/Resources/android/images/res-notlong-land-hdpi/default.png create mode 100644 titanium/examples/mobile/here-now-example-app/Resources/android/images/res-notlong-land-ldpi/default.png create mode 100644 titanium/examples/mobile/here-now-example-app/Resources/android/images/res-notlong-land-mdpi/default.png create mode 100644 titanium/examples/mobile/here-now-example-app/Resources/android/images/res-notlong-port-hdpi/default.png create mode 100644 titanium/examples/mobile/here-now-example-app/Resources/android/images/res-notlong-port-ldpi/default.png create mode 100644 titanium/examples/mobile/here-now-example-app/Resources/android/images/res-notlong-port-mdpi/default.png create mode 100644 titanium/examples/mobile/here-now-example-app/Resources/app.js create mode 100644 titanium/examples/mobile/here-now-example-app/Resources/iphone/Default-Landscape.png create mode 100644 titanium/examples/mobile/here-now-example-app/Resources/iphone/Default-Portrait.png create mode 100644 titanium/examples/mobile/here-now-example-app/Resources/iphone/Default.png create mode 100644 titanium/examples/mobile/here-now-example-app/Resources/iphone/Default@2x.png create mode 100644 titanium/examples/mobile/here-now-example-app/Resources/iphone/appicon.png create mode 100755 titanium/examples/mobile/here-now-example-app/Resources/pubnub-here-now.js create mode 100644 titanium/examples/mobile/here-now-example-app/Resources/pubnub.js create mode 100644 titanium/examples/mobile/here-now-example-app/manifest create mode 100644 titanium/examples/mobile/here-now-example-app/tiapp.xml create mode 100644 titanium/pubnub.js create mode 100644 titanium/unassembled/platform.js diff --git a/titanium/.gitignore b/titanium/.gitignore new file mode 100644 index 000000000..c3337495d --- /dev/null +++ b/titanium/.gitignore @@ -0,0 +1,2 @@ +build +build.log diff --git a/titanium/Makefile b/titanium/Makefile new file mode 100644 index 000000000..e469e622b --- /dev/null +++ b/titanium/Makefile @@ -0,0 +1,28 @@ +include ../Makefile.inc +PUBNUB_TITANIUM_JS=unassembled/platform.js +OUTPUT_FILES=$(PUBNUB_JS) $(PUBNUB_CRYPTO_JS) +EXAMPLE_RESOURCES=$(shell for file in `find examples -name "pubnub.js" | grep -v build`;do echo $$file; done) + +.PHONY : all +all: build + +.PHONY : build +build: $(PUBNUB_JS) + +$(PUBNUB_JS) : $(JSON_JS) $(PUBNUB_COMMON_JS) $(PUBNUB_TITANIUM_JS) + $(ECHO) -n "// " > $(PUBNUB_JS) + $(ECHO) $(VERSION) >> $(PUBNUB_JS) + $(ECHO) "(function(){" >> $(PUBNUB_JS) + cat $(PUBNUB_COMMON_JS) $(PUBNUB_PLATFORM_JS) >> $(PUBNUB_JS) + $(ECHO) "})();" >> $(PUBNUB_JS) + for f in $(EXAMPLE_RESOURCES); do cp $(PUBNUB_JS) $$f ; done + +$(PUBNUB_CRYPTO_JS) : $(GIBBERISH_JS) $(ENCRYPT_JS) + $(ECHO) "(function(){" >> $(PUBNUB_CRYPTO_JS) + cat $(GIBBERISH_JS) $(ENCRYPT_JS) >> $(PUBNUB_CRYPTO_JS) + $(ECHO) "})();" >> $(PUBNUB_CRYPTO_MIN_JS) + + +.PHONY : clean +clean: + rm -f $(OUTPUT_FILES) diff --git a/titanium/README.md b/titanium/README.md new file mode 100644 index 000000000..f0a72ec5d --- /dev/null +++ b/titanium/README.md @@ -0,0 +1,93 @@ +## Get your very own registration keys at http://www.pubnub.com/account + +### PubNub 3.3 Real-time Cloud Push API for Titanium + +PubNub is a Massively Scalable Real-time Service for Web and Mobile Games. +This is a cloud-based service for broadcasting Real-time messages +to millions of web and mobile clients simultaneously. + +#### API Usage Summary +API Usage summary follows. But checkout the real working examples in examples 3.3/mobile! + +And be sure to checkout how easy it is to run the demo chat application with this quick video demo: +https://vimeo.com/57166260 + +### Init + +```javascript +Ti.include('pubnub.js'); + +var pubnub = PUBNUB.init({ + publish_key : 'demo', + subscribe_key : 'demo', + ssl : false, + native_tcp_socket : false, + origin : 'pubsub.pubnub.com' +}); +``` + +If you run into firewall issues on some iPhone deployments, try to set native_tcp_socket to true. + + +### Subscribe and Presence +For a given channel, subscribe to the channel (subscribe), or subscribe to the channel's join/leave events (presence) + +```javascript +pubnub.subscribe({ + channel : "hello_world", + callback : function(message) { Ti.API.log(message) } +}) +``` + +### Publish +Send messages to a channel. + +```javascript +pubnub.publish({ + channel : "hello_world", + message : "Hi." +}) +``` + +### Message History ( history() is deprecated, please migrate your apps to use detailedHistory instead. ) +Get the message history for a channel. + +```javascript + var paramobj = {}; + paramobj['channel'] = channel.value; + paramobj['callback'] = function(message) { + append_data( JSON.stringify(message)); + } + paramobj.error = function() { + append_data("Lost connection ... ","#f00"); + } + if (start.value != "Start Timestamp" && start.value != "") + paramobj['start'] = start.value; + if (end.value != "End Timestamp" && end.value != "") + paramobj['end'] = end.value; + if (count.value != "Count" && count.value != "") + paramobj['count'] = count.value; + else + paramobj['count'] = 100; + pubnub.detailedHistory(paramobj); +``` +### Here_now +Get real time occupancy stats for a channel. Used complimentarily with Presence + +```javascript + pubnub.here_now({ + channel : channel.value, + connect : function() { + append_data("Receiving Here Now data ..."); + }, + callback : function(message) { + append_data( JSON.stringify(message) ); + }, + error : function() { + append_data( "Lost Connection...", "#f00" ); + } + }); +``` + + + diff --git a/titanium/examples/desktop/app.js b/titanium/examples/desktop/app.js new file mode 100644 index 000000000..e742713f5 --- /dev/null +++ b/titanium/examples/desktop/app.js @@ -0,0 +1,84 @@ +(function(){ + +// -- +// -- DOM ELEMENT POINTERS +// -- +var logger = PUBNUB.$('pubnub-logger') +, publish_button = PUBNUB.$('publish-button') +, subscribe_button = PUBNUB.$('subscribe-button') +, subscribe_channel = PUBNUB.$('subscribe-channel') +, publish_text = PUBNUB.$('publish-text') +, connected = PUBNUB.$('pubnub-connected') +, channel_name = ''; + + +// -- +// -- BASIC LOG OUTPUT FUNCTION +// -- +function log(data) { + logger.innerHTML = + '\n' + log.line++ + ': ' + + JSON.stringify(data) + ( + channel_name ? + ' - from "' + channel_name + '" Channel.' : + '' ) + logger.innerHTML; +} +log.line = 1; + + +// -- +// -- SEND A MESSAGE FUNCTION +// -- +function send_message(message) { + PUBNUB.publish({ + channel : channel_name, + message : message + }); +} + + +// -- +// -- LISTING FOR MESSAGES +// -- +function listen(channel) { + // -- UNSUBSCRIBE FROM PREVIOUS CHANNEL + PUBNUB.unsubscribe({ channel : channel_name}); + + // -- SAVE NEW CHANNEL NAME + channel_name = channel || 'titanium-demo'; + + // -- SUBSCRIBE TO NEW CHANNEL + PUBNUB.subscribe({ + channel : channel_name, + callback : log + }); + + // -- UPDATE CONNECTED STATUS + connected.innerHTML = 'CONNECTED to "' + channel_name + '"'; + PUBNUB.css( connected, { color : "green" } ); +} + + +// -- +// -- BIND SUBSCRIBE BUTTON +// -- +PUBNUB.bind( 'mousedown,touchstart', subscribe_button, function() { + listen(subscribe_channel.value); +} ); + + +// -- +// -- BIND PUBLISH BUTTON +// -- +PUBNUB.bind( 'mousedown,touchstart', publish_button, function() { + // -- PUBLISH THE VALUE OF THE TEXTBOX INPUT + send_message( publish_text.value || 'EMPTY MESSAGE' ); +} ); + + +// -- +// -- GENERAL STARTUP COMPLETE MESSAGE +// -- +log("Startup Complete"); + +})(); diff --git a/titanium/examples/desktop/index.html b/titanium/examples/desktop/index.html new file mode 100644 index 000000000..baf30f47a --- /dev/null +++ b/titanium/examples/desktop/index.html @@ -0,0 +1,75 @@ + + + + + + + +
+ + + + + + + + NOT CONNECTED +
+ + + +
+ + + + + +
+ + + +
...
+ + + +
+ + + + diff --git a/titanium/examples/desktop/pubnub.js b/titanium/examples/desktop/pubnub.js new file mode 100644 index 000000000..b4f497897 --- /dev/null +++ b/titanium/examples/desktop/pubnub.js @@ -0,0 +1,972 @@ +// 3.4.3 +(function(){ +var NOW = 1 +, READY = false +, READY_BUFFER = [] +, PRESENCE_SUFFIX = '-pnpres' +, DEF_WINDOWING = 10 // MILLISECONDS. +, DEF_TIMEOUT = 10000 // MILLISECONDS. +, DEF_SUB_TIMEOUT = 310 // SECONDS. +, DEF_KEEPALIVE = 60 // SECONDS. +, SECOND = 1000 // A THOUSAND MILLISECONDS. +, REPL = /{([\w\-]+)}/g; + +/** + * UTILITIES + */ +function unique() { return'x'+ ++NOW+''+(+new Date) } +function rnow() { return+new Date } + +/** + * NEXTORIGIN + * ========== + * var next_origin = nextorigin(); + */ +var nextorigin = (function() { + var max = 20 + , ori = Math.floor(Math.random() * max); + return function( origin, failover ) { + return origin.indexOf('pubsub.') > 0 + && origin.replace( + 'pubsub', 'ps' + ( + failover ? uuid().split('-')[0] : + (++ori < max? ori : ori=1) + ) ) || origin; + } +})(); + +/** + * UPDATER + * ======= + * var timestamp = unique(); + */ +function updater( fun, rate ) { + var timeout + , last = 0 + , runnit = function() { + if (last + rate > rnow()) { + clearTimeout(timeout); + timeout = setTimeout( runnit, rate ); + } + else { + last = rnow(); + fun(); + } + }; + + return runnit; +} + +/** + * GREP + * ==== + * var list = grep( [1,2,3], function(item) { return item % 2 } ) + */ +function grep( list, fun ) { + var fin = []; + each( list || [], function(l) { fun(l) && fin.push(l) } ); + return fin +} + +/** + * SUPPLANT + * ======== + * var text = supplant( 'Hello {name}!', { name : 'John' } ) + */ +function supplant( str, values ) { + return str.replace( REPL, function( _, match ) { + return values[match] || _ + } ); +} + +/** + * timeout + * ======= + * timeout( function(){}, 100 ); + */ +function timeout( fun, wait ) { + return setTimeout( fun, wait ); +} + +/** + * uuid + * ==== + * var my_uuid = uuid(); + */ +function uuid(callback) { + var u = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, + function(c) { + var r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8); + return v.toString(16); + }); + if (callback) callback(u); + return u; +} + +/** + * EACH + * ==== + * each( [1,2,3], function(item) { } ) + */ +function each( o, f ) { + if ( !o || !f ) return; + + if ( typeof o[0] != 'undefined' ) + for ( var i = 0, l = o.length; i < l; ) + f.call( o[i], o[i], i++ ); + else + for ( var i in o ) + o.hasOwnProperty && + o.hasOwnProperty(i) && + f.call( o[i], i, o[i] ); +} + +/** + * MAP + * === + * var list = map( [1,2,3], function(item) { return item + 1 } ) + */ +function map( list, fun ) { + var fin = []; + each( list || [], function( k, v ) { fin.push(fun( k, v )) } ); + return fin; +} + +/** + * ENCODE + * ====== + * var encoded_path = encode('path'); + */ +function encode(path) { + return map( (encodeURIComponent(path)).split(''), function(chr) { + return "-_.!~*'()".indexOf(chr) < 0 ? chr : + "%"+chr.charCodeAt(0).toString(16).toUpperCase() + } ).join(''); +} + +/** + * Generate Subscription Channel List + * ================================== + * generate_channel_list(channels_object); + */ +function generate_channel_list(channels) { + var list = []; + each( channels, function( channel, status ) { + if (status.subscribed) list.push(channel); + } ); + return list.sort(); +} + +// PUBNUB READY TO CONNECT + function ready() { timeout( function() { + if (READY) return; + READY = 1; + each( READY_BUFFER, function(connect) { connect() } ); + }, SECOND ); } + +function PN_API(setup) { + var SUB_WINDOWING = +setup['windowing'] || DEF_WINDOWING + , SUB_TIMEOUT = (+setup['timeout'] || DEF_SUB_TIMEOUT) * SECOND + , KEEPALIVE = (+setup['keepalive'] || DEF_KEEPALIVE) * SECOND + , PUBLISH_KEY = setup['publish_key'] || '' + , SUBSCRIBE_KEY = setup['subscribe_key'] || '' + , SSL = setup['ssl'] ? 's' : '' + , ORIGIN = 'http'+SSL+'://'+(setup['origin']||'pubsub.pubnub.com') + , STD_ORIGIN = nextorigin(ORIGIN) + , SUB_ORIGIN = nextorigin(ORIGIN) + , CONNECT = function(){} + , PUB_QUEUE = [] + , SUB_CALLBACK = 0 + , SUB_CHANNEL = 0 + , SUB_RECEIVER = 0 + , SUB_RESTORE = 0 + , SUB_BUFF_WAIT = 0 + , TIMETOKEN = 0 + , CHANNELS = {} + , xdr = setup['xdr'] + , _is_online = setup['_is_online'] || function() { return 1; } + , jsonp_cb = setup['jsonp_cb'] || function(){ return 0; } + , db = setup['db'] || {'get': function(){}, 'set': function(){}} + , UUID = setup['uuid'] || ( db && db['get'](SUBSCRIBE_KEY+'uuid') || ''); + + + + function publish(next) { + if (next) PUB_QUEUE.sending = 0; + if (PUB_QUEUE.sending || !PUB_QUEUE.length) return; + PUB_QUEUE.sending = 1; + xdr(PUB_QUEUE.shift()); + } + + function each_channel(callback) { + each( generate_channel_list(CHANNELS), function(channel) { + var chan = CHANNELS[channel]; + if (!chan) return; + callback(chan); + } ); + } + + // Announce Leave Event + + + var SELF = { + + '_reset_offline' : function() { + SUB_RECEIVER && SUB_RECEIVER(1); + }, + + 'LEAVE' : function( channel, blocking ) { + var data = { 'uuid' : UUID } + , origin = nextorigin(ORIGIN) + , jsonp = jsonp_cb(); + + // Prevent Leaving a Presence Channel + if (channel.indexOf(PRESENCE_SUFFIX) > 0) return; + + if (jsonp != '0') data['callback'] = jsonp; + + xdr({ + blocking : blocking || SSL, + timeout : 2000, + callback : jsonp, + data : data, + url : [ + origin, 'v2', 'presence', 'sub_key', + SUBSCRIBE_KEY, 'channel', encode(channel), 'leave' + ] + }); + }, + /* + PUBNUB.history({ + channel : 'my_chat_channel', + limit : 100, + callback : function(history) { } + }); + */ + 'history' : function( args, callback ) { + var callback = args['callback'] || callback + , count = args['count'] || args['limit'] || 100 + , reverse = args['reverse'] || "false" + , err = args['error'] || function(){} + , channel = args['channel'] + , start = args['start'] + , end = args['end'] + , params = {} + , jsonp = jsonp_cb(); + + // Make sure we have a Channel + if (!channel) return error('Missing Channel'); + if (!callback) return error('Missing Callback'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + params['stringtoken'] = 'true'; + params['count'] = count; + params['reverse'] = reverse; + + if (jsonp) params['callback'] = jsonp; + if (start) params['start'] = start; + if (end) params['end'] = end; + + // Send Message + xdr({ + callback : jsonp, + data : params, + success : function(response) { callback(response) }, + fail : err, + url : [ + STD_ORIGIN, 'v2', 'history', 'sub-key', + SUBSCRIBE_KEY, 'channel', encode(channel) + ] + }); + }, + + /* + PUBNUB.replay({ + source : 'my_channel', + destination : 'new_channel' + }); + */ + 'replay' : function(args) { + var callback = callback || args['callback'] || function(){} + , source = args['source'] + , destination = args['destination'] + , stop = args['stop'] + , start = args['start'] + , end = args['end'] + , reverse = args['reverse'] + , limit = args['limit'] + , jsonp = jsonp_cb() + , data = {} + , url; + + // Check User Input + if (!source) return error('Missing Source Channel'); + if (!destination) return error('Missing Destination Channel'); + if (!PUBLISH_KEY) return error('Missing Publish Key'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + // Setup URL Params + if (jsonp != '0') data['callback'] = jsonp; + if (stop) data['stop'] = 'all'; + if (reverse) data['reverse'] = 'true'; + if (start) data['start'] = start; + if (end) data['end'] = end; + if (limit) data['count'] = limit; + + // Compose URL Parts + url = [ + STD_ORIGIN, 'v1', 'replay', + PUBLISH_KEY, SUBSCRIBE_KEY, + source, destination + ]; + + // Start (or Stop) Replay! + xdr({ + callback : jsonp, + success : function(response) { callback(response) }, + fail : function() { callback([ 0, 'Disconnected' ]) }, + url : url, + data : data + }); + }, + + /* + PUBNUB.time(function(time){ }); + */ + 'time' : function(callback) { + var jsonp = jsonp_cb(); + xdr({ + callback : jsonp, + timeout : SECOND*5, + url : [STD_ORIGIN, 'time', jsonp], + success : function(response) { callback(response[0]) }, + fail : function() { callback(0) } + }); + }, + + /* + PUBNUB.publish({ + channel : 'my_chat_channel', + message : 'hello!' + }); + */ + 'publish' : function( args, callback ) { + var callback = callback || args['callback'] || function(){} + , msg = args['message'] + , channel = args['channel'] + , jsonp = jsonp_cb() + , url; + + if (!msg) return error('Missing Message'); + if (!channel) return error('Missing Channel'); + if (!PUBLISH_KEY) return error('Missing Publish Key'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + // If trying to send Object + msg = JSON['stringify'](msg); + + // Create URL + url = [ + STD_ORIGIN, 'publish', + PUBLISH_KEY, SUBSCRIBE_KEY, + 0, encode(channel), + jsonp, encode(msg) + ]; + + // Queue Message Send + PUB_QUEUE.push({ + callback : jsonp, + timeout : SECOND*5, + url : url, + data : { 'uuid' : UUID }, + success : function(response){callback(response);publish(1)}, + fail : function(){callback([0,'Failed',msg]);publish(1)} + }); + + // Send Message + publish(); + }, + + /* + PUBNUB.unsubscribe({ channel : 'my_chat' }); + */ + 'unsubscribe' : function(args) { + var channel = args['channel']; + + TIMETOKEN = 0; + SUB_RESTORE = 1; + + // Prepare Channel(s) + channel = map( ( + channel.join ? channel.join(',') : ''+channel + ).split(','), function(channel) { + return channel + ',' + channel + PRESENCE_SUFFIX; + } ).join(','); + + // Iterate over Channels + each( channel.split(','), function(channel) { + if (READY) SELF['LEAVE']( channel, 0 ); + CHANNELS[channel] = 0; + } ); + + // ReOpen Connection if Any Channels Left + if (READY) CONNECT(); + }, + + /* + PUBNUB.subscribe({ + channel : 'my_chat' + callback : function(message) { } + }); + */ + 'subscribe' : function( args, callback ) { + var channel = args['channel'] + , callback = callback || args['callback'] + , callback = callback || args['message'] + , connect = args['connect'] || function(){} + , reconnect = args['reconnect'] || function(){} + , disconnect = args['disconnect'] || function(){} + , presence = args['presence'] || 0 + , noheresync = args['noheresync'] || 0 + , backfill = args['backfill'] || 0 + , sub_timeout = args['timeout'] || SUB_TIMEOUT + , windowing = args['windowing'] || SUB_WINDOWING + , restore = args['restore']; + + // Restore Enabled? + if (restore) SUB_RESTORE = 1; + + TIMETOKEN = 0; + + // Make sure we have a Channel + if (!channel) return error('Missing Channel'); + if (!callback) return error('Missing Callback'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + // Setup Channel(s) + each( (channel.join ? channel.join(',') : ''+channel).split(','), + function(channel) { + var settings = CHANNELS[channel] || {}; + + // Store Channel State + CHANNELS[SUB_CHANNEL = channel] = { + name : channel, + connected : settings.connected, + disconnected : settings.disconnected, + subscribed : 1, + callback : SUB_CALLBACK = callback, + connect : connect, + disconnect : disconnect, + reconnect : reconnect + }; + + // Presence Enabled? + if (!presence) return; + + // Subscribe Presence Channel + SELF['subscribe']({ + 'channel' : channel + PRESENCE_SUFFIX, + 'callback' : presence + }); + + // Presence Subscribed? + if (settings.subscribed) return; + + // See Who's Here Now? + if (noheresync) return; + SELF['here_now']({ + 'channel' : channel, + 'callback' : function(here) { + each( 'uuids' in here ? here['uuids'] : [], + function(uid) { presence( { + 'action' : 'join', + 'uuid' : uid, + 'timestamp' : rnow(), + 'occupancy' : here['occupancy'] || 1 + }, here, channel ); } ); + } + }); + } ); + + // Test Network Connection + function _test_connection(success) { + if (success) { + // Begin Next Socket Connection + timeout( _connect, SECOND ); + } + else { + // New Origin on Failed Connection + STD_ORIGIN = nextorigin( ORIGIN, 1 ); + SUB_ORIGIN = nextorigin( ORIGIN, 1 ); + + // Re-test Connection + timeout( function() { + SELF['time'](_test_connection); + }, SECOND ); + } + + // Disconnect & Reconnect + each_channel(function(channel){ + // Reconnect + if (success && channel.disconnected) { + channel.disconnected = 0; + return channel.reconnect(channel.name); + } + + // Disconnect + if (!success && !channel.disconnected) { + channel.disconnected = 1; + channel.disconnect(channel.name); + } + }); + } + + // Evented Subscribe + function _connect() { + var jsonp = jsonp_cb() + , channels = generate_channel_list(CHANNELS).join(','); + + // Stop Connection + if (!channels) return; + + // Connect to PubNub Subscribe Servers + SUB_RECEIVER = xdr({ + timeout : sub_timeout, + callback : jsonp, + fail : function() { SELF['time'](_test_connection) }, + data : { 'uuid' : UUID }, + url : [ + SUB_ORIGIN, 'subscribe', + SUBSCRIBE_KEY, encode(channels), + jsonp, TIMETOKEN + ], + success : function(messages) { + if (!messages) return timeout( _connect, windowing ); + + // Connect + each_channel(function(channel){ + if (channel.connected) return; + channel.connected = 1; + channel.connect(channel.name); + }); + + // Restore Previous Connection Point if Needed + TIMETOKEN = !TIMETOKEN && + SUB_RESTORE && + db['get'](SUBSCRIBE_KEY) || messages[1]; + + + if (backfill) { + Timetoken = 10000; + backfill = 0; + } + + // Update Saved Timetoken + db['set']( SUBSCRIBE_KEY, messages[1] ); + + // Route Channel <---> Callback for Message + var next_callback = (function() { + var channels = (messages.length>2?messages[2]:'') + , list = channels.split(','); + + return function() { + var channel = list.shift()||''; + return [ + (CHANNELS[channel]||{}) + .callback||SUB_CALLBACK, + (channel||SUB_CHANNEL) + .split(PRESENCE_SUFFIX)[0] + ]; + }; + })(); + + each( messages[0], function(msg) { + var next = next_callback(); + if (!CHANNELS[next[1]].subscribed) return; + next[0]( msg, messages, next[1] ); + } ); + + timeout( _connect, windowing ); + } + }); + } + + CONNECT = function() { + // Close Previous Subscribe Connection + SELF['_reset_offline'](); + + // Begin Recursive Subscribe + clearTimeout(SUB_BUFF_WAIT); + SUB_BUFF_WAIT = timeout( _connect, 100 ); + }; + + // Reduce Status Flicker + if (!READY) return READY_BUFFER.push(CONNECT); + + // Connect Now + CONNECT(); + }, + + 'here_now' : function( args, callback ) { + var callback = args['callback'] || callback + , err = args['error'] || function(){} + , channel = args['channel'] + , jsonp = jsonp_cb() + , data = null; + + // Make sure we have a Channel + if (!channel) return error('Missing Channel'); + if (!callback) return error('Missing Callback'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + if (jsonp != '0') { + data = {}; + data['callback'] = jsonp; + } + + xdr({ + callback : jsonp, + data : data, + success : function(response) { callback(response) }, + fail : err, + url : [ + STD_ORIGIN, 'v2', 'presence', + 'sub_key', SUBSCRIBE_KEY, + 'channel', encode(channel) + ] + }); + }, + + // Expose PUBNUB Functions + 'xdr' : xdr, + 'ready' : ready, + 'db' : db, + 'uuid' : uuid, + 'each' : each, + 'map' : map, + 'grep' : grep, + 'supplant' : supplant, + 'now' : rnow, + 'unique' : unique, + 'updater' : updater, + 'poll_online' : function() { + _is_online() || SELF['_reset_offline'](); + timeout( SELF['poll_online'], SECOND ); + }, + 'poll_online2' : function() { + SELF['time'](function(success){ + success || SELF['_reset_offline'](); + timeout( SELF['poll_online2'], KEEPALIVE ); + }) + } + }; + if (!UUID) UUID = SELF['uuid'](); + db['set']( SUBSCRIBE_KEY + 'uuid', UUID ); + + timeout( SELF['poll_online'], SECOND ); + timeout( SELF['poll_online2'], KEEPALIVE ); + + return SELF; +} +/* --------------------------------------------------------------------------- +--------------------------------------------------------------------------- */ + +/* --------------------------------------------------------------------------- +PubNub Real-time Cloud-Hosted Push API and Push Notification Client Frameworks +Copyright (c) 2011 PubNub Inc. +http://www.pubnub.com/ +http://www.pubnub.com/terms +--------------------------------------------------------------------------- */ + +/* --------------------------------------------------------------------------- +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +--------------------------------------------------------------------------- */ +(function(){ + +/** + * UTIL LOCALS + */ +var NOW = 1 +, URLBIT = '/' +, MAGIC = /\$?{([\w\-]+)}/g +, PARAMSBIT = '&' +, ANDROID = Ti.Platform.name.toLowerCase().indexOf('android') >= 0 +, XHRTME = 310000; + + + +/** + * LOCAL STORAGE OR COOKIE + */ +var db = (function(){ + return { + get : function(key) { + Ti.App.Properties.getString(''+key); + }, + set : function( key, value ) { + Ti.App.Properties.setString( ''+key, ''+value ); + } + }; +})(); + + +/** + * Titanium TCP Sockets + * ==================== + * xdr({ + * url : ['http://www.blah.com/url'], + * success : function(response) {}, + * fail : function() {} + * }); + */ +function xdr_tcp(setup) { + + var url = setup.url.join(URLBIT); + if (setup.data) { + var params = []; + url += "?"; + for (key in setup.data) { + params.push(key+"="+setup.data[key]); + } + url += params.join(PARAMSBIT); + } + log(url); + var body = [] + , data = "" + , rbuffer = Ti.createBuffer({ length : 2048 }) + , wbuffer = Ti.createBuffer({ value : "GET " + url + " HTTP/1.0\n\n"}) + , failed = 0 + , fail = function() { + if (failed) return; + failed = 1; + (setup.fail || function(){})(); + } + , success = setup.success || function(){} + , sock = Ti.Network.Socket.createTCP({ + host : url.split(URLBIT)[2], + port : 80, + mode : Ti.Network.READ_WRITE_MODE, + timeout : XHRTME, + error : fail, + connected : function() { + sock.write(wbuffer); + read(); + } + }); + + function read() { + Ti.Stream.read( sock, rbuffer, function(stream) { + if (+stream.bytesProcessed > -1) { + data = Ti.Codec.decodeString({ + source : rbuffer, + length : +stream.bytesProcessed + }); + + body.push(data); + rbuffer.clear(); + + return timeout( read, 1 ); + } + + try { + data = JSON['parse']( + body.join('').split('\r\n').slice(-1) + ); + } + catch (r) { + return fail(); + } + + sock.close(); + success(data); + } ); + } + + try { sock.connect() } + catch(k) { return fail() } +} + +/** + * Titanium XHR Request + * ============================== + * xdr({ + * url : ['http://www.blah.com/url'], + * success : function(response) {}, + * fail : function() {} + * }); + */ +function xdr_http_client( setup ) { + + var url = setup.url.join(URLBIT); + if (setup.data) { + var params = []; + url += "?"; + for (key in setup.data) { + params.push(key+"="+setup.data[key]); + } + url += params.join(PARAMSBIT); + } + var xhr + , finished = function() { + if (loaded) return; + loaded = 1; + + clearTimeout(timer); + + try { response = JSON['parse'](xhr.responseText); } + catch (r) { return done(1); } + + success(response); + } + , complete = 0 + , loaded = 0 + , timer = timeout( function(){done(1)}, XHRTME ) + , fail = setup.fail || function(){} + , success = setup.success || function(){} + , done = function(failed) { + if (complete) return; + complete = 1; + + clearTimeout(timer); + + if (xhr) { + xhr.onerror = xhr.onload = null; + xhr.abort && xhr.abort(); + xhr = null; + } + + failed && fail(); + }; + + // Send + try { + xhr = Ti.Network.createHTTPClient(); + xhr.onerror = function(){ done(1) }; + xhr.onload = finished; + xhr.timeout = XHRTME; + + xhr.open( 'GET', url, true ); + xhr.send(); + } + catch(eee) { + done(0); + return xdr(setup); + } + + // Return 'done' + return done; +} + +/** + * BIND + * ==== + * bind( 'keydown', search('a')[0], function(element) { + * ... + * } ); + */ +function bind( type, el, fun ) { + each( type.split(','), function(etype) { + var rapfun = function(e) { + if (!e) e = window.event; + if (!fun(e)) { + e.cancelBubble = true; + e.returnValue = false; + e.preventDefault && e.preventDefault(); + e.stopPropagation && e.stopPropagation(); + } + }; + + if ( el.addEventListener ) el.addEventListener( etype, rapfun, false ); + else if ( el.attachEvent ) el.attachEvent( 'on' + etype, rapfun ); + else el[ 'on' + etype ] = rapfun; + } ); +} + +/** + * UNBIND + * ====== + * unbind( 'keydown', search('a')[0] ); + */ +function unbind( type, el, fun ) { + if ( el.removeEventListener ) el.removeEventListener( type, false ); + else if ( el.detachEvent ) el.detachEvent( 'on' + type, false ); + else el[ 'on' + type ] = null; +} + +/** + * LOG + * === + * var list = grep( [1,2,3], function(item) { return item % 2 } ) + */ +var log = function(){}; + +/** + * EVENTS + * ====== + * PUBNUB.events.bind( 'you-stepped-on-flower', function(message) { + * // Do Stuff with message + * } ); + * + * PUBNUB.events.fire( 'you-stepped-on-flower', "message-data" ); + * PUBNUB.events.fire( 'you-stepped-on-flower', {message:"data"} ); + * PUBNUB.events.fire( 'you-stepped-on-flower', [1,2,3] ); + * + */ +var events = { + 'list' : {}, + 'unbind' : function( name ) { events.list[name] = [] }, + 'bind' : function( name, fun ) { + (events.list[name] = events.list[name] || []).push(fun); + }, + 'fire' : function( name, data ) { + each( + events.list[name] || [], + function(fun) { fun(data) } + ); + } +}; + +/* =-====================================================================-= */ +/* =-====================================================================-= */ +/* =-========================= PUBNUB ===========================-= */ +/* =-====================================================================-= */ +/* =-====================================================================-= */ + +function PN(setup) { + + + setup['db'] = db; + setup['xdr'] = setup['native_tcp_socket'] ? xdr_tcp : xdr_http_client + var SELF = PN_API(setup); + + SELF['init'] = PN; + + + // Return without Testing + if (setup['notest']) return SELF; + + SELF['ready'](); + return SELF; +} + +typeof module !== 'undefined' && (module.exports = PN) || +typeof exports !== 'undefined' && (exports.PN = PN) || (PUBNUB = PN); + +})(); +})(); diff --git a/titanium/examples/mobile/chat-example-app/.project b/titanium/examples/mobile/chat-example-app/.project new file mode 100644 index 000000000..3ea5e6552 --- /dev/null +++ b/titanium/examples/mobile/chat-example-app/.project @@ -0,0 +1,23 @@ + + + chat-example-app + + + + + + com.appcelerator.titanium.core.builder + + + + + com.aptana.ide.core.unifiedBuilder + + + + + + com.appcelerator.titanium.mobile.nature + com.aptana.projects.webnature + + diff --git a/titanium/examples/mobile/chat-example-app/CHANGELOG.txt b/titanium/examples/mobile/chat-example-app/CHANGELOG.txt new file mode 100644 index 000000000..de1e09178 --- /dev/null +++ b/titanium/examples/mobile/chat-example-app/CHANGELOG.txt @@ -0,0 +1 @@ +Place your change log text here. This file will be incorporated with your app at package time. \ No newline at end of file diff --git a/titanium/examples/mobile/chat-example-app/LICENSE b/titanium/examples/mobile/chat-example-app/LICENSE new file mode 100644 index 000000000..0ec894017 --- /dev/null +++ b/titanium/examples/mobile/chat-example-app/LICENSE @@ -0,0 +1,219 @@ +Copyright 2009 Appcelerator, Inc. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + (or the full text of the license is below) + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + +2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + +3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + +4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + +5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + +6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + +8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + +APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + +Copyright [yyyy] [name of copyright owner] + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. \ No newline at end of file diff --git a/titanium/examples/mobile/chat-example-app/LICENSE.txt b/titanium/examples/mobile/chat-example-app/LICENSE.txt new file mode 100644 index 000000000..4124b1d32 --- /dev/null +++ b/titanium/examples/mobile/chat-example-app/LICENSE.txt @@ -0,0 +1 @@ +Place your license text here. This file will be incorporated with your app at package time. \ No newline at end of file diff --git a/titanium/examples/mobile/chat-example-app/README b/titanium/examples/mobile/chat-example-app/README new file mode 100644 index 000000000..cb993a658 --- /dev/null +++ b/titanium/examples/mobile/chat-example-app/README @@ -0,0 +1,18 @@ +Welcome to your Appcelerator Titanium Mobile Project + +This is a blank project. Start by editing your application's app.js to +make your first mobile project using Titanium. + + + +---------------------------------- +Stuff our legal folk make us say: + +Appcelerator, Appcelerator Titanium and associated marks and logos are +trademarks of Appcelerator, Inc. + +Titanium is Copyright (c) 2009-2010 by Appcelerator, Inc. All Rights Reserved. + +Titanium is licensed under the Apache Public License (Version 2). Please +see the LICENSE file for the full license. + diff --git a/titanium/examples/mobile/chat-example-app/Resources/KS_nav_ui.png b/titanium/examples/mobile/chat-example-app/Resources/KS_nav_ui.png new file mode 100644 index 0000000000000000000000000000000000000000..28976c8680a455227bab8102bcc624492c0db793 GIT binary patch literal 1158 zcmV;11bO?3P)H=jVHj@bY}4s!uFxD4<6p{oHM@jocDX*=l#BK5|_($=pZ)k&;e~B;vwQ8;vwQ8 z;=h|z><=XpiDGzo_<>9&)9>u;NT_i60-pV`zWUz36M*L0+S(c~EiJu)zTID8l=L6e-EoU^&P$@$6wYGkES=}uc)+h@64z7RB3@zE6B z-Q5oo5)!Tup@M>fGTh50MQ}JAMM+6XkHsXXPN%y*KR?g2)Nu`7enz;6jEp=6lMIAS zPfu&b4zjqosNLS)ma`i7y)-9=^s<=VDZ4aB%SI#KZ*0GC9>srSh7GwwJ&p z0^vwh(Nhlv(xDE`YImt;7Ap42%F5QNs;U^M zLsVB+*GsCTR1{}tXXjB7r$9<0R7p=Y5ui{g%qTt!X=!OmEQy;*RqE^OtyF)2kAR6{ zyuZKyEkI0<_!;9XU`S6-zsS_%z$cP3w|ZFJ9{(M>z&A=@5z55zJnvvhoNsP!KAV-5 z)yi>Pl+kFsRa{*BkR-0Dsp)h^M#f!~a&EUB5JeGG<@Vg%oP;IuXsiJ5U}cv`M6_D% zecXFS+Ky_d&(6-y6C;O6>XT3v8B0}(^HdL%cbe{_fXr+*$BP|gZEYgoREKCg5T#vs5pW8K2*R-n z6|Yg?6)lVX@!AVhx_f{xzPD|i1`0b{FeX& Y0Ca~^4o{F=hX4Qo07*qoM6N<$f>;VBfdBvi literal 0 HcmV?d00001 diff --git a/titanium/examples/mobile/chat-example-app/Resources/KS_nav_views.png b/titanium/examples/mobile/chat-example-app/Resources/KS_nav_views.png new file mode 100644 index 0000000000000000000000000000000000000000..885abd90062eaeb06103194926db96dc27e99b04 GIT binary patch literal 1074 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 Law0WC`housunqYH literal 0 HcmV?d00001 diff --git a/titanium/examples/mobile/chat-example-app/Resources/android/images/res-long-land-hdpi/default.png b/titanium/examples/mobile/chat-example-app/Resources/android/images/res-long-land-hdpi/default.png new file mode 100644 index 0000000000000000000000000000000000000000..77519596a6a56480187ec14ae3be3974fafbe2b0 GIT binary patch literal 102971 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�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

pn_r~o>NFk zPHq+#4V{*hOt5$zn<1vcPakci1Vh5I7#^_#MK=P*XXLb{__!G`E3a)~o$ZOUc*IL` z1!YUdU4tVprppSdvOHrKn`AezlHuFF!?<%?6jj0p#-0*l{UH73VG?6{ww88OEh2!r zY5;y5=!JPv=!3ul^#xlMenI`fUeXZ>HA&7=7C6!rC2>SXt_}4cPVm@$K&54pvhiMk%8cps9o^ zR_pTH-?C{D2UZ~04DSO{5oMDg^EH1<#rqfH^NcK{vYUIA#7zpvqr*n(mEftDd%h>L zM70znO_Md66G1Zran>^T#+!Ft96m$cVYE$=4>TRW`pz-$F1ReZXT5)HI(}<1Ie0W^{=G?x+cvY}H5RoG>4Co4p-%&KcWxxfKFZrPnPYP`ZBH3azXZ?8)S;Nij zuIg`s#yZo+fQy`&{1=BuG7?HGC`}}r{BmqE!&ZTdy>aKC((WT1P7Hl?yrS!1i57T6 zf5Y_V_I}+d;@*M3F76~H&!p}qggffP$iT|b1FbxXkU-^xPWMm_z5(yqGI}?9ZEqG z_a2oOAsv^;cM|C|G%210IoAbJ-7c-?^$SaD*)D;rITLw^V9Zi#qCt_|$7CamY(chP z!>Mp>_!Y9t@x!E(U~>Jn&Iz5Q;1Rwby&uZsahNHd3TrZDc~&2e&-N!jpv%3zh&B?z z2dFVUzq+=m=)fG=K@BNU`#CdRpLFr@V_8h;f|1GlxiHW+ObMssRxaeM$njmJ{-}7h z0e#cypl`O*kw99WRo)owJs3)4popz})*-f=I*RKET?8WLY<{*lop2Q(Y1F_>){;#17& zqS^9QLGr=bxHqfN1A6%w-lf#z4R+BU%pQi`htPnG_&(hPm8yM@3})K9^r?~1QFGgyix_c4Cp}aZc zzTB8mc-AY3gu~*lIyvnvbCA@Q8n?M7?e$c`B_=T*jj^j+gj4iPDZ2he48?UYA zV4ebw9t#PciZB}sumn1%k3ntUsWg!vWO;|LQh_gj>35#GLR7f~+5?{dEq1CweUgMq zHbgTRD)hzBcNUW)P(|F?*uBG`wZzWUx;+xGv`A@II~I^`avp@fEGj#3h<4@g>Xl=V zhD0Eouv>Qr4r!fl{!|UPzqr|d%t#NIv>SCp&$;;S&D3(^Wi>uF(yHS=74P1y5KWi(k203!v}8J=UW|

MN`G3pO|KcA=3CLvU;_&iKQWu+4R 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�A%0YN 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 literal 0 HcmV?d00001 diff --git a/titanium/examples/mobile/chat-example-app/Resources/android/images/res-long-land-ldpi/default.png b/titanium/examples/mobile/chat-example-app/Resources/android/images/res-long-land-ldpi/default.png new file mode 100644 index 0000000000000000000000000000000000000000..86e7930b6244d1237a35dd95473de19b68ad2736 GIT binary patch literal 34784 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

dGl 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 literal 0 HcmV?d00001 diff --git a/titanium/examples/mobile/chat-example-app/Resources/android/images/res-long-port-ldpi/default.png b/titanium/examples/mobile/chat-example-app/Resources/android/images/res-long-port-ldpi/default.png new file mode 100644 index 0000000000000000000000000000000000000000..2ab10df9a193992ff5f87a89c9214b58693dedb9 GIT binary patch literal 47541 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Ʋ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 uuYiUwmnz{3^z<1d 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 Worpo_T9XAJJ_<6bAFHHHgZ~FyQ6F0X literal 0 HcmV?d00001 diff --git a/titanium/examples/mobile/chat-example-app/Resources/android/images/res-notlong-land-hdpi/default.png b/titanium/examples/mobile/chat-example-app/Resources/android/images/res-notlong-land-hdpi/default.png new file mode 100644 index 0000000000000000000000000000000000000000..77519596a6a56480187ec14ae3be3974fafbe2b0 GIT binary patch literal 102971 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�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

pn_r~o>NFk zPHq+#4V{*hOt5$zn<1vcPakci1Vh5I7#^_#MK=P*XXLb{__!G`E3a)~o$ZOUc*IL` z1!YUdU4tVprppSdvOHrKn`AezlHuFF!?<%?6jj0p#-0*l{UH73VG?6{ww88OEh2!r zY5;y5=!JPv=!3ul^#xlMenI`fUeXZ>HA&7=7C6!rC2>SXt_}4cPVm@$K&54pvhiMk%8cps9o^ zR_pTH-?C{D2UZ~04DSO{5oMDg^EH1<#rqfH^NcK{vYUIA#7zpvqr*n(mEftDd%h>L zM70znO_Md66G1Zran>^T#+!Ft96m$cVYE$=4>TRW`pz-$F1ReZXT5)HI(}<1Ie0W^{=G?x+cvY}H5RoG>4Co4p-%&KcWxxfKFZrPnPYP`ZBH3azXZ?8)S;Nij zuIg`s#yZo+fQy`&{1=BuG7?HGC`}}r{BmqE!&ZTdy>aKC((WT1P7Hl?yrS!1i57T6 zf5Y_V_I}+d;@*M3F76~H&!p}qggffP$iT|b1FbxXkU-^xPWMm_z5(yqGI}?9ZEqG z_a2oOAsv^;cM|C|G%210IoAbJ-7c-?^$SaD*)D;rITLw^V9Zi#qCt_|$7CamY(chP z!>Mp>_!Y9t@x!E(U~>Jn&Iz5Q;1Rwby&uZsahNHd3TrZDc~&2e&-N!jpv%3zh&B?z z2dFVUzq+=m=)fG=K@BNU`#CdRpLFr@V_8h;f|1GlxiHW+ObMssRxaeM$njmJ{-}7h z0e#cypl`O*kw99WRo)owJs3)4popz})*-f=I*RKET?8WLY<{*lop2Q(Y1F_>){;#17& zqS^9QLGr=bxHqfN1A6%w-lf#z4R+BU%pQi`htPnG_&(hPm8yM@3})K9^r?~1QFGgyix_c4Cp}aZc zzTB8mc-AY3gu~*lIyvnvbCA@Q8n?M7?e$c`B_=T*jj^j+gj4iPDZ2he48?UYA zV4ebw9t#PciZB}sumn1%k3ntUsWg!vWO;|LQh_gj>35#GLR7f~+5?{dEq1CweUgMq zHbgTRD)hzBcNUW)P(|F?*uBG`wZzWUx;+xGv`A@II~I^`avp@fEGj#3h<4@g>Xl=V zhD0Eouv>Qr4r!fl{!|UPzqr|d%t#NIv>SCp&$;;S&D3(^Wi>uF(yHS=74P1y5KWi(k203!v}8J=UW|

MN`G3pO|KcA=3CLvU;_&iKQWu+4R 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�A%0YN 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 literal 0 HcmV?d00001 diff --git a/titanium/examples/mobile/chat-example-app/Resources/android/images/res-notlong-land-ldpi/default.png b/titanium/examples/mobile/chat-example-app/Resources/android/images/res-notlong-land-ldpi/default.png new file mode 100644 index 0000000000000000000000000000000000000000..7db10fada2f7495cfaf9dfd205a7355ff1c00b8a GIT binary patch literal 37038 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

GXLzWEy%{_Np-LRCTXTL&Yzp=T%CwXa%+Qn+ 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

dGl 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 literal 0 HcmV?d00001 diff --git a/titanium/examples/mobile/chat-example-app/Resources/android/images/res-notlong-port-ldpi/default.png b/titanium/examples/mobile/chat-example-app/Resources/android/images/res-notlong-port-ldpi/default.png new file mode 100644 index 0000000000000000000000000000000000000000..2c2bebe278280b57a274ce21f076d8beffafc203 GIT binary patch literal 30377 zcmZsiWmFq&u*VbJ-Q9~j6n6_!2=4CgR-EGQR@~iPio3fz#Y&;Yp}@_1Kiv=aoMbmS z*|R%4&-2Xw=0B4tl`pcWNJK~g000#vC#4G6-v9tWF$6fsr;xKhYLFeGvz(3_0D$HG z-y67VN$w2*ASv5ON~)+>JGnc#SvxsXfFva;oL!wPZR{-o0PoFQH7j+sb3Eb4-8%_| z$e>gOCskYo3RQ`iAekd@aVxYt5`4+ zjWYlPq1l|$?Ts1;cnS~_VxsDY?*jn6myi(v{Yp9g>?9E%=ob=M`oN%Xz<&26J_Upz z9DtZ_yhIs5Oa>T~n@OhzD1ZSNPnnq>0aRE3#-9RzE&+mapR&FJ0eY#FxWIxW00p*1 zq!hqf5KuFx87&RaW(VL{Dh%@j)>#1TAT3KdKtnsAe-;C|34nkCUR z+NsTma|Fh6iI>Wbz2z*WijqiX7@=MKFhAU5euWm<;{i0-iU7YRu~ZnCK|d&b!q9f_ zKYRoL{&qVJEYl-E2U&+6%z1rWi@wPg&;o)iLCG!vfT0u(tNLWK=okV3AXN~|*dR`P zH$cGL4@WWpyFGyX&zSd{1kLcE1cn5Xc@T-KF+)v=1bz5S11Y01+p-ubcR$!VJjEG} zbx@-NP1qUz#RMU5fW9Xf5k`C*0o#OfGZJVTtxX+|fS(oiL^&V_gB3$VF%gLarcy}a zk>gN}R;SRABmFDv3dJ9xFVmGII1bP&(haKl04;^zI6CYFl)kDfP6>}+hQahwqowSuFJi$2OK7q5yd)M}Fn7|(zGTd6 zEl!=wo@Jat-+7^+hU12gMOx7l<`BRWSP^;=)MqM|5iZ3Lj;XVM=D5r}%|g#|($HpX zWAwvKnnX&IPoqmCW@J;ZtSYP8twPqg)tFLGs5DgbuanW>Qah?dTu!gnsLEBjR3lci zsuZk28^9<89&TRO3 zGInRak#@%jS5+4BOLEC`X*H|frdo=^A7#2ceRuzYcuHTMaT^f5i*wCz$Ut1it=P$7 zp>J1}o{_FyEmsY$mc8udt-C7EE$fx;)_Dy^6CacRr2k3QDq$8j_f%~|ZKoWm98XDD z;J%Kv%C3~Suv^OOhhzEg%)CCspgcvV@?D?a(-#tdwm0=RhnMnuSrl!!W)vE@EtFXT zp%ESzCm~X{v8_K~NrNFV$x@RvlZ=CJNu3Kq#Vay#GU%~3qxwfQM-HP7qs4S^bd+=o zN*7AMvsINk%NWW86$KT?W~OI~W>&L!a)de7I8Sp?wv}n_RV=C0Q$ct4_Dj+sK$Gg^(%M3=!5G;?bS)-eY<9dl!QP-^Kgf zoaUUttBS4q-@LzVen)KQPjlxpjA@b2z{7klS z181MY*}=Q8a=c1bEM|dpF~!I)e5p6$7>pHov9y1&y=dc+dov%6!uK?Neo9k0Pq#PL4nxUbZKN1E;V+FGpx{Qlg7Q6{S*2 zo7IKYPfO3K8jG-|_YudKb~ds!_zAn_#2Q!~7NjWFS* zbXZZYzS7F53+ScuRk8~<9GDClXa(9`B5NR>g!x}?uU#1^YqRO>wVJ$y=MszHMn%`* zY~g3%2Cma@d!Gh$tRC((pR-)FJpZ}NlBb83UX}4P1I-b2W3vTyPqXFf z{y}<+En|j$t2?w!va|SyP)CnN`NZsups0F@`knfVI`8kromP{zC&z`~#9wGeFmiA?luX#h2pRxDR6UO}(TkD_%^Rp(FXuMP&aUmRSn#-JCW-{7gy+SWRkS4bCy z)m0N#nJ#6~#>o5LbFaNvP-$f3iyZwsw~&sH{H^+g&E|Q?Qi|2zx!ByaT>k*p z=WXMyqPDN6X0v;?=uX#N814s)(jPIWf<1z>`hPpz|2A!%U~6?~W!DQBIb6732)(B) zDUWr3@6N94)VJ&W?c3Y>)$;M2IPdf9&Rwt1AH0v%l{|joo!(ntr^k`U`#rp!0M}1% zvs2w0UY~x~_9*ul-HBa^Z%FP$tcdEpZ?9i(2io>~72Gat%Ra(|h0eVv-6x<+!X{)T zOogL{U*_?N@be#vy1t$NE0>%zpQFpee=mBUs>8=)3wT<&T$^3UTqw-=o00Ov!LRh~ zqW_Yxert4al&o*Un~THnPV@C@z-!x!^tyNtUHRCLB9Q*W`nmC5ZNB_9g)k-M0|q+t z_MaIS%NB$;Da_h)=S^yv@6aaYsfb7o!01tKm;KCRH5Xb}o@ST#4Mq~g0yJe7+ zxVrb|uU?;28ZDnsFWs0)UoBW_)0b^QI~RD7O2oSTaz(V}l+-BH4a~&DRNgnk@&0}{ z6nY{=qM>jmq51j3-k9UD`NEmOjeCvo&EpbH7T-8jkx_VKlDbxsySi2kG;}m{I!9gi z$bEi9vN@h&C1tG`==fjr`!q3fQE{ffcJEzpjW_|7p)xT6zP*6{i$APbJ@ZG}Z*Auf zUjjdE;0d>_h{`7Tzc|>9{vqT%dE9xwZdGdc+A!M-*pk2cFz)B|>o$Ca6MndSa0Psa zGM-e#=bFy!F#+C8JFpMMPQW%0T4tI6?86By2>>}J;e>Gg|IhbuAmp(B^ZWnzy*R;< zzxKa_TtdVvp*cZ^-DfT+(Du;AT=CGxU*m#;Q?%Uo^A)ZH3xRr6Iu=M=C_yuF;$L4u zhK0fFYh-kLUn;Ic$i`NuuwD9*QE&b`6GzZRG?^HU%JU|4>Mu7mPNQBvfP)mR_O~{c zz;<82&e<}=T9kr`rZH$N12Keq(OzU&iJS!s^q?5;MsBF8a(_!ZWT^6=z3#ST=MAsWF@$-!Ime#)SyfAZ7VpEq5P4axibP zm`u?FcpF67nY;D=CF8Krxo?U0ZIHgF*%@DQ16-L@|Z=DP#uURfxRlrT^nI1uvHO z(t=g4gc?-HSWuGLz6YjGAq!j?b8(w-kPD8s4`7r?px10m@wBe`2Nytdg*RT8AX_oS z&6l*n%zQ&4WudN8Z%>aa7G{^btKRsfN^F}{%?hqO8A`S{hTDj>fBbridelfwr|kbLshUaN#0ce~!lE36L0=;tQmDM8nBMV2^)s zMD0g8T+k(>`oRYJ%Uk?256VO4Eq;uKsWZVfnpL^dED0>n9-e3>b~-@9T6`5;Mh02* zJvKBAWJnW7@%IGgi@}J$c%%xGSfMEvY%=_32PCm_K0V>L96|Rt=@MLAkRV??*IOxqS~Ed$7k6XyBORYrh*7n8ic zrEm6)(7X^)X{qKdTw^WG#MlQ$|18?0XWv9`jT795*g|t7rE2x&L^d)kNsA~&)7YsH zfg)?J-oyj&<>NhMtbWIf^=!`y5Uh>WP6k{2y;>!FYvbw7CLW8v=y8pNFMWy)AqEg5 z3N4H>q3P#?czgle8!;$+N>>NW)PIlK2wCW+IImK`dt3H`^5)J2<8s&cSqD`UG+uha z86xGdl=W>{rlXC_DSZxc5;=S}(ECxVUpo!uG*4rp#B)JC%!eQZAEly``9CKDC4LrvxmW5NoRGmkB1J;m||zo&tQ|(CN8o&L7!g#NEEx z5A~k$>I+>Hexmrv+C^^;oVp-jiY&+diSxt|-&NXw(EuA#GwUOBYH;;JTBZPRDG#|w z({DSj7hA6WWoP^3fmA4!;PXCUalOU8aHo^E3^w?uaQ+)}-fdg^$n5#FUEKg~;DeR* z7v+c;WUxcRf^Tva&BoM)K0{eH%^#dY4N1A=TO1G~HnjslsBlpWo#9s*ayo`G9))n* z_}v6bN?VB=UZ#lBs>P<)Ba>mUo6%#}6F(@*vm3S1gUPe+%E7v7#H1R^S`V1&Hzw^d zP1K!E2&Y=vRt`XqX++U8Bh<|JY8no_kvi+`@hvGmPdW~*<+#Da)JQAwHYZ}CqlM*? z;8_l!1;k@?{8awnhSO&dO#I_dE{?Ik{n!Klx29P|S_mB6e^P8_@{q+!+;E#EliH@e zjABCz>uieVd#?y>3cZi2oLgFUs}l)tk3$%_wp>!KSj3o8aZIIaQP7$tRmc9e2-g7E zPd0j?O`YTa1ZU`L(X4aq%CDUscItN~c@u^J)Hgo`;T;o7ryzDzBb_nD&T3&Myx2Cm z6}d|yv2tL~0K84bYWCETY-lo2EJ&3on_$$;v9FX7pK*TtVx-W*oRdhFPqzH|)A>Bt ziws(yHLSd>EOF|j;jQbk;jL-PxYD2LqQiW<$j{UWm~Pq(Z8=?av@Qi_m_*0wpLvm&0c-jzGtgd26Qg9T#Pg3ve^o=>N0x_8BcMmp1ej)H* zm1WHsT3*I!+F&-kNlE}ndd=qTiv7LE5Q<*t z{_Fv~hg7XtHRxv&BuE+F>Pp^OlhoCXYn#lx6>T*zrA@#UX3*d-PLc@vTSLw(4(6O$ zDoFVszrD=lJJZsaueGC9=Q!Xv!p3EHB#tGhH0Q-|a-~5ZP=DH3d^w;}xaSy+@3zsc_;(AfEK2%`*D}R;|rAWRFg#LYNwMgcJx-eSsXAU z;;X!80PoV$0FCDt7H$VRi#3ev<9>W-z3xCrw8&@QtoaOk1bW#L=d;Oz@nuMN#b*!~6lIk#w4{NwzS0 z3041o{3$6X7j+;<=H>5xylUk)MY_qThYxS@jNo#6T@f9?C5Wv_>bWB_Gw2`Q?`<2b5>= z7G$*RiJd#m4-SHR&b5HxO5*GSR2e1)>rkp{B$S4wNL5(jVd9)zpQE^SpBWxXZ~r~z z(pOL7Fo{C!eGb8x+rSeo6?`g`#c?P;*re9ZnKL1b>+9hG#doue;Ovry`VDjxYX~?- zzE8z0w`LxnjGPJ4<(^x9UVe}sZuY2H(2gT)x2NmOme?;B{S(!wVzpDN&X@)XP|go_ zhM|i-ry~-~l>o94Ifb%YRYocc_9V8POcF*b&%I1;!gPI-+>sgZyJw>b8;cX{9xUlR&?k+> zsUstz7I{<&N~iD|IlE;YMy2S#bC3Pj(1Wh~k5#)uGZc)V%10b6#fztC3?|B_;NS0AvbDJ;bnn!iL?Orm9*kg# z-OsOO6o=n;UrXsh2S~u~*{)5UI{9y^_Uz|gOX-1aBEaX=XHqdqty$SsJR3Z%xZM=O zdHOaU!$a~uI7Bai9Te#Oq!P9@fB#|XG(TRD0#Z%M$D$N%)Z`~7oy>^>T=uuDWWo{* z?+vGaGEc90rvtY=9zeFvGy~&3P;00!CKOCklh0$^Z++C7p^EB)eE=Dd zTlp`_Qhp1%eswnR`nBAdBVMgSPaz7KxB=%G#)z2m%R%QS%@@1V96KFV=gk^%CNSCN z9vEyv`*s(RNrQ0x)F4A)jrmnNN?I0`FKn4OCzU}sQ70S%y3#n?;%T&%a4qQlIgoLe zf01W6==$9SJ~ebK%@uuZ=DQkUL&L8kF~e3Gep}i8n1a?H&y=n;Yf?0V>kcH0J0~z$ z2Y8!LOmT%gNl{k+P=zv8rkURGoy&BQT)EF$#7Z z$??y(R%+ePOZo1@i3ee)!M^OJh{?+{oSqBD$zE~iuRfNNH(7d?fAa60lFiQ~*5~?8E z)84l$ZKe##&@HIqMF)$pwoG8m81E@&eV|g~GM?UaN3epCP}qNCQLLTI-+DxPUWrZK znK;f^ElURO`-O5CwogCFI2LaNb<-pK)%jg-4-#rOuO3|B>kR|SJNyM_pP%z1%H2Jo zs4Uo$+*!HW#M2mUTy!Our=kYA40thF91gJAd(%*Y#=JvIET<=JaS|@%eH7QKsTq?b zM-~`VZPGyB%U-syq1aw?_YhIFt~_7A$?Z9A$ag#S5pHnJ2C3j#JG%eHJVCm3pR7ur zUG5D2O?o1Hy8iC)@VTDJVW0zYay3;e5lkN$a5$muIFE#CDD#An275i7WfIu2NgpE1 zDki^fxA(x78@PiZgWUdmtNP!ULKU$9OSrktdrdhFWna{!{EVX7v%aKdnzwW;(eZIB zj!GqzPgB2{GA(k%>?>M;&Zfm_#woE11{8U`aRLj%exu!vtRRoVHiw}mW(1DROe9JbX1oP!ZuZ;l z)5DhhXF`&<3$4bm^B;tOtxT9a%||mNa1=!jORSQ`dT~&qSjsr-QWC5lf|4B`^uAQ; zu*F?Ryf;r&5C|oM(DJV$qZ$&a((kU9A0u>kC_&PcH}cZCz=9Rq!VP;<2M5$vT^2tl z-kcjDC+4**2%xfNa0m;Nw&^uGbbrc(aN&yW!Sl5b`USdZ?1(LHIb$eE{TCfE_0L@+ zzhH*ttq+cLw0RHt7y0QNScU}!2`(y@W3&M6(BsHuQ)g@_-sE=@`DU~ma0Vy@pjlMm z2kDHoZPRL@gvS*Rvx{^wb-uY0*v=H|qMsX{c+f()fP%%EQ$v5Ax~Fkjif=)uJ{4=1 z+J=Usg_03B(_C}L4h}3OOGiX`r-ho;CN?&RY4Wg;=-gD(hoyr6oN5wSBoA7%FZxse zL1YOA@6_W;Em(>zyOvJ;)(QruEk~kIeXuXs!vA?X6KnqG#9f?DV$y9QAsYv?YF)P+ zODFUzp@K?@m9qy2!{XF@JwWPX(sqwl3an6l(P2U9eB$)sY29JVn`7OotF5Cmuuv?U zz(3deDgT?^HBNag8DEfRFBz-QeX;CInJg!%MN6OKvw=9P^fK2(q_01V|1tYZGFuRMAva!jAIbV@|5ilZ=Nv zxz?&Licqi7tZZCN_Hg|^*MXv6v>d6|JRp;C-mx8At4UcZb<_{^`^fvM!tY#Qc9PCn zlpxXn$v~?(TdXH36Lo(aJpjWI8$h4y%lPH%0CK~nM!kg3=@*EZLifvR5I3xMc`zY` zNoYlVpE^mLJB6It`JsC+j{M`NQ@HdQtpHfJoM~TG?Ut_FOH92snTCtN>_CRm@GY6G zrHA6*#4lZeN`{s%rO?9)yYm$INfF*_Ktu83Z{9zXr|76?MH3TJR55d!o4t4N`v9Nv zBT}&-(-r1sa1ctj7VqNr*8496L`uHVTGUiU)b=a3miu^{rY|fpo5A}8h+cT8qmlH# z*9Vfui2kFr^!z2}X$d!Di7gSSf^-R>Q|YdYnQn97``de6c>k;U;H}tlpT&}?Aay_} zg#=Gc1E%?>o`0S}yH!sTz^{kl4&;E0Vc_^}3NWV7tDd#!*T>9tY#EDq(spFui5Z}3qA2Amn-(Patm_Sj?TdehcOmc{Y@8wsw z7p?z>$PWhufA^~yJtOI_ja*zXYHDhB$ppiS2SFHLqVT`%>5oeT=Wmg?rH`2R_;nn3 zO(7M*{LjgDibS`pXv3D{_Oco*g&Q8jQFtx-2btc+Pi)5s4X`-y66$CJ<;!P&NQ> zXwtGeo2ROgHza&lEESi0|K6@8S1GInk|4pA2kHL3AS$qPNV)*qY|Cr}}Tto!`QfZU__lncrCKV_fA6_vsk zQ}G9<=&A8Kvr39qpuqC9T4oh|P;-P2-OOEhhvMX)ZvP3N!zFB-@KgnP!(lBSm-okT z78QhIr8xFHI^}|gP>L5)0fD1aM)A#$zYy=oeR~5G0pUk{lwo+P;e^6C7!vL&L1GiQ z$CEZqQ4U<1`xXAyqJ{n6;S)8M1(<02UiaRKLu8IJ_c4U6GEsCp&uxAM91$Nds<2X4 zb%3sPB2f`M1C}Cffxw0pl$Y6^ZmI(Rp+# zfH(yN!sst6W@3$j0=ck8r6o=nFpz*b_DvCqQlMb`MB-(#l%f9kjB2+&66%wy{hvn6 z1kfz!kRAa$CGF%SeR>MkRV$Cs+kJgR9gQh+7pwi2X9coT;Latx+snC0B3wqlxdk0Q z=1wynGw!=FltqsTn_tqGp#gDYTc4Wa2y{%I0oK>cJy z%G?U2W0xjMYT^6vzaDD2sGElb9c%6`8LhM_QbKP30obPmSHi(2=by0n{diEPR~y(w zlb+Wb*kMXgnZlkpA0TOK?Luqm<{1afyM z+GSgwe>ZD^q`QxO_%D5S7o^kuGLLb8L$;>R@YqNDa|U^`h>@mwXfc!pzsa<}5=NUR zI9Loicrbah8xwDgg^=Cx$^2LYISe1JTJ|ksTUYwR%&}HAN(XIAF#RH6E#5Lt?uFZ@ z_1cT;ndG(QCbFg{ZPv1oyU;3;m3Bdz0$y~nZeDp3%t&_*`+>b@S=#rbMgK`ErcD*r zcSO>MZ)kQo7sTpUCy0`<675)Xdoh8Zb92f6QRqs1s|m}LkE^6%8CCJlDilzY+_Wbb zDfIapx!i9@e@6#b-B-o0C|jDAD?tq!bVZb}3{n5)9}PM{;c8RQim}ph`1#Qo@!3Qp&F3b{lFrk_CR8y6?@BnIWjmcN#IAO za-E_z9Hs(koJcGR=Cbs}E;Bpd7Kre}&+K*VX~W3~N{w^xfGQG0jR2ns6h(d-sQB!} zh2$}vvFqQyqQcIFvI_;w_VKn^RHRIkV&vFL>qp`*^_$gybRNj=uMp_U6Z% z19P>sGZ4I`VJe*3k|>R1qG|OjO0+zAw8oyU(&K0A#{Gek(=b+~)@GujEG?n}YZPaZ zIZVcRKUtBVF;b;Hr_IbO<;L`(FRdH#%H=(~xhqb;YEGJEbChpyyl!o{Oz{GUQI6k_ z!7LZQG61*J&E8#tWeJc82QpdnXgqRo8hV5nG0jP*W{!+-qI`;5oF#coMn&$bb~RPm zGDLvOBGO~TQ%_}cBjv!s?iHDCr=9xern^aLXhu0ik7D5Bd4l=3Q2CuiFT5bDrY4$yh zsA!drm`e99375xG4`>5e%9fvlQNsNusE~O(VU_Xh?#f^r@=DMjM5WbmH}+bp)-vzY z^odi6WEUiPxAIK$>>`t2hyisk>thn_3az@*#S3yuxgeujNV1@}-sy03UViYI zh_w3UkZQZM)NC{PTQFJ`d;ezOKUwP?TD(Q`Rg>T^4~y(rnbG@6dgm=#KZxc6o~JTv zS0vs%aKW?Jc=v%{dQ;MTql3MWzy*q+W+CJs<(B)v}I#> zm~7)R@AFi}U!_L$?5P%qU4i;H5Rrca(nLn>PF$MQCyvqYVZhABc9dn6$N%&7B=AkE z=HKxr?Y9YK75|@E+60ACpKL-Vue4)HRZ6l-o8p@`{hJ9((W(>K_sc9WI`z>Yuitmv zp8rWjPqKkHP`}+hloig**&Hl9!-$&iPB;8N{cy$wyM7z_h4*4=anEi|1W+EQcwr*+ zn58xpiKr=RgQ8C8J~6RwBLlYC1N)fA`X_q;YY6{C#Tj54l#@U5$u&omGvf9{BtO}vFjZT&TZ$>lvgboH} zd;FuOXqfYbcq~D5h*Fh~G%lnb%omgU>;_5tU^d^muPT~Kop!B6RV%i~Z6G<}tt;Mm z68?~|u&|rk*8G1kuOEkO^M?B0SS;jNo`+l4ef~;?3FRCgPd1jI)OMQJ90|~_w6}F@ z7cHSV&I_EdI1L<;Kg(5w!`T1PSKD%u{uJvLliZ>fD~@?q%No-%lPL+;n?m>vV&9s- z#}V!`d6*?|h6BVsLgPUOzQl2DHOH*y6@Q@u-%Q7oc0Bc7qoQgtF)=|)(%m0)u`;H~ zEB+;W|C`}*%w!Z?9JHm0_>L1Pp?NPPsFkr`k^>^o{?)>=L$0h7!hjjthRXf&9j|}8 zcG;d69Iz16U@=ElBYcNp`%6c$@@q#}a5kO{(o+Ent&y2>i!~1hn{c(&Cx=nq(wt<8 zTh*$N1;wHfZlJYmBAHBU_5g~mk0pT(`#E!_2uP_u@Zw=hvK`YyO->>A@?HRqOo#yL zWZ&q6C!O4notwTD)5|Sb$5D7VrgCk=Ll>n-1lkD*He|PA1af)D6+uT}&$#@T&pEcc zY|g!r5G9Bpf$Jmsq0Km!9mBntY4U||C(8NU2j1DNkukJ#?+k}>q_Ld3@K9%>eIJYIz45v)Y=WqEU?-|v>d z0V~y}b(F4aER+}S3+9Hvd|~+aX=`zorqh8H(mKsQiY+q|#kn(3x?c*z;JB0fVB4~9 zrzv;cW3a|6>r%(=4&hP^rQ7&$06pr2btS2gq#nfLU)e$W?ENMKt^7V>^bI?KD$ag5 z1=>#Q7Np>K_D6~v3GbdI$@E6r!p4Rf?M^c_K&EIxkPbO$ zQy_A(Ecr{OMS&+_*c9VVb&xk3S%wl-(>GOyH8-bD+G*aZwM!G>lNQI~*49?%{L;WD z_;DHNHYm*U$q*J9yr3O?qu30;edu-10a(8K5M)zLv)qT5zJ!w#3!%5WrKjC;k+4=a zKgu3*kGOO}TOh$oa!Vl{iXuOGW87ez(x2TQ>|(lf@oAJ858r|=aBj|zFa z2u^N1WO92pJlk3+2?c$%$nUUkEp->?v{&RHO`xeZPbnR*;GVOXVTvB}V6?M@V|!j7 z8+@5fleefSK#g9d3Sxer`cY5-4$vwN7=cvre|rVuXY^b-G)lqhVpISCY^_TW{or^U z^FK?iHL6X%5h_Db?BuH_m_YISf=s5G2HTkR9)5}6=f5NFCIrC9E|?}P9NIhx>9<5%$g$y|sqK@LcE5tH`oS*qd}n;_aYT`L@a zyy-+$F`=1RGb|U|F*N=619XU330W`8j?}Edh$MCp2LB>pXv{YBzUTY?%y)enNLF_l zKFY?(D7$~fySlpC0I@G5$xEHaLlR(Jovqo0rZ}dwh|`mSL)Wfay&~}(#x~5LWe_&{ zxeqhkW3k!Z_9Drg7eQAA+S10z;jRv+9P z3_&!bsKvLz9s{XT2X6@=n>GbT!bF{>;7)=4mJD4=@DZP6a8`)m<`wUk&J#Qmzh4~O zsd`b>QVwOeYIMn=-j680ti}ap<^2xi^CdTy1&gzm0JiHZrgceL22H6R_wpg;aj9Ni zl(S`n!f{Ri#fVCUp=k{*lSey4=&2@12C7o29zM%Um7Df(ukm3dYleG##0;I;eMYr> zd9U3sm%LZDZNfn7$1wC&LsAHSef2lT=Ku)PueZgycE+Bc+oa0VnsX8&P+|pVY3)p( zxZaeNvENT>9ggq)L$$=D%}f+g5a16}NylU($+yT0t!bmU{du4>JT?D!5d^7|CJMNH zMshl@yyO#-EG?~_CySq9D?PeJiZ*ZT`&-vNC?BW3=d-N8m)V-mLV^<|g?B@TK?gE# z-WZl?ra&;=`WrRNRj&^zX=Ji_K~%((t(WJXnNax@jZRzwMEs|v_(tf^2kb!dmr)OqS5$?P~!1*Y0C6vjRLg&=l1OoHMSlM2?R){3IUo3fnVB& zkOYnkThdC)U{UrcE}cvQZ+prfyXW@oMIy- zeGp795EJX%0=Sj<Ii__fPoSBt{_)2$Qw6%Pm1>Z$`OG zn7r*MmF4g-try#SOsMU1_(8Lpn%D8(k2SUmYRXLYAiRNTX1@iCsS8BNAE|hW=N06e zX)1F@8aSWk@+rVN)YR1MpDh$qpZ9IYwRCkwQy{49bmNPcVi7qpd+z#JP_|WTth0S3 zgam`Z-9dHiDGvjP+_!w`q0Wdq4bh=}eE5s%ciF00pxkpk%ok1^&QBx*9iSNM+xFL2-uIgnC8;Dw+1tM zcGV%jPII{&lYemdm9ZY;ay3Urg!)EeeYP${%lyMRB!soSQ?m7iW^~Ew$@>xBlTPEs zHNvle1&*)`S}!u>PV>&CLV=Z-vM0;|7QqxyQMQa}vw*GVBU74IqPm|2Jo%#W-H|bODz$PH5SP3)pNW zg1ma3eZ13gd*4v^xh)%t(rbI*n}@{op-eS+eJF(tUv)V%lFR)?Y_Po5U|erp8}FR; zWfICUc*u_eOcv|unUk_Jcs8WU7Fm=4qWAED7&4z(SXfLvJUnQIG=7Qmp}BUF5XHek ze2Qr)g4m|r+8X8aWMsLS&r7rfLu znVeJ`U8Rmle@e*Aj)jjMOpf2(Y)5~6ypr^s!u$T%wN}{SKpZ_{s-4x0uU1%x2JvAt zq=a1&_}Gnc@5}7aJcxJ2BV9=x&GBsS;@IeA_&rh9%7PF;L)RX#Dh1T`Od7;1_m9-F zEx;J(X(Q)pbL0Z;nATAl(c_m=;Gh&KfU_Q)fvYTfO8&|T2*gv?0Ee(*NPPpI9xS!L(n^`L@2)Y5L2;0 z!^@O`8@OqKFVUx4#h|EeE2EQWvr@}3#S?a=u`*Qhb73md^_v~QQGIdk(Vv->6;dv9 zu)oi>QE_9xu4&$%o)K4PJb*d!sZGQpq%;Oa*-*|4`4PyXlgFn`Q{pF5!+cB4CDI0P z+KS%*Qrny&yl#xG3u#69&fk^XlL<*yxH`(>4}kRYgz`Ul0O=SF07Xz#I7Y`^oYU|e zL`xr6QZ|Dm*0Hz0+aVch<&LA-OV{PiG&DMewmypgGyl)Yqbp+vnabwKPon1QAu?`Z zrq!gw)$NL=dU$qN15-K9U^=B7Fn@GQ(IhsiWud+WE4J;PxC{oTCFa@X1wls7rGbf8 zm~Cq`1SXA4b6=xD>g=1ps-?6128CdoCz#iE zG2rN-_c<19$T%~s(34{cxjQ3utumQHtk+Pu!snqHC*w8pvIe9-o<$=Ziy=wjyfe@5 zKIwFeLT%Utv;-}MbcYE3Gdh!epSzsl+;YkWnO%kaX8@Li{>II$0$NOL(j|F z|1!Cei%BGA%6)1^@?(x-^7DxFRO?2@bQVk4^j{r1lntlQf&rtgt2;P2 zC{YxkB90-35Dd|95nKIsZ`r>>;wI-x_@`=!%;Sj$M!kkAvTw#R!v#V+$yY=paxIju*Qq82N%> z$0{os6d_viY2U}2iDON1C!rkGsfJt$3oX(`wtOUh(-Z@dJ+R|%t9+uCNMa!9{yxYo?nu%R-I8HB(B4S5{}pSqSxsO7b- z!cp|j2c$47H=#kPcuNU3t$Usi8+;!-*WnIZ*1S1f#$$F*$M_~Rpto*crgsMps=m5=K!jk6(M+S+vihV@9h`J!-_=68v`LE(Z+nk zBjvcLOBdig8HR8A7=~ZuysDGgc_YE?$}i--q?FrXO6j~*E*cl(*vn&o$SW$E5DJf8 zq*-0sgnPqxZqJMCbg6l4_y?&2T_jT40W(iCD9@5Cyh8eJFK|&LLDMi$w`aaN1YiqrfLsGZ?%w#ofLzIXSt$Ez?U^k3kh%<7$Av zRo{)qWtAKDDe&VFEa=ClnHB=yc7v3{`jrj%UqhPrNUoRZ8qXR)jKD8>;zS@O2*Y`$ z$bEA*m;QP^nCs!!KqbC@&_=FcqefU9R4$qFoX{=GYCK6W4%7)GQ~J64)n(Vth**=x z=Vz9c^VvKlgjNet{2{VZ+tqvl&(|ST?Wfgt6-Vwt-^JzQX$!bXtRi(uG8bv#43e2d z(B3U$-e_D){Qe4Z%7QJZg>{IAvlBTwa2OX^UARIa>O?3n=|X!vIPy>eT|&dv^^ zqY+dEud`F2g;3lfLyJBCopKrNeLNh0dpz2JEH`j|K00**%pnk=2YRIQ^KN8D;7uss zX|~$I zH8tbvbtFp(93}z{Pqnk(b4hWKZ0^0u=~A1v`oum|T7@hr78F zx$?UeD`FX1FSUWrQ)US!Kfk+Cln$#Y3x_>FKOaFEe<`(rQrmT)OA&|U!>?yxW}z2) z-P_xW*}3AkX|9H_{#9f)DMwE{D@cDrn}HvPeED~%sf%p~h_2ew@(lv8CMG7pzUyLr zR5?X3{sP*rn zzNp7c7E)o+*H<(saa=xl70I5V^V^ec)RuzWHgC?Aww2efeui$Zp|&e+Q{fR3y>#4= z#uZx#ukif3Q>kBrGz~xm7?FJRn0YlFy=arNN10+s@e0zZBY9u=U(AhR9ZYxFYJlJ< zWFlDQ`{T(bkdf*+BZEu~13ulBeJ*^5Fp#`rbVG3g>g2fyE||nG@9l~cnY(plg3Bv8 zZi4Au1dO9w&U@VPn7NYa_k&+bhl$3=0nQg0jEKjmtp(j+0qHjCy=r6MeI8Guu0-WH zg5iLDhQKJKTN09=LAKfuqti-ogA*4&s#X}&Gcp>RnnHYg$-+5Rf2Lf&{x=E^g4^Xg zj*kwok|0FL*hHX_hWyuF0BMMEUD}j)vSS~r<;TaHHq&~DuP0u-L#JsY z?Em!jmQig!U;JPQ?i47lCAbv#V#R_JT#LIqv_L3UT!Omp9qrk|8#Py*`1(H1H&4&GdO3HZG;&~K{AVlfE__@yNE@!wAxKoO+MA}}z}4Br6E!k6A$JVH#LFBmU3il9 zjQK|e&gjuuJWX<(%Bp<^aK0xBQhn;(YB~-bW+VBQs!wElZZoH%9(icj5}hsm{2}i) zN(9kVv%M=!HGohU@6y~6qnX@j=Hk?)@2oZX)p@8l6nb54X@E@C!Jn?Y5T6t`vAqh4 zHL6k|kE&o5Qbygp&~c#iD6pLo9Mm_Ni3_X-uRDejlj~D9R0HashLq&iJS{DMMX0_L zcvUsIrlNz4(_D~#Vsc7QH2iLzP8mg(PN!xjG&DogaEEwc@$AbKvJ5(x*LL6)R|}`Z zL&=V9(G{t)@#==XU&#MZjl!&UE<}!{UdUA|s_mG+#%+U6WePy+Z$Wp#QGg6I z-Iu`GENV9ryQl zd|!OSfU>h~o18K(+5rWx5LUReDb2g$$m&l-Kc3YI~W-)Q7S8ye%ab$(!* z4==Zy7V|MxvjtQ?+*$`7Ei_CLed8HhGVHtTY(Sv_4E?qxeW}h1)jalU&UI**C7wuYD)R*$77;k*7^}5_R=^q@J=TvtCM8`51K(_*uqtl7b2d+ zF;vK(4IY3>KHriVn^);aa!J&ylW1r|HuQ&naoEn18UX8(gKi@GTmal zlC4``TZA#>A#GVGHDXu$gGQ#e;Ii^jEB@jg(=|7!l%L&wB6nvkO&lbXzF*@Kr=>E^Nf$PaHzbafPXq3MJ_3lBdG;wN zKb|xu;$5lrJ$%lIjfNI?+FToDbyTZhY16)z!eskYT2*JCWA^%BP>jX|K=)QzrWBR6 z49Bcy>S|M21u|kmaM5c^>SbhyV97B9ddRyrzeN0EkeP1UREgoLAFaX3Rt4~5$yF)I z{L#ZUKtpj6!VW|ydWXUbe?DxZya`SLV?b|x z;y=!K^1Cp?k2X)F92pt4wA-u{M?8KpdU!A{_I#-5OY%;< zEArLC>C?q{%qA*xk%+W3Bvrg-Qk*t1p$i~0x7R0oIk4W#rWg%u{lc(MS6qkMqdl5G z7VY48CKfAd_#WBJ>D123gQE=V#4U)LDSEo{p$=I&+N&*;v2At$fh#XUO@K0-q zh8WlDSSn;Rm}6s+;oCkqBYVpB>BNx6oSH+U<7%8-sgBUD_CfjdH|RFzMyatB`b$6A z1WI4JsxrrTxtL#keys?shmjJr8|KCEkO{>#%aDfss7**~(|nRs{r1Wfy;JPEyS}mr z4a$HetNiFcG8Q1m1;s%ponq(5w3BSi;_R~>5aDRav?htCw#&hjPqWmsfhCEP*=5tI z^8J$9y4WDiUa%N=(?dqCRC*>@JS=3OC@G&FQm-6G4m)lEOv(M1cJ+d6bd*F5)X!|QlGh06PLT4hsY)zH$%$t-Y2Gw|A!=1Y-Xy6z~vckuQlfY7C!P>sZLTr^&YP$3MxnzNpXssRf&}B6c!* zUo^=v+}eLtP9v^IpA(Nk^250?(l!=FmRAM0)q^w}v`zas@~NHOjx^Z4h=k5imXvr% zVg^>%-AfieOXSWvqi>oU5_Ofz#3O@p3cIEHkWMR3vwc8p*V>i0l&&$H z-PgrRR(J3-yw06WJCKRDN@^73gIJ2}!?WH|XRwpSP*Dw5w5HT15zJwtyQD-N93Z1W zzT-fa4!7QpI*Jn*Wxr7z9138hq`=RUdO0sm@rcEp|EI7lAeqPXzg0?)qT4$+uYVK;X{a(7d&N=%rB<5S{ZdMwI zeVqDJI_1!3oGVL0+g3K>tX-mc5XsmVp>g;@Ui&V~`vPWPbz8-6cO4c{BIZMGRN65{ zr&3#fq~AZY*GJptB>1zrIo0L zE9$9d@XwlfkB!3&QqM^hGgl9VMt$}i75Q-0?CY2gB@vHpiQ;aukACTm3BZz0gTt3X zwRP?U7cx0{?a~7Ay&3aQqfXC`c0C1lB!&LZ;q6MD{v`EeRJ;rY6L`*?@h4MqhrC~) zWMoy}LQTtwwac`v$c4%iwS4qb*4{Q*i<-G`@+#I`i&%NCO)vb*`uRQ0wvH(*U~^Eg z#0>)-eIPZ*Gz^$G4(k0ZZjPdTa^O1lIZw9pwWc|W&kOB2gKU(D+e=0>@kzKLVj=-9 z`g_ww=L)t`UQi<>JOr1Jo37=Z3GI=Q@0*{G8MZ!ovt|HMoyT?3TwG8wx1Eej2o8ytlNzMrG%H)O6<16+|J*biX#%o>=Y=C`pOkmV~ z*AQSqUXqHdFP^W{PY3M%E3Yo`o%X8G@+VNi3fvp-owdP%rUZ1*QS{7pJiG` zKE!a2VZH5EC4H|?8=7qt7kBKR#KAk4l{Uo3`39G#}Yl(@SA-{v5?s68U+fJ z|6Y0}(#PTj(>7}Fsy)2_pqL`ya*=Hv7<-+FgXQMfd*91Q_bE62#6GN8yfk&%Si9v$$x|!yENe)w`{ZorA#bqEe7G3 zXjM>l6#e+pUob4#!D^DdI;ewS-S91FMD5`^<=(a8Y;fNE)$*ZuFWXttSlzwsmFD?B zdOHdGG#HWfl3P|fGW}>-vD2OBY-fVn@Jn`N>-c)EOKNHaOXdqonUxj!EIHDgeg0DI zM0GopTzQ)^7URx%wqx&D@G~)LQN>M|6~Nann`KlyKa}7?OQ#9ANQ8cCGA7gd@`7%- zf_L=cvv@QOtV9>jGM3wT&b{)-smQ_c>~S-Oj!s(&!PsWHLT8Rj*ui?i?#+v1fmrcT z$IFk>w_GMe2(s^%Dnlc_L~6Mjn5P&n%L>xif>lG?WoG5n?>{Zd<4^R8p#EqFZjM@w?@GCd#WN9JO_Y1RxMV}-Qetv^4=k^qdBfQ5!gQEa z-LdZQf|JRdH82*X2!SX2A*GRm8{Nc*>m=LLZ(3ebx_xB7#X>FoLz_=6ItFAyG{+@n z-ns;p#$?LO!Fy2d%q?OYuotB2>pZ7t|5NwX@EO*4em~~znQfMa+K-J$7NLL=@ko3~ zCl@;QPIlsf6JmlXwy9~kSC%n~XSV)Z^{71pdh?z%2;9z9Q5Y!9$4-+%#@+M*=7gXw zB46rNh>NXV#{XoTxqQ7G{|8pUl`UAN+sWPvuvsdZQ=Ie2pW)0s4muFYb(y|g+ETe% zwXG>1z;kPlm@nhZN{OqM$wPrx$*?bCQ+s_!>3rb>r0pjj)DOWD{0x6cyuK1hbqTZk z#{ii2j1j*Cg$Zvlt2K{Nx=s zOqI+Tp9Wa)3HNT7qDwpzdtXm|6C|on>%ELaZ~jQqu&`7zC@?&fykH|7rKy$I9H50dndwXUY1QS` z$|r+%2PQh!Wc0gCi?NpWm? zzt=Q5oS?S|?SZWcjNvPZOWxM+X3b}s+EXeX1^c->zHiSYEf^_OMP%t<3=Z&^tN^hG z{MyX=7v?ytqs4`*^u+Q)+V>QBYYD}p-4xDzg2w67G;H4}b_ArNz5cYQ*vSB`dy8@r z5tOqdBy41|a_3VmVCxt~<>s-4krUr)IG;6Ffn8wDA(!#(9hD1TQ`9ulDl?*b(p&3u!E0I$9gA=neocUCA*o7y^BBkB_(kwI!>2P-#>H> zs!kbg-(Q%c_Y80+%>nM3~j z4el6uhlgdexnjV@O#Kv|(LVvz(&4q;{suMoyrK;2l}XBqTzi^9l~KUG>+6mhNDwVZ z$(!k1C85=h<`+qrP8$@AnW=8BTH3<{g9{7vo_h&>M9F&>oe&@wK6houn|!wtxR=%O z$@J7r))x}The(2RH&_^%|O`R|UoBZ7Tl1-g(6OK@I z`jKIc_SpUq7L8t@e4Yz#-L^~@=l%^dbmElq=Qdm!fAu~7A=mZh8=d!fINJx;Mxsv! z?@87E+);VlS@q|7->sC)Bothx@=uYWhMa!*n=^_{Mf-cNIJ0=%;d%8~{Lb@luuKxV zqF-QQka^p_T+(~){cyMoBy+l5YNaO{urdWJ(iB_)NPSLaCrFA zG%TPzt?u3GN<^fcLt{IauwSMts`?qpidAVd>Z89xruQ++FwoC62qVk9r+1;|ThJn2 z)xmmeEBEV5jt;}<>%DT+ukX|^u4g=dV@o9p;4o;U{ZhT*HNG|phV748K_@^DZ8WL> zHk=`cg+^~G3uKh3n~O3S5vUh7M-oz8S?Vl?nq|0qwAva$j%tWr5*DsIeuCC95<_@0AI zCm*07gOVksYkSV%H&MJ5g{&REclgXqT#JZTo-We~st90Ba+8*&!-1lmYtfTu*b-zCDccVyJb%D z0~%<(-%ETDG0Ypq5=gUqE_#+E#GwT?q;H-uFiaZ9mjX8F77_$pjuAmn{#sRm zbOOl{h3gs18MZ6p?b%?=+Po+__YXPwKITKDE#%lq+$0~Q;~QO<(EC)pn^OzqAw)wj z=oZ-8HD`t`5S@)a+i(l&c{2W3f&w3@3O&LgZnTAWokW+ILi9KcU}Y&|f5>J7O6vn&|!Dihz%lBON32ha$nMpF~BQBSJMFY`go_SliMt3iq? z;pi0SnD;qRj5y}Sr=8TZb8uga7$Gr)aaFh zHLdE3dl+Nq2xbJ5vj04Lc58P_b%k;9D`FOKStPwB)R0SuDeqfaQ$)>Y*Mh1Ib6_VG z+boSU30|m}3OgYDS;6-6frZeNt?Y7a46wlMfY1getv^wzN2=DIY$0pekL~2n@B7>k z);iu=k?4+zMtey(IiE6Sbq9;G>#Cl3_soUD<@V#tK= znt=^)23^IV`#{9ss3qPvyfhwU44&QZ)iCbUNHzT>xO&YWTXv0Ujm1zg9fofqQcsXK z@SHpMJv)QZV#r$bh%xX1{0pSVvWVLs4zE;Z3mg}{NDWA97!h39mEELm;f*&A@|)tz zLwaPgkiS-6leun?E)f%B^0hES>0ytZ3!X~8Fh8d{85MCCEA}f&IA%rhB$P}gJ4&%4 zy%!voB*k!w{#jN=wWK2_zH}JlnhkM+*#Lhapmr6)3Dy9G%^G@O{&;m;Iul+}GXwuO zOy^^W*Txv0lbhXmfs%_M3Fhi?j5h`MMPRzZ(xh(D&l?iDQ%@!EK0Q!&1!UfZw1`*r zt8WnqFi1a<22wzih)LdHb%s}ZuQ=0i5LahLsLN&YK|hY7-1FS;H;2pooU}++41IYd zS~Vuh2MK(`;S1vKNMi|PbzG}4e-JPI*&wLL^l;D-UU^Z}wgcDSGlwis?G2~Tfgcev z?QE5B3k_h4;9^GWSfT({05~_8nf=#_<_uHu&dE)-M&WfX4~Ft@S*UPJp!L*&G$SR?L}%^K%N*ahA-Z@XL0(JAFniariutf$7?!uMh1 z*kwlyv6At>mz9@?0XLQEzm;koklIdCy{EJ8r&5@?5in(*Hh7?{MZ3pzz7kMl_7%Hs z_hSkZDM!;NHA&ne(V(_s*WtneTUR{fcfjTVLRkCZ|GFHHbgyUYVan_9Fq&6CcN*%bS@& zVYeRG7pasU;oxbkXQJZy3?vIt68qDHY=Tk)-ZW)kXz#&OH+rDMk_6qS47C1JA>u^Q ze8vaeuOS+ws9OoHL%;Q$PI+lOgxe1a^f^+> zTU5qx#1v~hA0lRz%`DoM4nQH>ZmSaD)ZZ|z16c+-IC%xwSVpc&vSyk?eNj$8IAfXv z-vSfd=lPp3iRoX{;zgc0DIb119Y%ktiaA5z$Yzn@9tehj1~jqx7>6$e0mzllLR3hW zriGH3z?D0^3}kOVO4M39(L`~+EoLR0+paUt)~z?6)F2H1D4RGP1|u`o%%xi5w3Kq4 zic-d2a9d=As9`Yqvg*95NJz=B240C;RlxSY|9j6GL$Ff6;0+m;s3dxCJnEI>!jw&v zH$dO{E#9aPvZoEYsN7U{>LFkkyoYipBucR5I1w2lTW%xMbof!?(F#n1MH5h*Y3|P} z8)qGvy%&9YL1n(F&;Ubg{d$YU7DW!e&0iq(brIr#KTz&P%DHeL53k}m%Qr>)tg#Yv zaW@e_`LzG_HoSNQiFT2&vzC_{KvC^O>?pzEF{^woi<^iFx*d*9TeX79a>o2}T9S{{ zu9;B$qajta$n-8CkL=L0=e?T0oERGKESe>#cnWN))&~tt-ch$&;@{qZ^_Nn0C|=N4 zpa;F(QAN*rz`?sz0r!LF4lzs2Iq#EgE+ z(2(2c2|pJ7*XI=xtcX(A<+>7Z6n2LIOHu1$N!7}qR*0~cO@4Q1q?iTqL8Tg70(3{X z1{=ION1wq?yI&l1x~&^72(_FX-yz2iYJvy0weUN>Y-mpgEq>W*fb&1AnWkp zw5ZKet$k1M8VFZm%W%J?umb%LuLT|2zNfOOfN&B#g9-3qPV`XQcPFIfji=s-Y$4%H z@GPkhJ=!h^iZNqLN15!dVL?cJ&PTxMOJx>dsC9dikfylBG9Nsfk)l3}qkwm30h_Wb zy>wFpa}N6a^ECbpI~*?6M@1oS(Fecsgnfu+l;OYtaD(U4mjEO`;uF3Q4e^~aMFaNQ zKwfNNvmYsx&me~t4=nh9lwVQKwqgsV`d+FyeM@AZH=x*M+dOgVR{?IpiAC^}qf^?# zIRfFqLl|SZapp-R$BtF!qG4-i5)}qBA<|PmsKMRA57&lNWMg3FASy>^hd;w8=bmW6 z@rRlkz;)1r-#F#~RvHy{m?TbCbV|!BW|;)Rf)7;^i6=?X#m*G8K@5>}QIHB0eh5^| z@z6qgvn*kOevF(WvGg^n14&KDPgg_t2W;O^N^~w^y+fbx_ zPhGk{qft+L9~O`-NS7fT7ZE34Pc1MsBk3~MLYbSSIO_W|G!L63#>t8q#gjPSH|q%u zPRtY}_n+$zep@I)p8T64NkU`8(|Ge{bppKF$%TJ@4>lGXYu z9f8ajG4Q!L1zG_G&8UiDvH5$r< zEGVm-0dEeU{)iqI+DNmqGi#s@wb+_IXxoW_Dx-q~6vYcA#ocqP=_diHDRS&ER95w*qBD6krFhNtyT~`fni!_>~p9h&vPx zYM?=#NxrWsJns| z>Z|%c@B|igjO#Kd@~>`bVt&=M_w8IH#u3NytvR6jz0F^YD^6&pK*(ToDFGIF!{|$a z4yKT$DM!>l2{Ii@jX@INp3I$yfowCMPWsf80gU*gi;km{I;wp|s+VJq%x6KAbr|VS zlxYEcmB1KEyA;FMh?`aEMrub>3%V#3Lim{6mE&*nG6RtBvQ=xAKml(a&qh{#Ah5D+T> z(3E^`(GwPdi6Vp0k*U~Tae9wS48-adfdqOnmru0W5b`1gogz30wvD9AgoAMmmkHbC z7>Iy8XdpEBr$m{V`DiF1LVvS$$x=ME4b=y`s8-5ZmI08A9fl{G?7>JR!w?O?$FiAo zZ<+TD{$hcJx*J1n1OO64Mu2hq$eJnvg8a< zNsRo6Kg0mV1InlRo%#MID8k_klH{1gC|oiq z>QOC*Y(d;92Ah|Rn}Bl*Bn{Se~mtyuM`i4;oN- zI7DM5JU%B*Vg^nIl*2M?uwaCuGL(Yq%aG`CKJ#2qeJpcaS7vpyvJK)*RDhVRzh9bX zHB$mNT5@r5+(cfb*khq>hO?6PC0=}oBScZ@B$f7Ug>6q0`bP#R7EqZns!3yX8_Ul= zEj+2i)S0;28x!#n+?nVCTAL5YDzn3op(gvN<>Uvdtmm4vm}$li`v`2s#cfU9%DCsj zG)|C+`-mUI!i63Z5%s#{AaOc|RT20wLgtE#GTLf+Cxwhu!`<38Dh;Xum}`#YvC(RM zI{(V0U?fpTUsQHHW`tf4mD-Nh1%T>t{QA}%LS8=EP2v1NKRAuq6+>eeI)hi=P=+IY~xY*M*0i=B%LJGb?+T? zw(F7GCT+(RA@>5s)YgBZ$hzuAJz}A}e3jZ!6z0?HlOLh4S&W#~Do$26JSUy^)e~F@ z`HJ0!aB2>#NSfG2fA<&HG~lR%_wploB(Z3+EL-3r!SNu|yT73qb81zW))@#CTv1vX zS~8pwLN!?$&_Nl_D?ah_osYVqt~-|MH{+*m@p(l3+H9p|Ql;>SylsZu@mI(%Y_$04 z=U$P=4M9K`;o|M)9i8Mx^j@GxF#W<$vKGHWlGC^KQQ{?KS1$D0`*wh^%(WYWf2}TC zrA?6?Hn{G8d-sIL9>s6loiDVPd+$UxNFVEDAtYBX;hWD9q_S8~{Ts+vv_zzUrl$O^r+x zKv|Vz=RbRQ41S}4E^_d@YaUeW?D4I##kEgLU7qxxInyUXE~7W)ER4~^ZPHd_xn_tF zKTpjZbU6Zc3f_C}BK!GoJjjtngg$J&%RhhbR}OS2g~SAR+1~O1WNbH{bO)=CSCgWp zp0G)G?L6;X&-zJjrJ>>P>EAX(WJ{ak@4hFY0C2p$MUh;3Zk+hz`L16{ByBuHWsmJr z5O5O+zZ{u1QF}ddGeitkV3I~&D)VjN=XlQgke3lBh-=BV0>a5#t2x)H{D`WzI{mAP>DH;ORE~)chvT;)gK55`5i+aHDh4^;=fKj z9@qRM_f!|pk=n&sf7q9fzOCgI`6`AY$!^-6i*{qQ?grCdhPazTNkkLtY^f=a{~7r@-PQ8*;QDs)ChxL z(vK656lJ3Qir8iOJ15#$YO0gS6Y|uo`<74g>Ozx^s0%eg1>L*DznE7fder?rX6x}f ztx9$1{a@Awq=!0;aUM^fMf#z=h%30le=_5+cV1l$XdD)T)yuPS1kL8G_c5S zAtVn-rf^OC&g7aQ*rCnHx=$x@p^@J89b|z2(HlKA%hJJ}wws-=mBs1&i6G803G$9z zXy3Wi1LJh14#^T(biC&6xb`XA^OIR|5o&zipo=6WUSHrw<^@DMe958xzI3!d5c!A3 zP6HWkaNb0!;9d=niXSmvX@8(W8vg}y)SL9uPuM^GA87xsc^4-A*Ev$6g~7k8|1*6H z$BicsD>5Xs^Wz%5o<(3I&=1oCWc#0}@I^^kl6c-zB7Y@d4(_JwNJ3)o{KxS#eBu@;3- z@3U6FlwWthvNO><6UKaeo_w~KOBKDp8yMLVjIiy|LM0rm1smdzLvPZh~1;laT~Hv{kWmUzB5PJBJ}N) z_g#rd_hsh|WtAkqe^4unC2}}0v^NhzhDe}vB3(H`&1Nz>R0zZ6K9}CUH2kWKx=~n; zQ!_T`V`>{+$yF~9SkoJYxtUhjjw34^hqz>T39ZJBw!kgYVgp869kq- zdi3A+1Q=aETop|A$4koRqC^Dk|63pY&oO`aEQV8^J5Dn`QUjzyAGjF-V8Rpo2&5lv zX|pVUeRsd*filIt;P1K|g%sa^6E|Lx+45IDC_>+L4I|W}aKU9|`wJeq7pN#D@R{GafK06`H9=&#V6K1l%L`(N^ z?qO`|J%qr&T}cbm_Ka&($c(4O%z3AxKpT`M$pi+hO-z)XE4-DBCwo#oiZVcQG!n|{ zhsjs>J^`d_(}x_4HjdC}{(J^>+L2)1hG0rR&20P%UAs?Q5|TO(^<`^WblH*!eUjFC zH=dd%AnZVje|G1X+bbDdhYuO~BvWztfpr@rT84 zMbFPgtRIdB0nk4;0{=OIM{alf^)ptPMY$Fh_x|(0hv!;C=w9yz8uZ{~l@B??{MQ-) zMK(2D`AUyT_rwzNudKT-EV?^J(U$VRa#wZTEu!z4rh}&#bd*B>kN4)T=lcfs?c+t} z6TyF+Ak`Pu`_nXl>*;Gqo;d&)V7QFOH7K|FkY7ZXLDFfdH+-94q&0G7PZbGipZU0P zll+!7ZN_rsgL)aNuw{=vgCC>E;aPChw>V(UQ)uB}hI4(CM>~wj-x5Ws%a1;9@jHqv z4|$ZS-P4gfKxL1INei1GtYnUM$WB-m>o;=w`=(X$jC7=22U@RWpPk~gn@`1QgYQLi zf6FE-v;(jWf)&A!+=i9X*Pvs8iQ}3YRVB~e&>;1V?cbB))H+|+V^O6;fKNtyK9zsG z&@)O#NrzIfXR#yy;JYXO-TQBGKw9gzcA0-J@}h=zutmdXYFFks)Zgm|%C^*Q#n7$i zJ6X}yR%>VdSN5#46Xd&loE`!EMIbZRzwJHCI$vO^MACSD+qX3#d%7;{j;Ww~1|MIV@IJk%u`e&@C#jdECls*pJDiYyr zTPcUnPGEgUrr>d2(jY9RjLBCe#+E!DgJts1I$oh9Ky~>thd`l;8lV$_jCR<(HsE@C z7}bxFHxj_D&$KdS|F$>*jqVqtsAZnl;MCk<+7SlxKTNzlTQoLyEmUnZg91IcPuj~| zgEQ9B^il}cC6?g}6I62~va1qg7Yu3b9pIq-Ul6bq}zy5^_Klexo}TT5+I0By1S43064nbdeyy2^di=+lfB z2#8F}yp!GAlFFJ<8wSp*2?8VLdRp{dvKn52Vdc$XI}ZQ@7bnLq4=d`x1Ze%Z#bwJ?AR2$|@SmF+yp+ttBa(pmHA_H55xVTSlQ8HWYOnaN)d~?7$fCNb3k9vIgvrs2 zT?>c3@zXUDf4HXj%7KB2OVD;uEBytOlL?$lPV6c=;$e$t2*a`9JYp~y@h3L@Abpr% z13J$-5FjEeZ2k!NW?F77*5ZmNc_mIe^$OrcHie_>FSmTR0h191@T&wigeRi$7}9!( zmo%#z1#g^7gqi?7P>UGE2T|tyoZg#IoNIufdia7Hw{NQjUW%X{={o=peViF|BLb3k=L zZE{m-btTorN1?|I)325t#D7!R9M`cb>_(r`*v@g%%*%!K&iGEu8;q-$7 z6J9vyyNirR`|zP_X^?qgT&k_Ny2E0>UXgW4jBWgyF<~D-o0O4~9*PsK?%1 zZwtnk9Qqn$1&}vN2>0Rrcij_jA0F~nrT=%i53uzAc>e!c{=b_2ul@g?|KG{{*Z%*n h{J(COI=7$c0f%oc7G+0q*#XE8SV2R+PR`=v{{cF^Y(D@1 literal 0 HcmV?d00001 diff --git a/titanium/examples/mobile/chat-example-app/Resources/android/images/res-notlong-port-mdpi/default.png b/titanium/examples/mobile/chat-example-app/Resources/android/images/res-notlong-port-mdpi/default.png new file mode 100644 index 0000000000000000000000000000000000000000..606024d09192f2bef0b0d5ddfb7b23caf1d39cc0 GIT binary patch literal 53982 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

+l#?*4sJ@P%rAC~SCu^D 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%0DPX--WH8v7tYq|^U5aU;dc zChyBMtuv~EDz z@xVnvE-5@yv57+u=UO5upJ1jay&$Ho9d5Q7PlkwQ)(-B0oo!_>>vi5kVOKWZPyX{PAt}2H z4~`zeP;|gbR)JinNt_PBxonioKAa*2*)#@ma*HJetn9#Dx`wl}SCcWr?6(b7F!eWJ zJ*GS-A<%SK5B)GiSB8n{_@N8#Qxax2$(!tLiwcjNy)Q6Chd4NseGwlQ-k zr((ZJaY4J%wrG=>Spe*ZW1;vEd_|~nn7zYmKf)g2b6Al!M>S%c&5-bQHVcR^i{qtV zPjY+mR)Rl}Ai4}^JcHD-zwdxalJ_RpwAW#IN@ zPxboS+vu4!G1vvoxb=1ExW=mG~jF@q@9H7SCm~ezh4i=#o$jG#Mf}cyBu5GxFG*DGis9OUR zBT^StbgQgKqj!Aqy0Cu4^2?hZlRMChL|2s)gxcwe@us>_TMeUO5r27~?bkFCrOgbn z*~p=YH*&jdDpIaDt>-lz%o$svvRrH7tIIShXPd5L0ejEQ;)W#70T|FjmJ*N#>q@wS zxi8^BLY|vAu5W2T;WjaB2&o5DzH%lq#Jr=s02y=QS!F8LFPbOU_*SRELClSrTM`r zA(-7Q^N`=L*2>hOU?oozW23GBs@YqzNrg09Hknv5{z=yDjFO zUr)*|=UP3ln4%+pHVH_(VH3()>O`UzsZ8F?1Q_gT?`Pl(WH=v9rO#u z6(gF;BQsftn@Mq&##nV!nzv^qEyal0y0t!hL1tZygcD)|Iavy3=_IP2G{?B!8^?t( zSex%W?z9YQoi?%YO5{tTs zM+eHOTZ0SBzW+Dl2>b3G9A{1%GU(x#C@9fSdZEn0r~`EL|J8nkZC`*>sUz|ptu!Oe{-p4?bxzJyEUDw@3FzZ$;@ysIMGU+eDP?+yW1 zIR+QBeK5%4m8mH&Npe>xA>c2MaOL!uwYUDllYt*?^u`8wt^U!*d33O;RNv*1)ibDF z0p3pDFeaDD4Dlp77*H+6Zjez_nsZz#k9(XF+q;t4mLHJHV(m>rEY~6u<8xuz+xS6p z_Q^jw>|t<$u2y5TU!y}-Sjjf4yOX1jV1W;S|EzWfyB+((&FFQiqF$r(U7r{=K7or>^UNnu;a!AA&__LbM9io$9%{(;GU;VW zQpmFsSxOb`_7AF1+6Ns#amf38R#^sq%h!5%eX0IG2@opUFik>=a1-f$B#b&g#9E0% zHKgrhntzB!PtHn#KKLPPpzZrwjc5=R3_tHqiU_Yz(oB^opS1u;F`q{nr+;$E#xx*H zBa##t05w{BS*uJgj)S9C_A_@*@wZ5ap1_wMnKyh+)%}^)Q^}sT49Y~;<#`p|%uQ0R zQR3TbGzRNcu=i|0ZK*oH@!F}^z*JPNT?#QjWI~!aC}Afm_n5s7-w*9I$TgXSVS6gP zM~mF%>WoxBOUBhlt5+Nk4t-aFKeHFfr)r7I$ECcfzQo6Wky8o4igO*xPZXys^ONF> zKxFfrEZzM@95DN}+&a{5wrr5?(N4QA=6r&$eT=p8+FFy~fbqm3oi_YUFynERu$xqG zkAuP+j1Eht(bFY?`gRE}RVBNKS}ofVl?uB3*pzPuc-|4b61=ibTiNW5j6DgivhS_y ztwC7q``=So(r2g}R-ct{6}KZPHt{YuL{d8khs_Iutklk|zRAnk&p|1$4nL=}R92fq zS)Fmixy@}vux(NeQ?EucZCK3IcHX$)!uc7w#9r2w#1e3on_H(sxI>qeWv90B=qHy? zun&J965)@&&9YJ>cVmJyNwHVUW36F-(Z6$RwbOx`N*1)*BBV>E&S`R)Wsy}wnEa>| zxa;^_$WgFhunOSg6(3)-MbxH?XLPgqW)D!(u2JXe`i96c=$JE$(kt9FF7zD<13l7$ zWC;Gx-QLIq*A>}~-(N*P8H|KE*07(B*YCf4ZW_j~Z$UgV<(&-#nc=M2Mn()mtDz9- zKeAu!HtL!*b#sJ`W#VIqf#Z_7)Y>cM=G!)AoSYTt`?tqZsDT{T@>&>nnVdkL@|lZo zVOaa^jBA;i4@i7bKhWik?dE<^>zy#mXyP9G`!Rk>u{O&%5xTX;%_=(=Xc9(h51ea4 z87b>0C2y^&o#VAn=EqUDSZ2r&E}e?Cp4)Q4G6;Y_&T>@?4UKQfD64xs4uWWH;dDBe7)mF2otygY2z(B;t}gmuJ^4J3fB!D$2zW2MU!YGtZ`#C zrfs2T{HTA=x+z1@Vy%m9^HDj~PWh3M;W>JhcDzY(1%e0k$kiF(sm~Q+qnA0OjI35E z&UsHC zBS`M2)EyBIjIGjkv(THvAE%am{^YCfC&Y&O`Qr7qzWH(;EamNC+OpEouCK~k5=!&r z{iz}dFp!S{5<5kAuH$y#XmhiF@V)GowjK`h_T->QswS1V_|Wt0((@bSk9vdiI@c6M z!gj%KH+t|JR5pQ?P2T20;jv-fSd^||trAHtx``fk{HiGP$LYsoUv4-NjJ#dmpj4R& z$=b|f&F##>|1qcr2@%LhWD)I$9Rm%`1#6{17|Q}A>3rq&d=O2|t#1zNa>Bgv{8iH( zP#(jcJi5LT#_z1QI`4Ca8x5B6_6@XUG(KSN+s3gwToR882JnX;RR7 zB%$vOJ$l{%*jhae;KIjOzJ5h<)^Lt=HM2@%%+i&>nhf2E4cc5;UJg)X?aTBa*qm)6 z+3Q$-FcGg|4;msspcY3{&?V7IgQZixvezfgn^|MC+2#Y1DlxfI#}I>EAt{J54Ro2) zMNnnydJo3v)#A9pVn#a5caSD*Q>z@-yct0iWHLnfNV3>1c;mbn*6fMi6`iF4tb@gZ z<1)tH9bG8e;!6K4X8TUD3cFvvPM*KEWDOhUn_WQx|8Y)3{?1|z%Mlvi@rT{lV-eI4 zKO6u*j=qD*o=ZrDNAa@#KrH~-@;z@yI}!mL!l)az9%K1Vm^-f91c&wZDCdXcGJ2a} z1BLz*2XTo^u;)YgPl7fofZCbQlDJ@KkDPsj<&k(!=n(ADtFUHfZA2`LXA&(}_n{0- z3O%&b3(iPgbIG1@i?EMtuD-!dwfp%aIxe2KJ~MBqJ;>phJn7JODjB<^t46|Cf3xGA zsZFD6P^o+TpM@VOrj^Y)Y2|7vvwc?*`J(I+;iX-6& zeDsLV#C~C6KeSIia=+gyoC0-SOd?Ke;+wI;Q5!3r3Ge9ZMbrTBYeOa??Z(85<@GDD zvoF*fKdLqFI#+&=1^;gB?R(=o+#kvIi)6Y8Q{B-8A(cg2yymUfaJmeFSvq<*=P1gK z$Ae$EtEq^5D;kQDWX!X7NesrJfhz+kyVV@Q)%F*XS>DeRZsHJaBCEIivQ_A;RKX0! zp-ZTBjH%gnjH!<#pndioN^LgiQk`U=`rx;AT<+s>vJuFHkc`hpT+Q@zTLc}_mT;=# zp|GO%wmZ*0z}X8y_5_b;3dB{r1HV+vry0Yx%#WKP5De&R49qkfgx5o<=SF;oxzBf3 zkMF$Q9Zud}BeimWDl>IHB^e}dUuxPOD}|P7iXcK{V!sS74(Bx^ZboHO*RQGzc3ovE zFqkPg5*kcjoveW-5+zFdgey&e1Rd7jdyG9-&pdN9H5rjx>}h$E8pu^vJ;u`Xt+}Uq z2uwo;wZR|stCq_B#I+1a^+Ru&0j;CiLWZ~-uoF`Q4<>2O$Auk!Y?=W*{kfKXxx7qM zW`$o%9emRDD_EMu9ntV>-Av7d!i9c_dEHJh8=3P*g7+nDU7c`a)P3;LlHF#^Tq~PA z&^;k(H%HS{sQFpZz#EnG63sFdBdAwkmYR~Uk-w} z?c}u5%go-{PR;({ib;CF=MR*R<*t){!umb)!ID1;L5C_hzr}!8$FYbb)nYuZ52X&} zt+A~Fa>vfiTElqYE4p20hjSVtE9G8v>b&04c*y-40zQOfp`I51^A;g!|Ix-;G;R%ZS5r4e*EaW93ZN@9E!9Eh@=8hZlIMZoA;r(MImc+H21wx{~{8V?>AKTODQy`#csBnvpSzlls zSTSgv7ZN2!58>qZ*8cnU?53>dGTDe4?%=c*h|mbF_G513 zyZ%lr<|{d&k}KuyJPF(?A?!k>^gs|;DHZb^A`y|b`VKPk961$_`{d$p^s`?LKV~rS zSzx**THcaimDtNDwR!28Q;&d|!0xvtw@P{)VawYk$uD*hsInHF>)$~--Pda%1AWcuJ6O;{3bv^&Bw*GC_m2I(vFidl?`S$a!8MAQf4;j^!_ zt*;~E#Lk4&P44JAC2zuTDw~Oh*p!^mGi_s4-D~wOcInaMW3>OEwz~ar<5Q8#v%obx z&#Lq|%eWDha&V^54rqaKm3JnaI_|&jI=VN@e3Eszgeri8-X~PDu|G|S$~m}lzsH62 zFIR9+<$|mxb6~vk2jgF17s1}T9RQ}ka$CV@zlGdjU&4w1Yj*=2!rHCg0CHjN?v44g4BjQ<5>wR2TIa!7)w4kwZ`TDF(+7AwZamaLUSn=eAh@}Oz zenP-ygr8OeXu#QW%ARja4U|K`;#2%n8PMd#?@s}8`Q_+!bZQp`NnfqPrtcx})AHkP z0cgT$aMD(Oz&YmO@CJzluxdUv^McFN7tZ0s;I6s>YTV8Q1EH8O?kQ5q+2uF61kaB(2g($V*HDz!xTo0gjllqCeQA66Q&gkfP$-!q0-* z6a6YLOay%+Rh!tN0?Ue6RoPBJI3S8~sE1PLcb2>3%N52w9RTszrpt&FbhjJIo&>F| zJif&2JvYy4M8<~=vzm3F=^HS!m5GoS;~4e^ym&VIFftEsIAYVE1Ff9~S;WIIY{Ub` zJvZDdZ|l3F3^=WA%a}3-cK3n0A4#OuiQw2y&49fe&I2F21 zEH;Q!wfm0Fc|ZF)wuqYy-@>bZpwc4uw`e~mB?4n%sELP#;&T+FrO)@OZ%ILVD_osN z(XW!BiO_2d#!|#P+1@{2W2!hg@`u$ou=aT}I%ZxpX3>trlbEmc($2G(U-Lfm9gi<> zxPD3d>upw@0An}#r-Qo)>cxwvkhNVtl z#|dJP>Cm$`VzHm(fBjCDnP}&g%#15xYGRaul^M68Xkff|!pZx0cd$#xBGSDDmxP{NU|KLZ|qecsRM8zfU$2b6*H>HoZ| z09@w54G?j|Ij#U~0dZ7#z6a+_(PaHg{)(TpcI};n`hPxL7r5S*3p;5RG;1jlLvy}E zd{#lSuYfsOgO^&0eK3>5|i^91E>)t)d&Dz#Fy}kY0jXd%%P6( z!ai`hoC%?XDe}A5r$Ml>WC4Dm{8|lZ04KLtlFv);VepEu9I44Z4=GZ}vy32etQS#nhZSh?|Sr&HfguP(qu`8uHXx2*dK zitx*e@xWFgQc@-~e*9R{&AtNIJr5|d>TL{0mx2o!F7BlPd(D_w`H{fOJkr#@(fb5i zIa<0>@POi^PL=)`=`QKJO2$g zLLTbp9yuP1_FR&Zat;Qv7kb)$~3e#=UsSC22j6 zJUnagjupgk(-l%8KmnR(M?JBB7ixmI)!+#yKSy@grmd5|Gqp(om$O%24chX3AWscx zeFKN5CXazuMO=q#LYC<@9-FPteNw6Vn=;OmR5f7gm9UznW)$e;t~^?RD8k%|D|^_y zBDl1?H6*6c8X6I_Yj`MjX+r+@?LNJwj~hZkBs|M*zudi-fqv-8`10~Ezzq?h&L``j z@(`eJO3?u=W2gG{=h?$?+98@Vi#XR~Q1oQkd=wp5lD4tYVqSk=egJ8BuGU~><*<7= z>)iCgrjnh7Q0S!WYy3-|1h4-6`SEj!Zuo{2=GN1vAHWH?jBMIJ*vH4P^XKH$-pJ$T zaB%a?gqAVZd}Mcm?_lF-sMbsTR=$?>bYV){vTy)KUcS7JUXEka91&(a$nri^P*))oQ{E6@7 z=oq@wCr3WK`I!9t$T_DQ+*4;VYof;N!D1Um=PRrs@I&*AQos$y_N?jvDxn9~#4T-> zoF5&bxelM8We(k`QHze8vp4hMN#Vs1?duVMyP**H;Rx-}&#uy8P8L`7 z4)t!rYgb_t%4Kk4E>>SNnejC!ER@13(o#M{qrS)HbZD(nA9t^Io;Jdb@+7}`cId(q?9(?;+uo(KAh4jbyeWcO+m_$78xciexkgNcy$`lmQ>qA|w+6SqLe0f;>zn4v!4 zp#3Q;;FD4C>gKIB+;mL&iLjynA#v%I2VX;PwQqrMD3lerMC7RsP;Bdg`)@wQG)m5gxC@F+BI%1`1|i962N#6<+u|YmeJL-SlEV` zKQKY$`m}i{i`H6J-6#Yp*7d0@iJEI>&r}0hFfFGZ7K8zMcn;8*?5iLJ_`Wg6|@yf_sa*0^a21(XXX!OM5c|^ z-@q{MUaiEuMknWn0{^hJ-AyZ($C{osA%6415+17mHQ_H?_ce4A9m|n6&~cEJ{{ctF zYrm*?lyS=GV>MMAaa;C`(kR=~QH;C}2^jac zhl}?S-UnP0m5~RqiphR%`k)-ATgtA}9rF>4Ja7+_qvTHQi1T*B+J`yJLP4>FdzM=9 z*E|^m=;)`dgU*e}$}@kXmv&?S&Bwn-tvzsyKQ8gTf9D4xKmU~JvfBJYM_Aj_7AEH3 z7jrcfxc%Z}wwd;6YtAVMsr#-QY7YCb=a{qfZ@olsZoRfHM4bo5k!KUVQ zyqz`G@vj31CqKIvk^QcJnjvl;NbdA^0~-l4@84(i4I zuxSZab@~LiR&$GFzaCIy7A%GLRuf*_;+Gr+ITxWr#~m1m;V;Y z1tyS`NR!PSt5+A_#h$SOAHSb7+gNl(S|r7YeqM!fQIcO1W;jEUL?bhvGhSn}&wb75 z>ez%YwmM=|_>d8k{^{eV=c9;=h-eqIjqvU0W$y z#k5{wJ?YJysc41cM_hx5Ux9ABP}tyQe6I|h2FG5;&eOq(edjQPSm&N%^iMHfrUKc6 zYFI;7(E&UV$W`|9SH!TvQorS(`>A`$hn>fbgn!2Qo*H+no)AK~2@PC(U7j+93E1C$ zXg5QU6Us_m_Cikn*jE+`F)=Fsx|BzIlHF zxty{n^S#Tf-Glsr{dbM~%U#!SJN|Uz`saJ2C$f9d7);^Je3ovxU%@v&&3Uxi`Ti;F z)nizKF1a1nQXbQ7tL~{Y4jYF~?dGPe-UjW;W`#-08nPA%a+4BwFe2ALQDSEnr;QUi z&yxhj#3M!T#k6wUPS$bVt3n3ecy0egz)3I+(12jD0sB70)nZ?z?(n!kj+^(EG^+ujClC z`tCsdLhcC~UMwTtQt@wh5ozb^M2q}A&W$^V zTAA+Uo21($B5!sO zjbS?C#*qRsh6!Wpl5voW%ldV~Kf{^uJfE!?b9zhx!{@sCnya<^&$a&(zWth`4A^Wm zI>u;c41FeHHX&UHmjbCXI3v?MSw_@m8r-9ZPx&c$7q$rr*Nr`l4)7EAJ}@KU7ME)1 zj&k=A0lXB~x=c>->G$8ITDI3$mV4PD-=gQhRR!KzeTyL9l%Tmc8@@8i&L(9|QI&!`dTShTHNw|9$p==A?L!oIh}yGM^QWzn0o#hx zS8i%vYvJg`-86!tAfn$GomCfw*EXU&W@rg6qUQ9WY^LrrSIi4Q|N)rOUM-gt+W2?`K&W zw0JS8S%1E00NP!~`X88^-si^Lyuvqtttv;*KEBU%aL;kcnbU75D|aQ*LYE~>aTR+f zw`hCUa`LBYGbRA{9i!n(Fm2tO3naG-_ZPmkgO$`Es_%VdPtNm}p-asF6Zu!AZdk#n zl79@q&-{J{H!v#KBsdw4NKGLpLA~>P77#xd0wNH(k)8Tm_lodN^0_D`$q~}sx*F|3Pnb)nK|I?_K9W!!^ZS%(_g~B8mIti4=yTup)_gsbV>AxuC z&CBIFu{Q%oVCqeqA4`0(&%V#To&VFpnqrrSX+0Cxq7|)`JivoMhE~;|XCLl5 zU<>nyE~nVr_FUdTW}>_e$&2O^ph_0+k6gG_g&+#}j-tnV`WqQ_6IyCS#sDBL;b(?Y#MAK*s7GTQ#>*f-yoF$HSlz;)TTNR>W>tWV^=mYuYO^0Pzr$DD=fcG zh7!gcZ}{i?KE7v`Fr%#tGDcC_i_k6M2zdt!N$r+QeiwZ=L*La|5g<(YI_T?oxC2k; ztYry#TGrcK6njcit|vD2(Sk_5SW+B&{h}4!d=3`Vfi}LQf^J$G^4V3o>cTYaJPQgr zW?uaMr>(MRP)q6hqg)7oe@w1pB}J@XQ5NM+j7L%Ts!dD}HY0(<-?XC#;RkA7Gcd4; zxUfQ5&e|b7$xbQg94*n(=5vj4&^9s%ffAiTti6&UvFRX~5(Yb9{mm{9)yeSV|8~d?)HY*KzOjFF5%ZzV41u z+)@6E;4jUaLOES?a!xvz4fraMD}>4;&hI}&sbBe!u(BTv@fMKvZFc|Z{7|9z^cHqs zV1$l7)>8ZY&)&|u3=7ufL;a@wRgMDhW*;~5UyTjy?^UXfm(P1PpsQ~#94rB|mVNdt zX;gpstHQrMJ!-G4)h+^ki#%aK{W!0y_!#P?zdq^Y*7dP_Xe5OrOU-#80Q#>c2Yg;% zTA3>aeK+q3cI0~E4sI4z137nyVuD^Ey)S6k8!lEdyYK*tSB{m}yU&^xT%hAYa8v&` z1?F)VK6H)_UCPzQgQuq~c20xBos)Sa?h>j$6J=DkTx8Uwb66f4PA;hbS&A|bqq7XJ6nB9fsQyZKxW1zOvbZzG zLBNrI(5%M5yt+P{lO?;C)8}*rToMdT0tUF`KL^>5JOb;>lS_;N5VkYv94Zcj1Pn)p zILFQ*9Q*lU_vA997P}534PIt=^=5_o`IdQU4b7~I!dK66BK7L%^qY%v3E40O}fH16m^W%nRXrxn;u)4Tp z7mdS~7k}CxV{?369&nc+7CX85%1bik?}-8rHT0LLP~Eg->w0qKxji3}iW%#@ZkhoA z&ks%KyFFFuexD7DjcsSfAEUPSE+04;tRyzhVFud5nXK9`pJ)RKk2!ne-UM=gcG(qo z&~VP(LnFjJ^w@9_EU=A1M~!mf#l5np5Wi*!g3tYoj45KrGvcr$7tqmiiuQJLLPF$@ zXttta=26rIuNm|CQ`mqgwPsm{T6&B)kuC^~Vt@Y*-=LRAA)@U*(H)g9f ziKR2;w4R6W8@vQU<0|91(`;9-!W9NTmye_T`p4*7o#H4vsT9gn;Gu*mDslSuK&ULF zI4JgRGzjVSsh#&cU}xC$X>Ric&=;L2};mf$7UlUV7qBZS*iLIOT?2P8l z-GdXJP|6|#=BbX@IqX$QCtOpn7;2noYBgLAPEHWSP29}g>w(0x+3ppU8)BKMH_9uw zfi!hF^Ec}scm#OB{2U#67D9uJyNF|0H+ZPrWj_5T0)rQt6hnV<-@)7R0!S2+xAtJ5 zXWO-b_z4?OjPWuiOZYZ&A0p`U<|{uUjO9Ki|I#pXIY?CabJ=9BK=3v9D_q<*030!G zL4kNJVmtr%j;rJIz+pNLx=SCXl@&K~4U$H-%NK@fBYl4Chjp;gyT3jLIE_}pi@vq` z=bPW5+8_G3qo#+_5*~+WC1av)872_hnp0z^#;b5i6!lqm8 zaXe|f+O^);^WwVHWUHnC&y-UTX+HakHeYABXHL_Jy?-CmtAbOAX~+@58l9*??QV%v zxCqx1_wpO}DPZlq;{%+5>QHuAwZopM(;iNx!`*%IodLhYzMKhNu2~|#Vj`a|m6E<6 zUI2m&Kl;Q~`M3!kib_~nJUff977wx%q;rwP>(&iMC*3+!O0pBwgwP>^u z><{tVHejg{XQT707EH^gb1QCw3{0c@UyA%)4U>vsIjd!K|Lju)Att|h+>Y7X^9}9p zVeP~K1`?t_9z>M#t7GFd6679idedXO6+k}INRY}zmxaT%_j;WI1qsI0BstFteXsgF zIpH&k%wmdbS8P_(sI&mqaJ1qntZ&QNwGy2{-?_ZP4fs5h5a{lv$Pa~!uRI^PQ9c`< zi|p5@m(zc+zLtkv*-X~dHMK-NpkDA`)bXOr--lPk8Kvw8qnL(y46K!;r5R}0j8J4j zybrDdgvjH}=oRMLrcp|N(BhTAl)&E1KaPXw_pj_(HDKQaq6i0-nxm)q>=NZLZE);O zAO!?f6$fud4@M=UWY>gW_wIToY7R#rzLG5!*&$bNW>Lu`Y)G}isJviCT3wU1rou{G zqk}I2=et~C8ayhSg%5m(C6ClS>kR2JrQ+q&I_T=jv2@KZqyKLkmmq^wRyXyvK=wdMsj*3@> z`e@Xl_iV6k6aSQOde$T-xt8T1V+gG%XBQ)88>Om6JW~ftjf(}ah%dH&nz`8=JUPjH zkO5p;bTl(&lO~aw)(wvpcjnI9r!95KcBoM^10OfHkPLx15x1^|UL8^4Cq_n_WD`HP z1$IOYMW6_|ga|Ml{7(SY3M%zy*vBM|Pvs&gjM82d0obTLmPTTjq69(WysZ{;osMUZ z@LUhc5tQ6Ll*-w3-ugmjl@MkaZGdHcDo zf!`!Kf57G%s0N!&yxq#U%gulwzsA!VFwIK+G{u2t4gPcs%J-o>ZzQfNReHT=Kr7Ke zO#wq~^g#`TYV@~Z2F&sT@J$8CARB>~ z1~B6Ru`XVtF#6m`7vD8hz(4~HRh%1frJXt3X;*Z+ubp(rka%rc>rt|E93wRVn3^uo z8@aq&nf`_eU$d?TxRWe!BZfB)^wvCAYp5(6olN;#mce5H1OTP-*C)np)f$LY0fZre zOsIh<1(Y5EV{Cvj12E+QtJw&olm=wp*Z@FNnfFZ!cIm0nNo<-!>BK`yaIq}nvU3Cl8jp5Z_y3jYSYw7^u>wVVQoeW1U3$sOr!y7 z4VXZPX8=$eP0&k{5daeSfn3(idf${D8yY}NF=A>p!_rbca$zF{Kr1Mvk!fYh*I;@I z0?N44BX`;8gGysrt31aqQ^lk=A3$F#G?m6sk6s%pnC>*i@jCs_*=_~6NkK(GP#dC> zyS|3RXsySx%Spj+tBi4+>pan1;7O96)dYIrRzNU+UYbH>8B~@bGeeVv0eaT)*qYj? z8}taEM#GYd+F_ly&R2P$0#JyIeiuW*(?Ft-H!SFDprJ;;*Ui*9Noe+<^Wp5m{-iOh zFD%d;S479|*q^gA?G|r$W-ohbxjSs;<3Nu{ft?4qS@7HJsNIb;!r=eU-r4pYucISvEURnls;(A^C4@@!SxaSQ|(8+WrHcz@zvTC-M)+3jX8 zFJFh(-#X6oc8ZmEFy8m)eft2P*?rfz!$sMeN`UOuzW3hzIM^U9y03!fvn{%@OU zU!LUqv9AX(qeEXM=@It_8wtmDa)P&GBu<8(_qb8_TAAwZEZ%xinSr34?+f1l_xSkt z?frcU;CprWI02>|px6%4^Y!D;?XZhnJFMfqL-gN6mG?8U7P}p)yKjfqnWLk7KYZXAh0^nodX9PHV-*b0`GsDK)BW*5j!?X1ZFGD~c8Y$6&O7Ah=PWKD% zyRsc$y!$qq$2GlYn7)177koX;9JEucErZ7(@JYYnJ|K1f&*GbwqwtHg$;=+(vy=zqOm!AzvEu>TQ+~LSYdLSG{=brm)AjC4?M3VHI z;n~1rnGtwMOh(~{?hDfUIhAR6E&w2Bu@;TQ2nc7_LtuzV4o|w8Lu}-^(Vf|t7#x8g z@|gb&Ll}M7Blq$c;CZgk`(B3Qo83E0=}8+^P({_Sb22)ib8Ltpy5U0 zbG$`BXajfZ6-_cDuq0hM0;AB2fR6zk3cud9D*`<;tmkjm=sW{s#1W3ZKWlY~Kus}N zx{~u-sRFm)@u=%#;Ac);{;LSWtmmZ$8U!Kexjy9k9uU2A6@#TK$6wajvFD)M;YQ$x zt_pz%qOy~oXMie`_-n>DK6`F5+WRN?NmmBr?uu{(e5>#~|D0-0terVLWEtD&dz z#q}}p`?4oU1_a^pR>oC&%jC&LVTn3AK~54B*W6;(q!{mGp7=_;|8iM|N*Q1E$h z%UVlZdk)S(zQYDs0u7e@y*4V`0KgBj0rL*{NN%8y2``r4P+;~ zAX8mtuCD}NXhmO1PB1V2Mk25WJ~jrA+#yv2896a;m;y7<09{Xvw7sy7PtH%0)}t>9 zJr-&iuJ8P{%DTK6a3c5lBA`P6Rlp}*eSeai-&*Wt;x7|{R~n;HAXaqew&+R^G}?O2 z&J5sCFs{BC1W4(bqAhc+U6Z3%djr`R+;xDN0}W;%9J#`1e_z%nMCAc*G)el2u#64{ zUg-t&jvcwXnd=(?(QShnLC^!{g%`0bj%o)*0y7l^$jAVA)aj z2n;jeruG*};@p4IMf=0T*GYApT74pT%gknZCmZab8^fK26@7Pu| z;`(}DciUiQuw&Qodf$&0Jdkl$BX~vL7=obm>@jyG`ZDe@vaKc>snI2L?pk0oe2)$m zgvkB90=P@&1uTp1PVrc}5-2m{@Ja+mVlV>5;hrF9p~HhDTK%2rC2BOeI!N<71y42N7pjM_}>BWR0ML6f>gnclLzr7;&Xt;UqyY4yCLZ%sN8mUSUOw z7-)|k0y(Cti;lNKp~$*A!A}w>zt7#NezZ>qcG=iNtjlX^|=~0>a1;1p|OM16o%66)>eMM&TWMXGhv< zc2tRv|E?aukb8d-M~K4E10Ms$%r}C-C_Mw{cKwX3)gzf}i+jgRtH5mJ^^Rj<7;$(= z>q_}0Z!k%EHn+I47I+1GqvPDQz)`2iR(P`OBwaNgX95h3#~IGB&cM}3xOrehVaU8l>;_7TxstT+^UxMQM=K-u8AuL? zA)s!M1t9{%m3TXYp4R?KQtp59J64IT!Zxz3t~(52M>1Vma>~@(|$adRc7-v_&uOm@+XT06L ngiRoot{iK#um8xV>i-4+Q^0y&oVqEm00000NkvXXu0mjf%+LA~ literal 0 HcmV?d00001 diff --git a/titanium/examples/mobile/chat-example-app/Resources/app.js b/titanium/examples/mobile/chat-example-app/Resources/app.js new file mode 100644 index 000000000..585cf59f2 --- /dev/null +++ b/titanium/examples/mobile/chat-example-app/Resources/app.js @@ -0,0 +1,26 @@ +// ------------------------------------------------------------------------- +// INCLUDE PUBNUB CHAT MODULE +// ------------------------------------------------------------------------- +Ti.include('./pubnub-chat.js'); + +// ------------------------------------------------------------------------- +// CREATE PUBNUB CHAT WINDOW +// ------------------------------------------------------------------------- +// +// Returns an Object with Titanium Window Inside +// +var pubnub_chat_window = Ti.App.Chat({ + "chat-room" : "my-random-conversation", + "window" : { + title : 'My Chat Room', + backgroundColor : '#fff' + } +}); + +// ------------------------------------------------------------------------- +// TITANIUM WINDOW OBJECT +// ------------------------------------------------------------------------- +// +// Open Chat Window +// +pubnub_chat_window.chat_window.open(); diff --git a/titanium/examples/mobile/chat-example-app/Resources/iphone/Default-Landscape.png b/titanium/examples/mobile/chat-example-app/Resources/iphone/Default-Landscape.png new file mode 100644 index 0000000000000000000000000000000000000000..082688aee6a06e8cfff7d98571a9749e54baa220 GIT binary patch literal 517419 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�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 z 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%0DtNSaecJO;IT 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

Yp+Qt)V5y4e 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%0Ak$ljHlGaLl;^UO@uQVaUxwQ>nX-^9Gn(hcl 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 literal 0 HcmV?d00001 diff --git a/titanium/examples/mobile/chat-example-app/Resources/iphone/Default-Portrait.png b/titanium/examples/mobile/chat-example-app/Resources/iphone/Default-Portrait.png new file mode 100644 index 0000000000000000000000000000000000000000..426e1f0af1f26da251e1e11ade51cc66e82303ad GIT binary patch literal 551670 zcmV)2K+M01P)5;-0c6n+5h)u{Hy+dzW@7X|If|-)n4ncm#g|Kr=u^kG+8+0Gw!^QWPF z9?GYBur0NG-jy%IQp?x+e^<*arRc%uZ7q`*JC8H<=WV;OP=!{fp2_EH&AI-}Wua1} z<)ZfrB?WiYrf!YA;^fUzVg9s@O6pqMd=k~5mdPU>S-pe=9XUOJ^bBCnSiQ}N;+l+e@EjN>X0pWbv!g^MK8Y6W zr4c(L^;tJTUO<}kYau)^#u8dY7LzM706f;K$}z4_jD@xu+F4&@?0XSzj0mW6Z4J)w zs6l_nRYjCwb@T>H9)52#>1WVM9VIy`Z^5O{gn6=xa}|e6WaM$Nz0G#px_16xM7>P_ zGqcq#P={=O=PUXX%vfhth&<|CFm|@dJuov-2H5Vt$= zS&#LW50z1^zWM7Rrm#y_PztAGFd$MEO#p+-No)ad80di=+(-u7lYzunI7>iuO2?-#SgZUmU+bt^k%MhJzHQ?#at2qej=P!iWi!{(>Px9-zK?o- zk`m{Qt#rH8TS(s%v@@**ZA3a<@H0k=B0oRh zjM{r#HJY{GNrvMsY-bzh&c?`n5m)u9p0x9NrZS-xy|Ff^P5H5oE^%A08c&3=N`}@{ z`kjHn4eiU?lok}|9V=XFT;|N-5_E2jOILMf76H?&HJueJNp`VY8vVv$<(1%}NhEQV zq%*I(lhnA9(Z?!Fbl`v1Wh;uS)E8+%ha#XI(&(10JZyo1>SPpc_Q(vcO4GL1i_B4e{M!i|NOm~{@F|~Td6k;^|p7rxs`3Hq0js6RD+)P8g1Q7A2kHqri=>(2h2NF zk8-i81rhjh(sC z2?CUO@9Jy{U)2_zw?QEna11=ekW-K$!$GLz0ff=avcpemIoRdkx#nJpxONMktMe$_ z_$|8-IMHq5yq0l+s;n3>mTEV$;Mb0JK0E z8A};mNed!v;ZgP1NPU$W34Pp*A8uMS(y~DkrL;h0J9*+}ZV937^kz4|*_9dtz1&WJ z*XXClJS_$qpK0_{W1<=vy_QO^x6`Ye@%3h^(a(Eb^V-#>=NkIFd%mx6)`uJIb^lRP zf*J*5k{yA)c64-_)orYs#*AtY^R_?N|8#3UM#>K2q<@|KeroMgew- z1Q+klE)nOIv35p@RQmZYWxHNdk}3hUejR?LO_+e66VBJ$?+ibSQm8GclvR9612qfT zt*Ec#^}eh-1&NEh$xCU*87)FgrDXOI1+G})7zhc}I3Qh*ENGA_axpD11a3@C7~xEz ziU0yqX{ux$=PR8zu1X`?f}ujit<2Hl`UM=Srr5pOj!MKOzM>1|C!q^9Ls-C%Bhxs; zm=Oywxl9+Ak=q12QO7wL;(gLpnezrbgg=IkRaK8gjvZ~{Wjv#_|Sg)N?A(uh&sGJgc{Ky273 z*doXX&}AzDDX^9JM%qN9FuSTu0P3>cW~~pK4^%6WY9Yzmu$O@r%w%&|H^E`MMLFO- z&M;iKo%E$J(ynZBfqzsBqXYC&hbA_(-@x{YY7c=%#tF0!X!FG92t=Tg)$`X_@@m2G zjOQc~Kfh25I+n3k=kqqmgjF z5W^FPl^c#X8Otul!dm9surBzn4$M$b*O6+bXBB}nzZKW<#c3!IsGjWfH)|P=twEdz zov>pWlT*fRn5?XE!TAn9*C@(pnZIY5f?Z_sLe^}Pb-aw>u3TH!t1&WiLd4`p61)Lp zRWaAEV3%uOuk~;Z+;VUrWK^zDTCQ+1vp4{I)%T3snQ_j7drGol;b9dsXPEwp4Pa*k z9Akk!_!{^`=hgIY;v=$WwoBP^_STGaA^5 z0-*it=R+-TpYL_Y&u7_yrn}o(3{*qi?RYy_R`8p}G$C3wqm}v}RRAzI^{Vje&X4bm zeYNIvKXg}tr}pzlWme^soDb74m+FmrZ&zylpEX|D+g-S~R<7soO<`IW(*7!46jat5 zg@9UN*4CuKRVYy!ltL}mvQ%ij>w#ZY!!$~3xVqdKs#IM^ZG?x3%Ai?^xpThJkY~TD zs%35J=Vj$yl7>%2;n!U1^okBBi5nrtx+%Qr4MdnGbi44RFBGQe5s6 zx2%`$Oxc1<#B-%BD$6iONJlxT%+X_!Z&2cRu$W25>zpst@9aWvKed9_Q3eJ~1EH?pXmWn0iY@Tt6lv0_Kb=8koN zjM8;|(uh#NqEx|~ux%v!+024lo`qBid{$4S)yBYvg@6*MRkpWmOS!d0u~xngvQb?h zMj4h*J6jHW-}dm-GQGYTU;Z)3Zs@%RKyB0Wc6#>bAG;a@wI{zMK6-W20-(3;nXi`q zdAAwgZ)D4}L|F0EkHlY6WQLTc0%6L9BgI3I>CPorPioORcj9#K#2ibpI`!Z?UGg^V zjH<4*zi4H>5iRH~4^2pmcgn`XT9co%gQlKTl~8dSk?mkKOnY|)bwFn=_56du!g?gy z#MW$?31}*v*DjolNe!iIRB?i>U#Va%gEQRYUGsk`g;FbgYj_&JH>+V>RT{uL@P`Y@ zg0B|uVn(M%{}>o>(Hp5m`OGk=B-QhdmKnqRIkGjG0S_+3H`VzjcWp--QEq!vQOylE zq0!7l8dOGC7%!3d{IehI%rb>F^dS`Hq!Uw|o}Obw2G;@h3S*U|X^;?EPs|^^rJi?# z)i^H&;bwq=0K?FVkzVsZ;~AKr07%#b=B=Y>B9%;zgfvw9TC+YTU108!J?V880J}0==PRT!Loit8 z%*-qTh8dzjGFuo5ogwsuF1Fj?68GZtuMcj`bl|XW;kkF$A z)?($MIuX}}tY+jby?ohj*fk~>(z@>1*p z!0xA(D|VUSWL&Bv80kV}r;q@+rSML|FUj`Z$y(EG-b2lgJ$`EYm0RfYe(On~?fhCJ zoJ|dNY78{~z1jcO_5l5{`|G9!Ks7Sb^pC83=`&xFN2-CW4a!(EPz zT4mQU-8HJzK-K*Y5{ImT4Q7b(A9o3djcH0}Js_%V6mm=As!=tuG*@jO_<_W|i*m04 z`eu~&nLms7I}=uCw3A!wz%%J3Z3kmBWGq^>u7L-N8l5&aFTUx={h3oq57`$PtKp2<*xhzTW}1Z!d|fsdN2J+h*BAQjepXV1Ov58E+EEs zZ+oG1S;vh|XIdd{EDr3MP#qZPEIA7WRx4vK8BCmHg@w&$V35sBNKnJVdfkoDH6rXe zv>x}esZ^e$Bh}U``_SQMb)3vV9jqTT$XgCe0v#bKm@czdQoG@nAN9*m@_=q*!)LK} zxYoc>7al3g3;vfqnp4$tHG3aefQ4w7*szc`2?vGM$$LC_WGW-p?R3!v>iS*)M*Q0wfwc&w*s3ehOhw0MO|r$kw0a2svcr(RINhLaP+kfN$(4 z07RxUE6>V=Y1gEFg=yxn)kD&QY7RI|v5rY3kJOBHxP0p+ctSLE0n>p^A=f94wN62m zeqdLZ*nT-~h7WT8T^1l#c;-Lw3$tl^B)0F z4jkFCVIb5|FH>}l7~S<9V_^#kKeD={4vs*pT)8TCo+G)?YaU={A;|`YwQtpu_bHuL zws2vK$&}9*Png}4N4xjtVNru z2XemPJeqnSo}&d69bKl%_#@*Qg|<~CqFr$B%2h2S7YTZtOW-+ps6u4=<^QUpte3QF z|34Dvm18rvfFXcdh?|G$lz=S>30`vsPgJJ4mstQd6Q7xTCST|9474b!g?QtkSEw{A zH&*4(y~(hMJE2iFmt!hn<>Wyvk?AD)8KC zrM55C4y0(QkaVD}D|6WO%lKALLOX~9(A-&>M$|4Og#&5C%6h88MK5Z9fKnf0kau)~ z-I~ohG(yPYnrl2nFW%SuV49+g0&@}%(F@^oCLNhXzH{c`0cw?16;^R&%|!*qEi0zm zTQk38R0|oUrPD0MHk0J&4eQGFS(<7UA*0NEqk(&I2AZ8$KLVOv_ZL@llaUTtyKqT` zmMPK*$;K|X{3G;ECBii8a7Zps@WGWdD&$ctB)bCGs5j9@lx9WIl@DE((%fOD0 zxO8wEJ8MmF#DJOXKhE_6RitjA9gkR8DBjg+M`|D>Gf`IkArO`0Q&330w7KQyuKOUZ1y!=@^?M! z;+MR!ajS15uxHhDn|CZ2$4pD6P$A=HI38*paqacsp|Y=zaBoF_>UsZJepZZDwX7V> zm5*YEPSreB@wekeTAo|bP-U=R&XwI2aC>V+Pu3Q+YwEFRh5JqGrJk%cL7|?PW01FK zoqAp_DQ(4jX&vSE?Vz65QjaUyLdjHXHu_t!AxM3_Dr52C@R0rBP{*h&#f{t=dZc0$ z;-|37Xx9HU%vBh;@{KNn)rBuKJWIkr(NOLgox5Pq)0L#APYa3ORE)W9Qx z(8j?x@ELgX0Vc9@g&4kqN;`!FRSH-4HnLSl;Gtqeu?m_yiKtMxohuYsH38vR53&ZC zP=IzHyS0Fp2^FD?+=7dEb;Jf?#LOiRyjIA_Lk{*y6!{vV0l63R(zGN2+Y}^I-#@Qg&kz^%C?ysb9EJ z|95(aA#@y8ts$X(uiPRSer!Q;XNHx0iZwnGR=Ztsd8d^LVIdY8X_n)|y%wb+pIYT5VQ~+*Ru@T3PR^ zb?PNOFT~8Cp&sD85>WpuVM22OZCa$4O4|wo_%3O!omY}-%Tl5yhF=>;?{zpbBC9No zA23EA*NQsQzH)EWj|0Ey`7`ro*o-pQU%AWc8YPXRxaz+saiEF=(lf`wx0RPj;kY*Ruq>&nJz^C>OeCl9{o>k9uYy{s_k4QSqx5eeV zfI`KvYLKI}DP1##p+|uSl_|6abEj+j&y2 zxpwwMmS9>+$66WQH%tI1ghR;JLOKI?c0a zc`a<;M=^uIAU7qjvhY4d7r6!X#7>5SBJ1Oubtls3+7z8PpQ2ugoqZrCg zD>)1{C~!8e_7MPOWm`ZADG$uza&7wAsgr4d$Z;2fwg?4W%?_j$$q;i31rZ(9w;W&@w0E^%CoB7{6zo+!E5D)tx*zLvv;cth8Y+EAS$x}fNe8XL_ zl~#!(UeUfVabU{k&bYsf;%{62cYgm87s+}RDaX(JpY+bib`j5%vfpq*?^ zOd&9qqfG5s@yWA*h6u8u>9{>>H^LEEfPOmHL5naJ6JUgH2tG(;PjYYN(eWf7gYBYH z_E1^B5FX7Pp06=OUNy`DE|ErrXQyBn-ZnX@oCGm`+DeXYe$YKbJAaVPU#)bjFQ=9V zq~20UiRZJ1pDF7*J1nW4@tp2$UINeWuCGwoKEyq_KeK=d9tDzxoUrLM%!s1@I-Db zQE9%>)ABzxa`f&f!6;qW;*q4UC2^-qW=EN+OH){2T0Ch#At`#+d13Ay3B#Y1=zdU} zl}B+#hFN8)3w9&Mm=dtUJzIL9l=bq{@6vSW(Se1fnIF1Bx6zCujxCz5w<9NaL^516 zy(!%){Jcsy(_)11N7_VpKNYy1fc3O_B+`8m$I{3?A}k6huU^!mciqQWL<-I~OQ-Ak zT`ZI7Eozicwvb^a8+>zmJl!$|_Gm>?_&gww9V?Z}XG_{^N28&FmI;=~JkxTFhz$6g ze;|wFvvyxln}2WwxwpGQc4|s&83n`(6SlFWdx`}t?ZvpqONVCJcd=}w3s{yIk9+M{ zDOV|58hmF90Y_TXGzZ|vw8)Dz_<~DXPNbo10Zcb(VZxU+CBYs`a%mBbq_#T3qdbJZ zU}-q5JA;N}tVNPsD1i@PkdzOZ&XpEb7q<)vb%avmt&JBpO*JT6ORU7HEC`~7M-gKu zD`7bg5g+s&mJLfhw46bk4NU7tpPd({aKaLXwByz$E!OKcfO5~lv^#j!O<&xMCAOco z@nF37EGZToVYnO&;R}wmETvXa?^SB=b9TYGZA^HGB_1p%Vdc?~rnW1V4&ATO0#HGi zsN{7^KhFQcmte*r^q*;g^1v#l!(mTn?bD_O*U$;0z#7)sDUU5BSVXg&bfNLC3f(hV zymN-}!?1YQ$#UvlkZJx>#*cPoXVa5kWGTrTA%w&)(VwAbrcTzVPsVPwz_7 zt=egY+ZDTwlb0C!B?(kPsD7SO0T9()y#*Wi>q ztKWfE|8>;WpC8ampsz*SK;s>t<#sSWLRLwex_^db0@r{=tX=q_hBgBzSn0I)raQ%=#&+Cy{) zI`fir6yNvOS$JPc4orr9PBLX4GRBf_?!%-Xvo#>gOsdMZOLN<9g|r32*p;mJ3q!~t z>LO;E%}=?xmR@`#M~0&57v(aE{^Axj@-(y>n+D5SoXout2TZi19gFzgLUYKms{<>MIb>tOBuKJA4-^0|u|0R6MA0no+*ptlkLeHcnBJA3y}i=hS!fHeK1 z@0-_Gi{4B8WzWs(wkc1^AY{Y%;ZVsyS7j(ZvsBjntD!t)s~XGI4g%Y+urt7E(WqR` zggZnD#S7D^#>M3QGdl(cQz&^$S8m6vR3Uo;n>`~?P#HtaFxE$(WgfAYA_37USu)iW;-Az`acZIeqr z`3{DzIL*F;!40(X$LfUgOvgT`S|G%P!$>9NX4+wZlv2b`Ibc#J z{qz`5wBfo7TVoeaHVtleE$riXC~=Gel+%!CCTnh5<31*a;34eF$7BR)2U~J=tf~hD za6bbl6n^EPjdr{lTa+Qkj25foqdQ^`UlR0sq)pSbWN9_E+C!wMCk|mBh^i|mL5m<} zZ6eg`rXnZoG};A15F=`EbHoBr_yC>=t!6Z~>HNiaKqlu69rxK00??o4@(l@{ZQ%e2 zy^tNC&?-;i@&bK|;Ct1}{3mU-i5W%&p>t@cs5|-IEDl6s6a%d2XeO7WV1;Z~{eKBL zcGePiAt(=jPvJ;NO}W8A{E?;~HGr~r|6u(~zQ-})vlVy#{P{8FTQLd7lm);#iLTmlo{q=F$U#7nZ|6B) zpmc6B16|naE47WPymLq>d2zwwy&(QkTlNixh~BzcrnZ)M$*eF;?ja7?MoN1)Ql^2U zdpBDLA6MFFdD6X5;VPU7Ew)IP6u4xo|CNQO8`gw5ZzK>-0vyGu&oBx8VS!#<3Z{MaSe#j~+A z|D#zZ2U{nStcrs+{06jmciO2pL)<2fE6u`y$C}shM})Nuzq9GnSKT zje$x~M_aI!RNgPoMKRp(^Vk)Y!eca>AZH-4hapx+K61C5kHJWNt2GV0-lC&Oc^5oF z5wqJ~Ua(iNQF)(`HEw4VX+uml^28k~h8<%I2_p6j62Kyr7|xIORh%L#OgS4291fNC zX<<_iAu34|77uQf?K2005z6yk#@Md3a#%pLanNS0ew<&x6T{Y>$eKYquxxC-k&j6` zv}h)Cam=eFX?#mt(RIp!Hakn=){HQq?f5RAC9vv7|M79UM543CQlm~c>U3!IF z|G@*t;z5`_1ADJ8VDne-SODZN=*!1kBEQz%j1o_ubYrRi{ zd{K;Fe&}EO`tDzN(e%%qzSTy+sRF z+`iVXkJ5PKlGbk>74>k+1g2JcSsoS2KG=(?yPu&DyWZ`na{CigOfrJ7GqN-uO701hrX1xHC-&FsvF43t_&) zt?8F`ao+ceEaN&TD`2u*85MXIB(Ye}24*v2uq0|{RB+n0jzTH4IlZ^}I40Vh+iS#9 z`;~#@HqEdq2r-;P;>42`m{dJ-q)m3O^AnorvMVO6UDobwb;-gACk?&MPd8A0*8*&a z8C+Z!%mAw8KkZ5&UooSg3O<-kaOf^!L-uB16IF&u(>S&5+92D*dhj?N9>ZWtQ_eTT zTZmgZCS20qhXtmF_^=9w*9W)Wum54o!aa0jGjQwctcH8=+vJIt)T|00^*g1JQ8UY&(+51u8(Ue6!$ z>aX^K&8>eoZJ2Mj_EBwrDdH^A&*%@sx98#CwY|>mvluV+MTj*BY5`Eo0F7@q@&%0c z2B2A=p|AJr_GkXwX?&DKH(m1EeLPCFpxBHuv-=R*wbcqR8Hja4@b1#!v{uxCSAeRk zdLYQSIMfUQ(U%F#N`?Z3YpWYaR&`i9_duRqFj%->gj^kwVQrNsX3!1Fy<&IDW*l(E zehlA90gxFlgYuJbCrS#!FVY;B#js>klD)Nim(B#hg^+tL+!|c6xs4&rpMpLrBsUhs zn`_*M>_DMjb;lD9-W))u$J2)MzA5T6Gzjzbn%cBp1_IOM$`3=J2%k|+`Am{y(!v=B3pjIos+$q96V=Am;! zj$ua&LZ8r`n2MO!r%^1y)%}{ub`A_n$2T}jjE=z%3qWCdifd__5#4nbAnXHd)W1(2 zz^g7ih3`jL3FN?kM{q{{!t!{4?jiWl0V9p~;(Dzty^y{{s1dh^WXbTx1eH)~_@U|0 z`pD6?1z6>D71AX%k_MR&A)u#v!~h@M!IONAhcr#HE}Z{BO9Z3D_T>~|-@*A~lN|FA zeuhKp&;=5%2Ayi~Pf4%g1rk0l&OI2wE1H)G0ogZ^#8V_^8UZ_raj}gmj9d1(Ft%)k zI*EXC&SC&#Kv(vOu!Ll(Vg}M^z}6IBDT{Z-{gBrx+UMAY_C<Z=WRmzMbt2 zp85#1Zw2tAVw%gwlrGQ6-3X%ERh^vG;P?^qLdj&z7FC36H}RvdJdcm7*~A~7nmzcO z*zJCoqk^i$tW=Py^qyc!VHsSwW>b8|zn(FBo{@1mAa;go{hGP}2w`7=m1GB# z0v&hTFr#Nuzl-ElFm?nz$)!1mE9E?oIfnF8;Y`oTC9d@Q3<;(@>mFuu`!zEpg&htL z%^dhV&n<|VjGVioykMSh{mUE_x39O0NLi2V0CoS1vaC}s7Yn!}l-CLj~q5dl!1U>GOOPv8Ls^6@l-?=r-mTXOvZ zdo`V)F!tQZ46N!fJ^tuIZOh>yMaOx~oH>|12V;J;%dG;9m~w=s`*19_fHU*FsUqr3 zc}>$n%1@jqWQPbMP4!fkw3|fb0BG(Uzf*PSXfSyZ;6tax5NZAlgE~>R_!7BHp})Kd|T1Zs`v6 zoje20O6obk|GC(@1m_eZaHr`dCq7!&9zwbCr{#E$fg}~Q)g+L7wN1WGZ);)0@_k%x z_r*SsIxHV|^E>&(#XE^}-VXEY-SkflfaD_>`v~zn~UdKxP{2jumJ++X?Dw# zCq@g+V3GpIbd%Vqmi@dBhlJS%Zaf;UYup+1)+5!ekvI7ZjySIG2Z&gKD-TXvdH^Y9_Q;5lVa z!%_{&=3MrPBtk3_#<4_57UO`4IlEP*0DLUH1kp-HJQsgNy4@oNk zDRUeJIkRrjKm2A&Y3E=)<;BxHDkT>Wm(CLU#G8^4&=f}d$^)c@$b}~Z>^{Io1fy_0 zS9XB;xu)?>9Nx76NVlBZ`_Luo(ANUVgYhj1BwKV^2IzKZ8KCwI`_KZQPums%y{iF` zd>sDGt_46Zx6`x#{;~c0kKvyh20d>d!Dt(Ww$uBY_ARk5gTDe%0w8_i^!MFlpL~}m zzwioe+pDkpx!m_-zU78HW}+P5@oW+q~Nz`0f=__q+kolx#VWD+Q$Jch@@p%IMlQ6p8$Vi$41WNU8r{$ z$BvT}(5#V-a9*8gR}&VOX?BR-jfMx>;c-cULQHJL5z3B=@WgALZ@9KncHv@^ocV;{ z#vE0l{es=@AEf%B?^x*c{N>;Qna<{C%%>@J&pWQh6da$)nuUfE@>34R_vIWZ!*_8F zx?mxdH)+xgjFf9(GGV`$$%-Hh*Kmr&a-q}!j{`=r|r z=+@kJ)(lV$fbQ_gWqg9bH=LixCmhmKGuJ+i&yizF1-sASIM*RXyv`dBQw$Vy(^Vyb z&0NQbEs`ULx*{CTd5AoN-^V1IHX|3$My7T8Gp})`^-iWUg?BM)%mnAXF9tFO;u$Nf zdDm3HmwKeRl*=No5Q8LaBEFt8A(e6!N^)i*qp3u=Pm?30?BERde1b+qKa(@Wn!Ml$rZwCC?*9NDTBp3w+M%*>5E^Si|zOHfC(wP zX}XXy6UkHLX_fba00@a{w(Z&G!@@tZGzZo=r!ZW2B>yhioOW5>u(4N~6*ZCjOj=Bn ziYwgm>IX+)*`T3*Y)TtFL%`KHG0u*jqDExB|jd!O~a&-cCr_JD zTUOBWrHQ1q^C;b&nz5T}oqF8PG+R*4YMqBz)~PoN<^NMl>q{t6n$J7y#kVF%gKd_% zDls~I`Pm4T5uw;m?bmNFdR)g_sj|DAhF?vqwQ(D@j-{Tzx@v4ZHt8(RsNjH7g>o@N zwscfAt~Q>l`(M3%JJb5L*@p7Xq^4{6P3X3^Xh^_~Xuox8Og34o1RW|qc0-F$xKFfQ zd|ykWvuoL`#sYz!6q#Fda<%er+n{4SWcm8`n)T5nXzeQq9|hHhAI0h({IP6@a{jlA z{wy#HBslng;prqDV5Q3Ea8BXDK{9I*w7(#Qvi2n(;9Ef(iY%{Ye6ZZZ)KFpP1A7pY z_h_h7q$$o_qZd;18OT?v80SsPuJi?#;n9Q03slBA{M&V0t%r7WHkCB3gch7^vzJyd z(f@MGW4n$_=*89Zg>cMK;fy^JHex0%bwrxhrgG0|I5=-7W#f4OzoagnJKqs=FVIbAAKhibRQg3kT^aUm)hD7YH#>APVNfzu7=v}n2yDfUvKp8 z+{221l*kM0m2uT9CpNYGel4m(j5Dl-LeTTcD6qzlEj zeJ^hS`Y2nbW$*O#b(p{Hmv1!;k}q!D@7rVd_T{fFzR_)O-AMTZ3V_VO?fsb@IC8gE zu9ji?FMBSbrRpIb0~1j4WFWvqNXsij2@hsf_kk*qM`4-a{tu1ARhM;l4Mva(*O>lU9 zXYb)xUnj}P&6aTzK}jgdenlA3887$x9%R72Ob5gbFb8J`6)eavRxLM4Nsi3h0Y;4+ zNe(^`V|5fh`W*L{7ab9|cESFD2+PW^2>aaGlR1OyvNI8enlreFQ8Q1YXhER4&mmOc z*=23dA{uH*npSOzFdI8JwXdza5%8b@GKh6n-{mW!kGDwsovGn9m%!K}x{u^nUg={HLs)Uvx__WBg` z1p^fZO-Qib8k?N6I1LA|rg`zaG$vln01i*;#iP;N}>I_cV z$-<8H>PFseNiNcT4Xj)WXS+PTB&Cl2PHKFCM7|ZjSY*=DG|Ts)1ub89^JjS_^v7-6 z*6g2!ZvoJ&oAIT51k3`US1kaV-pK}_7X7prAx_Ib44#;3L~F^j928h*bMa{W;W|_kQK(~ZR(apf)~%gfs>YL82UNilP)0{-yG6~ z#M8`UW%^Cer`s1_DrvhJhlSZu>k^M^kh9dGV50u=VWfRXa`*ASG^q?@G ziF+^&1z5_No&%z4SWjfXF8h_IA{+oA)5alV4owPa(;Dd?f|loLmX2DQ<@do* zOsK@-dsc&TS`yIz4s*nj1kd#?>u`xc7J;=nl5Vo3!5pQ6xcA5hkp3>G7*nI1ac9Z8jrBwTS$?2Bq~n__bbpn6FKle@ zON{R&EDz(My$Wb2AIBKi`*HogUvGy}1E3nleAtZdZ}xAW@88RJPHO=4^7;Pd%}@iN z{{sL3|Np#wiE}z;sJDJHQ%>w!{f?TUuLv$6*JY-^cyj7k=u>RALOKs_pbCM4 z)nL#&2iS)|8~C88)ju)+n9M}g#YyPs*{Db#ToC2n(a@?>g4GVfN)shVTDdX1h;UR< zL!IU44LzvJ)6m8&eF5o3Q=%^s*1ZRmoK(XMF=Tx5HUxkAq zi*s`Ui?bIe13;c-4^E(I1J%7w(nO!Ao{8bhWC28#WU^Kb9`UpyDovd^Uf{T@i+GEs z`V3@`XAu6+R@K9lo4c9?yy)!Nx#)Oyf{7$h5C&xhtq2w&8_oxC6p^}=ks3=>h4b@xESiz?&Oy{LD6yula3Bsle}nG} zUIgl?LEcpWLhX<~GazzfJr8a#<^j1TF4N_Q`OQv-g=PhU3a$F?kx3NjXH% z)cy~yE%@349#~zPn@GaVa_NFATlRM^qT2-3+?bOPfo7e>nlM!D-2lFwCnEumDi=F5 zGm>pcQE^fSwxAxqjK#=9!AcHLEd(2K*PaEy2mt!9JN%Jn!XIAW=c!+18pgPQpF9lp zLg{|)rQ0hslny;x6JTW&5jmp%=VpR*T+wAwcB{v$ff7Okj@a&-z9}sKvs6qu-$+< zCX}tBGUDlvWJ=9SSr1whBqgu%B#l#%-ngzz)bPXoQ_{VLiwA=cwRd*>msKq;A{{g(Wn#)(2_59xAq2 zlQOW9MXR?a>yR;_+!_tj{9OR|Q8zJlT2;YX48A*RA6R~T;af-mGu|&=(?3tfEUsPwmGja$ru@SQ@K&EPNkg^? z^<{&5>*OULvf)ea`2cm1u_@I<4k^b+(2kfm1n&2j*p^tujkT725p&8l(PUqDU` zhG{@A`7Ybo1u4avdXtt;c3<*Sskgm0Yqnr?6T+M8+#jaG<&p_=@xfX0!+CUcol(UVx z+y?sl0>tVZ_-_AD@_}?r<74TO*yeDFijn(c>%biN` zZR?oQ0f?vucgK~rlqTX=nZ1=*#?J!U05WXb%uM>CK`U`&{~>8+by877n>(1;dh28z zjM${d<^)Zsig#14+Jhm^?EslyE0`|-v07-R2BQJpR=G6+*&1w_QN-%m6V|s-fN!_B z*#5G4&kw7adUQ+-jTx3&Or`)4_00UqhwZV#T7e6l`p0B(s!Y}euRvjzelw<QK95YCxGqI^jh7}ONv11myoHtZ09k7xSjcCTxN@vZyg)t!Q9ZeBW zz4j)qv#9pf1`BL;g~xnfZ_HZWm30OOT%L4lo;Ri9+OZ*L(=F)gYu)6Nbglv%=j(R| zJe4+)*WOOHvnQ;K^zN#wx36bb%&LHUyNgx$%Drsn7am5>j>@*eP3c1;IXZmPprv)p z$XQR2(@Vq2pN`->6aTpe4I(YZ23gZoFkbtpVdU^WXX7iJDH&B%^?5yLrsdq3BJ|(4 z+?N3Upa!Qdt{e8^2F_1_{!FL$d=pG*>j~s~xmjQAtEevpUfMCPzLydl+5>EM4UI1% zA=Kv$?8=nJ$+y$Aaord_Ufb@Ruj6HbAKyze=x;Wo;_Gnyyc<825ndSpE&tn}J`JZo zhSP$9G63o_0D5^h<|?q={+HiMG1#k23gzFu-Hq?=_wUN^u#asN{IRwIssN~jz)pD# zePw`Z9a@=jZ&O~~3|7dv#!cClY8e`0vf7OAvNMXV8?j% zTyr$ESSb#=!t|KsZ@B`|y3_2n@5oOK4qn{83%j5lS!D0LhvE4@;r3QtXS@%jIGCDL z{Cih-V3@}FC4v`?B_fAsQhlJ2hJ<$_w}W5vK(xS|a}ta5u-%u9*KuyW@!|@h#Wlv(3hvsuMCHmOrvDQBc8@oFF8++L4VT5Elq|QhP9|@958vW+e>_Kt+A0Vaylb0k)3 zVWx9%049$4Y-}{nl!i5`$YEXA^aobl&G4DeH{Ew895ByAXhW1VF*utQv>< z0mDkvMY{uFr11&~0;nU@0CeQ(JrwJ=^nk(K)}XTN)U`GEt>e|}ocZ(PP@+$ng2{m7 zTj|fd0H9n3UnaPJ0t2+mh3$C~>TZELIoq4~92k3ZH@v+Y zb0_HC{*PKnmh0&~0LpEkGyW={27q#ZMwtL#+5+(~Uw3SzHX$G~YOf&Y>CWPBNeeOt z)Z{znZ76^s0Fp*zoEL)@Tgsg%#ma_elT7Ans&KEQ_gRdYYYs+_r|BtLwKVXW>~`?P z)Ue6Fbu!*)b56Jp$&xUHWe>!$sm-63o~?K`_Q@5XBf%8=Is5<+um&kEdi?mlo%5To z(n1&1w{lkrT$J{lRnQCr2JLL7WsaRy9eq86l6_)o7*x`J z7MfLi7nA%t>yTVa+ZxY+Iuk_}C$@^UU<5#|0a@|=;IV|z#w=mb6#C|y+=2)}GhfwF zy4uh-L9WsuPD0ticBV`b318@fzY0g7<*dW9bA!dL@>9c%mZ1NVQ1v|O>Czz`!3sSyF-QF!0k!ml8Ht}-=@F@cU7SJ&K5F*QH9+YquOM5dM_ z$2_%8)B1^1!+!YC)g*3)gLeX7+!$~A)o_I07=?*XREU+=>0KF*Vz)B9# z__pQ%l}h*wfbu7Y!2arvc@%uRO}^hl8UMa~$~26Fkw8affRbiZICvqd0q{s73ySfH zD48?FK!91b<71$s`)zLnI*urtqU>^U(ke_~-X56-1=s3hMUz9gbEJ|o2M(SVyqUlX zK!C_{^)wqs><1r$6a`e|%`zp)F0O*;E|qqcoA{L9aM7sZd&E=nR0dt z!G!7pAcAvb8cd*=&td_X<2x#6xz3Lf;j~k>njxhI*rLFXy8wUL?LBc&iHErYr=sQ& zzRIh8=TxM@h3Zn+Yh@puHa~q{2S&^HU$r zPNNU!6%&b5?_7PQw5@2Ld2ed>3+`#1sY`;*TQcIMsRdr62S|Ny&aF^iLYv$kzJd=|aYXj>Ry82NDR%3k+=vM4wNv zf`CF*HEza-OEwKvpxq`oC=w+N07XGn_}nCGK|^d+KyP&lu_$OYqO^qc)OuBlhJ zaO9N><|BEIyklusf1?-P)UKNYHAHo@4uT|Ua4?HlC&|7tO8g8?C3r3HLPA^vD!@Tr zOQ#JGHfh9N_QqZ*QK3tVX)|b3t1QgMq(ySZpEn6?ey%6SgB^bD;qJ2zTzx1 zmkp-Q7|yBke_^DL(^PJjnX6y3`|`>m%|97i2~Z9Y39aG?Fv(@{07w}TW4wH3(oD`9 z`ifbYv&F)|&CG7}a&+FH3N%OxyLm$@#o%li5HA zK%zHu;I2dyiZjWhp(mZpcgQ!FXRg}jv5ko=d$cIM{qrdYo$~yNT7dPvV-8TRQZG$_ z{>mMI#*cU7hr8iJo`!M!*q=%g^f8Zu?~VlkjsL#ufBC%(#dvu?zP#&Sm3i^+cLe}- z3kJ%4fIj!74^RU@jcCegK;7}7q-5ujsAW7yYXxMVQm!VZ#rq<PaU03UlHHaYl}g8yvxHb5 zp^0NKX?m`dY4fTXaanv!L5M8vDLZ4mE#Mw)W3uHL`BkTyIjwfB{0VMGNl!Kbpt%U0`gWa?o z!PILWB+R+#7HZnd8uQKOsVhZirp_JGBw2>kT447F*%vT6kVChF?!L*WO5~aZH_{t# z8Mhg*CbbZiYBIIM+SZj=EdakZxtps!7yo^pdb<^)3ofRFeSs zsuI={txrO88GddWeqJ4r*=#E_F_3JtXMq(A)E`R^=%a?fJ{tq{F=sO`04UGFXaK0p0{i`b{PkG|K!=xI8I6&<0d=pQ z^>3Fy>yP zg9(&44ZoxjTzB-9uL!_<5;6@;*=xR62u}BPuUBRgyEL>7ok64c34; zbM<<77vcjCj2O!oUkc%&b~J>&!y_?94KBiKMN$Z0&tYGmYIS&PXPC@cLUq(I zk~0pkW0I5A7)oJfW&w68Zgiw3xpYYK@gaF_v9x_h3iV zb|`vt1Y1tKiCJQ^@H)^okHX7RyF$}iwBg#3!v?`gS91lMXnm}R0cywbl#qvdg2ry*s>G0MOm=>$C2c z7a0l-zu%3oN)+tP-SDm=rZNqqR)H%AtI5G_?>$~OpGU}#s06@^aJG*U`r*wm5! zCH@@AdiXxV>HykI6OM<_>4NC*dYgxcIMa=N78H^As$iabC*H$s>_~lUQ?-&iqS;;M zf{&D}x-<8J-`gRD)=Aj@?od`ncXOa;!u(Z2)W09!Y|y$%`L= z2v3IaIEfN|dgQyWXdAK=#OuQ8&Q=u|AX<_ngeoC; z80^KYVOGbu2vX@SEnOgma3sF@(7;D>2{E24nwU^;z}IxRq6cB|$vi2$!*z4d!14&u zR}!@lZ6nX=xLb9?xsn@c03xd>Q`iPT+y$gnP-o(V3fu=qL5SI1d|+S;>RObKC(j(S zWwu6A1=Im1>%Xt8PwTBy0MPTazn~1>qF~1gfWGyT1dTpGeNJfpQ2YDjPS9Y0Dge44 zf6LP_d=hk-hx%bRW&qS@`sd3~0FYIIed~^2bJ^F?0MMZVpj7L6N-|LW%tp~e1(@0u zNTKbm1Rf=c!Os%WSEY~;IIu|bBoWz!@9xtg&t%QW2Iy{89pWfIBxd9P_b% zz;k36FtdkM17uS~H8e0jukb!i=Gtd925uf)=0RkVh}>Jxq~!8=$oJ4UwK6>be=4KF zp40MI(g0v;$-n(cG(K6D*>!a~tq+Do!2_``sySpqNo{`;Qdgb|48;EN9$hOKWuL>b zgpHJ7(5x8=$OH=cRnFk8SSINr%W7bn{7g*2Tf6jWIXn+NpPixk**E8r@&w;0# ztmpVN>$zjbcXV>LSx;z{cHA0^@C565TLqET2qjG?AJ6)}+pOo{PGw|0#qXLFx+#~o z;_A}RSWhd1MJ?@r&w8e{sq;`0G8|b?vBQv-xy{goXvo5Sao`?+Y#zKO)XyTv zg>iV@F!PX@A-{L^KS6kQOo+K zn=5%E4qzCC`6#jalFKN3wxe}Jn8Qwx&`T>Wr|CoSwgF`63K|#g0#B+B&FH4h{S_WJ z@Okotr;Rf{1`|$*ERF}mVUC{w$L1K0wg~W4nINx)5zg%q!(T3C`qt-xnZT@{AL5~@ z%3)>ZRaR5dk{ThUcv_`y5xjd6etqWipH)|5S(ItxeOF1}>QqY%#C>1wmy`cZ6{p<) z+IDl-)M<&ZW@gW%_;Y7NCGUs3Py@}Ty>mWsu@`Coyi|dm5q+uv=xf);pgIPqKYYp+ zU8M_R9tFQgBg6&v)DYNMLSVzoQU&(DFV$kL576OrnFY20pg(sxw1z0yR{)^$9MgEN zW63h&$vjn~t*#r}?~^@6H7BVaLTJExHdHXwJoSbjrL>!#3a%*-hYFElO9`C_ya1MB z(Z@z65b*DFfZ34qQQuMh-P?+zg6V~dRFR!UI&WIUE>Ygj zmfDZpLH|b4n7IU(iykh52{BPr&=QGL7QymGXl4}sXbT+AI>vSH=)q#0a0F`Ochido9?di?aZIQNoDKgcs>`z|GRuU0yw}~gj}Ozzl!`I->xz# z57wR_<)oinbXAg%4FK)-UzhJ>0F(!}*Bqc40$Tu3>jYh@zzP5wUp(u7`&R)#Rt2^% z4A4FUpj`$)?{o23iGNi9lrMVtnkQ}?bGmi@lqsy;u{I;hF}VS+cc~qKCT}M~+otPnDrzOuty9P5SBkIGz^sT# zJcB79ed6WFFyVs1JU~ZN1jVKTVhbnXdma6hHzM};#H?Bu{4E#9^AEG>CBf&)`1f)wwDKq(Y%!+|?E{jOnnSvxf9WD4 z7f~**E+#nfN%#hZCVH1<2(<}?^NBB5ZTf0tH#h23mAHm!N30fdGBd2~!CY^A%)pJ1 zL|Psto>)|DI&A>9X;oGtAF1L|^JYK_YbcX>5Rx3)rT}tL!*gXk zAF0ITicICtHFdo@36iROW14|Ayme+ySV?nu_@*cmalBEGvG^0kYEJix6eVd78*E27 zgEgRZt*(BdSEf}Tpzn1ymqn<)l)CjlYZt@P&hS%D0Q9!ZLtOySi@W}}`_Zbv$}rS7 z9ss!zSOGv^>L*X%I6jmXh~Mt>6tFS^?2<~hHqcKhfv_aa?!W|?F>u6Y;s^-q{^@IW z#Mj|etZgPBq@%jle1F3PFy8DvQL;*Z!vwJ9oub6^4>2^|_Y zgmex6SGqE-n#}E;&rc%sw5MXXaaecZgCVgYA)O&M_zyqnPvcpx|FAzzv){VNqLURc zt)XP&c(f)6@_&=DKgp?Fm{OjFdBCE%b_N<8CrGlVO+LR9phQD6d}gy;SMAtzpzGyz z(ce_w1zoK+1^7=Z@31NJR^=TymD~QJe=e1Ggr2E(Jo;JXofQlFT-XS?{-*Ly-9-k1 zr_IVc+rcE2cc~iF);GMgSuQ`!4WLUIe4a%yoOAkfWoL%vbN*65ivghJ697;y0sB4A z0z2doSOq|}5#oEBhx(!Pkj^#m6-?z2*a0E1It%PUngEp?pmWUuD$s|~P%HfnItLT0slfWzO@!4q1*&m$SNS3;m;pqfx?p8D zf?OJJX3m7|srVUFh))Z<=8fycuVM7D=(+B_7t6$0=Q~o326n1_lZG500PbYmfCpO^ zg<0ubLJeWOlwu4jV{*9*zJn2XN<62~JPzi{nN5DDAZ7{*@ygKbV6f64Y>I5CKk2dW ziy0W7#bu|`)jz`EK{ot^vMmEcFZRb4P*A8bp)SUG>T({vtgg>y;t6#;|0G6K?RR3} z%qN3O#t&eGxL(F#_%e|sj8xLB5n&daGo!&835S6xckp6ZeLUkeA&GmXb;C1r$9In1 zSK*&6ARfTeP12CL;~~L?e3eRd!vP6zYD{fHU6{{?i5Lj(pFP+QK4-|NJFi7W8MT?| z6QVs(nE8}N+gpIo5b6Za^PtFspp(l&zKZc^2_pth3%snQvaRbzUEUb-z+~Tf>SeaP z5?Y8$Sbn7aRYgB#8b)P+hBLxV4>bU_fRH)`tUrF)9lrD#rF;PcR9ZT>Dll|{&Rq}3 zm%9Rh{(Uzr0O;j{iJtYZ?uWM}3Hn2Ke81bjyBl&Pe4VLrKmOSrzK!Sa`}6nlQky|P zWCCjWM;%F@i^3kuSPbh4WGUQLN`xE&PP*E_(Wwr*Z_crSr)7Psqf`8V$AXp~cKfR^ zM)ilSVK$Zw{wo@US01H-GlOEyc%175k7Npcs(7<@HQ4i0FO@jO_kt^5Ev$1Dpj}!) z+P3wl$2QKaeF6Ql@$U68@?{Ut>u0$as6S)K+NX|3!Gx4qy|F4rB@GLow)mEuUawGZ zdS$2Jw$$|*O4Egwd!L`g-lgtK`z?0Xc5~{P`7qb}Ch$P;OOmNxN6n)=MzsHKf>vUkBQZ)hz!o5|)><|iMhIraEAJ#Sof znPh$le^sBqy?f1_wWM_@ZCFFtAf80CR_*K`Ks8Z^Lzs^)}>Fp>$8qBBpyoHt1q1%Zv!5JGQSUIjl2 z9k`VC?|22<461LV6JUB(Q9_{OhB>ZF?kFD!dV??H*&V;ZDQHX%(L;+fRwbiZl#YUU z?P*l_Fk_?N`16quImwNjSXU#bu*U696KKLdQ4>&PFv&Qs4a9`K@CQ!~>gq){0n;UU zWu%~_sgJUT(4GoS01H$GxZr`m%)ffBZ=tfG&!*B+-(u>Igg$c4Q}fISYohw=skR&l z+fvH&=zuTX3{he3QHPV;FL`np09EC>eO&XAMwHUt)3mQ4KIKpWt6f1MCY}?AqJ3wr z0lcu`eS>BQ2Q!Fb0M_-gaLll(l=+@cS1=e2JPAbOZ}$-{*XQJl4Gx+R?w|$SNVtZx zNr%dx7iZdslUp&{EC|2bal3UpQ{7SJ2Zv%BPVv4bOIRPeZP>@&g99(U>UdC{j(*o% z(2auU0F609kaOo#iAHs2t*0~4pg`v|+olq$cT9r=uiX94fe*fZ<@^ltZa8LYW&GK} zA~?+n$XFLg>>X{2KfkKq30&` z$WWCF1P}XIRg%(*3V;--sl}y4sbv+?tMNSn!m6)X-w|?XI)O*Y)cW!h$T=iaP2(iI zT3Z3{YfdP+2VgS(GJ>1o3>Xbajqj_&eO>dfa_Ye-=x@1S$VT!UHg<%vcZeSXg)$Tg z3aaYT&2xlZo`fBTy1>0alhiHHJqkd)zQrU%LlrzZ0MyabQ<##>nc05FJ#`le47IqG zaqlA9PQgi#PhBzC7XniOC3*{J2K;=|J~X4_#g#Ww{k&#M;NArAHx0u1iE@La!O{gh zrw6~S%-;C`xPsbKr+YnzIz}8`9FAm!*FP2@;`-5eI7Ryrm z3tnnl!37LG_NQ;%{(G&#>gy!bT$uH>%mVw;A3xu&!l zCqWPYe%Al`ukM!x1idJX(CbnN_UhU2`dRJ={XUn$A2R?NPL%=r-0lDBawbrYwCxUG zcNKyizL$cu>u3O|JY_0VTa!0n%HhwW*V>Ay`wgFl2yulIbrGS|f*e3WD_U204n3uq zQ~^-Jr_{! zsN10+kBFfXp)0b-{m`2(#{dN$NO6hx-UvH{1lFC!0S;bK5+8RXkP#T~!0VJyI#=7= zN+*Fr0jj&NNK2I|Roi|8lmJcvj0RzI{#;wGl^Q}IK%8Coc7uDo%`->|3}QcQ%R^X@ zAUO{78?O`26qp!=6j<|m`~lkd`n{KJ@w}BW8#Hno8c+T8;96MN9cwi)o&32w9j3>U26w=stvr4LEPswDw*uW1wBaOfu)-R4 zG#!{+YA{cM>Lpe0Z4FlpQ2Yev#EYLoKuU;yQ-n5{kElyS5UnR`7}i#w`Kp1%;Bl?F zMh(vi&QnDyPaC5UG?5`f;%OuW<*Fp{CsDWfQ^P~;?WUf!SqKibO<{#;Wjae5*|l_< zR3=~)J|#ClEa)f0j~sn!Rba{<^IMyLADed^nB<;M-q+XQi%4dqpt){=_1uy54BwxS|Kw7<|6f^8uFN3N z(6gTFD_pli7}Nh3))T+Q3Qzx#^*mCQuUJndhthw@dU}?~fxH##sfs>$0vmd75G}N3 zJ$L_v^}PKztf!jcq|8%bJw3Y_C2hre0+g>c)mqoV6$#!5t{k-G&sfjHPg&0`2P3WW z{|)&xUC?oAr- zs7ON+U}c;s6x&Bj(UVhj*I8w}IVWe}8F%S4%U&OzPo)pg0)Q6y@jZ9pIkybxnxB&~ zP%8n;=;v;Hmm^yJn@sEE9H2b&v@kxu-Bkc|H!M(S0Yn-7EZ}GXKzGBt`~8PbLSUtw z?62(z+j-W(f$LCt+olCQW@6W#>$Scig!d zEuV%8RK0&k0Eq3!7Ovv-JkokK{U`>HK8G?KA!5B1?N)Q1#Mg-cND_E~-vjxck_u{86O03{$;qeP^~TRP2VCgVU|#jCv@4JvTJKi zrKgPYX=fp^RjhN(2}6C@SI@PYe1a7pddAlRq;tFDv%B2$uUHv?BvluR{u`UHC#e~W^EF1}-cHT=0c03ly+Mb9Wer~HR+u6CJ>PVXcKdx2-WF^Sj# zg(UfxJaj_DDhdf(qn@flDAlMAGYQvzMGl$&2{u=+;NX5>kyq>#WFxH#p)?p*zIJf{ zXo1UR0>*+jEd3^z!G9m}1dQCGd0a5iIVVBy@-Wkn_xpGEL%~3K%-5St|6~&A<^BG} z{jh+aUw(bo|NCEg7TBx$yStnO{h`aCxYbi_l zp%0c1q~@W}wrOC@UKtJ?e#TI3&m7oS-%c127ZO@WQbs3mlf;;nf}ZzLedv)>Q3mXo z5yZ8}X3dL8)wS1XuJ^0FC?_GJ)5u7C6OMt|{%K$Z1a#TW6Wz&sb@SfkHzaW&K+NJq zC7&d&zvBCP1F!x>u&K$18*pOlV^8orH2uvRmDzK9

b&2suez0g%KJ>0nkdQAPK&y>?JGVC-|{kT|H<7dsOQq13-2T##$;@ z)mrxfdMz#RN>}qrB7M#rq$cR;e-jisn=sI;2_H>BDOJJRiwn6fE!xxoBZ+LKkeITXIu*I6jboVC9Vo3I(cd1+VVvjr)E4Ac-JSnFpfgS_aQMK*^FO~m z`uK?)`}N-A)cbr}TYtWCjPi59KyP2anY*FW0bvh*{D(aNdN6!*6bx{|wZwkG(enN= z`Z3lz4-dxiY^ku0Y?xhK!6ufZLX50#P?4e8Q8LMViIox(0CFdQ^3WPZVPloNih;O3 z!1+*?l9kP1$G(obbsu_tJj!ZlM@p~@mKZpD7&68gN@nFsnp|EXX=jGGqi|c0sYJ;@ zF=F|T+$Pu>2O`Y*Mb%=i2-CqKj1wnLBX`!pS(Ne}!y$&2b&1w}5%;YcztX#ZD@y8U z6v@bApue*26}XTU(!o09iRuT%i;SFRJx0oSSqnt?cWwr+@)EEKU3AI-rK8~c=5PWb z3V@C)V}PVxr+IymHgK+`dq=i(o-oj&J$KM3`Z;@0oslc`0KJ?Vf>KXVb#}U5sHX2- zs?ymR2hByHf25X{PJ>?^HJb@%U0t-(b?u;$4(NIVN~&*kjc%%cr_$K5m97990CK^; zn5oR`tgG0GvO;JIPoAon_6QCPmpgBYPJBIKxDtvWL61AjhQN`1>fU+ z7zU|e=hsf11Y zy}CR$!Hh8lgH@x;3>a;s1@tkb*cA*@y}=wAed-}+L{1Dtsw~&3oKST~Mp<~yzyN>I zR=Heti`Z?38UZ(rde*{tof~6;-2oZlmoxv@qjNlVVC)(XGoE@n|Fi+wHd?O(E?N5i z?6W6NK6sFOpKpE}(9fGr0^Pckx}o)eu>bgX|DGpc)Y^|sX;wgS(!#k1XDO)V*<5_l z`!(i1vnKbum|n#Ydsu`PhPD)Ph^Xo+p z16Ib_1@t^rGp}x*$Dn`C+z{GFm!4Ti>;=p`MBeqsWLT8uV@D?A)NQm-hg@dkdSz0| zx&q);Mq_r(KZFt_`yalWX#%CMUs9S!hKcf%F^-3bFAnCc&ahpC1QoA?7MxH+;J#G{ z=*}+dgF>7QQNW@006=NUp+YMzHFzz;(zzkW_rND119ZR?HOENwRtI*R{;hmUpGX!# zKWRgtZ2~|?(|4={c6CBL2MT~TS0?~eZ!XvCOR}V0+IwDGG-prMXA;`UP0*XSEcYL+(|Pn8v}Eh}(vrwl0Z_<+s60Gc z31IIEBW5*%;(7(4sP#t5r07Ve#E5eJSs;%sZ(|erl2}T^OTiQe7)cf0bg&5~5MU~6 zdQj$q!3$Fx3ilO3q;-TBp&Vv8XtYLz4G>^x=zola|W z?~&(Hp$WR)l#+=w4}OBY(=)BwImNLq)Pr6vFhKc1eHB-`M9pMAhTSn$){9?JT0hJ0 zk%`hbDZp@l02MDrG#+w~R~p_Q{Ob3gKmX#Rk3Z4g=NmV_E%XmCkdQ#PQa5xuAne0i zci7<;^SE;$;yplEia`v7aVJ!&;ACbrz7QS&f9ECH5vYA- z0!LN4WUag`1iO$9(YRd6T_yl@@t~Gwpo8X$EC*X1rB>(;oj`gvs(~K8j?y)~z+ib* zdLP|iA%D`>YgEd+L>g)HkV2^Z+g7*4IBk0v=(Zd}h^caSHdU&K+qkSF7i-iPRLC|C z^;cOZRAW|5CLbmqt5qbY6F}cjUug0eI%}iW2MO<`{Xm-Wr;CA0pO?t4@Nb2;8Hrcx zyy~yjJxId)rtJ{2eh*EM=O9m43A6@48&YcFZ+Mxs?q{igj%WjOsK%}yKM z7b8(JoOaj9zmmN}v>2-Ul$?gZefINS9WF^38;uGS=-_3w{5oPDOUie>Un)y!w8

GXFWO1nuD1g(4<*wn}QlFec!eP(Y8p_F;fq&+WSsFc{Sx0Ym`*S zYTZq06MQKYfb_E%x$1M_k)TEDZB#j7(W;p`D*ZfJ7LFrO%{(;I(4A?L#`?}T*7Z0O z$g#D;Y?W!qUTEVU&*X_Bdsn$X?|EYp;`_5S_&X@mbKAJxS$%s?>x|sn*iJ5a%SyaL zoBfrHIo&huNVLh)SlW&?I^g`cHQZE>2xXH+Y|}NwS=q(4V?g5C&dNj*Rl0GeP7R)I|b=*$b% z%P-_6XjujJ;z7*-=v-PWe_q;vWE<#9RbqfD-v?*{K(8-kEtvK}Z*4cmBW(i$OiSma zs;(eTbgUdKdJBP=7t5TSGM!mdM{MUdef9jGZNb1;F>3x zrq+hEW-p-rWvlF>!CM9vaKQ|TFg8G?9`=)zKy3q$fNBnTlf8`(hQLjiO=#`1jl##> zdXszrF*aJge|Cko0g1a^{FUE&pA7pNG_pE$i$?Y!0RN24%=dM+(cB!}hA^P->%cC! zumO8Mp(5S}y#k2LGg6c000^!ey}8_~=wUIZH9_!p4u%}c*p{KEDFFD}^)gQefs#x8^7?E z82tntBUTlWc(APnfgu25O8cdh%;Btshpr-hcAfN?I!1ltFzjHu&{A(R$f*Lpk1um@ zjS0^N+SOAFb8id~-y!QKISuUb){|3pECK+ekb)ASVk87QsSBsZ_NVUCiclS*ETTRV zuq7Z!@biUyf;9o42>>_RCcR+q3=l`3wcURW(4$^1r>vGs<5nIW0stzrX#I(! z#_UlkWJF*@E3$K>v#8XX+jKChFq%Ulu&D#ziv6~A*6y(jdn1~--fU!m46}&VaO2s_ zX-c0;Ou6ipX6ksUtWUeG(oTe_9a&DmsN@8UtJD8C>no{jC6y~Z40S1oTbvhuXZ4Ei z10kXXI%3RbB-q7)Vxuoll3MUYhQb7QIm2l(X*(`PMZ&9P-d zL*qBJARKa*2^YUFcr=@T^WDGl(e2xxXz%mA`!{dietSYc6DD}`t#8{kz4i6$H*ep* z`{2RDCr>_j_UyBp{Rju0ujR_@CF=vlR8BK&M<4jE=v6%ZNUq>`QSKO2ARFfq4FJJ6 zZVBvi{^OvTn8Lw0SKJ|MHRtQ3rS=MIWO2^Er|?66rN~OaYan)6x%u!$er5&M3OVZu zEESmJRZdx%L3dB60nhxfJ1&-+N(^(P`_?esPH)fYQROtJ0jaNckA6$Yq%Z7FNzUpuJJFERj0y%Alnnm5&$(KZj58T? z`Yp=M1mg0UWz4W@dN0rC@crzhlKbPI4@S`k7Kfahwr#He__uyL zAN%#-krlt*{L4Qu){4e3pVR#P9B`b zH*c^;Rj7x}B9L3!))&+TaWDfJh-yO5sT7q*2jUt5{R`bTzvO;wAP{fA-t2#zlOWuq^_NwEfN-|3K4ymc=&zjV2TKvX8K->g&%@<@!vIaa4!I3QmQW(} z8bX{qVtpXnk)b3t00jTTOi3Mo?qS~PlZdmO{O+s3?m#ynLr^&IpT#HanVp89Bs2S> z+M$04nhohp?OXkkrcqU7RwXDLI}D+>m>7}@VqUQlUW<3a04+1&l35rz235L$t|g{M zcK}MnO=5uLR8!gA@U;o#$SN>nfMgkb^PQJ;8T_Job=kg}zf`}PwvN`rP%j+R69$?9 zke)9u=d3Q;D+kS$gIcfDgDn8)$jW;O0EwiIEbkvti**8a9b5@#x}bK6FX@w-CJw+V zjvOtRYUA2G6`>g9_QWCSbdqk7X@QZ-cId!`Rb;3GZ5WDQcnTFV^ur#x%QEaetzeOr zQiCY)lLL0+9>~Ca%pT^=t$1vXWTQK{0F?|_*nf7>tpq~b95LP^@Tg75TtSZw#E2Y2 zCZRwX>d+$bJ`e9D;`>{j z>u{t_BMw3gam+QWAuh04A-_*T__x3GS3iCHSdRUA_x;rSd`l}|UpW@}3Ng@IZ_9$P z+ztKo*~6dwXKiZfsMoNsJ%kU9mwUiT6gsfy^UA#wD^G~)H34x7+adH)cSYzTBIbbo zhLe$KaciBEKq>-D9I!I?AhR6>lz}xRMuhA!G9LqT0CU~eT)%aeV#{Vi{gk~mEkrLJ zl7Z;Qf?oov>)ghv`W(}?kU}sIL48g=csnk~7;NGc(UD^GU|qEytr1?OO<*Ec8|qlEro%MKcVMFfR0cYytcv|G=n znDmemSRa_jwYuyj;@Fxg672_Sqz_fPjjL9hprr-5)oqy%tpi&30b0GDmw=@v=&C)J zfX&%csR1bU0LeZ;%l11jo~mDx|ELB1$hFc96E7^=OLYQJi2)M&r`cRfr>!QgNsqq} z9!RzVYIGr3#%p>Qs&)cVNC?$d&PY0ITxF82K#?7rYaId}V@yZ!%w~J8Yz~fLM5MBz z=sK^+2s;D%jqilP4EMIGU3h;M&N$6_C+9yN{|v(TcbbY6F$eS&@^0)BxQh#DqAp&fSzk02Sywt8%mj#Q`ALDFfeNy>y?F+e6j-ZHftQVd?}A-)>GJXzu=sN zo^?~PLz|D>r8FCW@xka8+SnMpuK+NeARRIHv5X7&NUvYUIAq%1n!*6c6V82wRP%U% zyiiE!1{z4X-G@_x7@$K{BtJ0$jNW@;?F9IA_GoSZvJ%)8ZBtH-%jq=u^`)gVKohW$ zb1<|6I+egC@bjJDeqs6I3(M)hUr7KcpN1hT;a8Vy*+}t{tOZ+Ltp)uYwVR`~+2T<; z231euP!uNX;hQ{3y=>9gZmaD2JB0t*)&xPrX4OZo7BfNTEnrc541!o4I%a0WOxJ?vCl}YJx^~yM3y+XBZ?(7-n zt5>T1t5-NSm~0P=JhCtQ0QRh2>A9RoX+S`_w&5GEUQx;X{;z&tdY?b~_|c>H?%b7q zpTFhw4=|9BKsT)$`qNK8ymh-L)<>feH?I_p$pfuh%=#HuK6Z!}oaK`r8_Fy{upob~ zEZ_Gr8Z3=uKf_Gt7HxB!a`)GxKcm0AAsOS1fh^I?|d?_s-@SRR6s>Cq-%u*SFndK1h4sNxYIcmppL61!ZR+YdM*(aqTdLU_R_aOQ+suVtB7gWzQH zKuz2O0Udf4F-hE@7lA3)>4&iH&+pa|F+SM);`^NJ&Vf!ad#mvk*%&yjF}f;;GI2(j zDl`4$<_21+9!Vog4NDC-5bxY)PX$>3Zhg@E|NT$o*su4Wyz|Zj-S_$bqaVF~`qtZT zYd7@6M^EH{u+RVaU;Uuu1@|(?L9d+M%=2D!JXHH2Y(e9Z2@EL87X@6yWS-^6{FqEE z)_Mw_1NSG4(vhdNXBiWT1{C%))tWRj$Yk)n{zKO-o2>^w^E}1fkdPR@H-?E=2Ly$p zXf-%fi$pHAX`{B_#G3<)BJg+fP96GHPe}`UIpA;oxuI(+a_xJ2aX9&z&!#i?fDf zqo+++p)*DB#I_vQ>uY)lMrsL~0MP3Kfa=SO=JK++oInd!fyqwL0)XT&)K?dcECid7 z&_N>%(2EBX0IFU(RptGlU#QNWTAqDjnJ|zvQC~P{E-l;FWm_QuR@W2&DF)JG=&dWe zZ%=pAU(@zK$7qGFZCzNCYu?AH(7OfwYo?gmygi9Q7CwEbOW^uu!=I1nW;dQt>u$NA zQ0Hy4ZEm~*iVAnWJRR?w_C4$$_62wgl^_4Y&|Ot;yZ60Ur7s2s{K*Oi{KbaAVMo|8W44Kj7{`Pi9tHst63YxA z0V5XC`>Nim-n;je1Q;;}+kwCa5fg^-u&Jfqs`q`7y1H6B0=_x(oXnHIbMjWX)xwHY z$E)}5lFM0s=a(llJpl6Q(D6WwZ7qLb*!FghHV*3V>8AalIk|eCFc4*259m-ZzYu>! z$FcIJh+N&k04avXc2+J!8X_bcv_?VmRHrk@464Q5ESEbpQBk!zf^?9U7*d zGBMI`iyB9&ekdD^dxK%s00_HR6_`cFM~T`i%p~mvG$Y102~`AJ!6X$8vSEf`wHne% zGP9;{4eZN}<2T>(Pn}1S@e`@*hh8K)t}HOlbE(zwvTG zi_p7_K!%+CGw-Lp{PFF3I^|y4zGrW5=wJ*d0PUn4plz;nO9nujI=l?N+uzzL={PWd zDyp9X^ZNkx_ZI$s*bS&3wnOAK_jDrI0osU~PU4_^AfFQCG0?~h{csUEjDC26v!TEkaDmGA(K;{U(vkDDGX60Dz1V5y)>sg2pj8QSf-sY%c)Gm`;K^)WU44@|`F-l9YM)QKXkjMwT zG6gr?2A0lPlMn?`xMS?2*w8S&SZ0y{@EYCWFCN;svT~DipN}n_pvkX8Pab@Fjnc^C z{N#WB@bSqbj}w|%xX)vkul?IUe(+zsi^{t{yng1d)=hut57vL^jZ^M}FK?W3pZz!d zC6{&6{>t_GS1NxQ?wxYK-nD+_({Fj(ga7i~d;apTzO`YKLsV3UP^Gmie;b9H=_kTC z8=4LX`@#GE6m2wuV*{g&6GGNR<^qI|j5lZ|W^_7#Fc)OV>l54|)n!6|(``VsM`)@ljo z!~n?Ev)#ajvjLv~|D-AtM>B`ZHh=`ogpwn*6>U-s-yn%o)lE=R=_ANCr#$;X^uy=p zzZ}e1==K-&SDW1x%9>3c@P!01TvIx(weMjLu>fEhW(36g5gr zFD6x5oFWd;QEk>u2s>H+|3g*2kw>_e{0!Ug!V(*c+!m z=6>~M#$EGKy78`vp9CK&lId*AibEM$Nrt6KBh?Y%(9*pC)qn*HHGzxakSWkfG&Vz(n zxFXGAqkdr%&?%y|$+bgjC38c@J_kAPCH^cmzd*KQi0z#)sQ}3d*dk;9Cm6Dp8UShT zEwv@Hu`(8GP(<980CO7|Zeuhu>eu+J^cF!(0ti8=*)i1dd7rM82MlPR_?JQ?BKIF$SG7f@z?O1WY-k4x>Zjed0U+ZTZH^ zrOTB2eC+t4Lr4B!=*O>$a)>8_p1{X^*ddZXnEHr^G7iDC@11Uce0}TQbu%AdH+}EA z>HF5rd}^xo>8bW#&vgD~y8W5;t^23i4@`GHKhynutNX=P?@R6C%kJOl&X;GpU+IL; z54tkdaUZ@k)A>@X_h7sDLaX~Zcl%W9Q|o3vxqjw8_lornEww*7)w*k{j7(vW9O8W^Wy%-CI-m~nWyy5`ABmZ8CTNLvFX zCXEg|8(>GqYKulom*!Dc@K#xVWRk#AS&~NZBz`JBTwRZV!vuI$+^9vos^JA7q_jOC zV~227SwEPMlP9P!Px4%8ah1<4?$VaawDx>l^3FT6oQUiI(Eg6B0`pt;>?icImsWx8 zCNQ(pFYqepDENYx!EfSKU>p4(kpXH003!6WhmxrG`mXDVj7kgi$84$l81E{Wi8_YSNpjl-;LYg5>1qGdGWE<8{%j3`&hP{73Ezug4Lz zou3;!FM}Y7_=i9ogvs8(2iuDj^0J|YJZIQp$`*9bWeYF zbl)d`@elvFHmCJkNg&t!kPUr(`P#ALkG|;-4IeB6r^Hoz_gu&2dO-bXCc>nKyf-BeDLq=)UPEzs9$${ zAQ?;PE{r%+d=NOW1OnnWkou>Rs}y*GK46t{$##M6Sx}-N$4p|^9edtDc zi-SG1;p)!bU_+<)!j$KS94xzg{S3{NP2E!t9SovHZNCRL$UWo`XG6yW!hZhM4MMXS zmxi35XqlM)x+x1s*px^5%FD`VGDE`>B|j;~7xQm)GIj1w8dkiGR zXN)!hRSCzvhTIqH2$9!}?zYz1oW{i}ULS~}Nz70|3p2S*UO)BoB+h^@!gd}LfRDLl zo*2%%iPz@}W4G5?(6}f8JXjA=d5rF=$Sp}*&>Pk<%tNE9Vl8d4t#6GpEx0l(`6*%A z;tYcUQYr5?`ay(5^(y&c2)mQ@>*|Fg^u0)U6*;^~oK`XbXjBY%6&M2`$pKm*3+8tK zY8Sg(#jaMdlgjpX&tsrYpI3ox>-M*_%Z;sG06^P(@!-f^v7=K;4v+^x9a;w88zu(G zryUK)k$~bkIo^|z*1gZlK0q~K7lSjz$w{UgYBGWh0ZGDw;GilR4U&aJx^YUrgW2Dn z8bafwm1%<~qj;sN;(RA$(#T9u9%42^C`0h%*~(&8azokBS4|63bM~mQZj*ct9t^ZH zj<}e!aduo!51Hr?mD2#t#np2xOi{g;Wh`N5s$R;TAflKQyHIsDc|{2X=;aUQ;YOJ8 zMXG6C9W^2^l}*IB&;Rh*2Uc$0yeh|j(Z)Y(^B>_{h|_1C+S6th!;02ZR9e7HD2Xzr zis3bZibnvHoHs%QjK9NJ-{H)NvsupUICJ#HneL~jTKBATFvw>k-GApFJ@H?^`}%W( z4)P(XazNO#*OxC{e(cV7pBXV}Bl7oXz-!Ei%|q*K zU2vVV={B%bMyZxyGA8opRD~cd#K9;_Iixe=l4@QAM1jRme$hTa^K>ZtxD3nS9V|%z zh!~(fw2#j&+SkyZaN2d)rcavyc?M_;?*p_k0HDEkzc}9iyq%8B@TXzW{)r9%`MnT( zfmYf_n0G(Th4zr*KgheJ|1aVa!o5)FZ*NH5aXL3K=VVk_^# zDKiS`C)rhKmOt>lAps?QFzfIKk~uYjwM)FI0B%+^2|F?H1d8fzs&hJrmTEqbnkcA8 zR}u%-m$&OW&rKrBvM9;au`OJAy?;`8EEnmngoS0pNtVvoc6er}IiOMwdBZnclXwlq zOf)Wm$xGWA1Po3@ML*1MruK%*pkw=d7xt2=mAsVe!0ifgPamJ$m*Yzl)K`{(c>phoIQ7bhfmH6W5K-$+8BO%S^s^a#kyzt> zVxJ7K|K)Qu3s`2QlIXQ3VGlWF-eo)G(4Um_<3cruEBp>XbnI8vpL5vbK)amx0LXvd z-|^W$3+0?cKL<)a!Gh?UaI{z9sqWrzN4LM3kHYXt(B&pR4Sq|fzttCyjJA6QD3CzA zD1qo<-Up}%hie?@4GshnXs|#taGnGz!?avD8KVs6)Ys5{0Rhp~4MPHd7`XvW9_rgg1p6Wrf>F#Z2wbEI@T-D8`pP+gFGF#M0B96c0`WosWUJk1 zbPUKqgD5YR`s3S0&cN*j+m}Cc&Hgt%&yf)IjP6?vHRhm8n>!yh0j&mBBZ4`l|7!L+ zwL)N@nA*@wspjkn3Zv3WbrG7>nP|!N(wSh+lAntYSE?b`$nDVHA%eDpyZ88Gzb;=n zedg@ZW5;>&>sL=cwMIEed*K{Eaq9f}i@UmgXigGr?F&^Mgikdt4U4!ykYViGVg7KG zOni=e(Y&`geHV{?x!wEJRO_SbePYn|Kl^i;>07(Ks}&)`mN*-l4hVbvy&u3n$C_6_ zyw`DgW+tDZT_PJffJSXXR3Xx3l)^am+#N>I>I-f#lEVU@$x;eJjLPR@fo%k%AznY# zP;5f3*G)DA<=l+Bjau{G#gSd!}c!mqGBF?3H#OgNW&8_0yWIjo?%u1(NO3&^ej4nsR^9bAj2MLr8>ipo|n2 zV?sxiWbCkn0HB%xkY|88{ds19{FFUSPfQSHkaT6}u?gaWADY9w`0O`A{&w7h=Fbe*KrLP}QHUBJ|>}_;o#uvt^VPH-0Q4(`Id*ZCvhF0%$)1C_Y@Ve=3zYh%b z6itMkJaziw#mm>PFQ56*kFn;WQ*~loM8^X;BsCWqHtr!4KVWKYNT3L2<7^BZVM*{O z0JKY?=qa|yAUw3jI&d1m6U5F~d=FM@2%VGQ8j76p)7opI z!3lL{?E_vR!3zu|(4fVURpAp_iRhtJ&}b|JKT7->n5h(Hi47N@QWwZS&6yE5wnelC zy-9{7>@0!ED#)G zfcgZ0%HcwshT`M795R^?2cY(O_vXEn$LuGviUI9{SZr&TewxeY0P#-HeLn@}kHYZ# zK^NOP41iJ^kl#dzqA?EIQF^n#qfXhah@IkwO!u-D(~gD6Uc$6Z2VO76XV$W-hZzN>wM=0ih0!{u0RZxSX@hIxmZu%prphZ$V4xduK8Nj}b)Ds(Ek1C1xPktnuQ z*dslB4Z?%m26_b;Xv@+;yAWf=@8d+0i6AQ=$=&BOPdu^AxzDH19QB8u9=;VQfBC#L;$*q#r4 z`1N3*L;`U(v_By1re6}Ty}L*qM$b9a5T9Wn3nB*5M5H&&yCC#ZVA_~3gzuUaFhDc# zoe_vA3k+^X@e{@ln7IryM#g$b&G9n4#t0RY%pWKL@7cuWe}%{=&(;3YYvvgNak>&fE}73d5$%VrovL0)gW30 z;Xz|K1g^FL57jWCDH$v^1R)H7M%@9Owm!#GV8r?iX(OIKgAf5genn~#_JH>L0CoGq z0PXY{KK*U9_=5q^mR|o28~kF|j>AB-KQ!e?6IOBnXiq@^ijD*0ROoQdsy}z$?}fNP zIY7J+-&LrN**}EW=ECQ0-ym)j0*Dn%k>ONBjv^xHN6iNh0wYqx)RKv|bI803L^Ytn zx&icXqD98ygSaD#H&a3|xo&}1gScbVZl%xOC0biT?m`u2xW$nSqftY{k)o(cDY1@H=_(Y#O4r6nY6}B{3r3fA0tR*e}X`_WM5HA`Z|1sE>W6^>LV)#Rgf@ zp#t(cDZ&t3<$7_r_mZ@@w#BvzGk)> z!<#z{OOdqx`0inLq3^eM?@3B+Mo?goCm6~NvJ@kb`sMK zBeRY?Xv#^DQI;W#%+mnhRW)UI8D|f35ouBz#X#3hvSe19M4Nj=&#~Y&0wbX2Y1HbN zfMH^9(B+}@k7y{^VXl>A{>^E*iVB_*P6k!-$e0EcTEQjw?$~b#fP6l&4-^>y(dLKk z@&L_(El~Qi0H6cq?Eb2h`a(LkGeW1H?H% zyf~JUpgo~PdCW3BmM#h-BdL=+T0x^Z@HZ|K&;!O; zkiAhDQC1WviervN(0J)2>p9a#yb)am)=jrd+_Q=vG~i3>lr?tN{8_1(dv;Mftvalq zLIy}>EJ@6SePSG>84G+P_Q2RqJR!lWj7SD9jawZ`TwcNCS{!9%Uh{CoxQfi-S+JW$ z?E}diip`(P%(U$d4H{;R%)>Pbfl1#+@Zk;3wWZ_FUSD<~=H#i%CB2-`3Qh0 z30fIMG|EX^b@rHccyqd*YB~V4qxn|^uPAje78uJ$KuPoZ54DR=PPOkThyUkCKfaaZ zr!_jn-A>uiXD?s5dShk9FNuedGW?v;?k4AC>0uP(eBKZeNO9Ui&HHE!Wc$jfk5P6o zDUC)rCdRnr zNjBjKU7aV4HUtUyYvVVfbaAlys4oVxXp_}!mufX#J4E{_)f4%wwNuOAh&LMH)Kb(i z?iBzX3B}Q%p%XDrMyaa+RE3JsK090(1JRKa_bkaUnx0p7R_H6O-o5KvUw+qnc<;y8K>{6;1Hztp=Go_; zf8nt^-wETGCV=$F4$*5as?3j+vt^Kd27}@*`FceR`b88QA!U)P$d!eA3Aqy)N*$Lg zJBA8~vW+xA=EkgpH%MX1OuOX2C+|C*Bvrq>vvI*^yZ@+;BZMD%CSSS+^9ji^Lko8)Y@0XhGiR z1{K+W6JgmT%Zvoekn+ILVvlsLq(A!9iK_=dkyt4b0OD0(W1o~9=cY6OasY+_ke}4* z_C3GT^Xt9*=@+enPJ<@^w5iqg2V~G$sXJVWtH1~V`4hqR_59S@{*Y@Oc7i4h)aO%C zc`rm>_a2vkg;ikaL@Uh+AyCDx$%QPB#w3nuis=#KD*$8+Q>9azA$qX9j;W`a5tDdb z=E8N{k71dC_Qv8Qo=F7(4U+{4&}eL~-fPTFV~L#8Aa7bW3aAWxK%K1sOo|EcO=tt{ zvKD}(LTEvt4s&R}*NirlLW-r9uFKIXjt)RQ8zOM-{yvUKsbm8hsqo-mw0O*)-rFoMDbBzW-N-}eqH;@QfF{KNdph7#NNuv~NVdyB$ ztS!^8!lBA84sTxLX?hre=A^W(Zqf@3iB)u}@yEd21x-u94&kzd6Ic`Uo9H7ziiV~w zjdExjj`!+*W^iv3A?yCDX@ z7kK%d>|JpW^)Co(!Du0v-!YbQk@$45QIAdpqlE3rz!zx%`H9&EgcQ@I$8>@i=X+O- z{bA-Wq*T-OLFNb;a?W*lGGECu5q=%Uw}gzUSd$>x^u_@{pKDm9?)FD{xZCAVepDdk zXrrSAN;Kh|r<%U!O$)-gu&knx7;cKsSmNfh^PqdH@SK6XF+MHqg)k}8rU;=e&`VIl zW&~2|@W9#hQ|zcwVC>k<1j=!N`^P7s%}H&!PiPQ_@tJejWM%;|Z(oml>fS0&wbW_y zw9ju}U<^dSKRhkIV$AtHo$$SU$y2WUBO3v7J(Fr8F~aM}*nHbpO?+QT62sn1h$D#^Qw9m4%d<5-U3 zyMV_Y%I>Z_(4a@Y)8rvsw=`rv=h1Ih_SxyqL+^gi(WA#+Ygb5dce!pkbm+*^(uuQY z!vSIcPT495*eMa9a>V8aKN=_9PV+#50OmDMeYsI zCXq4FUoYEoWt5_zT*)bxv)bk;vw&xA2N8{W1m7!*sx6gh@hs|^v_<9w#!&!R3uJu7 zO2=|X?D;VCT>sb`15pjJHgXODC}yk)^qBHEy)Zh)@{2JUMIRB9aHFSBx;Y1JEW?%2 z{>1TBmVa>oV_MF|J@e4o+i_vl3r{O%ag4-z?0tv$<1j=@h&b5Ys<= ze8w)?t9~yXiMqGvU$EaHp3={^dFT@|fd&hO`?nvK#Ft^O#;V{0J6Onqaj&&yui;B_ z10Ie{;HPmo4$Whc07&({RlIl1(>L)&SZGLs5tj?b@VScjN^w_;6OxC>pMLg@E(on- z)X#TC<;416t3z9;m}jzLOFi+|&<|oDupgR=?F3(wRJY2EOK%XJUw|N?#6Pjx*z=}a z%qW;Pn(C=5vB&b7$XM`Qc|D=<)3^`uvP$@>{+#L`UME5qs4HXTjZo#%Yb9KIBdk^% zD4B=%Mi8m$P-T7l-{13Z_}H(r=Q#KI2y-64{MEr*EbjV4v=5L2Ks%!7ibhBmNh=za zRB4lzA|qGhu=Iu_1k&gz1~~5W>Ieu({y`t5o)hd(I&o}6r})Hl>xWZj|RNayo*T$k2`T7+n6ORDcgP zQ*aEnw90`CcnzZT7 zLN@fu%FVyO`(6aTXthwt(E@PAg4RnI1D+d8orN(8{6&=!r;cyLKx+)3Q!JZ;2%x#x z;gJ(9$Dnr!W&r?_*NLV~Vmg<9NV|~dj57-(k7Yg#p$UoyvCDn5_NET1&Y*qVX{sl+ zWTGvSx-CQ#Ejk_mL9}?NiD>f|waizUJfPxCWX=?=M=&7PHwm=09!E=pv3_c-!B|E1 zF}*!lJODsqqZXrm6WcYGwRI5;8EcGo!1!+Qt;%8p^`NW-LdMu4@yn@8H2|u46r7w4 z?(mxq5)vAf{?tN;Ll^+<>jnVCC%Eq|hI`9d2Y~1t_^vBk=^Xeip6>D6K!44j2Jimv z_Wf7%+jgHQv?i%KVhH)ME`K{2Z1^CQ+g!C=tls|Kr_F}2m~FS zr2&Je80ZXYfC~z%BI+~-SDR500s}a}zVmdLig>D3^dUVbnmj{RVLVht_*}`A1~g>g z%s?(2GmYlz0`42oG-f$h?67y+)SbFC$C9OI<1aa1}MG>$E_7lB=rjUWESe_FZu z+?A`>&YV4WY{~EYd>e!Z0HBLIqYTuVQ8T95{rUAbzwHO_|I_ck?}LxO_X7tvZ8^Ak zt1C}!-g@qP-@o#cpI(N-f4;o3^2*A}mH6k0Z~T`hH*S9X-@pIsZ+fdB{<=uS7)qD4 zR|%MgN64l)v*RMS&kXNaI)3stC^1U{#ci_rfUs}8!ra32U1;UyT1V+7X z)HtPU4RFEoQnrViSSv9F*7X=$p;?XGf{8tEzHt?=XUu83rHO4?qwVM3sycMyf-weCyY$S0_r z#tmynXo$Ni#=#7+(T~cX=+bafpe`E#oS2d-13*%@idl4w+cIO?C~y?)6LGA@`YAe%%Jo;ZVZy<0sFb zzwomI3u0)#{q}b{i1WmM{LfE1e6wkbAe-OOf4`;we)Ahwe)H<9uDtqdSAOk^|L+x7 zUXfz{qbuAEuew`*``h3B?)sraKmYs}9iplPn8GNatrtl%FgmafT%65uHmcS8+*IrF z`Gq4#Z?jvZbDnzI9~JAfq5T12D+hP)F;E7%eFOI^nX)feg%nZ71``b<(BjFYVM6>F zSCoekHSg2{EK98|s_dV&duPpqzZ zlS%$w45u}JY(hurWFv2t9)b$Ey+(G*0Ag%i;|zvrk$CV%uT%pcU*%F424Z09Z@r}Z z%x|GWYrcHe&4{@lp954d0NPLBo@vkOQ=bK$f2cqlIAe5deh>=_#-PgN$QH&2he*Vyg8!PG9FJAd|yAwSj+xObFXU_lQ z&#s?1>Cg${8v-{0&Aj~bD=)qL@=Gth{Njr*z3}3TFTC*L^UuHF%5%>>@5;^Rp1XO| zmla=buB>E*esxzq@9uojJ?3TiSbp7!uYdEgJKs@>BgFX;a8X89D+G&i^2HgVue7@3 zk9O$hHkm?BMOllWqR0smU;II)YzC3 z+jn*5Sxmt(+R^rk7Sk;?=Ui9Cp@g+#wG zq()-@D_GNON?jD5iBlgkH-L^)q{~cw%1a-8^IMlMU4AAW`$bE>Z-1gEksOzedKmzUj@&pvzI)#2JR&tARu%+;&cu3Wu#`N~ya zE?;rwl9WrXT=xIc_wE9BrMt`B?jGeH>%fqMLcjj?t1m4t|LlP;NJoi~j6ttOJ(D3$ z!9AUX)%6>o`CaY*)xSP|;uNPs-yQ&p{o~if`vbx*UB142!ygc)H5c^-osGzVh?#My zBd})Z7exyUp{M|XNrC}pC|LAfJG3m#xIfkc=V!w@|#8mO^L8YZbOw0l4W|GSlG<)JXV0E@7=^IO_3MIfu00cwjfXOqFJ8QK z;lic!7cM&Nb?)5xv#y*yf9CADGiT17K6CceX;;qpa_Y>S9(0T-07w@$?0+xBA6Cuz-s#a^$XC5Llu%K-+_ow%lU=@`?i#mnY zAUSD40ARqyK2M@38sncVYF0!xD!66bbY*%DPef9gkMg{LOcL0Ek&KsqDO#b0s1ee) zVvb@P2g*Q6KeG)S#0_iML2&rTNVfOYpSUh}N6? zfBia80zkz59O!y9a)6;vWNIF!V@!9;L0~}UTD@KEf)>MjHi&b8_PfEOxAKQk-!BBKC_~%#T1eHN8=+c8 z84@($I^BI($kw5VTUEwIAVU8R@fImxBv*#$@iYt+{n-#?%2uO#z!O9g5Ed)N({G<>BZyaq{y{^D z1}H)I2ZUW)I?gXebw;cloN?5w zQC#<$f5S~1YfEB5GdR%%0<^;qI7R}Y#u6mR+A+FP2n$4zV{ko;CB|hqcHILYO1U}E?YlxJV0c*K z3r&ITp=I!Udb9;1ooea;&`tqB{^<7}Pke1;252KqiEZum4Fj~3w@_@;hC&2@_R*X6 z(6W1ey$3*)12ig!6{E;*Eb6*#v(Rw$s#JT4v5_GA*Qd;D2$OSg0|Ff zi}D{B769jjwMs%S^tjRF9Ktq2&n9Nhs9(}~xYvweip34Xgb|pLD=h#B_p!Uw^-P}2 zQqp30`bSUrZD}rCqTJ`B2Wfui7r%V+wu@x@9&#APL6ap9O_q+IIJR`c!IY!NmfV*| zjvhOF>Rr zynE@Tmw&loQ$iI@L8sV+iRNgz>s;vdwO03kKlXR7In0o~o-PU#g-88F;pNL$Zmg{Q z^m7lGn96wBdE8b59i9ovGJ3cmUMv&r`~cgCESo?CXR*diHU$vO_5$0f>@$A_KIo+vjEQ zn|T?$Uj^3ne{AWLVJGNzI5uoo;n$DtidzAB08|Y26+;Jr9;T%0kaO~M+l3gNag3-`jH00owrdR8_~E^V zEz{(`s8fZ*2d2Rg%VPtMbsU47P@3A)&v84a?b#YrNq%5aS$>QPFc_~_j$D>pA+xhlEOJh}5a0Z^C=BN)Wc#NwL>U(Bfy zYtJ98_AZ=VVld>8oI@%nPn|h`;o{Y6&$u=^4D`)^_V$IG28b3Q^&7FpqsW#8HSY~J zx4KV^Yxh(K*Ip+8O4;H*8~TEuv%7S8@t?c}8G>5lW|_Q5E*Ts@QiIZp31|V!TLlRj zRb&C>T~!kRqCeA=O@is#vj)&(KDUbzKVR%slcu8;QcQ;Se7P4NA0E=;!7Q z=O=m!Bd#7U`B)L9sre%ftrj9ssI@*;daV=Z4_Gb)yia9<-Z;vM+v7ABt=E!ins`kJ zw8q&;AqiAL=*2xepY^bc>!QsWgB2A+TA>^Q$gVJxtSKxsOts+`0UUvWjm5)a~y-JQAj&cd?%h)S|3rJ|TpTy`oENCE`$ zTD(ZSL16Kq|Alm)(|!6or+W}n#6u-j-9jy9?%dn2^PTT}eY%?zAio)OwT+KR?NmEr z5;W%k?U@PtDmr4d)c1Kt`{;d(k$;VNC+PlM8|5EAV@L2LtU`&yq79&vj&U9}TtWVA z^^}1baL76nanVtNb)3e$VFE5WU@d`+!7(Rx0v&H;=LV+66st7^sHAy_Gsc@Ewx*!D z1!GWzK{3aletZa{uB+D4m2OEN;-qrUlxhp(Jixpw{f`H=e@);E0= z*Phd$JMf#k@}m5`G0(=app{dn{Sl;&1Kqy;!O8D_FU$~u0y@sdSRgezWuf5 zPQ^Uvk6up4)hHYK-HVql-?(w}(C)ph$@+xeM+HLZ*pe=olzY zDgr9jnjEyCiXk#9bw5L-W!?3u-D0ilQdrmko|sl`OH)hZEc48;%p`*qkuwgA{!JNU^2brau+WYoa&t4)xyM+MJIT+if{gf9U0>)>7bvJi>W{_VYHr3rR-ScN>R0Ds2>U3`p zB~3DH&J0-*j>(?=sJi*AzhNCnw^O4qgQUB+^&b0tl=P{?M)BG*R3hc8WTSPx}MSwLJ)tr5|x5Pb^VLkpmmu3!$P8WD>TpoLUPWQ=Bp zBq@#tp>nK$B9T&qMn4S|AXRKRq9CaGO zBJS&WrevBs7Sk3DsWrR&S1ALspzCXIVq~NgdPS@lAwFb5c-c4U`Fa)l>dBoJ(h2s* z9yAl~jgVTB@WqAU6XX>s*%Zb@qpb!fB^qff@YMN86HgaQtJEpUi>hU+PW+?vBjjBv zlm<`K$V^47DYFRvo0Fh<6&R%*ZyZ&#JQ+2lRbWGZ0{rYAO4{)oAqoNN%}Nf?R(}j? zA1v38lla2pLJCW36EFq@1# zlMp7g7}h;kM1(>mXf_IvewTm?MlEA#Nfmh@h@-4xa+tEPNl`Jl8Xb!uu|p$lpzb-f zQtb>tCeS0pZ;X>-Sq>1m2Z-||YSDQW62P^+ENj6O6>EXEK%e}{ul$46i{H5Ni?=AY=upbCE(BbrvzC(OQUDI_eD= z7g;y2MXv(-q2`)lrun=vXp`yIh}9;fOo1r2o(?=L4rI9pW<-fEXrV|FZY@J=tB_2m zfn)GlAhM!Z;MmsaRP0B2<2X}*QpzxpFq}6q^1Py48S63{PwFq6dy%rmRxO6jhrXB#;0e7Wvmefcy=;Fc;=`V3wVr9UCDA;xmDW0|f<$c5mLxOTZ|hdB;p| zJD&yC^=E-?nf3?3Z|U|QnxE=!ndxr{2gLimq8$M;%iwuip+(98VxBdksW_i~?fBPp zZ%C=oBN-ed1+_F+rx+q=9xY_BqZB#LV&%FEGueix>$&9Qe$Z`0c7-wk+~Gqn>S?n1 zX?b9pZ3R=eGG->F3bANo6w&}f)n=swNH|z)et47RtcaAV~7LfT`fEl z8A%KGCo_h)Elo3_VQcbaYZ_PoDT*v|J-7|wK(cC}2JJ+l37BpRY8;|`1F)OimCnr? zYph4yG4dqZYOBx0NzpARMy;%p0M3NKcVzhwR&U&Nw16ZHzqI@3iTxl4B9-MNuQ@;U zKVNTqF;0!vQO~4YfyT5XKzgCV7+?T4uMsRgx9hPE^Kf!dO>c=UqkVzkjb2u4vjMuM08L|5iw+W$ zA#AAD+%FSk5r|Os#&2uf@gJ3b#Gm*R)XbVV0jDUSUXj;mN-D0mmECkAg-v=!HhGl% z2&^E3mQQ+BK9Z%6mI1n3)DCr~rdiM1#w|kj$JG_fkiH}2OsIwmN27`1=rY$BRxfrbxnK1+NPZXW=N9|n z9qwOVeijsl~3YtQ%IqE zv!OaRu_Lfw5=cp`90yX{3kR)Wi{Yc>lUgQKF`|kUY~p{VPg6TXN0{H%Xz;N}BWSut z|0=a4)-<*lccPT4iKY7f=RSX19s6|`a-V-TFHScWmF3EN=RBNA;6xTTiX*|aWEv;b z_%1Mu1Zd@M@x`~&>1n6W(~|hBCsrDhp`u4l6Ngh0fMuM>gf%DEN3hX4zY5U@05>Sh;iLN}1D99K# z9U7>Q@CW{!-q;K_`h9=~ECqQjCTxM|{_St@1gIM9q1EeNzM)NkcG3PmuhLl;wB*aP zpUpGyR$?;s-dR;Ps;Nv>;;YAihU@}`h}1G=7FW0kQ%O4?pqM!bJ51J~d#Q0RDiIk{ zB78AAY(KC(V#~BW zotYsfny(6hPeu_UYwf@gl$FCsaG(hg!iNSCKCf8DPaP%w)V4?{>FsA<|B>^x7cN{p zb?VH~qqOw>t+(HN^U%-bb@1Tf!-tQaIKiiLTwfG>G!#K1d!W%Ws%u*7;Rw*#v+o@{ zw(|DdNA6aOQSpxWCGlryN&L-Q2VR~}#M0f5{={*m@K*E1CiAD#dWoP!8A7;q@I(;1E=ylieUoRAp%q(Iu@($n zP?M9<0^cGLZ+m(qFhqMvg~~|_tyy7)^V75nY=%$6=)X$$c>+Y!VLLn3F4_f=6`%!@e- z=3~E%nDNG&2Y)UvS2YrWPI!iK{=fan5r#Jc?naRw2$M>p za22B|F_1Ru*2Z$N;tfgWK*|ronAmW{%IV-#2^ETmwm1;Du?5mBI@YdkQymL|fDkxL{2(=j%(1c+>58UhJWqB5dvQC%=jssS16 zNim<8w@hCO5NOwu-Y#(ov@O!FAWg}>sIl%G3614|5gnNcx+TyTvS?aW^VCExVGauM@%|wwA}MN*5iJH_I&j}; zNQt7tu+d9{>tT66eIfBW7_&TpULDE?T7q>dIBgNFPpG`O=b{6 zk&_T0c5w?6vRo0~eUP>u^z3Ibo&fLnXQsoyJW-(~V0$XRkZT8>?7n@bx2@CN#!1jV z2gnm3M}8s!q66VQ0ipz;S7&-V_$Um@quyKb6KBJ6FrqdZDklx5`UYi?v3=#4r8H%kwvG+`M?{ z^64`^_nB9IJ#db4udjm#eWK0ENuOu)t;auG<0y>-9tmp;il#)jkOOr036Sdr&W3*X z-EctIcOLu4nIxdJ4W!p29a^Lj4%1Ka977s-@T6b{KgZZlhmPq9Ms+YsjLC!1qqh)h zf`K#`qKLX|RQdQ!3=#@qMts%aB`pkx(G&M_-MB>ybV^!GUe~HT5c2FMlu4=Hm8tkF{r1uE{;!P20*To^7K5vtt=^F9uDRH2-oY|v? zg30Vb;&R8#9#jYf7VnhVqi5oCR&LnOP;b-OLOGR6A-p?2^TTBJXe|LUdn7<<@0{5a zcU}7FGJAx+q(o-W(nb?9d$7eMszU&3AhV~bK5S+WNaYas*Aihs^ofkwX7=F3!2}>f z`jrR}_EC&QF!XF8vqzlqxRlw01!#0iBlpF(KJ~~4AN=*z_pfp8vmEL0zzNE|zL;K| zSUGj>{DnVw{E1o#>2V1K#Fyg8g&eql_ssNPd+vpML4e)}B9NDe<(StVUXv z*(1ca`3RXkO);}ao|6KqpDMFQD>q2X+LYl@&g^Lb&zH4z7gS!*Z|;3&kHw!+<}U>O zikUr#Fh*e#8rlGLklBDXDm{W=im9Mdg2@v3q}Wf9*)ve7(@8%wnLS9OftGRkm1i+C zD(D@eFR;D#VKaN+IV~vk*xEQ-!imo|Bhcl-`gj z5E$H;77zl2_hXD`SbU-jactGFT0wwsjAjWjhj1)>pkn>zEm`JD(l)f_q+$hJR?yRN z5`K~?Iv8yjB8U-TD*`Dd493S|3}@O9fmjvE(7Qo$5{CRKn1*Or`fK6^y}$CEKU-bB zap9sr_Di-ie&Fonei5J}j`O{D?)>uOPmDnINe&4daEnACw)wt$rU1PWMIhQ6dgbid z_by+#dh6EhAO5RZb=6ucGT$1+L-(J4uHTq2Hj60AA(OcQ`lx|$8i`%4*Bl{bl!utGN`g!T z_7KqK!67V3Gt-U+JJ+L(vBgwor)fjsaFO&hkSH<+-BFszOp0O5*=QOa z{kt0TW^|bjLVU*i$B_Et%TNt?SrrqYx*zEWsWAIu4v;56w0WUF1S2Xyeo6aG->>ds zp5wQHuI4*ke-y?mGrcX50Quv7L|L1Gi*&FESYUXl56Qq%ftpY>lo_>_F3Oo$ovbJk_Fyu8 zT1b#gf5(<-!@8I>7hVIzAdL_h8qSpS!=zG;&JRm8XmWlSYFc;B50l8R#d-9PmLDb~ zB#)4O@SFeq*6rI@!m(d|-{+t2+-FOG4j(yj;^cepo!|c%B0%WQb%u(ae2Hk_lc4WS z4v=sl+O_D|%1N(OUAuPu%JG#%Q1bjRZSUgn&>x_Jl?V{7lS(8$F#85Zdkc0g(LY|I zOQn&I7A;i3pq5_ClR~MCZKQ=oqI~E8ppI#_DZ~PtF}e{tauW=<;Dg)0aei2hxDnqT zEE@19St#VG_&;d>ZV9SW7_1Q(NqH;lq!2wIGi(Hrydn*G$S3qvf?l1ZkqV!Mky7TA zy9x6HDN7O*of;=4V}X;`lSF15!xD1Cj0(=fA{iA|g|jY+Btbd~D!vU6e<(XK5Ke+#q=-m%g5Fcj?&K-3u4g|xt64{H=or-Mm5yKh?g`L5or$`c z4v3c=AfikDUtUS?7nRL~GvWObu))S5Owb zHk2VE_lQSX;%KD?d?=3TEPyUL{&WdRmxw3}rJTFP2<{S*~3h z=Pbj;f5%$4a6=tsJyy$v@FtR;+HHf`V<|-pRF`CC_)^p}N(88lWy6T4;REO5llkEd zj7WK}Y(-kzx&*@b(3xTB zx2eTMo`t&GwU9l~IO)1@;LU5-SHrPizW}+7|y-c2t|v1 z!DW^WXypEwlwzUP{B8VitqB}@Nn?g>acFUuMVqZlA&oqzj&G5vB=L83-0G06$#aap zBObHJf-S_^D!%|eo@TKO2#2iD=Z7s~jsvg8EtDSOPgEY_s zwPgbXSm*ch_^BiHRK5gg84ex;`T`b0+D4JV2XsIKz>Pl*tO`|^^2Fj^{GdK&1N8GNH%f>6?K%n zxN;0J*vMUABISTi3bnx9iW5Tr)aoK}MFIf=h(OFV&R&&@?a1I;BpgA9h{Jva+L9Qo z3gN)q5LXfK^Ds%CFpPebf6fOLB&&ybI1kZU#L@OTZ(#nX%dzN%~JgKId z_@=eGrd3<;CJmrg3vE6Gtdp^1C>pjo5}je@sYBo4=XoMOv}yz6EzvUJ0063K*n>sb zw~KK_VTGoi93S$z&x>>b>WByl%RfSZ+_lrsTu}}XB|&eeU4HyF&|QE2>3pa1%itXe z@&t%BLJSHJ z@p}cBbnR5j6lvle>0=HMsqiKi(cfY$f~3SC{%G=hr7w~Tgv**AR3Szib9DxG1?QyS zrJu0D6g!325eN)?sVGuhRqf|MDm4*sts7&YfRbIpzGT^RoBCfB(#0jsQ8% zmk3a7C>%e=$(b?cI%{8V&gTH#O9I3k$UXe%(c`C1`9=Gyt2Yjh_p6{K6H63_#<66T z-MJcdAU!5WnvNKqwMJU6C5L2Lk(#scWxI*!jVe-FF;p|(@8^cn&x(MFhm&M|=e=IP2DJ@V^Y#%|5qA`av?UZgefi?j&MA4%^B5XxdefW)*=Q>kIOxEY03 zPlgt0z_o~zv!Rs%2!5TuUz86OQ|e#Upih`s3Mt5vR*6OthQyc+IkQHqrC=FtLi_Sj zE8Kqx!VXc(L}qAck}*LKFb^!MF~T}V9^)+XNU#W^h>GW^I*I_nv_+i>#RmEXE+v9A zq6;csf~tm6w;(drF*Z^vqZY~YwjIm3rQqHGIzK_$xdB_nkZ7ngesYg^aQ9w1_ABN- z)8yBIH{SZixpO6oO^B zQ7Ifx;sn}fgt3C> z(u#PS34{$K6{LIgECeu_<0ZnuR@`st8!{ONAKgc@MzLKJc`P|bE!cF1Her51D-j_C zRZ4d;nLQckHxNCeE2=ZN!7-M*3RJ%k2r#ZywE#C@C@ezBAOHPd4aa`Hd+zuN-uL;? zJ#yanf(_VAVYxo!kz2G3-md~<0)!AL6R(KE$l4h_7NP=lPYDp$`k+4{?3mxU==_Ci z*H_QH{-d#0R@4ZAQK9S|oha%D6=)Sm`1)!>!Hn4CaolFxo|m_psQ= zL?>J$V~?c>N>Wu6Z9{s7=WB=j=PvgsAuFSc_{njtc3Yc zF&JJ;T68uGp(>8#8&EobukmzuKw|@FrX>~eLTRAn#|@myd(~)(FHM6yI$Tbz3GxpT zAj$z+!WU^M7T1Yu;pzdhKI1q(+$>&(d8e*wd1WcoBWz=d^N)IBkE&{s+yk}-*~V^ZTl7Iy!2zVrI( z>iG*7Po6r>`#%57vY$k8h_(FiPrv=9 zc(FhCeaZp44+IF0@3?gN%FSE1{^F@;%KC9eN|ckhgMJKoA$Qh~M?al@T+~)4>Blg2 zWhoBCHu6TJvgbXRf;ypJnd=q%P5Lq9`F$k)SWlo&)Q@x2()pS~!i>Wfgv`lPjl8Oa zjR}D@!rLrKJ<<~0iR8f1XhS<%iQA!f6kU$tWi6RcIG1Nqlz?2~2yZ~@8)yDKS@i73 z-G3!ZxW+xfwHLFRC0j)nWU7EvyWD2EzpLAo&Z(;+Rb^;M1Zyv0ovNB zHcwHuPj}#Gk0(H{%=9+Xu82GZw!NC=^HBXph)jTJLm_wVs|NdGuJsaU9uWa5C_pS* zx!dlL@`kCe@o&^-6!kGmlIGxvz#?9tbA<@399H67FWjb75FNmwW;4<{6GD|(9X-$v z2m@_R{$Eo<)EF?~PJWw78Vv~J0#)fbFs);#BoZ>Isd<8k&sczT57I2%=IJeYbfuH> zYHZcmdIe&SwP!oFCs7^&z(=>@?WQR#Sp=0uQCR(3)6`OH+o#~yaELago*HFOLw6PkP@E)f^_aLz|%ikDhahms~vKto6d z;w0$MtTAtVDe~o3t0}^i>$u=>s8>Q^mrHZYok*&%;~QX_<2Z|qcS;UF+Cwr(V-hfx zBdlLOX)>h*=cH;O9NOfPrRlNKKm-%&2>zhXXZo|GU~DlJc^G4sFiz8dZ)~8EpqXKR z$z1!WxYhtxsMUHe4Mie#tky;+XX1N=7!^n2Div4h~)QbmBdXV@0umAo(+OIwLjmMt|G=*3W@s;(z zvu^53>pD-apZ@at>8I9ro?hR1W@`GGbsc}LopMy>X?LxidWJ9e;rh!+Wcn)!;m zdCmH#=yHF^x9;Enw63#xx;M-`naOm?A-Lw#;O`d!I>32L{s^<<{s^;6mv7v-d0^9K zgHgG-m^eYERkVURdNT`w%^H_Gz!Y!;v|a|Jp-sh78B#7dYyyU%W*b}=qrnI=n4smu ztt5)tsv#352x%s-BvRy{MClBAU?gMQ6ObpxMUeItYMlk}(&-8DfHoy^77?ZaGAEov z5ugcVI<)|JtCVLJR6RAJhRBxtvUJ@s&kXy>g!HW*{75=6b~U}06FVV5yb^E}7sGQh z(Be#gfls7hEyf=U=<}c*0rE-EMFP|vY@6;00dllwex~QAz#I?qQ(*q;Z;K1Tc2=Yv zk%+XLmV@oB1`GYUMS6{_gkOlM(3}L#>%aUdWmMK-OmJyXON?wcoRuMiJ4WFt&g%uK z6Gb!OgA(!MGm9@u(}##e$b$9T@tLUuL?nQF_;r4=kI_fSczlA?J;YVIDX3>i!d@|PMufF~~Eq&)>zrw!HKMT}{lXAZG z^88DWJ{HuPHJaqZNX*L9v+JN5M1^He4L>i0X{|2kd0 z+zHn=rn>H5zpyl3?!OLUHdh{N+_!k~SMHw8ooaWtKgw)hdJydk?PWxY_x&V5aa*7x zd_dUMtM6aGc=3<^-akYuFvB26w)`GM408`Y!Hn1(snE31;&2R`Ma2fAj74L4%wu(t zRN2rHi&%;l8Ww6mrPLHjsp5jV=FUkTq*yOgyW&-}Vnix~Bt^ede3wC2^OGU$Eo^$H z=(BPt%io2i&D#*sG9R4SlGw0VD*Ah4UV#5ED(3xyBaQbLlxr!H4Z3C*>Ea}4UIIqi zPoGb);3ZtNuc2QC@7T|lPW8%E*JnI;2b-Ayd642|@P2=2e}_LYl~RX10pbJY{gV0~ z5}-xNJc&7X<1L!OVVRHPU9#=MWD@YrHGykhHN`$!%0G8ktdEs2FR&2B~rmR$Npp0@uJ z53gRlboJ^r=Q~fFIO+F&rj36N9C+(NUA)Ho|NO;YEj|70m-@4;_xy)7>%X{W{nP6@ zzdJSa91)#w_>EJ$Tc@k-yt~FsZ+F}yeh;0)yg-NK$cFTMxxd4?fiYN;+xEt@dpw5F zcCOgDV*7U(|NLKvNUw1c^wHx74<5b`jrpcO#`W-#BgamjJbmH9#nsgtE8qF9p#{cH z(Z(f=K@wmr8o$DkEJ%X4F@Z3xhr_bAgx-2kWFc4!Byh;9(3VXVWaLXt@kJvYq6jvk zono;^6G9qk2gED$WP|EOe8_D%Cp5)4ZIUa&cFw&OJ|ACgNJEY)`Cyn--`w>eK1)dq zdK&_Sy`Q6^!GClAs49?eLvsx=#eOM_Vb*?Nzh#>Ca%5wUvwxTXEfE2d9e{)Y?Qmqq zQJPM*wd3KdOn^4IPiZIU%_I;x0<>NB0g42O6(Bxket}NhSdeqU{1pgL$W&tOr#DyY z7Q}8w8#bTIf8|@_R&(+zKQ~XyZJc6T6<~g~E;{B$x3<1Jgk1~bHG!EWxq5)%O#e4FeGUi%r+ez`a>BpRI z8h9;^1o<5M%P)Ojy>a2frBkQQ9655FHvV~F?1!n3V_@U2J^y5X?zca-_P2j&?eBbS z-81Vt|8ZUC`SsH;JG$cqWEWKRgVe0+TQoG|5sT)AzseiUjLiHe*!~WY!ZP^#MS!^7 z-hTVYv14>V*kyk}*q?p&Hz%nJ#vY3V$PBPiNlh%?Y48)R+Ze3*uW@Yt$pd9sxx>qy zlc1uhOR=Ux0t}AH&*fJpoEuG`S?CuKAN)1gU`mcCg!V3tIV>st=1$YIlg50}I*M32 zsZ)%V6~E01P|=swK!9qk1H8{%$a53Lt z1&B!q?*YA+S8G*%&T4mLFJS?ERDd?~ns-Wqrk$Xtd-IO>PzJORpdHn$-#dt+J(&V? zI2cZbcNa!`M1ZJF*|8XzY&dBIn89Q^djugnc1bP|h+*V$gCPNe6m-wWjUIqB*6$#m zfr5#IijYUlx8S@HIC6+Y^@~el5C@-=hn{lfF-=~=B2hrPiNo5sbFIP5nUWYlG|y}@ z0)$bZ!Er-P_?|k`eoRz~s+%+j;wdNVGoB zFr+`H1$AEqImloTZH%27XOsW8hx`5%kSu8Qj3S~U0@tAAVfpb_#nMjVCHeiP zk0ynbf>(&flhi)b-R6=9qJPA(l#o25!VTz%G6lv=sG;OzM>cr*Ig^lmq(kqeeF}LM z7&8{1!Q9_KYv6rikGrTfD!~{oy_z&J5h;zwL)dnJ2q%-EHz;c{@KgbyB=dp3HCbgN9zgH^hXv zP!TDid?K$%Z?D2*`N_eS=uz^mw1B)fmd)X{Aa% z85>8+8Co8yRw~b&G`N(CU%~gMJG+sX(kJFNDP$;EHH)Q^JEa)hTwGM?oiIqaoYia^ zE!5`W6=FiY1ULK>?r~{p#AJef8XV zpZk26a-R>p@zzfcym_B5Nn}}i`dLSPzOZKflWV7bcir@h>t{AkRlBD9i)6fRyt(qX zG^x)GEA{oj6u-q@mQE*6pc)75F|+;HR^4b9Jv9cn`@(a&12d%eb{zqF;q;laM~)u9 zZ%uk2YzuVQv98mn`GBySKYH>hF&|^;$qHimWytYCS~vpDJ<$Y|6$qXbtQ#)09kfk* z^>x2!+r(n1x&ZhXD@O28t-nLL7Vnx;{MOreMtciSf8Ofsp%ynZ-_$4hT+EViD-Y@5LyB`A+iAMAbRMJ0zDuvb?3@?7D-X2!2S?XY@n;}5PF@&a$6-P(g z0R5HTPi7qHngToO<$M_62;rIm43xz5*}X{rY2${d{rF`me5=eyLM!^P61EE+N(6y7!eeN!5e^ z(Pl^=Pi_oaCShC;27r*!=|1)~_fGx^g_0A(BJs0MI`2;D`8Sm6j=&I{dOe=VjN|N5^a{v zzPwBIPI}$5e{D1$0?3rb2}|E^-Cn+Q`O4Cnv&R=t(8{m%M?dbp4*fjv=3n{4*G>KL z>o$Ds?v@LK_5^Mj4P2DBVvvu6%pJf-1+3#gfrK+^H4hNVJTn3yjwXZ0Qu8G+OGt}R zr~z7k0OT&&8~W^1=dWISdS!L>z~-%{7pP^1S!ukKn=z4tR9b+}ig~o4Q$L4%RpJbq zBL1Xk+BT{?dkvD0x@Hs{C(bz6m?F`9iL^6;NFKxa3?M4UucISl!GzHl4aHCyLsR99 zz;qk4DcwxgwV%Kr&c1q!=0fCGF<|a#*a65uLI~re%-q$Kcxl@Z9o5iyOdKWgWr8Nf zJ|jJY5Naa41`o30evAOH^ft<#vY9w*e##>Han`^ApmDoT8L>Hk7MM>%g~b+rBSZo~ z!~pH~#EoCZ?g0>`z*>Hh`}T186j-b0&jNdB%AX6rWx7KE$U~%-ubSQ!j)e~u&>sD` zi`JM?3d{kZGLS&71%k**Y9g)a=mpfqDJO%0%(P(~kCR9F)S9UHfG)+2rO!=40|llA z|5`-_LC1)sjwo9tJ|Z0H0sR|(QtM;^CQ#;?ZStLB2NQb-42q0{^n&9m6$dmJphCsd zic14iE5=c{C3o{UoRBQNiwrP?m8rG;l+hq{O(sAqxhQ|^J2*KLu1QNs?S)?vbYje+ zam*^VC=?_@8K3}&o=hxPZu0PHVsvC)jQL1H8%grinCPt``jqIy5daj1)I%USAndv4p8xzCe^usP;Q-eCWS4r7=oeFCU`mnf zn}IKp2NDd#Z=7e&3Ew-<>0J|`M@9tlm7uv+Uz!v540Dsd^wPVMI)m4zfW%BI>U(M@ z=l#(~q`q?(kg8Yrw5;zil36j!hz3M#xZnV>_B1>^eI(433IJ^WkF^W zPJrSKc#r4~_Qh~=(!w;S+*h^01A(wt5aS7h>Cc>EUV0Xa%2q!%`~4OH<~3 zkY=#(N)U?BMc{to)uw%bA^@tKc`t^c2B=RfvQf-Ln%3uKgrMM zqm_w|3bD9)3%@JfKOxSBp8&t5r)}gf(|fB}cjEsf4M4<74O`<~!@Mz}_^U4+ktf$c ztDaHu^{0Or{ruC% z-t?9azJBUYHnbmVbzNXn@{EJ5_GDD+Sb!0(>-bPu$h?~Au)VnSfkEh&olv`nSBIQ+TrR9b{9ig1-7%@-_h=G@APRK=q;^K1nmHj`?R&y zB>=Re-P_S}S9gc|JXQGomwO^z9gnK^c&=%{0B9%xsOp9WMS$ijm8j`xG*P@nhO94a z7oSptRt zWrn)@@vmHaPb7<(;hH;e9m0+QDxWctLF- z(}{N)2cR8ox+gcyII}YBa7F)z+J(rY&Qw$@Kf>$ON0}p(1a$n^a=f3+tNa#Gl)LTt zpFg&;vMR@Zg?*pbAN?FTdhGb-cf9)#U$@~;Hng0+&jt0Qv87onu zK0u=6nDbEu5mmD<^N!L&(@Gk_fNZ1SCu*t-_3kVHI&|2Ntv?{_!o};?Z#?_#b6>gt zeOhiwzc#XcP(FZlM>#pTKlT(g0;8`Cc38)Wt{MT2Jd@ugvrHOo;)(@Fi*)|TEMnjfy;r;i}m0FkrGm$hkN+|hY&BBUi8w^J) zBmVbxo z3yUx)Eeu9}BE^EDmVz7&&=G8i*cn}#RzJZ&0w5Z=5Dkoyy+F}4UR<7lZWwPcPbk|- zCo>qQR6R!w6&HGIT#Qc^Caf`TZf4X_CryLpX0gj?cFp~Q3*~9RfvGlQY$sjIK$49z zWvmS3T4Roex|=Dck_7HpED-tJa!{a1mR5nfn0dVKK&9T0Z=_VSejhqQ%3XlNx|d_yk( zlf=iE*m_v$7!QUqfk0PXdw?T2$6pZps6W$+G>%@6=8L;HLaLxpx^gMci>$e6#e5?ler zX8_Qoi_R&U298DgFku$1))8Y41-C}5t%XCG7#(L+I%diu+N3J;kaj`o0TGObUc)sN zJsWT{iE9mFG$RaF4G;>i3Zg4f^M)QMnW{yqHJi~fu@>yv>$irK$9w|G}MYR zGvAphNkOM>sxWg=a!{gB55c6G7;7dsi?xM!DRwmd6%8^{21OPeo zvUAE8^Y|=S+aCnxi=ZO_DiQ#CXagOE(c9MQZJR2#w+f#y^Lt2l1pw_1!Bzl3R0A{! zdk}?vfVv3)MU3V%c2uoxX>bEa8kKD=gpSi7fHcP$6%co9WCvB|V$(Tge>xndArfKl1sxtVo=$lg~fWH`M8x_^36Hkm*C075HQ*~ zC16vHd7y*eaIm86f|yGkW+98y5K4-hG$Vt?4)r`Q!cZ5ODh61&gec=K4X$j8FxrT( z{`T*NW4~@VzlhuPttS9lSnzumfBJ3z`XhHwKR8{u@Tl%8P0ZyS0T4S3a-U4BYLNYC z!&qUQt)@Uk%jl*SNUQ8xXi4kiLtYC2=%7Cz!;kan(`PRF1H$~0`2YC}zl<&xqOyc< zj7Dc%rnMwuB_#KqC$i+=J(oAAoK1K4n@!opx>wmP;!lN@R=*8)1`d(0E%c1exAVy10a zqJugcz@WF9WVx#B$+=;dikxJ1g&jvZY3ivBtwk6bBsoi%nwH0_=d)nMst^fO^7-qd zh(KoCMF40|tLyjcDI8qs&$fDxw7R?EzJ?9}^&Xxs!cNfLZLK0OK>i@YyZjM`9sm^% z0QoCq!M0C#c1#xz0L{9G7Q^tkt}m+&0B986H^&*ccpPh}O9BAIrO+DgOe{XVM>4wt zFGR}IloTkJDu*p&3Q;)Ln)Gsk*1phA9#8W?3UNfpuo8%sUpi&EE_BI&fh4)0{wk2j zBux=mVE090aI64=#Qw^Y=OKe$rgTI46UOlp?O}$P^U7;vYBR*6p-hS@Pz>_8!Kj~! znQ$MGx+$TF&b1LfVtix5luE_f$d)BD8pdQOktqJkRC>A3*H16qx^?^Fr7NeG&N}aS z=6i#BgQzU-^6&uVoT1QebY5&#V zdjH?N_x=C)k^g#h`_3Z|?_AinV`1BN_h0wfUG(LVhj)a_e+Yl&%m33~UwHFd#a8lr zu>fBLe#kB9Apm;n+=ayxrw=b2Th9^3>)@dyp&I(s*|X=bTzz_FW%bCOIm1I>^-Rw3 zpszBLX`D?3RUl|RKt~iZ05`c2Ux9@I1`x{|3I5i=+3>t4(>I?E!o)6Ecww@2xhXaP zNUW2{!@Mqy!Xd4i*bW438eyBPx`HXvFzt+`7YdlNB~R2^nI-Q~S>%~K7sNCtCRIjW zs2UAr?pe#q)tXsHj|O9+Ad8U`?$@xiLAxq)KzoaQk+N~^r_gnVX0X?*7358tuE%Gi zFC*^F#JZYr$OIKZSKR=EieWfsFaV&A13>gYSn86N??wX%(0UK!E|;-J%+xuoynp03iTM3{ctO z{ef&Dq(GunGm(qML~$^Ki4EU}C|*V&1cn?BI6M()HZdm9 zz(uhXQoL#ALYoGgz%pZ{rNWjmVv|Hy<-Ia2mCj_l|L%Wi%gXBN)oV{n?eoDy&Nm-g zx9i}c!-sus%E^!Z;xB)6L(4@q<2dO_{!w=-C}@?@Fv(W>)7O9Z4;+qp`dk0>-DjTp z;SYcKgCG3h``>rh_rK?^pYVU~SMKLO`q7X6>i+kMtt4jyFnXZpNEvPy@ICQy2Y}AI zLG~-%4jx|5L6+-4+!lzdp>N!L_POUi_r_nXVd(=pY~~A7kC1m%0Y=7svfGd<$zJBw zR5l!i*?32-t+s*(ys2`WXo~Z145Z+{+Hb&Oh-webn8=-_Dk8Q#1W9S$upG=~wlVSX zX!-!G*f=VKJ`EhIU>CG1=F;FGnO|%e09*hBF&!++UvNSj=DN|9fbB}=x6xtv4=Zhp}fDfh)1IOEus7LApbTG$!&}G$u4G^DY_)0fGDHhywRsTvA6@Mb1eW8WO}XM3gbDi?|9e zj&>&&r;m6esgPUcAq~x_wX}`o`MpFx(x0RrO(w#(r%h+TsrOQ==%3OB856z+1ea-u zXe#3v_R@^UF_FqG&JEWzwsDj~yx5kdh_Rji1exv(vywsUxY;tlLF#5?v1L4XuVAf< zO^R~pLMszt`&eA>c ziBH{e07PScn5&`v0b$E4=b!w$TAWJoi_uc0-E0-NJxS6vBMWJnP4A=1q`!7jwWZjo zvK_6W)FFtajp9ugJp@M8-7t!6OQt~7lT|zF4*w)>{}xy1bkjHVF0iptyQ7|Vhf3EZ zpi=f^z%NR*Ak?r)GCsr9sZLseT;nK#wU6eVniqx+^!gsO5;SFO3WEO*CP?m~X&r(6 z=edp}MxCO2@@p)ZQni*nl+3Kx&EZ76XIu~-&G>|Gj=hG7tGVx@M6xbh`=ez4<#U=@ zHWU?DawU^|kCHC-=5Wp6KWU2D2i-Ff02D1VygjV4@~sVUVw4JRJmetUL*>s7lgx%1 zpuI(4ZTt>E{=bhD{@U3IYv5b{z*C2QHv8=lyPJsta!_b%+nY!+6nQs9kOrr|9Tnd=rl}ixIP!whp$hN9yv3%lHbBvvL(Mdoi0o8NMG_6Dj}p-FpwI^LHE)C_jc(*CA+n9 z@8~!;zIqIRQUl_j_$~DCc^-#gl6)`XulR;q-W8p6Xd(Rx&d!yGl=?+!vq~9l-S;XR ztJpSvsk&eu<;(n7-1ubvUfRP`6aPfBDQ}@h`T(L&S`nnOiNR6l4C=7!T}(k;k_vfoZbO z*qw@P6uyOwlKd)!ZOJB^PDOPF6I6o*i?wK?@7m5_zj8}O?=tpKhDBN!0~_uR+6qzp z$WRtBFM+dDi+#|eYOD&{KqKchf1sbsR90pTwfrcLW)vK}Z5Z}}cov!K^e(uw;W@eu za=(&iGZbvP)wDJ}U*r?5Zj^txBD8Q%@L(ez1@8|-^@nuz_WC0$dVAdG!Y8bp(R(Bu zv0EwE_d>So1D*lS_4MH4tf%MlA++e0qyo<73`ofyP{6$LEX6*EERMtIei%$pskV^FFWI6 zpuxclfL7*1rdZ~YXL&8(V`tO#v>1HlJ@4~N->={BN0f(Szi4gtdU|4_e~uhH^q=pZ z-Zb5DnrPaL@LFOFv~F>NTHPn!^`4hjR$hMjDlL=TUlAXb?dgnF4wL-edWs4 zOP8-)xOnNpg^RAU=gwbnj^AOCS9rPmFJ8KQ_1e?7Zr}dPcivyIYe_DF<&7L?!fN0- zUOND2evdg<(?OPBpXonDG|45Yf$fl~>=gUD^XzXd~|he zpvGW_t72ev3hgI2NP#BIzp8)%ZItO9f}45JCQ`!@_mR|jV(<+W-m+ecg*OPSlDLkY zLJ7dD1_PJ?5Ia``ye3T^M@BnGX~xb}JY3OU(O5BBO5@N+PCW+62+nf2L-tcDAEbH8 zS^~I~wnc9X5HLlO3~Ey^z@?hePB1YGQ7G_3Nk(8z{hbGY8ZiJ$J9tU-@=-p+@$VD* zKn;ih^?ws!IYIO|&@_RscdfOrZ>VzWbPy^%u&=y}H zU2JcMT@c%}b7H8Y_VkZOQhPfdUb%P7(G`%_93V1cfMN%j0m3dNZ2sestTqQGC=q+z z0HL(oF2U6yKas$M<|pWed5MEfNTH*m3Op-HgBYC(gcbY9Id$cpJvpRf4nY-YM~uls z(^hFGjnB!SY#d?k8q@29%MQDoJ$ue|@buD|Q>T|4&O33^ zU8hc*IJNkSuahU;ug^LZbnWTupZ(2ujl=w6BwBHtT|+cn0vB7q#sJWM&%K4cp--H8 z>Z$V%Bd)GK^R55!@f2-qHVBPalDZ5Mg`4{Z`iK&hX#IeGHf|oliiFpb40M|3EqUfmCdQIvT&97ug5E3!5ZH>} zLu*3{%oqJQ08|Bd8g_s70B9}%pizJ#ds^LnftuOt&%x+90QAUo;TfP}@JOe>%bx|- z^)*1@7}PEP7}U0l3^ySF+C0_SGS%4@_5s=%V9@rd&dzWsm`6X|;lA#`p&z;6pD^HdNuv<4~&#ZJ+oJlqB-xq0*LY$jANxCR0+|!FmhEBn526gx$QgeC^t2 z?|nnXTqen61(vWR9*(3)hZ8m9_?mfziDstd1FzX+fFjB$tTr1);g+xg2E-`m2l}XZ zpv?J=Gs|G@2{RV;8c?8y&@q7t;D^wrq1zS&qjCt4(n8-~X`3dT1o{;8O8CYEm4KBj zfvXe0le2ND{jVkiop>xVsybDIvz*v6KUVDZ&?9$JSp|ml-b;d)QNAzBC#aGC$r8r6Ry35yFB`t3+Iiwx9)5ATqC^Y>J0?|@vhKeI83|_ zX^UE;{yNhKM3jaS6rn_8k&GsY5h|xB9>zT~wFnd%fJ;Z|fJ}C+s7nRRZC^CiA)p5v zP=hj9#sx@`6r&i}hbBX=rYSISl1xWZZ!n9fNC>vXz$xBHSZIyNvdNi$(gFmSYB zP7_^aX1Ha3ao8&W;*}xx0dL8)%6R4@hB}WGOOM_AhU=%7;;~<+&m29vc<9iP0|yT8 z-+yS`F4~vRz54X&vk%PNv%|G5mjOduYblb?m%sV<&p+=V(DK!*PoF=3acSx7i4&)f z9XoO4$nk}RV}}nPrEQJ)`f2tLJbLu_sZ&cAE?j!_zITpT8EZyt)+_>(rvT8$KlRj8 z=NA`GxhAdiXg6MNC|pa9ANSbq%9U%&%d3l@eJsgs7V9ejB)XGB5Xf9e0HBlt86b{2 za?`3pku1Sow{lx+U)W#_?9s)9er07)z z01?oXKH{vI)}pP}vX`n^aC{=UfKaR$Bv!>=9sp7G5Ai_z!nHSE{wNH0QT2`kGl2o} zN5MbrkNoO{C18bL|K9H223t&pmfTUsvT^(GDFN=Sw1Fcg7m`V>@i#uqlsfE=C#giXdpsL2vV}bbZ`XB z8e%Ci!D8Z5Ih5pj+4Li(M3jROCjd=bj)#V$0!fe%$4C*n6Z3ql{9>dqxDl1c)M_!< zziG?L%Bq74XV0EnTs*n3aMU4#b@sjv0g(6o)>r=efekGe2_-bCxx>b|P@M4>-}Y(97uOD+ zgGO;-7JLYA6hK1_6-YU-s~KUK7S%nRSeU)c1MTyNwRe4$PIurDOQ*jp zkT^SA-PxkQs~EUzyMsE@vE13go-Li82SBL^Is-t&0PPN!FhEoW6pjOP5G>~8s45$) zwUeXLAQ}gSW?kS>GiKDxjeL)uF9F*uwgB{#kp4sf5Ey-Qd&vzOZbpY1&G?$-7*`J& z$xd;DcBR;6)XXT*EIK84_oO_U9YGOHc2L(1taX)KAfn;}(;kUU^W++Gb%p`b#BaV* z4HbnI>@-RboO#MAnd}E-$3hEYiZ9}Z4^<7)?(o* zsJZcrX!I1v+{7x;2*(@*P)gQ>Hi4&FuYSTF$=r>#brMU0?NJ6thd@R{YjDX4ereXH zWb#0Oa+T!-#*#GDFRC?vY|;W?pdy!yKtx=A?!u6U06+P|V@7N6D8^=etJL;N5T1e8sx0s|CDAO=7qu0kG# zW$F70PybM=%E6Ucu3+}N`E&;YfVNC^Jkb*XkY|7%oa#In3WEGfcz+yN@o*@D4hO;) zR0A{{iizBFV=gQ#IU~}Es*uK1mCYqf@gm3;@Q_@-GgK!OI_5C}6I|52ii@6VVmoL! zidbDVk=l-^9Gs8ZD`9^iR^X zxEgLyaduOd!pTIA2m^7a{FKvmNOpaGQmrGHi|&uF#d8+$WLUw-`d^2+5aSC`H_ zb?i9p`+WG@`wy-2b-<$vza8J_KKijO(*^ak?n{l>ZT z7f+sC3Jcke>_6}`?v88fLRd6@{=&ui``)=P2+4>w5jCZfP%2y#n6mLaTry1Oa=6+FAoslH6@~h-M_&H0iiB9(1$P7I?(= zTn%X_?#VJ{y_SaIDr;x8>Rz(3Xti?7DaHgH0gX=#@1rFgV(+BQrMLqatGw5xwl+#5 zC^Dpi6HXFIPemleHqNnK<+g21uLBP?$1|IVC?41`^ui3?7=4OBc^M@Jo#K_m-im`3 zPn7I7!5z=A3~Sd5GFkrepl4sG`xyl~hL(W&Ef78T)0++XuU+)tPXCeaU}xA0$YGmJ z8~g%zhjuo%d%g(T0icJ%k}&tx)>hYpqn1AoY)@e4BkeHn;u20$kdzdG&w=`N~9 zKYHx=DLNqR)~)NOmn4*`VZXFew35|o1a2T%NC7dR?`r`Ck^H)=Lna8T$~6YLhIfsj zY+2rzLPvCF5E_*NfH1T$;W3&u4Ef+fNQdnwhl(Z|?Vd7~@VeaUR^}cYXYoGbJ7hG# z%cOomI4T1uH;e!pj?pGV8FdAAEIkcrLg^hi#00PemTCKmfgg;2@>vbzAl^+{Yvc#y z5IusBYUtF|Jsj91p9l^be<-ag>9_PDJSuFy<2e^fd+p;LfPD2&06=@f{)MxhxCivE zA^@O(ezs0^LiuyYF9DnGJUCqh0OS|M7ZCt?f~d1?y5mp72*;@Ic2=esgi`3903aW( z@kWRx10W)!XkETXX9Oe(Mal#Vr3pv{<+2h+p~?K^B3Pq?G+YP>F>04^OQm38t^%n5 z1tWh@1(!+PA%I+RHd+BMes3-HIzfO8oUefcOI{qDtBE{Bc2VI=X1oxZRGNR{5Y0WX zXWEP`P6TQMfC9>vwI6QgW&hnEi=499+5epL~}D{;E+)yIyXICJ)?J->0^ zECC>)l!3`JP}L~T7vFjRbx;2gm?J9dXWv=_fJVRwqLnaGYOdK<_wff_ivWl^NT-pU zJ$vrz)oUv&tNS-^od^H|MnNo3EMy@LgL&)3R(2tY2F#_fGR?sr@Jtdy80(SP9T;}S zc_fY`y&Xf25;y>|mSbRW$*KspOTEjuAB-z3_sqQ`h6$+xF^S5mH)R!SZ7l`5Dfc0I zp~JkAy^nEW=$nweNZ)fTDxRg{UI>eZNJTMo0DX*K@H`MN4p(po^a!17-P3G335Izx z`Y(n}Ccs9Ztb7(inH+?LRwWin!(xN%lS%K!O`nMes^SKOgEAaG;i9HJ(}lZshb@{3 z0QnRcftG+<2mtM9_qI;8H&6NXUk`0)Kj^R4XQtW?0JSLv=F5QmNf{l_0JUi=AkQEX zn3@d?&|cbTh>~BtA&}pVv5589)JnoYa|T9eXi_(cqj6~}CID|LT!Jy{Y6L<4&>4%m zB0*xX^BBOg0H86_@|bR8qo7O)KTQNtA!RTb2=mdzj}4mE2`@W7+T@iC*Tm3BDn!No z(B%=DAq)p4vP74OC@qWIR1Bd3euAVJb1<0Ku8J^7&zudY6GEgt)IQWj(15dh>sfcLmhog4j|`}RoDLzb%*XMh7M0{p-K z!*4r>?NC(6<-J;{0s)X;1|Qlc;R-rG18{LJcDH*^yjB5F+>(F~2)l9P=JM5RkKOxA zIe#E7UsN^vMWgi+LqgIyA0K5un`jkbYicdw=!eYr;)W}5|CQopm95LeQG6O&1C@|6 ze2lRnns>)>!#m}@Hg%}IgA8f%1qSL#Fo|$MEN3=KIa`*u3ZE=6PL)z=5x zJtkUg<90EvrkO2tb`{8g#UjQh>TE!%`zUu#82zYu)JX=M5uBhXb+qz}5=zVf`I=(~ zfI<=U-a!BC>o7j)4urLNq(fUE_8g?yI_=lFyKB=_#{(dbd^&f1+ToxLt&j!tdm%ai z6l#Ea?l&}Z*sj%kSNzHN(Dg-5)UHQ(wI3&$zu#RHkboU z-WaYDYHKizh@?9A6zh0WfFk8b7zc1)MD3Ltz|7X&%y^m9q`Xd#xd}cn-;`JxiF6Ik z3!tskay8LrH}F_cJ;tp!qLSOr_P&-+A6mSn+`)E_@t}N3Z zNOLU`1o@lvRE0+cg;54C{}{}Rf~9D4s0%Rx1PXluKv)l9FfTe1aM*_RsnAtxRwfw> za6hgrHnYn7FdAP`tk^;n0FC5$I39llYfLqRJ&wi6955d)P_Xe`dr+EM^^W34r2E^-frAk6Ub zmf9pm2nj!!0|f3kP5v znAzdicoo~iPSAeW!&b4$!5{~K9%^-cK~TtzZJjQ*hx0OM8NB}`J;JXAD|UB!4*EC% z?b5{7!yw>vPsLtG`E!I zRcDk(kYC5CtssY;#1vqVJPjdNB1?6R1wt_%97}H35NR1zFF|O=hAZL~0f_pOU?H`O zV$HHU($7I&Z4B!^lHHWq0ZfMGDKSRShP=%fwMg7xY7r7pW5p2m2p6ryk%6Mf9PHL8 zCtw6Cj8-8YDlu_c*tKjZMW27mTm7+LH~84EudMK2O z(u3w=o4@|#pSm8sss%ue07zD>7zkbgpPKlFAa#uZNH%4DrWb6m)5RI?I0wq4JC{YRY|@8cZ?|fr7=)b>QmWF zbnwWtW;|%JmU6}u+akjcC4Fa`R%NBr1^|gBj?5ZWS?2}I>=TsXaX?U531N?GMTIp1 zE?nvygo#Jy8#y7ffKJ&o9d(a^^)F#|l$`{Nl(QxXGAdYeSAvz67FJ+3^L&D`u26L+ zzJn}3R;sC1=~5E|E61A0l9r@#lbxn@U$F2ajTre~Nmd4Ox}x0&-2?@IF&B0s^f;sy z4{HynRt#nxfSE3KOm%1-WGkSs2A)!2`{D^5f!dvM*1=R7Qzd| zQkW}Yc3lcx6?W~IOl@gsPb0)Sq%aAx(mV}Qcx*3-lx znN$(f=;YCl<#jToUx6zXa492GnYC0H8R)(=gr3kmJ8n9UWAF`narJyNO@;|ChUu?J zJ2e?)L3^d1n$utUKeul$U%q^0Y3b~-V}9S~{reAn``ZWa)OFy1-vsF7Nx!$UQ}r=m zYvm*`mW7-$-RxAm`nUhiFK0Uuch-4TTYKV!-!0Gqpm9@VjBv9mbS!QdpyL4mh4JUz z2p7KjS6}_W&)xld|LpaD)Ehqh{(t{>U-=uqIxlS1vu=|@jagVYy0}OOgk4`kpEFLl+O+3A_oD7ju4P|Cwk`EI9f~!*@Fm5Q#VG~h7f0b3t`61)Z4Z+qFttGEv z0y7h&0kFWB7Ok$lU4?}@_!NsO;iXDTL1BBdhc%L>$62*jmwy=Rjp2;|-?2y?VF{9! zxceY8Ky)HSSer#W(4J7N91cSb#0{mu+LQwGI{~4#f&z3zLcTo(*MD4EMR%p7Q1L0{)=s5?+LM1lk;oN6h{}sTHuhyn^$Ke1pS2I^M zmcf;KK>eg1a1Qrcpi$!*BX8yDX&j)(3+9PnS$qh?Nokc5xNgh>;Qb{Rtj#gbt0kEt zEx~&Juww!JknWVi@UakpVEE(-!eNLG#}S~8TU)FTL~rwDkSNDd)?{x!zd-6t)&z zx_I%@c3OnYosv1F#*cV!k2tO1HTSxn-sb@jZ7ulf^@!ox=~KrRcmInwj>2e@A}4u6 zcg}ScBBkyd7m_`m0U-C}g9jJf!yPL9)SG_ggFkoo2VQsgAH05pyFT@=-u6U2FFQJ} z8wPT3q;o&q)ZDyz>-wpsNAGeUd2!hs8%cB)C3qI` z4x-T&KQ<-TpaCOYcOn)h`U~kS8x8s)^=lN4hl)R^VFa6&KYzsOPI-HhdCi96>LNuk zXb2K#M|_R(3!L#lpBVFuu=cP7ua`?pbbk=!D^D73@Lq%6#a}}{0M&twK>x_$q*MXj9s1g5pZqFzOm`ggnWgQ2d~tJo3#|h4`~G<7^O>pk zr>ENg4*&rF|I~f?b6v-EX8wej1n?f-0uXdfl`UEFRHfoL_N1ng*b|o*IjK1DmSiTf zw$VySwno-s$r5*P0|>l(?*p}1RxBx-k#ow)U>-hxHRi0; zPHO*v?2yoz(4|cuP}x*?Tk`-+5C+VH#@4U5OW(t>Uz;y2`(Xm)qU_kRN*$@*8U%Mw zfWiepW+=tC%eD7F0Wy4XaL{ssrGNJ6g(hZz7Ym@|Q7#(y)kO-B+lbj7h-TQ;PgbnD zueJTomeMUPrR!(6T{pY!npv&4fAI1r7c71+X%HV#vU~U5@o~E(e%-<)0szr0A*o=L zV5}QZz=f;@pbWo&;jJkj7yKQtG~7Q%HUJi#I{Ku719>3XfP@2p%o&8b&}P6Hg{7E6 z3)(@8jw^vThZG2&7$^&)lcZ(B%!SUgeh_JO9_yQ)U5(D1caDcab&(`2#25j z1W85{l!HVnF5C>}zdVqhyeMn(8HQ>hUe{JK(z`ojG!dJ zvoauXP0*Y;Yiw{<#Iw;-w9jCR2Qs9WzIpHQ<0tsouXmLw{AL8`iO+qW!A``RBGm^q zgVp8Q!=>s=&-~Ny@W|%PTi>PkGPGmk#=)&yx2^o@-`zU9ZDF~VcmosODm8$Rsrx|E zJ0k(ICs7z~y3;(uZtzikuvEFLwE)dPGQWIlOX-GLt=G(IF*NAr&aU*f+h6$MkNE(N zcW-F$=npy|YqNyA+Xgri#1F$d&7?8v_gGw5ed}gR^`z!Mr z5|UB&yP$vgX9-2wjaTOX-IRLd0B9kJ3caWbOYdW)L6bI4lVr*&9_k;>P&@$YSBkNN zm0%BCcuzrPDj_Atr1U*f^@`$D7O8s3w*vhF4wStURS&4P>+N4#)nhT@f~p>EDA@2x zd%h1)M^{?&>(KpVRKul1G*8u2u}66IxUGN;jahDwxTr3nW$=dN&=gpE-Q-=C09ggd zupfJM*fJou4Bil+75Pc3owN*oHEo1wsFr(JL!1j{B`HCGqyogm1p_UbR})E$BtQc& z2F!>H5uqtJfKmZiMZrQx%9Lmf`2=befwO}fXF@CL)S)z@#>Kq2?!$m@lA3JFkSzL1 zzybwm<~tzkN7F}Y$Of88M-2{u(t$gP4yvcdP`CILB>b1_uA;w@{#? zQZz*bQ?C`_G+AgKPQdx6f9LWmr|q#{Q~UPQQmLW!8#cfC+QxOSZn(79YwM{9dguNF zqfdVB&oRhp@bX=~rc+>C=BBe3w$~oNLbt;@gix7W{ZHN3=N zPRb(~W!p_}jp#>Y7zUS~z5jvTjsR`kG)SXh+Pu*aprPTNJNFzI9sALBH>U2`)D@Mw z;dXbowj0XzKWDdIJG<>#`+r-Pe(9^vJ@t>KNpzCNyEi%;HV$qvv~1_@(Xol?>0?_T ze?mZFVXCHrsLbivl9}uZFOy*v?rp`g+!*lF^aVWz{R2|{+%;Ih8x>tJIG~!sR7}|B~Dg%N$z!he!4q{~$Zj^$nGZdYIs363AzzC6HyXI}~Pmbote(l~ml<)hz?$z~| z{Gxq;XkFFQU-?^1HUbm^^J}Vgk@UV!F~0Zx|7pvHO@mv8XcgE+Y$UD!+O%nK*_Z#u zkdND2OY_@n{g@76T_8-}g!#{q`d4au; zLCodl+WfZmdt1wQw3csfDP7-Ex^`CU)xSIYzW@3s&#da*PO*X*qP`zMvhXYCIRaR@@8sMk+T9(Xf*l}8-aE76v z0qQI}P7}V*W4cDI`Q>tHPEKMST4pc0C8(hLx}s3s5}{3#V-2kclMtO1RYM94$4PnA zegISxIWB2cliJLGj%LFHG$bQp+<-Az%~#*;b~3T ze(nLp+a@o8@-YiBR&iM#1yQe}R57Y?rmc4Ps!{<^AVB@@9Qf7l&{8HqJ%0Xbg(E<; z1Z=50`rQ(simm*y8zC;R|6N}~3Q%4HoMDdY+I;sN^q0ZCu9;R>ax+OUr7i+v&b+@W?*6$iUt)WK|y;}F%#qv zWWEBbc=&5U*TD((1nv{w8VFhDGcEP+rqpBD;c+TNGjz}Sc~w9k%LoSq@+?u3|1PY*P;f$-u1nYe*EOgQ}&?H zz2c;ZOU{0P0PWbf@4!zUe25lGC?zlBAd0#jaG=!f9(GT;n%#Ia?F4-h-;UVNx|d#g z;Ez9H*w4I{(zi>Mo{E)!xK$bGz9E-|2!vqT%LHg!*tFX647dH@^Z)Slvx}De_#1Z* z`1B@qB?YV7Ekv4R?}2jlE<=N6w_W$Xmao09<(gS7^FDC-n!E3P?Vw{d$i)Ow+Q2-DOIF$e2%q>v-hY3OI6a7dLU z1C<@UZ@{at_;58veJ;W zt8#2LOcD}Esj{?OUB)#)bfAX2uO&d`T8}$-V|Cbl$exLj@65;vy+0+s2}BZg zAkQCRuN_5P)N(tSy98sxY(TON4!r|dMFi-XLeO0kvou*fLuSeWvar4+^=6$(fWUP( z?&o5THn4J^k%a7A&QHgLtjQUS&lNIR%fcZXKhH@LuCqhRks3OGK zp_*A=1Gt7G8{R9L3Fb@}oi;FOkfR#vS+J^0O#R5UMFU<*qW%x!7N}edKzo1s!qoK9 zQGe_gZIpb;sSgmKLAw+5zWvX4uV{Ejz+__pYezucMB_J3{cwBzmX^}fOS*Y4#CIP1 zX>XoqA9?Kd%dWW2v7ZM^l~wJvhT3yWPJ?p3IDlcszmWkYTLZLrpP_xPz4G&C*F2is zI&c1GKY#b{f7Gq~D&5vve#kt+=^ssbCU({_cXe%!LB+wN!nQP4b)BYCxz#^W&@P5i3J0I;i2VK^Pf_= zk!hGvWjt9|6hw5gnnnkT6A%xpJRxgeHf z;2i<#F4^NvkpL}q1jwxdD^(Xc1*p5~HVAUd;Fr-^U^I(H?1xr?IjYs`9+sD0SM&KV zCj$9h8a?mJ;(6u55@2A3s4)b-5BxeXXfVoVhK?Y;fu#l_+!7e zZ8vP=U79ZWjpOUaO@pRkh7fFi_J{papI4reg28B8s&_4`c7CI^eC_*Mo?5(=m6dnW zFvBF)zVveMwbxxUyY>3nZFd-6Qnp)*VRqXD2^~Q&1LzOL*S(!#Fxh9WTJ*_J-PGAd z1wH06kGN)5tD!R2&u+c7wfwDewYL@s7UFy6wlOmq-Exx-mTUKxDz~?mZZyov+^40@ zl?Q$0`vZ?$#Cb8&zy`N$-M(XF|Nha#N2U&qj68nX6(~gntquxx(dz>Ss?5b_S#>DSAUr+F~k*EFZ5-PHY9eL2BWM zb*QX!`iHHGK@w?4ki=L{lW~E6K7cEyWB^JkdJUio7NR%m0nholnI|y=Kp&B6izo~O zgvhU=a2kV&8fDPrxIJP-K*JLjC`T~JB~DDq@8-|{YS1xUZW@ZFz-Sw2dkBUjD!z2b z?gM1^HLTb@4rvQS!*-VN6xhQ#0qR&<>ogq50H68ZGWP>_AV#huSpwt^S?zUfYqjY( z(-f+Prgrf0s9yf@^-A_lX!l0iFEOEoZT`yl4eH4E4N7TeMPCG+e<<~|)SourfKxcI zIx>Z_5}vH(pK~%ncW&Zui+9?Eyf;12w&1YOs+A#_F2(-Z7-*(x%-6z-7lI8sst_va_3Zja6e%-yDbuZvLe zgFMoWdkQV*`zKfm2fHy1biAK|FNHf~-ipY6Xs~D$#5>X;ayE%D1bDP z_G{3elXb~?k0d~whlYlC@7{ax(Bx{4rfNl%2b2_)+DuyV>U!6MrRvR=Nwj41?lc^T zw2=Sb_K@cB^A}%EZoB>FIdiXTu`0_qN|gnb`f6uanL`QNz0S_bow?`Ju&-DbVILY{ zW|yXRJH7n|n1i8AY*!0jpZIDO^;bs7%%cr|KlmxN(?2v9T;b_CLGc7G ze+toA_qC?anbkdmO>*AiKSZ2Q{M{I1Rj{P*b6;`Sk<~F)BR(?}r{FJ{Z!^9lz86Lr zY%o12k=UMr(uSc&1QFlQn2({SDD9R!g*qgQJeuxFzYX?7_FuHpihvQL5=P7rwJ{Vz zWLHDLpvrg74Zv;flYwLMTZd3iJ!AfpyukQrwX@Gv0`cniyaJjEbsSNlQ@~cZt$b`f zPpxygBR1VtOL8pxX}1;7wg`H@BR~ct>{dW_g_u=&)vnfhb=VE4s{se2 zk|`4-Q3H?B3kOwo6Av4?784^5{1_c`!;NS}pkHi)JT(Re&1Rh#yp|NgIYGk`fXK7KoFD!*w03@<7A zBn6_T!9@}&reYy1!T1I{@$StVLWCAdC@-)s8A=f#aJUQLUP8b5)l2u>ckI}4IwpO{ zACrE`Nsl5NhLdd_+GZlFY3JjA{HJUoVrL5f@6>NH#x{o5YaIXnQsrjHEpET;iYFH= zb_YuQ>M0@SJ%%wn_tY~z*Iai~N7pr0k7+a1U)OSDfF%@RixFkRkG=9o>AJ`A#9+BN@zEp*? zO+^AyK**RDtB9E8%U^UkT^>F?jYH3(lo$hlNZaV?sBB3xq^>Y_ka>nQlHLORI`3Nw zx-!>Q1PDnF(Qc$H3L7(EnL6c0TLoH!yV@WEBM(q1VybKvl06#DEW*`H#xIPp>M5cJ z00%;QU>x~F(VvP_O09u|xCmi!)b?Y+1Spka3VA4PzSF2#0@P1?K)YQK`-lM5I{WIj zXoqTmRyq-9B@-aafjX8}I}AQ7EZ1xe5D_3lh!&Qr3)?D-N)@*ckR?FN%C+TwAs7*$ zJ~zkK=e9%ary^)#WWFSbPR2-lsAF<~8GMR02fh>4@Nn!O@NBUO>zGoX8R*V}fkbc2 ze8s!UDf2c!W0X;HhA|Me5C=?gJLMRx9wpvxkosT?h0%8e%7w6kfQaVK6akq&e;)~G zMygWBT+SyDE;;X-@BOsFUmqyMb@+-%@hjBwkML+5%_GmZ6c6U1MVt&)s=f z=(H%TA_2mTJdCX2K()^M%hj7*Wz5%RwV3PS&s??U?tA~W`N%6TykwrWe*H$;LB}2V zV9$IopMQVgku~4EZ^>VO`L+*U&a+WB&Tjj9Yx#jvrQ1!Qr{JM$Kr;}D4GWXr$w`v!LS3b9RgbY5x2w6?) z`#+V+Pyq!g(zbK@RVz-Yn&8){Kqyqtl!hc_JWZDs;hRBgQAl2xIQ<4%3z{yr3h@fx zR8vX$S7xg!L2a;}C$w;3C)9g|m>C`fvm&tqhc=L~4RF;dYLoB@cd5!$6>&u5X~uB@ z+Rv{{7uNkGHA_DXl2AcTzuV`+v6MM|9ag}$9H=(Oav&l=c3#U9pjzkBYNxLOvh2qZ zpmJ?dsk%7d2(g#|kpg7*1R}cQ2oN2N+Hf^M#C!68z+{b8Abg)@it|dx2z~;JnSv^1 zwd`-~kg4qb%^pYp``Cm(_RH@3e90M4eDQH$2M&yF`_Xe^1|fp@6mm80fuI7~4aerLs?B-O zFo4$b4Tj3RujOigea-D9X!y+?mtXO~pM2t`&bhW|rlpM-&(*V9uKwNGUwdE6b+cM; zn%#CsOX!2`^!EYu%680ZY3t~9;59)Utsr~TY zZ_$pIn>TN{D8$!M)s34rZLtMg?tripCr&>5mw%1kok~;`pkwAQJ7C;z#8iukJpOim6nCLcImGD8X~lg3C#VRcGoj|z$t*`F~u3oAt` zsfZLuAEjgY6jvcC`yd7dq4dbnPpUcqr7&6C1Ujn-5Z^iYctqfo{UH7aYgFo25vN33 zZOY)KP&Y(IR3AVi%yFCJ1#=)@{bT;o=L+~N6)~>r^x$4w2GrT>cK}-9m$X~~|%s@6wb&~ZE-i5z|fqiW>Tkf36L7KVn>MD2%7St>m$Ur`Q|O5WXsw6$3m zN{m2(C@)EU2Gf*@Z_^8diJFfGIXVOR7c=GoRMDiH#aSb}3U^C5^#*tha~DOnxcvnZ zw7jz(9VSDNwdbA2DiLT`*hOo6M#5B^-&*9*AaOT=i08Bna%*bU(|`Kk+_7JW`Gl0uh4ye5R(IaC=21gX%+PP&J~BACb;E|u7iH*QwTFRh zro%uCTRn1QdhE3gDJTJn@=ZBG!yd{$l1e=lgLhgq(J4Z2wO}GR1N9~EH?N4Os=k1$ zq@O82@@1U~sCsmvJ%ne0@XzX?#z0Bk+?@Uk*Wb&NgE+b0@Me~;L|!?U7069i6<-EiTLu05jP{Pg6unl%p%tB z>}dvFM9w`kv}G#Cjq<`k*Ek~qeJBCb!C!HJXO66>58D9;dr`|0L6W$?s!c(<5aq0e z5Qgui@1tZ`nN6k_5Wu0Dry;M9H!jn#jT;B^I_QIwKmA|#M4?Vp1&PmN zZs8|k6T25ir$LZ!x3%Bj*8a^>fYhuD45cd2nw-wSm92&GUt$AGBmq_AAd@P~fS(I1j)?B*Ja9Nn;$>Y#uu|^MfXv? zgm$Y!WSFK$t+5u)70qdo=NnW5lnXKLc&>aESk1DOm4>~z1KkY-E%yr0Qdi|{E1sza zh!mg&?p*kV?wE{aRa-8!!d`a&M5-aOYsuPcP6XfG+elS2WgZ&)Mndsm)ngpR>Z%6}r`=m4$8g zq~#^0$}+=v3^|BWALZBb# zrheSN^Pvxqz4-F!(`Tlpj+&m_wQG+X{VnU)U$oJunk_eFX%7fHeApfk_SofDVzA62 zeYCLRu&Ju_Km*45LN@+>5TOf{THX=ZK_b=IrTN5)uD8R0jcrIOV%l2k0YGsW;RQv2 z`oDsd53C}Szs+F%X{xZOND~qSNLFg9LI@m!6l!8bwCbG8@d&||5t!dy6Cla;Ghe8n ztXK4;(rG-`$-Gj95`bW+MK~;Q5^F&H>F%07f{o#Cn}uydEgvVfrSOwN3flB%zZ0n- zJIps;?l9P5;U#gC)U*(+->nJlvnyC_1$0h;%I;YAY6sN-(LO+KC+H4CfF5dVw*=_n zQpIqfMQ(dUyH3p33c0O-sDQ{-Q@bspJ7`D5RX~793Q7$7spltSm}aHEFsPq1IZxs) ze5F2JNc@7yynx(+Z?1rmbQ#@~f5>yX>hsi_c+N4YLvaq+Ka1~)pHKt({aU14-|~cy zpD2FfpM|$oEu__0`0na0)F=2`{v7*?pMp2U@8dW54k_dr{2lXu`+4FCbV&X_UR!%Pp4wq(*7VV1>lQ8HeozfVyNzEzp$*~ypklv>y)~7d#dqe;L7b$U z7^1=>8j4HHw?)jOXuFx#=MIdTEgvUbJ zq#EBsdscm}EEa7h4qow3@VN?0V^8NrGpgTavQpIy9uYPS)$;hc{6sgu)PA%>&$_8?+XT=fdo=G~dL`l~1N_f!GB=P#FhWNg)B^ zEwK~FzOmQToy8D(6VD_OL8VGLGnx)VKm+#VW}rzuQHbFHApku*He5xy=uMGkDd>rx zq8OnH7)V+8b6WMoH{n)co4F;30-|lu`P`DYi_n?bVbnM#l2Fd%_Sj(jL{UI?TBN7^ zp@Q0(K-PTz>Y}Abj~yGQW54{q&uiDc_S<~<#qcx>c4%UFJA;mjRXi5B)Ixa*VGt5o z?pQ@?IRK-dDu+^tyyG99dh7i8x88bd?UL@Sb1s7{IyK)J(LjwXKBX`=AP^^zQ!4&V z7W?RBS56LYIeq5L^wFae69?Tk(<6qY@U~AEaj@3G{@wO~u*t(GPM-YkAAB6ci3)NV ztnoyj!u}_BpikJ#*u^mPrm!Y74nq0bK>u^Tx$?>wX9@`r{RzLH%0vZi568E#AL1*E zhz`FpV>teaKgXXd!pDz`(JUrXI7VoYjEZVp6!hWeF*{e-t6~t^2F5tXL)B&^CF*f% zWR=@qAag*(P9yO`y|1E!h%mWtl3CWfSWh7`<`*iNOSj*25DcOMP=u z2U39wU%qfi(Cw88V&|f%#pBI4DfE_^9I4Qh<8LOCv#X}!kRx4F(60tQCVxsznW^Q4 zga8AcGCq|6rI8k*$ddx%LQsxJw(xE$7m0~1hNYQ$8$nI^p=!?spbG!WKgXxg*B-s> zimCC5$;rce_w64Z-mz)(7TN>ml2e>t8B=MmVLEVXdivpr*z> z1~TPPYNX6H*htTvd*jU6vuDnneSX2BJ|D$n?t+0q`Hli{<)?*Kit$PLk-60~pZwJ6 zsp-?FPn&)lpE$UC&)(tfI~@DjbkW(59Iv4rBfIE;u)WW}fbERCG)5AIA%)&u*sSQOgOC)nA+r zG?M~E1ZZiwMitO*8|V(V3u4vKo`-2CXd*y%A0T@fmQW4w7YWl zQ?oN)CVMj%5+EjS$}x}@;LBszsNPIwV2<&SEB+q46H64xqFi?um~RaIm<+`R%7dpA zBNeSxep4tcB~_6n6bAU1`>TM#*+%TNkRBCGDJDKQiit?!6Frvc+_5Pq(G*`%xoHZz z6f)Wj=q$b$KE-}H!Y_CKIm|~3QMHf&@pHF6{v8tqN5{tPv0wgN^h?ffew~ZX#2DI^ zpE`bIeEf;u|HA~75AzR+gJkHCk`U|j~^jvqhqFMsic45sN70Yz9-$Qk^iQ!A;6RE1u~y&C%hLO1qm>`>fh z4(b<3?bBbs~!7kxH6zV zy4?0ZhN$p1(97M%&i07+imh+%u67aunqR8Sw;ZTu3D5$&C$u0yOAH5cJB)?Rpj{0R z5uiTa58CNKwko@$%UyG^04P5nqlgdUhxzbJU_#ebq%sCF)a23q;%6y1C>*?)v&UjD zHUR&sAV7)0h5dlE3@s*|f#MYM^sGKtbz0nS@cLRGQkbGzi*Rs(cPVsc^@W&l#J-B7 zsoYz=wbJMD6>!uL=3;1z^$cq5GoSd>i4!Le9-7>7#p}f59%DkZOktAxbSsX9!U-l&5lPqYzU0DXG(b&YV4Kc#k~^Yx3~q;UnL>?uOo( zGsr@p6-Hh}Zq(iIWf5c=ej4b1Uw!SVsi~8vP92$=8XFtmwR?}<_-Am-yUKoWybRN_ z2ZS9MJ#u7fa%3mAu#f=7Z-=kejA}39?_^PLC}N?4VjQ~Sc&QLIEmH1rhzk{He6M)m z@cxDVn?*ziJ}l5_6rKmHlVBL5N-SomJ7+TW6`c>?kNcV5`T`oK>i_t**c-|=u+w6E zRyR??LBLY!t@xk>l2vVWQ5Ve=eX@EN(h0lDiVB};KWHz(^t%(fdg%bv{QR$c2OoP5 zyjOs_D|WloMRv`*-S=k!tpW=Ks9ehlP>B|FRF~2kdUvgK%iw!xr$tAA^2PA^c8GH% z0kUiK``o6Dg%+&B6866Ga20x$YbBAmGSdVKI&;N94YWhHa?3dL5{-dy;wL(|A|IqMUw?MYCE3%-r2Kfj~+XI=+NZo*!ThSzvC0>XRlfv z5o>M<+HDf)RWaNbg3KcyyyD3}__zu-+^QGn-FfcZ8z)bmGMvm%M!V+A9(Ma)uphec z7?W|gB>ts)?vH5)dU~utD7wjLpoTT39T})iILdL*ijffAEhc1$Z;7l%!m(E5BbAB> zK9Sq0kYBY~A$c72)g3TwD@BSiE$%nOnVF({+(>@h1=xnd#zg9N%1z?bC5}gN1Mnuu zU=R;6I>h6msBKeDn5u-CyHSl){F-QoOn~V8FFLc&mmT}XUxtme*Uh!k5S4Omh26cm z#zoLL1-95wowkahI(8M9JO4PJ0<#+-y1ft=*~Rd+Zod&CD?n5OWI!rE4$M!1u>xc` zP{WH;Bs&YBBiP&vo<3nFn1PgmScEU_D@i;0dx92-xOE8oo0L2PQ z;*(ePW$Xk+U+`H-ztFd1SCsY|WbiC1k!Av+%AZva#Df*nns^$HjeDjml@npH8^@sz zTUZG9svimsQr+s`Zn@1ZeLv`yzT0EJ-kT_RaXC;B753XD)~8OL9)99U#;iEcR`#rH zudv75RS-l~(n9}!^s*}t4{kl<*pK04`}Q9&-D~*S{sW`gXRqo5;A1;c!5|(}d<7MQ zfAEDb{%qbI8@rbu{Q259PoDhcFaPhxWh-L1FyH^_t@F;EJ9py5Nz+S)knP;HduZG6 zd&z!0XWh7Y^OoW5b`#45J4^-xRWcO29Nh^C>4lUN1Ft$wE> z=#^9lo$mo%r=#F`6__DF3)<^}0J-x}>x=AB81)skIV;@p8GImoZ@r6-*q{U9SM%JP zCqRvwos)BW0_8f8xtc}l1zu`kxMvIb$^|Nik|LEQz8gL$9yaCb=(mNQKhyLUwj`c0 z#b(4USFPfP;eA+mOo~^a(IE%!QExeFYt3g-Q9?H4Y{h#|EUpqZ@^vszvw6J{d-u*jv>>M5**|B4niTBOV ze!gESg_%qtym^Sk8vXsdANiPh#D=BI_WkI&sjb`Ie)|{a&%gcFTj$?=^Q|}S|Gahn z{Q31ux|1l74ECq5zkbf}-O0(r`}dEIjO^OFb$HXJLEi7@JsUDNUYqKp}-1b z`AnFm;93<<6cQBm*7>ib+My^y3MzXX)YQAgXc?zx=pA@Z*Z#R26Pq)rUxgm3-ixtx zreX|*u_}^g5(-q5#Hgxp8&!E6Yo-%i280ACUx#k2h>pUj&9T)#G+|Yn(^Ky<*NSQ< z5g@7o>aKMzsdfYcG~fNdh3+gcdmNZu1y-l6fVd23rQ7qvA|9 zi++_~aFc$2^cteWR{@YpZf_xX|&n%|5Axsx#lhlaNA-o1Bxe8R+3LqSGg zd}-hVALYjxVh}kIj}CuG7S-^#r5iqS*_C^L_@g)8c;nP5x3p^f;GRAE z4D~U6YcBH-Lxu)EdsQD;OOD8N&@!}>?dQ?UuKeL&eQE8t9^9H{6R-UI7r*$$+i&M| z=Z!bsJa_Kg*|V>kH#JW@dGeIG%s3dIkdA#U=utSIJ0b$?$=*QW%^B@FkO_B&V8WKH}pXMn$jE-1lEFm%cJjO}DAF9mA z!x$rsw-7`C-6Vgv0GRYm`B$~727v{!OOPrCG$~XBn&J(NO_z*K^bEYdMj`AsZbqep z-=ZI)RT9M-fv$jrc+geet5{Gg?}YSTEfl|XCRi8V9Tp$(}$@~AroF;J3$jR9b`iRTR!B%WhIWPfq;6T!^1RRh# zx-upXrHLm}JYX>k5%wyLK7TsVK2Lz?YYJ|HGq|URkP~5F{zPyd3z0y8(2)XTV-n^G zP#?T$po#Fr{Ny=b*Ttvu(unlSUW$zy0g<66zb)N|x6Nc%0S9Yf9tn4#hf-@*@9}*U z%Hx%JveHXQq!Cl3`-`kt4Ra*fe8!c*o%2R>Lzk zZ{BJeW`g~|XRhk;riFHxy47mtp-+F}Q!m_h$HrwVCVsy5?+`Q)D!&7D)4<4K}Ou}xmJbmo{JiK7Fha+Y`$6PhizI_LF?AWWLud$AaQSsTUHCkdV;lo?&D_K7tmD&Wqs5oHE z0~caG21P{96ud9MCejG7OpF@*S2RD2DGf#{#wEws+Zj%jO zH>!v=kUXSc7|VhH<^xkeX{Jq*0MV%zRC3ejcjQ^^7G@bvvceSrEw`kl+HEdZ$Gp_- z1Jq3f$e(-~2$1>TMU{?)?r4lfhA34#mwNf9+wG!AvtU+GqGj-o0MSHPud6(=r;*j? zxGUFw635i2(W%TJ(RD+{FT+3ES^RzUPs~|U=-d>za1sv#_I^Z@(ZQ6Kz;F;7Ys}db zX+TUkFo8p7a98kr@!O)LJcT=Bn^OrrNItl`m==WA!b4M5M1fEWHTP5Ksm2a)cmI9YBxRQ9O-eb@-|98vdPuQjJqvInZy9Nh`=-{VI&STz5 zK;`om4DBEtXlm-{sZ*y7Zy101m1n>3MMWZGkKnOZc(^uPSzufDWt*~)a7I>JRN96KS(c30>V2+J(hZTLp(QnUu+DLA?yKxU{Y60 zFn#q@k4GoaQ#n!zv>ET#P(l~q!QNTS6)5(@=!fAW$p>N>A+eG(_Z<^SG|j7oQMF?w#>8y%x;00uYS)D!B|Gi;Hd`4t$}9(w6N0Q zYJkjtTT#gBLQAS0-L*N(s-5n#r9+1Ota5W{y^a8_@&u@l4jv-`3N}R~kt%h{6>STI zJfq<=ehk<=8N}1HEP4lLpsw-VjUq=J4ik{nkWF(?=V8V>=wQ!U0urDoB%}D5`V2`S zQQl_HuN6gW_}rq8XQ}1%r@sO(32ZFVKNJgL^1=DN>MI2Y%6am>WoiOiol=JSS)1`N zhiMSgnvg?8ou7K;AcGf7yiOCh867wQSY+5j@NM{PGE5Ho4y0b9cK-99|D|2}esGeG z{c>W!ds+qZZgU{gfeb%5e0a*dsi6^uQXJX3?Zw;geDv}U_ZQ{gDJwnxPiS=xOhtbA z%qKrJ^1Y`F^)XDvFbosF4K*>Wi;8}Hd5xu&zC>ww*RDMi69>0E{f`@Z`$u1T`EB<< z=g+J8th0u+nKnCt=h)QL^x?xt4jq~_KO7qyKX71l-@XHe=$Km>j%6OSefx-cSwkbt zWtgA&(0r%y>CYJid-Q`>jBnUv_!Cznxnth#8MnU;!|g<%jdVbm;caH54(%Ahz?1q( zivECyBEqS_i5C)`fSgfCR#=CeBhX)@DMblM0~CVHOGiOzE=pD#QbTHjPSb$T8F_d% zfL@K&5tR~WvfRRSS2{zIj1y9-uP|zGLaPv!sRPH3%ojZHgdq0-;Uv!f1O^}`)O3Q~ zkm^?hC>LglDa1R?0;PhRLR6&-sgjOaXgLtwI8u1H5Lkf?;BPh{YA9aIBTJJ=wCfL@ z{cg7&^d&cRGU+P1+Uxlmc*|Sd`mIU_omWT%XjyHJAwUaCRlDTNias3+D)s*d00960 z?0xBvW!G^Z{|T}Cy?fv59)7V+MM4ljk!<;k0YiXbN3z6-v5){kU?g7x%W{Mmuo5kt zeP8;$dv8-#v`~^GJCSKi7G#TdVhv~QeWrV+dzPMkhBF*e;$l)kKINRMQ&qn@_cg^h zb~q%OIBfL1zVF_1&rAeQ6(8PxWLk3c*0);VSp+K z{V@gzwotap+vrtM^F~+VEb4mAmaI~6Z@i_m1%dRyM&C6NAUhnljoAliTD5qK#&gaY z;KjHlH*T=(vJ14?t06Z7kisp#7T<%?Guv|bL?mx&l&vx{4jQ&>6tp>})z0t(Xi&^s z8z?AoZDcl023{L)so0esB8Rs6m(Sd$vR^@i&T-kVw^|+kePf{c0PF%9AV%cobI;v< z;e{6iya+Jp_1AxT;k$o+^mAYM;}3n9R(l_3-}cui@%Pn#^pF4IxBlJAAAbA(rS;cd zdp+iN{>e`QSP3vCAdK*=fJ?~jwa5-8Ehb9tp2g+m^OrAQVN4cq$xD8Ef+xJo%F6kG6~g_)t1T=n&Cf3e^bp=OJS$+D@H0$h_-lYi^@o4`%kTTZ zrDuDK7=cqIPnwJ-w5cI`29#j}{IT+uMg1?DJb2*J%ply)Xw zYB46K!N{C0NASCC2;!tG1{f*F(A%OSMWI6mzjE`&Q%4Tav}xc>etPNZ^hgVl=w7gB z3Jj1<+=i|8^ z>Va}H0HA{<0U$mL7UQ530HTWX5diVy0{~(~Rukf(%7`=v>35qLoj=F%w7i?T$r}hg zL0q314Vl9=a|6}h7^+1&;10*_+V)a8D+>6GY*XqBAbyCBU z&{Z_uBH{54wL~eQC7Qou|B)Yl>eKh`J%9Du^`Ld;7tWkIJ3s)J?cEg3el#0JXw`7`hM?cMkb14RJu;~N;vk= z2l%6urD3XWqk0DM#CY)~g}5 z5+yc93rzzfj`F#Jc%w#w?zJa2#R^#@RyFf5)L<32l~nf1!cpZgJ*_T^0cwO*X~LB; z;CKt4fj>f3z&H~$)xiiDND?730E+e9sS+v```T0VcNhKS0%HKQZM+)`!jA<2RP2ea zvi|m!YwDleXDpUGS{*Xxy1>XMH@$P47m--Qz|8WeYdH2|tdXf=#=@ zSMpQ7#Qr9DkUfR&Q0p6Y?TxGz@}}~Oc0lho-J7(xDD4yeFpW zpADcP0Ehr4*48dwUcVZkM!+0*?>#RZ%*!vo{7L{ce1QD5*Iti@$mPHI&(~fP|J185 zQ2_D_Fa9{vD$m`$84GV*zj!G^pMX>XMwyut02nVVY-Hw@r_;Z6WmVW#-zTBJRD>qvdgEry%Km%V)D z^7@sF7cZZSsScNCC>rU3LO(Dvn#(&LiJ$-4QzofUYRL*`(T5TvNrwIwa{5f7M6w;{ zx2o=I+o2#vRLEpf!uD)Afl^3&==L~B@9dvRP;`2E4|`5cWG|?1k)9aUdFtCp2^PeV8!WFfki#lA~4?p7(tEp}; zfRONWK(OR+Kq=i=3H4w%p4>VZkWh4F_4jtlJ)J@^(5`N|Gqg@G0-z@%04lbRcXvoO zpcn)lz7s&xSa)Bi40nkw+?N0lW1yH7y2Djii^H8Fb%OfZNLh@~(P5Wuk@$My_o2KG zBcxP7gP>Aa)&pwsnuK;IDxR1)4e8=IUQ~CC26~Guqsf{t4t)sQBMdrarVf{dUn=MW z?VsKNo>j}mabzRgCOEpk1zRKFG(uyVRO(wvPRd>d@5S%JZ^|u#S?Oo$7{3KQCH9b4 zi9LvTWJc&3 zNMBFmLqBz~g`WeN5qViD-a^j}cX&1(eYdh-$BqY$c>JB$H0NF{K|W6~C}5A(wSYX< zuLL9%S(rNk$lSdb;n4jT=nVObFaDVS`$_me{3Co2{ZsevYXI_%8Fk*^%b_iuIh)|l{6gqu=xMklTo&eq;LfQm zKj9m{FPB>n_YZFxUiI9$)d2knna#gJ-`?_RqJnO-S|BXU#kYU;L%N-t6dX!xUN)dG zAEq-zQ?i;AL1egL3*1eF0PV6U327JW7B-Hd&k~!YM5%kcXOfC!T3t?P4`Z)NFKu)K zqS7UKl7uSVoCR7E4kB&vH50+0J34{0zKDW8civ6#lwrK)uNTfc6jo+D+M>cM{Io(J6KW095oI+8WSL z_;&K`s6`blNs!!HEB7ywN%0AeMV1|pJFHgJV)NF1g_ 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 Ag#Z8m literal 0 HcmV?d00001 diff --git a/titanium/examples/mobile/chat-example-app/Resources/iphone/appicon.png b/titanium/examples/mobile/chat-example-app/Resources/iphone/appicon.png new file mode 100644 index 0000000000000000000000000000000000000000..ac74d27396033c13c6526790d6e7e56b05fdc7b8 GIT binary patch literal 4275 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 0 + && origin.replace( + 'pubsub', 'ps' + ( + failover ? uuid().split('-')[0] : + (++ori < max? ori : ori=1) + ) ) || origin; + } +})(); + +/** + * UPDATER + * ======= + * var timestamp = unique(); + */ +function updater( fun, rate ) { + var timeout + , last = 0 + , runnit = function() { + if (last + rate > rnow()) { + clearTimeout(timeout); + timeout = setTimeout( runnit, rate ); + } + else { + last = rnow(); + fun(); + } + }; + + return runnit; +} + +/** + * GREP + * ==== + * var list = grep( [1,2,3], function(item) { return item % 2 } ) + */ +function grep( list, fun ) { + var fin = []; + each( list || [], function(l) { fun(l) && fin.push(l) } ); + return fin +} + +/** + * SUPPLANT + * ======== + * var text = supplant( 'Hello {name}!', { name : 'John' } ) + */ +function supplant( str, values ) { + return str.replace( REPL, function( _, match ) { + return values[match] || _ + } ); +} + +/** + * timeout + * ======= + * timeout( function(){}, 100 ); + */ +function timeout( fun, wait ) { + return setTimeout( fun, wait ); +} + +/** + * uuid + * ==== + * var my_uuid = uuid(); + */ +function uuid(callback) { + var u = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, + function(c) { + var r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8); + return v.toString(16); + }); + if (callback) callback(u); + return u; +} + +/** + * EACH + * ==== + * each( [1,2,3], function(item) { } ) + */ +function each( o, f ) { + if ( !o || !f ) return; + + if ( typeof o[0] != 'undefined' ) + for ( var i = 0, l = o.length; i < l; ) + f.call( o[i], o[i], i++ ); + else + for ( var i in o ) + o.hasOwnProperty && + o.hasOwnProperty(i) && + f.call( o[i], i, o[i] ); +} + +/** + * MAP + * === + * var list = map( [1,2,3], function(item) { return item + 1 } ) + */ +function map( list, fun ) { + var fin = []; + each( list || [], function( k, v ) { fin.push(fun( k, v )) } ); + return fin; +} + +/** + * ENCODE + * ====== + * var encoded_path = encode('path'); + */ +function encode(path) { + return map( (encodeURIComponent(path)).split(''), function(chr) { + return "-_.!~*'()".indexOf(chr) < 0 ? chr : + "%"+chr.charCodeAt(0).toString(16).toUpperCase() + } ).join(''); +} + +/** + * Generate Subscription Channel List + * ================================== + * generate_channel_list(channels_object); + */ +function generate_channel_list(channels) { + var list = []; + each( channels, function( channel, status ) { + if (status.subscribed) list.push(channel); + } ); + return list.sort(); +} + +// PUBNUB READY TO CONNECT + function ready() { timeout( function() { + if (READY) return; + READY = 1; + each( READY_BUFFER, function(connect) { connect() } ); + }, SECOND ); } + +function PN_API(setup) { + var SUB_WINDOWING = +setup['windowing'] || DEF_WINDOWING + , SUB_TIMEOUT = (+setup['timeout'] || DEF_SUB_TIMEOUT) * SECOND + , KEEPALIVE = (+setup['keepalive'] || DEF_KEEPALIVE) * SECOND + , PUBLISH_KEY = setup['publish_key'] || '' + , SUBSCRIBE_KEY = setup['subscribe_key'] || '' + , SSL = setup['ssl'] ? 's' : '' + , ORIGIN = 'http'+SSL+'://'+(setup['origin']||'pubsub.pubnub.com') + , STD_ORIGIN = nextorigin(ORIGIN) + , SUB_ORIGIN = nextorigin(ORIGIN) + , CONNECT = function(){} + , PUB_QUEUE = [] + , SUB_CALLBACK = 0 + , SUB_CHANNEL = 0 + , SUB_RECEIVER = 0 + , SUB_RESTORE = 0 + , SUB_BUFF_WAIT = 0 + , TIMETOKEN = 0 + , CHANNELS = {} + , xdr = setup['xdr'] + , _is_online = setup['_is_online'] || function() { return 1; } + , jsonp_cb = setup['jsonp_cb'] || function(){ return 0; } + , db = setup['db'] || {'get': function(){}, 'set': function(){}} + , UUID = setup['uuid'] || ( db && db['get'](SUBSCRIBE_KEY+'uuid') || ''); + + + + function publish(next) { + if (next) PUB_QUEUE.sending = 0; + if (PUB_QUEUE.sending || !PUB_QUEUE.length) return; + PUB_QUEUE.sending = 1; + xdr(PUB_QUEUE.shift()); + } + + function each_channel(callback) { + each( generate_channel_list(CHANNELS), function(channel) { + var chan = CHANNELS[channel]; + if (!chan) return; + callback(chan); + } ); + } + + // Announce Leave Event + + + var SELF = { + + '_reset_offline' : function() { + SUB_RECEIVER && SUB_RECEIVER(1); + }, + + 'LEAVE' : function( channel, blocking ) { + var data = { 'uuid' : UUID } + , origin = nextorigin(ORIGIN) + , jsonp = jsonp_cb(); + + // Prevent Leaving a Presence Channel + if (channel.indexOf(PRESENCE_SUFFIX) > 0) return; + + if (jsonp != '0') data['callback'] = jsonp; + + xdr({ + blocking : blocking || SSL, + timeout : 2000, + callback : jsonp, + data : data, + url : [ + origin, 'v2', 'presence', 'sub_key', + SUBSCRIBE_KEY, 'channel', encode(channel), 'leave' + ] + }); + }, + /* + PUBNUB.history({ + channel : 'my_chat_channel', + limit : 100, + callback : function(history) { } + }); + */ + 'history' : function( args, callback ) { + var callback = args['callback'] || callback + , count = args['count'] || args['limit'] || 100 + , reverse = args['reverse'] || "false" + , err = args['error'] || function(){} + , channel = args['channel'] + , start = args['start'] + , end = args['end'] + , params = {} + , jsonp = jsonp_cb(); + + // Make sure we have a Channel + if (!channel) return error('Missing Channel'); + if (!callback) return error('Missing Callback'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + params['stringtoken'] = 'true'; + params['count'] = count; + params['reverse'] = reverse; + + if (jsonp) params['callback'] = jsonp; + if (start) params['start'] = start; + if (end) params['end'] = end; + + // Send Message + xdr({ + callback : jsonp, + data : params, + success : function(response) { callback(response) }, + fail : err, + url : [ + STD_ORIGIN, 'v2', 'history', 'sub-key', + SUBSCRIBE_KEY, 'channel', encode(channel) + ] + }); + }, + + /* + PUBNUB.replay({ + source : 'my_channel', + destination : 'new_channel' + }); + */ + 'replay' : function(args) { + var callback = callback || args['callback'] || function(){} + , source = args['source'] + , destination = args['destination'] + , stop = args['stop'] + , start = args['start'] + , end = args['end'] + , reverse = args['reverse'] + , limit = args['limit'] + , jsonp = jsonp_cb() + , data = {} + , url; + + // Check User Input + if (!source) return error('Missing Source Channel'); + if (!destination) return error('Missing Destination Channel'); + if (!PUBLISH_KEY) return error('Missing Publish Key'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + // Setup URL Params + if (jsonp != '0') data['callback'] = jsonp; + if (stop) data['stop'] = 'all'; + if (reverse) data['reverse'] = 'true'; + if (start) data['start'] = start; + if (end) data['end'] = end; + if (limit) data['count'] = limit; + + // Compose URL Parts + url = [ + STD_ORIGIN, 'v1', 'replay', + PUBLISH_KEY, SUBSCRIBE_KEY, + source, destination + ]; + + // Start (or Stop) Replay! + xdr({ + callback : jsonp, + success : function(response) { callback(response) }, + fail : function() { callback([ 0, 'Disconnected' ]) }, + url : url, + data : data + }); + }, + + /* + PUBNUB.time(function(time){ }); + */ + 'time' : function(callback) { + var jsonp = jsonp_cb(); + xdr({ + callback : jsonp, + timeout : SECOND*5, + url : [STD_ORIGIN, 'time', jsonp], + success : function(response) { callback(response[0]) }, + fail : function() { callback(0) } + }); + }, + + /* + PUBNUB.publish({ + channel : 'my_chat_channel', + message : 'hello!' + }); + */ + 'publish' : function( args, callback ) { + var callback = callback || args['callback'] || function(){} + , msg = args['message'] + , channel = args['channel'] + , jsonp = jsonp_cb() + , url; + + if (!msg) return error('Missing Message'); + if (!channel) return error('Missing Channel'); + if (!PUBLISH_KEY) return error('Missing Publish Key'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + // If trying to send Object + msg = JSON['stringify'](msg); + + // Create URL + url = [ + STD_ORIGIN, 'publish', + PUBLISH_KEY, SUBSCRIBE_KEY, + 0, encode(channel), + jsonp, encode(msg) + ]; + + // Queue Message Send + PUB_QUEUE.push({ + callback : jsonp, + timeout : SECOND*5, + url : url, + data : { 'uuid' : UUID }, + success : function(response){callback(response);publish(1)}, + fail : function(){callback([0,'Failed',msg]);publish(1)} + }); + + // Send Message + publish(); + }, + + /* + PUBNUB.unsubscribe({ channel : 'my_chat' }); + */ + 'unsubscribe' : function(args) { + var channel = args['channel']; + + TIMETOKEN = 0; + SUB_RESTORE = 1; + + // Prepare Channel(s) + channel = map( ( + channel.join ? channel.join(',') : ''+channel + ).split(','), function(channel) { + return channel + ',' + channel + PRESENCE_SUFFIX; + } ).join(','); + + // Iterate over Channels + each( channel.split(','), function(channel) { + if (READY) SELF['LEAVE']( channel, 0 ); + CHANNELS[channel] = 0; + } ); + + // ReOpen Connection if Any Channels Left + if (READY) CONNECT(); + }, + + /* + PUBNUB.subscribe({ + channel : 'my_chat' + callback : function(message) { } + }); + */ + 'subscribe' : function( args, callback ) { + var channel = args['channel'] + , callback = callback || args['callback'] + , callback = callback || args['message'] + , connect = args['connect'] || function(){} + , reconnect = args['reconnect'] || function(){} + , disconnect = args['disconnect'] || function(){} + , presence = args['presence'] || 0 + , noheresync = args['noheresync'] || 0 + , backfill = args['backfill'] || 0 + , sub_timeout = args['timeout'] || SUB_TIMEOUT + , windowing = args['windowing'] || SUB_WINDOWING + , restore = args['restore']; + + // Restore Enabled? + if (restore) SUB_RESTORE = 1; + + TIMETOKEN = 0; + + // Make sure we have a Channel + if (!channel) return error('Missing Channel'); + if (!callback) return error('Missing Callback'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + // Setup Channel(s) + each( (channel.join ? channel.join(',') : ''+channel).split(','), + function(channel) { + var settings = CHANNELS[channel] || {}; + + // Store Channel State + CHANNELS[SUB_CHANNEL = channel] = { + name : channel, + connected : settings.connected, + disconnected : settings.disconnected, + subscribed : 1, + callback : SUB_CALLBACK = callback, + connect : connect, + disconnect : disconnect, + reconnect : reconnect + }; + + // Presence Enabled? + if (!presence) return; + + // Subscribe Presence Channel + SELF['subscribe']({ + 'channel' : channel + PRESENCE_SUFFIX, + 'callback' : presence + }); + + // Presence Subscribed? + if (settings.subscribed) return; + + // See Who's Here Now? + if (noheresync) return; + SELF['here_now']({ + 'channel' : channel, + 'callback' : function(here) { + each( 'uuids' in here ? here['uuids'] : [], + function(uid) { presence( { + 'action' : 'join', + 'uuid' : uid, + 'timestamp' : rnow(), + 'occupancy' : here['occupancy'] || 1 + }, here, channel ); } ); + } + }); + } ); + + // Test Network Connection + function _test_connection(success) { + if (success) { + // Begin Next Socket Connection + timeout( _connect, SECOND ); + } + else { + // New Origin on Failed Connection + STD_ORIGIN = nextorigin( ORIGIN, 1 ); + SUB_ORIGIN = nextorigin( ORIGIN, 1 ); + + // Re-test Connection + timeout( function() { + SELF['time'](_test_connection); + }, SECOND ); + } + + // Disconnect & Reconnect + each_channel(function(channel){ + // Reconnect + if (success && channel.disconnected) { + channel.disconnected = 0; + return channel.reconnect(channel.name); + } + + // Disconnect + if (!success && !channel.disconnected) { + channel.disconnected = 1; + channel.disconnect(channel.name); + } + }); + } + + // Evented Subscribe + function _connect() { + var jsonp = jsonp_cb() + , channels = generate_channel_list(CHANNELS).join(','); + + // Stop Connection + if (!channels) return; + + // Connect to PubNub Subscribe Servers + SUB_RECEIVER = xdr({ + timeout : sub_timeout, + callback : jsonp, + fail : function() { SELF['time'](_test_connection) }, + data : { 'uuid' : UUID }, + url : [ + SUB_ORIGIN, 'subscribe', + SUBSCRIBE_KEY, encode(channels), + jsonp, TIMETOKEN + ], + success : function(messages) { + if (!messages) return timeout( _connect, windowing ); + + // Connect + each_channel(function(channel){ + if (channel.connected) return; + channel.connected = 1; + channel.connect(channel.name); + }); + + // Restore Previous Connection Point if Needed + TIMETOKEN = !TIMETOKEN && + SUB_RESTORE && + db['get'](SUBSCRIBE_KEY) || messages[1]; + + + if (backfill) { + Timetoken = 10000; + backfill = 0; + } + + // Update Saved Timetoken + db['set']( SUBSCRIBE_KEY, messages[1] ); + + // Route Channel <---> Callback for Message + var next_callback = (function() { + var channels = (messages.length>2?messages[2]:'') + , list = channels.split(','); + + return function() { + var channel = list.shift()||''; + return [ + (CHANNELS[channel]||{}) + .callback||SUB_CALLBACK, + (channel||SUB_CHANNEL) + .split(PRESENCE_SUFFIX)[0] + ]; + }; + })(); + + each( messages[0], function(msg) { + var next = next_callback(); + if (!CHANNELS[next[1]].subscribed) return; + next[0]( msg, messages, next[1] ); + } ); + + timeout( _connect, windowing ); + } + }); + } + + CONNECT = function() { + // Close Previous Subscribe Connection + SELF['_reset_offline'](); + + // Begin Recursive Subscribe + clearTimeout(SUB_BUFF_WAIT); + SUB_BUFF_WAIT = timeout( _connect, 100 ); + }; + + // Reduce Status Flicker + if (!READY) return READY_BUFFER.push(CONNECT); + + // Connect Now + CONNECT(); + }, + + 'here_now' : function( args, callback ) { + var callback = args['callback'] || callback + , err = args['error'] || function(){} + , channel = args['channel'] + , jsonp = jsonp_cb() + , data = null; + + // Make sure we have a Channel + if (!channel) return error('Missing Channel'); + if (!callback) return error('Missing Callback'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + if (jsonp != '0') { + data = {}; + data['callback'] = jsonp; + } + + xdr({ + callback : jsonp, + data : data, + success : function(response) { callback(response) }, + fail : err, + url : [ + STD_ORIGIN, 'v2', 'presence', + 'sub_key', SUBSCRIBE_KEY, + 'channel', encode(channel) + ] + }); + }, + + // Expose PUBNUB Functions + 'xdr' : xdr, + 'ready' : ready, + 'db' : db, + 'uuid' : uuid, + 'each' : each, + 'map' : map, + 'grep' : grep, + 'supplant' : supplant, + 'now' : rnow, + 'unique' : unique, + 'updater' : updater, + 'poll_online' : function() { + _is_online() || SELF['_reset_offline'](); + timeout( SELF['poll_online'], SECOND ); + }, + 'poll_online2' : function() { + SELF['time'](function(success){ + success || SELF['_reset_offline'](); + timeout( SELF['poll_online2'], KEEPALIVE ); + }) + } + }; + if (!UUID) UUID = SELF['uuid'](); + db['set']( SUBSCRIBE_KEY + 'uuid', UUID ); + + timeout( SELF['poll_online'], SECOND ); + timeout( SELF['poll_online2'], KEEPALIVE ); + + return SELF; +} +/* --------------------------------------------------------------------------- +--------------------------------------------------------------------------- */ + +/* --------------------------------------------------------------------------- +PubNub Real-time Cloud-Hosted Push API and Push Notification Client Frameworks +Copyright (c) 2011 PubNub Inc. +http://www.pubnub.com/ +http://www.pubnub.com/terms +--------------------------------------------------------------------------- */ + +/* --------------------------------------------------------------------------- +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +--------------------------------------------------------------------------- */ +(function(){ + +/** + * UTIL LOCALS + */ +var NOW = 1 +, URLBIT = '/' +, MAGIC = /\$?{([\w\-]+)}/g +, PARAMSBIT = '&' +, ANDROID = Ti.Platform.name.toLowerCase().indexOf('android') >= 0 +, XHRTME = 310000; + + + +/** + * LOCAL STORAGE OR COOKIE + */ +var db = (function(){ + return { + get : function(key) { + Ti.App.Properties.getString(''+key); + }, + set : function( key, value ) { + Ti.App.Properties.setString( ''+key, ''+value ); + } + }; +})(); + + +/** + * Titanium TCP Sockets + * ==================== + * xdr({ + * url : ['http://www.blah.com/url'], + * success : function(response) {}, + * fail : function() {} + * }); + */ +function xdr_tcp(setup) { + + var url = setup.url.join(URLBIT); + if (setup.data) { + var params = []; + url += "?"; + for (key in setup.data) { + params.push(key+"="+setup.data[key]); + } + url += params.join(PARAMSBIT); + } + log(url); + var body = [] + , data = "" + , rbuffer = Ti.createBuffer({ length : 2048 }) + , wbuffer = Ti.createBuffer({ value : "GET " + url + " HTTP/1.0\n\n"}) + , failed = 0 + , fail = function() { + if (failed) return; + failed = 1; + (setup.fail || function(){})(); + } + , success = setup.success || function(){} + , sock = Ti.Network.Socket.createTCP({ + host : url.split(URLBIT)[2], + port : 80, + mode : Ti.Network.READ_WRITE_MODE, + timeout : XHRTME, + error : fail, + connected : function() { + sock.write(wbuffer); + read(); + } + }); + + function read() { + Ti.Stream.read( sock, rbuffer, function(stream) { + if (+stream.bytesProcessed > -1) { + data = Ti.Codec.decodeString({ + source : rbuffer, + length : +stream.bytesProcessed + }); + + body.push(data); + rbuffer.clear(); + + return timeout( read, 1 ); + } + + try { + data = JSON['parse']( + body.join('').split('\r\n').slice(-1) + ); + } + catch (r) { + return fail(); + } + + sock.close(); + success(data); + } ); + } + + try { sock.connect() } + catch(k) { return fail() } +} + +/** + * Titanium XHR Request + * ============================== + * xdr({ + * url : ['http://www.blah.com/url'], + * success : function(response) {}, + * fail : function() {} + * }); + */ +function xdr_http_client( setup ) { + + var url = setup.url.join(URLBIT); + if (setup.data) { + var params = []; + url += "?"; + for (key in setup.data) { + params.push(key+"="+setup.data[key]); + } + url += params.join(PARAMSBIT); + } + var xhr + , finished = function() { + if (loaded) return; + loaded = 1; + + clearTimeout(timer); + + try { response = JSON['parse'](xhr.responseText); } + catch (r) { return done(1); } + + success(response); + } + , complete = 0 + , loaded = 0 + , timer = timeout( function(){done(1)}, XHRTME ) + , fail = setup.fail || function(){} + , success = setup.success || function(){} + , done = function(failed) { + if (complete) return; + complete = 1; + + clearTimeout(timer); + + if (xhr) { + xhr.onerror = xhr.onload = null; + xhr.abort && xhr.abort(); + xhr = null; + } + + failed && fail(); + }; + + // Send + try { + xhr = Ti.Network.createHTTPClient(); + xhr.onerror = function(){ done(1) }; + xhr.onload = finished; + xhr.timeout = XHRTME; + + xhr.open( 'GET', url, true ); + xhr.send(); + } + catch(eee) { + done(0); + return xdr(setup); + } + + // Return 'done' + return done; +} + +/** + * BIND + * ==== + * bind( 'keydown', search('a')[0], function(element) { + * ... + * } ); + */ +function bind( type, el, fun ) { + each( type.split(','), function(etype) { + var rapfun = function(e) { + if (!e) e = window.event; + if (!fun(e)) { + e.cancelBubble = true; + e.returnValue = false; + e.preventDefault && e.preventDefault(); + e.stopPropagation && e.stopPropagation(); + } + }; + + if ( el.addEventListener ) el.addEventListener( etype, rapfun, false ); + else if ( el.attachEvent ) el.attachEvent( 'on' + etype, rapfun ); + else el[ 'on' + etype ] = rapfun; + } ); +} + +/** + * UNBIND + * ====== + * unbind( 'keydown', search('a')[0] ); + */ +function unbind( type, el, fun ) { + if ( el.removeEventListener ) el.removeEventListener( type, false ); + else if ( el.detachEvent ) el.detachEvent( 'on' + type, false ); + else el[ 'on' + type ] = null; +} + +/** + * LOG + * === + * var list = grep( [1,2,3], function(item) { return item % 2 } ) + */ +var log = function(){}; + +/** + * EVENTS + * ====== + * PUBNUB.events.bind( 'you-stepped-on-flower', function(message) { + * // Do Stuff with message + * } ); + * + * PUBNUB.events.fire( 'you-stepped-on-flower', "message-data" ); + * PUBNUB.events.fire( 'you-stepped-on-flower', {message:"data"} ); + * PUBNUB.events.fire( 'you-stepped-on-flower', [1,2,3] ); + * + */ +var events = { + 'list' : {}, + 'unbind' : function( name ) { events.list[name] = [] }, + 'bind' : function( name, fun ) { + (events.list[name] = events.list[name] || []).push(fun); + }, + 'fire' : function( name, data ) { + each( + events.list[name] || [], + function(fun) { fun(data) } + ); + } +}; + +/* =-====================================================================-= */ +/* =-====================================================================-= */ +/* =-========================= PUBNUB ===========================-= */ +/* =-====================================================================-= */ +/* =-====================================================================-= */ + +function PN(setup) { + + + setup['db'] = db; + setup['xdr'] = setup['native_tcp_socket'] ? xdr_tcp : xdr_http_client + var SELF = PN_API(setup); + + SELF['init'] = PN; + + + // Return without Testing + if (setup['notest']) return SELF; + + SELF['ready'](); + return SELF; +} + +typeof module !== 'undefined' && (module.exports = PN) || +typeof exports !== 'undefined' && (exports.PN = PN) || (PUBNUB = PN); + +})(); +})(); diff --git a/titanium/examples/mobile/chat-example-app/manifest b/titanium/examples/mobile/chat-example-app/manifest new file mode 100644 index 000000000..7568ab0e6 --- /dev/null +++ b/titanium/examples/mobile/chat-example-app/manifest @@ -0,0 +1,8 @@ +#appname:Andriod Fix +#publisher:stephen +#url:http://www.pubnub.com/ +#image:appicon.png +#appid:com.pubnub.android +#desc:not specified +#type:ipad +#guid:42667a7c-de7a-4f61-834c-3f0fab1da412 diff --git a/titanium/examples/mobile/chat-example-app/tiapp.xml b/titanium/examples/mobile/chat-example-app/tiapp.xml new file mode 100644 index 000000000..a4d88a012 --- /dev/null +++ b/titanium/examples/mobile/chat-example-app/tiapp.xml @@ -0,0 +1,41 @@ + + + 2.1.3.GA + 327680 + + false + true + true + true + false + + com.pubnub.android + Andriod Fix + 1.0 + stephen + http://www.pubnub.com/ + not specified + 2013 by stephen + appicon.png + false + false + default + false + false + false + true + 42667a7c-de7a-4f61-834c-3f0fab1da412 + + + Ti.UI.PORTRAIT + + + Ti.UI.PORTRAIT + Ti.UI.UPSIDE_PORTRAIT + Ti.UI.LANDSCAPE_LEFT + Ti.UI.LANDSCAPE_RIGHT + + + + + diff --git a/titanium/examples/mobile/detailed-history-example-app/.project b/titanium/examples/mobile/detailed-history-example-app/.project new file mode 100644 index 000000000..0c518198a --- /dev/null +++ b/titanium/examples/mobile/detailed-history-example-app/.project @@ -0,0 +1,17 @@ + + + history-example-app + + + + + + com.appcelerator.titanium.core.builder + + + + + + com.appcelerator.titanium.mobile.nature + + diff --git a/titanium/examples/mobile/detailed-history-example-app/CHANGELOG.txt b/titanium/examples/mobile/detailed-history-example-app/CHANGELOG.txt new file mode 100644 index 000000000..de1e09178 --- /dev/null +++ b/titanium/examples/mobile/detailed-history-example-app/CHANGELOG.txt @@ -0,0 +1 @@ +Place your change log text here. This file will be incorporated with your app at package time. \ No newline at end of file diff --git a/titanium/examples/mobile/detailed-history-example-app/LICENSE b/titanium/examples/mobile/detailed-history-example-app/LICENSE new file mode 100644 index 000000000..0ec894017 --- /dev/null +++ b/titanium/examples/mobile/detailed-history-example-app/LICENSE @@ -0,0 +1,219 @@ +Copyright 2009 Appcelerator, Inc. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + (or the full text of the license is below) + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + +2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + +3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + +4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + +5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + +6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + +8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + +APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + +Copyright [yyyy] [name of copyright owner] + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. \ No newline at end of file diff --git a/titanium/examples/mobile/detailed-history-example-app/LICENSE.txt b/titanium/examples/mobile/detailed-history-example-app/LICENSE.txt new file mode 100644 index 000000000..4124b1d32 --- /dev/null +++ b/titanium/examples/mobile/detailed-history-example-app/LICENSE.txt @@ -0,0 +1 @@ +Place your license text here. This file will be incorporated with your app at package time. \ No newline at end of file diff --git a/titanium/examples/mobile/detailed-history-example-app/README b/titanium/examples/mobile/detailed-history-example-app/README new file mode 100644 index 000000000..cb993a658 --- /dev/null +++ b/titanium/examples/mobile/detailed-history-example-app/README @@ -0,0 +1,18 @@ +Welcome to your Appcelerator Titanium Mobile Project + +This is a blank project. Start by editing your application's app.js to +make your first mobile project using Titanium. + + + +---------------------------------- +Stuff our legal folk make us say: + +Appcelerator, Appcelerator Titanium and associated marks and logos are +trademarks of Appcelerator, Inc. + +Titanium is Copyright (c) 2009-2010 by Appcelerator, Inc. All Rights Reserved. + +Titanium is licensed under the Apache Public License (Version 2). Please +see the LICENSE file for the full license. + diff --git a/titanium/examples/mobile/detailed-history-example-app/Resources/KS_nav_ui.png b/titanium/examples/mobile/detailed-history-example-app/Resources/KS_nav_ui.png new file mode 100644 index 0000000000000000000000000000000000000000..28976c8680a455227bab8102bcc624492c0db793 GIT binary patch literal 1158 zcmV;11bO?3P)H=jVHj@bY}4s!uFxD4<6p{oHM@jocDX*=l#BK5|_($=pZ)k&;e~B;vwQ8;vwQ8 z;=h|z><=XpiDGzo_<>9&)9>u;NT_i60-pV`zWUz36M*L0+S(c~EiJu)zTID8l=L6e-EoU^&P$@$6wYGkES=}uc)+h@64z7RB3@zE6B z-Q5oo5)!Tup@M>fGTh50MQ}JAMM+6XkHsXXPN%y*KR?g2)Nu`7enz;6jEp=6lMIAS zPfu&b4zjqosNLS)ma`i7y)-9=^s<=VDZ4aB%SI#KZ*0GC9>srSh7GwwJ&p z0^vwh(Nhlv(xDE`YImt;7Ap42%F5QNs;U^M zLsVB+*GsCTR1{}tXXjB7r$9<0R7p=Y5ui{g%qTt!X=!OmEQy;*RqE^OtyF)2kAR6{ zyuZKyEkI0<_!;9XU`S6-zsS_%z$cP3w|ZFJ9{(M>z&A=@5z55zJnvvhoNsP!KAV-5 z)yi>Pl+kFsRa{*BkR-0Dsp)h^M#f!~a&EUB5JeGG<@Vg%oP;IuXsiJ5U}cv`M6_D% zecXFS+Ky_d&(6-y6C;O6>XT3v8B0}(^HdL%cbe{_fXr+*$BP|gZEYgoREKCg5T#vs5pW8K2*R-n z6|Yg?6)lVX@!AVhx_f{xzPD|i1`0b{FeX& Y0Ca~^4o{F=hX4Qo07*qoM6N<$f>;VBfdBvi literal 0 HcmV?d00001 diff --git a/titanium/examples/mobile/detailed-history-example-app/Resources/KS_nav_views.png b/titanium/examples/mobile/detailed-history-example-app/Resources/KS_nav_views.png new file mode 100644 index 0000000000000000000000000000000000000000..885abd90062eaeb06103194926db96dc27e99b04 GIT binary patch literal 1074 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 Law0WC`housunqYH literal 0 HcmV?d00001 diff --git a/titanium/examples/mobile/detailed-history-example-app/Resources/android/images/res-long-land-hdpi/default.png b/titanium/examples/mobile/detailed-history-example-app/Resources/android/images/res-long-land-hdpi/default.png new file mode 100644 index 0000000000000000000000000000000000000000..77519596a6a56480187ec14ae3be3974fafbe2b0 GIT binary patch literal 102971 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�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

pn_r~o>NFk zPHq+#4V{*hOt5$zn<1vcPakci1Vh5I7#^_#MK=P*XXLb{__!G`E3a)~o$ZOUc*IL` z1!YUdU4tVprppSdvOHrKn`AezlHuFF!?<%?6jj0p#-0*l{UH73VG?6{ww88OEh2!r zY5;y5=!JPv=!3ul^#xlMenI`fUeXZ>HA&7=7C6!rC2>SXt_}4cPVm@$K&54pvhiMk%8cps9o^ zR_pTH-?C{D2UZ~04DSO{5oMDg^EH1<#rqfH^NcK{vYUIA#7zpvqr*n(mEftDd%h>L zM70znO_Md66G1Zran>^T#+!Ft96m$cVYE$=4>TRW`pz-$F1ReZXT5)HI(}<1Ie0W^{=G?x+cvY}H5RoG>4Co4p-%&KcWxxfKFZrPnPYP`ZBH3azXZ?8)S;Nij zuIg`s#yZo+fQy`&{1=BuG7?HGC`}}r{BmqE!&ZTdy>aKC((WT1P7Hl?yrS!1i57T6 zf5Y_V_I}+d;@*M3F76~H&!p}qggffP$iT|b1FbxXkU-^xPWMm_z5(yqGI}?9ZEqG z_a2oOAsv^;cM|C|G%210IoAbJ-7c-?^$SaD*)D;rITLw^V9Zi#qCt_|$7CamY(chP z!>Mp>_!Y9t@x!E(U~>Jn&Iz5Q;1Rwby&uZsahNHd3TrZDc~&2e&-N!jpv%3zh&B?z z2dFVUzq+=m=)fG=K@BNU`#CdRpLFr@V_8h;f|1GlxiHW+ObMssRxaeM$njmJ{-}7h z0e#cypl`O*kw99WRo)owJs3)4popz})*-f=I*RKET?8WLY<{*lop2Q(Y1F_>){;#17& zqS^9QLGr=bxHqfN1A6%w-lf#z4R+BU%pQi`htPnG_&(hPm8yM@3})K9^r?~1QFGgyix_c4Cp}aZc zzTB8mc-AY3gu~*lIyvnvbCA@Q8n?M7?e$c`B_=T*jj^j+gj4iPDZ2he48?UYA zV4ebw9t#PciZB}sumn1%k3ntUsWg!vWO;|LQh_gj>35#GLR7f~+5?{dEq1CweUgMq zHbgTRD)hzBcNUW)P(|F?*uBG`wZzWUx;+xGv`A@II~I^`avp@fEGj#3h<4@g>Xl=V zhD0Eouv>Qr4r!fl{!|UPzqr|d%t#NIv>SCp&$;;S&D3(^Wi>uF(yHS=74P1y5KWi(k203!v}8J=UW|

MN`G3pO|KcA=3CLvU;_&iKQWu+4R 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�A%0YN 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 literal 0 HcmV?d00001 diff --git a/titanium/examples/mobile/detailed-history-example-app/Resources/android/images/res-long-land-ldpi/default.png b/titanium/examples/mobile/detailed-history-example-app/Resources/android/images/res-long-land-ldpi/default.png new file mode 100644 index 0000000000000000000000000000000000000000..86e7930b6244d1237a35dd95473de19b68ad2736 GIT binary patch literal 34784 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

dGl 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 literal 0 HcmV?d00001 diff --git a/titanium/examples/mobile/detailed-history-example-app/Resources/android/images/res-long-port-ldpi/default.png b/titanium/examples/mobile/detailed-history-example-app/Resources/android/images/res-long-port-ldpi/default.png new file mode 100644 index 0000000000000000000000000000000000000000..2ab10df9a193992ff5f87a89c9214b58693dedb9 GIT binary patch literal 47541 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Ʋ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 uuYiUwmnz{3^z<1d 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 Worpo_T9XAJJ_<6bAFHHHgZ~FyQ6F0X literal 0 HcmV?d00001 diff --git a/titanium/examples/mobile/detailed-history-example-app/Resources/android/images/res-notlong-land-hdpi/default.png b/titanium/examples/mobile/detailed-history-example-app/Resources/android/images/res-notlong-land-hdpi/default.png new file mode 100644 index 0000000000000000000000000000000000000000..77519596a6a56480187ec14ae3be3974fafbe2b0 GIT binary patch literal 102971 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�gtj<3?5ys1}=>F?hZ109;I01&(nA>4K>_7w6^XM%2Hqq>z^u z8jsGEGg<|w9sywdJq-v%9xK0ZwjgfrgoCzXLQ?bd_s%0UN3t*|$-i9bi@qk|Q$e3F zM5O%cB>Pu&X1lpjnc&ixN*hT#{|v??z4{vm|3x7|X1r#DY{9eTwX>0PqCc-S2D-{4 z?WL)Uz4*NY=sc#V{c2I+s)T4)u?TK2*s;o_DUc`_#NF)mQ>Ba@-2uMgBi|*eGVYVT zaW`)hX&uwqSMQ)Zqm&>2m(BlWq$((5L3_u(^G8ZbGA7WmASB&L)^!$m;o>Xt%)qS+ zagt8Mz#0|aUJFcv5#ArbiSA&$FI>E8cHy1?LVBNFyGdZ*Dl0IeE0(n*Fo?rz5CCF! zr)d2_k@u9@R$(`izgAunB7Do?G595 zYxv_SV}6xpK^~l$WRr)K5y46~XF|)UYnns!T8L1RH#w1-&=DppYB4GY~8(kdDd{6EnvXOSS@ZHy2XJ&Ju zy($%fXCp3#OtJBZMEUeb4|W)f9lo}|hp2fa7-g4(@*W?Vj3) z^zVB1PYGm<_ESSG==?4S0YYm0%o_=y%}o2?nz0m0J9|=IgZ|5-`l)rs;{cH{@lNhK zj;jo?74xS~P0O-5vcKR9w zkikmJ%c0j%ew?#$#FFmPf5rhIlCuAvEYF@4pmWBcUrq2i1B}pg{#n&W!iI+x^nb7 zs2Fhk`P1-EnO+L4?8ETLzLO55KfZXH8I?h_MtWgd8aTv~T&(i*TH~4yB8R!_CH5ud zl|Sv}M9nX?DqJ{#_Z{q_y!hO2>g>tCDNR_5PfO{?NRAcCHvp_5v=HWGpwLoKrdEMe z=M~OoNa8*7uO82R1C`+m^#QWy{xGh4gmx!OV|u=q${@gU_&UGlT`4ZPO2$&H3;tz3 z`;PvX#u|?0F{1J}RC`s73;0zGNma8GmK?k48O+T~XL%WVvg7;{o*Z&m#X>K(?+k5h z$FTA5x8*OLre*&q>!s-zS16G#k}KS@X8bJlr5A=RNSxe_2>WN`Ha}i#3y?Y{cAenL zM#Ho=1W~^r&sI2%89-WoAPE69fcSuqi}#I{7*dHShkjmI-P|nwB-lAN>8Q{J104~A z_j?G60#Uu4jR0EP)X>tv*`hU_)+n)?9*4mZj(zpqBS2kT>yf_&`QLI~*kd{mr6RFY zXGk%s)JB#DU{fFA!X@K5a#z&ZoUN(!CO2yaND#J&*G>XhuEpaAFu`jpi>}poPN6&L zK$Mp#`WL<7g+};`AIR<=MX9JXd}wG9=XM$$Zkc)U$wVxINk^rBFP!XZf{$i~4A!X- z5w^}c#=@J?bEBmdKhhNOCcIF8A;OLt`=R{*TX(w_FK{nFAsTbjk8?%ejXR=>y>?fS zIPHbi)08Hg<*F?kiYjT6bj^RW>Qhx=k;_ZEVC;B7j9x$BG%V=_dRpxhO*(-llRG}z z&jGt62|FXrD8mdF>L|Od<7oGWt?dQKr*PRD%w6A}3O@xakX{~KRs??2Ow2dgVl5V8 zmx}>4Em0KNbVkGf=Ru@)UqgG*PCA-jd_zNqIEpI0GC1!vyVNGk!@~3=^ysDjGw}=L z3+Kt@4ts;QEqJSTgeE@=72Ib`5_JMw3F~L~<+cPHDD+`BeZyss+G(xsE#I0~qf>-4 zq(>mI_f0Va=x4j$_C`^WBoMtFQ32aPq{JugYhds$F05g}>BUHmk{O@K6GuSWe5GI0 zgv(znqPFRAxW}RtWyy0{u#EkxZi%GB_zN0l*fE~aLIxwSezx$fwFW1Bq_)y{LID}} z+RMiyogy-mk~~4#z_dun#yUpzmy{1qTqDRiP_3ZaofKRErBnV=E3e{vGvSGz#?fXw z$A~l#eFzYCIul#Y0Gt6=B^IOPMLR&M5IXQ}@j0MpMLxAiFg)_z{>LG|DWofY=UG5Zl+Zq((q7WAN{quL|~3YpaLTIe~(%i(}$)@}aq z(MY7erWD`L11HAFuUOfcUB@jrp9gN;nM(`Z3K1OkW=gF-CW0Bdtn{VWC2@ogTlWvw zabN*oPhr_b+kYcNGuju{L5xL*Bp|cz7Uc&?dx`ZOut6gqW}J~rQL2Ljy;ZDdGMANy z^k{FqSZxENk=Js>#$^GJctCb9CX8)QsjrspocW6+8PH#jC7=cRg&G{$HLrOTF7#W6~kh>_g*VbG5^LQ1izm*0MO=vf7N5y^d<8HnCC*1Y3W z0JX%l`xdgVI$*h3F+gwu?mb$`_oR*fb1D{)MUE zq}{-{XxP6jbu!5NVLo0OvzdpCzxb7Jd_Uq|1G=U-E_x%ag2w=9uff>n{kC*6@JHA~ zU`>Xh&8Cf8bt1VxOO8avLSoymibJ0>?uwcIU^e{DZ}U)O{Ad4g-ic<!%$t_66snham00tG6>@1>ei(nwfvROnsM>BspLz#CxsHB8qQrBGEtX}A*3gN}? zaK_oDO5#_teQ5~I+4{*&#gLX?oe6)t9JAwTZ`JHZ+l;3?LOBb?ogZ+2mN2hqC%$kx z!n-BgJ$HKC2>Qjov{L=uv8d2n-U-j{8EE7I=6Wnr@v9#A4XS8aMgCSkd1`;{ivA#K z=;3px*GtD*P&En`oDwnOQ86%Q4PmJ==;^4hhX!|o@{eb$1I?za{Pd1msY)ATTf=ZA z0TA@HvH+ifH%o9^v+h*$lLTuVoz)K?TODxow#4d)Jr?q_xWdjL7&8&&gRd&UzYM

pn_r~o>NFk zPHq+#4V{*hOt5$zn<1vcPakci1Vh5I7#^_#MK=P*XXLb{__!G`E3a)~o$ZOUc*IL` z1!YUdU4tVprppSdvOHrKn`AezlHuFF!?<%?6jj0p#-0*l{UH73VG?6{ww88OEh2!r zY5;y5=!JPv=!3ul^#xlMenI`fUeXZ>HA&7=7C6!rC2>SXt_}4cPVm@$K&54pvhiMk%8cps9o^ zR_pTH-?C{D2UZ~04DSO{5oMDg^EH1<#rqfH^NcK{vYUIA#7zpvqr*n(mEftDd%h>L zM70znO_Md66G1Zran>^T#+!Ft96m$cVYE$=4>TRW`pz-$F1ReZXT5)HI(}<1Ie0W^{=G?x+cvY}H5RoG>4Co4p-%&KcWxxfKFZrPnPYP`ZBH3azXZ?8)S;Nij zuIg`s#yZo+fQy`&{1=BuG7?HGC`}}r{BmqE!&ZTdy>aKC((WT1P7Hl?yrS!1i57T6 zf5Y_V_I}+d;@*M3F76~H&!p}qggffP$iT|b1FbxXkU-^xPWMm_z5(yqGI}?9ZEqG z_a2oOAsv^;cM|C|G%210IoAbJ-7c-?^$SaD*)D;rITLw^V9Zi#qCt_|$7CamY(chP z!>Mp>_!Y9t@x!E(U~>Jn&Iz5Q;1Rwby&uZsahNHd3TrZDc~&2e&-N!jpv%3zh&B?z z2dFVUzq+=m=)fG=K@BNU`#CdRpLFr@V_8h;f|1GlxiHW+ObMssRxaeM$njmJ{-}7h z0e#cypl`O*kw99WRo)owJs3)4popz})*-f=I*RKET?8WLY<{*lop2Q(Y1F_>){;#17& zqS^9QLGr=bxHqfN1A6%w-lf#z4R+BU%pQi`htPnG_&(hPm8yM@3})K9^r?~1QFGgyix_c4Cp}aZc zzTB8mc-AY3gu~*lIyvnvbCA@Q8n?M7?e$c`B_=T*jj^j+gj4iPDZ2he48?UYA zV4ebw9t#PciZB}sumn1%k3ntUsWg!vWO;|LQh_gj>35#GLR7f~+5?{dEq1CweUgMq zHbgTRD)hzBcNUW)P(|F?*uBG`wZzWUx;+xGv`A@II~I^`avp@fEGj#3h<4@g>Xl=V zhD0Eouv>Qr4r!fl{!|UPzqr|d%t#NIv>SCp&$;;S&D3(^Wi>uF(yHS=74P1y5KWi(k203!v}8J=UW|

MN`G3pO|KcA=3CLvU;_&iKQWu+4R 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�A%0YN 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 literal 0 HcmV?d00001 diff --git a/titanium/examples/mobile/detailed-history-example-app/Resources/android/images/res-notlong-land-ldpi/default.png b/titanium/examples/mobile/detailed-history-example-app/Resources/android/images/res-notlong-land-ldpi/default.png new file mode 100644 index 0000000000000000000000000000000000000000..7db10fada2f7495cfaf9dfd205a7355ff1c00b8a GIT binary patch literal 37038 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

dGl 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 literal 0 HcmV?d00001 diff --git a/titanium/examples/mobile/detailed-history-example-app/Resources/android/images/res-notlong-port-ldpi/default.png b/titanium/examples/mobile/detailed-history-example-app/Resources/android/images/res-notlong-port-ldpi/default.png new file mode 100644 index 0000000000000000000000000000000000000000..2c2bebe278280b57a274ce21f076d8beffafc203 GIT binary patch literal 30377 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 literal 0 HcmV?d00001 diff --git a/titanium/examples/mobile/detailed-history-example-app/Resources/android/images/res-notlong-port-mdpi/default.png b/titanium/examples/mobile/detailed-history-example-app/Resources/android/images/res-notlong-port-mdpi/default.png new file mode 100644 index 0000000000000000000000000000000000000000..606024d09192f2bef0b0d5ddfb7b23caf1d39cc0 GIT binary patch literal 53982 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

+l#?*4sJ@P%rAC~SCu^D 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%0DPX--WH8v7tYq|^U5aU;dc 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 literal 0 HcmV?d00001 diff --git a/titanium/examples/mobile/detailed-history-example-app/Resources/app.js b/titanium/examples/mobile/detailed-history-example-app/Resources/app.js new file mode 100644 index 000000000..7d81d0e0f --- /dev/null +++ b/titanium/examples/mobile/detailed-history-example-app/Resources/app.js @@ -0,0 +1,26 @@ +// ------------------------------------------------------------------------- +// INCLUDE PUBNUB DETAILED HISTORY MODULE +// ------------------------------------------------------------------------- +Ti.include('./pubnub-detailed-history.js'); + +// ------------------------------------------------------------------------- +// CREATE PUBNUB DATA WINDOW +// ------------------------------------------------------------------------- +// +// Returns an Object with Titanium Window Inside +// +var pubnub_data_window = Ti.App.DetailedHistory({ + "channel" : "hello_world", + "window" : { + title : 'Data', + backgroundColor : '#fff' + } +}); + +// ------------------------------------------------------------------------- +// TITANIUM WINDOW OBJECT +// ------------------------------------------------------------------------- +// +// Open Chat Window +// +pubnub_data_window.data_window.open(); diff --git a/titanium/examples/mobile/detailed-history-example-app/Resources/iphone/Default-Landscape.png b/titanium/examples/mobile/detailed-history-example-app/Resources/iphone/Default-Landscape.png new file mode 100644 index 0000000000000000000000000000000000000000..082688aee6a06e8cfff7d98571a9749e54baa220 GIT binary patch literal 517419 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�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 z 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%0DtNSaecJO;IT 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

Yp+Qt)V5y4e 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%0Ak$ljHlGaLl;^UO@uQVaUxwQ>nX-^9Gn(hcl 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 literal 0 HcmV?d00001 diff --git a/titanium/examples/mobile/detailed-history-example-app/Resources/iphone/Default-Portrait.png b/titanium/examples/mobile/detailed-history-example-app/Resources/iphone/Default-Portrait.png new file mode 100644 index 0000000000000000000000000000000000000000..426e1f0af1f26da251e1e11ade51cc66e82303ad GIT binary patch literal 551670 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%0AeMV1|pJFHgJV)NF1g_ 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 Ag#Z8m literal 0 HcmV?d00001 diff --git a/titanium/examples/mobile/detailed-history-example-app/Resources/iphone/appicon.png b/titanium/examples/mobile/detailed-history-example-app/Resources/iphone/appicon.png new file mode 100644 index 0000000000000000000000000000000000000000..ac74d27396033c13c6526790d6e7e56b05fdc7b8 GIT binary patch literal 4275 zcmV;k5KQlhP)Ul5&-+V#P`-iYl}e z$x>u%u??;g36S6dVh0DyEWO;DbIx7*Hb7Om2k7a&zx$p2+~NQ8>Ge2G1?Qa62RCR< z+k*4LwmGGbGdf@|HlO{AqJR5gN-t)ENwcqLgZbNZ39}c&p9}$LoMi6Zgd+ze>A0Y6 z1#5xm1Y?pREZm0U_%ygj;fFCF@uPtjAv%;&s;_{Kcf;9G;|MH)KAmPQa6^ckPXDaC zg&ULynPv1+=2p^!D`k#Ya0gv+a~z2vGT^Z?)RJ^>b@((IVX<=Ic7>0)h?N_p9w2f~q3g6wc)5>ZOJA6^o&M*-Ea2%pfDJ9Y)4Wo{%n+?-WQuGTrL z22Q4$RL~tkh&kc_h@@0Xz!3&7fRQi>ufy?3R5=(`_-LR+p2HWoU5(Y!tnXsJIa;(9 zYp$*qD*_c-?h+9rsc@Uy-iI5=6%63Q>5%Nh8dDKyKwG5E!UDBt&Gl9$?0_2NXqmHW zA1JOlX#%cUW`UyVk`CxiMj9XqVdzZWhZ2ya9o)c(o(7;b!`|Y&82@UgWk{v90ZPhB zu7z{}EeC)q8m-wym`Eo+l$3&no?&^$WPxhX2D%x8!R>olOD!|20P>Jn$)MZo-?(~%jQSheXAkaVr z#AvUdT%KRv+U{tFG=FcSTneTpMy4l68UvN0X>onc-IcAIcUG3x+ew<~A>4VumewA= z_|%Co6wJ|S){JRQVWcwVA!Hlx|Mmv(6b6ANG7N+!H82|medx#Or&sUpb^F$Hl59ba zXsP1#^yum7@qt>&fnD9)`Rv-ArPYVN=K||t6qOG*8!tb53Y{oCLCOrYg4Td1mAIrC z>`HwWw)qEhH{n1SqCi3dXHW)~S7H>_0QAcIGDr}>C8@+jB2J|lIiolv%cbzi$0ojh z>IhKy%S*Se-(JC2+3+f@v7uNA?nHCw!r56LF0Kh8Z5WgqH~;X`JZx)T1IKIN2sVrY ztXoT)onB&{Cdvs8c6u==E=EO#wxEMM=;B_tx4gbhnDB`6vC@TIgO*K>9lG$`EWFXe zMTn_Itf@t&GjIiriGsJ{p4&Hy3nblou$iW^REokV!Wbt4Z!n)V(UAg{c7(}oKk1UtVaXiK78W~atMA>%md_tSntHh@l^q;8TENfMXZng^<-SI?dK;kVBXR--G|t^&{?jDjEp z`+)VmrB!5Hc-gZkq;fh>vUKWf%exxXI!#g0t%)$Oww>MGAOG8%;5uff$6ovWCkCqJ z9x#rV8GO>>Rnnx-aQ}&;V}J9;%g>#j1~hNJ{qq1^Yk(#lXr#1qwCzjh4`lZ_T;}rY zdVOGYw3(rqE0^e%E9HOs@lRLQ*5TszZf|R6FUvB`rTHR@c98Y5@o;Ca8^bMg*B2J= z-bZ-oZ>)C|Vz6GteXkzzvt&WK>Sy>CJ6Rj7OHp)kW{O#(U^J3|F8RB^|A)n;wYT2C zw6oVoEE%)BYE3m8cAu?o?fmFJesOL7-rE=74?!qMB~eNXfIT*G_$!DsS*x&VC-W07 z|As$&>6|MUO+kQ0$5ysFZ@xR%i({pIl5%o)2#w-qL^R-S?{xm&du`Vqj)hdxu z_=GKx_rOR9CS`CMh7UJKTEh)jTIjUGOF5Yb!-gM`7j=3}_M964 zEPr(24~|YwpvzOLHc)%K$C>D$V+B>f z|HEU=lT(x2_ENY@(sJOs7hz8DoLa}Ky`x-;{^|#BXf1mF+=Zdxv2L&DLouX+V-JHL zy!wq}<0EIkHvRhfXH?M@WOh6d)OKUFoAMGu4WE1J)V^HOb{qVf2x@M>oX;^bSC8nY zy!67^SI(bX+SogK{N&EwUPb}R%Ae`bTCY{U|E;rA6HWcBb5EUsr@ZyQzXspysMSf2 zPAE6_;(E36{OOq^V@<4Ue5h6pnUgmaIxKHM>>CIx)X;zNy*EyudA8f_LQqw?*Vq1@ zLC~0PRUJ?R_sJ8-N9&e&L$K{*AkC}WohKeY&OLH`f^&tSMX=v(0Uj2Y+rUqpCQ{~> zei(j_tG?@cR1HXTEKXFZK=2WkO$#U-g@WayYK6JfA*jM{oY5Pa}f?ksv=}63z?V8 zYd`$$7hgh6V^dn?0kB$QmXHZ2YZLfFRYo$^d{13?N z;;$}&&jsVVd}|eyGa$d;s)Wf--0SN`l`Ryspe6g+2cQ1!U%syPH^Epw06HR6-pnZw z$y_r^v1_;PZ|_0PLgfo(qQ-r4p7i!QTg%%0=x78g_tB;KOAE^i%Z*5f(^42t9vZ-w zgjQIS%bG0r-ty)rS8f&sstzI+retHTEz9!OCtb0!vU2&x{Zwc2R{Ho3U?j`-HkPpR ziOON<&<28x#O~t?0{>vOe6-n+y8CC}r!ykhe($rZAPubo$~0^3pDlod%E2*j`OVyA zmA7hblJ57Hm@O-qJ)`p8H-jj;zMJ-XT@#l~5CttP4T;`&&OceJ;Ibd!0klAFZJ?gT z-PfL-ZbXucfQIXF!{nz|7nmb1r`B@Ibjv`QzHHtfwe`pS`%8%^LniGS<#?&!S<*i{ zdvt2*`1xmNBf&}#*>EWx02*k0t(2?r-u9_uBeSPYzIbXJDdL{>;v414P8VuB;{};l zs(F1oRXm+{$3Zq*ZK#`hMm4@OQXq9$>^24mZr@&n8X^WAP9--tdO~((9W&J%!g`MNzK~Rp{*KRD_SlQ)}i2^LBhS9Df ztDZW4!f%~T>*Mf9P?aOIPj`YtX~u>`jBQn$rG{bYaJ|%QHFZ9$%S;2wLe6!-MNUcj z3RgpcI@oB;PBgemfg?ukx~$)kS^iW>9qkk+8PVWn2X8aR`}G{~qYMolLW3#L>;v_^(Y%Ueny_w_*i`8U5Y z+G;`J4&ZYg$jf)F0~WaQs3o_rv>>{j?(w5XW`;Re82}2Ij4BX;L}Wc`?wO*nQms~M z1Glct-Cg)%pk6Oy;5F&LQDrJG;IYGpMj926e0eZX-#!0yv)SzQdVZc^Q!-|qy0I-Y z4r*~=kCyA1L8aUGkPoCYQ^%5cVPPkQ_m(SFj*U|;bji$-Q;=h=THR@HUjF#K^`%8% zZf9fd%=0gejEq8R22UndIo*RMRjm&~3X#g>PhL3F8XfKS`!IB7b<`#A7Be$g^$F9x zSJVp!s}#lo;uKdH#=Z2hsblHF;(CHo16PX9nZ#R);HBkWXLsSsHAuK*nzY8oV36JI z^|=q<89#n<`t;X_8i#blj}#1jTu;hIB{={1RBN;aMod6)+D#e3Qh(Eln&ghXV%P{= zi`exsO`Z$)!ICD}BkN~L^03{$_h2;|Z0VvNo*8#`A=Oezm&r`JG)`BZW(jMJ=ID{> zLnC7_E`jaK?9LZ+lM}5*qk-839E3n@4J;o>CB|EQe%k8X@3<4M@c&iijx~}%p1Y221f-)WK zJX#H*?MqOZokf3`VB&EF%-dEBl zimen?k;V$B4{tJ0J1eJ4e4|jpc7k=E*Y<(XO01e%pvs49S~`k({*_Q-g9~$L6uq*u zBSN>rhze3gn|RvfjeC=?h51-&max3;&woro*K!?YrB{k&wiE9_JGT(p96;%5I?mjD z9jSqv#!*bTMhF4W%>`wEVMwD8T$tqKd2V7=Lr-JUtej5Sr581`eG1@uW0Vtw%$tFx zBYL{lQmTK4AvA9|*@JGCxwed(HCFp(jqUuQsYSRE2Q$rhOyrr5(sl0~P!F-ktNsN9 zaw(KIyR4@eh2}kg2q$oY5vO 0 + && origin.replace( + 'pubsub', 'ps' + ( + failover ? uuid().split('-')[0] : + (++ori < max? ori : ori=1) + ) ) || origin; + } +})(); + +/** + * UPDATER + * ======= + * var timestamp = unique(); + */ +function updater( fun, rate ) { + var timeout + , last = 0 + , runnit = function() { + if (last + rate > rnow()) { + clearTimeout(timeout); + timeout = setTimeout( runnit, rate ); + } + else { + last = rnow(); + fun(); + } + }; + + return runnit; +} + +/** + * GREP + * ==== + * var list = grep( [1,2,3], function(item) { return item % 2 } ) + */ +function grep( list, fun ) { + var fin = []; + each( list || [], function(l) { fun(l) && fin.push(l) } ); + return fin +} + +/** + * SUPPLANT + * ======== + * var text = supplant( 'Hello {name}!', { name : 'John' } ) + */ +function supplant( str, values ) { + return str.replace( REPL, function( _, match ) { + return values[match] || _ + } ); +} + +/** + * timeout + * ======= + * timeout( function(){}, 100 ); + */ +function timeout( fun, wait ) { + return setTimeout( fun, wait ); +} + +/** + * uuid + * ==== + * var my_uuid = uuid(); + */ +function uuid(callback) { + var u = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, + function(c) { + var r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8); + return v.toString(16); + }); + if (callback) callback(u); + return u; +} + +/** + * EACH + * ==== + * each( [1,2,3], function(item) { } ) + */ +function each( o, f ) { + if ( !o || !f ) return; + + if ( typeof o[0] != 'undefined' ) + for ( var i = 0, l = o.length; i < l; ) + f.call( o[i], o[i], i++ ); + else + for ( var i in o ) + o.hasOwnProperty && + o.hasOwnProperty(i) && + f.call( o[i], i, o[i] ); +} + +/** + * MAP + * === + * var list = map( [1,2,3], function(item) { return item + 1 } ) + */ +function map( list, fun ) { + var fin = []; + each( list || [], function( k, v ) { fin.push(fun( k, v )) } ); + return fin; +} + +/** + * ENCODE + * ====== + * var encoded_path = encode('path'); + */ +function encode(path) { + return map( (encodeURIComponent(path)).split(''), function(chr) { + return "-_.!~*'()".indexOf(chr) < 0 ? chr : + "%"+chr.charCodeAt(0).toString(16).toUpperCase() + } ).join(''); +} + +/** + * Generate Subscription Channel List + * ================================== + * generate_channel_list(channels_object); + */ +function generate_channel_list(channels) { + var list = []; + each( channels, function( channel, status ) { + if (status.subscribed) list.push(channel); + } ); + return list.sort(); +} + +// PUBNUB READY TO CONNECT + function ready() { timeout( function() { + if (READY) return; + READY = 1; + each( READY_BUFFER, function(connect) { connect() } ); + }, SECOND ); } + +function PN_API(setup) { + var SUB_WINDOWING = +setup['windowing'] || DEF_WINDOWING + , SUB_TIMEOUT = (+setup['timeout'] || DEF_SUB_TIMEOUT) * SECOND + , KEEPALIVE = (+setup['keepalive'] || DEF_KEEPALIVE) * SECOND + , PUBLISH_KEY = setup['publish_key'] || '' + , SUBSCRIBE_KEY = setup['subscribe_key'] || '' + , SSL = setup['ssl'] ? 's' : '' + , ORIGIN = 'http'+SSL+'://'+(setup['origin']||'pubsub.pubnub.com') + , STD_ORIGIN = nextorigin(ORIGIN) + , SUB_ORIGIN = nextorigin(ORIGIN) + , CONNECT = function(){} + , PUB_QUEUE = [] + , SUB_CALLBACK = 0 + , SUB_CHANNEL = 0 + , SUB_RECEIVER = 0 + , SUB_RESTORE = 0 + , SUB_BUFF_WAIT = 0 + , TIMETOKEN = 0 + , CHANNELS = {} + , xdr = setup['xdr'] + , _is_online = setup['_is_online'] || function() { return 1; } + , jsonp_cb = setup['jsonp_cb'] || function(){ return 0; } + , db = setup['db'] || {'get': function(){}, 'set': function(){}} + , UUID = setup['uuid'] || ( db && db['get'](SUBSCRIBE_KEY+'uuid') || ''); + + + + function publish(next) { + if (next) PUB_QUEUE.sending = 0; + if (PUB_QUEUE.sending || !PUB_QUEUE.length) return; + PUB_QUEUE.sending = 1; + xdr(PUB_QUEUE.shift()); + } + + function each_channel(callback) { + each( generate_channel_list(CHANNELS), function(channel) { + var chan = CHANNELS[channel]; + if (!chan) return; + callback(chan); + } ); + } + + // Announce Leave Event + + + var SELF = { + + '_reset_offline' : function() { + SUB_RECEIVER && SUB_RECEIVER(1); + }, + + 'LEAVE' : function( channel, blocking ) { + var data = { 'uuid' : UUID } + , origin = nextorigin(ORIGIN) + , jsonp = jsonp_cb(); + + // Prevent Leaving a Presence Channel + if (channel.indexOf(PRESENCE_SUFFIX) > 0) return; + + if (jsonp != '0') data['callback'] = jsonp; + + xdr({ + blocking : blocking || SSL, + timeout : 2000, + callback : jsonp, + data : data, + url : [ + origin, 'v2', 'presence', 'sub_key', + SUBSCRIBE_KEY, 'channel', encode(channel), 'leave' + ] + }); + }, + /* + PUBNUB.history({ + channel : 'my_chat_channel', + limit : 100, + callback : function(history) { } + }); + */ + 'history' : function( args, callback ) { + var callback = args['callback'] || callback + , count = args['count'] || args['limit'] || 100 + , reverse = args['reverse'] || "false" + , err = args['error'] || function(){} + , channel = args['channel'] + , start = args['start'] + , end = args['end'] + , params = {} + , jsonp = jsonp_cb(); + + // Make sure we have a Channel + if (!channel) return error('Missing Channel'); + if (!callback) return error('Missing Callback'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + params['stringtoken'] = 'true'; + params['count'] = count; + params['reverse'] = reverse; + + if (jsonp) params['callback'] = jsonp; + if (start) params['start'] = start; + if (end) params['end'] = end; + + // Send Message + xdr({ + callback : jsonp, + data : params, + success : function(response) { callback(response) }, + fail : err, + url : [ + STD_ORIGIN, 'v2', 'history', 'sub-key', + SUBSCRIBE_KEY, 'channel', encode(channel) + ] + }); + }, + + /* + PUBNUB.replay({ + source : 'my_channel', + destination : 'new_channel' + }); + */ + 'replay' : function(args) { + var callback = callback || args['callback'] || function(){} + , source = args['source'] + , destination = args['destination'] + , stop = args['stop'] + , start = args['start'] + , end = args['end'] + , reverse = args['reverse'] + , limit = args['limit'] + , jsonp = jsonp_cb() + , data = {} + , url; + + // Check User Input + if (!source) return error('Missing Source Channel'); + if (!destination) return error('Missing Destination Channel'); + if (!PUBLISH_KEY) return error('Missing Publish Key'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + // Setup URL Params + if (jsonp != '0') data['callback'] = jsonp; + if (stop) data['stop'] = 'all'; + if (reverse) data['reverse'] = 'true'; + if (start) data['start'] = start; + if (end) data['end'] = end; + if (limit) data['count'] = limit; + + // Compose URL Parts + url = [ + STD_ORIGIN, 'v1', 'replay', + PUBLISH_KEY, SUBSCRIBE_KEY, + source, destination + ]; + + // Start (or Stop) Replay! + xdr({ + callback : jsonp, + success : function(response) { callback(response) }, + fail : function() { callback([ 0, 'Disconnected' ]) }, + url : url, + data : data + }); + }, + + /* + PUBNUB.time(function(time){ }); + */ + 'time' : function(callback) { + var jsonp = jsonp_cb(); + xdr({ + callback : jsonp, + timeout : SECOND*5, + url : [STD_ORIGIN, 'time', jsonp], + success : function(response) { callback(response[0]) }, + fail : function() { callback(0) } + }); + }, + + /* + PUBNUB.publish({ + channel : 'my_chat_channel', + message : 'hello!' + }); + */ + 'publish' : function( args, callback ) { + var callback = callback || args['callback'] || function(){} + , msg = args['message'] + , channel = args['channel'] + , jsonp = jsonp_cb() + , url; + + if (!msg) return error('Missing Message'); + if (!channel) return error('Missing Channel'); + if (!PUBLISH_KEY) return error('Missing Publish Key'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + // If trying to send Object + msg = JSON['stringify'](msg); + + // Create URL + url = [ + STD_ORIGIN, 'publish', + PUBLISH_KEY, SUBSCRIBE_KEY, + 0, encode(channel), + jsonp, encode(msg) + ]; + + // Queue Message Send + PUB_QUEUE.push({ + callback : jsonp, + timeout : SECOND*5, + url : url, + data : { 'uuid' : UUID }, + success : function(response){callback(response);publish(1)}, + fail : function(){callback([0,'Failed',msg]);publish(1)} + }); + + // Send Message + publish(); + }, + + /* + PUBNUB.unsubscribe({ channel : 'my_chat' }); + */ + 'unsubscribe' : function(args) { + var channel = args['channel']; + + TIMETOKEN = 0; + SUB_RESTORE = 1; + + // Prepare Channel(s) + channel = map( ( + channel.join ? channel.join(',') : ''+channel + ).split(','), function(channel) { + return channel + ',' + channel + PRESENCE_SUFFIX; + } ).join(','); + + // Iterate over Channels + each( channel.split(','), function(channel) { + if (READY) SELF['LEAVE']( channel, 0 ); + CHANNELS[channel] = 0; + } ); + + // ReOpen Connection if Any Channels Left + if (READY) CONNECT(); + }, + + /* + PUBNUB.subscribe({ + channel : 'my_chat' + callback : function(message) { } + }); + */ + 'subscribe' : function( args, callback ) { + var channel = args['channel'] + , callback = callback || args['callback'] + , callback = callback || args['message'] + , connect = args['connect'] || function(){} + , reconnect = args['reconnect'] || function(){} + , disconnect = args['disconnect'] || function(){} + , presence = args['presence'] || 0 + , noheresync = args['noheresync'] || 0 + , backfill = args['backfill'] || 0 + , sub_timeout = args['timeout'] || SUB_TIMEOUT + , windowing = args['windowing'] || SUB_WINDOWING + , restore = args['restore']; + + // Restore Enabled? + if (restore) SUB_RESTORE = 1; + + TIMETOKEN = 0; + + // Make sure we have a Channel + if (!channel) return error('Missing Channel'); + if (!callback) return error('Missing Callback'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + // Setup Channel(s) + each( (channel.join ? channel.join(',') : ''+channel).split(','), + function(channel) { + var settings = CHANNELS[channel] || {}; + + // Store Channel State + CHANNELS[SUB_CHANNEL = channel] = { + name : channel, + connected : settings.connected, + disconnected : settings.disconnected, + subscribed : 1, + callback : SUB_CALLBACK = callback, + connect : connect, + disconnect : disconnect, + reconnect : reconnect + }; + + // Presence Enabled? + if (!presence) return; + + // Subscribe Presence Channel + SELF['subscribe']({ + 'channel' : channel + PRESENCE_SUFFIX, + 'callback' : presence + }); + + // Presence Subscribed? + if (settings.subscribed) return; + + // See Who's Here Now? + if (noheresync) return; + SELF['here_now']({ + 'channel' : channel, + 'callback' : function(here) { + each( 'uuids' in here ? here['uuids'] : [], + function(uid) { presence( { + 'action' : 'join', + 'uuid' : uid, + 'timestamp' : rnow(), + 'occupancy' : here['occupancy'] || 1 + }, here, channel ); } ); + } + }); + } ); + + // Test Network Connection + function _test_connection(success) { + if (success) { + // Begin Next Socket Connection + timeout( _connect, SECOND ); + } + else { + // New Origin on Failed Connection + STD_ORIGIN = nextorigin( ORIGIN, 1 ); + SUB_ORIGIN = nextorigin( ORIGIN, 1 ); + + // Re-test Connection + timeout( function() { + SELF['time'](_test_connection); + }, SECOND ); + } + + // Disconnect & Reconnect + each_channel(function(channel){ + // Reconnect + if (success && channel.disconnected) { + channel.disconnected = 0; + return channel.reconnect(channel.name); + } + + // Disconnect + if (!success && !channel.disconnected) { + channel.disconnected = 1; + channel.disconnect(channel.name); + } + }); + } + + // Evented Subscribe + function _connect() { + var jsonp = jsonp_cb() + , channels = generate_channel_list(CHANNELS).join(','); + + // Stop Connection + if (!channels) return; + + // Connect to PubNub Subscribe Servers + SUB_RECEIVER = xdr({ + timeout : sub_timeout, + callback : jsonp, + fail : function() { SELF['time'](_test_connection) }, + data : { 'uuid' : UUID }, + url : [ + SUB_ORIGIN, 'subscribe', + SUBSCRIBE_KEY, encode(channels), + jsonp, TIMETOKEN + ], + success : function(messages) { + if (!messages) return timeout( _connect, windowing ); + + // Connect + each_channel(function(channel){ + if (channel.connected) return; + channel.connected = 1; + channel.connect(channel.name); + }); + + // Restore Previous Connection Point if Needed + TIMETOKEN = !TIMETOKEN && + SUB_RESTORE && + db['get'](SUBSCRIBE_KEY) || messages[1]; + + + if (backfill) { + Timetoken = 10000; + backfill = 0; + } + + // Update Saved Timetoken + db['set']( SUBSCRIBE_KEY, messages[1] ); + + // Route Channel <---> Callback for Message + var next_callback = (function() { + var channels = (messages.length>2?messages[2]:'') + , list = channels.split(','); + + return function() { + var channel = list.shift()||''; + return [ + (CHANNELS[channel]||{}) + .callback||SUB_CALLBACK, + (channel||SUB_CHANNEL) + .split(PRESENCE_SUFFIX)[0] + ]; + }; + })(); + + each( messages[0], function(msg) { + var next = next_callback(); + if (!CHANNELS[next[1]].subscribed) return; + next[0]( msg, messages, next[1] ); + } ); + + timeout( _connect, windowing ); + } + }); + } + + CONNECT = function() { + // Close Previous Subscribe Connection + SELF['_reset_offline'](); + + // Begin Recursive Subscribe + clearTimeout(SUB_BUFF_WAIT); + SUB_BUFF_WAIT = timeout( _connect, 100 ); + }; + + // Reduce Status Flicker + if (!READY) return READY_BUFFER.push(CONNECT); + + // Connect Now + CONNECT(); + }, + + 'here_now' : function( args, callback ) { + var callback = args['callback'] || callback + , err = args['error'] || function(){} + , channel = args['channel'] + , jsonp = jsonp_cb() + , data = null; + + // Make sure we have a Channel + if (!channel) return error('Missing Channel'); + if (!callback) return error('Missing Callback'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + if (jsonp != '0') { + data = {}; + data['callback'] = jsonp; + } + + xdr({ + callback : jsonp, + data : data, + success : function(response) { callback(response) }, + fail : err, + url : [ + STD_ORIGIN, 'v2', 'presence', + 'sub_key', SUBSCRIBE_KEY, + 'channel', encode(channel) + ] + }); + }, + + // Expose PUBNUB Functions + 'xdr' : xdr, + 'ready' : ready, + 'db' : db, + 'uuid' : uuid, + 'each' : each, + 'map' : map, + 'grep' : grep, + 'supplant' : supplant, + 'now' : rnow, + 'unique' : unique, + 'updater' : updater, + 'poll_online' : function() { + _is_online() || SELF['_reset_offline'](); + timeout( SELF['poll_online'], SECOND ); + }, + 'poll_online2' : function() { + SELF['time'](function(success){ + success || SELF['_reset_offline'](); + timeout( SELF['poll_online2'], KEEPALIVE ); + }) + } + }; + if (!UUID) UUID = SELF['uuid'](); + db['set']( SUBSCRIBE_KEY + 'uuid', UUID ); + + timeout( SELF['poll_online'], SECOND ); + timeout( SELF['poll_online2'], KEEPALIVE ); + + return SELF; +} +/* --------------------------------------------------------------------------- +--------------------------------------------------------------------------- */ + +/* --------------------------------------------------------------------------- +PubNub Real-time Cloud-Hosted Push API and Push Notification Client Frameworks +Copyright (c) 2011 PubNub Inc. +http://www.pubnub.com/ +http://www.pubnub.com/terms +--------------------------------------------------------------------------- */ + +/* --------------------------------------------------------------------------- +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +--------------------------------------------------------------------------- */ +(function(){ + +/** + * UTIL LOCALS + */ +var NOW = 1 +, URLBIT = '/' +, MAGIC = /\$?{([\w\-]+)}/g +, PARAMSBIT = '&' +, ANDROID = Ti.Platform.name.toLowerCase().indexOf('android') >= 0 +, XHRTME = 310000; + + + +/** + * LOCAL STORAGE OR COOKIE + */ +var db = (function(){ + return { + get : function(key) { + Ti.App.Properties.getString(''+key); + }, + set : function( key, value ) { + Ti.App.Properties.setString( ''+key, ''+value ); + } + }; +})(); + + +/** + * Titanium TCP Sockets + * ==================== + * xdr({ + * url : ['http://www.blah.com/url'], + * success : function(response) {}, + * fail : function() {} + * }); + */ +function xdr_tcp(setup) { + + var url = setup.url.join(URLBIT); + if (setup.data) { + var params = []; + url += "?"; + for (key in setup.data) { + params.push(key+"="+setup.data[key]); + } + url += params.join(PARAMSBIT); + } + log(url); + var body = [] + , data = "" + , rbuffer = Ti.createBuffer({ length : 2048 }) + , wbuffer = Ti.createBuffer({ value : "GET " + url + " HTTP/1.0\n\n"}) + , failed = 0 + , fail = function() { + if (failed) return; + failed = 1; + (setup.fail || function(){})(); + } + , success = setup.success || function(){} + , sock = Ti.Network.Socket.createTCP({ + host : url.split(URLBIT)[2], + port : 80, + mode : Ti.Network.READ_WRITE_MODE, + timeout : XHRTME, + error : fail, + connected : function() { + sock.write(wbuffer); + read(); + } + }); + + function read() { + Ti.Stream.read( sock, rbuffer, function(stream) { + if (+stream.bytesProcessed > -1) { + data = Ti.Codec.decodeString({ + source : rbuffer, + length : +stream.bytesProcessed + }); + + body.push(data); + rbuffer.clear(); + + return timeout( read, 1 ); + } + + try { + data = JSON['parse']( + body.join('').split('\r\n').slice(-1) + ); + } + catch (r) { + return fail(); + } + + sock.close(); + success(data); + } ); + } + + try { sock.connect() } + catch(k) { return fail() } +} + +/** + * Titanium XHR Request + * ============================== + * xdr({ + * url : ['http://www.blah.com/url'], + * success : function(response) {}, + * fail : function() {} + * }); + */ +function xdr_http_client( setup ) { + + var url = setup.url.join(URLBIT); + if (setup.data) { + var params = []; + url += "?"; + for (key in setup.data) { + params.push(key+"="+setup.data[key]); + } + url += params.join(PARAMSBIT); + } + var xhr + , finished = function() { + if (loaded) return; + loaded = 1; + + clearTimeout(timer); + + try { response = JSON['parse'](xhr.responseText); } + catch (r) { return done(1); } + + success(response); + } + , complete = 0 + , loaded = 0 + , timer = timeout( function(){done(1)}, XHRTME ) + , fail = setup.fail || function(){} + , success = setup.success || function(){} + , done = function(failed) { + if (complete) return; + complete = 1; + + clearTimeout(timer); + + if (xhr) { + xhr.onerror = xhr.onload = null; + xhr.abort && xhr.abort(); + xhr = null; + } + + failed && fail(); + }; + + // Send + try { + xhr = Ti.Network.createHTTPClient(); + xhr.onerror = function(){ done(1) }; + xhr.onload = finished; + xhr.timeout = XHRTME; + + xhr.open( 'GET', url, true ); + xhr.send(); + } + catch(eee) { + done(0); + return xdr(setup); + } + + // Return 'done' + return done; +} + +/** + * BIND + * ==== + * bind( 'keydown', search('a')[0], function(element) { + * ... + * } ); + */ +function bind( type, el, fun ) { + each( type.split(','), function(etype) { + var rapfun = function(e) { + if (!e) e = window.event; + if (!fun(e)) { + e.cancelBubble = true; + e.returnValue = false; + e.preventDefault && e.preventDefault(); + e.stopPropagation && e.stopPropagation(); + } + }; + + if ( el.addEventListener ) el.addEventListener( etype, rapfun, false ); + else if ( el.attachEvent ) el.attachEvent( 'on' + etype, rapfun ); + else el[ 'on' + etype ] = rapfun; + } ); +} + +/** + * UNBIND + * ====== + * unbind( 'keydown', search('a')[0] ); + */ +function unbind( type, el, fun ) { + if ( el.removeEventListener ) el.removeEventListener( type, false ); + else if ( el.detachEvent ) el.detachEvent( 'on' + type, false ); + else el[ 'on' + type ] = null; +} + +/** + * LOG + * === + * var list = grep( [1,2,3], function(item) { return item % 2 } ) + */ +var log = function(){}; + +/** + * EVENTS + * ====== + * PUBNUB.events.bind( 'you-stepped-on-flower', function(message) { + * // Do Stuff with message + * } ); + * + * PUBNUB.events.fire( 'you-stepped-on-flower', "message-data" ); + * PUBNUB.events.fire( 'you-stepped-on-flower', {message:"data"} ); + * PUBNUB.events.fire( 'you-stepped-on-flower', [1,2,3] ); + * + */ +var events = { + 'list' : {}, + 'unbind' : function( name ) { events.list[name] = [] }, + 'bind' : function( name, fun ) { + (events.list[name] = events.list[name] || []).push(fun); + }, + 'fire' : function( name, data ) { + each( + events.list[name] || [], + function(fun) { fun(data) } + ); + } +}; + +/* =-====================================================================-= */ +/* =-====================================================================-= */ +/* =-========================= PUBNUB ===========================-= */ +/* =-====================================================================-= */ +/* =-====================================================================-= */ + +function PN(setup) { + + + setup['db'] = db; + setup['xdr'] = setup['native_tcp_socket'] ? xdr_tcp : xdr_http_client + var SELF = PN_API(setup); + + SELF['init'] = PN; + + + // Return without Testing + if (setup['notest']) return SELF; + + SELF['ready'](); + return SELF; +} + +typeof module !== 'undefined' && (module.exports = PN) || +typeof exports !== 'undefined' && (exports.PN = PN) || (PUBNUB = PN); + +})(); +})(); diff --git a/titanium/examples/mobile/detailed-history-example-app/manifest b/titanium/examples/mobile/detailed-history-example-app/manifest new file mode 100644 index 000000000..f2882241b --- /dev/null +++ b/titanium/examples/mobile/detailed-history-example-app/manifest @@ -0,0 +1,8 @@ +#appname:Detailed History Example +#publisher:stephen +#url:http://www.pubnub.com/ +#image:appicon.png +#appid:com.pubnub.detailedhistory +#desc:not specified +#type:ipad +#guid:42667a7c-de7a-4f61-834c-3f0fab1da412 diff --git a/titanium/examples/mobile/detailed-history-example-app/tiapp.xml b/titanium/examples/mobile/detailed-history-example-app/tiapp.xml new file mode 100644 index 000000000..c2cd6eccb --- /dev/null +++ b/titanium/examples/mobile/detailed-history-example-app/tiapp.xml @@ -0,0 +1,41 @@ + + + 2.1.2.GA + 327680 + + false + true + true + true + false + + com.pubnub.detailedhistory + detailed-history-example + 1.0 + stephen + http://www.pubnub.com/ + not specified + 2011 by stephen + appicon.png + false + false + default + false + false + false + true + 42667a7c-de7a-4f61-834c-3f0fab1da412 + + + Ti.UI.PORTRAIT + + + Ti.UI.PORTRAIT + Ti.UI.UPSIDE_PORTRAIT + Ti.UI.LANDSCAPE_LEFT + Ti.UI.LANDSCAPE_RIGHT + + + + + diff --git a/titanium/examples/mobile/here-now-example-app/.project b/titanium/examples/mobile/here-now-example-app/.project new file mode 100644 index 000000000..de3edde07 --- /dev/null +++ b/titanium/examples/mobile/here-now-example-app/.project @@ -0,0 +1,17 @@ + + + here-now-example-app + + + + + + com.aptana.ide.core.unifiedBuilder + + + + + + com.aptana.projects.webnature + + diff --git a/titanium/examples/mobile/here-now-example-app/CHANGELOG.txt b/titanium/examples/mobile/here-now-example-app/CHANGELOG.txt new file mode 100644 index 000000000..de1e09178 --- /dev/null +++ b/titanium/examples/mobile/here-now-example-app/CHANGELOG.txt @@ -0,0 +1 @@ +Place your change log text here. This file will be incorporated with your app at package time. \ No newline at end of file diff --git a/titanium/examples/mobile/here-now-example-app/LICENSE b/titanium/examples/mobile/here-now-example-app/LICENSE new file mode 100644 index 000000000..0ec894017 --- /dev/null +++ b/titanium/examples/mobile/here-now-example-app/LICENSE @@ -0,0 +1,219 @@ +Copyright 2009 Appcelerator, Inc. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + (or the full text of the license is below) + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + +2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + +3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + +4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + +5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + +6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + +8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + +APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + +Copyright [yyyy] [name of copyright owner] + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. \ No newline at end of file diff --git a/titanium/examples/mobile/here-now-example-app/LICENSE.txt b/titanium/examples/mobile/here-now-example-app/LICENSE.txt new file mode 100644 index 000000000..4124b1d32 --- /dev/null +++ b/titanium/examples/mobile/here-now-example-app/LICENSE.txt @@ -0,0 +1 @@ +Place your license text here. This file will be incorporated with your app at package time. \ No newline at end of file diff --git a/titanium/examples/mobile/here-now-example-app/README b/titanium/examples/mobile/here-now-example-app/README new file mode 100644 index 000000000..cb993a658 --- /dev/null +++ b/titanium/examples/mobile/here-now-example-app/README @@ -0,0 +1,18 @@ +Welcome to your Appcelerator Titanium Mobile Project + +This is a blank project. Start by editing your application's app.js to +make your first mobile project using Titanium. + + + +---------------------------------- +Stuff our legal folk make us say: + +Appcelerator, Appcelerator Titanium and associated marks and logos are +trademarks of Appcelerator, Inc. + +Titanium is Copyright (c) 2009-2010 by Appcelerator, Inc. All Rights Reserved. + +Titanium is licensed under the Apache Public License (Version 2). Please +see the LICENSE file for the full license. + diff --git a/titanium/examples/mobile/here-now-example-app/Resources/KS_nav_ui.png b/titanium/examples/mobile/here-now-example-app/Resources/KS_nav_ui.png new file mode 100644 index 0000000000000000000000000000000000000000..28976c8680a455227bab8102bcc624492c0db793 GIT binary patch literal 1158 zcmV;11bO?3P)H=jVHj@bY}4s!uFxD4<6p{oHM@jocDX*=l#BK5|_($=pZ)k&;e~B;vwQ8;vwQ8 z;=h|z><=XpiDGzo_<>9&)9>u;NT_i60-pV`zWUz36M*L0+S(c~EiJu)zTID8l=L6e-EoU^&P$@$6wYGkES=}uc)+h@64z7RB3@zE6B z-Q5oo5)!Tup@M>fGTh50MQ}JAMM+6XkHsXXPN%y*KR?g2)Nu`7enz;6jEp=6lMIAS zPfu&b4zjqosNLS)ma`i7y)-9=^s<=VDZ4aB%SI#KZ*0GC9>srSh7GwwJ&p z0^vwh(Nhlv(xDE`YImt;7Ap42%F5QNs;U^M zLsVB+*GsCTR1{}tXXjB7r$9<0R7p=Y5ui{g%qTt!X=!OmEQy;*RqE^OtyF)2kAR6{ zyuZKyEkI0<_!;9XU`S6-zsS_%z$cP3w|ZFJ9{(M>z&A=@5z55zJnvvhoNsP!KAV-5 z)yi>Pl+kFsRa{*BkR-0Dsp)h^M#f!~a&EUB5JeGG<@Vg%oP;IuXsiJ5U}cv`M6_D% zecXFS+Ky_d&(6-y6C;O6>XT3v8B0}(^HdL%cbe{_fXr+*$BP|gZEYgoREKCg5T#vs5pW8K2*R-n z6|Yg?6)lVX@!AVhx_f{xzPD|i1`0b{FeX& Y0Ca~^4o{F=hX4Qo07*qoM6N<$f>;VBfdBvi literal 0 HcmV?d00001 diff --git a/titanium/examples/mobile/here-now-example-app/Resources/KS_nav_views.png b/titanium/examples/mobile/here-now-example-app/Resources/KS_nav_views.png new file mode 100644 index 0000000000000000000000000000000000000000..885abd90062eaeb06103194926db96dc27e99b04 GIT binary patch literal 1074 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 Law0WC`housunqYH literal 0 HcmV?d00001 diff --git a/titanium/examples/mobile/here-now-example-app/Resources/android/images/res-long-land-hdpi/default.png b/titanium/examples/mobile/here-now-example-app/Resources/android/images/res-long-land-hdpi/default.png new file mode 100644 index 0000000000000000000000000000000000000000..77519596a6a56480187ec14ae3be3974fafbe2b0 GIT binary patch literal 102971 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�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

pn_r~o>NFk zPHq+#4V{*hOt5$zn<1vcPakci1Vh5I7#^_#MK=P*XXLb{__!G`E3a)~o$ZOUc*IL` z1!YUdU4tVprppSdvOHrKn`AezlHuFF!?<%?6jj0p#-0*l{UH73VG?6{ww88OEh2!r zY5;y5=!JPv=!3ul^#xlMenI`fUeXZ>HA&7=7C6!rC2>SXt_}4cPVm@$K&54pvhiMk%8cps9o^ zR_pTH-?C{D2UZ~04DSO{5oMDg^EH1<#rqfH^NcK{vYUIA#7zpvqr*n(mEftDd%h>L zM70znO_Md66G1Zran>^T#+!Ft96m$cVYE$=4>TRW`pz-$F1ReZXT5)HI(}<1Ie0W^{=G?x+cvY}H5RoG>4Co4p-%&KcWxxfKFZrPnPYP`ZBH3azXZ?8)S;Nij zuIg`s#yZo+fQy`&{1=BuG7?HGC`}}r{BmqE!&ZTdy>aKC((WT1P7Hl?yrS!1i57T6 zf5Y_V_I}+d;@*M3F76~H&!p}qggffP$iT|b1FbxXkU-^xPWMm_z5(yqGI}?9ZEqG z_a2oOAsv^;cM|C|G%210IoAbJ-7c-?^$SaD*)D;rITLw^V9Zi#qCt_|$7CamY(chP z!>Mp>_!Y9t@x!E(U~>Jn&Iz5Q;1Rwby&uZsahNHd3TrZDc~&2e&-N!jpv%3zh&B?z z2dFVUzq+=m=)fG=K@BNU`#CdRpLFr@V_8h;f|1GlxiHW+ObMssRxaeM$njmJ{-}7h z0e#cypl`O*kw99WRo)owJs3)4popz})*-f=I*RKET?8WLY<{*lop2Q(Y1F_>){;#17& zqS^9QLGr=bxHqfN1A6%w-lf#z4R+BU%pQi`htPnG_&(hPm8yM@3})K9^r?~1QFGgyix_c4Cp}aZc zzTB8mc-AY3gu~*lIyvnvbCA@Q8n?M7?e$c`B_=T*jj^j+gj4iPDZ2he48?UYA zV4ebw9t#PciZB}sumn1%k3ntUsWg!vWO;|LQh_gj>35#GLR7f~+5?{dEq1CweUgMq zHbgTRD)hzBcNUW)P(|F?*uBG`wZzWUx;+xGv`A@II~I^`avp@fEGj#3h<4@g>Xl=V zhD0Eouv>Qr4r!fl{!|UPzqr|d%t#NIv>SCp&$;;S&D3(^Wi>uF(yHS=74P1y5KWi(k203!v}8J=UW|

MN`G3pO|KcA=3CLvU;_&iKQWu+4R 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�A%0YN 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 literal 0 HcmV?d00001 diff --git a/titanium/examples/mobile/here-now-example-app/Resources/android/images/res-long-land-ldpi/default.png b/titanium/examples/mobile/here-now-example-app/Resources/android/images/res-long-land-ldpi/default.png new file mode 100644 index 0000000000000000000000000000000000000000..86e7930b6244d1237a35dd95473de19b68ad2736 GIT binary patch literal 34784 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

dGl zK&Otz!Pq5Re?r1f3d;@%qf?ZM(m%w}LKFUt zT3vywt65!N6jZE9e4%Wh5#yo-c5JjRwXV8WArSTobowh+)5Z8oYUNOX6p^Iik4Q{TSvUXh7 zY0{w0FCFeYtU9rIikuoiBBI@qW-LYwdy1ykX+B zYV{(<*@EO39_v1~l_~?|p$IhRRsAdxPgHB;rI63~ncUA0iTZxtwwS~xsfZP=?q{R= z8(|rI7FY08xwZSKuEFlZ(!YqtXYu98%z3HFzUQr6aBH8B;|!XG?oJI3*@c-YP}A$U zi)NmTFzzp#?y(0TkXYPsc*kr1y41z!7XHzkY@dP6KaLH~2qBY^WR1^En}Z*&8CM!2 zBW2KG-nCA1N^hkPs;^sA+8d?;Vo1je5mXo(n7l-VF&rH!;kL4nB<+|;r-*5aPpPr= z%4Wt|+#%l;*e5`k8(q3i7E*!ks8_2(+-D{GO5LRzw?03gIJD1Bskf~Jf&Mu+8><#I zw_1~4LJJuYt0oLp2)fUq!`?}_TI%&&*^cav4=TX`dxoAYqhQ})(MIZaV2&?)Ns;~e zIXV>o?%hYH)j>tAhL!o_o)xf3XmgFMbSTwK$KoCsYTJYRRp> zfyzG+@6{@C!f%qHv0)P2o(v~uRzOh|8lkAa)cBpiq8KAqy*z%+-=zEgJRoDq``8@Y4BGkB>|KGXQ?#H`%a zu<@E{A(jHsihWSnV!eL=DviHXnkgVjeX>EaK$3n)*c3Txs*`@Q*Zd_;Eq$n@`6x(*hpMkpm zgC=k<&qZWSE7ka&=zt-~$L+yTh>-VIi3`Nt1)@~AN6cuP=|A5wDbz}P@AU+~X%A8c zsCe;7fBl6%hBsZUOxGT{RzGV0JsV2rNJtOTuaph*PHT!xCX4~^bqif@p6(I``W#5H zmIXzka7Vv3g8I&sR7GHQICnc%W^#|!m%igkWBHRCWXx=g>gyJGUzhlNym?3UYFmO& z89xGU-v4XZRDCsbh@7-a%r2h?NmgMKiPc+XWjaH$=w3x_X)Q77X<8_o^`}1u&;b}j z8_7bZDQcE_V4dbdU5Za1#xhJ{6@XXzXvLQdU^zA1)!*;n;HwxbJaiX;%iexnuH@N7|BHUg*7f$V2g|3UM-$7TbOG7L26!-B)ewRDxGb3fQlZ}~%P;eeOE#D}K=#Buriy`8jT6$V;Y z?2PG=eF`Ou%uzOPjhRxH`{(LsO^3IX^chO{669o@igzo>xZ`hdcI3X_=LaEVKO>ri;okA`Ezok$2OCY2D7K?MpC)?-D45NeD9T5MUB3^Kk9oGr#=>l?Lo|!TLu^s zR2W|x^IWRc*Aj)NB%g53F6tW(N_pQKAA4V*NIh>#^b&nKo5hyw`q$o>CTry_2u8N$ zw2j4e`F}jrE0{6LF#7IdqRz5_41%;C^5jfu{Ww_qjmSV(QdeRuD7nyI!#;4$3CH1f zKR4ftW@HTaxHpTt)rs8e%P2Fng`QaOx*4ZXDt!T#4*g?Nr!o?ABHLbl<1dbuZ7*3* zgskb{@7Z!Q)>QbW?K%yrO6RPLO6nCfqtw?tiSGc0mLABgx^QR|e6C##(0pA^@U;Om z`4_%|oi7csBLI3Q$`68InxCW^_A);m4UKPLjQhDdF3om8uPcPcONs|?_BHOO#{W9F z97OY@CKy9?BKAoCNy^9PYw_6`E)yC2T7ASvw-D@&x9mS@R7>KhhL3~z?WH0y7(x64 zRd?SsdqgizU*6Jx$4g*H<&z8~BfEwn9N0|l|ITIz1zDb^4_(=AQz77iF9ZUutnu*P zP|3C_$?8olOW2y*CKV!`r@2ss*ImzcodnzT2)fB@Myzdy+ymgZTO7D#eiGxz7j|-LfK$>{gC_jJS^T3*ZMo+u5yRq*ceHJ!`iqk~SqkKN}j4S=q~$SEeI2(ugQWYG^? zohEB3$NXi12h%LnyJ|hs;JV=T`G+388XuzIfU%}B!Y#A4PiiPm zdR6J>O8#7R1R4C=4OSPWmI)kz2QSlyl;O^{inr6HSDUWpw7VbVob0pxHRZL{zcJRd z*vK#2ML0j5chBbXvz)Ob|7?&#telO;w01thcO)!=lPamwW+g>7#A=Bn$2;=~%s2c< zifUiu*T51Hs+*c`0r(z#%^NnZ*J?RiWA;NT7_HM*N3@SZZYB$J!lozqgmUt3lm5BG zi}r#*&%kQbhQG_LZo$-7e(SBYC7Np9|4d zOB5%@ZtGuCi@T_jPO7w1MvC=}NffX_*BSP65f=*}1k#feM}|%74xplZsfQQ&@>=t+ zQLANQheRKdb2#(u`bl|M>m;QQ718qOXj$MVEEocU1v07H)!<5)+)wHxMV9`?VizF1 z><#g*6t&s3u5Y&o|4v3$8ayU@d`chde8t|ZAR}L29>j!-kzu_Bp(HwS;GSPODy*`n zr4-_8u>lL_T2oD^i>g?4UrjxdAT$XqAO zPjWK(MYZa~jBisZSRjXr>Ae@Eb%<-iLDW!WG(gVsGh%U^uwY{x7&7muAK$(n`OjkO zCLEC<$*FboLaWr99a$W4PWkmk*f}o-vtnoOyPtp)8$}RZqk| zJ#R2n)j+kendJ!nK@dhUS0wjt>#`s|_kMv)HjScgIl4YUCuz;5Iqr#H)O5Wt?n0TrlE1fiSosnQ3#5G! zyh*w-4lY2DuFre}tE*t=H<>aQmHR#~_idkRcm3gsVKRcl53`?_V4M9-z;^evwo2Kb zcXBo|whH%q@?!BpyYpJzn_&20*=#3^AS8%C*=31eqK;k8c3FgLUM~6Lvu2iS?jSUX+DrnNS{ z$x|mnzR$&GCL}PbPS22C^A}(Bd?n78??-&FPpwXc?Ry_cBfxb+A+S z09F_Y`=-T0@;Zb(XFd5mghon<(<FLI^P!>*};Hc0cq8R9N#t z{DCg%ymllc?N0bXjs*00*u`g#OZZk9DBR;BpB@Q1-d$fMU zg?^9rB$v~VcFc{}AFFuCJZ{(RHlsE^Zls6Ark$q%26Vd7_YX@vD2Usj2s;K846U$> ztn&L~%AYcR?J|usPBz-z`zKlrL?YmTnev?sPoj#Yn4AD#|tOGx=JpMZN_? znmciO6~v>f9_0aRIuBIPq<9F6uGxfEGNqFITx3rcZtGFG{iP&6b1nk?BIEBeTe`K& zq;+u0X_MB=rC|kF=d4uuCznOfFgBJ2wh@#B5g|Oae0f#iC;1P!&ugPgKNUs(a$ME) zYo8O2Btbl2|JWYt<4)!dIY!v{u^U=*KklXS_lbDF*~26?`Q!dYD!8CS^s}vus`UF$ zxW&ZsCxfuJO1u+9-L!kzW% zUYFplt8I@O;XJ9;!M9&Q^ygAWF|X7DS!dEcl^^}HZ=@X0fJCHr1r-!EHX zJ3#Kb(`Fk&{Bu>y;}ai+XcsDhi&p*p@lDzFVB%mz7wqHe7V+Bkxc6pQbn{Mmmh`^C zpQBWI0nJH>v#$wd&n!F+=T2uz%RiXi3X1u`K-7Ai<7`_?}<`0lX~}dHr{z znHK(TC-Sbe5a-EOW^ayD1Q}|L+Uu9mpws{{m9k;BAfPC!PMigwUZY#IMDux)UMx48SF1(79O&sDM=pM!En1)L zv^=85i`{Vs1sr_%rHtkIX_wbvbX4%+GTvotf$OG=eQ$4H&6$7G*ZAmcoJu5ulqQ(! zWC#?=hfUNYZ4{ph{eZ3RCNw`|A$2sv%EHUwp-kDfh*9rZ{L$RpoG0%YU;(+agcS`P zL`eSWt-%=Yu-+%Vsxr^F&G=6NDfJGV4_>JqAG zmQA%~3$6ZJz5;S&NIjg?jn^EI|HXJDvgp}smLWN2K~SEbS?Tci+nl+C&wjD_Wwxu0 zC8lp4VzV*yoEcmTy0Ed1*sUng7}JF+S^@C#}Gy2 zB~q44=hR$$ma^e{YN~t>MbSkwA-!-(W+;kMPsZF~>708mXAjt$c__3H!%!fDfcZ*g zh;r-GCt&GG80uG^d~v5YX2Mz~lA@d;PAo=4A?&f4vq-Yd#J{l$99JO*Nh4z#&6Md8 z$1eG$ZtbZjVtHWXF_^I1ccI-sQVK11Y!VC?vibG&$9`O&U5Dcx2mz+IHobabtup)Df z4{|24kx`Dk&vXMlV|>wtLlh7AK9)fY1!6ra;@Y2Nk6^`7ZBH%<{@p00cB)ziLuvfCtlJkm9LiH zobi5Z64WKNR@f8{u-G zXvLig^nbb)?86EAAxkm5vR#Eo(#h>z{)jo%r8m+ktbPwTTp)SVyCn}?^3_B?4i(py zyegJ32@lbQP3Bp@n$8XZU(bu(DO)?I^7)~4XKCrIjGOkEDyjS`zuQK8Erypxk!PZE zk$C81&keJ+3YjmJaKYIgfO_QE?PN_U4vUH#%2jtT2&YT;mHJiNzZo_RjCIn<2kjUTqa?F#Ov4U+Whes z^yJ$t!piLmxIY^vLTfw$(}(uCPd{3bINO6XwfnyJ6!vaJ!2w!>3K#& zEg0eK-CB!pS71oKfRq6kg(-7K3$T0k-A&JgZ)cd^*==4gD#FUJAEtBvWp6bA7YO=D6c*Z-Fz}c|(qr2evY=4m*e9rA;j0%T1zu+$ep- zZHL_#w3=H2zW{VeB_QS0-mB{$Fe6JNIQR&SHV(OEACw6y@ACPE+#~C1M66l*QAQ{e zC^7=8?z7OD59_zudd<=cMZx>YkpZqT!BcHxTy4B&Xu2y~0 zcu#tBg-sGm!w1XS6=82uh9CXz!y~@;p2QX}sADeJUe~3NftE;ud*1@vC0jMQn5$Z* z7zV~w5?rSzU;LL+war`uOIKw_FJX2E+~o|d_sx^XV*uqwT-H>8I&}K$Mo&gdT8_r1 zTXy0ET^Hs4<=E}>p=3HPsNrS<n)>CE5Gh6fUMp+>4Rvy`IE2mg9B9p1)+GKT)j0ly$_+5BEWKxSjA}!f?-6?G~ zu9~uK(z~k>J=553c#XB~tVwQK+ngb3Hm|BTyJ9-L*Hf=5zdw?3u5o}6~<$mz`&<0ES>(@biEi%=5 zG7e<7N`p1@Nmhr;p^7tf_4+QWXWznq{=WX}$&JU?PoA`X&%etw#^xZhhz8&DUWrFY zvL_~|j6vS(kV7xVWy(phK=fFKp0L;&ncyd?dvKom8fT$LXZbH2X@I96>K9U^SJy~; zc3`FK1A5Wd$k5A=Yo#NSQC8ECZPPLWY~t+2on*ax5DsqO>verjec5_ggTSdb3p}3j z2Y)rsu(*bFbU`=KMd=oAwe{>6N#FFxE$)7>j{Q5+x^hBgshv`%j&>9kvDZo}NnZeA z0cO({&+tn95h#n^a5x(UdQ$sb@5P12lhpS@FniRIJD5WJ33*{Vfz}I|R>Ljl@y+$M zNpLXvFP}I~q-FS(MvFjM@aoXIsJc(s{+Eu-uB@;dRT4WA(cWept#T3OTwMa7oO5~= zoQ11XmV;lRbtTJ7XiKUrNI#N+CJ|uWwr4bEU(a8Jg~f1P7mNOTF39fp!H*(TbDjaq zb{oq$BPimU_bcIuCpVxE%u-Q9eviALW0G35*VInwk|^=gWE`xqzQ%WsAMDG&?Jaqe zoTZbtBmVo2PxtLs60!1=d#iwQ*IaFTdss`XM>k=3i@#||9Lm)tPQEuN z#QG^m4mM$*v;g;xWVdhO;5Iz-qb!1pM^|=&xlZC@o3*E#5XiI2C20EVX7nvAL_xN0 z`L-S$nxY{Go6%bN+q5so`z>Gp0#|oO;sV@6$RU<@S-j@=1uIrcVj8`@ z#;oOA}!9N%c07)S!ODCZw=14=VWK0GA8a6H?IDfCq`BO ztmm-mhxdnV#=dEEYCF5Z{3DT>nHZfq2;Dp18=*McN~@ei&ZVq~ii#cIxuhfpt)whh z6)oI958i>7Kuxubey-SN@Zu*L`0rF4j60}BB`=FPl0O9^tOnCslqVbf19g) zdTG;s42fi-ON2&(-KV9Qt54Kskz!?p_P7Ags@f}=L4@+ikSG* zfO4uakHCs?+rw^;Mm$VA5W~g2W{*B3FZp+;3$@6x?W>>@*iRBNMD7>OM&~HSE^iqo`)GaD0a>$ncT~x^Fq+o&&aNyT^cvH+kK;$DkX;>|WH8FS1EDo+}fcQUq50QGl!(|AhxqlQ^F^~{7tUFAr<0|RRL z5eg71uTW8gK~IqxnzkHY%$GTRQQWj=7V(h0g3!YUzjac_Bpw$!u<W2x}!A)vj zX8lM;-A5n5lzCT&;7+cnG2FBtHy5@neo%JVU+?^xou=RyoBh(LSIP{A0((S)p9xD%>0wlQih3o+JypI^d5vwY}laqg^) z{O_+y`1v`(IfIwDnHr+hqlJMtBbA@3w?M5)*A(3w2PF}A6K#kYvmV|SRp5Sm~rCV=k2brGr^fS3lstdcS} z`$+0}e7BFyk$a)WkP3`IDGHnnZ-~+`Lkd{Eb3@hWh0X>D@excrm51i%Fjq7x{LgzG z|4fhY6|%(UUeig5MWKD~XZmy*p!|gdUs^ZOX2KeuB~$RfWRBsy3I!ymFCveWj)wLcMiXLUM`6) zT(o;|fEE&5geVVmKU~U=``8EQ<8_qLiy zcpU4;72Lba4Cu6H&GCDb*o`KV9dn1lvUZb*b(SFudi^{9ym~ES4DMp5M}zfsEW4=# z6%fxt^0sm_+a?mQ$lv*xaVo4T-;$I0)7pJu!Ie3F(*_1u%fCTZkfLDz&_kCP;-3XYC}(F6;Qw zUt1HSG$_EB*ANkS-n3A%L+0Xf^6^DsEaS zWt@SZX)dS;iA_?AdhJUc`U*~v{l)!)_19J4AYOA`VmvLL>V0a10{ox%Ubod42QplX z*6%_c2~0zwPTBx?nH7PPGTo!Un#yXLuvHD|=%XEtOh2W8okhqRR}v|Z04u)tbO8Vn z?p_eZ%YJ_v4qi2PtW=X9>VZ985EK`}D|c+i)Ex29Ap_Fg^8fgL`~}2d$k@);%fP}` zQ}s?;7HbLj=HfRYuQcr?M76>JZ#O8&2psdg5c>Vv-Ni-wZIAsW!Xd;uOSG1F;EwLB zx1BH;(ceV(h3esN@p;75n@Ma%HV|PW5Z}pqc>P*@fAF5=KWWu-9mWoc^hzxIMdN87;?DWCu=rR+$>_E!K$kfEh}Tko4FZgifI z;f{{f@hNCMhoAr~K#1WrdW44s;fw)w_QY~*;rMdrb)Dh0Ir#%C4bBk3%7pbF{E^$O zYZ9JbM3C@h zZLW^M`lM@3yBTcd-%9eba~TdWzru>N+utYwjP{&2L7_3Nh_S=}MAyN}7l;S3` zJ|*Lm`+Z?TqT1>p9~w91h)3~ZIo6d^HX70an;Y3Ni-S2(KS~r;;o$U620T5Z^`&*T z5z;B2cnEqU4SIl$Am()eCY4gBxmqV4%jYP9MYAAyn_IElI-0uL4qsSpdf zgqasVt?IeivEz?owO?EoYc9mz3dg`!OGYNjwG`nS3kVR23co*I$XV$Sulze@G8D+yRw9vqJ||XA^Zo_` zQ*}Ci4asa9Q493s{1l}2jXl*mBOO$4Civ2(7hSooBOY6KVBq4}Sbz0)MR+0(L?v!x zSRIsWJu?EixhzBm)-wFii1~qRsKtkvAI_n{^vyq0)XELM;lIt`RULAxd}4xL@C?QNh0rf1AfBv!18IMxQ7%SO ztyw)U^_oP10$pZDI&*J~T1^6zN|++vyUX8-Hsk%TZF}$624Yhm7jQ!TVK`M9=3OF$v9FS=_ zc7l9?{$(@_Y%of%rZvY0)3S1BBZ%24@@#7zdPRIPi$7QEJ^&ctm8g3lvUL4Pq!Xv#)dPTh~>c<5S;;ZGf8N>*==PpOsINgOJ&{(ZUUx zEgbAxUpf#GxeR7p|KTp_DVNRm$QFr4Gb_xS$U3(G`IHDaWGkg}gJaKvHw1i=4OktzV}XJ;n>_A?;UUPTq} zkIBhdMYkoBy$sYj+x4!NafYY{sXEsIAe6zL2zp2w&0{>IYqwtzfBbGP3$B=)lo>Y@ z_+_0JAT+*5AjpV6IJ+QZhV zY8Uchf4KpG)YHEm67smG)Mk@)7voha%2Y_OT83hU=>NYvE8!vO-A3O1N`|_g7sSFe z^7lQ=HBT>ATB&0$Te{;HrMYuIq!6-^yh3L*KgVqvXN9?10y|cxb+=a1A+P3EDN{>_ z&Y9dGJw|Cn!I3-Nn#|2q061*HF`rRCB%6Hg;f>{L&Tr(I`yPBlQ_yeT{{tF#ahZE- z9ci~d$J9(3MU|1Ya!l4+mlXIW*fNVWlz3W31_;)TArSH&5GD z?P=WcNuv<(F+NBOwgH38FWw_3;g|kS0``1ecbX}BiZ)|5nT?{A;VEs%l65oZ%+uwo zrduq5oyQ`v7jk k@}N988m5?iKm7R%>U|B)?H;Auf`G@^!2A|f-!ba{05p+Q%K!iX literal 0 HcmV?d00001 diff --git a/titanium/examples/mobile/here-now-example-app/Resources/android/images/res-long-port-ldpi/default.png b/titanium/examples/mobile/here-now-example-app/Resources/android/images/res-long-port-ldpi/default.png new file mode 100644 index 0000000000000000000000000000000000000000..2ab10df9a193992ff5f87a89c9214b58693dedb9 GIT binary patch literal 47541 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Ʋ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 uuYiUwmnz{3^z<1d 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 Worpo_T9XAJJ_<6bAFHHHgZ~FyQ6F0X literal 0 HcmV?d00001 diff --git a/titanium/examples/mobile/here-now-example-app/Resources/android/images/res-notlong-land-hdpi/default.png b/titanium/examples/mobile/here-now-example-app/Resources/android/images/res-notlong-land-hdpi/default.png new file mode 100644 index 0000000000000000000000000000000000000000..77519596a6a56480187ec14ae3be3974fafbe2b0 GIT binary patch literal 102971 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�gtj<3?5ys1}=>F?hZ109;I01&(nA>4K>_7w6^XM%2Hqq>z^u z8jsGEGg<|w9sywdJq-v%9xK0ZwjgfrgoCzXLQ?bd_s%0UN3t*|$-i9bi@qk|Q$e3F zM5O%cB>Pu&X1lpjnc&ixN*hT#{|v??z4{vm|3x7|X1r#DY{9eTwX>0PqCc-S2D-{4 z?WL)Uz4*NY=sc#V{c2I+s)T4)u?TK2*s;o_DUc`_#NF)mQ>Ba@-2uMgBi|*eGVYVT zaW`)hX&uwqSMQ)Zqm&>2m(BlWq$((5L3_u(^G8ZbGA7WmASB&L)^!$m;o>Xt%)qS+ zagt8Mz#0|aUJFcv5#ArbiSA&$FI>E8cHy1?LVBNFyGdZ*Dl0IeE0(n*Fo?rz5CCF! zr)d2_k@u9@R$(`izgAunB7Do?G595 zYxv_SV}6xpK^~l$WRr)K5y46~XF|)UYnns!T8L1RH#w1-&=DppYB4GY~8(kdDd{6EnvXOSS@ZHy2XJ&Ju zy($%fXCp3#OtJBZMEUeb4|W)f9lo}|hp2fa7-g4(@*W?Vj3) z^zVB1PYGm<_ESSG==?4S0YYm0%o_=y%}o2?nz0m0J9|=IgZ|5-`l)rs;{cH{@lNhK zj;jo?74xS~P0O-5vcKR9w zkikmJ%c0j%ew?#$#FFmPf5rhIlCuAvEYF@4pmWBcUrq2i1B}pg{#n&W!iI+x^nb7 zs2Fhk`P1-EnO+L4?8ETLzLO55KfZXH8I?h_MtWgd8aTv~T&(i*TH~4yB8R!_CH5ud zl|Sv}M9nX?DqJ{#_Z{q_y!hO2>g>tCDNR_5PfO{?NRAcCHvp_5v=HWGpwLoKrdEMe z=M~OoNa8*7uO82R1C`+m^#QWy{xGh4gmx!OV|u=q${@gU_&UGlT`4ZPO2$&H3;tz3 z`;PvX#u|?0F{1J}RC`s73;0zGNma8GmK?k48O+T~XL%WVvg7;{o*Z&m#X>K(?+k5h z$FTA5x8*OLre*&q>!s-zS16G#k}KS@X8bJlr5A=RNSxe_2>WN`Ha}i#3y?Y{cAenL zM#Ho=1W~^r&sI2%89-WoAPE69fcSuqi}#I{7*dHShkjmI-P|nwB-lAN>8Q{J104~A z_j?G60#Uu4jR0EP)X>tv*`hU_)+n)?9*4mZj(zpqBS2kT>yf_&`QLI~*kd{mr6RFY zXGk%s)JB#DU{fFA!X@K5a#z&ZoUN(!CO2yaND#J&*G>XhuEpaAFu`jpi>}poPN6&L zK$Mp#`WL<7g+};`AIR<=MX9JXd}wG9=XM$$Zkc)U$wVxINk^rBFP!XZf{$i~4A!X- z5w^}c#=@J?bEBmdKhhNOCcIF8A;OLt`=R{*TX(w_FK{nFAsTbjk8?%ejXR=>y>?fS zIPHbi)08Hg<*F?kiYjT6bj^RW>Qhx=k;_ZEVC;B7j9x$BG%V=_dRpxhO*(-llRG}z z&jGt62|FXrD8mdF>L|Od<7oGWt?dQKr*PRD%w6A}3O@xakX{~KRs??2Ow2dgVl5V8 zmx}>4Em0KNbVkGf=Ru@)UqgG*PCA-jd_zNqIEpI0GC1!vyVNGk!@~3=^ysDjGw}=L z3+Kt@4ts;QEqJSTgeE@=72Ib`5_JMw3F~L~<+cPHDD+`BeZyss+G(xsE#I0~qf>-4 zq(>mI_f0Va=x4j$_C`^WBoMtFQ32aPq{JugYhds$F05g}>BUHmk{O@K6GuSWe5GI0 zgv(znqPFRAxW}RtWyy0{u#EkxZi%GB_zN0l*fE~aLIxwSezx$fwFW1Bq_)y{LID}} z+RMiyogy-mk~~4#z_dun#yUpzmy{1qTqDRiP_3ZaofKRErBnV=E3e{vGvSGz#?fXw z$A~l#eFzYCIul#Y0Gt6=B^IOPMLR&M5IXQ}@j0MpMLxAiFg)_z{>LG|DWofY=UG5Zl+Zq((q7WAN{quL|~3YpaLTIe~(%i(}$)@}aq z(MY7erWD`L11HAFuUOfcUB@jrp9gN;nM(`Z3K1OkW=gF-CW0Bdtn{VWC2@ogTlWvw zabN*oPhr_b+kYcNGuju{L5xL*Bp|cz7Uc&?dx`ZOut6gqW}J~rQL2Ljy;ZDdGMANy z^k{FqSZxENk=Js>#$^GJctCb9CX8)QsjrspocW6+8PH#jC7=cRg&G{$HLrOTF7#W6~kh>_g*VbG5^LQ1izm*0MO=vf7N5y^d<8HnCC*1Y3W z0JX%l`xdgVI$*h3F+gwu?mb$`_oR*fb1D{)MUE zq}{-{XxP6jbu!5NVLo0OvzdpCzxb7Jd_Uq|1G=U-E_x%ag2w=9uff>n{kC*6@JHA~ zU`>Xh&8Cf8bt1VxOO8avLSoymibJ0>?uwcIU^e{DZ}U)O{Ad4g-ic<!%$t_66snham00tG6>@1>ei(nwfvROnsM>BspLz#CxsHB8qQrBGEtX}A*3gN}? zaK_oDO5#_teQ5~I+4{*&#gLX?oe6)t9JAwTZ`JHZ+l;3?LOBb?ogZ+2mN2hqC%$kx z!n-BgJ$HKC2>Qjov{L=uv8d2n-U-j{8EE7I=6Wnr@v9#A4XS8aMgCSkd1`;{ivA#K z=;3px*GtD*P&En`oDwnOQ86%Q4PmJ==;^4hhX!|o@{eb$1I?za{Pd1msY)ATTf=ZA z0TA@HvH+ifH%o9^v+h*$lLTuVoz)K?TODxow#4d)Jr?q_xWdjL7&8&&gRd&UzYM

pn_r~o>NFk zPHq+#4V{*hOt5$zn<1vcPakci1Vh5I7#^_#MK=P*XXLb{__!G`E3a)~o$ZOUc*IL` z1!YUdU4tVprppSdvOHrKn`AezlHuFF!?<%?6jj0p#-0*l{UH73VG?6{ww88OEh2!r zY5;y5=!JPv=!3ul^#xlMenI`fUeXZ>HA&7=7C6!rC2>SXt_}4cPVm@$K&54pvhiMk%8cps9o^ zR_pTH-?C{D2UZ~04DSO{5oMDg^EH1<#rqfH^NcK{vYUIA#7zpvqr*n(mEftDd%h>L zM70znO_Md66G1Zran>^T#+!Ft96m$cVYE$=4>TRW`pz-$F1ReZXT5)HI(}<1Ie0W^{=G?x+cvY}H5RoG>4Co4p-%&KcWxxfKFZrPnPYP`ZBH3azXZ?8)S;Nij zuIg`s#yZo+fQy`&{1=BuG7?HGC`}}r{BmqE!&ZTdy>aKC((WT1P7Hl?yrS!1i57T6 zf5Y_V_I}+d;@*M3F76~H&!p}qggffP$iT|b1FbxXkU-^xPWMm_z5(yqGI}?9ZEqG z_a2oOAsv^;cM|C|G%210IoAbJ-7c-?^$SaD*)D;rITLw^V9Zi#qCt_|$7CamY(chP z!>Mp>_!Y9t@x!E(U~>Jn&Iz5Q;1Rwby&uZsahNHd3TrZDc~&2e&-N!jpv%3zh&B?z z2dFVUzq+=m=)fG=K@BNU`#CdRpLFr@V_8h;f|1GlxiHW+ObMssRxaeM$njmJ{-}7h z0e#cypl`O*kw99WRo)owJs3)4popz})*-f=I*RKET?8WLY<{*lop2Q(Y1F_>){;#17& zqS^9QLGr=bxHqfN1A6%w-lf#z4R+BU%pQi`htPnG_&(hPm8yM@3})K9^r?~1QFGgyix_c4Cp}aZc zzTB8mc-AY3gu~*lIyvnvbCA@Q8n?M7?e$c`B_=T*jj^j+gj4iPDZ2he48?UYA zV4ebw9t#PciZB}sumn1%k3ntUsWg!vWO;|LQh_gj>35#GLR7f~+5?{dEq1CweUgMq zHbgTRD)hzBcNUW)P(|F?*uBG`wZzWUx;+xGv`A@II~I^`avp@fEGj#3h<4@g>Xl=V zhD0Eouv>Qr4r!fl{!|UPzqr|d%t#NIv>SCp&$;;S&D3(^Wi>uF(yHS=74P1y5KWi(k203!v}8J=UW|

MN`G3pO|KcA=3CLvU;_&iKQWu+4R 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�A%0YN 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 literal 0 HcmV?d00001 diff --git a/titanium/examples/mobile/here-now-example-app/Resources/android/images/res-notlong-land-ldpi/default.png b/titanium/examples/mobile/here-now-example-app/Resources/android/images/res-notlong-land-ldpi/default.png new file mode 100644 index 0000000000000000000000000000000000000000..7db10fada2f7495cfaf9dfd205a7355ff1c00b8a GIT binary patch literal 37038 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

dGl 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 literal 0 HcmV?d00001 diff --git a/titanium/examples/mobile/here-now-example-app/Resources/android/images/res-notlong-port-ldpi/default.png b/titanium/examples/mobile/here-now-example-app/Resources/android/images/res-notlong-port-ldpi/default.png new file mode 100644 index 0000000000000000000000000000000000000000..2c2bebe278280b57a274ce21f076d8beffafc203 GIT binary patch literal 30377 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 literal 0 HcmV?d00001 diff --git a/titanium/examples/mobile/here-now-example-app/Resources/android/images/res-notlong-port-mdpi/default.png b/titanium/examples/mobile/here-now-example-app/Resources/android/images/res-notlong-port-mdpi/default.png new file mode 100644 index 0000000000000000000000000000000000000000..606024d09192f2bef0b0d5ddfb7b23caf1d39cc0 GIT binary patch literal 53982 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

+l#?*4sJ@P%rAC~SCu^D zfP25;7UDw-$#quprAlGtCzs}R!_CR9?WCW5lU02=W&!Ji`4#&J&Dg-|H?J}6)p_k6 zVw%qItXBhgzo`d8>};xc^c90*cg|=BMzyVb(vNsKTTI9~=^*%Ij}b-{%tCk4r+7%o%|B`4X<*+3-GAm>bN-jmh?deItlSd7VHPnsFdkjYd1KrsN?v4HLULKKbJcLv$~wG6kV;Zynx749KU-L5*$w>M+`nyZKWRw> z+6b1Kwe*EfT`FRKf$|z$NDx}~LoT?Gvx7;@vhvuSID;>I0xrPkZlbPbE4#|_psDN} zmUa0V(?npPb(m+q%7il@shUe{}1^3%|*Q%t_Xg^v@4%&*$=hGZfFw+?sl(6_bZl#US23B{MUl_xogVo zojHzaEgDFl?*$zy8}Br!Wb(c?x6JRHeY5lD>E`8HDiyQP6>(?e6yX^uN5wCO?&s`) zTcFo(DMNB~&jwu{ zcCc2rQfoFto-E*sp&@+*%ZqHDhFgZ*eQ4QJV^0*^_s9BXge@ZI%$LV1GZ|wCzri*N zIYnpI^Y3qQi0{pd+}rnDofAqpq$vf^ zDnfqp?LyK%o&7_{Z`6^wqsZFsazU!q@z{h3Tkt!u;V$89`R)A8{OhzR@w94({c@wzKBksb~F*8}6$MYBD~p zT0R}h0k52^bUpjB>gp$4`)C?BE4<9{ZSz|XlPzOEyqTy|7jtM=_AVX$-4C4Di!kwP zWC$=$TIp8O&Fdn^{pJoHd-dOd-LY7%X!7`=wv7 z|MmQE{q$iUd&e{tFa0=pV9o?oLXr9dgaV*U?iW10448Rvd-=&;<;^}`qlo@nI@d`4 zK2-4{hDR@aZ+~HLw7<3LrIu|s0qE_IBmDgamojtfGfo|IvP}-ESOE(=0Qs@vj~Xz! zxgcK4G*Fj}rLeo~FbO8`@6O03q{FDh)_La(qup}Oh3_pfMviy>@MSK^;NeS0asQ?w z(@rIUDiUgI--|HJ4E&5}!EFfK#6i<{FVqR!P?&C;!Abp=^zzmP(tzSPapNz%*@k9I z7((zq$5pVGIN2TcC=KLJc)n24;El<;Jxc<700s4WVZyu{#DHkx0r!dWb^|Vw3*Qr6 zO3_Z1r50@QOE5QMn_vaMQ35&J?sk;K*kNBdi(AafssQ=-H}eNtd z|0-$L)5({N1mG8lVx}bf!<0rwgJFiJf!%;5T3Li3&bG3Ia@|<uQO-ZMoc-K3x%o@gN8!QAV&pO#ejYfPHk}S{)6drc-G>6g_xG!apnE@4= zgQp(i*DKX(;$WHog2D6@I|$+IZj(Jq$w^7xxV@ux^@Mj@H^TIhU#v`xe4TY*Phh^3 zo~~pa{h>$hZMxU12dPI$x*YIv4D;qMBlpUa4c30r!Eea;#G>=DALQuSxyFY6?X z)0Nm6-mc&vO`;9ZNhIGsuhA7w+z4lP8ptF}(?%?Cn>pTWLP0H{MUqAM^yHex3r7Oc z#LvLthL~wUcF?C9-=2mp2W4o%C_@trmwkP`*|Bu$dqmN~%ePI^~k*?z^?zX=x_J060gqP~|} z$=j^g6XoEkO|z~&z?A1#7_L*y+i;HkRCe^pvZS34bD(_devC>vw8sDCv%cdIetv@? zlAjv~2fTQ(wl-K)Usq14hK*y|`H_%r`W}$>GRoSLa25U7%MsZdu>j?L^wfU@2Ut#C zjl(tS(^0fKqbMb>?+qU{P>IyZ)HJZE#L|_~1=7yF6qx2Tz}OPejU0QLr#HETkwCjP zM}gxEdGZbJrbmBqJBvwC27y3M@Q2@hp_4sO z$qDs9oJ9DQl6~yv^!RfY6c?mJI{UA&BnSGBCxWP_w~erV!WBf+pRWH~M0fz1~j zJ1b%ZN1(1WAr1)f(_C_3Yl3?KM-w|jH)Dwy=fp;rup9`?;Srr%_O3N+|CZ+oH*GrQ zj$9!O%7B5<9?3Z>-nY4R$T2vBIm|RTedDm$Dw9D;0hL>}T`(uh*eVwhf7(se$7;j` z95Cua1~kvuX*SBAV3^)dn;AEmm@B!Sh!V}zCZ ztSMX;^#HRxmHZ98wMvuaDPm|>x6r=0uot$ddVxZOkuP^G@f*W%0fu>^vIff2W;WdX zu^^Cc*oMkm&jGabKn)>`^qf?w#IR1;@h`z`$~5m(d|T0I`)~?)RfE&yFW_ikUZyPr zO7(!|U+Myw{oVaPFtg$Eu1g4O`ZX*O^#|tQ!4n4Q=Ln^3Wa6kb~Dt`XV zi9Y^mFk+YTN^0S>G6G!~-SqpRWy#H!pvxz&VOk}9>hiV-=aeYPDj~B3#DH?2q4?fr z?OlpLZHKp4;2BVU1Lwfor|Sg$8bah(VRowAtZ{o1czhfih~8Xp5akq8%UzXrgSHsNEyCXq$j;+gO>T^T|tgrX6gPi$q4l z6n&T|kfkHFGa8VS!+t%Fs~B?ZiK2F}glau2FF!T|Cg`Y6EaR2h9~IHIh~SeJ&MoiUs2Pb6zclIOrfOd>XwDpx@_j;O9k}KgD`z$Eq_FpsB$6gN zY@@+s#vwZ3sItpFn`rBuQf_!27szlhG%%Iv&o7R_Eejku|2jZOiF4mf-}uLO1A`B0TW|~3qG-x47L-C!#4kHZMTHvgWs?IH@VO{*JLh@B4U~LH@ADfIT#{rz z)}7xLW#XhZ!?0w+O#Q;YpvIWK-y_+wWo0<)RP1jCX#25l|0 zX)@g(_KVKMaWG8ajgN9h0#>tv@tZTT$Lctn_tW7uh)L)UgY>B%?|M??ALRtbj@!ho zXR~Zz;jbt*BM^PLTrT%8f^)#&WFF`6Pzs&%o6mW+tmpu(=&=hL@*OeuhWYu4FIXE_ zQQY)`2~q2h`?Grol9*QKM+VoV>X)7~<8Rl0y{0!29Nj9NV3t4ZAHEl6MLe%i3)Mvx z8Va?9tb8&t+X+Bqv+J0%+#;*)-zrB0# zf({Qm2UF_$^>A`5KkW$y6EF&t01 zxRq{Omn9fFDJWBWOWf7B{~#Mu{bn5ZBr=Ynd(5|*{y3)$z43hMpxr0k+KqeQH)eK$ znO7cqvyXQ^39u{jHEHO+$X zb)upZ!}NqKR(cMJC^gxw!svgB5vEA3L#Z1(F{X4=5b3o}e%(+4mr6M>iNltNnTi;Y z@+zEo!y!5w`W1FiliNOiEkA^Lhffr<33rGp&IYO!p%*sIIM(X@thNT!&COeUEM^;{ zVDwMDvHQHk5lSj0l8fQwv*_h4d$SsqzSZ5U29&ehIOe8`u90j$>!oi)zg;4k!q?Xo z^*Cs8h>&m_`HeRHAayWE!*7f%H5kM+!++{g6<1Z5z0FJI_KVs@Fh6^IO@CktYwipV zNKNi{@q2Dz)XRIth5>zTB1~3qeXDkm(x7JoeF`WHl=_-dV)!1&_u-V3@>dSb@3Kj! zDy;Ew*_LGcmG3xxAC)N_^e#DRQ`arRR%y6+tsod-Cw|)iVy*t0b>g+R_Fc9mvU-~u zNzmfMUE`o7+}%GyX}<4!$~F1vKWYBu!@zjx8x-Q?`V5n_-W;+Tr#;m-t=n-CqGrEW zSrt5V9v75qZcR!ZVLcaL$yF#$`lPk0eu=6#DVYHMP&7QpXg81oG65H4 z$X|4H3>MQjxN_ae!9)A3)SqTJrV-T;UJWF&P3*P>rmB-y`vgts%>hlMrZ&EfKQ->v zvykDFAvk~Vcse% ziK>zzT_CORP3s{(7P`#{PZ=}Z4(?Ulc(E{R=R7!4DAr#yzE`zRx*}Lwrsz!~S2l!F ziRaO6N&nepvl@d%jO+?o0Z|jI5^eHg>f++(+;a<}xvT-v;RZs=0lWF5(N7&RgkVpz1 zye2op(XHMnFdC3FOyxn*2WMl)Dmp`jr%N%7`m1%#HQKkt@j6!Ezv6toj`VCkliZjd z)&1PzbfI7zDTR$`Um!alff|I1XT)Igk1p*RaYVsAgC2^-rgtYvIkWJGXaWnrke4vJ z(~Vlq!t8mS#D6fL)C<7ssyjcgkQ_;uL7Ta95TyxlaC-d7HX+sBq7YKh%}wr!@TRMw zI5Ca`9;Zmm{LPy5Q7_zxAm7U`3o52=UWA4vb=Ggfl4>p+lyJjsp1x}^?Ql#bdE{|@ z2KiU()O-cXnIECEVT6kp*oYf`G|odo-14lAiVw(fJ}~uIr+aga2DKj|bN#dPj%LjT zAdB4|K&aNO&Iw-#RlZ17Y|O5egX&8`r73t_PeNf zDAKeXBnDfSJJ=J_{7~ikjQi+GDmDC7**WzwrP)lB4=GQ7If_6a&t({ZwEa2kesy%p zXfR|?x|G9~Qj)z-sr@HdRH-l(Yekm=PpPy_iq6t@q|=B#>O9GoIY&EH4AZn^CO7Ms z-Ib5k=>2Bw^SDU&)iEfctn;C1gryrlLj8oWnJD9m$}qR2Mi2iCCDJHh?yXXycd_V} ztV+2;abOVbL|<08fMyAA{<|E*N++}kWDnAq_!(Sf&Gir;##oCXukXlNGkY1y?$G%D z;ffprsY@jm2tKz+p(MelMJWhbys>!ga&A8=aUbzgI=peS1Bo^CsPveaBCBa4F5SR{RPSyKJOK*!brx!@K9j)Y&?DhVKzDP0Q z1Y{j*pe1cL*_2R0JescEwuv{;Dy&4Ff)MpDcqm6{O?LleJ zW5X&i`BpJ!#^Sei%jSE6!BH|Jk+3z-L)IgikC#Zy#^#UL%zP~0ZIva;B+gF!H8Xc! za@IDUNOpiqD>&897G2Ms>;#z6gT1Y+_zMKgU>uUVQFJR{)d}{<)coYSPIg5j`P>A z{y-Q5H|2e%;WVjW6ewEmlRg{xG=&Va@f}BQ+Yn0Lba8`@oM#&MI?CD{D|M964to$r zU={=3Rmt3z(#3`yviGX@-^Tj)zM|>nmzPk=<>np~dkz?+s-d9YoO~CK{Bp7a&eZ&F z4b{QZws@0^dhSxJzt`4t|G6yW_3*MsE~I#{a#qe_R%Of|qbBqi<4HffVo0Hv;F^Cwefm!VVHCseB{UBsQ|AvN<0P!} zfRcE2Xk&ydjE1oyV@Eg;%B28CF_0-M9terLgoYfx~DP2Hw_5szkC*CTjwa;%EVz!b{;1IoX{bU5(RKC|IhJ!ZI8;#!~#We}uV{ zlSx@Fw*LchYIuyG7nUfXPj%_XiU=I`=hPoKBn}lM)BY}RfpYeCAv|u+{V|yrmcvXjiIG~fFv*<#$AYit z#&OWe4-`A@rHW7#oN0!kmB#lB#qx)}tm*-E&B6isF#e@#(Fi-SD|R^Lq8v1$Jos^7 zwF;Nt1Fo}HhwZD2LRGM9L`4uFIEI04j44a6PaU`~gHE1j_*Z=Bw68*N#GGJ8fJbk) zRfb@FG15RKEW;y_ll6;4^UAxuu$w4mE;%<~x%*Gdby-<`B!&B*VAF=?b9yb}L|S?< z{Wli!N3GDB@gwTqy=58iGMsn5@cbSW(l(q=wz+j{;?dS)GJM6#)V`Ti)De${fpJpn35c7C8_S|(|$$0^yeXddPZmgNCaiUJNnS^kef>B=ZOZiLPQhxQ$Vt-fzD5F*~{Y?8UG zLwD_dT+rCy#KsFzohc=t26bl}&AcE}2#P-k1yFW0o zD?hIpMdfajqpC{2>EWnt5RO^c{bXA&*02b@mj&{ncb1HwQeM1&YhOcyy}EK+ru~m< zU*xCSzrw8)i&epdSdQi>G1c8fR7Z@rE85?I4K~ub)>tCdiX%zmMoGd3e_jAF|7i~^ zYUtpSCxjEpgGgyQejInz@RQ#>o_D150Yx;A%5!W~Y0UY9o06C(CaS+@C>8-i`CT}9 z2ltm&5#lE zPViT{HOT4WJ^5j5r~1!yWeX$yIBbh9E*^c)+vp{l5EWLvGi<{Sk)bNy`$V(Znc}|| z5WS_*?^Ru+Q>|HLrUqY)#S{Jt=G!i_&57r%>>(L$V;rV_rnmc={X(n*6imY8@Bth1 zy*k{-L7%DrEbzkd#~IL`PEBz7ox?b*msOnn0YwsS)6X@gMi8K>u~g3guAvW+5V_^_ z+>uz>wny@bZm?|NJ0tqU8&>wZF@3mJMit4cN?OI@b%MigcA7I{5dpnM_9eNOVH5$9 z*|P){!l?Z|sU5+*DPp)Jw<;TY!2^1R+EmA|zGw}a6TQZM&(*lktbY4wF6`blyzG5h ze0grUX(ZKaHT{e_s+1^&mk=dDg(rWrAUTg@9l+qcDQ@OV&n{`oqF%q_*WB@mupH{fhqsEu!ArV-g(<1=qk;xLPvkSFO z?eHCkB$S$7Z>?RW=m&d>*}DY}=1%xlSW^1)09!HTPZX&%7^BlbCPSrvN1iR+@2^Ey zrfuEcgJ<{r5bfl%J=`Sn+@MQNHVzPTE}MRg9Qh`0?~ucT+MPT1p;Bp$B#r?eB3aP5 z_AKG)oUxwx$Q%`!;ZA#}+j_mXKAkc0@t|K?`vtqAr$ZQZZsy+V^Yp8Jtah%s`V!vNvc15K8TN<~+KbLx~S@i3ZHR{0SdgERteI#iBx2o_%H@L-zqj`W#pZ%LWY| z8$`0EdF&Hucr>s2%R*?&k zxf1T=E&?H-f2l*1?FJ-LKkf2dg-sct$4PD?7Vp*2QXAEBNhs9JE~$PsNVn4syzqc) z)LT#QYlrVeo|07M$(7~}p4S_A+pZ{M>o$bA&2B_mzCMsmVqBIsOFi^yXZAi7cD0 zTy52vHF8NSoy9bxJ0<)9mL~Oa>0G7`(H~9{i*n#vk5}@5G?m|s%^!j#X`bnhADvc- zWo%$a_z%=afmacdnZzm=$C$V%n`3JW&TRYD_~7`hzkqs@F$XAh~J88n==0`k$Y zuDH|AvB8cIwBN&IW}(3?{oo@RrMwupeca-wutCVGy9 z?|rzZ`p((kORk9_*p>KYy147xmpS1cZjm_KXvS=lWEdgT9Vi?z8XHn%oL?nW^=+|c zvDYY(u9R}wq;t}gJD-Y`q`?gV&Uw8RoY}E@Kc;ZqSgvc_0tkSV@09QZaBYYIb;30- zC-a3M8?Z1li(JFbBPO1LdJNu&<2#wQMW*nQmcJ}!FaE4S8=h%wgXPlpJLs=kFIO49gky_FhcaC&-^Y;!yeqSnxu0INJLq? zHfel~GIeqiT{1M@;8$*wnDmFbl4ANuw~?LWIkRl!&N3h#52b_u!G2330gC*arG?ekN zLB!H45t~NnsZ_N%pG);}DKWvD@%2T2fQ*Wpl509i6Te&u_m5Gp*4KcJMiXCPn(~3R z=4y4|tyLL9+~g<{#2&whX7Vz}47czP`M(k5(A(Wmk1-PFTlK~qM+DP-trj!+6jJCN zhhl)|u5Vy*Iz^&?$+3*q@kEXWxOaUZSNoi|p=r_f*$-Cr;p97cmwgJL){6``^M&as z@yRfk@e*gEFjLGkKhc%xPfEWMgfY^EJRBQ$5~4o}c}5fi@L^A8mUs!LE9Bb!ie-tnQU8ycypl z)Y+eR8fqwW5W~#NAR%=)28YVIHL!52Mf#ig5TATX0E%kjQ7%?WvS+LMi*a7wF#5}B z9>q7Ff~Fx8Hc{eXtDNW0YxiBVxDka2ljE$z_0zs+?dy{Pj5IVY!G%!`(NsU=HE!hm ztFcW`Pu3*q3Lg;doJs4&-15|%uAE3pfxj9?j?dvFP=#tjH3IVz0ZIEi!)@AzYLw`6MI}oh}BW z)qJ9N?L~CCBZ#6Oea>a@Y)L3}W@y+bj4=tK=7;*GS+s7|l+D9!FgaXcwyDLnBD7aQ~&G_^WS(dVL-VLN4&=k{ubeC z+iYTOei|@-#Knnod@&TBh842K78x>Fp+FH}J2~g#?JDx;8$L^(1|-J|2+r5kHoFRU zl-tPLtLC^0nqqb#k)fVGvA2oO5vf+7e(K|=S>}^ai`gkMa7uKK)<#O}JfMaEaUvBy zTG%npU#FIINF4o?R)hfWz0#js9zjM;Z63-IYp|C}PN|~kq>`>JBhjCJS#^xWvoxH| zhg1cr{UQ4$7i0WO%&L7x$u1Nmiaib7nlI}>ecVVFEeuC&<0`}(?IE`j+T%ea!pBN? znvv|S730s7*?Z<<7jydcc|b4}$bHW0;nUYlesJc27iQpPmyar6{Mvdm=`gggpo!*+ z^;AtjLx=LYMh#V}Z8x4OEEvBPT++yyv_J)tGR$9X~PJlgEVj`^?Mx!G#DV z{`M!=W*um=_~9KIN+r(i9~i&*BuK+@H~e|5dg<^f5xX^#0;${vG)||aH=`lRCr zJ5O^#9Z7)__KW27fubRBo{RY&?STADt0B0=yW!XqA&~6-kMGCa<3qbPp)>4;V@^VTEQvGPa%EoYE%Zb`5VlFGMk5wa+9nX0{yAtRyEKHXME^#h#ln2t3nw{k$q>nLnUrN`85OG>Eko?qwv(B`?MTGk;SW+7oAp_sNdK1CIk zV-U*d`FbqkjI>&C*~^{Eez);6H(fP*5C!_Yz44HX0a&d)L4|0UAre?biIjAgQe-VS zmVF-%HGR0rkVp>t8c+hiCVDaf+M)mMD~2Lk7!c8KHE0rE>s<9wFrHmye=ymOmmgp4{)ry8$kHU5Pu4QHBrdBfMZ$(qLj`-QNxSNXm`5 z8F(M}ad_wNpE+}<+OWm2k5kh*LNuCG0c~Z%+{Od9%SIhXT{=2C_3iwTDbtgayPdaF zzaYr*wP~$+!(#e&=4;c;)uYo}b<5r#B8P!L{x32xL%6BRtb6V9^jUT7HKq|9GZhls z<)$n9C|%lIlJcPg$NRS7kLTmoIN#R`!VqxRfsSg_fZB%3id?s zg>B9rPpvjA1u{D3zx%_pLQZA_vC6rUSAYMAqjQ5RqK8rmFzB1yIO3p-oI8_^_UTjn z-@PhBPNCr)-!$?fGlJmjuhwia8>OA*1_z~>SXj*5+&(-%UJc*fxuOMsb_)5$CJ70@ z;z+gbDLM4-sl0Q6DKa{xmNoCRv3B9ST=|fPQVk6$uQ^BD)p8)8>BtaFFR6_c!xLoiru2q&ZkiC z6BjF1m~f+4uHO1W&DuBEvW-@Pv-b(YWIs@RifuAEtKfxiFn#umK9ZaU;G-&xQN|sy z+phr5?|3adg|^f|XYh3HppWswzmw2TwZMC=&x@=0ZDWg2Dt<{T zzgek)nN;KnYGq$2(b3n$g@^^PG5Vn%`3)aI+uYngc_>=nxfd$y{wQkp+K8j0>%{lB z?b-CauqDDSBlKUpbsQHKZ1_7X_2x7B=6|}M9bdAxgUdAi-eAEJ{IR{@R2BQ|R{Njh z|MZWKMRT$7clHSgCNj@cr>I#hjz=&By{3gcuBYFL8DiOeugNqq^5;*k~-rgB}g(Mk=rqAVdXzCT*?=1^vC?TU&u-;fV+QVF17 zKuZ`>4(&Ac5^^0siUh-`G>~|^?yFn>QL~Q1hq!la)+em(I)*3Fs!)t`Fm1Vi{BYIb z0AmKX^GTf~z7j7#dv6~*+(|+=#MxNTPmm05uol@yVpl$#Dc0#GYkPpw{|}z^#DvMe z9kIJ-Un;qu78uFN*<4Bq46uKNKU}qyHMZTO;*Skcb`e^zC}2wsbzr9Px-Y{)FQMctmSR`q0G^NeUXdHCxl|YJec93%tdw|g#d=Pg_BkJ{x0!HG*`Vg!IiOnk zH>(Vt8{mqM>GkQbxF@O}6P9ZU+2m9DnR{NwtHKmtjd=Qm!)PUy7NDY&I)8Q`!w zMCCIy8**{m3G0|lAO+F!3tYZh2o$dY$^@%BM#Q;yvH8pmI zgFw06fwe%^KT_==Kwe{!KeAcB5)MHk`Pjd4blqeKZ|;a_Er6*VeIZzJ1d_R{ztc0n z=!^jy#Kn{1O*+U{figkD@UF0@|iPAFy94phDLRsutDE^ z4GamGlkG$^I_B|NRJA(f?kB;ey1f3YQR}2rNVNszbK{la++G+-Q!pu;ZQ|HBq+>`%D(p5)A@%`q?PXOM!G>- zYC$@d?oMe*kuK>*=~fU}y1PO8o$v46Gyic8XXf5J_dcH|K4YaiwnC+)LHlOo8)5!a z`@+UMB|khpSJq=a(ui4d?wI;`tOsmNXR%-#1<70}%<7<(ZoE~sh91S;2KCwq85imL z9lR0ary1zgCVzMEqxjQ?f9s>JLteU;U9%y**T2nJx5Y8jhz}LH(YD*8oW-yQB_%w1 zh~7`-EJ@8f)~W#Fov#XA=y@#>%_dNPNG8Ipf_7RCW2*-#3e?CmK(ZY@cFtZ_gPAtq zTPOqtXC_8w=wK#(wWttE$3-w>w5$0MF>E$ZKS2@kree{+|E}lJ%cskwc40Y<0^A3( zGjaG+8`bv1&h3vzzQ=B=>l#feWKo-pzqeHnj_g-YZAKUDuIk*y(A0 zNIYTVV#{ac(q=ip+5ma&?uu3^v*)(?eECExe-%Fl?xq2aZAP^BKp_AfJs7qTC!y6l z$2@(6U-*zg%~n7!o!4pW3#=&K^>Wq_c(j$ehJW<4dmn8xDH_8eV#`SqC5q$; ztu4~CVOo$->x^0tPqOUSSUj@tw>>2{!?mo;A+TwgzYNvl99W>d`B1 zN@{te`Ji<|ZvFg%zGtixk)g23Hg!xd^qqD+Y97uB(}1lIWi7~Z>j-akvS&x@+3Q0O z1nYx@Q==%t(apm*yn%5{4uGcO=EAcVB-#9at9VtdsUb6)pWTG!IUHV{{8+1TO3Fb| z#;4b%?YDGZuoZNFyQPO3qncot=ZFfrMeU1`@yJzBK zjV<*~THn|_dL29ZLhY-a?|Skl+Rw|>NE)qUW6)kTy4TM_XJTD?3eX{zcb&r~5+AGE zv|72>hcKrp+#BA_*5MQ0WM9It+p2PFb?BXvf?8SQWa7$)MN>q2;HXGYz!~ZN7;BHF zzin;hdmZ6HIWs*WG`-i?*Wd8BpRTT~oIna`QUeS!d&2uLN{*h52t4iVoPqmYFTrkQ zmmaE7L`4Z_V~1YGv3DZ3dO_hkk#Bx&E_6pQci%SWBDpn21@8!X+PzOPR#A8SsMI${ z9;~HdXf=JXes1(1K;ThO-Zm72%%( zMwhPuz8$`lV=S{jF<7>XxFIsq9)}+IKT2>+|O)pbK&Sy?M`9(Kp zuSCYj#|r^9IHll$Wqgpkp%1iY=7v-TunQOQ{O};`Y#~^D2r9h5(G5lC_Po)R+;?Rh z(J+^ni#J;@IDxo}mk?7EZkh>RX~E}@$g-zaQ>_=>^Q77M-SRJowdW?{|3dG%o%l!@ zW+edkLC@L{42$1xX&1_O;rzMQ@qC78xcbJs04P>${q*yCB9LiK>Da&6zPX z9>pQC?+UhYCd*ZZtgaOp;!n`)*~~jU`=oBB3UCSrOS^p;FaDuev98{XurFaV0?LnL z__1HppZI3Z?q=H0rHs$N>sf55zaS#Ge`*{&m0kNp<|)KQvsgw$J{-GmAldALeU017 zjXKKHE@oeU>~QrBY2ocyTkp{t3Kj1|h}Y=rD$Fj;Y1s1QDP{ZlOEgC2ohV0)vd40W50%Pg|%$ zc_NH*O3M)?8xV7q!_M%o&j*HMUGE}`D#r=oDCK`!4;&ku*4GX9Lejsm`w*o}wK;I0 ze+s5qV-Oov#cBPlt%S+Rq^iUtemc&^e+H6G&?nikd<}y!E{qW61(oO z_HfjU+qn{-tVKg?$@^I4<@%4LZWWB_O0%C@=lERkUr1YSjBP{qL_iHp8aih=`W#N5 zG;L-3y<~zMi*nf}t}GD-@I_|vWl>UoV+$witlFkG)e1p(gArO68AQwNW7NtU>7}D5 z|K1d`K;U&X2{$?yx|~ZczEF0;)q^J))2`6)UmTUbdR^OzSvw2AmuZ?m4|oF@;ck4X zNMJt9{j4>^2s-%F*^CjZ^2y(MIG&k~4_=(H=JKN0 z$@g_~9~e^FXgdpVp>{g)?8s5_U7Zl$H1*5p|Gu4-Ep^lztTpxzuD*x~Ns>p7w?Bov zxEUEUYbp7l`b8nH?(EU~vgc)CTFC-QHgN52%&nPIJHM{x_IdL`mXAzGk$Kj&-?reu zC0SAEuWLctn70&bmQb;IxzMSbZ*}g$>}8Bq@h)++qpD((g~WxhV)n0lO3OvE5PNC& z;vf4F>2DLM?L+YIQ%^aS!N1IuaJQwD0JazG;?cg)mnaFaQ<}Ef48gD0<$LaOVN^fC zINuI6HE1Q<-nUF_|8O^kvD-X69M!-2OpPs8aMdAQJ)*}nk*e0X;Os;PHNXuqCKzIP{`LWA~gNy*OPfxCX!N8c4_) zhSukDTbs%BY(SV!-QfuxU%`gMy$5iho>R2(!eaE z9p^NSKr%0A;jBCRHt*hc7P^m2j_{DGd2QU@vOKf@fTt2o+vALi9plYA{&9;s_>Rzu zo!&Ab2A+NPr9$2L6umx}$d@w+uwRw+4jmpI{+KoOY)rqzX#Umf0aaw@HgovKh}!#k z5Df~nsai!VV}nb!X^aMHc#NQR6xU78SNs*`{9#_}MA$s-X!V5o-$FZ2D#8k#W4sb# zM`euZ&VqHNqab8nit0>REj zruHC68eRl%5Cy!ef~lFNGg89|$^(Z>y9D{=-_9Q0OrLm8DcugGGr~hzxW%1$8FNrN zqBjk97oG^I=)Gdwjw6Fezi5@ZeNzTcB?Ql)(4)IXf0$*&Ro6HrGbr|pkavnHr_GCm zLhj8cE+P0IaLN||juh**oP7nSglci5s3EDfqLha*X|kvOhB_NokmebLcVK0hg_&(E zIn8^<&fm_^p++SDrC7Vn==?bcj9I>#-(rl-vb3PQ_IJq=d5hSv*MEeZ&KAM5?7N+N z;%^$&{R{(xcr?_)cJm|PoIcIcIc7sS8IW0*8a{nX!Df6HQ)2kpev2^P4SK0R(VOB2 zZ4SoUgD*h9taIRBhp;+-qOm7tIZ&;Q{E&r~? z0)WMxyJzlT+n&>weZT%Rf-YVfG047=@x5S~B0-v|FWxxK9oAt=3k9w{4>S7@e>J#+~xO61Hk=;(v60bpOQU$GZT7G)INL-8?;KVC9&GrP zcRvsjuH#dN*3tNc8pR;kIzs_^Nhs#m*t{&8=O~IWMF#pn*Bl#lP`9?O0nl@qE^rynNh9cqsf_5^2>u@6joL|B&hyI-SKzYO!@2%ViVB_L zAI~*mvY90rpDG0A=OgZq8=qXVT-88@CYJ*>wQ_GPjY^t>Da;@ba&4^gLeW)nkz8zCkpcHJC|t~YOas&=tBSYDI6 zyBOjY@M%bMrlm+ICwwwc(p` zFEQsXQ~Ab4nG}ZB>!Co*As`7PPxXCbEmMPGaBM%6kE*!j%tJvhU)txA21nl^iFtH!pMW!}YLNT$|4RyVf!nwD(*3V>hH_+M|2@q_F7xWA**?~#97n8r?uzq+4Njc4tteepA2wX}k3>&qp`!kzYO@?LDtxMGuR zN8Rz^9Zx8&Oq%%B_*sM*@Zo%T+!E64o@xD)-qgM6JTN}q`cp@VhCJ1A3{#UQ3mI*` zE}zvWNVI+NWBZ~6U|i-8q_4d*F)@*?T@YqJ1|*GEKA14IU!}Vd7Ed6RS8sK$`H#CrQKf=@8p>F$Y=430_^z$G|Sv*w^B z@}_HzkEgtuOqW!$6$QPm%0oz+#VW5(#hdOYOHuAWsq(iZb85GcJv&Nq6s`08?AN*T zHb!O@amS!hFX;7dtH{VDTnqg<@D1<;0Gd-cBejS@r>YE!pFe0^W%bc3%gA-sy2Tn_sI^g2RlnNb=!dp7Rdf z!P04f*s%mS#@d#h2SzvpxfhPwcPUk7cuAgHDp5n2-ncnSl|CWOYBHw8u^`m6-)A}!~ zxUX~b(75-c6r&Umi{M)k(e}8in%&G}0wqzXy>RZx!}}M_M76S8dsH%rjj4(wo{Og4 z&H{31d%G`Sk`KEVeL5ew-;)8V?*ABu&>?E+F%{b_{HAudBmWdao_hPlznOHPElE*8 zPXEKkZCYb7Hd_sEn3X~R?!u2`U_aavPE;S}y%Gu}>Xt^1QFdY-$@-6YMgdBhkeC;b+b>vc|3^LS7&IcJ)Y zk)Z}`Z5h`4H@@D-^+T6aWFohuFFRg=DD4YlvR+QGsW?6)H4ON+YXn1Mktd*Spzomb zu^KG5Cu6!T4XapdwCBW}X-1l$Q$HdGJ81s@r9MCl>~Z<R(;29{pJX~9%Jjl!QtM&r^EMK@t$Zqv}*XhNn%0TV8bnCp}5}!clO%2XmU+f zg8Wp32I#YS!!5muIj$wd^s^MhiV1M1TDL8xv+vKmrPKVbgAx7V2FX`QH%&{Lzyy{F zbmq!Ed@OFjKO9`pvbBBago7$OcM+)vOgLWh-TnWo&Zw#l)Y;~4ZY4_A&tlXs&ufuu zM?~>5n)x=wsUBS6kPxrXzsM-5-VPM}sd;qu`4nRg%9#%M1KL(H4}fx>H%-FfgN}Q;KXrd+hdBb3S%K})y;hq6G&}rc9&;c$?V6L1(fx|A< zIU!8uk-Du6)(# zNk^}UeAr=XW;|!)BLw7*6s`Hyp1N(lqf09d+)K!){)m*;ry)Ed&^9#2<|14Bz>2mR zU4_a+12$PBi3R5BL}4XI(8e)a_aiV5%P>xMcEG`2a9Oekj&Z%*9?7Mmdbtvhv<U^vh4xR;(p}2;54vckADR*cyIWAf)tq>|J?n|AoN@lB>>^MA@>_rE zI`c=#dpvuyLRdCSS1e1LPTaqV7*@tE+3j<`(|TYVh^*IjU7986T8JnzOW-sZqj2k|2;#_02~Ws_ zO5Xo)9sS{=FRPXp(OOePIj0EtThu=}|LU~OY?4JobajMO@Xdfa5m3&5^LL>EXJmpE zfQu~zDDyK)_Wt}Ss=eta>4r}GGliN-?L{3aBRq)Ff_V8O&wLg-&Z`Pu?`LKB;ktNK zmE$#;?*rW^w*c@qRGcUllkVK&VY0J?8KpDEb>CfTbP}=8h@%-(gn9*>^$7tFbKmj= zlKn`P!44CS8JN8^jH|}qQ1Q4yKrnK#KojBP|P9cz% zcIDOxzHy^0o;!$})b2?vtql@AYfaHQmqb1toDUfpUbz7pBxFwo5|gZXXq$G3P-44B z2$Evr%4)7s`D%eEu_L|zZA4yeebnV#XitFL>%}yuGrw?HKzqNreQ%oT*=7#H$9ehX zVvfBdWMkn%<$fFs#_`EK#Bqz=S>4GMQ#06Hq^10Q6@?guJ@y4pC+^`BTu&oB=%k6{ zWo2k-mfv2x8~!?m>P$9yHo)q%`74pP`Y{_I+|fj zT>&I@U2CiNQhOHw3;WCo>GlI3mwnnXrljyZg&A(gHoMYtyRHF(dCx2;0NbBgJ%4a> zlTIiP8!)IhWRS^fPDV7t*~khV6WUk(fO1;CHq79A`LgYLBG3(N;GUF=5ozqW;5-;iWN2~M?q;L~qe4+VndBRN=$`PRoqH|z=#T|*SG8I><3G=gyvu}^8 zqTn4dP}@>#t|hmkND-1@3bUUYq=gIA`(juidDb>4>btXp#8&V=@Xw~fhVEWk5R`)uQhJnR?i z>+Ao$@cFr!p}gG{OZSd#Nl%Gp=I3dZRl3jy4XW#mqiJY~CRb#oDPc3EqLO(TyYt^3ppjmh3> zVAgExQ%**;+Z#>5?0M{$W~@6W>%BU-cOS%#Bn+>px?!{7mTrcv)n`I<%K$8VoNjPUP@$2D#@Y_%B=KOuPLB-bBmvnk*9syBbE|k zpne~swS;%52pomJb@qy@z&P3Q0b4RcjL?RwFRZ|logQ56;cIETI-%%`%=XEgsy4He zwS@W57VFMg^v?*(cJ99?c3)x9db{wf4>`zO0qdZA3#C;6u>wE)HxLGQKR9#mf36jy z<_bATdu6-|=9#zJSCQDXF>)e~0+grTV;niv7st!P?Kbahnw$bjew@aye*1t9WXIZ9 zICOP&xhSzW9>stR%+d)TU_SO=n?ji`&_cG10Aoc;kHdUfb;Ym9N)kmkO<4M%nz^IO&aes|&_R8I7i6$~|& znPSUlI=S_Xbi~Eb1tHtV2qat;X!AN@l>|g{ltz8M6a_)x(szFBtnnxO=l2BGBPD7g zwP;KvwJ&NU&KoiIM!oGWM)qHK0pneVIzAyjZ+5=bKs$Jrlb8q_xK#mfSlHgfrXnntA(VYFJjy?lQ0{B&jzh)WM!1g(el3P%JWnWYYTkk7Yl`30P zG%YFVA1+c#Vc;xX9$61*tx#50Zqu!3mNToEVX{)X;ZY>rEOV!7O%v!x5A@DQS-X=j zKv*wWy%Rg`xdjx|9pa{%c63l3Fo8Qe);u|?ZK{u6AMW|h-E<+BP zNKeEhByPul>z^)OHU>!F@>(91-EY7kis`7|~vbt^!y+LaJTNM9(oxO^^ z?1(=zSNY$M{oK2K6!5(UQ~RGwid+m5_(1N|LPWh{E6iNsY|c6xe|M`k5NBwrNut|d z5ozSmc@dFX)0YgMmwXAS>(WV^GZjgjGn1IwsmJO534cTV8~&~eV|<*mdb&Z%aSz_a zgE}OwP^3v7p0dFl89Zf__5Cm2{qBK=xs3i6sP{LppTCrvh3xq#q#y#vzK9b&$Iurp znuGhHV(}e6w{pj+*)MdUhnL5zcP&7`v$6678jKi0`lQ?aWKH?D zCnVlWg5w6j4M2rHec(~pEO)fzI0G0wTEl}j@{bc9D z+UzWT0+q0*T$A_@z&GdIB77)ur5B{5s+*Z3$xts>xc8a6(HwA?YjXxSNiQT12W z^e5BHpXZ(VGvh$EF>T!NDicMt5QEaB$cOX;&Lt_I$9iObv_?HViG&y^gHsoT{ad>^aSO2 zOnD;Vjtb5z#UHvPQiTe6paMWqld$hf#5GATWtCj{!wPSY@NRyjMy=T$LrUxG`Fj^1l3dx`~beWb$Sz zKL}jd(4f7-`%8fgOM>OWIO+|J;MR(|qR%M?lJbwu<&K39o^Y<}t-YQdtWG9``Kh>H zb1|&%;I@q=r0+t!@wX?6;1&^w%$>?9bGdd>3bIBjMqPh0a_(bnSq$aGk&6xAdLXBKd5_q$s8QJ_QVav%FW}s_g(T3Npt-| z9P=LYx;uU zep(uIE%~jiCD{&$ilk4^YxITylHg*W5f?2jY?2!o7uY?3ZpuCGx}>1<8XFG|ytzmH z%`6stg+tZTpi4C&htW*yU|gK2~*G?KshHl=+3QtBE1qH8;9@Kh?R zl*zHFA(|D6oWyl_K)(g8x+FL=9rSoU=d6Y;j&Vlr`TR$>Z*FdqDf^KPfpR980Hk`T zXZpp3GGA+7BR@~{v;o`PE{lNk8#1)?@pNFs#UCLaxUt{O3q?LZiOwmo!br@FAC5OR z1{6>bFcT^JMniFmu6hxoP(oolHHy_$7G{u7^%kMDD<}c8okC!UsF5MP?pxangN(1v zS#MklE8wJAoG|UbDx=5OO@9ni6GWf_9M@W?fFG^1qDlF zIX$*K64ppk+q+@SS0!MtS_KVf|F?#wksP0-vejdacW6(_ZlT$@JJ>vQq_M*N_MC2% zXE9BgZ!>7wzmV&h3VxR(#pF^w{w~}8t<@ASdi@Jrr5N|F2FrBWNhB#dy{sC7R~LqO8j=}EHV)~zKG`R?GY?g<&>3L zZ+l)1LG8PwvS)eXt|0M?uQ(e;N3~P#bY4Yof89MxVfepX;XR+M(TV!JQ;$q$@zDl5 zOfkBDRs0A&({ZlVDSp(27)E-WSf7lLah8qdXCKCJx$jo^9j^F7Bii0dzE)*F=tntC;oa^B$ z;~Pb2iM)hB;nlu2D48HPT=Y^Oapu*MmCL7nxBk-t(&|k*jn2RqNq)Ns$l@0^I{VZQ z^oKo`FKdM~iZZbZ&cto4Se9`8f!TwX$l#QU$Ze&wo>L*?=R>`LtIkf*&heEMojqO0 zFpDV9j(C9h3-E#^BVcJnOin(;|`3HC9JGibspt{7Q!Fr?=a$Eu#0C;z(dT+-vS z+Z@cIp6WkH4y|nJAF{Bf`o+aj|wbyuD2EzN0!cU56P zwfsq4{~7Sr#KAMMr|^bd_#sBU`?gx_{`QEa0h)n8yDF6O$GO1-2dd*+pnmEkMdy;I z50_aNEc3(>gZW^OVDlavq3V|r%Y4f5o+hzZ4UYzA+)w;!k*?M_An@Y{&t?%YTD);7Ybe!i|1c(2X`4|kTtdBGH>Q-~Yz@!*AN26hgk6<2&eqrpbPU~+pd-Z*q zE_f!(zPeJFBOFSg8j!{j^-z){|NFT=9s#8=|M__K+aH~!-?ABs)zDwiKwEoB{FnEH z&xnuUL|>vW60@TYV6UzEGv_r(u$TM5Z_%HiHUuPo8ikQ+dkw-Equ}el&$=gP? zKCU)2$$htoa*Wh%95Kii0+SC1%Xu`KI}{j$Al9AS=l%_H1u_9cR1lX!b}B z)G3!oIpiklsUoy0L3U1QooJIOYHaTDIf$sd5BW}Mtkg|f-j_goCz7D^P@r#xB0i<4 zFCmWjlj~~p?gx`{8dQzi1t2rM8~87B#-7jJj+nSR-=aB(v1YmFfugBItQEhK{%Sy&tCt3aXv`MSjqNMRb zkvPB-AMtFx%Ut*duKmZnUCL=@w)wz+d4jSje`FHTEi%AAb+_VWb{b-zX7nqRuZF2! z1kS;8Pxs&+ub!SG{G(T`2nrd=lQZ-eJ!?r2e zkfPw~-*x;NJj$fFthusn1?F;W9CaZixo3+~$%emaL1`28mHIh+b;mYXu6pHtfAJVj zJ!xYb)ktWVRzl@bW3o6-s#=}jHG7D;9T2WC%tj0|*AYS|P>QD}HriGCXJ-*GTS(|6MBQdt#2EdHp_TwGgu?w2 zNAAkGpF7`3lB{z?yooB>#J2n%pYrD*|}Rlxrr7j@9n#oW@w z@|6hC`4to3$^u^RtPajzsgngcX_MjXzld9%8YRw;CeRSB+N221fP5z-bT@KD zY)|ojtn%uih`;v%4UhGDYX2OvX=0kXN}6|QJ#7iZzYKzXy4%rtqmG zvblPcqkRK;oLVI6{=abnk_}%FP`I43+WjXlwuan*)nnym0mmw5^$A{KZ`XCt<;4a& z5MZwoMQ=$HCHW6rDF-j%o(HzWkT_g97|P!R&!uxkGS$C8Mfh!2^)fOE+@)iO}=B93_;O{1{U- zl)J((S3FT33Q;tOg}OxibuS^r?%Kfmx9ZhRaHVI=ZAq*dW;K+skt|P5#(pb@aB+BO zhnF2@qo|>VCGGS^BnktEvNshtHUZgjJp>q)!1rEl-&HgH_X2woT>votpA%tP+?U7p z!w8Jh^zJ}?tKU|{iV$?$2L#=wdAn6Nl>F-| z+l_sB@fi8n#~^u^&qS)#S1D|T3WVw!`HHM;+)Y_exDxJx)an5T%5Fy;tKs*6iTub+ zI1d{*B;uI!z2Pe>E59uq37mCaLH9&ZUc9D)0 zyZ6X}mtQPM6ZpaeeswQ&VJr7MRQmKvU1}XM;JC4Omhifr)Z!w{07eD+5lWLiIfmSr z55?yKS%K0zZF@}zQPRb6<%>z|58t7)i?WhMZX?# zzqYI#yG@P!>dail0NL^D{w`5RBrIIlqJ(SD(wA4!9KePvILQ%vUbYra{FO`A3ugJgR5;TAKM^HXCpRevPCa zB>*C=znGwFM>qdX=L^8&y)M;S)T~YMx5L9NUoG)wSi&TgE(dHa+N(rz(w5-JQ$Fc?SlUL$zc5a^2_)lnqE zk8pks6ouEp2pUQ|?`_ooe1g5Vn5__up#yXPt<*Uh)b&R(8*Iv6*iPo2C{DUoX;~q> z=OuqK`nG6hM#g`Bht4j4oplBMY#voAfDj3x2{P{Gh@mU7Z@0e(dNTpG^@9U@WA76n zN$CX8Y?i=m0}97v>Y~@!=X9t-wXQU9!JMrQ0YBEJym&UhA`t)rL30fjk+V%Lw$-Wj zaijZEmd7dkXQ__kd6R!Jp_kN`5$v>gvbSHE^a zvv$FKWx_d}vo>*y6sXSxD0f4LfgQxR%XD&@Pbk8<#b{B`mpQ9uKM`2Rq?pJ6@0_QG zvf}JDRJL-`bl;s=MmGOD@YJ3Ash@<)SRc&D5qrw7Dp_Hl7WtMXC3^7Dpw!$l6`l(J zo`}lWW2hbJtwj=$)#9Sr7l_f`Rf2$mx4 z!Mafamu%}tKpOw*KM4~FSS=@CO7>2;q%6XL`|&BaMa%l_(40(R&m)a2PUgxHa5?X; zIE6UuSPkU*uE>V8B0G#i4Ll#81QNJ!mKKU$g?my{p`^WHmY$+1?hHj8ArSeJuz9^G zx;q@=zV)vvbj%m}T58`{C#2`R*g;EJ#FZiRv(R382Q&G$)LKNzGL37vI0g9+CCR<* zP&|`iG5fb0>@DjfOedv4Pe)+i0LDllQ>B+(RT}^q!0eyipEWMeI`kQ3dceQ^|b^T(0I5w z&XP>sCn`SLw$n;oUjuo}uIVr}(p)^Twu~fa#47Exj8w!o zRTU+qzvs4>V4>SVuF&#R2@I&o<&*L-I@4F;)$-*DO?%lICA71Qay)QPLs(Z#$}}0a zCvmmM9sLg6OHp9s$86ZooUa%nQ_?960-ncz?W>VK?^caAu#GM6;Y3RRK5IpI=Jbba z4tzsJsEs2GUg)tU{;FVCoayhV zc;AmH7gJu6fd>&8|INs0lBLgFl{BhI$XKH9SSW~4#vNS+7wyvwoSvYyI>Jp;hqAOA z>%+xJv{A|*68}th!tKiZs4;^Ou!Y_-LX`22ylg1$1`;eCM~H zrZ7A)UE$9g=gj?uMnn#^)V>iy_))jt#fr{rp583*kYs(arjUg+%VbYI=AZRh16Cnm z{%RKn0GR5vlSFTejp!4lbuywJ(SF+AxzYvIM%byxo~@FCnW)aHM;cp^y{EZyN92(; zvnBqfak|!KG-vL~i?B`E8yAQ(GLfD_#WH81=OaTSANiQ8&kuLP@m!<`fp#@Mgq{Cg z#6~yC)3)^mKZss(eMfa%wmH$oh22OeOAs1LsAW_0piw%4akx`3mZda%z$a&I=0-&y zKl=hE%+AfoKvaO_AhXZ51OOAjf_Ml9O?vWTr0wDZ|?!fhA&cyjai-*VQL=6a7C~@-J+jbHx@Wz zDO8nk=C=_PfO-XlmHwkQJUUEB{<;2Ome4Q^DP1s5lLa{)BRv-4;P}ijfUNRJ@zt0GzG_>dtnsiuK zUu3BsFtNw$(Zi>O^(GrR!*QTCu-x*Wf__rn+O;GTu#RNI2c|6V5pXHJq-gkIN1*Dw zA8uZ}A~{%QuBnmYCfG)d*$l>x*>_P0`)Y5>X<}aT zNo`nez*5IFoO#!H9c{6o#?{ORJO=e-FC0GEs_O(D#M}gmsIbU#A1h=l+$!$v1L~Z) zj}IBp@yHAKio;Z04-gf4GL6s7xV$Dh2=ak}mfYy5D#71{@zXj6WWb3cAUxEJlud5@ z-_Fe@;)E=X8bW|3RkVHVHbynWQZ^x*uGaF7Qn)w|7d)k$gu#(#^I-P!F2q*c&!ZuP zrnargs9xCJvrLtzCp|sgKMoA~7W6bEf)&Rq=KE_b8ZOsmKIVf4Z`8-ZZCORh;JBEi zPw2_TA2l*e>VJ|yIm7=nL4)d8+AE#bJdF|5B7&{|wyp5CE3Wf3?Q`P9EAA9`D{jS|;!r5=#oe7C#odcLrMPSH7I%uf1&S66&P(tA`*~mY zePoOzJ7;IhvUAqjbG83d9iV%*Uwz%WEU`3n0SQe9K{ zGEOa`$s_(r@ndy7XC7rcEmft5Y<^hyQj+g-qb0wQ1yAPXR{B&^3vWuO^Jd{poMpVu zQQfToIq(8ZFzHR$nBGjxR}B3g{iW*HlRn+4g?XNn zpV-sAZ7#H)LN)%a)WUgj884`s6VButo@BL~VV5$kICI`DG4vC&G_|WKP3o#a)Fh$q zqJ(=d{O4RFK@8{P1Fa`=J%;xZ>ToC6p}5sWmZy3s?c*q;Qf55uL*nW#I840J1vYW8 zyWo=~x#{1&B_7`7IGV9FK?UF;*m77I|f<3Nxx`}mI! zxrUq5h`jo~Pw^uRy{OwReSaAp( zw~d2Q58?UhhKEDqL>2A456Y|vaE6tcW5gYe(1=8?gn*p2l8@ttv8-dbo!nO&!Ma$} zLP4y+X${n<1)q|x@XN%k)X5a;G9p}O7q=)fJe#C&_mowkMC%X2je_*k8rOOWd}Qt6 zIQ6LnmQWo1mL;?&C3=Q(_v z+&H~Ql{dM?*z|fE?A`#!S-#L9s+FbnN8gKprg_k$#g%~a4d~q(#V5YiijJvG?=Fw% zrvPD=lDgmUsLk9!&TB@D77F6WYlb!;A|kZ|J{jS=sN*tjPzL?_(o+}HShMzZkPQ!T zw?Lz$^E2 zv2NdifM)d!pUL42J0|1)jn86!|xqJO)J|aP@OM`fjA3^51?COmV_(Y@r z=b&gCUi>jpHlv=G+`{Cqs!;}q#Lg8y>+&2#X9GJP^l6W{8XTZCF<~1OKkfQmUOVvT zXXWvD!wledKkLLqo~?-9H$){j=qx}lyO(S)U14JZeLc3{djGE$2-Q<0Ko3AZs(E99 z?5_l=?}Mn=jTg#`j8>TtGt?k4%5B;Wwqz}Mq{*9Shv>{*uiyW8Akeu7Gzq?H{LyLU z>*F)@nu!$T4NEXo2gLIi5SsDu10yxBSRL6%?#pE44f>KPfl;9>XVrE&7#I2ch76`c%COxUIK2> z6B++T*_Hk*c*NG>Opa3PT3o9!&q9O2L9>O`+7>~5ZZiWIa&b)}rRNf^`X;uVUa!~Z&lyh{>Uvt!r z#2L4h$A^#BZJ{iH_;AiOdCRci^5rt7^)Pf^pm(vk{`G6J8ACJ;5}V0Oqw^T{Nd@HR ze~ujQ^_(#jG1-eIwM33}1&EYx*~CqA{A@7|t<>A~Um3PMd@rA}#TVVx4eqwf;0s;? z)rZl30gf7Gf?YA{U|7w!;vALE3e;m-nzTw+yHa=oFX04_kt1m!kxxY?kV2wd!FiI# z52otJUG%QnOzw^7Y^BpP9ZPRfkY)T(V>=BR9q&lM#8PAWA%d8VBHY46nn4>O205aBdRnKF3jO&c`ORF!-w z3XLr?iJF%ky|Uu`j$Xm^r9%T*IgyI@!T47VD){-=&x!FJd(sS6o*pz(!70`U8#8?m z&^JN1MmK3K9myC1XIvTby6oUoC(Frz*O+gyZvEV{*W;6#xNJNe=Mb~Vt0bF*Z z699T7=X5#hW_ug%LuM0qy;Am5-hUQe%2&mnz&~Zu#$vKiF4ifWXakSU`7E53)I#Z8 zL~iR0*SiTt2Xys9UjJ#+Un~hlxU?=oy#BKfEjpJnOSS|sldGdpb+Oqr(>A4BYHp4H z^7&x=s{CH?z=;c2|HIlIc}x`SICs))Kt_C2o1ZytwI)94(w|M}po#m($Z^V~Y<+VD zc+H}45wp04t2b;=rKHt#y_I}xCI%b+^Et>bJt>WPi)u$k9 z_a9(Dl>#6WheM@M7)90KCplXklbM!7$KS^i879y-CbN)=(wK+vFTbtfYzl=F0~hN0 z20`bE1{YyO^10oblIQx|I zP!+^2kWhCl*jK(GwCHLnxeAENW8vPtSN`R4Ez1WKM~@(Adk`>K`Lz`sUVIw-S4A?~ zet-j-D4g?o<>OwCRl3){miI?un*pi-K0jjrO>K|RWrxris5DbfM030GZ4@3bTi-yz z*+RVYJ)}IUlT@FH_^njE~nf&M@RePMPk#;1)btLB(csxo(wwl|NaUU#0<+XXLdV4{_#}SW8 zY`gT~N8x~%z?oS!_hlO_(%9i|fwP<{9#!;Zv^05Vhi!Hf-v_8k`!I!L=ZJ-t zTkK}o*o9>|)8KPLvvncg`gZy`iKGCHu~~YqeN|5V!6y2IUw#th@NTeEhpXqj9Iyq$ zLT+208|>1&OkTkQY=19^JnKtc%58`Y{UO@y7TgLe3SgK;l*nI#gM3H8KXZ~M(U6yH zo1hhOCAJdOP&`jd#Ciu#FEX&{=bt4j^}l8!n&UeW&$L-zn|3fGSF|*(TRO)UP~?0B zgW$2-CzWGN`K%Z7>7mN%%mb`ZTQ~|;Uw5$`oO|xsA8r0xgMuTwW8`s)s9Fv?CJL=T zjG>Hh!*7w7?hGGrNhM24FXlDZk|2yqqSB6p3n*`?F{H0kImfaZsxBS+F#h?azqbR8 zs{W8zE|abQVG6?7Kz7chK)+K{n{_;0dc&#QfSB*bO7D0g3?caI*g@k`Ljv~|uxfqbA73ADiRUJBo7U|}^ANsjkHBkajsdUb}aF9Sp zi&&25l9ufu24+AG726}*)J3C2q*{_Ydi^L~tsY8}zaW&jT}_6u7Xb=q&R z418<$i#Uq_$Vfh+zTHgr@!!bVq)Y9LP)(6;*!2I^N|a@76#qEr&NAUeBPXI%rFqNZshQS@*`W$C&C$PF0Sl^mjqo|bS zVGTs|O52_tN{vK?1f6L=JE@lTd0)Si%fv~wdK|TTY%0DPX--WH8v7tYq|^U5aU;dc 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 literal 0 HcmV?d00001 diff --git a/titanium/examples/mobile/here-now-example-app/Resources/app.js b/titanium/examples/mobile/here-now-example-app/Resources/app.js new file mode 100644 index 000000000..17bf060fa --- /dev/null +++ b/titanium/examples/mobile/here-now-example-app/Resources/app.js @@ -0,0 +1,26 @@ +// ------------------------------------------------------------------------- +// INCLUDE PUBNUB HERE NOW MODULE +// ------------------------------------------------------------------------- +Ti.include('./pubnub-here-now.js'); + +// ------------------------------------------------------------------------- +// CREATE PUBNUB PRESENCE DATA WINDOW +// ------------------------------------------------------------------------- +// +// Returns an Object with Titanium Window Inside +// +var pubnub_data_window = Ti.App.HereNow({ + "channel" : "hello_world", + "window" : { + title : 'Data', + backgroundColor : '#fff' + } +}); + +// ------------------------------------------------------------------------- +// TITANIUM WINDOW OBJECT +// ------------------------------------------------------------------------- +// +// Open Chat Window +// +pubnub_data_window.data_window.open(); diff --git a/titanium/examples/mobile/here-now-example-app/Resources/iphone/Default-Landscape.png b/titanium/examples/mobile/here-now-example-app/Resources/iphone/Default-Landscape.png new file mode 100644 index 0000000000000000000000000000000000000000..082688aee6a06e8cfff7d98571a9749e54baa220 GIT binary patch literal 517419 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�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 z z5{yw7EdiKJc?RDz=r}d8r8yF8gz3vdDzqvkEhxfX`m(Ln7j1;_EpZg5`m6017jl$N zalmG}lRe1i-YA#mMryz=<&5(|1uPNKQH5;7J=03^KK5UwChmz`X||!uCrB>&N87|P zAO7;sW$o|8q;K8|lYhSb>>q;wG7;#(!?YUsfBoLSty*t2*drxy_PI+XLktm{^a<|i z3ME`Tc9w7bPOH?6)#`lPyjnYOSxrfT)c$ z`j@4|IN*>c1oamjWB_E;n&?ZWj`OiKu@x zYjXk+*#C!dYoD_RApwYsfV=k&ns-ku&V+41;~N1^g*5?-Qzx4DdJ3Yu(LHHc@pqi;Hxg~rpRe9C& z9Rt{Bd$@UFhh_XT2*W3AiGnZ(`Wr4Lp_U4OdAE(lx-}o{+i95bw&66}8%6!?kl0 z6}aUb9@eQMuE>?$Vc26!MTO4GJAa z^WK7hNdVk~wx&ikaNRfFN+tZ&(amSipFe*5Wa7{hlb-l=WdGN`E63E@DFwK7`}X|@ z55M^GtCufd{@*|Nqdb=ADT}YQn<+Q@YsN+3=leSZHqp1O#1W@u6I?y5QIb?lKCYM_ z%+=9ZX*mqf8Q7+_bOh0@BwmhEWa4PX(j80t+k~&BjVxP3j-9s_VB&Cz6Mzcsw(So+ zr3AoFm8SmIQ<}oF`dvY4Yg3hsqO0UD!Dd@x{))PsRx3HoK~G)PsUV0PuZ@H=wp2(z zPu+2B$MF`XI=iAsv8|7axWq;aprvY@W*tuh#IcPz?Qm=oOLjg!rbI>UaA!*9u9)bG z2y&H~s=CPu07E(&zqMSBZQD)a<>~9WRYqckxtfH(HqlXAWo=_HmuLbIa)9s(usi}F z%YQGx#1Vi{wU-3o!U=zObFroC_))9-3R@qCXMhm z`s$HZ2pqU?4OLPJY)nGp(*0q~19_rxGy}1aAl~++G46-f0=Wp>4|he?jfFts@)N+y zfXDSS2J{@%9W93aR5Vfs8)pOZja}H}Es%o^LJsEfmtl!oQb{bc7u4Is{KMHHs|Ff$ z=2Z05r`fpBjZJX~$!apAUOXAYVuBy}f&9z57tEmWQ&*8Sc1ZD?z0bJ3Q`WxG7?wPq z^_Tzd-^cg=>Y3?tyrI-sUCQeCfQy@U3e7;8vi9bu#z91;=0f@{ElP8((qGEc zO8a4A;EGVra`4So(~{&J)XlvZRZQjAblO6;IbWu`wNXsdvu5GTba|6555I=oH4aF+&MSZ+3w`1a0|IDLGbAG{>?H4T76EiYw$z!Hh&4uacj<9rlMQs5 zPmbLedk|5lzU1%oRoK8T=?(@jazMkN`gmsQsR|_9EqUl6NkFxqr8Fd~OM1_aAV!Nd zA=$6h_u;3C7!`aV8?ZK+wT35J9rd~UWRPBis+VkjJ-2Q8_v#P+;q%8&o?`9q(amdd z>i^$-dhNS)Ol`h)J!}Yc@BV`)aW(MmKlv|W03kGH>mr;P;G`_ite5a>8qP&+7#f@} zVOMIOc}u>G154w%iqFf8Ela=%X++xqQ)gVtTl>MA2${P>epcG!Wiel+lj(>j)Q0$&~i_t z7`A&5o{z*v8j5jE+RhTTkut#i8J(rDn~*u)L?bWbDun|?Qo~`;ovcmbJlW>i!nfHl zn57tKwM0n7PMDmO%TZw0?z2*KcFD1Z49|lJd=2PoSeZM=MmEF6xx5@j-T)1SuV z1t~pV6AOh)NhQXa4E6z?t

KtdLbOcg?WE*9tQ!Y4>1RjcM-=C07+9;p>gy6a^NKsI1aJtlTAzj zCmFE(%XMYsZIe#ipwam;_##)Gj7K^r zpNX1HeVI8)a*COwo><{h z6ejgZx*VH&GCyv>)2V|gM9EF$5%T>Q+b`c+vFoGlzpAgbK*l_MlY0>j+6WUe#8s(} zks>VfzbjUBezb2Av;%cp3sJ+95A-b4TCz7iNA8gPbFP<*;;3!uCvIM@2cSKWe9}d3 zyy<4HpE>*28WQA#HlPaPq{ITj4Xq`p2KQSmi&|@YIH!CHsVR4`g|}v6q>}HsVY{?3 zYm(;`iI>*oaNDc`l|0NCNA6C&cXEkX0vjIRL0yA%8m}^=bMob<@11#pwZCEG|D*3B z`LBeVKh_$ zkaMLOcm*Hy2w%qEEFzVasLu(Iy#rccv|OVQ<16?_Mkg+5Jmt_1og~66&sq4>GPHBz+`r-8ZfybFx6{erT~c2 zSPe9pOhHa*^>p4K#1+bIZN;DxEwO*AB-BRk+=uveU@9)6H7=g2I7;&aV z0~ydEXA9&c*+4V6_@PW0r8l_YWC9=hndnZ$`FVUmHpAD`lOK+h0>JV zast2+)G{Ou0Kt~h`7R^MzZ!ozO_(VUD<`n5?Du_Xe10TA9UFaGzTmFi!|$| zIGTo0@HY9mYqo76D1M(kcU4?&XnhgpO+kT53CjK%`9Y~!!sKfwUBL+Gfk$ji(xSwL zh_y*yEx&P;y^c067qZo{o+7OFf+bIp+K^5zYPfLV7*)2DE}|~CO$!s`#p&jjtSfm% z1Q~M*!FEL`&x*XX*5`d2nx{nS*4)F23`zZ4Ea|bOY z09~E}6khoicL8e8e*f3PdjO_XU`haF5wMH^Os7uQ{B#y_2uT3qE|HSqC*8`_eR<+J>cFsu9b9{5X|6AQqbdD0Cuzz%>A% zWgUofNM>fvsz)E3JP<>zlvFUS(ZnfRj;jo52pK8z;c})>_B16!RLF2-H)-(xFMj#_ z`HRO-zL2%Q6MO#dvVRN$gx3Pxx^w@*!!N^X;BWro-~2xN3oy`Pnuce#*iyoT^CoAL z%fSPHa!jlp5<2h3Q=mkKL=fMNPhGT~S@q5~OyR)#8WXic2I2f`nE=c{GruJ3JsEz{ ze)bnPCct^cen&QAHLio?bnJa9NlTI#Fde{RX`=~ArMg|)IHr_Ow+}UlT`R|!lWn@v zQ)gFB1r*T?jkZz4@P1nbFi?P`<&EQ(23Q>MQcxJ2<>2zdLO@Qq*s3um44V0T`Wt73R&-iI6~>SM&2UfRN1lt+lqk6_t-LX z+K*C~Gw&5}Ao`=Rv>?(j|0j(A@HU|9mL~tqmNEh$1^O`g=O85jaTg$r0JLXLv|+0M zL0SVKi-3^;G^gVkVgAoNyaymA05Od?=!yiOiwVH;^3>2KZ3Hw*f)d98LR**9zgRcz zE6qWRRN=?~VWu%~W=7Tw7d5pyoQC{~ZP8Yw_6;0+1O)p>Et8Wx%Ib84!RGD`U)bDN z4os2VBCw&-i3qw)%S4p2aNZg21&|Bxi$WumaR`ty55p#z&fj%jchC_^$dHJZU64I#Cvr18z-{zG{= zMq>-Y#DU+Xk%n*()Uq~Fj2TG&nv#J&7VYH7XRzKSZya3Vr}ESP_!s}`n{U4P@~f{N zJbZZT_MIDf=byj%^t12oF}43%TncdK?%mHHJ%0N1+4ILwe)i6f9G$X+%+)^CC2MK3 z0#V5b*Qwgqvwu14g?B@_8<~4;CP-2J|Mym2}^vXO_4twpT|gnDZ5l8FUIqMpv>8Gd9Q!vP4~!ayD4mWg`e9n2lwJ ztVC3fkf&J+QBMH)LMtVgjFqC(krtxAI_i~uQ`70So$N#r(XEGmXe(J>H^nttwKz0G@WD3yv zc^B6KPdPxF-vr!;7mqddHv#AUO66?;B1$C3eU^JCd$p4D3%Q)WZ;O3`d#JEj%{^?* z3$q5h(S+E9`E@$b06Xu9S%TXxP3gPbkW32S^Zst8k@;4=EfVzQrj1TAx!#=KYBAD_ zW^B$n zP{j*LUsY?Nr)aCH+IKP$HMyT4Qf_&%fm-MGuC>%$cXZzB0Bi5|zoWh!y6)7r|3gpv z!b19uHGmAeORJp~`>ET$kUgS&!GbeOdw-q~Ka7RCc}E@ViQXQZhw^FYm)#e_$=_HA z9!J(C>$G~eF-1DxZoOLF4~lv;$W9tx9vwe@_UzH)$9L}Dn;7%8>o>mZ>>oM6^{^D+ z*8TerzWCzH7cXA^pFj8yP7c|GYoW!%-ddgCcMCnuu5{=uDxcG39;tzVuVwIO$&A#CQVYxi*Xz1w+B zZcks{zZ9lzXEzqFW#HZI!`d<6R*gg(;s#s${%r0b^yQ*VA*+f_<_pWn z>*H7Xy^~4xaEha6Em;W8TsO)vSEI2X|HL;)fVUogBPXn5V`#R#S~rsFybI7EF9VKK zfZB_33!qDRhn|Z~ngaAuT){gL__&(4l_@}H=iU2r^CsZ`4*&rF|LlED&t%tj*8LZ_ ztLl7I)%!y3jY)<9DP)>SMiE3X1PMkAm?HthpgXyC+qc_oxBJ6y)j6lygdmUz0+WbY z6q0MV-Cu5Zx9x8C_lNlhoW0jx&wAE6$1p*$WFs9}?Ru-u*=Ozb@jPp-z4uSvUZsD% zmHK}wJqb8189u)P0Z7|`UP#LTn#(KM3#c3fmJcG{>{A_}-R1LuWwTNcfZS-sDp)iI zmf+Rh{2d(1)DsC3nmVBA%dd8|&P#vTBsXz5VCxS))6nB~|hDzgU zS>p*3X2}fp-N!!_Y(|zJuh7!!+op~;TgWz`|a#DgE2l4;`{r;6E0d}Tg-fe#M zlPQ$M6Zvch>_RB-!phbY2^=(F&wi43CTUq?XT1!7DZjNs3Uimb8$DJEJ^+?NJ8+;05hbAma@^$HymsH7@WyK8vN)mst`3MpnO9Rh0_77 zW|0+edXXQ^VM}en*)LGs)PnG)kRIttB#JgiRlM6Y^pG7zcu9`Yd9b{gwq(_ZI_(E4 z+wPAXpv#8 zxOJ8C6l9o7@&;ph8od<*>j;r)+9Im(PjNtm6rI(j_;lDaLlFEH|I053&%y)=p@`k$ zl^ISSP`imsY=-4P?>I9CmLvy4|Bewz9SVFjS+T>Nt(=65K{h)eT04`pWZN6rWW$;j#3BXiK z!*eHA6C$6B_Y@K^Uoo+S8+vtG`?0mtUwPLtE!S*@I!Y!)4$Lyk6E^OjXtRvM&iL;? z`t{#<_8@JRpVt1~zH|M?O=;xFzHo=9ZLxpeq{*e~O^a7}|ao;WCJXVQr8Ptra3tpj89Axn7OPZGFS zTw-^|fgA|A9SZcf^na&#JDo#fi3E@%l6$>o9RNEsKcU`WdIkJ&BaxFDP6e;Q1${EpREKSS0#of z_bSOr#Zs-P%gF#*97wWArv#*K?<`RJf`(zZ9%VnBocUF4m|Yy?S@}DV5k5S4HX@ha zP(fa!rnwRAEpnvLDYyMR)vW0x|ulV~S|AQ22^6=!`hWx7{+d*HJN8aOCxxY(SYDUnISG)R#)Q0&eRY~avUEVP)a{Z;0rymk3zzjF47_Zpvd{qpYl3tjtr^YhQH zUH>7W|BtN*aO2kJUwrx1*N^g+pdbB%f23zYLMx7-QRXqCCn?dvv`)RW{4W_Pd*BjQ z4pHA)b+Ab{dNnA-6tnSVv2pK9k1#5@FU-CGN6XwKw7s$|s0i14pjL zT)KZsF+Dl?D0|LhI66N&$G8q4koj(K&U-aviH6*k438H)_7$4+L?L{72xObM7e%pLPN*r+}q3 zy7?I3=6%KO=QH$wcbRtfKbLm_O8q~}`YjNEH%9`H`+-0J&ZR5=ED?b57MV$m9AHsf zBaj?FmWCqd0k6j~<>sXPCTUC1d_u4{u%c?9-Nbtsl!(%ssc6_3%*H&4R7J6=B4Bg~ zs;sf0=erd0{9y&z--lft^uc1>CGUW z1neo{Qeiq3HxPWNqio4R(ANmm7J}Ps;ldP|wR;OZts1!xhdOL{lW}Z-#s1wlB|;Ds zfLB%Pm3Y8F)({@e%h46W^w}M3`1?%x0w&%YKy1Akui1454Ya`E887fkaRkM^k|Xwj z-rvVLZVo@DIay-?l?XZ;p2i~(imssSs4fr8Py=mbXb$=`+bBH{$jSh8fLVt+8jF3? z&>O!msCdK5215XeWzfdLH}FJU7mM<42q9t6kO+|bh%@<<-~GK24L^STWJJcF z-~Qs-^&eXL9~?lA1^D95-TU{`mY`2=-X!BHwh80v41k)irjWdKszO1U(i~2!*;<*= zDV2`|CxL!~Z5 z;WLPjEvZn<%`=kg$=CzLwE6Pj*l`{Lz9C-lClrYc#)LosOg!~VAzr8lW&mT^4a@y8 zNToZJNNrKoQyoln#mSB}r#Z|7T!V^J038gehZ{e~4xhfP9KG=(vX?bWiB#F9QUHT~ zM_~^^KGHg){mP?^mg^&IjsX7Mw5@;j&SJcpvx~e7(5Wh6{$-O|fJOrFmJonteP*cy zU{MG_Y5|hP1Zi1uCIE{j?KiY)FE5*s1B?_TZAdf{fKkxntBT)mN~xmvx>BH?rF)OT z?>)D+1W8|U4$s0fE1XDKfJ={j12j*8uK} z)u=XTm|>%`>0f;}0RYHz#$fI~s3{vHyKI2e&JX?yWe&`J%;lU)ioz1uR5NJ{bA{Q< z2n~}d2QX>7n!}d0;*fg~L!LwDblp>Sgd>&?2Eo8|rk{pwJkF;sD8N`w7t>0Kf5QFb zK>Nv5dJQz^b@0%qCnOp{u+uaEj!1d|Xjq20TY)(FK1MjT0L4h_3YHltiGo-Twdp_r zG;o3?G@9+OD|dA~z!9Ba1a)@q1tvPrz<{8EWi?L65b2cwOkFU>0Lk8AlDRaiPhb9Dqm~2oSmjfk$mqxtkT{L$zk0XVvtJF@a&gX}yM~KkX8;v-*JO~p2 zXsJsmcwTfM&6IgGy;?d*$}krhgg$11UC{&jW*1r~jEohg8nW6xI?v;QfIwI|p;v$< zqL#se9O~dFB6R}W(Taql@ftJ-Cgkd+OVnT+H#gf3RCZ7=u^GHpl=iSZfL?3(15th8 z8SW7P-ne4JCVE5Eg_9SE%fWUINMw7a6fn=g6?L^Nyt1fDCyQ*yPqGKtEgKMky%2zE zME^$bm@|%38nu>#y#jdhMBAh_p9mWTn-~(N;s?{lK?Fv zQ^$mv|yoMZ2Y5wia51?-2~)exGC5D6eF2B7^Ub4IX6 zTU;z-y5ZlV-H6JI-d7e#WRAd4W*rRJc!Ef*FGaMFwKB}qSwS;+CFiOR@F}R$P!@zq zMG&@3C*d<=Oz=cd{9_lCtOQ@C356hL(DPde9u=GhZ93hK|bW0G9+Y*gbU zhpC4vRzyHhWLTuP)<pZ(*1`tsGQM~@!g`|_(> zpWnWAz3lw+@h4Y*c-Qz|pMI8>0^I)M&evbxfAaL{^9K+9==I+u8M+|-e}S8DmCe@l zjhk?kD6)@r;LMR#M`Z^PzpR0NPQ9acIZh$~X1v?bKf_?!8pgPOJEz-+I?`r-Bk~vl z=S4`TuHMG!GEIOuYU98_gV%NiVcRQ?x`!OF`588u5Z@1I;mhw*2*AYi^Hazj`Ffxu zMb5_}Nf96y5yCzdj|b=1Hl##<15~#tBz>duuG(_VzpZfauA+vwh)-%wfD2o$-oHK7*s{e0b%UPR&u)D>0cPB6y+79hlg%Ejoz~k;r^F zmX*Yfg8nre$WZ(0jc?6xgoLvATob-R+T!aln%2Z7F2tX4XL}G~DkPPV&ge94*Nr%8 zmC%2e$-vIF0Bwi{Y)}M9`~T$4dq(JfKIidAB%k|w(lNki7WFTs=YQ3_^J}l?7NGq9 zXGTIWew6nBeRuq2HU6UzfV7}E?<NjugsbvC7tT6BRmFu8I&-8?} z>nvCdV-C5X^WgtY zhgZ&;K(G%~b~9K>o{(UKT6A6NY49ZYUwB2IYj-h`{O}q9=%B51CH5-LeNnuIY!B8ztNu;P4jR)r zQ)$vjH($^)s+Be0ItcDpKuy;wAPx@LX1ZdJTD0Or>*==;cCgCr(ac+ycVy%?u`GKp zmvQIhFVO?5D-vbe4h-V`DnSaA$K_@7*f5Dmb1;Hp0%ie@szBJQZlIa?FZ1NR~LY`21V@|9Zp(bgRc@oix`L#>I|q!ON3PX|@vndRhd+Pu z;^j9FAKkh8<&B%4r{RRRnLV~qarP~a%DQy|xDUd14w}W0eid@GWx#%+6tN>fv`G$_Za$mcN5TtZa|JyY zgDkDKAymNWAx0D+9>-S#`uA4PO_)SAT@#vXJ@6S8c(%^NapwkA&n+U8JZ*)Q^I9&O z>EehNOMn3~3uujldWZgaRYHR+RI%5b*JM9~p6szF2;Nt=#M}@FMWWtTs_@f~fWKuJ zAT43@1}HYYj@6C1&#Ez6w}0twJd~9>qz{9T=8HVnc^$;ey+9# zm#8z6R{&R=z98z9RhMml(#}8WANk5#0PUKiljdl|=NDIL$!^NpS4;rX%HFeOt#9?# zsS);9sRig4e`EE=YpXX;rH|fT)Mv-9R-1Pd2Uw@t!JB zRhhVQf(Fnb%~6lPi8w+(*Y_J6x5Ql|YL#y5%i&$`JqLo;%8#;L*MI`N?{J zNU!&rj0=+`^DFNn@DD=cZ^?kI?F@xI0iU+9c@ousUyqnv0ir7 zV$vaPDGwI0;DU{dMK|;aQYv{J)laXL)xZzZYT&yc z{r6xCs$CnipxSiX8eT1Au+u2=@6f@YeM`|Ueab;yW!9Mn_d&u%{8+hX@iWJ!1EK)% z>Y{kd)|9Qa23K{nV%kl1$mWgJW7`i8?4s3;m<8#rWWb0cqW|SBBxF=hZUbCp;1&6~ ztku153sHT>oj2;})TY|tjdkP=jhy|z5AJyM-pzY?ig>W`=|e8v$U}QAEQm;LrtoUD zTNz2Q+cqI|UOEqnP{*dP0|+yZZKTD=1+2pCLS$U6-ODOUk*AOkIW`%JR?rjSRs8+e zru>cbLOR#tvbJ4iv)OCV*J!e3KxJ4KJn|vD`-`tWj7Ik@TjE=1WzI&w!H-w=VXds3C2cC_~xCP$OTR=Prx zkc@re5hm2BFPNu1vD5y3ok8;_S@LV`ugP&Oqw8I@`C!$4ke1-4<+$leX8>;#`frXd z*P9Dz`~Ldww8lQhVr+1efEKpO^t z*(4}QKAmtFyJmOkc*yTl2nU4Kw}7iv!5*oRYZ%Vq2hleSV;Z?#psh(79_GT`a7Zh} zhTH_}d}kYhnN;1(E*+^>OCjLGGwYq2*^#c^Ie?0jPP*qhdr?ZfvS8Dj&cq-7pZ;2J zFbwnQw3-Oc+M*65iMU%RqVaHwJx4kQN3kLsY0T&bAR*N&a~JVlHoY~xwbw46Jb(V; z!Gmw^l(oOtehldUS5^eLelxEIe)Q<^%a^bI>)-!}!M~ZOC1hYaU`~?Y9r-|=zDPcY z#-LTtnQ{uW6!I;FgozdcAdiOgfj8)t!NNvDRI&_95 z4wSy>Ex4Gcbx{Vs!dGGmYwG44jS-At2DY-N!oGhSvI}?#<#Ntxo8KEGc}E1yd<*1B zug@37DfU{<|GQW~kvF)4X?y|ok{9oZ%ybkb-BXY>QOF^$W^%5{OY3_XvUQaxXCrE-gU!C()?H3|fYC-jz>9bA_BiI(GbQfxC?J;$>=S}n9enbpQf1QJNYU$ zm`>m=Z9gXo{WnAawj=t#l#=y{0G!udfYJt_i~5~KeP%@XuZ`%xI-Lo?8?UX-{LP>J zZl_3zUyZeM-adsH|3?DFI}Bg$Hv@Ah`G#oYWX#sEV64_grtinOSJT z5AB<+{ag)T10Td}ut%tlT;EuD3U%sd&53Ka1IaDAsOkdNM0pXbdl){R$b>9k=8?e% zerUx3jyLMWF=mm2JVl(QYF!C7E<}X@Imz6_pzEle)d4s{M6F|gM}p~||!2wbc;CfySeE-4Ir_UbUxXB*RbPsqMInmmx ze;UF)&?m4mgCrWABLID^441fo3X)g>QW!N&v|rIA%78p5*+}%~0jYZ@a0Ia8G?vjx zNLPn?1=R*!L<=qQjsg>3JlI0pMyF!CXls@wVR_}-x>l`IcQ>K5<4i-88zI} zZQ4i!SGJ>6&YqrVb7!>|&SYD3gUT@p*?U&ZKQXm(5%0V6f)x!~yCvi?k8YxwHs){oY6>s?B)iU4YsP zt9GOpm(xPy%?GRXWjuQ&X9E}9pM)Z;B_9>c_5e;ZFr!kpwd2)wZh~7;apVIaDexp` zoaQF%(#bBFJd6Zc1WR}j4PacNIewQ*<^oVK*MV{gJ^h>D#aw0-Zi_RNKFK6c^elho zo&%h$xj6z@T6&{gspGf@3J)Nr=7otpTlP9I<5;Uv#5~!>)s2>C5Fn2O3>RvVYazdb zz;N&`l0ZM_dX3(|9WzX%pk=8Yio`BwNrllh$}&`U3bm#qO)XPnn?dt6ZfJ1X(^`WI zzDm2Nvz>sEcg3&Q{nbti#Pg_&@(uFi)7aQlwi3CD2tm+u8_sEo#4Q!z#Q~3@> zU9IK7LZhK}g9RK!Syof~^`H%4u`6}k=I(#{=;^cP_wPUW;)}c2Z`>Nu@Q(-m%O%GG z+`Reu-Fsht^YGD&7cc+(U;b-&RHp7zC(wIQ5A4-_i5%Gh_QRb41uNCs{lBxV!Zm)d z|F>BVA5vO}{uJ`-+^yjoO1(6KC{#Z~+kkl<&>lD+L@^_}-c;csdrR>YQ6n61_=`3| zFWVuB&{{Jg@(3=>X^vl`Oe@0J& z6?ZN~#Nw#C7ON*?;QPqjY3G}zbQA8^^gl9U&C$Nu?xhYeLh;m%pNaqpnWsg-n@jcP z;t1MD=&p-^^8$c$3fS3%^HUelo9U|0rh~wi_1mko3s62BxH@yHekb(|CFp;?-dw1+ zga^)}5SiAFJ$)RTZh)9F z<3++&tVd;VgKCU}@8mkm%SL$T`W^S^JG64Yl{GBPSa+;+5HFq z?$>|QvZ0EJ0gMKl8ny-M`={`~&ugCu^l+eUk#d9PSo;vKKu~YVUJky(D?f8-cHPjN z(AHS;FNc;Fq#nl{ur-+Zx+^Dx$UT~-5#sDEdV(O?0FYMGD0wuoHN*vUlUt%kYiLP0 zon=gmcP#{;ObX1e+ z6b))jCu{Ykl0D5S=A9`z@CJ_o7g;Z z0)0>#fwq@M&^|)<5yR)*{NKyF0G(T{&o0|vrjviG(~J7_qB;9(ucsCuAprRgdJxzu zrT^cn(jK7Y$}K>bR%sD%ISE+zA5CfgbPhl+OlS*GdJP2=Ku%Kj!CX-(`TD7`$mp!!g!C4J}PN+OHb#aMXC^oaH zgVG)oHPNJAwb~`u8V{W{q2T)38D@EJ#&=Vo-=ZnP-jv^KuFAp9CkAbOZzuaq!|POm z=_lWT;xS3+$Y)yK*STmQJk~wR{rgy~L5DO4tstC4BZ3Drfs{Z<03SP=X!es_{a|PA zq-PR#RS~KxU?sZ6V%AJX3*os`dERP}YGbO-+SQ!UpqXXN3YR%_pjFHruXE( zcC@O2e>lJ(+oQdf4&}Y_o381t6CIL~53-UYzt=$3lIbP)#LxFt8JIMLF#zR%cf4#A z$*NlAR?Bpxd-le3%LJJ=7vZaK4WmMRirQEDvS206RGvzbc2!n{?{r1KOby=$BX$_ex0cUMgXQt)qBlNLdv{&18Z~7^`SVkVzR~ z5$2xuG{CBu^e(Egc?P%kB0+jketkP*YxId|j;iZg2TyA}!u|6NMF_r;Y$KnXESi&L z109I@i6Rr#G@W0aO_TY_GT&#Jl{Swpi8PC`Bs17@^AAO_ck0kFsy)59X*jBjHfw83 zH>i}#OKB2I%%^kXY)|A=MZJT}La!DC%Y}OEvpTVR;W7WuKm7Ug7cU-s^YG4{d)oYS z^{;;Q$&c`oIzVa!x^?^BmuWTdt5@It=imLkfwHh2Y~ee+_bx+u^HEBzWxm8Y?6SU< zPv8OcYbRQTBZpRY(&(JWSeNZJR@n*`Su0k0pW<(0a|q%~2k2~v;T(wrfhAH9Ebc`= zxBKh~Ovoue(}*CkLlm#`zNjmQ1i2Mrs@276bYLY0MSqoiRB}OLJFo~2PsJS}AL(b4 z%!EScB%YdQ);DEOzSl_3$4`CYJiXzF{ETWDcvFEky zh|zo@<0C0Hx@Tu$%Z(Xouv-DWXrLrKAi8JLM&zm~Uyd1RRfZW}t3|YXZ4Te*fGw<- zM{Lb1)vI)M5kl61V?kCO%U0*qjX`Zkqxn%$j8z$lfIz&j45q6s%J0f28@i91UlC^3 zqSWhulHcnDE%$={6YgJM&gu9J{nH}gi`Dvl#qICr1px0XQ(w=SQ)w5VL;zOp2>4Gg zo3lUt+dp|@k(z<>dBFKZuthp5ES(3OwgYOe0$60%0ddom!u^H^j84rOf%frpvs0# z-FJ>)`I!5u?_-vmnw4b6C}~g1@gui9ghu;%sXEt#74K)AeMWD+Khc&h|;g^Niu*J0gl*n z32Hb!@obQ(2**Ffr@*GzTj4=rriipSRyMtZ!C#`3(5NnqN52mOz)P$|&P2czE|f4_ z9-;HQ?f^}Q0O0`^Hnk3!WhDUceu~}O8N0|H%-jnZ;}k&e)b~30s7lB> z94)uOqP=7FnQL|q0dAT*f^}4D1QfU9Wr8fXw zA`b50JU_y&C06uvLa`y%a?w0@7MogjJ`S?)=*9P>B;vFIhcG)>`v=TJ zKXEqbV05L>e-e6lNNjha&-f;6hm$@-Nbr%;7OIKl5z*a(SUl$Ofp5K^3yxE&$*SHH z#t3O6!2Q9G&@A00Z8sbl=Tfe`aSkX-N$q8mEQ@_l^i2yHsMaTSIsqVe;;d!u@5NPn zvC0IX&KvjV3c&evs;?XZkQM-((F(xnMf0Y#0R7@r^^1HCfczm*gi}>s2GFKO!1boA z1J1-EGmP{MS#$6~UI}1~q(O>B*8#UWd1|^{$fHo!6F`Cas}Xc11HJ!u4=SnYM#J|C zO^|D02(_oI{}db>G$+SVfRRVEa28yi)2yUH=bk5i3AY6gb;OtwfD-P$_&$;t(-{4} zcPL7`8337tRcjRI7s$Z+KRkQ({QiS)^4i~x1|!&e|_|A=g+Fqqt+hy0{u+_*TL~ zbsFZWCNCZUb&TR6G4g#N#){gz+Eo?QQrv)NL7~K>&L+!6(q0R*o&b2_r}B3(y`efl z>uMmV!@JfRlg2U990aD1tZLDcS7buvtBU~896>m)1tMzcNKjLTj}52ZHg~v-) zIL+?B$sq$1y<*LJQtnSa!FjNPM$&_JY8PGlcOn33 z@oiQ10F^BKrDb~|AO3YIqx6e)S_FJv&hwR>{nIhPi2%Hv&j3EXsLLYYHx~69r>Zv> z^)FZLneob%g0qYI+^QJ~z=e97IY2rH?EMuE0$X3wrN`0&lr|-;OV&S4PdTaB^xG_d zGBK_I+BndFnc#TrZs-VrVLQuee0L?mhF2S{45Ze=hA;8#>?u?#CD&$|44<~?;517f zdae#YDUjHN12)e|dS8$wSEZm|OH}4V$;Nh?wLPJXm-B1&ce7#S4;WVJ;CDs;8YJeUd(KI3B3B)-*SXqNe&K|pOJ#Ng>4KjB=rs_^JAd zJeh;M4%3?i=DrLT!32g7Hm3t!juYqvBC;8w!Y&bJt!RP3Q&Pn2l$1pC7S^Q4zn%31 z7#?)P$-z~?VkO#Sr9gzbeXM5Hc{PTj+ME(qFqvyz7&^0~fZ>cWf8oFU{vV{ZzmFc@ zyZ6=2Tj|{2A9?y893T||uIXyvr%xYUztOQ4`IH{(zw&LZ>;WcfgDAsFGGSznEdx!n zX663Qfkood0a5&qd3IM&OcxtN@V*6#SvC?WpiYuruF-9WdeuzOxQb3X+nlp|9LS=XA zDdjQHNbsLFHQ}$M51}F#%DIDP#Nn}p08smPR6>p*7Kw;CBkyds%;`3t&iAFNnG*dT zjl_+Ge&{m~kI_OzWvq>{UX94BfnHG)={)Pk7I1pR*udK(4Jao7)Z5FsGe5QHOPW4y z-jmS(dudH?g9<=C2&{f7?RarQoLCkYYLR9>mds$u%b2Sl&`q@Qjdvky?@E-KqV~gAeBd ztZjfIeNXn#YyUJe`xA{)9rH`hBE;Ox+VV^YPDUb+T}Yeo2Q_Byt>40adithi!pd75 zvjhedQev6UAgp;ehq-;%T8*B_2)O`!+37Hh1N!%rZ;n+{SyqGhn$bV%3>+FAteg-0 zuAyttUjGw6J1XANeaqCYr*3!yrWm;q)cM>$D%Uf>*JtSW{IVVr9Wb+#@;V2J2?5wn zXM|vu<{c^30X^As7G!c%kjtn|)*;Meqk%7f+u)`}*q#w{PE(bASIo`j_kDPp)2-)xdY}J^1F~^A|7w z^56a(iqw&-Ase^an&mYK(Xx(ld3Nx+3h-ok%9X{1t~AUvdnVy**TIS#Xy%cFi5ij^ zG?3o9`U6rhXi2qyPhtHOWH9ZdRWzNdtIIVusNFf^oq=2pLX0EW)aDv7H~12NjYqym z3aoLS0bq3J-OirtkgGLdL*JMSa#KSW+BRUqT%Tm5xJSi+n|oblvIwMjZ0-EEd~+mq zv7s@f^Lt&4@){ z%HtTqsn!5#N`^VYy6KbDB%C=vS{sZx7jBDWpg$aiI};{mnd=qXu6Dr-s>K~^I|6=t zMnUZn0h9dObZRnCGb$Z=s?qAlx5>XM>J-h0p9=c-C# zCnyl7mIV}Xn>JA-QQ}K{NPLKIQp%suz1FOm`OU0-Y05SNYzS9}d#}CLteM~ZX4b5= z?|N<&>Vdj|Agurl;~s$SnXqxV>H-Ma18}$;$9)Fja|0V`8$etEpidKb60btdPdJ^F zjY0FQuzO<;TP5a&nMF@N1kIJkVc2IvE_uZ0C=@doLRP4GlTI)-G)ktPK()M<$}Qo< zEmXium+;wEDv~inDG@o;(3`3?N5Li5v=M?NFp%pYFlpp!{ha1RZK49nsL^thYd3sd z;kC5y(mNUARaQW=G|QFsf&Gm$IaLWumwVdj%P1J&AoGKbt+=e|JWz^u?1CxMTzTU* z`9JFd^CCrnJS=ap9-0$2HIv{Tx?pA*!4YS$bz3r6>*g?=7A{MAG~aKsiPlf+Kj~!> zORcLV)wL-Ta5i8;TS}@{9iHG?qQ;h3)jG;IhFZIT0A4)`2LNWKipgJn`GH%vKDu=I z%KPu1J8|-qeE0VsAiw@euYdRefC_<*9y{^gsnh4qU$}bp+Kr1JzWOV_ib)?_g~Q+w zHAF0wsk1KUzGAd1TVWfGGmRb3d0)p2%U5h44BwT_jy7A5PucYclK>KuN_`WeGtUZv za)4?jO`cW9xqw{DZwf8`*}|=&`75yY62m7rO2N=*2iJX-PIKt?+=Ii^<1okPf=k(2 zU$)9&SV2q#AOhPGGV!Xe&xq&3asNB)*6?WH!W9IoKDW{nM^!-YdY=M^)$kDo4eq2W z(q_4|st+?hw~r&cFvGODHj_t((07ij*(Ha6wRskm2j#N`MM}8`N92^^Nn9>ayMvu( zbDMh-evdwp4czmGtPjT6TdYa|ZE-$yE-U}W03}0j*MCNkAfvgKdmsm4JX8q*r>(Y) z)ikjXDDdiN%XHQb#Q<^tZ9^*nMce}rb^?SQzy~95PkR80P|Ux7G~O4I`_-Pf-8ZZN z465)Y;1B=|Apqb_!23sa2pv|+1H-Bd0K)cybjHvmeG7~?0mqMmRU6%ugpTeE^GZ4d z=rcDtLbnQ>sOsESy6gRx*tIBbM_g(JT(_SZp;peo*|Ph`v7hr47#O$2xMMagr5P;& z`-CXS88U^O(*h?TaaI@$478Xb9(pCa7nJ|GlXKwI9dDl;v9!Fx#ffthct9vJ&D9;( z)EY*mR!+v?yvw|_PxS>Vly!4^33B+GOCCkSiGpKahIL;0@HubL6aQ+=lYzU^1voBZ z(L)lpN;Sy27_%jjSTQNns^lKFxQQNaL3XM^ZLxjB>LvrtLU6g7O9-og8czy5B2*i* zfE8DH%2`#qpFyju!A}@}qo4`fmvt@G*_{jC&{?uM&n zZB^p-G~7kmvTcsp`c_5dv}zXY`qfYWYR71=UAuPv{Do7ePKSg4JNDmk-#6d>8Lqzb zG{cdac>VZ~|MV}`H-ET3`{Bkc{C9oU{^8dTKlI4qUG{qD5&H4au7?jk_|Tv2d66FZ z$q#=-?ciH}w%*?Ppx$}s=<(wx&zw1X@#2R!ZrnV!F|#C3=Uo8&6}wzXD)$Ox{kL={ zKt{R5xL}tN-kA`FbGnAm^ev_ta%1yzs9l(>0SoOrDbCWk7Sc4Vw~%j=f=T<{mbY&; za=HkFvf{;H6?D3VDFaEAfSsbl72lN32UCxrRG#N(r@=`nnJdgns4HKwQ64 z0#4~4Vub*U@x_=rtdl-BL-@9|1O{=3?VJrxRnOoMzQ`gX+2} z-ygbWqgo26P#Q8``8^+<$XSMfJxP7z-iq}2%+^}_Fw{P1@mV*mY^$V*sSj0p*KDN! znl8!7Rel~-wjfEGTd#P-&1)bhsQ|)L}Ai{{C2da^lW^K>OX6aPN=oJ zR;;Ns(oQYodRk>B2-QQ3*UUogrQI{{uq2w4wivg4v)>O96=+?h)6t`uwZS4$OBu!A zetY-Lo4081@3G@2WAV?CzkBoT+g!a_{EnCZ#rmvc_Or*n-cj~LyB>M!Uwz?Qzx8># ze(&x@xxVzNh3@M9`0|b=`tO$)mhN3x4u8P)dpj1>AN-)+xv=!;J-^m9yYD~$*H?Fc z_s4(ogV=}ErQ3J@XSisXp%93617ErN(MKQu@C*M|w5|sVvcn|Qy2}aPBM7Xfgjh-n zT&RMzP@bw_3w}p6q-LY8VBU+d+EJ!C2$c>%$W#qJZ+|Df*I`jEAL`X6)tVO^hqJ#B z?QN`4pgqcPLGD$yH{zn{_gAr-dOC!H(tKpT75of{k2a7^T7;;wNa8lk#juMCO?*u+0 zD2Kk@D14zpkl&q!w$>Rr$v9u>QP;H@C}r}J(yZ9H(S$yafcBNU6_jLBB(X2@<3b+D zOIm*7+QcC{eZz?pyO8NldRrN@ihUS|OnMc{?1@)L#vk?obnKrt0Bn}icnT1u>BE6N zFEelNsQ*hvNBu)ufA31UXC)l8Hz=Q3F7|W*z%yY7Fa!W`r*Qlb*rbaA4$#*G zM)XCnu(A-o2sWq=4JsD^Y;@L69gSZIP60q|h>LJU1YE)H92}8Yh@#-{UaYeD7&cEB z0|RP;Q%?7gKj=|eb_QtSGF9{-+LC+;!Kz4qd_sLg%|Jv$sPZ@tC8eQy?*OuA`01|Q-rrsA2l9e@a-A3C%IYh?O z%4q{O0LV2E#fxvGN9dnOhVxi$yj5q30EY&(p*~wKtSa@5a*qr=N!wB}hdDSFF81AN zY|sLTBMpYuaKQZi&-}*6AOHOo-TQlt%4}{+g^$c0d;H*o4?p)izx%C!_PNJD^VvY? z?_NN%-u-Xl>%!*c$9Ua$_u~CKmLAx#9RIttYhmT##lgdiD|9`yu)J%>@~*p=!hh*n zSbA{B@&gOux_@EizJ=v`L-8snp6t?Vq*X*1Uhy4%!LaV zuV24$_O%}?Hj0m|423eTbQ>y+l*J%eM0-t1Fe!25MrKo;v2ZDX1=KXP24K1C1%+0T{*(zF$jXcIfr z9_lkP=qGO4V@s8cG+|5L^HP&gJs#XLbqv*VYKV+EAv_PZm4F0YPX%oPTyi=X}t0YE4L8iyjCYI?Yw9Aw_!5%~SXYAvw;V$VwPLPz@Z z0N~m9S>U({xLzC8`?_Z$`==FvR7({8sJhr9TyX_pJ$?#+3xQxiKp=wQq|&B@Od(GU z3C^jM$&4}t_}ph3(RLU$7KNm)O%!LtuWv!fgQp$x)!8F zR>jpXI>l0}vuDJ*SEGNzmfaYQ!Ryv-nR`C!S%$A`UNqi&P^jn}E~|M~SBH!oa_dw-9eICA9OpT_>fsW_6qrzU#IBV->6!PNBr-JM*!{N z?*N2Nz##xwkpN)4Rs{A>0l@yagE%xqEe@;0We76jR)Z7(%)+rm)6}8(kplW?Sz4{g z6b>^eIH`HmHD^~1OJIfpn?wbaH-z|X;NvqDIwvZ6fvI;Eg_p=nG3%dW88+g_UdU5Ue{Er<qqdbxOZScbLP4x9%?IGimW z%JWjZCUp(J=Ev)p8pBvRr4XbZ0 zj~-tP(M1<;?23y6UyfBq4|b0~`0(HS@4vqNn#Lzx1n7pJb^~9#e)-smS3mu0tzBUQ zr0rP}H0YGUmjUfa9|ap74{JCT6;~`hiBvzG@pY#gGb}#oc$5B9x zG!S?ZZ^bJ$wg?lYnuj;YMm!ke3Zd}JH z(ImA6h@DW8@Ll2N!L|W_j?tW2GtFB=nVTNwtLvDt%?O)8dnj)<8j@L-xnPB)>u&7=fUpQqr#%28J_v|U7~P7GBJJ$=@f-V(&qjZl@;|{^m67ZR$X?=QcPzj4vZXd7+F-^V?3_rDF}I11bYGT5#2ksNUH`Z*i!YbRfTHP<=1P z9$#M`er0jxfv_g9kivjn5644|egUfiT_Zlt<8LGae1K|6iQ6okWanAo;s!MP^s?|)l`X~USOiuLB(>QA-%lC zIU1J@*=E1xPq8MWIn~tkPzucKel7H^h#R>A;Cpe7K*+{T;4tS|IxM$GF-hYe`w|uo zg>vd|^dDC0S`GjxlP*^x+oKxy0Bly>wHmVX@iV|LGjBgI;tzq1#{0S$U|92qz<329 z1OQz?Fwy{EUpz2qfBb-O_#SZFPmuCVF#y;M(Z;kV00>KsV~SM54&}HRptowgv0D$d zC^?@8ybnb02C|2|$9B7soO%zM_Ad?}`gKtE4{^&L{Q8|?m_yfl7VCr5t*#jIos}f1s<_%v$kt#_T)hElR9X$hED;pyyi%(K zoO42q=ofXi7ToK)oD=oyOHk!3PE_0m4tC4#QouRNX@{=cuvqXOamGd`D~L~EIW7*< zTa%ducCNVwBFKt-k_%*%Fq%;6QuY7++8^G$b?efl%V*DiaQwu3@5F=uZ=e4TpTs(T z^7QGm&#n}Qi}7YWxQ%KiUEi9FS>nL}xkWoKD}~o!<9>-*_s=Ba5bk<#P;5;=?{MXy#XN#di$L&3Of1T=?~7GzjF23^$Qoj|C!%N z?z6H9pln8P!!EjZwIG|5oLl}(Mh3sx|^2m`w@i+!-3llsyKyY1@ z;&x9Vrg`$jgOY!BR&S_n=?h&P|LCVprNI`oXmeJC-NMvLa5B;o-+AAfp7W$)%f{~% zUcw185&GPAVH-X<58_bBXhNxmqq>nT;bMXuVaj>E9$fA7q%N7LJ%{=bPd$Nq%q1Tm zHOE8f$P=MCZ=Tj37Mg%lR^WE3SWV8?wA~Ckbe-F<(5Z?Jmd7PtLwJt6L{Hkntjr6@ zYv=`IG1h^jvunTJ3Xsnfpn@fRw;Cbx|A`jYUkGX-TX0PDn5 ztI`42c^>bo{DP8^4$qm^aL1_Hs+KdC@OKo59>>(vZMr8FZtpW<a}y{&cAnx4*u`RamR7r+U|O*yW`!XCr+L``~C-O!&XF<0yq`|l zwnLtIDrijSOLUOl`HU9^ouGqTUq70G{KIEtD^hG zy;|HenwEhE5nSW=*cR|zHG^}78jH+CW=-ZoxK?ZYNNxFvVp=*-o{5LM+T?N63*hYY zJc{k)keF;-v`+ef{Xr;j76ceZ}mx_51D+-!W1_8)Y zZ9@>{HfJq(iI#5z)>Co7Vk9{NA`ozEQwAxIlB953DQ{|m90&K}!kK8Q_o8PJ;5Y!7 z2>BMe!@c!xgGE$3HA2_u89WHkNr?>%FJpe{OiWd^gk6a6s(7|P#)K88;$8M%j-_*L6E-&Ppcg$_>?1IFTf zp}`#sqef30JfV_jL6K*f+q_-KrN4j1fw9wDrJ>fh<-N)R0F_448Acn1c=VL2Z}fY{ zx-bCf(bXe+*KXXn+40xYXU-lyc7lq3-uSz>ZgagE&%!@(^3(?(oZmMZqvJv0wkxs46$g^3c+)iq{xv?B*uCx3qiUfgx&|W&N&Ns#7G-)z=q1( z@;RKHBzdqqhve|;ooG-Q}iR--9t$Zj3enNdKE-9i-uu zlVto2vp-szj`#_Fa4epb|IQMf95;ertI?)VozR3caPYxAH{$t8n$0T30JHeTt@P=w zl1|{P*Sn#0e{%qEa2Trp4-88V0Kx}==?u_t4a1kdI-b8LeEX{o0l+`H=dPz$im=;k zrFcHpq=pipVjRMSVHK-@!dXHgk_hcqFAuBk9UK6}r3Xs(xW$#5CNi$MwX zQ~(5@g29h5L%PBBGiRtM?O7ITT1Y|9Yjj@V6w^{-@-rWF>HWE8!Yms^?M;y5^vU1I zI-I`QNx^wB$wwSG&PbmQ_gj!?Cceui<4^~bkIl^b!|L4Ts^EUJ=8%JoolURReM;_P z*KuQfZci$yXhwQtTn- zA@Tq~lTz4+78Z}PmFS+#D2_d+k3C9O8lVwLqRwF`5^e^}#iAf1pJLqDsKcqaBW(}> zcoNfFrXrpRAri|xW?WPT^g6}&Hq+Vj#_co2CK1B(qMBoYBXu})Hrp0&IE7(=GoXy? z1`SYW$c5(=M;13#->hTkq3oh^0+%v;x(EG%JlOW-t6*_9_1syU>p9XCG(#aJNao-b zCQaaU177L_05Ls&yLUwb6zFxRwfBGg`gPj-d-}}LqsQMq^3I)5;XD8UTU(V?wLD{* zXWc}vtR@@L$qk6BGCH1La`4HiV}!F0?7bP<4d z17Es)^VY4O-2Y$}0BCsQe7_?Wc650`qn0D~5e~yhauVt6Xl}z-nW^42ifm5JJ!0(A z8CNjiYyo{}ul`u-Be8K$9(M-c76qLjqvR18#O}fyfetzjjWWrGX;^zNaqrV=XYAT5 zk=Q(~63dDr8b0RuYM7&{FZXPGA0ityD**udaeR@LgKgCNlA*g^|yXab&M5r`YkE*!#JH;M_e{saf=280uaK#MQ1R^Jn-wCs`Rwp3Vr z7LtuP>WQe3TZ7%Mf&*+BBU=ogT>mwLAbyrG*0D#KN=8}?0K_9iffO15bXOMutOwFx zZxl7H0K@=b9BT5z4&b;6xSSkh-rfZOFRp}g9vc9J4FJy$cm?3uxFI0a1`WzRgLp7S zI65?}9lR8drwGRh#VrMC1>jKk%J|{2^>|SL5Vs?Qc!dH0E?p9DY8Dpr>;k4Y?4;&8 zBoLMY0Ed;SDaaWh*0k|MORlN`UqQX~ahT_V0*hv;3y8IeLG#5~91&(39PP8@tUoFh zDP_dP5Pg7kFm)43`TWq##;lk(bt^L>0T_i5nu7)hC{{5{lxU-x)H1#W;MKTQBtuwi zgMGH+?aBK(5O?kY_0ZSzXgRyd17%a+pEj^BUCs3eCnal&G`uIDitlxQXJMz)d81U= zF)>MJAo;F=;3W-vYoc0&gaU&YrH;i zaJRbCtpK@iuSUtc#AP?e3u^{F z7Yon0mKeTv_S&E=JQ9THM=0yR6|O7%$H z+Y~EL(Qf$>Z~Q_g<~Bo+;gkfOd?zk? z!q5c!Y6$ieQgdK(_}FFvfOBl9;dyI$pIf^e>@at`t1kf1ImLk>>N$wdSiARs=(aKU zgOnxrl#tPM%kGAXVd@BGAxb#QN}@nu2DSJnOR^g3gMJA0N){Udd|fBQ@0X9CxO(k+ zN8;Z*b^6_-$LZvsJE6R81we~%>_!WuxuPxZU&Tgp$y=voX4Xj$<5+Ntemfm%S_kF_ zhIJPMe06c~$av@fdF}N(+5B)Dfpm|@-N0uret7A|&6{sL`5iHtXtNdPs;9VizOn5u%z)pgvb}K5nYMu8A!UR%7W+BHmp9uwG0KF*83n8Xur7yYXDrVGqFGK@q+Jwo*R7Qa%?- zeqsRdOP{{$dn?7$E8!HN7e;kB40ITdh29e$2r)p|1JE^8#xtsE9bizsJg5%ELZI~+ ze8lyLSd$d%lj4?uRf<$71_*AhYKP)MqJ{hu;|N(4{hqcO zr!a$BoAKd#cyp|sib5Af=Pe3pv$DJba~m>Y`<;~Qt`b@4^o!j#*L>Jk^wX$>R| zpIk^`KJUB%%lhF%3Zt=%VkT-AAK%i#D&1yH9hj$gO=S2p3C21gkT+IoR|XZ6Nw<@F z1^JBAUK3Kaq;_=!&u&tmX}OJ~QrY++vljQQcO$BJP<$JUJ@t?b8%ETMZj8)Wa3M^$ zm&74&@;4|_h|IH=zD&m>HFA(y(`kjhU!{Mq=tgQyG=~S?sy>5u6}ovp#lvZI>6aPb zfV#w*EGnJ;iQYx8n~4LCe{V_{nYE^XQlZ>%;3!+w?HNjs$D7vo=fBgrK z-@JM2!w)Z=IrILp<0m^tf9LcU1Ax7qvuAacm&&SX%fn0-%I4pSyQ=K=Dz;qPe`8{e zDxOyfM8Bk331*FHCrys|q$gL3-(MU&@wtCa-#+^}76F1xPMkdT{s-r-T)F!3$AABW z&;F(;hJc}}eZ&?5AAl55-H91X<*+CXszE$aHJhphY4DleMX1==dD&!Jo2jPZ#qGev z8Thg@p8DB?0BX?&7z;I=8R$GX3x!7=CU_G$tAjDY;H}4DGFv{41Z|CaxIx>R1<4T! z#cQJ#!yDajT7&2DV(zq4h!%}k;1QJ#JJath>`Ym#wmusD4p|Tz zY|=5~wXwAc%?@!4d2HF~EDND6hEKSOW3Q$a- z5dlo2TKUx!#wywL4B8tT?548wp`u|;De=7c2r*Fulqd(&p03vUHDSXtc z?#TQLD@D9YIs)j~LHYDbvG4IPZv z%e2cl?gXHBht-E+O&tn?h$|{jd8vryMiP9|4-z}wYDOPrLIW|RCkV7?P zXqa-CG{w0VB;8D~JC-Rx;6qW62MTMuRHI28A}NEy3XhtDvG}+(Zv}LnJMjIDKuI|< zJd6p)j023hhPz75XPEg=`a4l|?Q<$1ZMCCT-Gk9mxGZ_9AzZ19o*);TDHhk%4tZso zwHAqs0rdE}56Jle+-tO{?U2CJoSGzuk-u@wFbfVh7^deHkP>zIVp9yV`jlyHrl|^M z|6p;i-t+6%FJ8QI_1XvL&UZZilX71h0F+8_6+`sk1hONNYM!SQq*C|H)8ySx9@ARb zbQgvVLSGujkQwhkTN~EjTpsOOTzReCy7MBa-WcHRBkvwPcH-3OGZ!v=c>Vf~Q$P5# zl)})^o%M?G4LFlA?JOB#e2uj@f4@+@lp*3|3Qm(G4or}#$_5@yd`*H}aPtt{wwm(D z!Ul8y7&W8;uAJ~W%OGgr3brHD3Yuo3Tyj9z6p|IXIpLceOCr;hLN$R_Ag`FpiSwAU zsx_uC6hjcQS_t`w$Xe7j#*00lX`fe7!;{y8l+)bO{Y_bai0%mzShe~)a4R#-G}SIt z@a*5@BT(xqQD%d;km8Y)*(PA7qv--xTkIgrh{)Mt0H7e*iwQ}k9n}_iaV!YcKs>C5 zB^qsN0&$ar?I!z0u&V{VW%{I@L>y=gH>*u+kUMWH;|EoLOp=bZ!lI%;B270${t)@F zhKo`)h@}{uyMzm;Ts3xLj@rZuObP(jBf;)y_Tf>u!r!A%{lCE<0U&-Ji+>VtKTuBg z7vmRW0PuXcLIBWF{SW{w7kjz@fL8!Yssh?O3Nb(|7%Ec$Q0fXmxI&!K1pw6{Dm zpdxHUp#CM>Fg)9Y+Tgi4>(9bs@+8xP?p#T#HftG-p`HLhqAThEoTqe@i`81D8Pw54 z7mbo^$=WIdGeI_}ohWo8)EweeDAhVG*^N^V-KaN>=WMq{o;w)^k^6}}4~ z-|9X!zb=%T<M2VmHR%XZ*sTdTe23_vb!;^yslqDhj!}r#i75Ir8rD z<0sFa{ovB2%eQWQ^q2qUi>=`nHMnHsR#Ab`Lg|-87YxE^CfF?kfCMB1y_2V4yeV6X zZ91?=VudG&4ripFCK+tek}*WFLa0kcV-rD6Bw=)ASvk#R zig$+eilm&3XK#5OTS%(4J|7@S4G$n&FF}MAKXlEU(1GNa^9Yzk0JN|8Gp1smX0kAE z4JjL~6u_j6=Aj(ewp=Wfv7HW^k3xflNqILti} z_ms@X29VCn7sh)sIkD*#OZUNo5ChEu0*?`QmQG;0^I$kl8E~_yw44GzyH8b2QhbNf z_l)^~9hoEoDM`!8Pymo5Pfoc)9Y+RbhD%U~J8P=aBEV)$!Ni@nk#fiFzo85#ew*uX zIXM`=|CIuOQda=hMzQ*zVt}{-;F);%X9@tG2|uNSfG7ZnhlX|mK-dI)Ae;phHWa^H z)U?SU6dMi7L&NHD7Y4-t@{&Z1n7h$-)7hB;eH?)HP{WmYe?8?tQXY}lzw{USknoIl zOC&6=^fqp}l}}02kK7vl9`nIfDMD(!|xYKScG6xLDd8`Sgq~wH&{J&{B0>O2$;_L3kFbfGS=~t+iJ$ zy3|@ZF;b29Z{UpcE8M*6Jv=pdH7r$WzeOEOD;{GNBmXaF=u>BA1)pvd_r0Oci*m|X zIHxs%ESjA!c)Lt7pZT5iQ>_VZGx`q=GCH%>urx&TH=XoA4^i9kU;XP)lUXvN6~;Wt zqQQ!1{M~zF*JLTy9z_GCZ!$FqR$cr5<8%MwqmMqmeEG`R_i69%yOi_(+c)04!>hah zNc;{!7XYjcs}`h(16PA}Q^ryi+iyUV(Xw#HRpwS2f<^P}_e}uX25dxD@aUHg|93A9 zAKtO_qqqq0Nu?o|SsOWbA$%J6|NV{FJE9Om8G=T_OxAx9W*VKFN`Q-*9b*H=K8IOo zXhT9Do&bi_PRG*!@>5y3JKk{f4t@b)EeCKx!Zb$KTfwnSlmLvv;3xOWcvz53%Qz+& z;yi`-W$3@CSLow19GFvWG^o1TFU+_DE(L#-Cwt`7f5A5v$jn(5OAHY}Iv~L1EFyRJ zZDxs$RVPGIbt~I@CFk*-Rouj?`>+&nsQaaybOFGjwEZ{ymv}pU1uT9D ztlHDD|K(BG0I)K8W@YsB@+brV@jC$F|DRnMy$}O{wPL&$gNE+0?)m-0YX6`NXMm2X zL*;^o`&@&^+Az{%=&u4BeVkf@Yk7UDrvinv1Al4 z0u3J^U_&M_b<|Xp431*Pqa!(pv<0>t_);Hc#y10j1DVg^@fq}7MJhLgYe%x!z#E+c zAO%EjfsiU!za!6Bi^{=jDZzpKXyzr;Ows`({PbKcDvg9((KU zBcGJ-VgRsrP&$yovG;~pPQv0y5RMwqx)xkDS|t)h9H2NV)GIN6l?kV^He!b8j}}*6 z{N4X_G;W6e*#ZEPOedOS$I@=#n>TO$uY2!zj!*`rSY!kEd`_L(BNud%N8e${hgDif zeP&FX)ItH=&^EnBWpVfnf&`gIGn>c-F#zEC-IUlnUWU45Z)`Mi0N#zqB1+g;Z1EtL zF*ZXbg)CbCGGlkv0uDFX9ARq1NEjwG_r*v7^UF=HG6$ED!H^qBs?UN!;2~j{G=du2 zgELv^f<14nRk{aJ+ubDtO#WRo3P59)C1`Swfaxuij0s9D?8vktk|&QjC^2ly>58H~ z4BXQd#(x<;_kS!MHi=zCus$!@f+3q(!#e?UTvwGX*k~$X^0RRC1|J;3BuO!!Xp8kdBba!=i_ZbPcBunv263ABI2LnM6D2U+1NuGkhah?JP z$x~oNrsb!|^bCh{<#0Hh?yBlTN^vX+fh=1W$B2w1CMk~Qc4p4p@7FU!@ghok%f78| zeQQ+@ABLnANGJ%0J>6A%ue~ncx7OObQVY*CcmjO=?C*JUUxWbRaUDm4S zK>*_G2BsPP$F~nK0Z_-0L?GN{H6RxBpgD3e2Iy`Hbs{XdiN`tF)@DauBBtI+j@A)? z6-sZH6K2DvZrn$Y0IUQzP+td*Ij*}vZrm}$wZ1!J58DeH{cnmTYla3h_1P&g_&%I+ z;UO<{Kcw-xw>?oah~FS>!Ngs#XZg6iR7>uF!-hVHqPuYrk8#ud+=l7LD)7-+Fbzn} zjK8yZjy=K#%~WOHrhP489i=@en5e+!7xe%u9b zNmQXv8W~J@JY?xdBj~52IuFFVB7F8}xrXXWbGPBQfBD8!0InSvR9=fn!^@deX*K`bFaOH7{`tTBi{JdMa2bo$c*+wjbj23on1=#I9$){agR)DpTJFyCIZq63buGRYUL9@_p==`T0qXKJ*x#$wRYW1Lby zmz@6}2^Xd7QZaUG$EuY@oj+O92>YwX0E_SG)*YJc{3If{dNwYV_#~8F3t0&DpH^e@ zgEVGQ%FiYBvY?iId6EtG^Qw7N;5?6jE2CXh*Qn@n9Ld+P4g}z6-Ug5wfx^RL-C-1o$UL_IrQClvPVWT^ zh%gvHs$7(dTMML?5w869fEJ=B(qq;>eG_$%&Y?6h-G$u0JTYJC=lTAqr?{IpS(|0F zxNRrn1RUWn2?u2 zsY;ch^4uRIYJO-7BFFj$X>;~HJt7Z=ZEiHKN= zec_vK=^+v2Yq}wl#M2vV^?uQL)?V9H zEuqie7uDWg3g#HSlx3s#1VBg3qdkh5U3dSvs@pD1#z*F$vpgI^eY^M#|QPCuboAe`erIC=Wa zX50;YZ2f;L%U3)MoIkDa0!kutg#IfQ;kYB-l}!L+XvtMVXJBqd z+v)rHi5m4BU8i}$qFY9{)=qIZOwCU}TbA>Uc$S^Ae%ZxV5`ys+cKXXaFNwTR8_bK1 zG~aM({RtE-KZR{@$2a)e&azod-|SGf_ZB zYa%1=$u5h0BmXN0g4Ra)&aNF++&qP}rLmsY_*M4j1Xvkt7;nH2LVzQ4Q@4y2CyQem zgFAb_O`yUcC0ci$0&bocv0EichfiSOn3uEbmi3(d1Gk^8k_pd6XF;E^z&rj|NLzsP zQeL#xrly2Ot_boerKw1g%Ep;EUXR(MRE8)eeX($sORE4n%f#nZ4_TnX%H7ree%p z@#8y0^tfGN;c&*T+tE}hV=cHMC%xutM>MgL}!Dpnz;p7SXl!mctzm) z5%8?$bXKIr-McU^wuA8I0w)8+hFp1m;%i@e`oZ@0jT<*FT)cGp%-MYM&yzN~l-;hk zZ{NA{fBx^ib6WwOGrmvYzM%QH-+t$F6ocs<S3mPvwxFf8T#c+^5skzY_TIol92zjk zjlNg0gi~{JJ^k;H%;Km-=`91DNqX?Q3N8s|!J0ONhPlx?BmtWRw_)4C^i``J^eNL{ zUo!Nuw#FV6ZW$4W2?oNniy8pp3*?L_VPX6LM#w1}F<$kGOa?>(D`P=7mgJpiwegBf z_#a0AB#5+@-l#nDN{Itu47afgygFBDkY!Dzm*60KNQfQ2uFsBeLnUDHWsibLMU8RM z&y5uz7BC&M86vi|1+r8WL!EC|{6K!j!Dts5&CMyUv3~MQIcj_2Y8gJ%3^jIW*OCIg z(~6=wa%ZM48g7`ta2T?2-z0DuVG0xI;(RH(Y91jAD=zsEDtQt(7uck-Bl{$)!qzXVPF~k<2fd0c! z;^X5u0uia>y9uyb<5_uI0dp_%Rt#19vjy^i(JFYQ$c^Zw?wdIx9CQz4v1`@;Ee4^!fKnA&@%Y&c50pSmp}2T``2&WxpVjOm8)mZZKWeG zpS;mUlib&D-o1A}0Q3mX-+b#$!S@;2M@+x{@WF%a`}ZH*yMI4?^X}byVGOtL+`V=C z&aGRwZ{E6n$t9m>qh+l^m+I~_-6Q3_<6WhxNRTmUfR^TTi03x4wCg|4r3)imSxOe}-rSJUZ zvS++(v#Y6{gVdG^!a$ZbkZ)L!0noe>b9(^yxWo%r)@pAzD6`i1Mkqt044OBl9~)W8z$ zQmFNzeXAb@dU+G)_e|{QVE~pqreh+`d&;Wi`&+gH%{Q2&x4tfI4~u|Cb)?>2w=McK z6)+oZq4~xk6C2T>K%}vKkEr2Na+GviiT;`Nvd>>46Yg`_1e}lOiF*LX)1%|K{Ws(GnEp@M{6o3_ zClP@Cqx2qt9ix38`=yUOGpL@4Zw1R7V7zaw+CLZv0&uvRMglO3*WtVmcvOeGACo-* zfpf&hqd-35AR-57GUy*o=+$5rc5{+mmZuNhmV^~L(*6yC1*jx+JyUEb>(khxc3D)L z?Q5tw>)fbY45$%8PRGS2E?nA-cuQ8XpzMO#=fTBR;uzpUOR6)d^!j9=7aXf`VwZz^Q4$OV0cg)gjLWRW1PJp!A~q%I$4^|5dee% znM?lHmUaen28`U_glC&_ZDniqQ|8Cd~BsYDWoO2(XQ(_i8<1*$a~$ zWJ|^F1#%>Lj;W~$RFk13!~K`2p5St;s^kb)nWU2#z>*}&PXeiPyRXDLzCB5XM zv$#$--Tem-0;)cL{^F_kx78KL-JCtUb?MTTfYB2+zjqJ#{`Q@M>?4%FaqZgmt5>gI zxq2;dkIR>@Tng8vD;Fjf=hH|JLumNJ9mB0CpZC=Tgx3O`**q7fc{3de`se@b zUv%tPY<0ftB?Vl54)oI58qkl)A$Zn6$KlzE0nQv`akd5kgj>PZy8g4ovP?3i z2c|VtS!~+b7{~MmZqPi%5`)G9&93jqEMsKxIy-V>E(h}Vy`ptx@OZ|q*^^UQpsiLV zYb5TtF#|UE=ueq!hz?gLE6a?cA<(w8vI5c&mFv*}8SD_ArZN$nJ z^jm`=ZQfJU0e$pOSc@&1u??^Ur(fZ+jA4oiv=o2ajG{Bv9hcVnZnCqfXNdz$3;G|$ z*8m?4e~f3x>RBWJg4>^q=Xuu8rJcQ{3#f`O{M|dOp9xSu5P)4f;(0)O2GzdQ0<=Hv z6fVC>hX)-_TZx|^)-P0(aQ9=W({hqSyJcVjxz#04 zYM>;+h^AN82heY=uk;H>z|=!Dc2zxx#YoG+6wa`UTk&vkNz7-(C%t9~R-hG%+cSx! zxSJ)lk?=woW44?gL1jhhjWf9M4n7Op^)64S=)=|qb@nMM0j?4)uD!^3R_1b?k2B8E zf&(M zQZ0Ea<7#_yHaqahMwEm|MaAoYqdH{8ogFii1m@LCYV283kcK)z74sF)XTYGhZr#3g z>GJ00*%K$qY4@+b`u!)k^0D{FkDoYo>h#&O=K??vw++btO2+pQ*rA*#ox*h**U6LdN`J?H3SSPt3U>&1OHaHKm_V3O zpaE~Z@xyoCd1q_mWxq_Kd&qlrmi{fRRlYcy{MQ}BZp;`)Y5FPp;$x_+(hsOgI=>V)%_TiwG84Z zIil7|b&L&80kGeY4>zy@x`!6jaw+EK)m)@~wxz*7Z3bA3<2HcQdJ}iv;sDUto)gpm zljjAu2LKbJG07jDoqe&nD2ND6;GprB(V%Y;Q+_N@{=s%EyVXXup5s2r~R^lUp zVFUt@Dge3rzYu`*|LICcg64tdrOkT);v5VIP-OO=1s%3e)=RAcIT+o2o*U{?!0 zgQ>H|lqMPHA{~`=Wd<+ z)xGwDlkcO|4p##KO<+?OZ*7v}WiOYu>`8-xa*I5%Wm)D6qG={|WV4ve>9P9AQZFet z40{GjHcDs-0HO=GrWogIdjrgjY_SysFzZXJi7C89dk>Zp%uHs&rZ5dVrJ%^l+>%Xo z9Qap;Or|BhP035jiK;?6%XNUGH%H99SFc`A zdw);Ap88u}dG-5Gd||iiiGa}qG~bNSeDmzNGn?lEOh0{QGkkdJ^qG^V&V(p%GZdtTuS;cMZC;STAEfj$IIapB^n%hyt0Q=m6*z4i9-r*|>Y za$Yp+WPxtA?9?K!7+n4C9i#94$$t;i$rY0KBcjqMbviam-MDe{!S?q5{=F|WHaFRk zR={a2DL)4&2@^JY=)&#TeoktDi33R&ZIAEctU3B*HG{W=)^*&?EWmeRfp5!x(ndFz z2{xDpc0m-EL7oOm>x-D=w>?X5Eudu6&}xPoD*Y=DAb;}GWT&(DrKF#bz19@cDlpxV zzinKOpa;b`Dmiw?#*S@Hjsh`}V5DJywMFxYK^nmcruU;KL)*^oOyimc;3FrPOucj! zDK#Vq_=n#aBE!Qv>OFge&>?k0dTo?+l{eTPNDcbuGIBRSS^yhD&;ztnQ%?OAs} zRiFR0v0WaRrVQ2CNy~31>>4%xa@oT8qx^TCt=)u&g=y%U zYMj{6SqXTh#uAnhgjlEuep~C-e-zn1&t73BN$FVX~6*QCQ(_m-5Te5Y>( zB$JM$RCE>QX^jF4)L5zV(lfPK%4iqqR;;uQ*{oZLt`BJV>3K!0sKccG*MIm=+uILs z+`NUozqz^PeG-7u3zTR;hUOmM3w#e>g85jEa$g;?@G=S{e4peyf_0O)S%xEuIt>{+^gjN8d=%UQw6s}ezijoael4uV#;lff3{l{*5lZaHcv0sw?G)gCmjrb5 z5Ds|GYQ~YGmBI8!+giKh2(`jy$)XFa&wr9f*t3BMYJBSumL7nAo#HuMdO@ z8tD*OGL5nKZwcGzXc2?PdirIFR%B)Ec#4~|KCqAK>ur&h%r^^X9^3sV$42pOyhp<- zr+%FH=C5HLUjiT%fY|&KI6$fZ92~{wpI8B?A_3T!TYzE(;1eI&wN}M0pg;iR1p#|O z03rvN6ao;p6{o{M(_`kT4lvJ~fa8YX={!~?3IUkQ>w#ORPfqQ~5(@f+)lu;71es<3 zo|~e;hdL6Cx^G%4bx&|fRtZdmvo1J~suLjVppPm|51gs@BzTuUSs7;7u`1{xJlcRl z*o{iYJ&_8sp&ATrh0k{Y0azlZg*y-^%+eO`CW{L|DGTJ_ETFlMk*pQgu$T4vvge-E z%vcW4BDhQE)CkHe#36wg^bZ)(Cjbr#xDHV`sUG$%{7NLijv%j>N_7QNSGU_``R5!D zdBcu0Ej#@U*7n|9ym)&M$`M*6hnyoxQ!v4sjFF+n0;vJo`Qtzd#?x6%TMfS`anSS# zkEh(Q${x(^NHY1kU-{)5+dd6=4}AZDJgEO%>9Y?kVDsG8 z`O8;iIjuecc2|CIghATmhbv=$@;lU;V;U=VTx7`yXfEDrq0lOH-08phx0O>6|C{G+0V=0t+g!vIV+Nh8WiO_ z`U%G%CvzoBxVh;;xu&nX@gQdi}ebVV3tL3)&^<%_XUKMp#)?mQLq3KNlg zOs}JxVAkC#EQe26W0`Hj6|k|y$Ugn3K@mNThx*4t)0~Aj$ z0mua42nfJ9z5uuofb>e=1A}V+po*J-;|73wZ{7qv7{~Vj>`JEq?FqPlIF6?}495G{ z#s`NH`ls}N9q+O>K9bHAIx?KZR{{^~qr)(cFoHOUV}o=kY1|4NBr=^3gYpHr1Tlq) zMT{7e5U~O>#U(pq;+6h&8oxixg}>4+B1@awu=0Pdr+-}!|Jmg4SE35}p6PDk@3dfM z4Ea|{C#FsQr}D4ywr%<_jxBwm&7W7Zd=tzpav}Zq?F!^WgJ0Nx4;ec}Qdu<)Ix*G7X?eBaMfiGRyKz^|g}GS(f8U>X)8= z@L>D;jhp8$q`kjsZ|jEv%K!GSa^6nbjvP3^l`Ge7-?{tf(HnpAcYhWBNAauZp0zu* z)2thZN0YCA;i;{y3xQaCAOs+cFuof&9hrLT_U$;lzxQj_MvCu+ZRYhg#%`j9dcP%n zWAS*C)_5LOV?-AF32D39ng%AeGSbgFf4Om9QLI3qPqAfkMCzRgK7Q|lqi z2o>OxhipY-bs{46rNnfM1R*$$e7)d@G+*Ja?&%^-F?M>WC)TWh4QCx0O zxeSVcd2|dERcE?(D_374Bb!(^=HO2HSyp^zmQ`cA#T6D4s)qM82R=vP1pAp}M3S^c z*9MP=ES+tK<|Wa*d@UgACO>^#NPYm`^L+Ye-2OXF1%bF7D`4^$tN1417ed@Nwa3lbe1F^4Xv~R82yEYEjo{0HJyYnePyW=T9fe_St1NsjfU{LQL)PVq$w*jmL z8Zk};AaRRG0P4sA2IHfH`bAuci!92Blm5kVm*vT8+>#S)`>{WXK73h$h4WvP7*%bR zPcDt+xkMni0i+^7y_kXgYj%7DF?ksj>_T1GY~YU;L&EVgyCs3JPQaO}a&}c2vle7L zY3+>2Es|5K)!8jMNE8rL@R@yX$|wwlLKxrFJXfn@Cg7O;l*p}>&WHkv=OK6Su;5qo6oZH6s$+$#}9F zXs{U>hiJpk47?N~T^NFwB{s8U(f}zUs}lc2;3Rw|)d(bpF6Pj(M4~|yFSA*t_ai1A zLPZo^73&UI^WL@Vw{PFMbot8W*>gDF{%4NeKX49E&fL6qh| zwC)?lUW&w?A5Q+q@BhKp`HS%_X&;2FauFcVi9k`VUb}wp-u;W;{!TZ}Z%|nm=O!=_ z;AW`Q)KP`J=<5BfzQLIg!eFXn0<*~@(EUY`7=-n##z!%v`Axc^CAZIDLem-Sy(?;D z8kZ!FgeMDq82kDl7#%`!gT-g=Ttcdhu`n=^!;+(z+^QQJFIQ-ZESy4oO7^wp&d31) z+NOvjol-YCL3XD4(H-NGKR`Lf=nili5O2w|UGl!(L4m@f4uhJYBK%Kj8DxG!THJ z@$}EQ1Ngaw+YgW8VV(z5WB=Z@(X%^7dv;WN(!oEw0s;7FJO*^UXPD7{A^>ag3XI|4 zus%3Q8vq9N;eh)S0XT{$3Hb<*U!X8iaDNj9IFPE(8e|CH(tFf*M4Sr9#?G<5z7SHBlO{S-#TuU)&2X2tJs2pL?;6!&& zXiE&0y++REAX6^G;GD4rC(TvEAHn`LXcf9e4p$c1ns+T32%AA4h+C=D^)p#giZ7eS zK+h;DD~vN)Ws$9e4!>K}GGNqGU;tD#$R?b!QhE@F=$-Pozv3C4OAamGpc} zq;AN%hwrbqD~wd-+yWV_q9UD!I)!Kw<_lFmwP^3%e-L1CN@>TVEq|WSKXZVTWj~wG z+&uT^-Vh7hbbtc4?4?1s)HNADUqFAQ zu(E(Bs&sKsP@hvFp#YEvu*>5iA4mmK24~EUO1ceqqwG~HbqP(HPyut5RM$CD17sI$ zAOWb6x(b$TLu#rTJGiu~p+Nx|h)^K_96m(7OKA0lH*X0G2zHamr7LZP?Q!m-@H;JQe#e2hArJyuiJd_*n; zWrsl8U<(;bXS+yvJD~r3{AS#On+d>h^1?741oXmanvVd=xIGhq_$J_#+20qKKx+1R zc2Ec8zyD(&|Hw1LOaLaC0PJ1MuL7tJ461``<3n*DaXeBqw*W-~5UUK~k&$^U!hq5h z#uVQLHq5*p9)`A1+=S8PQjkw)K^YO@CAydoC&%Rh3 zoElyyp<)hZ%;hr<7}o5;bCjr{GElF>r#Ch?*`gtYfKmQ`lG4=7*A~SrnBECGR6?D$ zTCJB7)sSJd0bvFyLP}bUE~%-dtd7sn3~KTj_*~b5i_dLT1-NTO%zCT24Nf8sO{f4MXoge(<#3DKAyw66Jfb0$ zp|UPxYBQ;Z=u(8HEThd0%LVn0kN)Ow#-l$2AP%rNz1{W$*!%nc=askHBFldB(&ZP2 zWi?Aac#K}vSwm~LAm^D?^u=oWXHWfMZkPI?_);F;iIb<#p4+;Tj|AP^*?Kj^mV zc>$V$4g|ZczOk2R4U7|KLQt5{p~)<2l#x^`0X0L{v$83qle~kWG%0DtNSaecJO;IT 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

Yp+Qt)V5y4e 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%0Ak$ljHlGaLl;^UO@uQVaUxwQ>nX-^9Gn(hcl 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 literal 0 HcmV?d00001 diff --git a/titanium/examples/mobile/here-now-example-app/Resources/iphone/Default-Portrait.png b/titanium/examples/mobile/here-now-example-app/Resources/iphone/Default-Portrait.png new file mode 100644 index 0000000000000000000000000000000000000000..426e1f0af1f26da251e1e11ade51cc66e82303ad GIT binary patch literal 551670 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%0AeMV1|pJFHgJV)NF1g_ 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 Ag#Z8m literal 0 HcmV?d00001 diff --git a/titanium/examples/mobile/here-now-example-app/Resources/iphone/appicon.png b/titanium/examples/mobile/here-now-example-app/Resources/iphone/appicon.png new file mode 100644 index 0000000000000000000000000000000000000000..ac74d27396033c13c6526790d6e7e56b05fdc7b8 GIT binary patch literal 4275 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 0 + && origin.replace( + 'pubsub', 'ps' + ( + failover ? uuid().split('-')[0] : + (++ori < max? ori : ori=1) + ) ) || origin; + } +})(); + +/** + * UPDATER + * ======= + * var timestamp = unique(); + */ +function updater( fun, rate ) { + var timeout + , last = 0 + , runnit = function() { + if (last + rate > rnow()) { + clearTimeout(timeout); + timeout = setTimeout( runnit, rate ); + } + else { + last = rnow(); + fun(); + } + }; + + return runnit; +} + +/** + * GREP + * ==== + * var list = grep( [1,2,3], function(item) { return item % 2 } ) + */ +function grep( list, fun ) { + var fin = []; + each( list || [], function(l) { fun(l) && fin.push(l) } ); + return fin +} + +/** + * SUPPLANT + * ======== + * var text = supplant( 'Hello {name}!', { name : 'John' } ) + */ +function supplant( str, values ) { + return str.replace( REPL, function( _, match ) { + return values[match] || _ + } ); +} + +/** + * timeout + * ======= + * timeout( function(){}, 100 ); + */ +function timeout( fun, wait ) { + return setTimeout( fun, wait ); +} + +/** + * uuid + * ==== + * var my_uuid = uuid(); + */ +function uuid(callback) { + var u = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, + function(c) { + var r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8); + return v.toString(16); + }); + if (callback) callback(u); + return u; +} + +/** + * EACH + * ==== + * each( [1,2,3], function(item) { } ) + */ +function each( o, f ) { + if ( !o || !f ) return; + + if ( typeof o[0] != 'undefined' ) + for ( var i = 0, l = o.length; i < l; ) + f.call( o[i], o[i], i++ ); + else + for ( var i in o ) + o.hasOwnProperty && + o.hasOwnProperty(i) && + f.call( o[i], i, o[i] ); +} + +/** + * MAP + * === + * var list = map( [1,2,3], function(item) { return item + 1 } ) + */ +function map( list, fun ) { + var fin = []; + each( list || [], function( k, v ) { fin.push(fun( k, v )) } ); + return fin; +} + +/** + * ENCODE + * ====== + * var encoded_path = encode('path'); + */ +function encode(path) { + return map( (encodeURIComponent(path)).split(''), function(chr) { + return "-_.!~*'()".indexOf(chr) < 0 ? chr : + "%"+chr.charCodeAt(0).toString(16).toUpperCase() + } ).join(''); +} + +/** + * Generate Subscription Channel List + * ================================== + * generate_channel_list(channels_object); + */ +function generate_channel_list(channels) { + var list = []; + each( channels, function( channel, status ) { + if (status.subscribed) list.push(channel); + } ); + return list.sort(); +} + +// PUBNUB READY TO CONNECT + function ready() { timeout( function() { + if (READY) return; + READY = 1; + each( READY_BUFFER, function(connect) { connect() } ); + }, SECOND ); } + +function PN_API(setup) { + var SUB_WINDOWING = +setup['windowing'] || DEF_WINDOWING + , SUB_TIMEOUT = (+setup['timeout'] || DEF_SUB_TIMEOUT) * SECOND + , KEEPALIVE = (+setup['keepalive'] || DEF_KEEPALIVE) * SECOND + , PUBLISH_KEY = setup['publish_key'] || '' + , SUBSCRIBE_KEY = setup['subscribe_key'] || '' + , SSL = setup['ssl'] ? 's' : '' + , ORIGIN = 'http'+SSL+'://'+(setup['origin']||'pubsub.pubnub.com') + , STD_ORIGIN = nextorigin(ORIGIN) + , SUB_ORIGIN = nextorigin(ORIGIN) + , CONNECT = function(){} + , PUB_QUEUE = [] + , SUB_CALLBACK = 0 + , SUB_CHANNEL = 0 + , SUB_RECEIVER = 0 + , SUB_RESTORE = 0 + , SUB_BUFF_WAIT = 0 + , TIMETOKEN = 0 + , CHANNELS = {} + , xdr = setup['xdr'] + , _is_online = setup['_is_online'] || function() { return 1; } + , jsonp_cb = setup['jsonp_cb'] || function(){ return 0; } + , db = setup['db'] || {'get': function(){}, 'set': function(){}} + , UUID = setup['uuid'] || ( db && db['get'](SUBSCRIBE_KEY+'uuid') || ''); + + + + function publish(next) { + if (next) PUB_QUEUE.sending = 0; + if (PUB_QUEUE.sending || !PUB_QUEUE.length) return; + PUB_QUEUE.sending = 1; + xdr(PUB_QUEUE.shift()); + } + + function each_channel(callback) { + each( generate_channel_list(CHANNELS), function(channel) { + var chan = CHANNELS[channel]; + if (!chan) return; + callback(chan); + } ); + } + + // Announce Leave Event + + + var SELF = { + + '_reset_offline' : function() { + SUB_RECEIVER && SUB_RECEIVER(1); + }, + + 'LEAVE' : function( channel, blocking ) { + var data = { 'uuid' : UUID } + , origin = nextorigin(ORIGIN) + , jsonp = jsonp_cb(); + + // Prevent Leaving a Presence Channel + if (channel.indexOf(PRESENCE_SUFFIX) > 0) return; + + if (jsonp != '0') data['callback'] = jsonp; + + xdr({ + blocking : blocking || SSL, + timeout : 2000, + callback : jsonp, + data : data, + url : [ + origin, 'v2', 'presence', 'sub_key', + SUBSCRIBE_KEY, 'channel', encode(channel), 'leave' + ] + }); + }, + /* + PUBNUB.history({ + channel : 'my_chat_channel', + limit : 100, + callback : function(history) { } + }); + */ + 'history' : function( args, callback ) { + var callback = args['callback'] || callback + , count = args['count'] || args['limit'] || 100 + , reverse = args['reverse'] || "false" + , err = args['error'] || function(){} + , channel = args['channel'] + , start = args['start'] + , end = args['end'] + , params = {} + , jsonp = jsonp_cb(); + + // Make sure we have a Channel + if (!channel) return error('Missing Channel'); + if (!callback) return error('Missing Callback'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + params['stringtoken'] = 'true'; + params['count'] = count; + params['reverse'] = reverse; + + if (jsonp) params['callback'] = jsonp; + if (start) params['start'] = start; + if (end) params['end'] = end; + + // Send Message + xdr({ + callback : jsonp, + data : params, + success : function(response) { callback(response) }, + fail : err, + url : [ + STD_ORIGIN, 'v2', 'history', 'sub-key', + SUBSCRIBE_KEY, 'channel', encode(channel) + ] + }); + }, + + /* + PUBNUB.replay({ + source : 'my_channel', + destination : 'new_channel' + }); + */ + 'replay' : function(args) { + var callback = callback || args['callback'] || function(){} + , source = args['source'] + , destination = args['destination'] + , stop = args['stop'] + , start = args['start'] + , end = args['end'] + , reverse = args['reverse'] + , limit = args['limit'] + , jsonp = jsonp_cb() + , data = {} + , url; + + // Check User Input + if (!source) return error('Missing Source Channel'); + if (!destination) return error('Missing Destination Channel'); + if (!PUBLISH_KEY) return error('Missing Publish Key'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + // Setup URL Params + if (jsonp != '0') data['callback'] = jsonp; + if (stop) data['stop'] = 'all'; + if (reverse) data['reverse'] = 'true'; + if (start) data['start'] = start; + if (end) data['end'] = end; + if (limit) data['count'] = limit; + + // Compose URL Parts + url = [ + STD_ORIGIN, 'v1', 'replay', + PUBLISH_KEY, SUBSCRIBE_KEY, + source, destination + ]; + + // Start (or Stop) Replay! + xdr({ + callback : jsonp, + success : function(response) { callback(response) }, + fail : function() { callback([ 0, 'Disconnected' ]) }, + url : url, + data : data + }); + }, + + /* + PUBNUB.time(function(time){ }); + */ + 'time' : function(callback) { + var jsonp = jsonp_cb(); + xdr({ + callback : jsonp, + timeout : SECOND*5, + url : [STD_ORIGIN, 'time', jsonp], + success : function(response) { callback(response[0]) }, + fail : function() { callback(0) } + }); + }, + + /* + PUBNUB.publish({ + channel : 'my_chat_channel', + message : 'hello!' + }); + */ + 'publish' : function( args, callback ) { + var callback = callback || args['callback'] || function(){} + , msg = args['message'] + , channel = args['channel'] + , jsonp = jsonp_cb() + , url; + + if (!msg) return error('Missing Message'); + if (!channel) return error('Missing Channel'); + if (!PUBLISH_KEY) return error('Missing Publish Key'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + // If trying to send Object + msg = JSON['stringify'](msg); + + // Create URL + url = [ + STD_ORIGIN, 'publish', + PUBLISH_KEY, SUBSCRIBE_KEY, + 0, encode(channel), + jsonp, encode(msg) + ]; + + // Queue Message Send + PUB_QUEUE.push({ + callback : jsonp, + timeout : SECOND*5, + url : url, + data : { 'uuid' : UUID }, + success : function(response){callback(response);publish(1)}, + fail : function(){callback([0,'Failed',msg]);publish(1)} + }); + + // Send Message + publish(); + }, + + /* + PUBNUB.unsubscribe({ channel : 'my_chat' }); + */ + 'unsubscribe' : function(args) { + var channel = args['channel']; + + TIMETOKEN = 0; + SUB_RESTORE = 1; + + // Prepare Channel(s) + channel = map( ( + channel.join ? channel.join(',') : ''+channel + ).split(','), function(channel) { + return channel + ',' + channel + PRESENCE_SUFFIX; + } ).join(','); + + // Iterate over Channels + each( channel.split(','), function(channel) { + if (READY) SELF['LEAVE']( channel, 0 ); + CHANNELS[channel] = 0; + } ); + + // ReOpen Connection if Any Channels Left + if (READY) CONNECT(); + }, + + /* + PUBNUB.subscribe({ + channel : 'my_chat' + callback : function(message) { } + }); + */ + 'subscribe' : function( args, callback ) { + var channel = args['channel'] + , callback = callback || args['callback'] + , callback = callback || args['message'] + , connect = args['connect'] || function(){} + , reconnect = args['reconnect'] || function(){} + , disconnect = args['disconnect'] || function(){} + , presence = args['presence'] || 0 + , noheresync = args['noheresync'] || 0 + , backfill = args['backfill'] || 0 + , sub_timeout = args['timeout'] || SUB_TIMEOUT + , windowing = args['windowing'] || SUB_WINDOWING + , restore = args['restore']; + + // Restore Enabled? + if (restore) SUB_RESTORE = 1; + + TIMETOKEN = 0; + + // Make sure we have a Channel + if (!channel) return error('Missing Channel'); + if (!callback) return error('Missing Callback'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + // Setup Channel(s) + each( (channel.join ? channel.join(',') : ''+channel).split(','), + function(channel) { + var settings = CHANNELS[channel] || {}; + + // Store Channel State + CHANNELS[SUB_CHANNEL = channel] = { + name : channel, + connected : settings.connected, + disconnected : settings.disconnected, + subscribed : 1, + callback : SUB_CALLBACK = callback, + connect : connect, + disconnect : disconnect, + reconnect : reconnect + }; + + // Presence Enabled? + if (!presence) return; + + // Subscribe Presence Channel + SELF['subscribe']({ + 'channel' : channel + PRESENCE_SUFFIX, + 'callback' : presence + }); + + // Presence Subscribed? + if (settings.subscribed) return; + + // See Who's Here Now? + if (noheresync) return; + SELF['here_now']({ + 'channel' : channel, + 'callback' : function(here) { + each( 'uuids' in here ? here['uuids'] : [], + function(uid) { presence( { + 'action' : 'join', + 'uuid' : uid, + 'timestamp' : rnow(), + 'occupancy' : here['occupancy'] || 1 + }, here, channel ); } ); + } + }); + } ); + + // Test Network Connection + function _test_connection(success) { + if (success) { + // Begin Next Socket Connection + timeout( _connect, SECOND ); + } + else { + // New Origin on Failed Connection + STD_ORIGIN = nextorigin( ORIGIN, 1 ); + SUB_ORIGIN = nextorigin( ORIGIN, 1 ); + + // Re-test Connection + timeout( function() { + SELF['time'](_test_connection); + }, SECOND ); + } + + // Disconnect & Reconnect + each_channel(function(channel){ + // Reconnect + if (success && channel.disconnected) { + channel.disconnected = 0; + return channel.reconnect(channel.name); + } + + // Disconnect + if (!success && !channel.disconnected) { + channel.disconnected = 1; + channel.disconnect(channel.name); + } + }); + } + + // Evented Subscribe + function _connect() { + var jsonp = jsonp_cb() + , channels = generate_channel_list(CHANNELS).join(','); + + // Stop Connection + if (!channels) return; + + // Connect to PubNub Subscribe Servers + SUB_RECEIVER = xdr({ + timeout : sub_timeout, + callback : jsonp, + fail : function() { SELF['time'](_test_connection) }, + data : { 'uuid' : UUID }, + url : [ + SUB_ORIGIN, 'subscribe', + SUBSCRIBE_KEY, encode(channels), + jsonp, TIMETOKEN + ], + success : function(messages) { + if (!messages) return timeout( _connect, windowing ); + + // Connect + each_channel(function(channel){ + if (channel.connected) return; + channel.connected = 1; + channel.connect(channel.name); + }); + + // Restore Previous Connection Point if Needed + TIMETOKEN = !TIMETOKEN && + SUB_RESTORE && + db['get'](SUBSCRIBE_KEY) || messages[1]; + + + if (backfill) { + Timetoken = 10000; + backfill = 0; + } + + // Update Saved Timetoken + db['set']( SUBSCRIBE_KEY, messages[1] ); + + // Route Channel <---> Callback for Message + var next_callback = (function() { + var channels = (messages.length>2?messages[2]:'') + , list = channels.split(','); + + return function() { + var channel = list.shift()||''; + return [ + (CHANNELS[channel]||{}) + .callback||SUB_CALLBACK, + (channel||SUB_CHANNEL) + .split(PRESENCE_SUFFIX)[0] + ]; + }; + })(); + + each( messages[0], function(msg) { + var next = next_callback(); + if (!CHANNELS[next[1]].subscribed) return; + next[0]( msg, messages, next[1] ); + } ); + + timeout( _connect, windowing ); + } + }); + } + + CONNECT = function() { + // Close Previous Subscribe Connection + SELF['_reset_offline'](); + + // Begin Recursive Subscribe + clearTimeout(SUB_BUFF_WAIT); + SUB_BUFF_WAIT = timeout( _connect, 100 ); + }; + + // Reduce Status Flicker + if (!READY) return READY_BUFFER.push(CONNECT); + + // Connect Now + CONNECT(); + }, + + 'here_now' : function( args, callback ) { + var callback = args['callback'] || callback + , err = args['error'] || function(){} + , channel = args['channel'] + , jsonp = jsonp_cb() + , data = null; + + // Make sure we have a Channel + if (!channel) return error('Missing Channel'); + if (!callback) return error('Missing Callback'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + if (jsonp != '0') { + data = {}; + data['callback'] = jsonp; + } + + xdr({ + callback : jsonp, + data : data, + success : function(response) { callback(response) }, + fail : err, + url : [ + STD_ORIGIN, 'v2', 'presence', + 'sub_key', SUBSCRIBE_KEY, + 'channel', encode(channel) + ] + }); + }, + + // Expose PUBNUB Functions + 'xdr' : xdr, + 'ready' : ready, + 'db' : db, + 'uuid' : uuid, + 'each' : each, + 'map' : map, + 'grep' : grep, + 'supplant' : supplant, + 'now' : rnow, + 'unique' : unique, + 'updater' : updater, + 'poll_online' : function() { + _is_online() || SELF['_reset_offline'](); + timeout( SELF['poll_online'], SECOND ); + }, + 'poll_online2' : function() { + SELF['time'](function(success){ + success || SELF['_reset_offline'](); + timeout( SELF['poll_online2'], KEEPALIVE ); + }) + } + }; + if (!UUID) UUID = SELF['uuid'](); + db['set']( SUBSCRIBE_KEY + 'uuid', UUID ); + + timeout( SELF['poll_online'], SECOND ); + timeout( SELF['poll_online2'], KEEPALIVE ); + + return SELF; +} +/* --------------------------------------------------------------------------- +--------------------------------------------------------------------------- */ + +/* --------------------------------------------------------------------------- +PubNub Real-time Cloud-Hosted Push API and Push Notification Client Frameworks +Copyright (c) 2011 PubNub Inc. +http://www.pubnub.com/ +http://www.pubnub.com/terms +--------------------------------------------------------------------------- */ + +/* --------------------------------------------------------------------------- +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +--------------------------------------------------------------------------- */ +(function(){ + +/** + * UTIL LOCALS + */ +var NOW = 1 +, URLBIT = '/' +, MAGIC = /\$?{([\w\-]+)}/g +, PARAMSBIT = '&' +, ANDROID = Ti.Platform.name.toLowerCase().indexOf('android') >= 0 +, XHRTME = 310000; + + + +/** + * LOCAL STORAGE OR COOKIE + */ +var db = (function(){ + return { + get : function(key) { + Ti.App.Properties.getString(''+key); + }, + set : function( key, value ) { + Ti.App.Properties.setString( ''+key, ''+value ); + } + }; +})(); + + +/** + * Titanium TCP Sockets + * ==================== + * xdr({ + * url : ['http://www.blah.com/url'], + * success : function(response) {}, + * fail : function() {} + * }); + */ +function xdr_tcp(setup) { + + var url = setup.url.join(URLBIT); + if (setup.data) { + var params = []; + url += "?"; + for (key in setup.data) { + params.push(key+"="+setup.data[key]); + } + url += params.join(PARAMSBIT); + } + log(url); + var body = [] + , data = "" + , rbuffer = Ti.createBuffer({ length : 2048 }) + , wbuffer = Ti.createBuffer({ value : "GET " + url + " HTTP/1.0\n\n"}) + , failed = 0 + , fail = function() { + if (failed) return; + failed = 1; + (setup.fail || function(){})(); + } + , success = setup.success || function(){} + , sock = Ti.Network.Socket.createTCP({ + host : url.split(URLBIT)[2], + port : 80, + mode : Ti.Network.READ_WRITE_MODE, + timeout : XHRTME, + error : fail, + connected : function() { + sock.write(wbuffer); + read(); + } + }); + + function read() { + Ti.Stream.read( sock, rbuffer, function(stream) { + if (+stream.bytesProcessed > -1) { + data = Ti.Codec.decodeString({ + source : rbuffer, + length : +stream.bytesProcessed + }); + + body.push(data); + rbuffer.clear(); + + return timeout( read, 1 ); + } + + try { + data = JSON['parse']( + body.join('').split('\r\n').slice(-1) + ); + } + catch (r) { + return fail(); + } + + sock.close(); + success(data); + } ); + } + + try { sock.connect() } + catch(k) { return fail() } +} + +/** + * Titanium XHR Request + * ============================== + * xdr({ + * url : ['http://www.blah.com/url'], + * success : function(response) {}, + * fail : function() {} + * }); + */ +function xdr_http_client( setup ) { + + var url = setup.url.join(URLBIT); + if (setup.data) { + var params = []; + url += "?"; + for (key in setup.data) { + params.push(key+"="+setup.data[key]); + } + url += params.join(PARAMSBIT); + } + var xhr + , finished = function() { + if (loaded) return; + loaded = 1; + + clearTimeout(timer); + + try { response = JSON['parse'](xhr.responseText); } + catch (r) { return done(1); } + + success(response); + } + , complete = 0 + , loaded = 0 + , timer = timeout( function(){done(1)}, XHRTME ) + , fail = setup.fail || function(){} + , success = setup.success || function(){} + , done = function(failed) { + if (complete) return; + complete = 1; + + clearTimeout(timer); + + if (xhr) { + xhr.onerror = xhr.onload = null; + xhr.abort && xhr.abort(); + xhr = null; + } + + failed && fail(); + }; + + // Send + try { + xhr = Ti.Network.createHTTPClient(); + xhr.onerror = function(){ done(1) }; + xhr.onload = finished; + xhr.timeout = XHRTME; + + xhr.open( 'GET', url, true ); + xhr.send(); + } + catch(eee) { + done(0); + return xdr(setup); + } + + // Return 'done' + return done; +} + +/** + * BIND + * ==== + * bind( 'keydown', search('a')[0], function(element) { + * ... + * } ); + */ +function bind( type, el, fun ) { + each( type.split(','), function(etype) { + var rapfun = function(e) { + if (!e) e = window.event; + if (!fun(e)) { + e.cancelBubble = true; + e.returnValue = false; + e.preventDefault && e.preventDefault(); + e.stopPropagation && e.stopPropagation(); + } + }; + + if ( el.addEventListener ) el.addEventListener( etype, rapfun, false ); + else if ( el.attachEvent ) el.attachEvent( 'on' + etype, rapfun ); + else el[ 'on' + etype ] = rapfun; + } ); +} + +/** + * UNBIND + * ====== + * unbind( 'keydown', search('a')[0] ); + */ +function unbind( type, el, fun ) { + if ( el.removeEventListener ) el.removeEventListener( type, false ); + else if ( el.detachEvent ) el.detachEvent( 'on' + type, false ); + else el[ 'on' + type ] = null; +} + +/** + * LOG + * === + * var list = grep( [1,2,3], function(item) { return item % 2 } ) + */ +var log = function(){}; + +/** + * EVENTS + * ====== + * PUBNUB.events.bind( 'you-stepped-on-flower', function(message) { + * // Do Stuff with message + * } ); + * + * PUBNUB.events.fire( 'you-stepped-on-flower', "message-data" ); + * PUBNUB.events.fire( 'you-stepped-on-flower', {message:"data"} ); + * PUBNUB.events.fire( 'you-stepped-on-flower', [1,2,3] ); + * + */ +var events = { + 'list' : {}, + 'unbind' : function( name ) { events.list[name] = [] }, + 'bind' : function( name, fun ) { + (events.list[name] = events.list[name] || []).push(fun); + }, + 'fire' : function( name, data ) { + each( + events.list[name] || [], + function(fun) { fun(data) } + ); + } +}; + +/* =-====================================================================-= */ +/* =-====================================================================-= */ +/* =-========================= PUBNUB ===========================-= */ +/* =-====================================================================-= */ +/* =-====================================================================-= */ + +function PN(setup) { + + + setup['db'] = db; + setup['xdr'] = setup['native_tcp_socket'] ? xdr_tcp : xdr_http_client + var SELF = PN_API(setup); + + SELF['init'] = PN; + + + // Return without Testing + if (setup['notest']) return SELF; + + SELF['ready'](); + return SELF; +} + +typeof module !== 'undefined' && (module.exports = PN) || +typeof exports !== 'undefined' && (exports.PN = PN) || (PUBNUB = PN); + +})(); +})(); diff --git a/titanium/examples/mobile/here-now-example-app/manifest b/titanium/examples/mobile/here-now-example-app/manifest new file mode 100644 index 000000000..4925fafdb --- /dev/null +++ b/titanium/examples/mobile/here-now-example-app/manifest @@ -0,0 +1,8 @@ +#appname: Here Now Example +#publisher: stephen +#url: http://www.pubnub.com/ +#image: appicon.png +#appid: com.pubnub.herenow +#desc: undefined +#type: ipad +#guid: 42667a7c-de7a-4f61-834c-3f0fab1da412 diff --git a/titanium/examples/mobile/here-now-example-app/tiapp.xml b/titanium/examples/mobile/here-now-example-app/tiapp.xml new file mode 100644 index 000000000..f0993d465 --- /dev/null +++ b/titanium/examples/mobile/here-now-example-app/tiapp.xml @@ -0,0 +1,41 @@ + + + 2.1.0.GA + 327680 + + false + true + true + true + false + + com.pubnub.herenow + here-now-example + 1.0 + stephen + http://www.pubnub.com/ + not specified + 2011 by stephen + appicon.png + false + false + default + false + false + false + true + 42667a7c-de7a-4f61-834c-3f0fab1da412 + + + Ti.UI.PORTRAIT + + + Ti.UI.PORTRAIT + Ti.UI.UPSIDE_PORTRAIT + Ti.UI.LANDSCAPE_LEFT + Ti.UI.LANDSCAPE_RIGHT + + + + + diff --git a/titanium/pubnub.js b/titanium/pubnub.js new file mode 100644 index 000000000..b4f497897 --- /dev/null +++ b/titanium/pubnub.js @@ -0,0 +1,972 @@ +// 3.4.3 +(function(){ +var NOW = 1 +, READY = false +, READY_BUFFER = [] +, PRESENCE_SUFFIX = '-pnpres' +, DEF_WINDOWING = 10 // MILLISECONDS. +, DEF_TIMEOUT = 10000 // MILLISECONDS. +, DEF_SUB_TIMEOUT = 310 // SECONDS. +, DEF_KEEPALIVE = 60 // SECONDS. +, SECOND = 1000 // A THOUSAND MILLISECONDS. +, REPL = /{([\w\-]+)}/g; + +/** + * UTILITIES + */ +function unique() { return'x'+ ++NOW+''+(+new Date) } +function rnow() { return+new Date } + +/** + * NEXTORIGIN + * ========== + * var next_origin = nextorigin(); + */ +var nextorigin = (function() { + var max = 20 + , ori = Math.floor(Math.random() * max); + return function( origin, failover ) { + return origin.indexOf('pubsub.') > 0 + && origin.replace( + 'pubsub', 'ps' + ( + failover ? uuid().split('-')[0] : + (++ori < max? ori : ori=1) + ) ) || origin; + } +})(); + +/** + * UPDATER + * ======= + * var timestamp = unique(); + */ +function updater( fun, rate ) { + var timeout + , last = 0 + , runnit = function() { + if (last + rate > rnow()) { + clearTimeout(timeout); + timeout = setTimeout( runnit, rate ); + } + else { + last = rnow(); + fun(); + } + }; + + return runnit; +} + +/** + * GREP + * ==== + * var list = grep( [1,2,3], function(item) { return item % 2 } ) + */ +function grep( list, fun ) { + var fin = []; + each( list || [], function(l) { fun(l) && fin.push(l) } ); + return fin +} + +/** + * SUPPLANT + * ======== + * var text = supplant( 'Hello {name}!', { name : 'John' } ) + */ +function supplant( str, values ) { + return str.replace( REPL, function( _, match ) { + return values[match] || _ + } ); +} + +/** + * timeout + * ======= + * timeout( function(){}, 100 ); + */ +function timeout( fun, wait ) { + return setTimeout( fun, wait ); +} + +/** + * uuid + * ==== + * var my_uuid = uuid(); + */ +function uuid(callback) { + var u = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, + function(c) { + var r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8); + return v.toString(16); + }); + if (callback) callback(u); + return u; +} + +/** + * EACH + * ==== + * each( [1,2,3], function(item) { } ) + */ +function each( o, f ) { + if ( !o || !f ) return; + + if ( typeof o[0] != 'undefined' ) + for ( var i = 0, l = o.length; i < l; ) + f.call( o[i], o[i], i++ ); + else + for ( var i in o ) + o.hasOwnProperty && + o.hasOwnProperty(i) && + f.call( o[i], i, o[i] ); +} + +/** + * MAP + * === + * var list = map( [1,2,3], function(item) { return item + 1 } ) + */ +function map( list, fun ) { + var fin = []; + each( list || [], function( k, v ) { fin.push(fun( k, v )) } ); + return fin; +} + +/** + * ENCODE + * ====== + * var encoded_path = encode('path'); + */ +function encode(path) { + return map( (encodeURIComponent(path)).split(''), function(chr) { + return "-_.!~*'()".indexOf(chr) < 0 ? chr : + "%"+chr.charCodeAt(0).toString(16).toUpperCase() + } ).join(''); +} + +/** + * Generate Subscription Channel List + * ================================== + * generate_channel_list(channels_object); + */ +function generate_channel_list(channels) { + var list = []; + each( channels, function( channel, status ) { + if (status.subscribed) list.push(channel); + } ); + return list.sort(); +} + +// PUBNUB READY TO CONNECT + function ready() { timeout( function() { + if (READY) return; + READY = 1; + each( READY_BUFFER, function(connect) { connect() } ); + }, SECOND ); } + +function PN_API(setup) { + var SUB_WINDOWING = +setup['windowing'] || DEF_WINDOWING + , SUB_TIMEOUT = (+setup['timeout'] || DEF_SUB_TIMEOUT) * SECOND + , KEEPALIVE = (+setup['keepalive'] || DEF_KEEPALIVE) * SECOND + , PUBLISH_KEY = setup['publish_key'] || '' + , SUBSCRIBE_KEY = setup['subscribe_key'] || '' + , SSL = setup['ssl'] ? 's' : '' + , ORIGIN = 'http'+SSL+'://'+(setup['origin']||'pubsub.pubnub.com') + , STD_ORIGIN = nextorigin(ORIGIN) + , SUB_ORIGIN = nextorigin(ORIGIN) + , CONNECT = function(){} + , PUB_QUEUE = [] + , SUB_CALLBACK = 0 + , SUB_CHANNEL = 0 + , SUB_RECEIVER = 0 + , SUB_RESTORE = 0 + , SUB_BUFF_WAIT = 0 + , TIMETOKEN = 0 + , CHANNELS = {} + , xdr = setup['xdr'] + , _is_online = setup['_is_online'] || function() { return 1; } + , jsonp_cb = setup['jsonp_cb'] || function(){ return 0; } + , db = setup['db'] || {'get': function(){}, 'set': function(){}} + , UUID = setup['uuid'] || ( db && db['get'](SUBSCRIBE_KEY+'uuid') || ''); + + + + function publish(next) { + if (next) PUB_QUEUE.sending = 0; + if (PUB_QUEUE.sending || !PUB_QUEUE.length) return; + PUB_QUEUE.sending = 1; + xdr(PUB_QUEUE.shift()); + } + + function each_channel(callback) { + each( generate_channel_list(CHANNELS), function(channel) { + var chan = CHANNELS[channel]; + if (!chan) return; + callback(chan); + } ); + } + + // Announce Leave Event + + + var SELF = { + + '_reset_offline' : function() { + SUB_RECEIVER && SUB_RECEIVER(1); + }, + + 'LEAVE' : function( channel, blocking ) { + var data = { 'uuid' : UUID } + , origin = nextorigin(ORIGIN) + , jsonp = jsonp_cb(); + + // Prevent Leaving a Presence Channel + if (channel.indexOf(PRESENCE_SUFFIX) > 0) return; + + if (jsonp != '0') data['callback'] = jsonp; + + xdr({ + blocking : blocking || SSL, + timeout : 2000, + callback : jsonp, + data : data, + url : [ + origin, 'v2', 'presence', 'sub_key', + SUBSCRIBE_KEY, 'channel', encode(channel), 'leave' + ] + }); + }, + /* + PUBNUB.history({ + channel : 'my_chat_channel', + limit : 100, + callback : function(history) { } + }); + */ + 'history' : function( args, callback ) { + var callback = args['callback'] || callback + , count = args['count'] || args['limit'] || 100 + , reverse = args['reverse'] || "false" + , err = args['error'] || function(){} + , channel = args['channel'] + , start = args['start'] + , end = args['end'] + , params = {} + , jsonp = jsonp_cb(); + + // Make sure we have a Channel + if (!channel) return error('Missing Channel'); + if (!callback) return error('Missing Callback'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + params['stringtoken'] = 'true'; + params['count'] = count; + params['reverse'] = reverse; + + if (jsonp) params['callback'] = jsonp; + if (start) params['start'] = start; + if (end) params['end'] = end; + + // Send Message + xdr({ + callback : jsonp, + data : params, + success : function(response) { callback(response) }, + fail : err, + url : [ + STD_ORIGIN, 'v2', 'history', 'sub-key', + SUBSCRIBE_KEY, 'channel', encode(channel) + ] + }); + }, + + /* + PUBNUB.replay({ + source : 'my_channel', + destination : 'new_channel' + }); + */ + 'replay' : function(args) { + var callback = callback || args['callback'] || function(){} + , source = args['source'] + , destination = args['destination'] + , stop = args['stop'] + , start = args['start'] + , end = args['end'] + , reverse = args['reverse'] + , limit = args['limit'] + , jsonp = jsonp_cb() + , data = {} + , url; + + // Check User Input + if (!source) return error('Missing Source Channel'); + if (!destination) return error('Missing Destination Channel'); + if (!PUBLISH_KEY) return error('Missing Publish Key'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + // Setup URL Params + if (jsonp != '0') data['callback'] = jsonp; + if (stop) data['stop'] = 'all'; + if (reverse) data['reverse'] = 'true'; + if (start) data['start'] = start; + if (end) data['end'] = end; + if (limit) data['count'] = limit; + + // Compose URL Parts + url = [ + STD_ORIGIN, 'v1', 'replay', + PUBLISH_KEY, SUBSCRIBE_KEY, + source, destination + ]; + + // Start (or Stop) Replay! + xdr({ + callback : jsonp, + success : function(response) { callback(response) }, + fail : function() { callback([ 0, 'Disconnected' ]) }, + url : url, + data : data + }); + }, + + /* + PUBNUB.time(function(time){ }); + */ + 'time' : function(callback) { + var jsonp = jsonp_cb(); + xdr({ + callback : jsonp, + timeout : SECOND*5, + url : [STD_ORIGIN, 'time', jsonp], + success : function(response) { callback(response[0]) }, + fail : function() { callback(0) } + }); + }, + + /* + PUBNUB.publish({ + channel : 'my_chat_channel', + message : 'hello!' + }); + */ + 'publish' : function( args, callback ) { + var callback = callback || args['callback'] || function(){} + , msg = args['message'] + , channel = args['channel'] + , jsonp = jsonp_cb() + , url; + + if (!msg) return error('Missing Message'); + if (!channel) return error('Missing Channel'); + if (!PUBLISH_KEY) return error('Missing Publish Key'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + // If trying to send Object + msg = JSON['stringify'](msg); + + // Create URL + url = [ + STD_ORIGIN, 'publish', + PUBLISH_KEY, SUBSCRIBE_KEY, + 0, encode(channel), + jsonp, encode(msg) + ]; + + // Queue Message Send + PUB_QUEUE.push({ + callback : jsonp, + timeout : SECOND*5, + url : url, + data : { 'uuid' : UUID }, + success : function(response){callback(response);publish(1)}, + fail : function(){callback([0,'Failed',msg]);publish(1)} + }); + + // Send Message + publish(); + }, + + /* + PUBNUB.unsubscribe({ channel : 'my_chat' }); + */ + 'unsubscribe' : function(args) { + var channel = args['channel']; + + TIMETOKEN = 0; + SUB_RESTORE = 1; + + // Prepare Channel(s) + channel = map( ( + channel.join ? channel.join(',') : ''+channel + ).split(','), function(channel) { + return channel + ',' + channel + PRESENCE_SUFFIX; + } ).join(','); + + // Iterate over Channels + each( channel.split(','), function(channel) { + if (READY) SELF['LEAVE']( channel, 0 ); + CHANNELS[channel] = 0; + } ); + + // ReOpen Connection if Any Channels Left + if (READY) CONNECT(); + }, + + /* + PUBNUB.subscribe({ + channel : 'my_chat' + callback : function(message) { } + }); + */ + 'subscribe' : function( args, callback ) { + var channel = args['channel'] + , callback = callback || args['callback'] + , callback = callback || args['message'] + , connect = args['connect'] || function(){} + , reconnect = args['reconnect'] || function(){} + , disconnect = args['disconnect'] || function(){} + , presence = args['presence'] || 0 + , noheresync = args['noheresync'] || 0 + , backfill = args['backfill'] || 0 + , sub_timeout = args['timeout'] || SUB_TIMEOUT + , windowing = args['windowing'] || SUB_WINDOWING + , restore = args['restore']; + + // Restore Enabled? + if (restore) SUB_RESTORE = 1; + + TIMETOKEN = 0; + + // Make sure we have a Channel + if (!channel) return error('Missing Channel'); + if (!callback) return error('Missing Callback'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + // Setup Channel(s) + each( (channel.join ? channel.join(',') : ''+channel).split(','), + function(channel) { + var settings = CHANNELS[channel] || {}; + + // Store Channel State + CHANNELS[SUB_CHANNEL = channel] = { + name : channel, + connected : settings.connected, + disconnected : settings.disconnected, + subscribed : 1, + callback : SUB_CALLBACK = callback, + connect : connect, + disconnect : disconnect, + reconnect : reconnect + }; + + // Presence Enabled? + if (!presence) return; + + // Subscribe Presence Channel + SELF['subscribe']({ + 'channel' : channel + PRESENCE_SUFFIX, + 'callback' : presence + }); + + // Presence Subscribed? + if (settings.subscribed) return; + + // See Who's Here Now? + if (noheresync) return; + SELF['here_now']({ + 'channel' : channel, + 'callback' : function(here) { + each( 'uuids' in here ? here['uuids'] : [], + function(uid) { presence( { + 'action' : 'join', + 'uuid' : uid, + 'timestamp' : rnow(), + 'occupancy' : here['occupancy'] || 1 + }, here, channel ); } ); + } + }); + } ); + + // Test Network Connection + function _test_connection(success) { + if (success) { + // Begin Next Socket Connection + timeout( _connect, SECOND ); + } + else { + // New Origin on Failed Connection + STD_ORIGIN = nextorigin( ORIGIN, 1 ); + SUB_ORIGIN = nextorigin( ORIGIN, 1 ); + + // Re-test Connection + timeout( function() { + SELF['time'](_test_connection); + }, SECOND ); + } + + // Disconnect & Reconnect + each_channel(function(channel){ + // Reconnect + if (success && channel.disconnected) { + channel.disconnected = 0; + return channel.reconnect(channel.name); + } + + // Disconnect + if (!success && !channel.disconnected) { + channel.disconnected = 1; + channel.disconnect(channel.name); + } + }); + } + + // Evented Subscribe + function _connect() { + var jsonp = jsonp_cb() + , channels = generate_channel_list(CHANNELS).join(','); + + // Stop Connection + if (!channels) return; + + // Connect to PubNub Subscribe Servers + SUB_RECEIVER = xdr({ + timeout : sub_timeout, + callback : jsonp, + fail : function() { SELF['time'](_test_connection) }, + data : { 'uuid' : UUID }, + url : [ + SUB_ORIGIN, 'subscribe', + SUBSCRIBE_KEY, encode(channels), + jsonp, TIMETOKEN + ], + success : function(messages) { + if (!messages) return timeout( _connect, windowing ); + + // Connect + each_channel(function(channel){ + if (channel.connected) return; + channel.connected = 1; + channel.connect(channel.name); + }); + + // Restore Previous Connection Point if Needed + TIMETOKEN = !TIMETOKEN && + SUB_RESTORE && + db['get'](SUBSCRIBE_KEY) || messages[1]; + + + if (backfill) { + Timetoken = 10000; + backfill = 0; + } + + // Update Saved Timetoken + db['set']( SUBSCRIBE_KEY, messages[1] ); + + // Route Channel <---> Callback for Message + var next_callback = (function() { + var channels = (messages.length>2?messages[2]:'') + , list = channels.split(','); + + return function() { + var channel = list.shift()||''; + return [ + (CHANNELS[channel]||{}) + .callback||SUB_CALLBACK, + (channel||SUB_CHANNEL) + .split(PRESENCE_SUFFIX)[0] + ]; + }; + })(); + + each( messages[0], function(msg) { + var next = next_callback(); + if (!CHANNELS[next[1]].subscribed) return; + next[0]( msg, messages, next[1] ); + } ); + + timeout( _connect, windowing ); + } + }); + } + + CONNECT = function() { + // Close Previous Subscribe Connection + SELF['_reset_offline'](); + + // Begin Recursive Subscribe + clearTimeout(SUB_BUFF_WAIT); + SUB_BUFF_WAIT = timeout( _connect, 100 ); + }; + + // Reduce Status Flicker + if (!READY) return READY_BUFFER.push(CONNECT); + + // Connect Now + CONNECT(); + }, + + 'here_now' : function( args, callback ) { + var callback = args['callback'] || callback + , err = args['error'] || function(){} + , channel = args['channel'] + , jsonp = jsonp_cb() + , data = null; + + // Make sure we have a Channel + if (!channel) return error('Missing Channel'); + if (!callback) return error('Missing Callback'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + if (jsonp != '0') { + data = {}; + data['callback'] = jsonp; + } + + xdr({ + callback : jsonp, + data : data, + success : function(response) { callback(response) }, + fail : err, + url : [ + STD_ORIGIN, 'v2', 'presence', + 'sub_key', SUBSCRIBE_KEY, + 'channel', encode(channel) + ] + }); + }, + + // Expose PUBNUB Functions + 'xdr' : xdr, + 'ready' : ready, + 'db' : db, + 'uuid' : uuid, + 'each' : each, + 'map' : map, + 'grep' : grep, + 'supplant' : supplant, + 'now' : rnow, + 'unique' : unique, + 'updater' : updater, + 'poll_online' : function() { + _is_online() || SELF['_reset_offline'](); + timeout( SELF['poll_online'], SECOND ); + }, + 'poll_online2' : function() { + SELF['time'](function(success){ + success || SELF['_reset_offline'](); + timeout( SELF['poll_online2'], KEEPALIVE ); + }) + } + }; + if (!UUID) UUID = SELF['uuid'](); + db['set']( SUBSCRIBE_KEY + 'uuid', UUID ); + + timeout( SELF['poll_online'], SECOND ); + timeout( SELF['poll_online2'], KEEPALIVE ); + + return SELF; +} +/* --------------------------------------------------------------------------- +--------------------------------------------------------------------------- */ + +/* --------------------------------------------------------------------------- +PubNub Real-time Cloud-Hosted Push API and Push Notification Client Frameworks +Copyright (c) 2011 PubNub Inc. +http://www.pubnub.com/ +http://www.pubnub.com/terms +--------------------------------------------------------------------------- */ + +/* --------------------------------------------------------------------------- +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +--------------------------------------------------------------------------- */ +(function(){ + +/** + * UTIL LOCALS + */ +var NOW = 1 +, URLBIT = '/' +, MAGIC = /\$?{([\w\-]+)}/g +, PARAMSBIT = '&' +, ANDROID = Ti.Platform.name.toLowerCase().indexOf('android') >= 0 +, XHRTME = 310000; + + + +/** + * LOCAL STORAGE OR COOKIE + */ +var db = (function(){ + return { + get : function(key) { + Ti.App.Properties.getString(''+key); + }, + set : function( key, value ) { + Ti.App.Properties.setString( ''+key, ''+value ); + } + }; +})(); + + +/** + * Titanium TCP Sockets + * ==================== + * xdr({ + * url : ['http://www.blah.com/url'], + * success : function(response) {}, + * fail : function() {} + * }); + */ +function xdr_tcp(setup) { + + var url = setup.url.join(URLBIT); + if (setup.data) { + var params = []; + url += "?"; + for (key in setup.data) { + params.push(key+"="+setup.data[key]); + } + url += params.join(PARAMSBIT); + } + log(url); + var body = [] + , data = "" + , rbuffer = Ti.createBuffer({ length : 2048 }) + , wbuffer = Ti.createBuffer({ value : "GET " + url + " HTTP/1.0\n\n"}) + , failed = 0 + , fail = function() { + if (failed) return; + failed = 1; + (setup.fail || function(){})(); + } + , success = setup.success || function(){} + , sock = Ti.Network.Socket.createTCP({ + host : url.split(URLBIT)[2], + port : 80, + mode : Ti.Network.READ_WRITE_MODE, + timeout : XHRTME, + error : fail, + connected : function() { + sock.write(wbuffer); + read(); + } + }); + + function read() { + Ti.Stream.read( sock, rbuffer, function(stream) { + if (+stream.bytesProcessed > -1) { + data = Ti.Codec.decodeString({ + source : rbuffer, + length : +stream.bytesProcessed + }); + + body.push(data); + rbuffer.clear(); + + return timeout( read, 1 ); + } + + try { + data = JSON['parse']( + body.join('').split('\r\n').slice(-1) + ); + } + catch (r) { + return fail(); + } + + sock.close(); + success(data); + } ); + } + + try { sock.connect() } + catch(k) { return fail() } +} + +/** + * Titanium XHR Request + * ============================== + * xdr({ + * url : ['http://www.blah.com/url'], + * success : function(response) {}, + * fail : function() {} + * }); + */ +function xdr_http_client( setup ) { + + var url = setup.url.join(URLBIT); + if (setup.data) { + var params = []; + url += "?"; + for (key in setup.data) { + params.push(key+"="+setup.data[key]); + } + url += params.join(PARAMSBIT); + } + var xhr + , finished = function() { + if (loaded) return; + loaded = 1; + + clearTimeout(timer); + + try { response = JSON['parse'](xhr.responseText); } + catch (r) { return done(1); } + + success(response); + } + , complete = 0 + , loaded = 0 + , timer = timeout( function(){done(1)}, XHRTME ) + , fail = setup.fail || function(){} + , success = setup.success || function(){} + , done = function(failed) { + if (complete) return; + complete = 1; + + clearTimeout(timer); + + if (xhr) { + xhr.onerror = xhr.onload = null; + xhr.abort && xhr.abort(); + xhr = null; + } + + failed && fail(); + }; + + // Send + try { + xhr = Ti.Network.createHTTPClient(); + xhr.onerror = function(){ done(1) }; + xhr.onload = finished; + xhr.timeout = XHRTME; + + xhr.open( 'GET', url, true ); + xhr.send(); + } + catch(eee) { + done(0); + return xdr(setup); + } + + // Return 'done' + return done; +} + +/** + * BIND + * ==== + * bind( 'keydown', search('a')[0], function(element) { + * ... + * } ); + */ +function bind( type, el, fun ) { + each( type.split(','), function(etype) { + var rapfun = function(e) { + if (!e) e = window.event; + if (!fun(e)) { + e.cancelBubble = true; + e.returnValue = false; + e.preventDefault && e.preventDefault(); + e.stopPropagation && e.stopPropagation(); + } + }; + + if ( el.addEventListener ) el.addEventListener( etype, rapfun, false ); + else if ( el.attachEvent ) el.attachEvent( 'on' + etype, rapfun ); + else el[ 'on' + etype ] = rapfun; + } ); +} + +/** + * UNBIND + * ====== + * unbind( 'keydown', search('a')[0] ); + */ +function unbind( type, el, fun ) { + if ( el.removeEventListener ) el.removeEventListener( type, false ); + else if ( el.detachEvent ) el.detachEvent( 'on' + type, false ); + else el[ 'on' + type ] = null; +} + +/** + * LOG + * === + * var list = grep( [1,2,3], function(item) { return item % 2 } ) + */ +var log = function(){}; + +/** + * EVENTS + * ====== + * PUBNUB.events.bind( 'you-stepped-on-flower', function(message) { + * // Do Stuff with message + * } ); + * + * PUBNUB.events.fire( 'you-stepped-on-flower', "message-data" ); + * PUBNUB.events.fire( 'you-stepped-on-flower', {message:"data"} ); + * PUBNUB.events.fire( 'you-stepped-on-flower', [1,2,3] ); + * + */ +var events = { + 'list' : {}, + 'unbind' : function( name ) { events.list[name] = [] }, + 'bind' : function( name, fun ) { + (events.list[name] = events.list[name] || []).push(fun); + }, + 'fire' : function( name, data ) { + each( + events.list[name] || [], + function(fun) { fun(data) } + ); + } +}; + +/* =-====================================================================-= */ +/* =-====================================================================-= */ +/* =-========================= PUBNUB ===========================-= */ +/* =-====================================================================-= */ +/* =-====================================================================-= */ + +function PN(setup) { + + + setup['db'] = db; + setup['xdr'] = setup['native_tcp_socket'] ? xdr_tcp : xdr_http_client + var SELF = PN_API(setup); + + SELF['init'] = PN; + + + // Return without Testing + if (setup['notest']) return SELF; + + SELF['ready'](); + return SELF; +} + +typeof module !== 'undefined' && (module.exports = PN) || +typeof exports !== 'undefined' && (exports.PN = PN) || (PUBNUB = PN); + +})(); +})(); diff --git a/titanium/unassembled/platform.js b/titanium/unassembled/platform.js new file mode 100644 index 000000000..14eacd49e --- /dev/null +++ b/titanium/unassembled/platform.js @@ -0,0 +1,301 @@ +/* --------------------------------------------------------------------------- +--------------------------------------------------------------------------- */ + +/* --------------------------------------------------------------------------- +PubNub Real-time Cloud-Hosted Push API and Push Notification Client Frameworks +Copyright (c) 2011 PubNub Inc. +http://www.pubnub.com/ +http://www.pubnub.com/terms +--------------------------------------------------------------------------- */ + +/* --------------------------------------------------------------------------- +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +--------------------------------------------------------------------------- */ +(function(){ + +/** + * UTIL LOCALS + */ +var NOW = 1 +, URLBIT = '/' +, MAGIC = /\$?{([\w\-]+)}/g +, PARAMSBIT = '&' +, ANDROID = Ti.Platform.name.toLowerCase().indexOf('android') >= 0 +, XHRTME = 310000; + + + +/** + * LOCAL STORAGE OR COOKIE + */ +var db = (function(){ + return { + get : function(key) { + Ti.App.Properties.getString(''+key); + }, + set : function( key, value ) { + Ti.App.Properties.setString( ''+key, ''+value ); + } + }; +})(); + + +/** + * Titanium TCP Sockets + * ==================== + * xdr({ + * url : ['http://www.blah.com/url'], + * success : function(response) {}, + * fail : function() {} + * }); + */ +function xdr_tcp(setup) { + + var url = setup.url.join(URLBIT); + if (setup.data) { + var params = []; + url += "?"; + for (key in setup.data) { + params.push(key+"="+setup.data[key]); + } + url += params.join(PARAMSBIT); + } + log(url); + var body = [] + , data = "" + , rbuffer = Ti.createBuffer({ length : 2048 }) + , wbuffer = Ti.createBuffer({ value : "GET " + url + " HTTP/1.0\n\n"}) + , failed = 0 + , fail = function() { + if (failed) return; + failed = 1; + (setup.fail || function(){})(); + } + , success = setup.success || function(){} + , sock = Ti.Network.Socket.createTCP({ + host : url.split(URLBIT)[2], + port : 80, + mode : Ti.Network.READ_WRITE_MODE, + timeout : XHRTME, + error : fail, + connected : function() { + sock.write(wbuffer); + read(); + } + }); + + function read() { + Ti.Stream.read( sock, rbuffer, function(stream) { + if (+stream.bytesProcessed > -1) { + data = Ti.Codec.decodeString({ + source : rbuffer, + length : +stream.bytesProcessed + }); + + body.push(data); + rbuffer.clear(); + + return timeout( read, 1 ); + } + + try { + data = JSON['parse']( + body.join('').split('\r\n').slice(-1) + ); + } + catch (r) { + return fail(); + } + + sock.close(); + success(data); + } ); + } + + try { sock.connect() } + catch(k) { return fail() } +} + +/** + * Titanium XHR Request + * ============================== + * xdr({ + * url : ['http://www.blah.com/url'], + * success : function(response) {}, + * fail : function() {} + * }); + */ +function xdr_http_client( setup ) { + + var url = setup.url.join(URLBIT); + if (setup.data) { + var params = []; + url += "?"; + for (key in setup.data) { + params.push(key+"="+setup.data[key]); + } + url += params.join(PARAMSBIT); + } + var xhr + , finished = function() { + if (loaded) return; + loaded = 1; + + clearTimeout(timer); + + try { response = JSON['parse'](xhr.responseText); } + catch (r) { return done(1); } + + success(response); + } + , complete = 0 + , loaded = 0 + , timer = timeout( function(){done(1)}, XHRTME ) + , fail = setup.fail || function(){} + , success = setup.success || function(){} + , done = function(failed) { + if (complete) return; + complete = 1; + + clearTimeout(timer); + + if (xhr) { + xhr.onerror = xhr.onload = null; + xhr.abort && xhr.abort(); + xhr = null; + } + + failed && fail(); + }; + + // Send + try { + xhr = Ti.Network.createHTTPClient(); + xhr.onerror = function(){ done(1) }; + xhr.onload = finished; + xhr.timeout = XHRTME; + + xhr.open( 'GET', url, true ); + xhr.send(); + } + catch(eee) { + done(0); + return xdr(setup); + } + + // Return 'done' + return done; +} + +/** + * BIND + * ==== + * bind( 'keydown', search('a')[0], function(element) { + * ... + * } ); + */ +function bind( type, el, fun ) { + each( type.split(','), function(etype) { + var rapfun = function(e) { + if (!e) e = window.event; + if (!fun(e)) { + e.cancelBubble = true; + e.returnValue = false; + e.preventDefault && e.preventDefault(); + e.stopPropagation && e.stopPropagation(); + } + }; + + if ( el.addEventListener ) el.addEventListener( etype, rapfun, false ); + else if ( el.attachEvent ) el.attachEvent( 'on' + etype, rapfun ); + else el[ 'on' + etype ] = rapfun; + } ); +} + +/** + * UNBIND + * ====== + * unbind( 'keydown', search('a')[0] ); + */ +function unbind( type, el, fun ) { + if ( el.removeEventListener ) el.removeEventListener( type, false ); + else if ( el.detachEvent ) el.detachEvent( 'on' + type, false ); + else el[ 'on' + type ] = null; +} + +/** + * LOG + * === + * var list = grep( [1,2,3], function(item) { return item % 2 } ) + */ +var log = function(){}; + +/** + * EVENTS + * ====== + * PUBNUB.events.bind( 'you-stepped-on-flower', function(message) { + * // Do Stuff with message + * } ); + * + * PUBNUB.events.fire( 'you-stepped-on-flower', "message-data" ); + * PUBNUB.events.fire( 'you-stepped-on-flower', {message:"data"} ); + * PUBNUB.events.fire( 'you-stepped-on-flower', [1,2,3] ); + * + */ +var events = { + 'list' : {}, + 'unbind' : function( name ) { events.list[name] = [] }, + 'bind' : function( name, fun ) { + (events.list[name] = events.list[name] || []).push(fun); + }, + 'fire' : function( name, data ) { + each( + events.list[name] || [], + function(fun) { fun(data) } + ); + } +}; + +/* =-====================================================================-= */ +/* =-====================================================================-= */ +/* =-========================= PUBNUB ===========================-= */ +/* =-====================================================================-= */ +/* =-====================================================================-= */ + +function PN(setup) { + + + setup['db'] = db; + setup['xdr'] = setup['native_tcp_socket'] ? xdr_tcp : xdr_http_client + var SELF = PN_API(setup); + + SELF['init'] = PN; + + + // Return without Testing + if (setup['notest']) return SELF; + + SELF['ready'](); + return SELF; +} + +typeof module !== 'undefined' && (module.exports = PN) || +typeof exports !== 'undefined' && (exports.PN = PN) || (PUBNUB = PN); + +})(); From b3ad4b1627149f9cc887c4fb3d97d89825df5463 Mon Sep 17 00:00:00 2001 From: Devendra Date: Thu, 4 Apr 2013 16:49:22 +0530 Subject: [PATCH 22/66] adding phonegap dir --- modern/pubnub-crypto.min.js | 48 +- modern/pubnub.js | 4775 ++++++++++++++++++++++++++++++++ modern/pubnub.min.js | 372 ++- modern/unassembled/platform.js | 90 +- phonegap/README | 99 + phonegap/index.html | 266 ++ 6 files changed, 5480 insertions(+), 170 deletions(-) create mode 100644 phonegap/README create mode 100644 phonegap/index.html diff --git a/modern/pubnub-crypto.min.js b/modern/pubnub-crypto.min.js index 209ee5218..6e2d3526e 100644 --- a/modern/pubnub-crypto.min.js +++ b/modern/pubnub-crypto.min.js @@ -1,25 +1,27 @@ (function(){ -PUBNUB.crypto=function(){var e=14,j=8,s=!1,v=function(b,f){var c="",d,q;if(f){d=b[15];if(16q;q++)c+=String.fromCharCode(b[q]);return c},u=function(b,f){var c=[],d;if(!f)try{b=unescape(encodeURIComponent(b))}catch(q){throw"Error on UTF-8 encode";}for(d=0;dj.length&&(t=16-j.length,r=[t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t]);for(t=0;td;d++)c[d]=f[b[d]];return c},E=function(b){var f=[],c=s?[0,13,10,7,4,1,14,11,8,5,2,15,12,9,6,3]:[0,5,10,15,4,9,14,3,8,13,2,7,12,1,6,11],d;for(d=0;16>d;d++)f[d]=b[c[d]];return f},F=function(b){var f=[],c;if(s)for(c=0;4>c;c++)f[4*c]=L[b[4*c]]^M[b[1+4*c]]^N[b[2+4*c]]^O[b[3+4*c]],f[1+4*c]=O[b[4*c]]^L[b[1+4*c]]^M[b[2+4*c]]^N[b[3+4*c]],f[2+4*c]=N[b[4*c]]^O[b[1+4*c]]^L[b[2+4*c]]^M[b[3+4*c]], -f[3+4*c]=M[b[4*c]]^N[b[1+4*c]]^O[b[2+4*c]]^L[b[3+4*c]];else for(c=0;4>c;c++)f[4*c]=P[b[4*c]]^Q[b[1+4*c]]^b[2+4*c]^b[3+4*c],f[1+4*c]=b[4*c]^P[b[1+4*c]]^Q[b[2+4*c]]^b[3+4*c],f[2+4*c]=b[4*c]^b[1+4*c]^P[b[2+4*c]]^Q[b[3+4*c]],f[3+4*c]=Q[b[4*c]]^b[1+4*c]^b[2+4*c]^P[b[3+4*c]];return f},C=function(b,f,c){var d=[],q;for(q=0;16>q;q++)d[q]=b[q]^f[c][q];return d},B=function(b,f){var c=[],d;for(d=0;16>d;d++)c[d]=b[d]^f[d];return c},x=function(b){var f=[],c=[],d,q,p=[];for(d=0;db;b++)c[b]=f[d-1][b];if(0===d%j){b=c[0];q=void 0;for(q=0;4>q;q++)c[q]=c[q+1];c[3]=b;c=G(c);c[0]^=X[d/j-1]}else 6b;b++)f[d][b]=f[d-j][b]^c[b]}for(d=0;dc;c++)p[d].push(f[4*d+c][0],f[4*d+c][1],f[4*d+c][2],f[4*d+c][3])}return p},G=function(b){for(var f=0;4>f;f++)b[f]=S[b[f]];return b},H=function(b,f){var c=[];for(i=0;ic;c++){for(var d=f,q=c,e=b,j=c,m=void 0,p=void 0,m=p=0;8>m;m++)p=1==(j&1)?p^e:p,e=127>>=1;d[q]=p}return f},S=H("637c777bf26b6fc53001672bfed7ab76ca82c97dfa5947f0add4a2af9ca472c0b7fd9326363ff7cc34a5e5f171d8311504c723c31896059a071280e2eb27b27509832c1a1b6e5aa0523bd6b329e32f8453d100ed20fcb15b6acbbe394a4c58cfd0efaafb434d338545f9027f503c9fa851a3408f929d38f5bcb6da2110fff3d2cd0c13ec5f974417c4a77e3d645d197360814fdc222a908846eeb814de5e0bdbe0323a0a4906245cc2d3ac629195e479e7c8376d8dd54ea96c56f4ea657aae08ba78252e1ca6b4c6e8dd741f4bbd8b8a703eb5664803f60e613557b986c11d9ee1f8981169d98e949b1e87e9ce5528df8ca1890dbfe6426841992d0fb054bb16", -2),U,V=S,W=[];for(i=0;i>2],c+=K[(f[d]&3)<<4|f[d+1]>>4],c=void 0!== -f[d+1]?c+K[(f[d+1]&15)<<2|f[d+2]>>6]:c+"=",c=void 0!==f[d+2]?c+K[f[d+2]&63]:c+"=";b=c.slice(0,64);for(d=1;d>4,d[1]=(c[1]&15)<<4|c[2]>>2,d[2]=(c[2]&3)<<6|c[3],f.push(d[0],d[1],d[2]); -return f=f.slice(0,f.length-f.length%16)}};return{size:function(b){switch(b){case 128:e=10;j=4;break;case 192:e=12;j=6;break;case 256:e=14;j=8;break;default:throw"Invalid Key Size Specified:"+b;}},h2a:function(b){var f=[];b.replace(/(..)/g,function(b){f.push(parseInt(b,16))});return f},expandKey:x,encryptBlock:z,decryptBlock:D,Decrypt:s,s2a:u,rawEncrypt:r,rawDecrypt:w,dec:function(b,f,c){var b=R.decode(b),d=b.slice(8,16),d=p(u(f,c),d),f=d.key,d=d.iv,b=b.slice(16,b.length);return b=w(b,f,d,c)},openSSLKey:p, -a2h:function(b){var f="",c;for(c=0;cb[c]?"0":"")+b[c].toString(16);return f},enc:function(b,f,c){var d;d=[];var e;for(e=0;8>e;e++)d=d.concat(Math.floor(256*Math.random()));e=p(u(f,c),d);f=e.key;e=e.iv;d=[[83,97,108,116,101,100,95,95].concat(d)];b=u(b,c);b=r(b,f,e);b=d.concat(b);return R.encode(b)},Hash:{MD5:function(b){function f(b,c){var d,e,f,g,h;f=b&2147483648;g=c&2147483648;d=b&1073741824;e=c&1073741824;h=(b&1073741823)+(c&1073741823);return d&e?h^2147483648^f^g:d|e?h&1073741824? -h^3221225472^f^g:h^1073741824^f^g:h^f^g}function c(b,c,d,e,g,h,k){b=f(b,f(f(c&d|~c&e,g),k));return f(b<>>32-h,c)}function d(b,c,d,e,g,h,k){b=f(b,f(f(c&e|d&~e,g),k));return f(b<>>32-h,c)}function e(b,c,d,g,h,k,l){b=f(b,f(f(c^d^g,h),l));return f(b<>>32-k,c)}function j(b,c,d,e,g,h,k){b=f(b,f(f(d^(c|~e),g),k));return f(b<>>32-h,c)}function p(b){var c,d,e=[];for(d=0;3>=d;d++)c=b>>>8*d&255,e=e.concat(c);return e}var m=[],r,s,w,t,g,h,k,l,n=H("67452301efcdab8998badcfe10325476d76aa478e8c7b756242070dbc1bdceeef57c0faf4787c62aa8304613fd469501698098d88b44f7afffff5bb1895cd7be6b901122fd987193a679438e49b40821f61e2562c040b340265e5a51e9b6c7aad62f105d02441453d8a1e681e7d3fbc821e1cde6c33707d6f4d50d87455a14eda9e3e905fcefa3f8676f02d98d2a4c8afffa39428771f6816d9d6122fde5380ca4beea444bdecfa9f6bb4b60bebfbc70289b7ec6eaa127fad4ef308504881d05d9d4d039e6db99e51fa27cf8c4ac5665f4292244432aff97ab9423a7fc93a039655b59c38f0ccc92ffeff47d85845dd16fa87e4ffe2ce6e0a30143144e0811a1f7537e82bd3af2352ad7d2bbeb86d391", -8),m=b.length;r=m+8;s=16*((r-r%64)/64+1);w=[];for(g=t=0;g>>29;m=w;g=n[0];h=n[1];k=n[2];l=n[3];for(b=0;b>16)+(j>>16)+(p>>16)<<16|p&65535}function s(e,j){return e>>>j|e<<32-j}var v;v=e.replace(/\r\n/g,"\n");for(var e="",u=0;up?e+=String.fromCharCode(p):(127p?e+=String.fromCharCode(p>>6|192):(e+=String.fromCharCode(p>>12|224),e+=String.fromCharCode(p>>6&63|128)),e+=String.fromCharCode(p&63|128))}u=e;v=[];for(p=0;p<8*u.length;p+=8)v[p>>5]|=(u.charCodeAt(p/8)&255)<<24-p%32;var r=8*e.length, -u=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909, -275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],e=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],p=Array(64),w,z,D,y,E,F,C,B,x,G,H;v[r>>5]|=128<<24-r%32;v[(r+64>>9<<4)+15]=r;for(B=0;Bx;x++)p[x]=16>x?v[x+B]:j(j(j(s(p[x-2],17)^s(p[x-2],19)^p[x- -2]>>>10,p[x-7]),s(p[x-15],7)^s(p[x-15],18)^p[x-15]>>>3),p[x-16]),G=j(j(j(j(C,s(y,6)^s(y,11)^s(y,25)),y&E^~y&F),u[x]),p[x]),H=j(s(r,2)^s(r,13)^s(r,22),r&w^r&z^w&z),C=F,F=E,E=y,y=j(D,G),D=z,z=w,w=r,r=j(G,H);e[0]=j(r,e[0]);e[1]=j(w,e[1]);e[2]=j(z,e[2]);e[3]=j(D,e[3]);e[4]=j(y,e[4]);e[5]=j(E,e[5]);e[6]=j(F,e[6]);e[7]=j(C,e[7])}v="";for(u=0;u<4*e.length;u++)v+="0123456789abcdef".charAt(e[u>>2]>>8*(3-u%4)+4&15)+"0123456789abcdef".charAt(e[u>>2]>>8*(3-u%4)&15);return v}; +PUBNUB.crypto=function(){var w=14,t=8,v=!1,B=function(b,e){var c="",d,f;if(e){d=b[15];if(16f;f++)c+=String.fromCharCode(b[f]);return c},u=function(b,e){var c=[],d;if(!e)try{b=unescape(encodeURIComponent(b))}catch(f){throw"Error on UTF-8 encode";}for(d=0;du.length&&(k=16-u.length,t=[k,k,k,k,k,k,k,k,k,k,k,k,k,k,k,k]);for(k=0;kd;d++)c[d]=e[b[d]];return c},J=function(b){var e=[],c=v?[0,13,10,7,4,1,14,11,8,5,2,15,12,9,6,3]:[0,5,10,15,4,9,14,3,8,13,2,7,12,1,6,11],d;for(d=0;16>d;d++)e[d]=b[c[d]];return e},A=function(b){var e=[],c;if(v)for(c=0;4>c;c++)e[4*c]=L[b[4*c]]^M[b[1+4*c]]^N[b[2+4*c]]^O[b[3+4*c]],e[1+4*c]=O[b[4*c]]^L[b[1+4*c]]^M[b[2+4*c]]^N[b[3+4*c]],e[2+4*c]=N[b[4*c]]^O[b[1+4*c]]^L[b[2+4*c]]^M[b[3+4*c]], +e[3+4*c]=M[b[4*c]]^N[b[1+4*c]]^O[b[2+4*c]]^L[b[3+4*c]];else for(c=0;4>c;c++)e[4*c]=P[b[4*c]]^Q[b[1+4*c]]^b[2+4*c]^b[3+4*c],e[1+4*c]=b[4*c]^P[b[1+4*c]]^Q[b[2+4*c]]^b[3+4*c],e[2+4*c]=b[4*c]^b[1+4*c]^P[b[2+4*c]]^Q[b[3+4*c]],e[3+4*c]=Q[b[4*c]]^b[1+4*c]^b[2+4*c]^P[b[3+4*c]];return e},D=function(b,e,c){var d=[],f;for(f=0;16>f;f++)d[f]=b[f]^e[c][f];return d},C=function(b,e){var c=[],d;for(d=0;16>d;d++)c[d]=b[d]^e[d];return c},H=function(b){var e=[],c=[],d,f,p=[];for(d=0;db;b++)c[b]=e[d-1][b];if(0===d%t){b=c[0];f=void 0;for(f=0;4>f;f++)c[f]=c[f+1];c[3]=b;c=I(c);c[0]^=T[d/t-1]}else 6b;b++)e[d][b]=e[d-t][b]^c[b]}for(d=0;dc;c++)p[d].push(e[4*d+c][0],e[4*d+c][1],e[4*d+c][2],e[4*d+c][3])}return p},I=function(b){for(var e=0;4>e;e++)b[e]=K[b[e]];return b},x=function(b,e){var c=[];for(i=0;ic;c++){for(var d=e,f=c,p=b,q=c,n=void 0,k=void 0,n=k=0;8>n;n++)k=1==(q&1)?k^p:k,p=127>>=1;d[f]=k}return e},K=x("637c777bf26b6fc53001672bfed7ab76ca82c97dfa5947f0add4a2af9ca472c0b7fd9326363ff7cc34a5e5f171d8311504c723c31896059a071280e2eb27b27509832c1a1b6e5aa0523bd6b329e32f8453d100ed20fcb15b6acbbe394a4c58cfd0efaafb434d338545f9027f503c9fa851a3408f929d38f5bcb6da2110fff3d2cd0c13ec5f974417c4a77e3d645d197360814fdc222a908846eeb814de5e0bdbe0323a0a4906245cc2d3ac629195e479e7c8376d8dd54ea96c56f4ea657aae08ba78252e1ca6b4c6e8dd741f4bbd8b8a703eb5664803f60e613557b986c11d9ee1f8981169d98e949b1e87e9ce5528df8ca1890dbfe6426841992d0fb054bb16", +2),S=function(b){var e=[];for(i=0;i> +2],p+=e[(f[q]&3)<<4|f[q+1]>>4],p=void 0!==f[q+1]?p+e[(f[q+1]&15)<<2|f[q+2]>>6]:p+"=",p=void 0!==f[q+2]?p+e[f[q+2]&63]:p+"=";f=p.slice(0,64);for(q=1;q>4,p[1]=(e[1]&15)<<4|e[2]>>2, +p[2]=(e[2]&3)<<6|e[3],d.push(p[0],p[1],p[2]);return d=d.slice(0,d.length-d.length%16)}}}();return{size:function(b){switch(b){case 128:w=10;t=4;break;case 192:w=12;t=6;break;case 256:w=14;t=8;break;default:throw"Invalid Key Size Specified:"+b;}},h2a:function(b){var e=[];b.replace(/(..)/g,function(b){e.push(parseInt(b,16))});return e},expandKey:H,encryptBlock:y,decryptBlock:F,Decrypt:v,s2a:u,rawEncrypt:s,rawDecrypt:z,dec:function(b,e,c){b=R.decode(b);var d=b.slice(8,16),d=k(u(e,c),d);e=d.key;d=d.iv; +b=b.slice(16,b.length);return b=z(b,e,d,c)},openSSLKey:k,a2h:function(b){var e="",c;for(c=0;cb[c]?"0":"")+b[c].toString(16);return e},enc:function(b,e,c){var d;d=[];var f;for(f=0;8>f;f++)d=d.concat(Math.floor(256*Math.random()));f=k(u(e,c),d);e=f.key;f=f.iv;d=[[83,97,108,116,101,100,95,95].concat(d)];b=u(b,c);b=s(b,e,f);b=d.concat(b);return R.encode(b)},Hash:{MD5:function(b){function e(b,c){var d,e,f,g,h;f=b&2147483648;g=c&2147483648;d=b&1073741824;e=c&1073741824;h=(b&1073741823)+ +(c&1073741823);return d&e?h^2147483648^f^g:d|e?h&1073741824?h^3221225472^f^g:h^1073741824^f^g:h^f^g}function c(b,c,d,f,h,g,l){b=e(b,e(e(c&d|~c&f,h),l));return e(b<>>32-g,c)}function d(b,c,d,f,g,h,l){b=e(b,e(e(c&f|d&~f,g),l));return e(b<>>32-h,c)}function f(b,c,d,f,h,g,l){b=e(b,e(e(c^d^f,h),l));return e(b<>>32-g,c)}function p(b,c,d,f,g,h,l){b=e(b,e(e(d^(c|~f),g),l));return e(b<>>32-h,c)}function q(b){var c,d,e=[];for(d=0;3>=d;d++)c=b>>>8*d&255,e=e.concat(c);return e}var n=[],k, +s,u,t,g,h,l,m,r=x("67452301efcdab8998badcfe10325476d76aa478e8c7b756242070dbc1bdceeef57c0faf4787c62aa8304613fd469501698098d88b44f7afffff5bb1895cd7be6b901122fd987193a679438e49b40821f61e2562c040b340265e5a51e9b6c7aad62f105d02441453d8a1e681e7d3fbc821e1cde6c33707d6f4d50d87455a14eda9e3e905fcefa3f8676f02d98d2a4c8afffa39428771f6816d9d6122fde5380ca4beea444bdecfa9f6bb4b60bebfbc70289b7ec6eaa127fad4ef308504881d05d9d4d039e6db99e51fa27cf8c4ac5665f4292244432aff97ab9423a7fc93a039655b59c38f0ccc92ffeff47d85845dd16fa87e4ffe2ce6e0a30143144e0811a1f7537e82bd3af2352ad7d2bbeb86d391", +8),n=function(b){var c,d=b.length;c=d+8;for(var e=16*((c-c%64)/64+1),f=[],h=0,g=0;g>>29;return f}(b);g=r[0];h=r[1];l=r[2];m=r[3];for(b=0;b>16)+(u>>16)+(k>>16)<<16|k&65535}function v(t,u){return t>>>u|t<<32-u}w=function(t){t=t.replace(/\r\n/g,"\n");for(var u="",k=0;ks?u+=String.fromCharCode(s):(127s?u+=String.fromCharCode(s>>6|192):(u+=String.fromCharCode(s>>12|224),u+=String.fromCharCode(s>>6&63|128)),u+=String.fromCharCode(s&63|128))}return u}(w);return function(t){for(var u="",k=0;k<4*t.length;k++)u+="0123456789abcdef".charAt(t[k>> +2]>>8*(3-k%4)+4&15)+"0123456789abcdef".charAt(t[k>>2]>>8*(3-k%4)&15);return u}(function(w,u){var k=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051, +2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],s=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],z=Array(64),y,F,G,J,A,D,C,H,I,x,E,K;w[u>>5]|=128<<24-u%32;w[(u+64>>9<<4)+15]=u;for(I=0;Ix;x++)z[x]=16>x?w[x+I]:t(t(t(v(z[x-2],17)^v(z[x-2],19)^z[x-2]>>>10,z[x-7]),v(z[x-15],7)^v(z[x-15],18)^z[x-15]>>>3),z[x-16]),E=t(t(t(t(H,v(A,6)^v(A,11)^v(A,25)),A&D^~A&C),k[x]),z[x]),K=t(v(y,2)^v(y,13)^v(y,22),y&F^y&G^F&G),H=C,C=D,D=A,A=t(J,E),J=G,G=F,F=y,y=t(E,K);s[0]=t(y,s[0]);s[1]=t(F,s[1]);s[2]=t(G,s[2]);s[3]=t(J,s[3]);s[4]=t(A,s[4]);s[5]=t(D,s[5]);s[6]=t(C,s[6]);s[7]=t(H,s[7])}return s}(function(t){for(var u=[],k=0;k<8*t.length;k+=8)u[k>>5]|=(t.charCodeAt(k/ +8)&255)<<24-k%32;return u}(w),8*w.length))}; })(); diff --git a/modern/pubnub.js b/modern/pubnub.js index c4084f18a..8090f019f 100644 --- a/modern/pubnub.js +++ b/modern/pubnub.js @@ -8207,3 +8207,4778 @@ typeof module !== 'undefined' && (module.exports = PN) || typeof exports !== 'undefined' && (exports.PN = PN) || (PUBNUB = PN); })(); +var NOW = 1 +, READY = false +, READY_BUFFER = [] +, PRESENCE_SUFFIX = '-pnpres' +, DEF_WINDOWING = 10 // MILLISECONDS. +, DEF_TIMEOUT = 10000 // MILLISECONDS. +, DEF_SUB_TIMEOUT = 310 // SECONDS. +, DEF_KEEPALIVE = 60 // SECONDS. +, SECOND = 1000 // A THOUSAND MILLISECONDS. +, REPL = /{([\w\-]+)}/g; + +/** + * UTILITIES + */ +function unique() { return'x'+ ++NOW+''+(+new Date) } +function rnow() { return+new Date } + +/** + * NEXTORIGIN + * ========== + * var next_origin = nextorigin(); + */ +var nextorigin = (function() { + var max = 20 + , ori = Math.floor(Math.random() * max); + return function( origin, failover ) { + return origin.indexOf('pubsub.') > 0 + && origin.replace( + 'pubsub', 'ps' + ( + failover ? uuid().split('-')[0] : + (++ori < max? ori : ori=1) + ) ) || origin; + } +})(); + +/** + * UPDATER + * ======= + * var timestamp = unique(); + */ +function updater( fun, rate ) { + var timeout + , last = 0 + , runnit = function() { + if (last + rate > rnow()) { + clearTimeout(timeout); + timeout = setTimeout( runnit, rate ); + } + else { + last = rnow(); + fun(); + } + }; + + return runnit; +} + +/** + * GREP + * ==== + * var list = grep( [1,2,3], function(item) { return item % 2 } ) + */ +function grep( list, fun ) { + var fin = []; + each( list || [], function(l) { fun(l) && fin.push(l) } ); + return fin +} + +/** + * SUPPLANT + * ======== + * var text = supplant( 'Hello {name}!', { name : 'John' } ) + */ +function supplant( str, values ) { + return str.replace( REPL, function( _, match ) { + return values[match] || _ + } ); +} + +/** + * timeout + * ======= + * timeout( function(){}, 100 ); + */ +function timeout( fun, wait ) { + return setTimeout( fun, wait ); +} + +/** + * uuid + * ==== + * var my_uuid = uuid(); + */ +function uuid(callback) { + var u = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, + function(c) { + var r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8); + return v.toString(16); + }); + if (callback) callback(u); + return u; +} + +/** + * EACH + * ==== + * each( [1,2,3], function(item) { } ) + */ +function each( o, f ) { + if ( !o || !f ) return; + + if ( typeof o[0] != 'undefined' ) + for ( var i = 0, l = o.length; i < l; ) + f.call( o[i], o[i], i++ ); + else + for ( var i in o ) + o.hasOwnProperty && + o.hasOwnProperty(i) && + f.call( o[i], i, o[i] ); +} + +/** + * MAP + * === + * var list = map( [1,2,3], function(item) { return item + 1 } ) + */ +function map( list, fun ) { + var fin = []; + each( list || [], function( k, v ) { fin.push(fun( k, v )) } ); + return fin; +} + +/** + * ENCODE + * ====== + * var encoded_path = encode('path'); + */ +function encode(path) { + return map( (encodeURIComponent(path)).split(''), function(chr) { + return "-_.!~*'()".indexOf(chr) < 0 ? chr : + "%"+chr.charCodeAt(0).toString(16).toUpperCase() + } ).join(''); +} + +/** + * Generate Subscription Channel List + * ================================== + * generate_channel_list(channels_object); + */ +function generate_channel_list(channels) { + var list = []; + each( channels, function( channel, status ) { + if (status.subscribed) list.push(channel); + } ); + return list.sort(); +} + +// PUBNUB READY TO CONNECT + function ready() { timeout( function() { + if (READY) return; + READY = 1; + each( READY_BUFFER, function(connect) { connect() } ); + }, SECOND ); } + +function PN_API(setup) { + var SUB_WINDOWING = +setup['windowing'] || DEF_WINDOWING + , SUB_TIMEOUT = (+setup['timeout'] || DEF_SUB_TIMEOUT) * SECOND + , KEEPALIVE = (+setup['keepalive'] || DEF_KEEPALIVE) * SECOND + , PUBLISH_KEY = setup['publish_key'] || '' + , SUBSCRIBE_KEY = setup['subscribe_key'] || '' + , SSL = setup['ssl'] ? 's' : '' + , ORIGIN = 'http'+SSL+'://'+(setup['origin']||'pubsub.pubnub.com') + , STD_ORIGIN = nextorigin(ORIGIN) + , SUB_ORIGIN = nextorigin(ORIGIN) + , CONNECT = function(){} + , PUB_QUEUE = [] + , SUB_CALLBACK = 0 + , SUB_CHANNEL = 0 + , SUB_RECEIVER = 0 + , SUB_RESTORE = 0 + , SUB_BUFF_WAIT = 0 + , TIMETOKEN = 0 + , CHANNELS = {} + , xdr = setup['xdr'] + , _is_online = setup['_is_online'] || function() { return 1; } + , jsonp_cb = setup['jsonp_cb'] || function(){ return 0; } + , db = setup['db'] || {'get': function(){}, 'set': function(){}} + , UUID = setup['uuid'] || ( db && db['get'](SUBSCRIBE_KEY+'uuid') || ''); + + + + function publish(next) { + if (next) PUB_QUEUE.sending = 0; + if (PUB_QUEUE.sending || !PUB_QUEUE.length) return; + PUB_QUEUE.sending = 1; + xdr(PUB_QUEUE.shift()); + } + + function each_channel(callback) { + each( generate_channel_list(CHANNELS), function(channel) { + var chan = CHANNELS[channel]; + if (!chan) return; + callback(chan); + } ); + } + + // Announce Leave Event + + + var SELF = { + + '_reset_offline' : function() { + SUB_RECEIVER && SUB_RECEIVER(1); + }, + + 'LEAVE' : function( channel, blocking ) { + var data = { 'uuid' : UUID } + , origin = nextorigin(ORIGIN) + , jsonp = jsonp_cb(); + + // Prevent Leaving a Presence Channel + if (channel.indexOf(PRESENCE_SUFFIX) > 0) return; + + if (jsonp != '0') data['callback'] = jsonp; + + xdr({ + blocking : blocking || SSL, + timeout : 2000, + callback : jsonp, + data : data, + url : [ + origin, 'v2', 'presence', 'sub_key', + SUBSCRIBE_KEY, 'channel', encode(channel), 'leave' + ] + }); + }, + /* + PUBNUB.history({ + channel : 'my_chat_channel', + limit : 100, + callback : function(history) { } + }); + */ + 'history' : function( args, callback ) { + var callback = args['callback'] || callback + , count = args['count'] || args['limit'] || 100 + , reverse = args['reverse'] || "false" + , err = args['error'] || function(){} + , channel = args['channel'] + , start = args['start'] + , end = args['end'] + , params = {} + , jsonp = jsonp_cb(); + + // Make sure we have a Channel + if (!channel) return error('Missing Channel'); + if (!callback) return error('Missing Callback'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + params['stringtoken'] = 'true'; + params['count'] = count; + params['reverse'] = reverse; + + if (jsonp) params['callback'] = jsonp; + if (start) params['start'] = start; + if (end) params['end'] = end; + + // Send Message + xdr({ + callback : jsonp, + data : params, + success : function(response) { callback(response) }, + fail : err, + url : [ + STD_ORIGIN, 'v2', 'history', 'sub-key', + SUBSCRIBE_KEY, 'channel', encode(channel) + ] + }); + }, + + /* + PUBNUB.replay({ + source : 'my_channel', + destination : 'new_channel' + }); + */ + 'replay' : function(args) { + var callback = callback || args['callback'] || function(){} + , source = args['source'] + , destination = args['destination'] + , stop = args['stop'] + , start = args['start'] + , end = args['end'] + , reverse = args['reverse'] + , limit = args['limit'] + , jsonp = jsonp_cb() + , data = {} + , url; + + // Check User Input + if (!source) return error('Missing Source Channel'); + if (!destination) return error('Missing Destination Channel'); + if (!PUBLISH_KEY) return error('Missing Publish Key'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + // Setup URL Params + if (jsonp != '0') data['callback'] = jsonp; + if (stop) data['stop'] = 'all'; + if (reverse) data['reverse'] = 'true'; + if (start) data['start'] = start; + if (end) data['end'] = end; + if (limit) data['count'] = limit; + + // Compose URL Parts + url = [ + STD_ORIGIN, 'v1', 'replay', + PUBLISH_KEY, SUBSCRIBE_KEY, + source, destination + ]; + + // Start (or Stop) Replay! + xdr({ + callback : jsonp, + success : function(response) { callback(response) }, + fail : function() { callback([ 0, 'Disconnected' ]) }, + url : url, + data : data + }); + }, + + /* + PUBNUB.time(function(time){ }); + */ + 'time' : function(callback) { + var jsonp = jsonp_cb(); + xdr({ + callback : jsonp, + timeout : SECOND*5, + url : [STD_ORIGIN, 'time', jsonp], + success : function(response) { callback(response[0]) }, + fail : function() { callback(0) } + }); + }, + + /* + PUBNUB.publish({ + channel : 'my_chat_channel', + message : 'hello!' + }); + */ + 'publish' : function( args, callback ) { + var callback = callback || args['callback'] || function(){} + , msg = args['message'] + , channel = args['channel'] + , jsonp = jsonp_cb() + , url; + + if (!msg) return error('Missing Message'); + if (!channel) return error('Missing Channel'); + if (!PUBLISH_KEY) return error('Missing Publish Key'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + // If trying to send Object + msg = JSON['stringify'](msg); + + // Create URL + url = [ + STD_ORIGIN, 'publish', + PUBLISH_KEY, SUBSCRIBE_KEY, + 0, encode(channel), + jsonp, encode(msg) + ]; + + // Queue Message Send + PUB_QUEUE.push({ + callback : jsonp, + timeout : SECOND*5, + url : url, + data : { 'uuid' : UUID }, + success : function(response){callback(response);publish(1)}, + fail : function(){callback([0,'Failed',msg]);publish(1)} + }); + + // Send Message + publish(); + }, + + /* + PUBNUB.unsubscribe({ channel : 'my_chat' }); + */ + 'unsubscribe' : function(args) { + var channel = args['channel']; + + TIMETOKEN = 0; + SUB_RESTORE = 1; + + // Prepare Channel(s) + channel = map( ( + channel.join ? channel.join(',') : ''+channel + ).split(','), function(channel) { + return channel + ',' + channel + PRESENCE_SUFFIX; + } ).join(','); + + // Iterate over Channels + each( channel.split(','), function(channel) { + if (READY) SELF['LEAVE']( channel, 0 ); + CHANNELS[channel] = 0; + } ); + + // ReOpen Connection if Any Channels Left + if (READY) CONNECT(); + }, + + /* + PUBNUB.subscribe({ + channel : 'my_chat' + callback : function(message) { } + }); + */ + 'subscribe' : function( args, callback ) { + var channel = args['channel'] + , callback = callback || args['callback'] + , callback = callback || args['message'] + , connect = args['connect'] || function(){} + , reconnect = args['reconnect'] || function(){} + , disconnect = args['disconnect'] || function(){} + , presence = args['presence'] || 0 + , noheresync = args['noheresync'] || 0 + , backfill = args['backfill'] || 0 + , sub_timeout = args['timeout'] || SUB_TIMEOUT + , windowing = args['windowing'] || SUB_WINDOWING + , restore = args['restore']; + + // Restore Enabled? + if (restore) SUB_RESTORE = 1; + + TIMETOKEN = 0; + + // Make sure we have a Channel + if (!channel) return error('Missing Channel'); + if (!callback) return error('Missing Callback'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + // Setup Channel(s) + each( (channel.join ? channel.join(',') : ''+channel).split(','), + function(channel) { + var settings = CHANNELS[channel] || {}; + + // Store Channel State + CHANNELS[SUB_CHANNEL = channel] = { + name : channel, + connected : settings.connected, + disconnected : settings.disconnected, + subscribed : 1, + callback : SUB_CALLBACK = callback, + connect : connect, + disconnect : disconnect, + reconnect : reconnect + }; + + // Presence Enabled? + if (!presence) return; + + // Subscribe Presence Channel + SELF['subscribe']({ + 'channel' : channel + PRESENCE_SUFFIX, + 'callback' : presence + }); + + // Presence Subscribed? + if (settings.subscribed) return; + + // See Who's Here Now? + if (noheresync) return; + SELF['here_now']({ + 'channel' : channel, + 'callback' : function(here) { + each( 'uuids' in here ? here['uuids'] : [], + function(uid) { presence( { + 'action' : 'join', + 'uuid' : uid, + 'timestamp' : rnow(), + 'occupancy' : here['occupancy'] || 1 + }, here, channel ); } ); + } + }); + } ); + + // Test Network Connection + function _test_connection(success) { + if (success) { + // Begin Next Socket Connection + timeout( _connect, SECOND ); + } + else { + // New Origin on Failed Connection + STD_ORIGIN = nextorigin( ORIGIN, 1 ); + SUB_ORIGIN = nextorigin( ORIGIN, 1 ); + + // Re-test Connection + timeout( function() { + SELF['time'](_test_connection); + }, SECOND ); + } + + // Disconnect & Reconnect + each_channel(function(channel){ + // Reconnect + if (success && channel.disconnected) { + channel.disconnected = 0; + return channel.reconnect(channel.name); + } + + // Disconnect + if (!success && !channel.disconnected) { + channel.disconnected = 1; + channel.disconnect(channel.name); + } + }); + } + + // Evented Subscribe + function _connect() { + var jsonp = jsonp_cb() + , channels = generate_channel_list(CHANNELS).join(','); + + // Stop Connection + if (!channels) return; + + // Connect to PubNub Subscribe Servers + SUB_RECEIVER = xdr({ + timeout : sub_timeout, + callback : jsonp, + fail : function() { SELF['time'](_test_connection) }, + data : { 'uuid' : UUID }, + url : [ + SUB_ORIGIN, 'subscribe', + SUBSCRIBE_KEY, encode(channels), + jsonp, TIMETOKEN + ], + success : function(messages) { + if (!messages) return timeout( _connect, windowing ); + + // Connect + each_channel(function(channel){ + if (channel.connected) return; + channel.connected = 1; + channel.connect(channel.name); + }); + + // Restore Previous Connection Point if Needed + TIMETOKEN = !TIMETOKEN && + SUB_RESTORE && + db['get'](SUBSCRIBE_KEY) || messages[1]; + + + if (backfill) { + Timetoken = 10000; + backfill = 0; + } + + // Update Saved Timetoken + db['set']( SUBSCRIBE_KEY, messages[1] ); + + // Route Channel <---> Callback for Message + var next_callback = (function() { + var channels = (messages.length>2?messages[2]:'') + , list = channels.split(','); + + return function() { + var channel = list.shift()||''; + return [ + (CHANNELS[channel]||{}) + .callback||SUB_CALLBACK, + (channel||SUB_CHANNEL) + .split(PRESENCE_SUFFIX)[0] + ]; + }; + })(); + + each( messages[0], function(msg) { + var next = next_callback(); + if (!CHANNELS[next[1]].subscribed) return; + next[0]( msg, messages, next[1] ); + } ); + + timeout( _connect, windowing ); + } + }); + } + + CONNECT = function() { + // Close Previous Subscribe Connection + SELF['_reset_offline'](); + + // Begin Recursive Subscribe + clearTimeout(SUB_BUFF_WAIT); + SUB_BUFF_WAIT = timeout( _connect, 100 ); + }; + + // Reduce Status Flicker + if (!READY) return READY_BUFFER.push(CONNECT); + + // Connect Now + CONNECT(); + }, + + 'here_now' : function( args, callback ) { + var callback = args['callback'] || callback + , err = args['error'] || function(){} + , channel = args['channel'] + , jsonp = jsonp_cb() + , data = null; + + // Make sure we have a Channel + if (!channel) return error('Missing Channel'); + if (!callback) return error('Missing Callback'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + if (jsonp != '0') { + data = {}; + data['callback'] = jsonp; + } + + xdr({ + callback : jsonp, + data : data, + success : function(response) { callback(response) }, + fail : err, + url : [ + STD_ORIGIN, 'v2', 'presence', + 'sub_key', SUBSCRIBE_KEY, + 'channel', encode(channel) + ] + }); + }, + + // Expose PUBNUB Functions + 'xdr' : xdr, + 'ready' : ready, + 'db' : db, + 'uuid' : uuid, + 'each' : each, + 'map' : map, + 'grep' : grep, + 'supplant' : supplant, + 'now' : rnow, + 'unique' : unique, + 'updater' : updater, + 'poll_online' : function() { + _is_online() || SELF['_reset_offline'](); + timeout( SELF['poll_online'], SECOND ); + }, + 'poll_online2' : function() { + SELF['time'](function(success){ + success || SELF['_reset_offline'](); + timeout( SELF['poll_online2'], KEEPALIVE ); + }) + } + }; + if (!UUID) UUID = SELF['uuid'](); + db['set']( SUBSCRIBE_KEY + 'uuid', UUID ); + + timeout( SELF['poll_online'], SECOND ); + timeout( SELF['poll_online2'], KEEPALIVE ); + + return SELF; +} +/* --------------------------------------------------------------------------- +--------------------------------------------------------------------------- */ + +/* --------------------------------------------------------------------------- +PubNub Real-time Cloud-Hosted Push API and Push Notification Client Frameworks +Copyright (c) 2011 PubNub Inc. +http://www.pubnub.com/ +http://www.pubnub.com/terms +--------------------------------------------------------------------------- */ + +/* --------------------------------------------------------------------------- +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +--------------------------------------------------------------------------- */ +(function(){ + +/** + * UTIL LOCALS + */ +var NOW = 1 +, URLBIT = '/' +, PARAMSBIT = '&' +, XHRTME = 310000; + +/** + * UTILITIES + */ +//function unique() { return'x'+ ++NOW+''+(+new Date) } +//function rnow() { return+new Date } + +/** + * LOCAL STORAGE + */ +var db = (function(){ + var ls = typeof localStorage != 'undefined' && localStorage; + return { + get : function(key) { + try { + if (ls) return ls.getItem(key); + if (document.cookie.indexOf(key) == -1) return null; + return ((document.cookie||'').match( + RegExp(key+'=([^;]+)') + )||[])[1] || null; + } catch(e) { return } + }, + set : function( key, value ) { + try { + if (ls) return ls.setItem( key, value ) && 0; + document.cookie = key + '=' + value + + '; expires=Thu, 1 Aug 2030 20:00:00 UTC; path=/'; + } catch(e) { return } + } + }; +})(); + + +/** + * CORS XHR Request + * ================ + * xdr({ + * url : ['http://www.blah.com/url'], + * success : function(response) {}, + * fail : function() {} + * }); + */ +function xdr( setup ) { + var xhr + , finished = function() { + if (loaded) return; + loaded = 1; + + clearTimeout(timer); + + try { response = JSON['parse'](xhr.responseText); } + catch (r) { return done(1); } + + success(response); + } + , complete = 0 + , loaded = 0 + , timer = timeout( function(){done(1)}, XHRTME ) + , fail = setup.fail || function(){} + , success = setup.success || function(){} + , done = function(failed) { + if (complete) return; + complete = 1; + + clearTimeout(timer); + + if (xhr) { + xhr.onerror = xhr.onload = null; + xhr.abort && xhr.abort(); + xhr = null; + } + + failed && fail(); + }; + + // Send + try { + xhr = typeof XDomainRequest !== 'undefined' && + new XDomainRequest() || + new XMLHttpRequest(); + + xhr.onerror = xhr.onabort = function(){ done(1) }; + xhr.onload = xhr.onloadend = finished; + xhr.timeout = XHRTME; + url = setup.url.join(URLBIT); + if (setup.data) { + var params = []; + url += "?"; + for (key in setup.data) { + params.push(key+"="+setup.data[key]); + } + url += params.join(PARAMSBIT); + } + xhr.open( 'GET', url, true ); + xhr.send(); + } + catch(eee) { + done(0); + return xdr(setup); + } + + // Return 'done' + return done; +} + +/** + * BIND + * ==== + * bind( 'keydown', search('a')[0], function(element) { + * ... + * } ); + */ +function bind( type, el, fun ) { + each( type.split(','), function(etype) { + var rapfun = function(e) { + if (!e) e = window.event; + if (!fun(e)) { + e.cancelBubble = true; + e.returnValue = false; + e.preventDefault && e.preventDefault(); + e.stopPropagation && e.stopPropagation(); + } + }; + + if ( el.addEventListener ) el.addEventListener( etype, rapfun, false ); + else if ( el.attachEvent ) el.attachEvent( 'on' + etype, rapfun ); + else el[ 'on' + etype ] = rapfun; + } ); +} + +/** + * UNBIND + * ====== + * unbind( 'keydown', search('a')[0] ); + */ +function unbind( type, el, fun ) { + if ( el.removeEventListener ) el.removeEventListener( type, false ); + else if ( el.detachEvent ) el.detachEvent( 'on' + type, false ); + else el[ 'on' + type ] = null; +} + +/** + * LOG + * === + * var list = grep( [1,2,3], function(item) { return item % 2 } ) + */ +var log = function(){}; + +/** + * EVENTS + * ====== + * PUBNUB.events.bind( 'you-stepped-on-flower', function(message) { + * // Do Stuff with message + * } ); + * + * PUBNUB.events.fire( 'you-stepped-on-flower', "message-data" ); + * PUBNUB.events.fire( 'you-stepped-on-flower', {message:"data"} ); + * PUBNUB.events.fire( 'you-stepped-on-flower', [1,2,3] ); + * + */ +var events = { + 'list' : {}, + 'unbind' : function( name ) { events.list[name] = [] }, + 'bind' : function( name, fun ) { + (events.list[name] = events.list[name] || []).push(fun); + }, + 'fire' : function( name, data ) { + each( + events.list[name] || [], + function(fun) { fun(data) } + ); + } +}; + +/** + * $ + * = + * var div = $('divid'); + */ +function $(id) { return document.getElementById(id) } + +/* =-====================================================================-= */ +/* =-====================================================================-= */ +/* =-========================= PUBNUB ===========================-= */ +/* =-====================================================================-= */ +/* =-====================================================================-= */ + +function PN(setup) { + + + setup['db'] = db; + setup['xdr'] = xdr; + var SELF = PN_API(setup); + + SELF['init'] = PN; + SELF['$'] = $; + + + // Return without Testing + if (setup['notest']) return SELF; + + // Add Leave Functions + bind( 'beforeunload', window, function() { + each_channel(function(ch){ SELF['LEAVE']( ch.name, 1 ) }); + return true; + } ); + + bind( 'offline', window, SELF['_reset_offline'] ); + bind( 'offline', document, SELF['_reset_offline'] ); + + SELF['ready'](); + return SELF; +} + +typeof module !== 'undefined' && (module.exports = PN) || +typeof exports !== 'undefined' && (exports.PN = PN) || (PUBNUB = PN); + +})(); +var NOW = 1 +, READY = false +, READY_BUFFER = [] +, PRESENCE_SUFFIX = '-pnpres' +, DEF_WINDOWING = 10 // MILLISECONDS. +, DEF_TIMEOUT = 10000 // MILLISECONDS. +, DEF_SUB_TIMEOUT = 310 // SECONDS. +, DEF_KEEPALIVE = 60 // SECONDS. +, SECOND = 1000 // A THOUSAND MILLISECONDS. +, REPL = /{([\w\-]+)}/g; + +/** + * UTILITIES + */ +function unique() { return'x'+ ++NOW+''+(+new Date) } +function rnow() { return+new Date } + +/** + * NEXTORIGIN + * ========== + * var next_origin = nextorigin(); + */ +var nextorigin = (function() { + var max = 20 + , ori = Math.floor(Math.random() * max); + return function( origin, failover ) { + return origin.indexOf('pubsub.') > 0 + && origin.replace( + 'pubsub', 'ps' + ( + failover ? uuid().split('-')[0] : + (++ori < max? ori : ori=1) + ) ) || origin; + } +})(); + +/** + * UPDATER + * ======= + * var timestamp = unique(); + */ +function updater( fun, rate ) { + var timeout + , last = 0 + , runnit = function() { + if (last + rate > rnow()) { + clearTimeout(timeout); + timeout = setTimeout( runnit, rate ); + } + else { + last = rnow(); + fun(); + } + }; + + return runnit; +} + +/** + * GREP + * ==== + * var list = grep( [1,2,3], function(item) { return item % 2 } ) + */ +function grep( list, fun ) { + var fin = []; + each( list || [], function(l) { fun(l) && fin.push(l) } ); + return fin +} + +/** + * SUPPLANT + * ======== + * var text = supplant( 'Hello {name}!', { name : 'John' } ) + */ +function supplant( str, values ) { + return str.replace( REPL, function( _, match ) { + return values[match] || _ + } ); +} + +/** + * timeout + * ======= + * timeout( function(){}, 100 ); + */ +function timeout( fun, wait ) { + return setTimeout( fun, wait ); +} + +/** + * uuid + * ==== + * var my_uuid = uuid(); + */ +function uuid(callback) { + var u = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, + function(c) { + var r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8); + return v.toString(16); + }); + if (callback) callback(u); + return u; +} + +/** + * EACH + * ==== + * each( [1,2,3], function(item) { } ) + */ +function each( o, f ) { + if ( !o || !f ) return; + + if ( typeof o[0] != 'undefined' ) + for ( var i = 0, l = o.length; i < l; ) + f.call( o[i], o[i], i++ ); + else + for ( var i in o ) + o.hasOwnProperty && + o.hasOwnProperty(i) && + f.call( o[i], i, o[i] ); +} + +/** + * MAP + * === + * var list = map( [1,2,3], function(item) { return item + 1 } ) + */ +function map( list, fun ) { + var fin = []; + each( list || [], function( k, v ) { fin.push(fun( k, v )) } ); + return fin; +} + +/** + * ENCODE + * ====== + * var encoded_path = encode('path'); + */ +function encode(path) { + return map( (encodeURIComponent(path)).split(''), function(chr) { + return "-_.!~*'()".indexOf(chr) < 0 ? chr : + "%"+chr.charCodeAt(0).toString(16).toUpperCase() + } ).join(''); +} + +/** + * Generate Subscription Channel List + * ================================== + * generate_channel_list(channels_object); + */ +function generate_channel_list(channels) { + var list = []; + each( channels, function( channel, status ) { + if (status.subscribed) list.push(channel); + } ); + return list.sort(); +} + +// PUBNUB READY TO CONNECT + function ready() { timeout( function() { + if (READY) return; + READY = 1; + each( READY_BUFFER, function(connect) { connect() } ); + }, SECOND ); } + +function PN_API(setup) { + var SUB_WINDOWING = +setup['windowing'] || DEF_WINDOWING + , SUB_TIMEOUT = (+setup['timeout'] || DEF_SUB_TIMEOUT) * SECOND + , KEEPALIVE = (+setup['keepalive'] || DEF_KEEPALIVE) * SECOND + , PUBLISH_KEY = setup['publish_key'] || '' + , SUBSCRIBE_KEY = setup['subscribe_key'] || '' + , SSL = setup['ssl'] ? 's' : '' + , ORIGIN = 'http'+SSL+'://'+(setup['origin']||'pubsub.pubnub.com') + , STD_ORIGIN = nextorigin(ORIGIN) + , SUB_ORIGIN = nextorigin(ORIGIN) + , CONNECT = function(){} + , PUB_QUEUE = [] + , SUB_CALLBACK = 0 + , SUB_CHANNEL = 0 + , SUB_RECEIVER = 0 + , SUB_RESTORE = 0 + , SUB_BUFF_WAIT = 0 + , TIMETOKEN = 0 + , CHANNELS = {} + , xdr = setup['xdr'] + , _is_online = setup['_is_online'] || function() { return 1; } + , jsonp_cb = setup['jsonp_cb'] || function(){ return 0; } + , db = setup['db'] || {'get': function(){}, 'set': function(){}} + , UUID = setup['uuid'] || ( db && db['get'](SUBSCRIBE_KEY+'uuid') || ''); + + + + function publish(next) { + if (next) PUB_QUEUE.sending = 0; + if (PUB_QUEUE.sending || !PUB_QUEUE.length) return; + PUB_QUEUE.sending = 1; + xdr(PUB_QUEUE.shift()); + } + + function each_channel(callback) { + each( generate_channel_list(CHANNELS), function(channel) { + var chan = CHANNELS[channel]; + if (!chan) return; + callback(chan); + } ); + } + + // Announce Leave Event + + + var SELF = { + + '_reset_offline' : function() { + SUB_RECEIVER && SUB_RECEIVER(1); + }, + + 'LEAVE' : function( channel, blocking ) { + var data = { 'uuid' : UUID } + , origin = nextorigin(ORIGIN) + , jsonp = jsonp_cb(); + + // Prevent Leaving a Presence Channel + if (channel.indexOf(PRESENCE_SUFFIX) > 0) return; + + if (jsonp != '0') data['callback'] = jsonp; + + xdr({ + blocking : blocking || SSL, + timeout : 2000, + callback : jsonp, + data : data, + url : [ + origin, 'v2', 'presence', 'sub_key', + SUBSCRIBE_KEY, 'channel', encode(channel), 'leave' + ] + }); + }, + /* + PUBNUB.history({ + channel : 'my_chat_channel', + limit : 100, + callback : function(history) { } + }); + */ + 'history' : function( args, callback ) { + var callback = args['callback'] || callback + , count = args['count'] || args['limit'] || 100 + , reverse = args['reverse'] || "false" + , err = args['error'] || function(){} + , channel = args['channel'] + , start = args['start'] + , end = args['end'] + , params = {} + , jsonp = jsonp_cb(); + + // Make sure we have a Channel + if (!channel) return error('Missing Channel'); + if (!callback) return error('Missing Callback'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + params['stringtoken'] = 'true'; + params['count'] = count; + params['reverse'] = reverse; + + if (jsonp) params['callback'] = jsonp; + if (start) params['start'] = start; + if (end) params['end'] = end; + + // Send Message + xdr({ + callback : jsonp, + data : params, + success : function(response) { callback(response) }, + fail : err, + url : [ + STD_ORIGIN, 'v2', 'history', 'sub-key', + SUBSCRIBE_KEY, 'channel', encode(channel) + ] + }); + }, + + /* + PUBNUB.replay({ + source : 'my_channel', + destination : 'new_channel' + }); + */ + 'replay' : function(args) { + var callback = callback || args['callback'] || function(){} + , source = args['source'] + , destination = args['destination'] + , stop = args['stop'] + , start = args['start'] + , end = args['end'] + , reverse = args['reverse'] + , limit = args['limit'] + , jsonp = jsonp_cb() + , data = {} + , url; + + // Check User Input + if (!source) return error('Missing Source Channel'); + if (!destination) return error('Missing Destination Channel'); + if (!PUBLISH_KEY) return error('Missing Publish Key'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + // Setup URL Params + if (jsonp != '0') data['callback'] = jsonp; + if (stop) data['stop'] = 'all'; + if (reverse) data['reverse'] = 'true'; + if (start) data['start'] = start; + if (end) data['end'] = end; + if (limit) data['count'] = limit; + + // Compose URL Parts + url = [ + STD_ORIGIN, 'v1', 'replay', + PUBLISH_KEY, SUBSCRIBE_KEY, + source, destination + ]; + + // Start (or Stop) Replay! + xdr({ + callback : jsonp, + success : function(response) { callback(response) }, + fail : function() { callback([ 0, 'Disconnected' ]) }, + url : url, + data : data + }); + }, + + /* + PUBNUB.time(function(time){ }); + */ + 'time' : function(callback) { + var jsonp = jsonp_cb(); + xdr({ + callback : jsonp, + timeout : SECOND*5, + url : [STD_ORIGIN, 'time', jsonp], + success : function(response) { callback(response[0]) }, + fail : function() { callback(0) } + }); + }, + + /* + PUBNUB.publish({ + channel : 'my_chat_channel', + message : 'hello!' + }); + */ + 'publish' : function( args, callback ) { + var callback = callback || args['callback'] || function(){} + , msg = args['message'] + , channel = args['channel'] + , jsonp = jsonp_cb() + , url; + + if (!msg) return error('Missing Message'); + if (!channel) return error('Missing Channel'); + if (!PUBLISH_KEY) return error('Missing Publish Key'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + // If trying to send Object + msg = JSON['stringify'](msg); + + // Create URL + url = [ + STD_ORIGIN, 'publish', + PUBLISH_KEY, SUBSCRIBE_KEY, + 0, encode(channel), + jsonp, encode(msg) + ]; + + // Queue Message Send + PUB_QUEUE.push({ + callback : jsonp, + timeout : SECOND*5, + url : url, + data : { 'uuid' : UUID }, + success : function(response){callback(response);publish(1)}, + fail : function(){callback([0,'Failed',msg]);publish(1)} + }); + + // Send Message + publish(); + }, + + /* + PUBNUB.unsubscribe({ channel : 'my_chat' }); + */ + 'unsubscribe' : function(args) { + var channel = args['channel']; + + TIMETOKEN = 0; + SUB_RESTORE = 1; + + // Prepare Channel(s) + channel = map( ( + channel.join ? channel.join(',') : ''+channel + ).split(','), function(channel) { + return channel + ',' + channel + PRESENCE_SUFFIX; + } ).join(','); + + // Iterate over Channels + each( channel.split(','), function(channel) { + if (READY) SELF['LEAVE']( channel, 0 ); + CHANNELS[channel] = 0; + } ); + + // ReOpen Connection if Any Channels Left + if (READY) CONNECT(); + }, + + /* + PUBNUB.subscribe({ + channel : 'my_chat' + callback : function(message) { } + }); + */ + 'subscribe' : function( args, callback ) { + var channel = args['channel'] + , callback = callback || args['callback'] + , callback = callback || args['message'] + , connect = args['connect'] || function(){} + , reconnect = args['reconnect'] || function(){} + , disconnect = args['disconnect'] || function(){} + , presence = args['presence'] || 0 + , noheresync = args['noheresync'] || 0 + , backfill = args['backfill'] || 0 + , sub_timeout = args['timeout'] || SUB_TIMEOUT + , windowing = args['windowing'] || SUB_WINDOWING + , restore = args['restore']; + + // Restore Enabled? + if (restore) SUB_RESTORE = 1; + + TIMETOKEN = 0; + + // Make sure we have a Channel + if (!channel) return error('Missing Channel'); + if (!callback) return error('Missing Callback'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + // Setup Channel(s) + each( (channel.join ? channel.join(',') : ''+channel).split(','), + function(channel) { + var settings = CHANNELS[channel] || {}; + + // Store Channel State + CHANNELS[SUB_CHANNEL = channel] = { + name : channel, + connected : settings.connected, + disconnected : settings.disconnected, + subscribed : 1, + callback : SUB_CALLBACK = callback, + connect : connect, + disconnect : disconnect, + reconnect : reconnect + }; + + // Presence Enabled? + if (!presence) return; + + // Subscribe Presence Channel + SELF['subscribe']({ + 'channel' : channel + PRESENCE_SUFFIX, + 'callback' : presence + }); + + // Presence Subscribed? + if (settings.subscribed) return; + + // See Who's Here Now? + if (noheresync) return; + SELF['here_now']({ + 'channel' : channel, + 'callback' : function(here) { + each( 'uuids' in here ? here['uuids'] : [], + function(uid) { presence( { + 'action' : 'join', + 'uuid' : uid, + 'timestamp' : rnow(), + 'occupancy' : here['occupancy'] || 1 + }, here, channel ); } ); + } + }); + } ); + + // Test Network Connection + function _test_connection(success) { + if (success) { + // Begin Next Socket Connection + timeout( _connect, SECOND ); + } + else { + // New Origin on Failed Connection + STD_ORIGIN = nextorigin( ORIGIN, 1 ); + SUB_ORIGIN = nextorigin( ORIGIN, 1 ); + + // Re-test Connection + timeout( function() { + SELF['time'](_test_connection); + }, SECOND ); + } + + // Disconnect & Reconnect + each_channel(function(channel){ + // Reconnect + if (success && channel.disconnected) { + channel.disconnected = 0; + return channel.reconnect(channel.name); + } + + // Disconnect + if (!success && !channel.disconnected) { + channel.disconnected = 1; + channel.disconnect(channel.name); + } + }); + } + + // Evented Subscribe + function _connect() { + var jsonp = jsonp_cb() + , channels = generate_channel_list(CHANNELS).join(','); + + // Stop Connection + if (!channels) return; + + // Connect to PubNub Subscribe Servers + SUB_RECEIVER = xdr({ + timeout : sub_timeout, + callback : jsonp, + fail : function() { SELF['time'](_test_connection) }, + data : { 'uuid' : UUID }, + url : [ + SUB_ORIGIN, 'subscribe', + SUBSCRIBE_KEY, encode(channels), + jsonp, TIMETOKEN + ], + success : function(messages) { + if (!messages) return timeout( _connect, windowing ); + + // Connect + each_channel(function(channel){ + if (channel.connected) return; + channel.connected = 1; + channel.connect(channel.name); + }); + + // Restore Previous Connection Point if Needed + TIMETOKEN = !TIMETOKEN && + SUB_RESTORE && + db['get'](SUBSCRIBE_KEY) || messages[1]; + + + if (backfill) { + Timetoken = 10000; + backfill = 0; + } + + // Update Saved Timetoken + db['set']( SUBSCRIBE_KEY, messages[1] ); + + // Route Channel <---> Callback for Message + var next_callback = (function() { + var channels = (messages.length>2?messages[2]:'') + , list = channels.split(','); + + return function() { + var channel = list.shift()||''; + return [ + (CHANNELS[channel]||{}) + .callback||SUB_CALLBACK, + (channel||SUB_CHANNEL) + .split(PRESENCE_SUFFIX)[0] + ]; + }; + })(); + + each( messages[0], function(msg) { + var next = next_callback(); + if (!CHANNELS[next[1]].subscribed) return; + next[0]( msg, messages, next[1] ); + } ); + + timeout( _connect, windowing ); + } + }); + } + + CONNECT = function() { + // Close Previous Subscribe Connection + SELF['_reset_offline'](); + + // Begin Recursive Subscribe + clearTimeout(SUB_BUFF_WAIT); + SUB_BUFF_WAIT = timeout( _connect, 100 ); + }; + + // Reduce Status Flicker + if (!READY) return READY_BUFFER.push(CONNECT); + + // Connect Now + CONNECT(); + }, + + 'here_now' : function( args, callback ) { + var callback = args['callback'] || callback + , err = args['error'] || function(){} + , channel = args['channel'] + , jsonp = jsonp_cb() + , data = null; + + // Make sure we have a Channel + if (!channel) return error('Missing Channel'); + if (!callback) return error('Missing Callback'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + if (jsonp != '0') { + data = {}; + data['callback'] = jsonp; + } + + xdr({ + callback : jsonp, + data : data, + success : function(response) { callback(response) }, + fail : err, + url : [ + STD_ORIGIN, 'v2', 'presence', + 'sub_key', SUBSCRIBE_KEY, + 'channel', encode(channel) + ] + }); + }, + + // Expose PUBNUB Functions + 'xdr' : xdr, + 'ready' : ready, + 'db' : db, + 'uuid' : uuid, + 'each' : each, + 'map' : map, + 'grep' : grep, + 'supplant' : supplant, + 'now' : rnow, + 'unique' : unique, + 'updater' : updater, + 'poll_online' : function() { + _is_online() || SELF['_reset_offline'](); + timeout( SELF['poll_online'], SECOND ); + }, + 'poll_online2' : function() { + SELF['time'](function(success){ + success || SELF['_reset_offline'](); + timeout( SELF['poll_online2'], KEEPALIVE ); + }) + } + }; + if (!UUID) UUID = SELF['uuid'](); + db['set']( SUBSCRIBE_KEY + 'uuid', UUID ); + + timeout( SELF['poll_online'], SECOND ); + timeout( SELF['poll_online2'], KEEPALIVE ); + + return SELF; +} +/* --------------------------------------------------------------------------- +--------------------------------------------------------------------------- */ + +/* --------------------------------------------------------------------------- +PubNub Real-time Cloud-Hosted Push API and Push Notification Client Frameworks +Copyright (c) 2011 PubNub Inc. +http://www.pubnub.com/ +http://www.pubnub.com/terms +--------------------------------------------------------------------------- */ + +/* --------------------------------------------------------------------------- +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +--------------------------------------------------------------------------- */ +(function(){ + +/** + * UTIL LOCALS + */ +var NOW = 1 +, URLBIT = '/' +, PARAMSBIT = '&' +, XHRTME = 310000; + +/** + * UTILITIES + */ +//function unique() { return'x'+ ++NOW+''+(+new Date) } +//function rnow() { return+new Date } + +/** + * LOCAL STORAGE + */ +var db = (function(){ + var ls = typeof localStorage != 'undefined' && localStorage; + return { + get : function(key) { + try { + if (ls) return ls.getItem(key); + if (document.cookie.indexOf(key) == -1) return null; + return ((document.cookie||'').match( + RegExp(key+'=([^;]+)') + )||[])[1] || null; + } catch(e) { return } + }, + set : function( key, value ) { + try { + if (ls) return ls.setItem( key, value ) && 0; + document.cookie = key + '=' + value + + '; expires=Thu, 1 Aug 2030 20:00:00 UTC; path=/'; + } catch(e) { return } + } + }; +})(); + + +/** + * CORS XHR Request + * ================ + * xdr({ + * url : ['http://www.blah.com/url'], + * success : function(response) {}, + * fail : function() {} + * }); + */ +function xdr( setup ) { + var xhr + , finished = function() { + if (loaded) return; + loaded = 1; + + clearTimeout(timer); + + try { response = JSON['parse'](xhr.responseText); } + catch (r) { return done(1); } + + success(response); + } + , complete = 0 + , loaded = 0 + , timer = timeout( function(){done(1)}, XHRTME ) + , fail = setup.fail || function(){} + , success = setup.success || function(){} + , done = function(failed) { + if (complete) return; + complete = 1; + + clearTimeout(timer); + + if (xhr) { + xhr.onerror = xhr.onload = null; + xhr.abort && xhr.abort(); + xhr = null; + } + + failed && fail(); + }; + + // Send + try { + xhr = typeof XDomainRequest !== 'undefined' && + new XDomainRequest() || + new XMLHttpRequest(); + + xhr.onerror = xhr.onabort = function(){ done(1) }; + xhr.onload = xhr.onloadend = finished; + xhr.timeout = XHRTME; + url = setup.url.join(URLBIT); + if (setup.data) { + var params = []; + url += "?"; + for (key in setup.data) { + params.push(key+"="+setup.data[key]); + } + url += params.join(PARAMSBIT); + } + xhr.open( 'GET', url, true ); + xhr.send(); + } + catch(eee) { + done(0); + return xdr(setup); + } + + // Return 'done' + return done; +} + +/** + * BIND + * ==== + * bind( 'keydown', search('a')[0], function(element) { + * ... + * } ); + */ +function bind( type, el, fun ) { + each( type.split(','), function(etype) { + var rapfun = function(e) { + if (!e) e = window.event; + if (!fun(e)) { + e.cancelBubble = true; + e.returnValue = false; + e.preventDefault && e.preventDefault(); + e.stopPropagation && e.stopPropagation(); + } + }; + + if ( el.addEventListener ) el.addEventListener( etype, rapfun, false ); + else if ( el.attachEvent ) el.attachEvent( 'on' + etype, rapfun ); + else el[ 'on' + etype ] = rapfun; + } ); +} + +/** + * UNBIND + * ====== + * unbind( 'keydown', search('a')[0] ); + */ +function unbind( type, el, fun ) { + if ( el.removeEventListener ) el.removeEventListener( type, false ); + else if ( el.detachEvent ) el.detachEvent( 'on' + type, false ); + else el[ 'on' + type ] = null; +} + +/** + * LOG + * === + * var list = grep( [1,2,3], function(item) { return item % 2 } ) + */ +var log = function(){}; + +/** + * EVENTS + * ====== + * PUBNUB.events.bind( 'you-stepped-on-flower', function(message) { + * // Do Stuff with message + * } ); + * + * PUBNUB.events.fire( 'you-stepped-on-flower', "message-data" ); + * PUBNUB.events.fire( 'you-stepped-on-flower', {message:"data"} ); + * PUBNUB.events.fire( 'you-stepped-on-flower', [1,2,3] ); + * + */ +var events = { + 'list' : {}, + 'unbind' : function( name ) { events.list[name] = [] }, + 'bind' : function( name, fun ) { + (events.list[name] = events.list[name] || []).push(fun); + }, + 'fire' : function( name, data ) { + each( + events.list[name] || [], + function(fun) { fun(data) } + ); + } +}; + +/** + * ATTR + * ==== + * var attribute = attr( node, 'attribute' ); + */ +function attr( node, attribute, value ) { + if (value) node.setAttribute( attribute, value ); + else return node && node.getAttribute && node.getAttribute(attribute); +} + +/** + * $ + * = + * var div = $('divid'); + */ +function $(id) { return document.getElementById(id) } + +/* =-====================================================================-= */ +/* =-====================================================================-= */ +/* =-========================= PUBNUB ===========================-= */ +/* =-====================================================================-= */ +/* =-====================================================================-= */ + +function PN(setup) { + + + setup['db'] = db; + setup['xdr'] = xdr; + var SELF = PN_API(setup); + + SELF['init'] = PN; + SELF['$'] = $; + + + // Return without Testing + if (setup['notest']) return SELF; + + // Add Leave Functions + bind( 'beforeunload', window, function() { + each_channel(function(ch){ SELF['LEAVE']( ch.name, 1 ) }); + return true; + } ); + + bind( 'offline', window, SELF['_reset_offline'] ); + bind( 'offline', document, SELF['_reset_offline'] ); + + SELF['ready'](); + return SELF; +} + +typeof module !== 'undefined' && (module.exports = PN) || +typeof exports !== 'undefined' && (exports.PN = PN) || (PUBNUB = PN); + +})(); +var NOW = 1 +, READY = false +, READY_BUFFER = [] +, PRESENCE_SUFFIX = '-pnpres' +, DEF_WINDOWING = 10 // MILLISECONDS. +, DEF_TIMEOUT = 10000 // MILLISECONDS. +, DEF_SUB_TIMEOUT = 310 // SECONDS. +, DEF_KEEPALIVE = 60 // SECONDS. +, SECOND = 1000 // A THOUSAND MILLISECONDS. +, REPL = /{([\w\-]+)}/g; + +/** + * UTILITIES + */ +function unique() { return'x'+ ++NOW+''+(+new Date) } +function rnow() { return+new Date } + +/** + * NEXTORIGIN + * ========== + * var next_origin = nextorigin(); + */ +var nextorigin = (function() { + var max = 20 + , ori = Math.floor(Math.random() * max); + return function( origin, failover ) { + return origin.indexOf('pubsub.') > 0 + && origin.replace( + 'pubsub', 'ps' + ( + failover ? uuid().split('-')[0] : + (++ori < max? ori : ori=1) + ) ) || origin; + } +})(); + +/** + * UPDATER + * ======= + * var timestamp = unique(); + */ +function updater( fun, rate ) { + var timeout + , last = 0 + , runnit = function() { + if (last + rate > rnow()) { + clearTimeout(timeout); + timeout = setTimeout( runnit, rate ); + } + else { + last = rnow(); + fun(); + } + }; + + return runnit; +} + +/** + * GREP + * ==== + * var list = grep( [1,2,3], function(item) { return item % 2 } ) + */ +function grep( list, fun ) { + var fin = []; + each( list || [], function(l) { fun(l) && fin.push(l) } ); + return fin +} + +/** + * SUPPLANT + * ======== + * var text = supplant( 'Hello {name}!', { name : 'John' } ) + */ +function supplant( str, values ) { + return str.replace( REPL, function( _, match ) { + return values[match] || _ + } ); +} + +/** + * timeout + * ======= + * timeout( function(){}, 100 ); + */ +function timeout( fun, wait ) { + return setTimeout( fun, wait ); +} + +/** + * uuid + * ==== + * var my_uuid = uuid(); + */ +function uuid(callback) { + var u = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, + function(c) { + var r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8); + return v.toString(16); + }); + if (callback) callback(u); + return u; +} + +/** + * EACH + * ==== + * each( [1,2,3], function(item) { } ) + */ +function each( o, f ) { + if ( !o || !f ) return; + + if ( typeof o[0] != 'undefined' ) + for ( var i = 0, l = o.length; i < l; ) + f.call( o[i], o[i], i++ ); + else + for ( var i in o ) + o.hasOwnProperty && + o.hasOwnProperty(i) && + f.call( o[i], i, o[i] ); +} + +/** + * MAP + * === + * var list = map( [1,2,3], function(item) { return item + 1 } ) + */ +function map( list, fun ) { + var fin = []; + each( list || [], function( k, v ) { fin.push(fun( k, v )) } ); + return fin; +} + +/** + * ENCODE + * ====== + * var encoded_path = encode('path'); + */ +function encode(path) { + return map( (encodeURIComponent(path)).split(''), function(chr) { + return "-_.!~*'()".indexOf(chr) < 0 ? chr : + "%"+chr.charCodeAt(0).toString(16).toUpperCase() + } ).join(''); +} + +/** + * Generate Subscription Channel List + * ================================== + * generate_channel_list(channels_object); + */ +function generate_channel_list(channels) { + var list = []; + each( channels, function( channel, status ) { + if (status.subscribed) list.push(channel); + } ); + return list.sort(); +} + +// PUBNUB READY TO CONNECT + function ready() { timeout( function() { + if (READY) return; + READY = 1; + each( READY_BUFFER, function(connect) { connect() } ); + }, SECOND ); } + +function PN_API(setup) { + var SUB_WINDOWING = +setup['windowing'] || DEF_WINDOWING + , SUB_TIMEOUT = (+setup['timeout'] || DEF_SUB_TIMEOUT) * SECOND + , KEEPALIVE = (+setup['keepalive'] || DEF_KEEPALIVE) * SECOND + , PUBLISH_KEY = setup['publish_key'] || '' + , SUBSCRIBE_KEY = setup['subscribe_key'] || '' + , SSL = setup['ssl'] ? 's' : '' + , ORIGIN = 'http'+SSL+'://'+(setup['origin']||'pubsub.pubnub.com') + , STD_ORIGIN = nextorigin(ORIGIN) + , SUB_ORIGIN = nextorigin(ORIGIN) + , CONNECT = function(){} + , PUB_QUEUE = [] + , SUB_CALLBACK = 0 + , SUB_CHANNEL = 0 + , SUB_RECEIVER = 0 + , SUB_RESTORE = 0 + , SUB_BUFF_WAIT = 0 + , TIMETOKEN = 0 + , CHANNELS = {} + , xdr = setup['xdr'] + , _is_online = setup['_is_online'] || function() { return 1; } + , jsonp_cb = setup['jsonp_cb'] || function(){ return 0; } + , db = setup['db'] || {'get': function(){}, 'set': function(){}} + , UUID = setup['uuid'] || ( db && db['get'](SUBSCRIBE_KEY+'uuid') || ''); + + + + function publish(next) { + if (next) PUB_QUEUE.sending = 0; + if (PUB_QUEUE.sending || !PUB_QUEUE.length) return; + PUB_QUEUE.sending = 1; + xdr(PUB_QUEUE.shift()); + } + + function each_channel(callback) { + each( generate_channel_list(CHANNELS), function(channel) { + var chan = CHANNELS[channel]; + if (!chan) return; + callback(chan); + } ); + } + + // Announce Leave Event + + + var SELF = { + + '_reset_offline' : function() { + SUB_RECEIVER && SUB_RECEIVER(1); + }, + + 'LEAVE' : function( channel, blocking ) { + var data = { 'uuid' : UUID } + , origin = nextorigin(ORIGIN) + , jsonp = jsonp_cb(); + + // Prevent Leaving a Presence Channel + if (channel.indexOf(PRESENCE_SUFFIX) > 0) return; + + if (jsonp != '0') data['callback'] = jsonp; + + xdr({ + blocking : blocking || SSL, + timeout : 2000, + callback : jsonp, + data : data, + url : [ + origin, 'v2', 'presence', 'sub_key', + SUBSCRIBE_KEY, 'channel', encode(channel), 'leave' + ] + }); + }, + /* + PUBNUB.history({ + channel : 'my_chat_channel', + limit : 100, + callback : function(history) { } + }); + */ + 'history' : function( args, callback ) { + var callback = args['callback'] || callback + , count = args['count'] || args['limit'] || 100 + , reverse = args['reverse'] || "false" + , err = args['error'] || function(){} + , channel = args['channel'] + , start = args['start'] + , end = args['end'] + , params = {} + , jsonp = jsonp_cb(); + + // Make sure we have a Channel + if (!channel) return error('Missing Channel'); + if (!callback) return error('Missing Callback'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + params['stringtoken'] = 'true'; + params['count'] = count; + params['reverse'] = reverse; + + if (jsonp) params['callback'] = jsonp; + if (start) params['start'] = start; + if (end) params['end'] = end; + + // Send Message + xdr({ + callback : jsonp, + data : params, + success : function(response) { callback(response) }, + fail : err, + url : [ + STD_ORIGIN, 'v2', 'history', 'sub-key', + SUBSCRIBE_KEY, 'channel', encode(channel) + ] + }); + }, + + /* + PUBNUB.replay({ + source : 'my_channel', + destination : 'new_channel' + }); + */ + 'replay' : function(args) { + var callback = callback || args['callback'] || function(){} + , source = args['source'] + , destination = args['destination'] + , stop = args['stop'] + , start = args['start'] + , end = args['end'] + , reverse = args['reverse'] + , limit = args['limit'] + , jsonp = jsonp_cb() + , data = {} + , url; + + // Check User Input + if (!source) return error('Missing Source Channel'); + if (!destination) return error('Missing Destination Channel'); + if (!PUBLISH_KEY) return error('Missing Publish Key'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + // Setup URL Params + if (jsonp != '0') data['callback'] = jsonp; + if (stop) data['stop'] = 'all'; + if (reverse) data['reverse'] = 'true'; + if (start) data['start'] = start; + if (end) data['end'] = end; + if (limit) data['count'] = limit; + + // Compose URL Parts + url = [ + STD_ORIGIN, 'v1', 'replay', + PUBLISH_KEY, SUBSCRIBE_KEY, + source, destination + ]; + + // Start (or Stop) Replay! + xdr({ + callback : jsonp, + success : function(response) { callback(response) }, + fail : function() { callback([ 0, 'Disconnected' ]) }, + url : url, + data : data + }); + }, + + /* + PUBNUB.time(function(time){ }); + */ + 'time' : function(callback) { + var jsonp = jsonp_cb(); + xdr({ + callback : jsonp, + timeout : SECOND*5, + url : [STD_ORIGIN, 'time', jsonp], + success : function(response) { callback(response[0]) }, + fail : function() { callback(0) } + }); + }, + + /* + PUBNUB.publish({ + channel : 'my_chat_channel', + message : 'hello!' + }); + */ + 'publish' : function( args, callback ) { + var callback = callback || args['callback'] || function(){} + , msg = args['message'] + , channel = args['channel'] + , jsonp = jsonp_cb() + , url; + + if (!msg) return error('Missing Message'); + if (!channel) return error('Missing Channel'); + if (!PUBLISH_KEY) return error('Missing Publish Key'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + // If trying to send Object + msg = JSON['stringify'](msg); + + // Create URL + url = [ + STD_ORIGIN, 'publish', + PUBLISH_KEY, SUBSCRIBE_KEY, + 0, encode(channel), + jsonp, encode(msg) + ]; + + // Queue Message Send + PUB_QUEUE.push({ + callback : jsonp, + timeout : SECOND*5, + url : url, + data : { 'uuid' : UUID }, + success : function(response){callback(response);publish(1)}, + fail : function(){callback([0,'Failed',msg]);publish(1)} + }); + + // Send Message + publish(); + }, + + /* + PUBNUB.unsubscribe({ channel : 'my_chat' }); + */ + 'unsubscribe' : function(args) { + var channel = args['channel']; + + TIMETOKEN = 0; + SUB_RESTORE = 1; + + // Prepare Channel(s) + channel = map( ( + channel.join ? channel.join(',') : ''+channel + ).split(','), function(channel) { + return channel + ',' + channel + PRESENCE_SUFFIX; + } ).join(','); + + // Iterate over Channels + each( channel.split(','), function(channel) { + if (READY) SELF['LEAVE']( channel, 0 ); + CHANNELS[channel] = 0; + } ); + + // ReOpen Connection if Any Channels Left + if (READY) CONNECT(); + }, + + /* + PUBNUB.subscribe({ + channel : 'my_chat' + callback : function(message) { } + }); + */ + 'subscribe' : function( args, callback ) { + var channel = args['channel'] + , callback = callback || args['callback'] + , callback = callback || args['message'] + , connect = args['connect'] || function(){} + , reconnect = args['reconnect'] || function(){} + , disconnect = args['disconnect'] || function(){} + , presence = args['presence'] || 0 + , noheresync = args['noheresync'] || 0 + , backfill = args['backfill'] || 0 + , sub_timeout = args['timeout'] || SUB_TIMEOUT + , windowing = args['windowing'] || SUB_WINDOWING + , restore = args['restore']; + + // Restore Enabled? + if (restore) SUB_RESTORE = 1; + + TIMETOKEN = 0; + + // Make sure we have a Channel + if (!channel) return error('Missing Channel'); + if (!callback) return error('Missing Callback'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + // Setup Channel(s) + each( (channel.join ? channel.join(',') : ''+channel).split(','), + function(channel) { + var settings = CHANNELS[channel] || {}; + + // Store Channel State + CHANNELS[SUB_CHANNEL = channel] = { + name : channel, + connected : settings.connected, + disconnected : settings.disconnected, + subscribed : 1, + callback : SUB_CALLBACK = callback, + connect : connect, + disconnect : disconnect, + reconnect : reconnect + }; + + // Presence Enabled? + if (!presence) return; + + // Subscribe Presence Channel + SELF['subscribe']({ + 'channel' : channel + PRESENCE_SUFFIX, + 'callback' : presence + }); + + // Presence Subscribed? + if (settings.subscribed) return; + + // See Who's Here Now? + if (noheresync) return; + SELF['here_now']({ + 'channel' : channel, + 'callback' : function(here) { + each( 'uuids' in here ? here['uuids'] : [], + function(uid) { presence( { + 'action' : 'join', + 'uuid' : uid, + 'timestamp' : rnow(), + 'occupancy' : here['occupancy'] || 1 + }, here, channel ); } ); + } + }); + } ); + + // Test Network Connection + function _test_connection(success) { + if (success) { + // Begin Next Socket Connection + timeout( _connect, SECOND ); + } + else { + // New Origin on Failed Connection + STD_ORIGIN = nextorigin( ORIGIN, 1 ); + SUB_ORIGIN = nextorigin( ORIGIN, 1 ); + + // Re-test Connection + timeout( function() { + SELF['time'](_test_connection); + }, SECOND ); + } + + // Disconnect & Reconnect + each_channel(function(channel){ + // Reconnect + if (success && channel.disconnected) { + channel.disconnected = 0; + return channel.reconnect(channel.name); + } + + // Disconnect + if (!success && !channel.disconnected) { + channel.disconnected = 1; + channel.disconnect(channel.name); + } + }); + } + + // Evented Subscribe + function _connect() { + var jsonp = jsonp_cb() + , channels = generate_channel_list(CHANNELS).join(','); + + // Stop Connection + if (!channels) return; + + // Connect to PubNub Subscribe Servers + SUB_RECEIVER = xdr({ + timeout : sub_timeout, + callback : jsonp, + fail : function() { SELF['time'](_test_connection) }, + data : { 'uuid' : UUID }, + url : [ + SUB_ORIGIN, 'subscribe', + SUBSCRIBE_KEY, encode(channels), + jsonp, TIMETOKEN + ], + success : function(messages) { + if (!messages) return timeout( _connect, windowing ); + + // Connect + each_channel(function(channel){ + if (channel.connected) return; + channel.connected = 1; + channel.connect(channel.name); + }); + + // Restore Previous Connection Point if Needed + TIMETOKEN = !TIMETOKEN && + SUB_RESTORE && + db['get'](SUBSCRIBE_KEY) || messages[1]; + + + if (backfill) { + Timetoken = 10000; + backfill = 0; + } + + // Update Saved Timetoken + db['set']( SUBSCRIBE_KEY, messages[1] ); + + // Route Channel <---> Callback for Message + var next_callback = (function() { + var channels = (messages.length>2?messages[2]:'') + , list = channels.split(','); + + return function() { + var channel = list.shift()||''; + return [ + (CHANNELS[channel]||{}) + .callback||SUB_CALLBACK, + (channel||SUB_CHANNEL) + .split(PRESENCE_SUFFIX)[0] + ]; + }; + })(); + + each( messages[0], function(msg) { + var next = next_callback(); + if (!CHANNELS[next[1]].subscribed) return; + next[0]( msg, messages, next[1] ); + } ); + + timeout( _connect, windowing ); + } + }); + } + + CONNECT = function() { + // Close Previous Subscribe Connection + SELF['_reset_offline'](); + + // Begin Recursive Subscribe + clearTimeout(SUB_BUFF_WAIT); + SUB_BUFF_WAIT = timeout( _connect, 100 ); + }; + + // Reduce Status Flicker + if (!READY) return READY_BUFFER.push(CONNECT); + + // Connect Now + CONNECT(); + }, + + 'here_now' : function( args, callback ) { + var callback = args['callback'] || callback + , err = args['error'] || function(){} + , channel = args['channel'] + , jsonp = jsonp_cb() + , data = null; + + // Make sure we have a Channel + if (!channel) return error('Missing Channel'); + if (!callback) return error('Missing Callback'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + if (jsonp != '0') { + data = {}; + data['callback'] = jsonp; + } + + xdr({ + callback : jsonp, + data : data, + success : function(response) { callback(response) }, + fail : err, + url : [ + STD_ORIGIN, 'v2', 'presence', + 'sub_key', SUBSCRIBE_KEY, + 'channel', encode(channel) + ] + }); + }, + + // Expose PUBNUB Functions + 'xdr' : xdr, + 'ready' : ready, + 'db' : db, + 'uuid' : uuid, + 'each' : each, + 'map' : map, + 'grep' : grep, + 'supplant' : supplant, + 'now' : rnow, + 'unique' : unique, + 'updater' : updater, + 'poll_online' : function() { + _is_online() || SELF['_reset_offline'](); + timeout( SELF['poll_online'], SECOND ); + }, + 'poll_online2' : function() { + SELF['time'](function(success){ + success || SELF['_reset_offline'](); + timeout( SELF['poll_online2'], KEEPALIVE ); + }) + } + }; + if (!UUID) UUID = SELF['uuid'](); + db['set']( SUBSCRIBE_KEY + 'uuid', UUID ); + + timeout( SELF['poll_online'], SECOND ); + timeout( SELF['poll_online2'], KEEPALIVE ); + + return SELF; +} +/* --------------------------------------------------------------------------- +--------------------------------------------------------------------------- */ + +/* --------------------------------------------------------------------------- +PubNub Real-time Cloud-Hosted Push API and Push Notification Client Frameworks +Copyright (c) 2011 PubNub Inc. +http://www.pubnub.com/ +http://www.pubnub.com/terms +--------------------------------------------------------------------------- */ + +/* --------------------------------------------------------------------------- +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +--------------------------------------------------------------------------- */ +(function(){ + +/** + * UTIL LOCALS + */ +var NOW = 1 +, URLBIT = '/' +, PARAMSBIT = '&' +, XHRTME = 310000; + +/** + * UTILITIES + */ +//function unique() { return'x'+ ++NOW+''+(+new Date) } +//function rnow() { return+new Date } + +/** + * LOCAL STORAGE + */ +var db = (function(){ + var ls = typeof localStorage != 'undefined' && localStorage; + return { + get : function(key) { + try { + if (ls) return ls.getItem(key); + if (document.cookie.indexOf(key) == -1) return null; + return ((document.cookie||'').match( + RegExp(key+'=([^;]+)') + )||[])[1] || null; + } catch(e) { return } + }, + set : function( key, value ) { + try { + if (ls) return ls.setItem( key, value ) && 0; + document.cookie = key + '=' + value + + '; expires=Thu, 1 Aug 2030 20:00:00 UTC; path=/'; + } catch(e) { return } + } + }; +})(); + + +/** + * CORS XHR Request + * ================ + * xdr({ + * url : ['http://www.blah.com/url'], + * success : function(response) {}, + * fail : function() {} + * }); + */ +function xdr( setup ) { + var xhr + , finished = function() { + if (loaded) return; + loaded = 1; + + clearTimeout(timer); + + try { response = JSON['parse'](xhr.responseText); } + catch (r) { return done(1); } + + success(response); + } + , complete = 0 + , loaded = 0 + , timer = timeout( function(){done(1)}, XHRTME ) + , fail = setup.fail || function(){} + , success = setup.success || function(){} + , done = function(failed) { + if (complete) return; + complete = 1; + + clearTimeout(timer); + + if (xhr) { + xhr.onerror = xhr.onload = null; + xhr.abort && xhr.abort(); + xhr = null; + } + + failed && fail(); + }; + + // Send + try { + xhr = typeof XDomainRequest !== 'undefined' && + new XDomainRequest() || + new XMLHttpRequest(); + + xhr.onerror = xhr.onabort = function(){ done(1) }; + xhr.onload = xhr.onloadend = finished; + xhr.timeout = XHRTME; + url = setup.url.join(URLBIT); + if (setup.data) { + var params = []; + url += "?"; + for (key in setup.data) { + params.push(key+"="+setup.data[key]); + } + url += params.join(PARAMSBIT); + } + xhr.open( 'GET', url, true ); + xhr.send(); + } + catch(eee) { + done(0); + return xdr(setup); + } + + // Return 'done' + return done; +} + +/** + * BIND + * ==== + * bind( 'keydown', search('a')[0], function(element) { + * ... + * } ); + */ +function bind( type, el, fun ) { + each( type.split(','), function(etype) { + var rapfun = function(e) { + if (!e) e = window.event; + if (!fun(e)) { + e.cancelBubble = true; + e.returnValue = false; + e.preventDefault && e.preventDefault(); + e.stopPropagation && e.stopPropagation(); + } + }; + + if ( el.addEventListener ) el.addEventListener( etype, rapfun, false ); + else if ( el.attachEvent ) el.attachEvent( 'on' + etype, rapfun ); + else el[ 'on' + etype ] = rapfun; + } ); +} + +/** + * UNBIND + * ====== + * unbind( 'keydown', search('a')[0] ); + */ +function unbind( type, el, fun ) { + if ( el.removeEventListener ) el.removeEventListener( type, false ); + else if ( el.detachEvent ) el.detachEvent( 'on' + type, false ); + else el[ 'on' + type ] = null; +} + +/** + * LOG + * === + * var list = grep( [1,2,3], function(item) { return item % 2 } ) + */ +var log = function(){}; + +/** + * EVENTS + * ====== + * PUBNUB.events.bind( 'you-stepped-on-flower', function(message) { + * // Do Stuff with message + * } ); + * + * PUBNUB.events.fire( 'you-stepped-on-flower', "message-data" ); + * PUBNUB.events.fire( 'you-stepped-on-flower', {message:"data"} ); + * PUBNUB.events.fire( 'you-stepped-on-flower', [1,2,3] ); + * + */ +var events = { + 'list' : {}, + 'unbind' : function( name ) { events.list[name] = [] }, + 'bind' : function( name, fun ) { + (events.list[name] = events.list[name] || []).push(fun); + }, + 'fire' : function( name, data ) { + each( + events.list[name] || [], + function(fun) { fun(data) } + ); + } +}; + +/** + * ATTR + * ==== + * var attribute = attr( node, 'attribute' ); + */ +function attr( node, attribute, value ) { + if (value) node.setAttribute( attribute, value ); + else return node && node.getAttribute && node.getAttribute(attribute); +} + +/** + * $ + * = + * var div = $('divid'); + */ +function $(id) { return document.getElementById(id) } + +/* =-====================================================================-= */ +/* =-====================================================================-= */ +/* =-========================= PUBNUB ===========================-= */ +/* =-====================================================================-= */ +/* =-====================================================================-= */ + +function PN(setup) { + + + setup['db'] = db; + setup['xdr'] = xdr; + var SELF = PN_API(setup); + + SELF['init'] = PN; + SELF['$'] = $; + SELF['attr'] = attr; + + + // Return without Testing + if (setup['notest']) return SELF; + + // Add Leave Functions + bind( 'beforeunload', window, function() { + each_channel(function(ch){ SELF['LEAVE']( ch.name, 1 ) }); + return true; + } ); + + bind( 'offline', window, SELF['_reset_offline'] ); + bind( 'offline', document, SELF['_reset_offline'] ); + + SELF['ready'](); + return SELF; +} + +typeof module !== 'undefined' && (module.exports = PN) || +typeof exports !== 'undefined' && (exports.PN = PN) || (PUBNUB = PN); + +})(); +var NOW = 1 +, READY = false +, READY_BUFFER = [] +, PRESENCE_SUFFIX = '-pnpres' +, DEF_WINDOWING = 10 // MILLISECONDS. +, DEF_TIMEOUT = 10000 // MILLISECONDS. +, DEF_SUB_TIMEOUT = 310 // SECONDS. +, DEF_KEEPALIVE = 60 // SECONDS. +, SECOND = 1000 // A THOUSAND MILLISECONDS. +, REPL = /{([\w\-]+)}/g; + +/** + * UTILITIES + */ +function unique() { return'x'+ ++NOW+''+(+new Date) } +function rnow() { return+new Date } + +/** + * NEXTORIGIN + * ========== + * var next_origin = nextorigin(); + */ +var nextorigin = (function() { + var max = 20 + , ori = Math.floor(Math.random() * max); + return function( origin, failover ) { + return origin.indexOf('pubsub.') > 0 + && origin.replace( + 'pubsub', 'ps' + ( + failover ? uuid().split('-')[0] : + (++ori < max? ori : ori=1) + ) ) || origin; + } +})(); + +/** + * UPDATER + * ======= + * var timestamp = unique(); + */ +function updater( fun, rate ) { + var timeout + , last = 0 + , runnit = function() { + if (last + rate > rnow()) { + clearTimeout(timeout); + timeout = setTimeout( runnit, rate ); + } + else { + last = rnow(); + fun(); + } + }; + + return runnit; +} + +/** + * GREP + * ==== + * var list = grep( [1,2,3], function(item) { return item % 2 } ) + */ +function grep( list, fun ) { + var fin = []; + each( list || [], function(l) { fun(l) && fin.push(l) } ); + return fin +} + +/** + * SUPPLANT + * ======== + * var text = supplant( 'Hello {name}!', { name : 'John' } ) + */ +function supplant( str, values ) { + return str.replace( REPL, function( _, match ) { + return values[match] || _ + } ); +} + +/** + * timeout + * ======= + * timeout( function(){}, 100 ); + */ +function timeout( fun, wait ) { + return setTimeout( fun, wait ); +} + +/** + * uuid + * ==== + * var my_uuid = uuid(); + */ +function uuid(callback) { + var u = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, + function(c) { + var r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8); + return v.toString(16); + }); + if (callback) callback(u); + return u; +} + +/** + * EACH + * ==== + * each( [1,2,3], function(item) { } ) + */ +function each( o, f ) { + if ( !o || !f ) return; + + if ( typeof o[0] != 'undefined' ) + for ( var i = 0, l = o.length; i < l; ) + f.call( o[i], o[i], i++ ); + else + for ( var i in o ) + o.hasOwnProperty && + o.hasOwnProperty(i) && + f.call( o[i], i, o[i] ); +} + +/** + * MAP + * === + * var list = map( [1,2,3], function(item) { return item + 1 } ) + */ +function map( list, fun ) { + var fin = []; + each( list || [], function( k, v ) { fin.push(fun( k, v )) } ); + return fin; +} + +/** + * ENCODE + * ====== + * var encoded_path = encode('path'); + */ +function encode(path) { + return map( (encodeURIComponent(path)).split(''), function(chr) { + return "-_.!~*'()".indexOf(chr) < 0 ? chr : + "%"+chr.charCodeAt(0).toString(16).toUpperCase() + } ).join(''); +} + +/** + * Generate Subscription Channel List + * ================================== + * generate_channel_list(channels_object); + */ +function generate_channel_list(channels) { + var list = []; + each( channels, function( channel, status ) { + if (status.subscribed) list.push(channel); + } ); + return list.sort(); +} + +// PUBNUB READY TO CONNECT + function ready() { timeout( function() { + if (READY) return; + READY = 1; + each( READY_BUFFER, function(connect) { connect() } ); + }, SECOND ); } + +function PN_API(setup) { + var SUB_WINDOWING = +setup['windowing'] || DEF_WINDOWING + , SUB_TIMEOUT = (+setup['timeout'] || DEF_SUB_TIMEOUT) * SECOND + , KEEPALIVE = (+setup['keepalive'] || DEF_KEEPALIVE) * SECOND + , PUBLISH_KEY = setup['publish_key'] || '' + , SUBSCRIBE_KEY = setup['subscribe_key'] || '' + , SSL = setup['ssl'] ? 's' : '' + , ORIGIN = 'http'+SSL+'://'+(setup['origin']||'pubsub.pubnub.com') + , STD_ORIGIN = nextorigin(ORIGIN) + , SUB_ORIGIN = nextorigin(ORIGIN) + , CONNECT = function(){} + , PUB_QUEUE = [] + , SUB_CALLBACK = 0 + , SUB_CHANNEL = 0 + , SUB_RECEIVER = 0 + , SUB_RESTORE = 0 + , SUB_BUFF_WAIT = 0 + , TIMETOKEN = 0 + , CHANNELS = {} + , xdr = setup['xdr'] + , _is_online = setup['_is_online'] || function() { return 1; } + , jsonp_cb = setup['jsonp_cb'] || function(){ return 0; } + , db = setup['db'] || {'get': function(){}, 'set': function(){}} + , UUID = setup['uuid'] || ( db && db['get'](SUBSCRIBE_KEY+'uuid') || ''); + + + + function publish(next) { + if (next) PUB_QUEUE.sending = 0; + if (PUB_QUEUE.sending || !PUB_QUEUE.length) return; + PUB_QUEUE.sending = 1; + xdr(PUB_QUEUE.shift()); + } + + function each_channel(callback) { + each( generate_channel_list(CHANNELS), function(channel) { + var chan = CHANNELS[channel]; + if (!chan) return; + callback(chan); + } ); + } + + // Announce Leave Event + + + var SELF = { + + '_reset_offline' : function() { + SUB_RECEIVER && SUB_RECEIVER(1); + }, + + 'LEAVE' : function( channel, blocking ) { + var data = { 'uuid' : UUID } + , origin = nextorigin(ORIGIN) + , jsonp = jsonp_cb(); + + // Prevent Leaving a Presence Channel + if (channel.indexOf(PRESENCE_SUFFIX) > 0) return; + + if (jsonp != '0') data['callback'] = jsonp; + + xdr({ + blocking : blocking || SSL, + timeout : 2000, + callback : jsonp, + data : data, + url : [ + origin, 'v2', 'presence', 'sub_key', + SUBSCRIBE_KEY, 'channel', encode(channel), 'leave' + ] + }); + }, + /* + PUBNUB.history({ + channel : 'my_chat_channel', + limit : 100, + callback : function(history) { } + }); + */ + 'history' : function( args, callback ) { + var callback = args['callback'] || callback + , count = args['count'] || args['limit'] || 100 + , reverse = args['reverse'] || "false" + , err = args['error'] || function(){} + , channel = args['channel'] + , start = args['start'] + , end = args['end'] + , params = {} + , jsonp = jsonp_cb(); + + // Make sure we have a Channel + if (!channel) return error('Missing Channel'); + if (!callback) return error('Missing Callback'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + params['stringtoken'] = 'true'; + params['count'] = count; + params['reverse'] = reverse; + + if (jsonp) params['callback'] = jsonp; + if (start) params['start'] = start; + if (end) params['end'] = end; + + // Send Message + xdr({ + callback : jsonp, + data : params, + success : function(response) { callback(response) }, + fail : err, + url : [ + STD_ORIGIN, 'v2', 'history', 'sub-key', + SUBSCRIBE_KEY, 'channel', encode(channel) + ] + }); + }, + + /* + PUBNUB.replay({ + source : 'my_channel', + destination : 'new_channel' + }); + */ + 'replay' : function(args) { + var callback = callback || args['callback'] || function(){} + , source = args['source'] + , destination = args['destination'] + , stop = args['stop'] + , start = args['start'] + , end = args['end'] + , reverse = args['reverse'] + , limit = args['limit'] + , jsonp = jsonp_cb() + , data = {} + , url; + + // Check User Input + if (!source) return error('Missing Source Channel'); + if (!destination) return error('Missing Destination Channel'); + if (!PUBLISH_KEY) return error('Missing Publish Key'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + // Setup URL Params + if (jsonp != '0') data['callback'] = jsonp; + if (stop) data['stop'] = 'all'; + if (reverse) data['reverse'] = 'true'; + if (start) data['start'] = start; + if (end) data['end'] = end; + if (limit) data['count'] = limit; + + // Compose URL Parts + url = [ + STD_ORIGIN, 'v1', 'replay', + PUBLISH_KEY, SUBSCRIBE_KEY, + source, destination + ]; + + // Start (or Stop) Replay! + xdr({ + callback : jsonp, + success : function(response) { callback(response) }, + fail : function() { callback([ 0, 'Disconnected' ]) }, + url : url, + data : data + }); + }, + + /* + PUBNUB.time(function(time){ }); + */ + 'time' : function(callback) { + var jsonp = jsonp_cb(); + xdr({ + callback : jsonp, + timeout : SECOND*5, + url : [STD_ORIGIN, 'time', jsonp], + success : function(response) { callback(response[0]) }, + fail : function() { callback(0) } + }); + }, + + /* + PUBNUB.publish({ + channel : 'my_chat_channel', + message : 'hello!' + }); + */ + 'publish' : function( args, callback ) { + var callback = callback || args['callback'] || function(){} + , msg = args['message'] + , channel = args['channel'] + , jsonp = jsonp_cb() + , url; + + if (!msg) return error('Missing Message'); + if (!channel) return error('Missing Channel'); + if (!PUBLISH_KEY) return error('Missing Publish Key'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + // If trying to send Object + msg = JSON['stringify'](msg); + + // Create URL + url = [ + STD_ORIGIN, 'publish', + PUBLISH_KEY, SUBSCRIBE_KEY, + 0, encode(channel), + jsonp, encode(msg) + ]; + + // Queue Message Send + PUB_QUEUE.push({ + callback : jsonp, + timeout : SECOND*5, + url : url, + data : { 'uuid' : UUID }, + success : function(response){callback(response);publish(1)}, + fail : function(){callback([0,'Failed',msg]);publish(1)} + }); + + // Send Message + publish(); + }, + + /* + PUBNUB.unsubscribe({ channel : 'my_chat' }); + */ + 'unsubscribe' : function(args) { + var channel = args['channel']; + + TIMETOKEN = 0; + SUB_RESTORE = 1; + + // Prepare Channel(s) + channel = map( ( + channel.join ? channel.join(',') : ''+channel + ).split(','), function(channel) { + return channel + ',' + channel + PRESENCE_SUFFIX; + } ).join(','); + + // Iterate over Channels + each( channel.split(','), function(channel) { + if (READY) SELF['LEAVE']( channel, 0 ); + CHANNELS[channel] = 0; + } ); + + // ReOpen Connection if Any Channels Left + if (READY) CONNECT(); + }, + + /* + PUBNUB.subscribe({ + channel : 'my_chat' + callback : function(message) { } + }); + */ + 'subscribe' : function( args, callback ) { + var channel = args['channel'] + , callback = callback || args['callback'] + , callback = callback || args['message'] + , connect = args['connect'] || function(){} + , reconnect = args['reconnect'] || function(){} + , disconnect = args['disconnect'] || function(){} + , presence = args['presence'] || 0 + , noheresync = args['noheresync'] || 0 + , backfill = args['backfill'] || 0 + , sub_timeout = args['timeout'] || SUB_TIMEOUT + , windowing = args['windowing'] || SUB_WINDOWING + , restore = args['restore']; + + // Restore Enabled? + if (restore) SUB_RESTORE = 1; + + TIMETOKEN = 0; + + // Make sure we have a Channel + if (!channel) return error('Missing Channel'); + if (!callback) return error('Missing Callback'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + // Setup Channel(s) + each( (channel.join ? channel.join(',') : ''+channel).split(','), + function(channel) { + var settings = CHANNELS[channel] || {}; + + // Store Channel State + CHANNELS[SUB_CHANNEL = channel] = { + name : channel, + connected : settings.connected, + disconnected : settings.disconnected, + subscribed : 1, + callback : SUB_CALLBACK = callback, + connect : connect, + disconnect : disconnect, + reconnect : reconnect + }; + + // Presence Enabled? + if (!presence) return; + + // Subscribe Presence Channel + SELF['subscribe']({ + 'channel' : channel + PRESENCE_SUFFIX, + 'callback' : presence + }); + + // Presence Subscribed? + if (settings.subscribed) return; + + // See Who's Here Now? + if (noheresync) return; + SELF['here_now']({ + 'channel' : channel, + 'callback' : function(here) { + each( 'uuids' in here ? here['uuids'] : [], + function(uid) { presence( { + 'action' : 'join', + 'uuid' : uid, + 'timestamp' : rnow(), + 'occupancy' : here['occupancy'] || 1 + }, here, channel ); } ); + } + }); + } ); + + // Test Network Connection + function _test_connection(success) { + if (success) { + // Begin Next Socket Connection + timeout( _connect, SECOND ); + } + else { + // New Origin on Failed Connection + STD_ORIGIN = nextorigin( ORIGIN, 1 ); + SUB_ORIGIN = nextorigin( ORIGIN, 1 ); + + // Re-test Connection + timeout( function() { + SELF['time'](_test_connection); + }, SECOND ); + } + + // Disconnect & Reconnect + each_channel(function(channel){ + // Reconnect + if (success && channel.disconnected) { + channel.disconnected = 0; + return channel.reconnect(channel.name); + } + + // Disconnect + if (!success && !channel.disconnected) { + channel.disconnected = 1; + channel.disconnect(channel.name); + } + }); + } + + // Evented Subscribe + function _connect() { + var jsonp = jsonp_cb() + , channels = generate_channel_list(CHANNELS).join(','); + + // Stop Connection + if (!channels) return; + + // Connect to PubNub Subscribe Servers + SUB_RECEIVER = xdr({ + timeout : sub_timeout, + callback : jsonp, + fail : function() { SELF['time'](_test_connection) }, + data : { 'uuid' : UUID }, + url : [ + SUB_ORIGIN, 'subscribe', + SUBSCRIBE_KEY, encode(channels), + jsonp, TIMETOKEN + ], + success : function(messages) { + if (!messages) return timeout( _connect, windowing ); + + // Connect + each_channel(function(channel){ + if (channel.connected) return; + channel.connected = 1; + channel.connect(channel.name); + }); + + // Restore Previous Connection Point if Needed + TIMETOKEN = !TIMETOKEN && + SUB_RESTORE && + db['get'](SUBSCRIBE_KEY) || messages[1]; + + + if (backfill) { + Timetoken = 10000; + backfill = 0; + } + + // Update Saved Timetoken + db['set']( SUBSCRIBE_KEY, messages[1] ); + + // Route Channel <---> Callback for Message + var next_callback = (function() { + var channels = (messages.length>2?messages[2]:'') + , list = channels.split(','); + + return function() { + var channel = list.shift()||''; + return [ + (CHANNELS[channel]||{}) + .callback||SUB_CALLBACK, + (channel||SUB_CHANNEL) + .split(PRESENCE_SUFFIX)[0] + ]; + }; + })(); + + each( messages[0], function(msg) { + var next = next_callback(); + if (!CHANNELS[next[1]].subscribed) return; + next[0]( msg, messages, next[1] ); + } ); + + timeout( _connect, windowing ); + } + }); + } + + CONNECT = function() { + // Close Previous Subscribe Connection + SELF['_reset_offline'](); + + // Begin Recursive Subscribe + clearTimeout(SUB_BUFF_WAIT); + SUB_BUFF_WAIT = timeout( _connect, 100 ); + }; + + // Reduce Status Flicker + if (!READY) return READY_BUFFER.push(CONNECT); + + // Connect Now + CONNECT(); + }, + + 'here_now' : function( args, callback ) { + var callback = args['callback'] || callback + , err = args['error'] || function(){} + , channel = args['channel'] + , jsonp = jsonp_cb() + , data = null; + + // Make sure we have a Channel + if (!channel) return error('Missing Channel'); + if (!callback) return error('Missing Callback'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + if (jsonp != '0') { + data = {}; + data['callback'] = jsonp; + } + + xdr({ + callback : jsonp, + data : data, + success : function(response) { callback(response) }, + fail : err, + url : [ + STD_ORIGIN, 'v2', 'presence', + 'sub_key', SUBSCRIBE_KEY, + 'channel', encode(channel) + ] + }); + }, + + // Expose PUBNUB Functions + 'xdr' : xdr, + 'ready' : ready, + 'db' : db, + 'uuid' : uuid, + 'each' : each, + 'map' : map, + 'grep' : grep, + 'supplant' : supplant, + 'now' : rnow, + 'unique' : unique, + 'updater' : updater, + 'poll_online' : function() { + _is_online() || SELF['_reset_offline'](); + timeout( SELF['poll_online'], SECOND ); + }, + 'poll_online2' : function() { + SELF['time'](function(success){ + success || SELF['_reset_offline'](); + timeout( SELF['poll_online2'], KEEPALIVE ); + }) + } + }; + if (!UUID) UUID = SELF['uuid'](); + db['set']( SUBSCRIBE_KEY + 'uuid', UUID ); + + timeout( SELF['poll_online'], SECOND ); + timeout( SELF['poll_online2'], KEEPALIVE ); + + return SELF; +} +/* --------------------------------------------------------------------------- +--------------------------------------------------------------------------- */ + +/* --------------------------------------------------------------------------- +PubNub Real-time Cloud-Hosted Push API and Push Notification Client Frameworks +Copyright (c) 2011 PubNub Inc. +http://www.pubnub.com/ +http://www.pubnub.com/terms +--------------------------------------------------------------------------- */ + +/* --------------------------------------------------------------------------- +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +--------------------------------------------------------------------------- */ +(function(){ + +/** + * UTIL LOCALS + */ +var NOW = 1 +, URLBIT = '/' +, PARAMSBIT = '&' +, XHRTME = 310000; + +/** + * UTILITIES + */ +//function unique() { return'x'+ ++NOW+''+(+new Date) } +//function rnow() { return+new Date } + +/** + * LOCAL STORAGE + */ +var db = (function(){ + var ls = typeof localStorage != 'undefined' && localStorage; + return { + get : function(key) { + try { + if (ls) return ls.getItem(key); + if (document.cookie.indexOf(key) == -1) return null; + return ((document.cookie||'').match( + RegExp(key+'=([^;]+)') + )||[])[1] || null; + } catch(e) { return } + }, + set : function( key, value ) { + try { + if (ls) return ls.setItem( key, value ) && 0; + document.cookie = key + '=' + value + + '; expires=Thu, 1 Aug 2030 20:00:00 UTC; path=/'; + } catch(e) { return } + } + }; +})(); + + +/** + * CORS XHR Request + * ================ + * xdr({ + * url : ['http://www.blah.com/url'], + * success : function(response) {}, + * fail : function() {} + * }); + */ +function xdr( setup ) { + var xhr + , finished = function() { + if (loaded) return; + loaded = 1; + + clearTimeout(timer); + + try { response = JSON['parse'](xhr.responseText); } + catch (r) { return done(1); } + + success(response); + } + , complete = 0 + , loaded = 0 + , timer = timeout( function(){done(1)}, XHRTME ) + , fail = setup.fail || function(){} + , success = setup.success || function(){} + , done = function(failed) { + if (complete) return; + complete = 1; + + clearTimeout(timer); + + if (xhr) { + xhr.onerror = xhr.onload = null; + xhr.abort && xhr.abort(); + xhr = null; + } + + failed && fail(); + }; + + // Send + try { + xhr = typeof XDomainRequest !== 'undefined' && + new XDomainRequest() || + new XMLHttpRequest(); + + xhr.onerror = xhr.onabort = function(){ done(1) }; + xhr.onload = xhr.onloadend = finished; + xhr.timeout = XHRTME; + url = setup.url.join(URLBIT); + if (setup.data) { + var params = []; + url += "?"; + for (key in setup.data) { + params.push(key+"="+setup.data[key]); + } + url += params.join(PARAMSBIT); + } + xhr.open( 'GET', url, true ); + xhr.send(); + } + catch(eee) { + done(0); + return xdr(setup); + } + + // Return 'done' + return done; +} + +/** + * BIND + * ==== + * bind( 'keydown', search('a')[0], function(element) { + * ... + * } ); + */ +function bind( type, el, fun ) { + each( type.split(','), function(etype) { + var rapfun = function(e) { + if (!e) e = window.event; + if (!fun(e)) { + e.cancelBubble = true; + e.returnValue = false; + e.preventDefault && e.preventDefault(); + e.stopPropagation && e.stopPropagation(); + } + }; + + if ( el.addEventListener ) el.addEventListener( etype, rapfun, false ); + else if ( el.attachEvent ) el.attachEvent( 'on' + etype, rapfun ); + else el[ 'on' + etype ] = rapfun; + } ); +} + +/** + * UNBIND + * ====== + * unbind( 'keydown', search('a')[0] ); + */ +function unbind( type, el, fun ) { + if ( el.removeEventListener ) el.removeEventListener( type, false ); + else if ( el.detachEvent ) el.detachEvent( 'on' + type, false ); + else el[ 'on' + type ] = null; +} + +/** + * LOG + * === + * var list = grep( [1,2,3], function(item) { return item % 2 } ) + */ +var log = function(){}; + +/** + * EVENTS + * ====== + * PUBNUB.events.bind( 'you-stepped-on-flower', function(message) { + * // Do Stuff with message + * } ); + * + * PUBNUB.events.fire( 'you-stepped-on-flower', "message-data" ); + * PUBNUB.events.fire( 'you-stepped-on-flower', {message:"data"} ); + * PUBNUB.events.fire( 'you-stepped-on-flower', [1,2,3] ); + * + */ +var events = { + 'list' : {}, + 'unbind' : function( name ) { events.list[name] = [] }, + 'bind' : function( name, fun ) { + (events.list[name] = events.list[name] || []).push(fun); + }, + 'fire' : function( name, data ) { + each( + events.list[name] || [], + function(fun) { fun(data) } + ); + } +}; + +/** + * ATTR + * ==== + * var attribute = attr( node, 'attribute' ); + */ +function attr( node, attribute, value ) { + if (value) node.setAttribute( attribute, value ); + else return node && node.getAttribute && node.getAttribute(attribute); +} + +/** + * $ + * = + * var div = $('divid'); + */ +function $(id) { return document.getElementById(id) } + + +/** + * SEARCH + * ====== + * var elements = search('a div span'); + */ +function search( elements, start ) { + var list = []; + each( elements.split(/\s+/), function(el) { + each( (start || document).getElementsByTagName(el), function(node) { + list.push(node); + } ); + } ); + return list; +} + + + +/** + * BIND + * ==== + * bind( 'keydown', search('a')[0], function(element) { + * ... + * } ); + */ +function bind( type, el, fun ) { + each( type.split(','), function(etype) { + var rapfun = function(e) { + if (!e) e = window.event; + if (!fun(e)) { + e.cancelBubble = true; + e.returnValue = false; + e.preventDefault && e.preventDefault(); + e.stopPropagation && e.stopPropagation(); + } + }; + + if ( el.addEventListener ) el.addEventListener( etype, rapfun, false ); + else if ( el.attachEvent ) el.attachEvent( 'on' + etype, rapfun ); + else el[ 'on' + etype ] = rapfun; + } ); +} + +/* =-====================================================================-= */ +/* =-====================================================================-= */ +/* =-========================= PUBNUB ===========================-= */ +/* =-====================================================================-= */ +/* =-====================================================================-= */ + +function PN(setup) { + + + setup['db'] = db; + setup['xdr'] = xdr; + var SELF = PN_API(setup); + + SELF['init'] = PN; + SELF['$'] = $; + SELF['attr'] = attr; + SELF['search'] = search; + SELF['bind'] = bind; + + + // Return without Testing + if (setup['notest']) return SELF; + + // Add Leave Functions + bind( 'beforeunload', window, function() { + each_channel(function(ch){ SELF['LEAVE']( ch.name, 1 ) }); + return true; + } ); + + bind( 'offline', window, SELF['_reset_offline'] ); + bind( 'offline', document, SELF['_reset_offline'] ); + + SELF['ready'](); + return SELF; +} + +typeof module !== 'undefined' && (module.exports = PN) || +typeof exports !== 'undefined' && (exports.PN = PN) || (PUBNUB = PN); + +})(); +var NOW = 1 +, READY = false +, READY_BUFFER = [] +, PRESENCE_SUFFIX = '-pnpres' +, DEF_WINDOWING = 10 // MILLISECONDS. +, DEF_TIMEOUT = 10000 // MILLISECONDS. +, DEF_SUB_TIMEOUT = 310 // SECONDS. +, DEF_KEEPALIVE = 60 // SECONDS. +, SECOND = 1000 // A THOUSAND MILLISECONDS. +, REPL = /{([\w\-]+)}/g; + +/** + * UTILITIES + */ +function unique() { return'x'+ ++NOW+''+(+new Date) } +function rnow() { return+new Date } + +/** + * NEXTORIGIN + * ========== + * var next_origin = nextorigin(); + */ +var nextorigin = (function() { + var max = 20 + , ori = Math.floor(Math.random() * max); + return function( origin, failover ) { + return origin.indexOf('pubsub.') > 0 + && origin.replace( + 'pubsub', 'ps' + ( + failover ? uuid().split('-')[0] : + (++ori < max? ori : ori=1) + ) ) || origin; + } +})(); + +/** + * UPDATER + * ======= + * var timestamp = unique(); + */ +function updater( fun, rate ) { + var timeout + , last = 0 + , runnit = function() { + if (last + rate > rnow()) { + clearTimeout(timeout); + timeout = setTimeout( runnit, rate ); + } + else { + last = rnow(); + fun(); + } + }; + + return runnit; +} + +/** + * GREP + * ==== + * var list = grep( [1,2,3], function(item) { return item % 2 } ) + */ +function grep( list, fun ) { + var fin = []; + each( list || [], function(l) { fun(l) && fin.push(l) } ); + return fin +} + +/** + * SUPPLANT + * ======== + * var text = supplant( 'Hello {name}!', { name : 'John' } ) + */ +function supplant( str, values ) { + return str.replace( REPL, function( _, match ) { + return values[match] || _ + } ); +} + +/** + * timeout + * ======= + * timeout( function(){}, 100 ); + */ +function timeout( fun, wait ) { + return setTimeout( fun, wait ); +} + +/** + * uuid + * ==== + * var my_uuid = uuid(); + */ +function uuid(callback) { + var u = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, + function(c) { + var r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8); + return v.toString(16); + }); + if (callback) callback(u); + return u; +} + +/** + * EACH + * ==== + * each( [1,2,3], function(item) { } ) + */ +function each( o, f ) { + if ( !o || !f ) return; + + if ( typeof o[0] != 'undefined' ) + for ( var i = 0, l = o.length; i < l; ) + f.call( o[i], o[i], i++ ); + else + for ( var i in o ) + o.hasOwnProperty && + o.hasOwnProperty(i) && + f.call( o[i], i, o[i] ); +} + +/** + * MAP + * === + * var list = map( [1,2,3], function(item) { return item + 1 } ) + */ +function map( list, fun ) { + var fin = []; + each( list || [], function( k, v ) { fin.push(fun( k, v )) } ); + return fin; +} + +/** + * ENCODE + * ====== + * var encoded_path = encode('path'); + */ +function encode(path) { + return map( (encodeURIComponent(path)).split(''), function(chr) { + return "-_.!~*'()".indexOf(chr) < 0 ? chr : + "%"+chr.charCodeAt(0).toString(16).toUpperCase() + } ).join(''); +} + +/** + * Generate Subscription Channel List + * ================================== + * generate_channel_list(channels_object); + */ +function generate_channel_list(channels) { + var list = []; + each( channels, function( channel, status ) { + if (status.subscribed) list.push(channel); + } ); + return list.sort(); +} + +// PUBNUB READY TO CONNECT + function ready() { timeout( function() { + if (READY) return; + READY = 1; + each( READY_BUFFER, function(connect) { connect() } ); + }, SECOND ); } + +function PN_API(setup) { + var SUB_WINDOWING = +setup['windowing'] || DEF_WINDOWING + , SUB_TIMEOUT = (+setup['timeout'] || DEF_SUB_TIMEOUT) * SECOND + , KEEPALIVE = (+setup['keepalive'] || DEF_KEEPALIVE) * SECOND + , PUBLISH_KEY = setup['publish_key'] || '' + , SUBSCRIBE_KEY = setup['subscribe_key'] || '' + , SSL = setup['ssl'] ? 's' : '' + , ORIGIN = 'http'+SSL+'://'+(setup['origin']||'pubsub.pubnub.com') + , STD_ORIGIN = nextorigin(ORIGIN) + , SUB_ORIGIN = nextorigin(ORIGIN) + , CONNECT = function(){} + , PUB_QUEUE = [] + , SUB_CALLBACK = 0 + , SUB_CHANNEL = 0 + , SUB_RECEIVER = 0 + , SUB_RESTORE = 0 + , SUB_BUFF_WAIT = 0 + , TIMETOKEN = 0 + , CHANNELS = {} + , xdr = setup['xdr'] + , _is_online = setup['_is_online'] || function() { return 1; } + , jsonp_cb = setup['jsonp_cb'] || function(){ return 0; } + , db = setup['db'] || {'get': function(){}, 'set': function(){}} + , UUID = setup['uuid'] || ( db && db['get'](SUBSCRIBE_KEY+'uuid') || ''); + + + + function publish(next) { + if (next) PUB_QUEUE.sending = 0; + if (PUB_QUEUE.sending || !PUB_QUEUE.length) return; + PUB_QUEUE.sending = 1; + xdr(PUB_QUEUE.shift()); + } + + function each_channel(callback) { + each( generate_channel_list(CHANNELS), function(channel) { + var chan = CHANNELS[channel]; + if (!chan) return; + callback(chan); + } ); + } + + // Announce Leave Event + + + var SELF = { + + '_reset_offline' : function() { + SUB_RECEIVER && SUB_RECEIVER(1); + }, + + 'LEAVE' : function( channel, blocking ) { + var data = { 'uuid' : UUID } + , origin = nextorigin(ORIGIN) + , jsonp = jsonp_cb(); + + // Prevent Leaving a Presence Channel + if (channel.indexOf(PRESENCE_SUFFIX) > 0) return; + + if (jsonp != '0') data['callback'] = jsonp; + + xdr({ + blocking : blocking || SSL, + timeout : 2000, + callback : jsonp, + data : data, + url : [ + origin, 'v2', 'presence', 'sub_key', + SUBSCRIBE_KEY, 'channel', encode(channel), 'leave' + ] + }); + }, + /* + PUBNUB.history({ + channel : 'my_chat_channel', + limit : 100, + callback : function(history) { } + }); + */ + 'history' : function( args, callback ) { + var callback = args['callback'] || callback + , count = args['count'] || args['limit'] || 100 + , reverse = args['reverse'] || "false" + , err = args['error'] || function(){} + , channel = args['channel'] + , start = args['start'] + , end = args['end'] + , params = {} + , jsonp = jsonp_cb(); + + // Make sure we have a Channel + if (!channel) return error('Missing Channel'); + if (!callback) return error('Missing Callback'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + params['stringtoken'] = 'true'; + params['count'] = count; + params['reverse'] = reverse; + + if (jsonp) params['callback'] = jsonp; + if (start) params['start'] = start; + if (end) params['end'] = end; + + // Send Message + xdr({ + callback : jsonp, + data : params, + success : function(response) { callback(response) }, + fail : err, + url : [ + STD_ORIGIN, 'v2', 'history', 'sub-key', + SUBSCRIBE_KEY, 'channel', encode(channel) + ] + }); + }, + + /* + PUBNUB.replay({ + source : 'my_channel', + destination : 'new_channel' + }); + */ + 'replay' : function(args) { + var callback = callback || args['callback'] || function(){} + , source = args['source'] + , destination = args['destination'] + , stop = args['stop'] + , start = args['start'] + , end = args['end'] + , reverse = args['reverse'] + , limit = args['limit'] + , jsonp = jsonp_cb() + , data = {} + , url; + + // Check User Input + if (!source) return error('Missing Source Channel'); + if (!destination) return error('Missing Destination Channel'); + if (!PUBLISH_KEY) return error('Missing Publish Key'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + // Setup URL Params + if (jsonp != '0') data['callback'] = jsonp; + if (stop) data['stop'] = 'all'; + if (reverse) data['reverse'] = 'true'; + if (start) data['start'] = start; + if (end) data['end'] = end; + if (limit) data['count'] = limit; + + // Compose URL Parts + url = [ + STD_ORIGIN, 'v1', 'replay', + PUBLISH_KEY, SUBSCRIBE_KEY, + source, destination + ]; + + // Start (or Stop) Replay! + xdr({ + callback : jsonp, + success : function(response) { callback(response) }, + fail : function() { callback([ 0, 'Disconnected' ]) }, + url : url, + data : data + }); + }, + + /* + PUBNUB.time(function(time){ }); + */ + 'time' : function(callback) { + var jsonp = jsonp_cb(); + xdr({ + callback : jsonp, + timeout : SECOND*5, + url : [STD_ORIGIN, 'time', jsonp], + success : function(response) { callback(response[0]) }, + fail : function() { callback(0) } + }); + }, + + /* + PUBNUB.publish({ + channel : 'my_chat_channel', + message : 'hello!' + }); + */ + 'publish' : function( args, callback ) { + var callback = callback || args['callback'] || function(){} + , msg = args['message'] + , channel = args['channel'] + , jsonp = jsonp_cb() + , url; + + if (!msg) return error('Missing Message'); + if (!channel) return error('Missing Channel'); + if (!PUBLISH_KEY) return error('Missing Publish Key'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + // If trying to send Object + msg = JSON['stringify'](msg); + + // Create URL + url = [ + STD_ORIGIN, 'publish', + PUBLISH_KEY, SUBSCRIBE_KEY, + 0, encode(channel), + jsonp, encode(msg) + ]; + + // Queue Message Send + PUB_QUEUE.push({ + callback : jsonp, + timeout : SECOND*5, + url : url, + data : { 'uuid' : UUID }, + success : function(response){callback(response);publish(1)}, + fail : function(){callback([0,'Failed',msg]);publish(1)} + }); + + // Send Message + publish(); + }, + + /* + PUBNUB.unsubscribe({ channel : 'my_chat' }); + */ + 'unsubscribe' : function(args) { + var channel = args['channel']; + + TIMETOKEN = 0; + SUB_RESTORE = 1; + + // Prepare Channel(s) + channel = map( ( + channel.join ? channel.join(',') : ''+channel + ).split(','), function(channel) { + return channel + ',' + channel + PRESENCE_SUFFIX; + } ).join(','); + + // Iterate over Channels + each( channel.split(','), function(channel) { + if (READY) SELF['LEAVE']( channel, 0 ); + CHANNELS[channel] = 0; + } ); + + // ReOpen Connection if Any Channels Left + if (READY) CONNECT(); + }, + + /* + PUBNUB.subscribe({ + channel : 'my_chat' + callback : function(message) { } + }); + */ + 'subscribe' : function( args, callback ) { + var channel = args['channel'] + , callback = callback || args['callback'] + , callback = callback || args['message'] + , connect = args['connect'] || function(){} + , reconnect = args['reconnect'] || function(){} + , disconnect = args['disconnect'] || function(){} + , presence = args['presence'] || 0 + , noheresync = args['noheresync'] || 0 + , backfill = args['backfill'] || 0 + , sub_timeout = args['timeout'] || SUB_TIMEOUT + , windowing = args['windowing'] || SUB_WINDOWING + , restore = args['restore']; + + // Restore Enabled? + if (restore) SUB_RESTORE = 1; + + TIMETOKEN = 0; + + // Make sure we have a Channel + if (!channel) return error('Missing Channel'); + if (!callback) return error('Missing Callback'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + // Setup Channel(s) + each( (channel.join ? channel.join(',') : ''+channel).split(','), + function(channel) { + var settings = CHANNELS[channel] || {}; + + // Store Channel State + CHANNELS[SUB_CHANNEL = channel] = { + name : channel, + connected : settings.connected, + disconnected : settings.disconnected, + subscribed : 1, + callback : SUB_CALLBACK = callback, + connect : connect, + disconnect : disconnect, + reconnect : reconnect + }; + + // Presence Enabled? + if (!presence) return; + + // Subscribe Presence Channel + SELF['subscribe']({ + 'channel' : channel + PRESENCE_SUFFIX, + 'callback' : presence + }); + + // Presence Subscribed? + if (settings.subscribed) return; + + // See Who's Here Now? + if (noheresync) return; + SELF['here_now']({ + 'channel' : channel, + 'callback' : function(here) { + each( 'uuids' in here ? here['uuids'] : [], + function(uid) { presence( { + 'action' : 'join', + 'uuid' : uid, + 'timestamp' : rnow(), + 'occupancy' : here['occupancy'] || 1 + }, here, channel ); } ); + } + }); + } ); + + // Test Network Connection + function _test_connection(success) { + if (success) { + // Begin Next Socket Connection + timeout( _connect, SECOND ); + } + else { + // New Origin on Failed Connection + STD_ORIGIN = nextorigin( ORIGIN, 1 ); + SUB_ORIGIN = nextorigin( ORIGIN, 1 ); + + // Re-test Connection + timeout( function() { + SELF['time'](_test_connection); + }, SECOND ); + } + + // Disconnect & Reconnect + each_channel(function(channel){ + // Reconnect + if (success && channel.disconnected) { + channel.disconnected = 0; + return channel.reconnect(channel.name); + } + + // Disconnect + if (!success && !channel.disconnected) { + channel.disconnected = 1; + channel.disconnect(channel.name); + } + }); + } + + // Evented Subscribe + function _connect() { + var jsonp = jsonp_cb() + , channels = generate_channel_list(CHANNELS).join(','); + + // Stop Connection + if (!channels) return; + + // Connect to PubNub Subscribe Servers + SUB_RECEIVER = xdr({ + timeout : sub_timeout, + callback : jsonp, + fail : function() { SELF['time'](_test_connection) }, + data : { 'uuid' : UUID }, + url : [ + SUB_ORIGIN, 'subscribe', + SUBSCRIBE_KEY, encode(channels), + jsonp, TIMETOKEN + ], + success : function(messages) { + if (!messages) return timeout( _connect, windowing ); + + // Connect + each_channel(function(channel){ + if (channel.connected) return; + channel.connected = 1; + channel.connect(channel.name); + }); + + // Restore Previous Connection Point if Needed + TIMETOKEN = !TIMETOKEN && + SUB_RESTORE && + db['get'](SUBSCRIBE_KEY) || messages[1]; + + + if (backfill) { + Timetoken = 10000; + backfill = 0; + } + + // Update Saved Timetoken + db['set']( SUBSCRIBE_KEY, messages[1] ); + + // Route Channel <---> Callback for Message + var next_callback = (function() { + var channels = (messages.length>2?messages[2]:'') + , list = channels.split(','); + + return function() { + var channel = list.shift()||''; + return [ + (CHANNELS[channel]||{}) + .callback||SUB_CALLBACK, + (channel||SUB_CHANNEL) + .split(PRESENCE_SUFFIX)[0] + ]; + }; + })(); + + each( messages[0], function(msg) { + var next = next_callback(); + if (!CHANNELS[next[1]].subscribed) return; + next[0]( msg, messages, next[1] ); + } ); + + timeout( _connect, windowing ); + } + }); + } + + CONNECT = function() { + // Close Previous Subscribe Connection + SELF['_reset_offline'](); + + // Begin Recursive Subscribe + clearTimeout(SUB_BUFF_WAIT); + SUB_BUFF_WAIT = timeout( _connect, 100 ); + }; + + // Reduce Status Flicker + if (!READY) return READY_BUFFER.push(CONNECT); + + // Connect Now + CONNECT(); + }, + + 'here_now' : function( args, callback ) { + var callback = args['callback'] || callback + , err = args['error'] || function(){} + , channel = args['channel'] + , jsonp = jsonp_cb() + , data = null; + + // Make sure we have a Channel + if (!channel) return error('Missing Channel'); + if (!callback) return error('Missing Callback'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + if (jsonp != '0') { + data = {}; + data['callback'] = jsonp; + } + + xdr({ + callback : jsonp, + data : data, + success : function(response) { callback(response) }, + fail : err, + url : [ + STD_ORIGIN, 'v2', 'presence', + 'sub_key', SUBSCRIBE_KEY, + 'channel', encode(channel) + ] + }); + }, + + // Expose PUBNUB Functions + 'xdr' : xdr, + 'ready' : ready, + 'db' : db, + 'uuid' : uuid, + 'each' : each, + 'map' : map, + 'grep' : grep, + 'supplant' : supplant, + 'now' : rnow, + 'unique' : unique, + 'updater' : updater, + 'poll_online' : function() { + _is_online() || SELF['_reset_offline'](); + timeout( SELF['poll_online'], SECOND ); + }, + 'poll_online2' : function() { + SELF['time'](function(success){ + success || SELF['_reset_offline'](); + timeout( SELF['poll_online2'], KEEPALIVE ); + }) + } + }; + if (!UUID) UUID = SELF['uuid'](); + db['set']( SUBSCRIBE_KEY + 'uuid', UUID ); + + timeout( SELF['poll_online'], SECOND ); + timeout( SELF['poll_online2'], KEEPALIVE ); + + return SELF; +} +/* --------------------------------------------------------------------------- +--------------------------------------------------------------------------- */ + +/* --------------------------------------------------------------------------- +PubNub Real-time Cloud-Hosted Push API and Push Notification Client Frameworks +Copyright (c) 2011 PubNub Inc. +http://www.pubnub.com/ +http://www.pubnub.com/terms +--------------------------------------------------------------------------- */ + +/* --------------------------------------------------------------------------- +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +--------------------------------------------------------------------------- */ +(function(){ + +/** + * UTIL LOCALS + */ +var NOW = 1 +, URLBIT = '/' +, PARAMSBIT = '&' +, XHRTME = 310000; + +/** + * UTILITIES + */ +//function unique() { return'x'+ ++NOW+''+(+new Date) } +//function rnow() { return+new Date } + +/** + * LOCAL STORAGE + */ +var db = (function(){ + var ls = typeof localStorage != 'undefined' && localStorage; + return { + get : function(key) { + try { + if (ls) return ls.getItem(key); + if (document.cookie.indexOf(key) == -1) return null; + return ((document.cookie||'').match( + RegExp(key+'=([^;]+)') + )||[])[1] || null; + } catch(e) { return } + }, + set : function( key, value ) { + try { + if (ls) return ls.setItem( key, value ) && 0; + document.cookie = key + '=' + value + + '; expires=Thu, 1 Aug 2030 20:00:00 UTC; path=/'; + } catch(e) { return } + } + }; +})(); + + +/** + * CORS XHR Request + * ================ + * xdr({ + * url : ['http://www.blah.com/url'], + * success : function(response) {}, + * fail : function() {} + * }); + */ +function xdr( setup ) { + var xhr + , finished = function() { + if (loaded) return; + loaded = 1; + + clearTimeout(timer); + + try { response = JSON['parse'](xhr.responseText); } + catch (r) { return done(1); } + + success(response); + } + , complete = 0 + , loaded = 0 + , timer = timeout( function(){done(1)}, XHRTME ) + , fail = setup.fail || function(){} + , success = setup.success || function(){} + , done = function(failed) { + if (complete) return; + complete = 1; + + clearTimeout(timer); + + if (xhr) { + xhr.onerror = xhr.onload = null; + xhr.abort && xhr.abort(); + xhr = null; + } + + failed && fail(); + }; + + // Send + try { + xhr = typeof XDomainRequest !== 'undefined' && + new XDomainRequest() || + new XMLHttpRequest(); + + xhr.onerror = xhr.onabort = function(){ done(1) }; + xhr.onload = xhr.onloadend = finished; + xhr.timeout = XHRTME; + url = setup.url.join(URLBIT); + if (setup.data) { + var params = []; + url += "?"; + for (key in setup.data) { + params.push(key+"="+setup.data[key]); + } + url += params.join(PARAMSBIT); + } + xhr.open( 'GET', url, true ); + xhr.send(); + } + catch(eee) { + done(0); + return xdr(setup); + } + + // Return 'done' + return done; +} + +/** + * BIND + * ==== + * bind( 'keydown', search('a')[0], function(element) { + * ... + * } ); + */ +function bind( type, el, fun ) { + each( type.split(','), function(etype) { + var rapfun = function(e) { + if (!e) e = window.event; + if (!fun(e)) { + e.cancelBubble = true; + e.returnValue = false; + e.preventDefault && e.preventDefault(); + e.stopPropagation && e.stopPropagation(); + } + }; + + if ( el.addEventListener ) el.addEventListener( etype, rapfun, false ); + else if ( el.attachEvent ) el.attachEvent( 'on' + etype, rapfun ); + else el[ 'on' + etype ] = rapfun; + } ); +} + +/** + * UNBIND + * ====== + * unbind( 'keydown', search('a')[0] ); + */ +function unbind( type, el, fun ) { + if ( el.removeEventListener ) el.removeEventListener( type, false ); + else if ( el.detachEvent ) el.detachEvent( 'on' + type, false ); + else el[ 'on' + type ] = null; +} + +/** + * LOG + * === + * var list = grep( [1,2,3], function(item) { return item % 2 } ) + */ +var log = function(){}; + +/** + * EVENTS + * ====== + * PUBNUB.events.bind( 'you-stepped-on-flower', function(message) { + * // Do Stuff with message + * } ); + * + * PUBNUB.events.fire( 'you-stepped-on-flower', "message-data" ); + * PUBNUB.events.fire( 'you-stepped-on-flower', {message:"data"} ); + * PUBNUB.events.fire( 'you-stepped-on-flower', [1,2,3] ); + * + */ +var events = { + 'list' : {}, + 'unbind' : function( name ) { events.list[name] = [] }, + 'bind' : function( name, fun ) { + (events.list[name] = events.list[name] || []).push(fun); + }, + 'fire' : function( name, data ) { + each( + events.list[name] || [], + function(fun) { fun(data) } + ); + } +}; + +/** + * ATTR + * ==== + * var attribute = attr( node, 'attribute' ); + */ +function attr( node, attribute, value ) { + if (value) node.setAttribute( attribute, value ); + else return node && node.getAttribute && node.getAttribute(attribute); +} + +/** + * $ + * = + * var div = $('divid'); + */ +function $(id) { return document.getElementById(id) } + + +/** + * SEARCH + * ====== + * var elements = search('a div span'); + */ +function search( elements, start ) { + var list = []; + each( elements.split(/\s+/), function(el) { + each( (start || document).getElementsByTagName(el), function(node) { + list.push(node); + } ); + } ); + return list; +} + + + +/** + * BIND + * ==== + * bind( 'keydown', search('a')[0], function(element) { + * ... + * } ); + */ +function bind( type, el, fun ) { + each( type.split(','), function(etype) { + var rapfun = function(e) { + if (!e) e = window.event; + if (!fun(e)) { + e.cancelBubble = true; + e.returnValue = false; + e.preventDefault && e.preventDefault(); + e.stopPropagation && e.stopPropagation(); + } + }; + + if ( el.addEventListener ) el.addEventListener( etype, rapfun, false ); + else if ( el.attachEvent ) el.attachEvent( 'on' + etype, rapfun ); + else el[ 'on' + etype ] = rapfun; + } ); +} + +/** + * CSS + * === + * var obj = create('div'); + */ +function css( element, styles ) { + for (var style in styles) if (styles.hasOwnProperty(style)) + try {element.style[style] = styles[style] + ( + '|width|height|top|left|'.indexOf(style) > 0 && + typeof styles[style] == 'number' + ? 'px' : '' + )}catch(e){} +} + +/** + * CREATE + * ====== + * var obj = create('div'); + */ +function create(element) { return document.createElement(element) } + +/* =-====================================================================-= */ +/* =-====================================================================-= */ +/* =-========================= PUBNUB ===========================-= */ +/* =-====================================================================-= */ +/* =-====================================================================-= */ + +function PN(setup) { + + + setup['db'] = db; + setup['xdr'] = xdr; + var SELF = PN_API(setup); + + SELF['init'] = PN; + SELF['$'] = $; + SELF['attr'] = attr; + SELF['search'] = search; + SELF['bind'] = bind; + SELF['css'] = css; + SELF['create'] = create; + + // Return without Testing + if (setup['notest']) return SELF; + + // Add Leave Functions + bind( 'beforeunload', window, function() { + each_channel(function(ch){ SELF['LEAVE']( ch.name, 1 ) }); + return true; + } ); + + bind( 'offline', window, SELF['_reset_offline'] ); + bind( 'offline', document, SELF['_reset_offline'] ); + + SELF['ready'](); + return SELF; +} + +typeof module !== 'undefined' && (module.exports = PN) || +typeof exports !== 'undefined' && (exports.PN = PN) || (PUBNUB = PN); + +})(); diff --git a/modern/pubnub.min.js b/modern/pubnub.min.js index 277143069..879f56246 100644 --- a/modern/pubnub.min.js +++ b/modern/pubnub.min.js @@ -1,148 +1,230 @@ // 3.4.3 (function(){ -var k=!0,l=null,n=!1;function q(){return function(){}}function x(a){return function(){return a}}var C=1,D=n,F=[],G="-pnpres",H=10,J=310,N=60,O=1E3,aa=/{([\w\-]+)}/g;function ba(){return"x"+ ++C+""+ +new Date}function P(){return+new Date}var Q,ca=Math.floor(20*Math.random());Q=function(a,b){return 0++ca?ca:ca=1))||a};function da(a,b){function d(){f+b>P()?(clearTimeout(c),c=setTimeout(d,b)):(f=P(),a())}var c,f=0;return d} -function ea(a,b){var d=[];W(a||[],function(a){b(a)&&d.push(a)});return d}function fa(a,b){return a.replace(aa,function(a,c){return b[c]||a})}function X(a,b){return setTimeout(a,b)}function R(a){var b="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});a&&a(b);return b} -function W(a,b){if(a&&b)if("undefined"!=typeof a[0])for(var d=0,c=a.length;d"-_.!~*'()".indexOf(a)?a:"%"+a.charCodeAt(0).toString(16).toUpperCase()}).join("")}function $(a){var b=[];W(a,function(a,c){c.f&&b.push(a)});return b.sort()} -function ga(){X(function(){D||(D=1,W(F,function(a){a()}))},O)} -function pa(a){function b(){}function d(a){a&&(r.g=0);!r.g&&r.length&&(r.g=1,t(r.shift()))}function c(a){W($(j),function(b){(b=j[b])&&a(b)})}var f=+a.windowing||H,p=(+a.timeout||J)*O,u=(+a.keepalive||N)*O,s=a.publish_key||"",g=a.subscribe_key||"",w=a.ssl?"s":"",y="http"+w+"://"+(a.origin||"pubsub.pubnub.com"),z=Q(y),S=Q(y),r=[],T=0,U=0,K=0,L=0,V=0,E=0,j={},t=a.xdr,M=a._is_online||x(1),v=a.jsonp_cb||x(0),A=a.db||{get:q(),set:q()},B=a.uuid||A&&A.get(g+"uuid")||"",e={_reset_offline:function(){K&&K(1)}, -LEAVE:function(a,b){var c={uuid:B},d=Q(y),m=v();0++ya?ya:ya=1))||a};function da(a,b){function d(){f+b>P()?(clearTimeout(c),c=setTimeout(d,b)):(f=P(),a())}var c,f=0;return d}function ea(a,b){var d=[];W(a||[],function(a){b(a)&&d.push(a)});return d}function fa(a,b){return a.replace(aa,function(a,c){return b[c]||a})} -function X(a,b){return setTimeout(a,b)}function R(a){var b="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});a&&a(b);return b}function W(a,b){if(a&&b)if("undefined"!=typeof a[0])for(var d=0,c=a.length;d"-_.!~*'()".indexOf(a)?a:"%"+a.charCodeAt(0).toString(16).toUpperCase()}).join("")}function $(a){var b=[];W(a,function(a,c){c.f&&b.push(a)});return b.sort()}function ga(){X(function(){D||(D=1,W(F,function(a){a()}))},O)} -function pa(a){function b(){}function d(a){a&&(r.g=0);!r.g&&r.length&&(r.g=1,t(r.shift()))}function c(a){W($(j),function(b){(b=j[b])&&a(b)})}var f=+a.windowing||H,p=(+a.timeout||J)*O,u=(+a.keepalive||N)*O,s=a.publish_key||"",g=a.subscribe_key||"",w=a.ssl?"s":"",y="http"+w+"://"+(a.origin||"pubsub.pubnub.com"),z=Q(y),S=Q(y),r=[],T=0,U=0,K=0,L=0,V=0,E=0,j={},t=a.xdr,M=a._is_online||x(1),v=a.jsonp_cb||x(0),A=a.db||{get:q(),set:q()},B=a.uuid||A&&A.get(g+"uuid")||"",e={_reset_offline:function(){K&&K(1)}, -LEAVE:function(a,b){var c={uuid:B},d=Q(y),m=v();0++Ha?Ha:Ha=1))||a};function da(a,b){function d(){f+b>P()?(clearTimeout(c),c=setTimeout(d,b)):(f=P(),a())}var c,f=0;return d}function ea(a,b){var d=[];W(a||[],function(a){b(a)&&d.push(a)});return d}function fa(a,b){return a.replace(aa,function(a,c){return b[c]||a})} -function X(a,b){return setTimeout(a,b)}function R(a){var b="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});a&&a(b);return b}function W(a,b){if(a&&b)if("undefined"!=typeof a[0])for(var d=0,c=a.length;d"-_.!~*'()".indexOf(a)?a:"%"+a.charCodeAt(0).toString(16).toUpperCase()}).join("")}function $(a){var b=[];W(a,function(a,c){c.f&&b.push(a)});return b.sort()}function ga(){X(function(){D||(D=1,W(F,function(a){a()}))},O)} -function pa(a){function b(){}function d(a){a&&(r.g=0);!r.g&&r.length&&(r.g=1,t(r.shift()))}function c(a){W($(j),function(b){(b=j[b])&&a(b)})}var f=+a.windowing||H,p=(+a.timeout||J)*O,u=(+a.keepalive||N)*O,s=a.publish_key||"",g=a.subscribe_key||"",w=a.ssl?"s":"",y="http"+w+"://"+(a.origin||"pubsub.pubnub.com"),z=Q(y),S=Q(y),r=[],T=0,U=0,K=0,L=0,V=0,E=0,j={},t=a.xdr,M=a._is_online||x(1),v=a.jsonp_cb||x(0),A=a.db||{get:q(),set:q()},B=a.uuid||A&&A.get(g+"uuid")||"",e={_reset_offline:function(){K&&K(1)}, -LEAVE:function(a,b){var c={uuid:B},d=Q(y),m=v();0++Qa?Qa:Qa=1))||a};function da(a,b){function d(){f+b>P()?(clearTimeout(c),c=setTimeout(d,b)):(f=P(),a())}var c,f=0;return d}function ea(a,b){var d=[];W(a||[],function(a){b(a)&&d.push(a)});return d}function fa(a,b){return a.replace(aa,function(a,c){return b[c]||a})} -function X(a,b){return setTimeout(a,b)}function R(a){var b="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});a&&a(b);return b}function W(a,b){if(a&&b)if("undefined"!=typeof a[0])for(var d=0,c=a.length;d"-_.!~*'()".indexOf(a)?a:"%"+a.charCodeAt(0).toString(16).toUpperCase()}).join("")}function $(a){var b=[];W(a,function(a,c){c.f&&b.push(a)});return b.sort()}function ga(){X(function(){D||(D=1,W(F,function(a){a()}))},O)} -function pa(a){function b(){}function d(a){a&&(r.g=0);!r.g&&r.length&&(r.g=1,t(r.shift()))}function c(a){W($(j),function(b){(b=j[b])&&a(b)})}var f=+a.windowing||H,p=(+a.timeout||J)*O,u=(+a.keepalive||N)*O,s=a.publish_key||"",g=a.subscribe_key||"",w=a.ssl?"s":"",y="http"+w+"://"+(a.origin||"pubsub.pubnub.com"),z=Q(y),S=Q(y),r=[],T=0,U=0,K=0,L=0,V=0,E=0,j={},t=a.xdr,M=a._is_online||x(1),v=a.jsonp_cb||x(0),A=a.db||{get:q(),set:q()},B=a.uuid||A&&A.get(g+"uuid")||"",e={_reset_offline:function(){K&&K(1)}, -LEAVE:function(a,b){var c={uuid:B},d=Q(y),m=v();0++Za?Za:Za=1))||a};function da(a,b){function d(){f+b>P()?(clearTimeout(c),c=setTimeout(d,b)):(f=P(),a())}var c,f=0;return d}function ea(a,b){var d=[];W(a||[],function(a){b(a)&&d.push(a)});return d}function fa(a,b){return a.replace(aa,function(a,c){return b[c]||a})} -function X(a,b){return setTimeout(a,b)}function R(a){var b="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});a&&a(b);return b}function W(a,b){if(a&&b)if("undefined"!=typeof a[0])for(var d=0,c=a.length;d"-_.!~*'()".indexOf(a)?a:"%"+a.charCodeAt(0).toString(16).toUpperCase()}).join("")}function $(a){var b=[];W(a,function(a,c){c.f&&b.push(a)});return b.sort()}function ga(){X(function(){D||(D=1,W(F,function(a){a()}))},O)} -function pa(a){function b(){}function d(a){a&&(r.g=0);!r.g&&r.length&&(r.g=1,t(r.shift()))}function c(a){W($(j),function(b){(b=j[b])&&a(b)})}var f=+a.windowing||H,p=(+a.timeout||J)*O,u=(+a.keepalive||N)*O,s=a.publish_key||"",g=a.subscribe_key||"",w=a.ssl?"s":"",y="http"+w+"://"+(a.origin||"pubsub.pubnub.com"),z=Q(y),S=Q(y),r=[],T=0,U=0,K=0,L=0,V=0,E=0,j={},t=a.xdr,M=a._is_online||x(1),v=a.jsonp_cb||x(0),A=a.db||{get:q(),set:q()},B=a.uuid||A&&A.get(g+"uuid")||"",e={_reset_offline:function(){K&&K(1)}, -LEAVE:function(a,b){var c={uuid:B},d=Q(y),e=v();0++hb?hb:hb=1))||a};function da(a,b){function d(){f+b>P()?(clearTimeout(c),c=setTimeout(d,b)):(f=P(),a())}var c,f=0;return d}function ea(a,b){var d=[];W(a||[],function(a){b(a)&&d.push(a)});return d}function fa(a,b){return a.replace(aa,function(a,c){return b[c]||a})} -function X(a,b){return setTimeout(a,b)}function R(a){var b="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});a&&a(b);return b}function W(a,b){if(a&&b)if("undefined"!=typeof a[0])for(var d=0,c=a.length;d"-_.!~*'()".indexOf(a)?a:"%"+a.charCodeAt(0).toString(16).toUpperCase()}).join("")}function $(a){var b=[];W(a,function(a,c){c.f&&b.push(a)});return b.sort()}function ga(){X(function(){D||(D=1,W(F,function(a){a()}))},O)} -function pa(a){function b(){}function d(a){a&&(r.g=0);!r.g&&r.length&&(r.g=1,t(r.shift()))}function c(a){W($(j),function(b){(b=j[b])&&a(b)})}var f=+a.windowing||H,p=(+a.timeout||J)*O,u=(+a.keepalive||N)*O,s=a.publish_key||"",g=a.subscribe_key||"",w=a.ssl?"s":"",y="http"+w+"://"+(a.origin||"pubsub.pubnub.com"),z=Q(y),S=Q(y),r=[],T=0,U=0,K=0,L=0,V=0,E=0,j={},t=a.xdr,M=a._is_online||x(1),v=a.jsonp_cb||x(0),A=a.db||{get:q(),set:q()},B=a.uuid||A&&A.get(g+"uuid")||"",e={_reset_offline:function(){K&&K(1)}, -LEAVE:function(a,b){var c={uuid:B},d=Q(y),e=v();0++qb?qb:qb=1))||a};function da(a,b){function d(){f+b>P()?(clearTimeout(c),c=setTimeout(d,b)):(f=P(),a())}var c,f=0;return d}function ea(a,b){var d=[];W(a||[],function(a){b(a)&&d.push(a)});return d}function fa(a,b){return a.replace(aa,function(a,c){return b[c]||a})} -function X(a,b){return setTimeout(a,b)}function R(a){var b="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});a&&a(b);return b}function W(a,b){if(a&&b)if("undefined"!=typeof a[0])for(var d=0,c=a.length;d"-_.!~*'()".indexOf(a)?a:"%"+a.charCodeAt(0).toString(16).toUpperCase()}).join("")}function $(a){var b=[];W(a,function(a,c){c.f&&b.push(a)});return b.sort()}function ga(){X(function(){D||(D=1,W(F,function(a){a()}))},O)} -function pa(a){function b(){}function d(a){a&&(r.g=0);!r.g&&r.length&&(r.g=1,t(r.shift()))}function c(a){W($(j),function(b){(b=j[b])&&a(b)})}var f=+a.windowing||H,p=(+a.timeout||J)*O,u=(+a.keepalive||N)*O,s=a.publish_key||"",g=a.subscribe_key||"",w=a.ssl?"s":"",y="http"+w+"://"+(a.origin||"pubsub.pubnub.com"),z=Q(y),S=Q(y),r=[],T=0,U=0,K=0,L=0,V=0,E=0,j={},t=a.xdr,M=a._is_online||x(1),v=a.jsonp_cb||x(0),A=a.db||{get:q(),set:q()},B=a.uuid||A&&A.get(g+"uuid")||"",e={_reset_offline:function(){K&&K(1)}, -LEAVE:function(a,b){var c={uuid:B},d=Q(y),e=v();0++zb?zb:zb=1))||a};function da(a,b){function d(){f+b>P()?(clearTimeout(c),c=setTimeout(d,b)):(f=P(),a())}var c,f=0;return d}function ea(a,b){var d=[];W(a||[],function(a){b(a)&&d.push(a)});return d}function fa(a,b){return a.replace(aa,function(a,c){return b[c]||a})} -function X(a,b){return setTimeout(a,b)}function R(a){var b="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});a&&a(b);return b}function W(a,b){if(a&&b)if("undefined"!=typeof a[0])for(var d=0,c=a.length;d"-_.!~*'()".indexOf(a)?a:"%"+a.charCodeAt(0).toString(16).toUpperCase()}).join("")}function $(a){var b=[];W(a,function(a,c){c.f&&b.push(a)});return b.sort()}function ga(){X(function(){D||(D=1,W(F,function(a){a()}))},O)} -function pa(a){function b(){}function d(a){a&&(r.g=0);!r.g&&r.length&&(r.g=1,t(r.shift()))}function c(a){W($(j),function(b){(b=j[b])&&a(b)})}var f=+a.windowing||H,p=(+a.timeout||J)*O,u=(+a.keepalive||N)*O,s=a.publish_key||"",g=a.subscribe_key||"",w=a.ssl?"s":"",y="http"+w+"://"+(a.origin||"pubsub.pubnub.com"),z=Q(y),S=Q(y),r=[],T=0,U=0,K=0,L=0,V=0,E=0,j={},t=a.xdr,M=a._is_online||x(1),v=a.jsonp_cb||x(0),A=a.db||{get:q(),set:q()},B=a.uuid||A&&A.get(g+"uuid")||"",e={_reset_offline:function(){K&&K(1)}, -LEAVE:function(a,b){var c={uuid:B},d=Q(y),e=v();0++Ib?Ib:Ib=1))||a};function da(a,b){function d(){f+b>P()?(clearTimeout(c),c=setTimeout(d,b)):(f=P(),a())}var c,f=0;return d}function ea(a,b){var d=[];W(a||[],function(a){b(a)&&d.push(a)});return d}function fa(a,b){return a.replace(aa,function(a,c){return b[c]||a})} -function X(a,b){return setTimeout(a,b)}function R(a){var b="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});a&&a(b);return b}function W(a,b){if(a&&b)if("undefined"!=typeof a[0])for(var d=0,c=a.length;d"-_.!~*'()".indexOf(a)?a:"%"+a.charCodeAt(0).toString(16).toUpperCase()}).join("")}function $(a){var b=[];W(a,function(a,c){c.f&&b.push(a)});return b.sort()}function ga(){X(function(){D||(D=1,W(F,function(a){a()}))},O)} -function pa(a){function b(){}function d(a){a&&(r.g=0);!r.g&&r.length&&(r.g=1,t(r.shift()))}function c(a){W($(j),function(b){(b=j[b])&&a(b)})}var f=+a.windowing||H,p=(+a.timeout||J)*O,u=(+a.keepalive||N)*O,s=a.publish_key||"",g=a.subscribe_key||"",w=a.ssl?"s":"",y="http"+w+"://"+(a.origin||"pubsub.pubnub.com"),z=Q(y),S=Q(y),r=[],T=0,U=0,K=0,L=0,V=0,E=0,j={},t=a.xdr,M=a._is_online||x(1),v=a.jsonp_cb||x(0),A=a.db||{get:q(),set:q()},B=a.uuid||A&&A.get(g+"uuid")||"",e={_reset_offline:function(){K&&K(1)}, -LEAVE:function(a,b){var c={uuid:B},d=Q(y),e=v();0++a?a:a=1))||b}}(); +function ea(a,b){function c(){v+b>R()?(clearTimeout(d),d=setTimeout(c,b)):(v=R(),a())}var d,v=0;return c}function fa(a,b){var c=[];V(a||[],function(a){b(a)&&c.push(a)});return c}function ga(a,b){return a.replace(ca,function(a,d){return b[d]||a})}function W(a,b){return setTimeout(a,b)}function T(a){var b="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});a&&a(b);return b} +function V(a,b){if(a&&b)if("undefined"!=typeof a[0])for(var c=0,d=a.length;c"-_.!~*'()".indexOf(a)?a:"%"+a.charCodeAt(0).toString(16).toUpperCase()}).join("")}function $(a){var b=[];V(a,function(a,d){d.f&&b.push(a)});return b.sort()} +function ha(){W(function(){F||(F=1,V(I,function(a){a()}))},O)} +function ia(a){function b(){}function c(f){f&&(g.g=0);!g.g&&g.length&&(g.g=1,w(g.shift()))}function d(f){V($(q),function(a){(a=q[a])&&f(a)})}var v=+a.windowing||L,J=(+a.timeout||aa)*O,y=(+a.keepalive||ba)*O,m=a.publish_key||"",k=a.subscribe_key||"",l=a.ssl?"s":"",e="http"+l+"://"+(a.origin||"pubsub.pubnub.com"),s=U(e),n=U(e),g=[],N=0,M=0,C=0,H=0,S=0,D=0,q={},w=a.xdr,Q=a._is_online||z(1),x=a.jsonp_cb||z(0),A=a.db||{get:u(),set:u()},B=a.uuid||A&&A.get(k+"uuid")||"",h={_reset_offline:function(){C&&C(1)}, +LEAVE:function(f,a){var b={uuid:B},c=U(e),d=x();0++a?a:a=1))||b}}();function ea(a,b){function c(){v+b>R()?(clearTimeout(d),d=setTimeout(c,b)):(v=R(),a())}var d,v=0;return c} +function fa(a,b){var c=[];V(a||[],function(a){b(a)&&c.push(a)});return c}function ga(a,b){return a.replace(ca,function(a,d){return b[d]||a})}function W(a,b){return setTimeout(a,b)}function T(a){var b="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});a&&a(b);return b} +function V(a,b){if(a&&b)if("undefined"!=typeof a[0])for(var c=0,d=a.length;c"-_.!~*'()".indexOf(a)?a:"%"+a.charCodeAt(0).toString(16).toUpperCase()}).join("")}function $(a){var b=[];V(a,function(a,d){d.f&&b.push(a)});return b.sort()} +function ha(){W(function(){F||(F=1,V(I,function(a){a()}))},O)} +function ia(a){function b(){}function c(f){f&&(g.g=0);!g.g&&g.length&&(g.g=1,w(g.shift()))}function d(f){V($(q),function(a){(a=q[a])&&f(a)})}var v=+a.windowing||L,J=(+a.timeout||aa)*O,y=(+a.keepalive||ba)*O,m=a.publish_key||"",k=a.subscribe_key||"",l=a.ssl?"s":"",e="http"+l+"://"+(a.origin||"pubsub.pubnub.com"),s=U(e),n=U(e),g=[],N=0,M=0,C=0,H=0,S=0,D=0,q={},w=a.xdr,Q=a._is_online||z(1),x=a.jsonp_cb||z(0),A=a.db||{get:u(),set:u()},B=a.uuid||A&&A.get(k+"uuid")||"",h={_reset_offline:function(){C&&C(1)}, +LEAVE:function(f,a){var b={uuid:B},c=U(e),d=x();0++a?a:a=1))||b}}();function ea(a,b){function c(){v+b>R()?(clearTimeout(d),d=setTimeout(c,b)):(v=R(),a())}var d,v=0;return c} +function fa(a,b){var c=[];V(a||[],function(a){b(a)&&c.push(a)});return c}function ga(a,b){return a.replace(ca,function(a,d){return b[d]||a})}function W(a,b){return setTimeout(a,b)}function T(a){var b="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});a&&a(b);return b} +function V(a,b){if(a&&b)if("undefined"!=typeof a[0])for(var c=0,d=a.length;c"-_.!~*'()".indexOf(a)?a:"%"+a.charCodeAt(0).toString(16).toUpperCase()}).join("")}function $(a){var b=[];V(a,function(a,d){d.f&&b.push(a)});return b.sort()} +function ha(){W(function(){F||(F=1,V(I,function(a){a()}))},O)} +function ia(a){function b(){}function c(f){f&&(g.g=0);!g.g&&g.length&&(g.g=1,w(g.shift()))}function d(f){V($(q),function(a){(a=q[a])&&f(a)})}var v=+a.windowing||L,J=(+a.timeout||aa)*O,y=(+a.keepalive||ba)*O,m=a.publish_key||"",k=a.subscribe_key||"",l=a.ssl?"s":"",e="http"+l+"://"+(a.origin||"pubsub.pubnub.com"),s=U(e),n=U(e),g=[],N=0,M=0,C=0,H=0,S=0,D=0,q={},w=a.xdr,Q=a._is_online||z(1),x=a.jsonp_cb||z(0),A=a.db||{get:u(),set:u()},B=a.uuid||A&&A.get(k+"uuid")||"",h={_reset_offline:function(){C&&C(1)}, +LEAVE:function(f,a){var b={uuid:B},c=U(e),d=x();0++a?a:a=1))||b}}();function ea(a,b){function c(){v+b>R()?(clearTimeout(d),d=setTimeout(c,b)):(v=R(),a())}var d,v=0;return c} +function fa(a,b){var c=[];V(a||[],function(a){b(a)&&c.push(a)});return c}function ga(a,b){return a.replace(ca,function(a,d){return b[d]||a})}function W(a,b){return setTimeout(a,b)}function T(a){var b="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});a&&a(b);return b} +function V(a,b){if(a&&b)if("undefined"!=typeof a[0])for(var c=0,d=a.length;c"-_.!~*'()".indexOf(a)?a:"%"+a.charCodeAt(0).toString(16).toUpperCase()}).join("")}function $(a){var b=[];V(a,function(a,d){d.f&&b.push(a)});return b.sort()} +function ha(){W(function(){F||(F=1,V(I,function(a){a()}))},O)} +function ia(a){function b(){}function c(a){a&&(g.g=0);!g.g&&g.length&&(g.g=1,w(g.shift()))}function d(a){V($(q),function(b){(b=q[b])&&a(b)})}var v=+a.windowing||L,J=(+a.timeout||aa)*O,y=(+a.keepalive||ba)*O,m=a.publish_key||"",k=a.subscribe_key||"",l=a.ssl?"s":"",e="http"+l+"://"+(a.origin||"pubsub.pubnub.com"),s=U(e),n=U(e),g=[],N=0,M=0,C=0,H=0,S=0,D=0,q={},w=a.xdr,Q=a._is_online||z(1),x=a.jsonp_cb||z(0),A=a.db||{get:u(),set:u()},B=a.uuid||A&&A.get(k+"uuid")||"",h={_reset_offline:function(){C&&C(1)}, +LEAVE:function(a,b){var c={uuid:B},d=U(e),g=x();0++a?a:a=1))||b}}();function ea(a,b){function c(){v+b>R()?(clearTimeout(d),d=setTimeout(c,b)):(v=R(),a())}var d,v=0;return c} +function fa(a,b){var c=[];V(a||[],function(a){b(a)&&c.push(a)});return c}function ga(a,b){return a.replace(ca,function(a,d){return b[d]||a})}function W(a,b){return setTimeout(a,b)}function T(a){var b="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});a&&a(b);return b} +function V(a,b){if(a&&b)if("undefined"!=typeof a[0])for(var c=0,d=a.length;c"-_.!~*'()".indexOf(a)?a:"%"+a.charCodeAt(0).toString(16).toUpperCase()}).join("")}function $(a){var b=[];V(a,function(a,d){d.f&&b.push(a)});return b.sort()} +function ha(){W(function(){F||(F=1,V(I,function(a){a()}))},O)} +function ia(a){function b(){}function c(a){a&&(g.g=0);!g.g&&g.length&&(g.g=1,w(g.shift()))}function d(a){V($(q),function(b){(b=q[b])&&a(b)})}var v=+a.windowing||L,J=(+a.timeout||aa)*O,y=(+a.keepalive||ba)*O,m=a.publish_key||"",k=a.subscribe_key||"",l=a.ssl?"s":"",e="http"+l+"://"+(a.origin||"pubsub.pubnub.com"),s=U(e),n=U(e),g=[],N=0,M=0,C=0,H=0,S=0,D=0,q={},w=a.xdr,Q=a._is_online||z(1),x=a.jsonp_cb||z(0),A=a.db||{get:u(),set:u()},B=a.uuid||A&&A.get(k+"uuid")||"",h={_reset_offline:function(){C&&C(1)}, +LEAVE:function(a,b){var c={uuid:B},d=U(e),g=x();0++a?a:a=1))||b}}();function ea(a,b){function c(){v+b>R()?(clearTimeout(d),d=setTimeout(c,b)):(v=R(),a())}var d,v=0;return c} +function fa(a,b){var c=[];V(a||[],function(a){b(a)&&c.push(a)});return c}function ga(a,b){return a.replace(ca,function(a,d){return b[d]||a})}function W(a,b){return setTimeout(a,b)}function T(a){var b="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});a&&a(b);return b} +function V(a,b){if(a&&b)if("undefined"!=typeof a[0])for(var c=0,d=a.length;c"-_.!~*'()".indexOf(a)?a:"%"+a.charCodeAt(0).toString(16).toUpperCase()}).join("")}function $(a){var b=[];V(a,function(a,d){d.f&&b.push(a)});return b.sort()} +function ha(){W(function(){F||(F=1,V(I,function(a){a()}))},O)} +function ia(a){function b(){}function c(a){a&&(g.g=0);!g.g&&g.length&&(g.g=1,w(g.shift()))}function d(a){V($(q),function(b){(b=q[b])&&a(b)})}var v=+a.windowing||L,J=(+a.timeout||aa)*O,y=(+a.keepalive||ba)*O,m=a.publish_key||"",k=a.subscribe_key||"",l=a.ssl?"s":"",e="http"+l+"://"+(a.origin||"pubsub.pubnub.com"),s=U(e),n=U(e),g=[],N=0,M=0,C=0,H=0,S=0,D=0,q={},w=a.xdr,Q=a._is_online||z(1),x=a.jsonp_cb||z(0),A=a.db||{get:u(),set:u()},B=a.uuid||A&&A.get(k+"uuid")||"",h={_reset_offline:function(){C&&C(1)}, +LEAVE:function(a,b){var c={uuid:B},d=U(e),g=x();0++a?a:a=1))||b}}();function ea(a,b){function c(){v+b>R()?(clearTimeout(d),d=setTimeout(c,b)):(v=R(),a())}var d,v=0;return c} +function fa(a,b){var c=[];V(a||[],function(a){b(a)&&c.push(a)});return c}function ga(a,b){return a.replace(ca,function(a,d){return b[d]||a})}function W(a,b){return setTimeout(a,b)}function T(a){var b="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});a&&a(b);return b} +function V(a,b){if(a&&b)if("undefined"!=typeof a[0])for(var c=0,d=a.length;c"-_.!~*'()".indexOf(a)?a:"%"+a.charCodeAt(0).toString(16).toUpperCase()}).join("")}function $(a){var b=[];V(a,function(a,d){d.f&&b.push(a)});return b.sort()} +function ha(){W(function(){F||(F=1,V(I,function(a){a()}))},O)} +function ia(a){function b(){}function c(a){a&&(g.g=0);!g.g&&g.length&&(g.g=1,w(g.shift()))}function d(a){V($(q),function(b){(b=q[b])&&a(b)})}var v=+a.windowing||L,J=(+a.timeout||aa)*O,y=(+a.keepalive||ba)*O,m=a.publish_key||"",k=a.subscribe_key||"",l=a.ssl?"s":"",e="http"+l+"://"+(a.origin||"pubsub.pubnub.com"),s=U(e),n=U(e),g=[],N=0,M=0,C=0,H=0,S=0,D=0,q={},w=a.xdr,Q=a._is_online||z(1),x=a.jsonp_cb||z(0),A=a.db||{get:u(),set:u()},B=a.uuid||A&&A.get(k+"uuid")||"",h={_reset_offline:function(){C&&C(1)}, +LEAVE:function(a,b){var c={uuid:B},d=U(e),g=x();0++a?a:a=1))||b}}();function ea(a,b){function c(){v+b>R()?(clearTimeout(d),d=setTimeout(c,b)):(v=R(),a())}var d,v=0;return c} +function fa(a,b){var c=[];V(a||[],function(a){b(a)&&c.push(a)});return c}function ga(a,b){return a.replace(ca,function(a,d){return b[d]||a})}function W(a,b){return setTimeout(a,b)}function T(a){var b="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});a&&a(b);return b} +function V(a,b){if(a&&b)if("undefined"!=typeof a[0])for(var c=0,d=a.length;c"-_.!~*'()".indexOf(a)?a:"%"+a.charCodeAt(0).toString(16).toUpperCase()}).join("")}function $(a){var b=[];V(a,function(a,d){d.f&&b.push(a)});return b.sort()} +function ha(){W(function(){F||(F=1,V(I,function(a){a()}))},O)} +function ia(a){function b(){}function c(a){a&&(g.g=0);!g.g&&g.length&&(g.g=1,w(g.shift()))}function d(a){V($(q),function(b){(b=q[b])&&a(b)})}var v=+a.windowing||L,J=(+a.timeout||aa)*O,y=(+a.keepalive||ba)*O,m=a.publish_key||"",k=a.subscribe_key||"",l=a.ssl?"s":"",e="http"+l+"://"+(a.origin||"pubsub.pubnub.com"),s=U(e),n=U(e),g=[],N=0,M=0,C=0,H=0,S=0,D=0,q={},w=a.xdr,Q=a._is_online||z(1),x=a.jsonp_cb||z(0),A=a.db||{get:u(),set:u()},B=a.uuid||A&&A.get(k+"uuid")||"",h={_reset_offline:function(){C&&C(1)}, +LEAVE:function(a,b){var c={uuid:B},d=U(e),g=x();0++a?a:a=1))||b}}();function ea(a,b){function c(){v+b>R()?(clearTimeout(d),d=setTimeout(c,b)):(v=R(),a())}var d,v=0;return c} +function fa(a,b){var c=[];V(a||[],function(a){b(a)&&c.push(a)});return c}function ga(a,b){return a.replace(ca,function(a,d){return b[d]||a})}function W(a,b){return setTimeout(a,b)}function T(a){var b="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});a&&a(b);return b} +function V(a,b){if(a&&b)if("undefined"!=typeof a[0])for(var c=0,d=a.length;c"-_.!~*'()".indexOf(a)?a:"%"+a.charCodeAt(0).toString(16).toUpperCase()}).join("")}function $(a){var b=[];V(a,function(a,d){d.f&&b.push(a)});return b.sort()} +function ha(){W(function(){F||(F=1,V(I,function(a){a()}))},O)} +function ia(a){function b(){}function c(a){a&&(g.g=0);!g.g&&g.length&&(g.g=1,w(g.shift()))}function d(a){V($(q),function(b){(b=q[b])&&a(b)})}var v=+a.windowing||L,J=(+a.timeout||aa)*O,y=(+a.keepalive||ba)*O,m=a.publish_key||"",k=a.subscribe_key||"",l=a.ssl?"s":"",e="http"+l+"://"+(a.origin||"pubsub.pubnub.com"),s=U(e),n=U(e),g=[],N=0,M=0,C=0,H=0,S=0,D=0,q={},w=a.xdr,Q=a._is_online||z(1),x=a.jsonp_cb||z(0),A=a.db||{get:u(),set:u()},B=a.uuid||A&&A.get(k+"uuid")||"",h={_reset_offline:function(){C&&C(1)}, +LEAVE:function(a,b){var c={uuid:B},d=U(e),g=x();0++a?a:a=1))||b}}();function ea(a,b){function c(){v+b>R()?(clearTimeout(d),d=setTimeout(c,b)):(v=R(),a())}var d,v=0;return c} +function fa(a,b){var c=[];V(a||[],function(a){b(a)&&c.push(a)});return c}function ga(a,b){return a.replace(ca,function(a,d){return b[d]||a})}function W(a,b){return setTimeout(a,b)}function T(a){var b="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});a&&a(b);return b} +function V(a,b){if(a&&b)if("undefined"!=typeof a[0])for(var c=0,d=a.length;c"-_.!~*'()".indexOf(a)?a:"%"+a.charCodeAt(0).toString(16).toUpperCase()}).join("")}function $(a){var b=[];V(a,function(a,d){d.f&&b.push(a)});return b.sort()} +function ha(){W(function(){F||(F=1,V(I,function(a){a()}))},O)} +function ia(a){function b(){}function c(a){a&&(g.g=0);!g.g&&g.length&&(g.g=1,w(g.shift()))}function d(a){V($(q),function(b){(b=q[b])&&a(b)})}var v=+a.windowing||L,J=(+a.timeout||aa)*O,y=(+a.keepalive||ba)*O,m=a.publish_key||"",k=a.subscribe_key||"",l=a.ssl?"s":"",e="http"+l+"://"+(a.origin||"pubsub.pubnub.com"),s=U(e),n=U(e),g=[],N=0,M=0,C=0,H=0,S=0,D=0,q={},w=a.xdr,Q=a._is_online||z(1),x=a.jsonp_cb||z(0),A=a.db||{get:u(),set:u()},B=a.uuid||A&&A.get(k+"uuid")||"",h={_reset_offline:function(){C&&C(1)}, +LEAVE:function(a,b){var c={uuid:B},d=U(e),g=x();0++a?a:a=1))||b}}(); +function ea(a,b){function c(){v+b>R()?(clearTimeout(d),d=setTimeout(c,b)):(v=R(),a())}var d,v=0;return c}function fa(a,b){var c=[];V(a||[],function(a){b(a)&&c.push(a)});return c}function ga(a,b){return a.replace(ca,function(a,d){return b[d]||a})}function W(a,b){return setTimeout(a,b)}function T(a){var b="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});a&&a(b);return b} +function V(a,b){if(a&&b)if("undefined"!=typeof a[0])for(var c=0,d=a.length;c"-_.!~*'()".indexOf(a)?a:"%"+a.charCodeAt(0).toString(16).toUpperCase()}).join("")}function $(a){var b=[];V(a,function(a,d){d.f&&b.push(a)});return b.sort()} +function ha(){W(function(){F||(F=1,V(I,function(a){a()}))},O)} +function ia(a){function b(){}function c(a){a&&(g.g=0);!g.g&&g.length&&(g.g=1,w(g.shift()))}function d(a){V($(q),function(b){(b=q[b])&&a(b)})}var v=+a.windowing||L,J=(+a.timeout||aa)*O,y=(+a.keepalive||ba)*O,m=a.publish_key||"",k=a.subscribe_key||"",l=a.ssl?"s":"",e="http"+l+"://"+(a.origin||"pubsub.pubnub.com"),s=U(e),n=U(e),g=[],N=0,M=0,C=0,H=0,S=0,D=0,q={},w=a.xdr,Q=a._is_online||z(1),x=a.jsonp_cb||z(0),A=a.db||{get:u(),set:u()},B=a.uuid||A&&A.get(k+"uuid")||"",h={_reset_offline:function(){C&&C(1)}, +LEAVE:function(a,b){var c={uuid:B},d=U(e),g=x();0++a?a:a=1))||b}}(); +function ea(a,b){function c(){v+b>R()?(clearTimeout(d),d=setTimeout(c,b)):(v=R(),a())}var d,v=0;return c}function fa(a,b){var c=[];V(a||[],function(a){b(a)&&c.push(a)});return c}function ga(a,b){return a.replace(ca,function(a,d){return b[d]||a})}function W(a,b){return setTimeout(a,b)}function T(a){var b="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});a&&a(b);return b} +function V(a,b){if(a&&b)if("undefined"!=typeof a[0])for(var c=0,d=a.length;c"-_.!~*'()".indexOf(a)?a:"%"+a.charCodeAt(0).toString(16).toUpperCase()}).join("")}function $(a){var b=[];V(a,function(a,d){d.f&&b.push(a)});return b.sort()} +function ha(){W(function(){F||(F=1,V(I,function(a){a()}))},O)} +function ia(a){function b(){}function c(a){a&&(g.g=0);!g.g&&g.length&&(g.g=1,w(g.shift()))}function d(a){V($(q),function(b){(b=q[b])&&a(b)})}var v=+a.windowing||L,J=(+a.timeout||aa)*O,y=(+a.keepalive||ba)*O,m=a.publish_key||"",k=a.subscribe_key||"",l=a.ssl?"s":"",e="http"+l+"://"+(a.origin||"pubsub.pubnub.com"),s=U(e),n=U(e),g=[],N=0,M=0,C=0,H=0,S=0,D=0,q={},w=a.xdr,Q=a._is_online||z(1),x=a.jsonp_cb||z(0),A=a.db||{get:u(),set:u()},B=a.uuid||A&&A.get(k+"uuid")||"",h={_reset_offline:function(){C&&C(1)}, +LEAVE:function(a,b){var c={uuid:B},d=U(e),g=x();0++a?a:a=1))||b}}();function ea(a,b){function c(){v+b>R()?(clearTimeout(d),d=setTimeout(c,b)):(v=R(),a())}var d,v=0;return c}function fa(a,b){var c=[];V(a||[],function(a){b(a)&&c.push(a)});return c}function ga(a,b){return a.replace(ca,function(a,d){return b[d]||a})}function W(a,b){return setTimeout(a,b)} +function T(a){var b="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});a&&a(b);return b}function V(a,b){if(a&&b)if("undefined"!=typeof a[0])for(var c=0,d=a.length;c"-_.!~*'()".indexOf(a)?a:"%"+a.charCodeAt(0).toString(16).toUpperCase()}).join("")}function $(a){var b=[];V(a,function(a,d){d.f&&b.push(a)});return b.sort()}function ha(){W(function(){F||(F=1,V(I,function(a){a()}))},O)} +function ia(a){function b(){}function c(a){a&&(g.g=0);!g.g&&g.length&&(g.g=1,w(g.shift()))}function d(a){V($(q),function(b){(b=q[b])&&a(b)})}var v=+a.windowing||L,J=(+a.timeout||aa)*O,y=(+a.keepalive||ba)*O,m=a.publish_key||"",k=a.subscribe_key||"",l=a.ssl?"s":"",e="http"+l+"://"+(a.origin||"pubsub.pubnub.com"),s=U(e),n=U(e),g=[],N=0,M=0,C=0,H=0,S=0,D=0,q={},w=a.xdr,Q=a._is_online||z(1),x=a.jsonp_cb||z(0),A=a.db||{get:u(),set:u()},B=a.uuid||A&&A.get(k+"uuid")||"",h={_reset_offline:function(){C&&C(1)}, +LEAVE:function(a,b){var c={uuid:B},d=U(e),g=x();0++a?a:a=1))||b}}(); +function ea(a,b){function c(){v+b>R()?(clearTimeout(d),d=setTimeout(c,b)):(v=R(),a())}var d,v=0;return c}function fa(a,b){var c=[];V(a||[],function(a){b(a)&&c.push(a)});return c}function ga(a,b){return a.replace(ca,function(a,d){return b[d]||a})}function W(a,b){return setTimeout(a,b)}function T(a){var b="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});a&&a(b);return b} +function V(a,b){if(a&&b)if("undefined"!=typeof a[0])for(var c=0,d=a.length;c"-_.!~*'()".indexOf(a)?a:"%"+a.charCodeAt(0).toString(16).toUpperCase()}).join("")}function $(a){var b=[];V(a,function(a,d){d.f&&b.push(a)});return b.sort()} +function ha(){W(function(){F||(F=1,V(I,function(a){a()}))},O)} +function ia(a){function b(){}function c(a){a&&(g.g=0);!g.g&&g.length&&(g.g=1,w(g.shift()))}function d(a){V($(q),function(b){(b=q[b])&&a(b)})}var v=+a.windowing||L,J=(+a.timeout||aa)*O,y=(+a.keepalive||ba)*O,m=a.publish_key||"",k=a.subscribe_key||"",l=a.ssl?"s":"",e="http"+l+"://"+(a.origin||"pubsub.pubnub.com"),s=U(e),n=U(e),g=[],N=0,M=0,C=0,H=0,S=0,D=0,q={},w=a.xdr,Q=a._is_online||z(1),x=a.jsonp_cb||z(0),A=a.db||{get:u(),set:u()},B=a.uuid||A&&A.get(k+"uuid")||"",h={_reset_offline:function(){C&&C(1)}, +LEAVE:function(a,b){var c={uuid:B},d=U(e),g=x();0 0 && + typeof styles[style] == 'number' + ? 'px' : '' + )}catch(e){} +} + +/** + * CREATE + * ====== + * var obj = create('div'); + */ +function create(element) { return document.createElement(element) } + /* =-====================================================================-= */ /* =-====================================================================-= */ /* =-========================= PUBNUB ===========================-= */ @@ -224,8 +305,13 @@ function PN(setup) { var SELF = PN_API(setup); SELF['init'] = PN; - - + SELF['$'] = $; + SELF['attr'] = attr; + SELF['search'] = search; + SELF['bind'] = bind; + SELF['css'] = css; + SELF['create'] = create; + // Return without Testing if (setup['notest']) return SELF; diff --git a/phonegap/README b/phonegap/README new file mode 100644 index 000000000..ff4c7ccdf --- /dev/null +++ b/phonegap/README @@ -0,0 +1,99 @@ +## --------------------------------------------------- +## +## YOU MUST HAVE A PUBNUB ACCOUNT TO USE THE API. +## http://www.pubnub.com/account +## +## USE "DEMO" INCLUDES (BELOW) FREE! WHILE DEVELOPING +## +## ---------------------------------------------------- + +## ---------------------------------------------------------- +## PubNub 3.1 Real-time Cloud Push API - JAVASCRIPT PHONE GAP +## ---------------------------------------------------------- +## +## www.pubnub.com - PubNub Real-time Push Service in the Cloud. +## http://www.pubnub.com/tutorial/javascript-push-api +## +## PubNub is a Massively Scalable Real-time Service for Web and Mobile Games. +## This is a cloud-based service for broadcasting Real-time messages +## to thousands of web and mobile clients simultaneously. + + + + + + + + + + + diff --git a/phonegap/index.html b/phonegap/index.html new file mode 100644 index 000000000..b4c9d1ab6 --- /dev/null +++ b/phonegap/index.html @@ -0,0 +1,266 @@ + + + + PubNub PhoneGap JavaScript Unit Test + + + +

+ + +
+ × +

PubNub Unit Tests for PhoneGap JavaScript on Mobile

+
+ + +
+ + + 100% Successful + Finished With Errors + ... +
+ + + +
Pass/FailTest Ready +
+ + + + +
+ + +
+ + From d50b556f1378a29f13ad7f92ed8a7208c36cb9eb Mon Sep 17 00:00:00 2001 From: Devendra Date: Thu, 4 Apr 2013 17:25:39 +0530 Subject: [PATCH 23/66] changing path to socket.io.min.js --- socket.io/README.md | 1 - socket.io/acknowledgements/index.html | 5 ----- socket.io/bootstrap-mobile/index.html | 2 +- socket.io/bootstrap-web/index.html | 2 +- socket.io/custom-presence/index.html | 2 +- socket.io/encryption/index.html | 2 +- socket.io/here_now/index.html | 4 +--- socket.io/history/index.html | 4 +--- socket.io/presence/index.html | 4 +--- .../public-private-communication.html | 5 ----- 10 files changed, 7 insertions(+), 24 deletions(-) diff --git a/socket.io/README.md b/socket.io/README.md index 88e9fc5ac..233fd11b3 100644 --- a/socket.io/README.md +++ b/socket.io/README.md @@ -63,7 +63,6 @@ emit() or send() functions, the message will be broadcast. ## How to use -First, include `pubnub.js` and `socket.io.js`: ```html diff --git a/socket.io/acknowledgements/index.html b/socket.io/acknowledgements/index.html index fc58f3295..df527058c 100644 --- a/socket.io/acknowledgements/index.html +++ b/socket.io/acknowledgements/index.html @@ -15,11 +15,6 @@
Hello to Web User!
- diff --git a/socket.io/bootstrap-mobile/index.html b/socket.io/bootstrap-mobile/index.html index 0cb3529d1..88c65de18 100644 --- a/socket.io/bootstrap-mobile/index.html +++ b/socket.io/bootstrap-mobile/index.html @@ -28,7 +28,7 @@ - + diff --git a/socket.io/bootstrap-web/index.html b/socket.io/bootstrap-web/index.html index 09f6a0278..df527058c 100644 --- a/socket.io/bootstrap-web/index.html +++ b/socket.io/bootstrap-web/index.html @@ -15,7 +15,7 @@
Hello to Web User!
- + diff --git a/socket.io/custom-presence/index.html b/socket.io/custom-presence/index.html index 09f6a0278..df527058c 100644 --- a/socket.io/custom-presence/index.html +++ b/socket.io/custom-presence/index.html @@ -15,7 +15,7 @@
Hello to Web User!
- + diff --git a/socket.io/encryption/index.html b/socket.io/encryption/index.html index 09f6a0278..df527058c 100644 --- a/socket.io/encryption/index.html +++ b/socket.io/encryption/index.html @@ -15,7 +15,7 @@
Hello to Web User!
- + diff --git a/socket.io/here_now/index.html b/socket.io/here_now/index.html index 992895e2b..28e4e25a5 100644 --- a/socket.io/here_now/index.html +++ b/socket.io/here_now/index.html @@ -15,9 +15,7 @@
Click me and check the console log for here now!
- - - + diff --git a/socket.io/history/index.html b/socket.io/history/index.html index b8cb9fed4..b43766b89 100644 --- a/socket.io/history/index.html +++ b/socket.io/history/index.html @@ -16,9 +16,7 @@ - - - + diff --git a/socket.io/presence/index.html b/socket.io/presence/index.html index ae3a9b73d..df527058c 100644 --- a/socket.io/presence/index.html +++ b/socket.io/presence/index.html @@ -15,9 +15,7 @@
Hello to Web User!
- - - + diff --git a/socket.io/public-private-communication/public-private-communication.html b/socket.io/public-private-communication/public-private-communication.html index 16ed5bcd5..f407a469a 100644 --- a/socket.io/public-private-communication/public-private-communication.html +++ b/socket.io/public-private-communication/public-private-communication.html @@ -49,11 +49,6 @@
- From 7ce014e5b93eba266c156219a6bb10bc7bc4e1a9 Mon Sep 17 00:00:00 2001 From: Devendra Date: Thu, 4 Apr 2013 17:34:26 +0530 Subject: [PATCH 24/66] adding webos dir --- webos/README | 99 ++++++++++++++++++++ webos/index.html | 234 +++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 333 insertions(+) create mode 100644 webos/README create mode 100644 webos/index.html diff --git a/webos/README b/webos/README new file mode 100644 index 000000000..f84a0670a --- /dev/null +++ b/webos/README @@ -0,0 +1,99 @@ +## --------------------------------------------------- +## +## YOU MUST HAVE A PUBNUB ACCOUNT TO USE THE API. +## http://www.pubnub.com/account +## +## USE "DEMO" INCLUDES (BELOW) FREE! WHILE DEVELOPING +## +## ---------------------------------------------------- + +## ------------------------------------------------------ +## PubNub 3.1 Real-time Cloud Push API - JAVASCRIPT webOS +## ------------------------------------------------------ +## +## www.pubnub.com - PubNub Real-time Push Service in the Cloud. +## http://www.pubnub.com/tutorial/javascript-push-api +## +## PubNub is a Massively Scalable Real-time Service for Web and Mobile Games. +## This is a cloud-based service for broadcasting Real-time messages +## to thousands of web and mobile clients simultaneously. + + + + + + + + + + + diff --git a/webos/index.html b/webos/index.html new file mode 100644 index 000000000..ea9c8ed82 --- /dev/null +++ b/webos/index.html @@ -0,0 +1,234 @@ + + + + PubNub PhoneGap JavaScript Unit Test + + + +
+ + +
+ × +

PubNub Unit Tests for PhoneGap JavaScript on Mobile

+
+ + +
+ + + 100% Successful + Finished With Errors + ... +
+ + + +
Pass/FailTest Ready +
+ + + + +
+ + +
+ + From ac33dc11daf66122e85b95034c9b3477c6953ad0 Mon Sep 17 00:00:00 2001 From: "Stephen L. Blum" Date: Thu, 4 Apr 2013 09:24:52 -0700 Subject: [PATCH 25/66] Update README.md --- nodejs/README.md | 38 ++++++++++++++++++++++++++++++++++---- 1 file changed, 34 insertions(+), 4 deletions(-) diff --git a/nodejs/README.md b/nodejs/README.md index ebe208bb0..c0d0d1184 100644 --- a/nodejs/README.md +++ b/nodejs/README.md @@ -1,6 +1,36 @@ -# PubNub 3.3 Web Data Push Cloud-Hosted API - node.js -## PubNub node.js Usage +# PubNub Node.JS SDK and NPM +## PubNub Node.js Usage -Open 3.3/tests/unit-test.js to see examples for all the basics, plus detailedHistory(), Presence() and here_now()! +Open `./tests/unit-test.js` to see examples for all the basics, +plus `history()`, `presence()` and `here_now()`! -Report an issue, or email us at support if there are any additional questions or comments. +Report an issue, or email us at support if there are any +additional questions or comments. + +```javascript +var pubnub = require("./../pubnub.js").init({ + publish_key : "demo", + subscribe_key : "demo" +}); + +/* --------------------------------------------------------------------------- +Listen for Messages +--------------------------------------------------------------------------- */ +pubnub.subscribe({ + channel : "my_channel", + callback : function(message) { + console.log( " > ", message ); + } +}); + +/* --------------------------------------------------------------------------- +Type Console Message +--------------------------------------------------------------------------- */ +var stdin = process.openStdin(); +stdin.on( 'data', function(chunk) { + pubnub.publish({ + channel : "my_channel", + message : ''+chunk + }); +}); +``` From 26ae76c8a9dc1df577857f77fccb6293b7e4e323 Mon Sep 17 00:00:00 2001 From: "Stephen L. Blum" Date: Thu, 4 Apr 2013 09:37:11 -0700 Subject: [PATCH 26/66] Update README.md --- nodejs/README.md | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/nodejs/README.md b/nodejs/README.md index c0d0d1184..49d972505 100644 --- a/nodejs/README.md +++ b/nodejs/README.md @@ -1,14 +1,24 @@ # PubNub Node.JS SDK and NPM -## PubNub Node.js Usage -Open `./tests/unit-test.js` to see examples for all the basics, -plus `history()`, `presence()` and `here_now()`! +Full documentation availabe - https://github.com/pubnub/javascript/blob/master/README.md + +## PubNub Node.js Quick Usage +Open `./tests/unit-test.js` to see examples for all the basics, +plus `history()`, `presence()` and `here_now()`! Report an issue, or email us at support if there are any additional questions or comments. +#### NPM Install + +``` +npm install pubnub +``` + +#### Example Usage + ```javascript -var pubnub = require("./../pubnub.js").init({ +var pubnub = require("pubnub").init({ publish_key : "demo", subscribe_key : "demo" }); From 9ee1a2ab58e82a6aa159687cc29e18f9df360c8f Mon Sep 17 00:00:00 2001 From: Devendra Date: Thu, 4 Apr 2013 22:17:29 +0530 Subject: [PATCH 27/66] adding sencha to repos --- modern/Makefile | 2 +- modern/pubnub.js | 7293 ------- modern/pubnub.min.js | 161 +- sencha/README.md | 3 + sencha/examples/here_now/app.js | 50 + sencha/examples/here_now/index.html | 65 + sencha/examples/here_now/sencha-touch-all.js | 32 + sencha/examples/here_now/sencha-touch.css | 1 + sencha/examples/history/app.js | 93 + sencha/examples/history/index.html | 65 + sencha/examples/history/sencha-touch-all.js | 32 + sencha/examples/history/sencha-touch.css | 1 + sencha/examples/subscribe/app.js | 69 + sencha/examples/subscribe/index.html | 65 + sencha/examples/subscribe/sencha-touch-all.js | 32 + sencha/examples/subscribe/sencha-touch.css | 1 + socket.io/socket.io.min.js | 409 +- web/Makefile | 2 +- web/pubnub.js | 16107 ---------------- web/pubnub.min.js | 409 +- 20 files changed, 597 insertions(+), 24295 deletions(-) create mode 100644 sencha/README.md create mode 100644 sencha/examples/here_now/app.js create mode 100644 sencha/examples/here_now/index.html create mode 100644 sencha/examples/here_now/sencha-touch-all.js create mode 100644 sencha/examples/here_now/sencha-touch.css create mode 100644 sencha/examples/history/app.js create mode 100644 sencha/examples/history/index.html create mode 100644 sencha/examples/history/sencha-touch-all.js create mode 100644 sencha/examples/history/sencha-touch.css create mode 100644 sencha/examples/subscribe/app.js create mode 100644 sencha/examples/subscribe/index.html create mode 100644 sencha/examples/subscribe/sencha-touch-all.js create mode 100644 sencha/examples/subscribe/sencha-touch.css diff --git a/modern/Makefile b/modern/Makefile index 96d1faddb..c9f26732f 100644 --- a/modern/Makefile +++ b/modern/Makefile @@ -9,7 +9,7 @@ all: build build: $(PUBNUB_MIN_JS) $(PUBNUB_CRYPTO_MIN_JS) $(PUBNUB_MIN_JS) : $(JSON_JS) $(PUBNUB_COMMON_JS) $(PUBNUB_MODERN_JS) - cat $(PUBNUB_COMMON_JS) $(PUBNUB_PLATFORM_JS) >> $(PUBNUB_JS) + cat $(PUBNUB_COMMON_JS) $(PUBNUB_PLATFORM_JS) > $(PUBNUB_JS) $(ECHO) -n "// " > $(PUBNUB_MIN_JS) $(ECHO) $(VERSION) >> $(PUBNUB_MIN_JS) $(ECHO) "(function(){" >> $(PUBNUB_MIN_JS) diff --git a/modern/pubnub.js b/modern/pubnub.js index c4084f18a..74fc95c40 100644 --- a/modern/pubnub.js +++ b/modern/pubnub.js @@ -411,7299 +411,6 @@ function PN_API(setup) { if (READY) CONNECT(); }, - /* - PUBNUB.subscribe({ - channel : 'my_chat' - callback : function(message) { } - }); - */ - 'subscribe' : function( args, callback ) { - var channel = args['channel'] - , callback = callback || args['callback'] - , callback = callback || args['message'] - , connect = args['connect'] || function(){} - , reconnect = args['reconnect'] || function(){} - , disconnect = args['disconnect'] || function(){} - , presence = args['presence'] || 0 - , noheresync = args['noheresync'] || 0 - , sub_timeout = args['timeout'] || SUB_TIMEOUT - , windowing = args['windowing'] || SUB_WINDOWING - , restore = args['restore']; - - // Restore Enabled? - if (restore) SUB_RESTORE = 1; - - TIMETOKEN = 0; - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // Setup Channel(s) - each( (channel.join ? channel.join(',') : ''+channel).split(','), - function(channel) { - var settings = CHANNELS[channel] || {}; - - // Store Channel State - CHANNELS[SUB_CHANNEL = channel] = { - name : channel, - connected : settings.connected, - disconnected : settings.disconnected, - subscribed : 1, - callback : SUB_CALLBACK = callback, - connect : connect, - disconnect : disconnect, - reconnect : reconnect - }; - - // Presence Enabled? - if (!presence) return; - - // Subscribe Presence Channel - SELF['subscribe']({ - 'channel' : channel + PRESENCE_SUFFIX, - 'callback' : presence - }); - - // Presence Subscribed? - if (settings.subscribed) return; - - // See Who's Here Now? - if (noheresync) return; - SELF['here_now']({ - 'channel' : channel, - 'callback' : function(here) { - each( 'uuids' in here ? here['uuids'] : [], - function(uid) { presence( { - 'action' : 'join', - 'uuid' : uid, - 'timestamp' : rnow(), - 'occupancy' : here['occupancy'] || 1 - }, here, channel ); } ); - } - }); - } ); - - // Test Network Connection - function _test_connection(success) { - if (success) { - // Begin Next Socket Connection - timeout( _connect, SECOND ); - } - else { - // New Origin on Failed Connection - STD_ORIGIN = nextorigin( ORIGIN, 1 ); - SUB_ORIGIN = nextorigin( ORIGIN, 1 ); - - // Re-test Connection - timeout( function() { - SELF['time'](_test_connection); - }, SECOND ); - } - - // Disconnect & Reconnect - each_channel(function(channel){ - // Reconnect - if (success && channel.disconnected) { - channel.disconnected = 0; - return channel.reconnect(channel.name); - } - - // Disconnect - if (!success && !channel.disconnected) { - channel.disconnected = 1; - channel.disconnect(channel.name); - } - }); - } - - // Evented Subscribe - function _connect() { - var jsonp = jsonp_cb() - , channels = generate_channel_list(CHANNELS).join(','); - - // Stop Connection - if (!channels) return; - - // Connect to PubNub Subscribe Servers - SUB_RECEIVER = xdr({ - timeout : sub_timeout, - callback : jsonp, - fail : function() { SELF['time'](_test_connection) }, - data : { 'uuid' : UUID }, - url : [ - SUB_ORIGIN, 'subscribe', - SUBSCRIBE_KEY, encode(channels), - jsonp, TIMETOKEN - ], - success : function(messages) { - if (!messages) return timeout( _connect, windowing ); - - // Connect - each_channel(function(channel){ - if (channel.connected) return; - channel.connected = 1; - channel.connect(channel.name); - }); - - // Restore Previous Connection Point if Needed - TIMETOKEN = !TIMETOKEN && - SUB_RESTORE && - db['get'](SUBSCRIBE_KEY) || messages[1]; - - // Update Saved Timetoken - if (TIMETOKEN) db['set']( SUBSCRIBE_KEY, messages[1] ); - - // Route Channel <---> Callback for Message - var next_callback = (function() { - var channels = (messages.length>2?messages[2]:'') - , list = channels.split(','); - - return function() { - var channel = list.shift()||''; - return [ - (CHANNELS[channel]||{}) - .callback||SUB_CALLBACK, - (channel||SUB_CHANNEL) - .split(PRESENCE_SUFFIX)[0] - ]; - }; - })(); - - each( messages[0], function(msg) { - var next = next_callback(); - if (!CHANNELS[next[1]].subscribed) return; - next[0]( msg, messages, next[1] ); - } ); - - timeout( _connect, windowing ); - } - }); - } - - CONNECT = function() { - // Close Previous Subscribe Connection - SELF['_reset_offline'](); - - // Begin Recursive Subscribe - clearTimeout(SUB_BUFF_WAIT); - SUB_BUFF_WAIT = timeout( _connect, 100 ); - }; - - // Reduce Status Flicker - if (!READY) return READY_BUFFER.push(CONNECT); - - // Connect Now - CONNECT(); - }, - - 'here_now' : function( args, callback ) { - var callback = args['callback'] || callback - , err = args['error'] || function(){} - , channel = args['channel'] - , jsonp = jsonp_cb() - , data = null; - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - if (jsonp != '0') { - data = {}; - data['callback'] = jsonp; - } - - xdr({ - callback : jsonp, - data : data, - success : function(response) { callback(response) }, - fail : err, - url : [ - STD_ORIGIN, 'v2', 'presence', - 'sub_key', SUBSCRIBE_KEY, - 'channel', encode(channel) - ] - }); - }, - - // Expose PUBNUB Functions - 'xdr' : xdr, - 'ready' : ready, - 'db' : db, - 'uuid' : uuid, - 'each' : each, - 'map' : map, - 'grep' : grep, - 'supplant' : supplant, - 'now' : rnow, - 'unique' : unique, - 'updater' : updater, - 'poll_online' : function() { - _is_online() || SELF['_reset_offline'](); - timeout( SELF['poll_online'], SECOND ); - }, - 'poll_online2' : function() { - SELF['time'](function(success){ - success || SELF['_reset_offline'](); - timeout( SELF['poll_online2'], KEEPALIVE ); - }) - } - }; - if (!UUID) UUID = SELF['uuid'](); - db['set']( SUBSCRIBE_KEY + 'uuid', UUID ); - - timeout( SELF['poll_online'], SECOND ); - timeout( SELF['poll_online2'], KEEPALIVE ); - - return SELF; -} -/* --------------------------------------------------------------------------- ---------------------------------------------------------------------------- */ - -/* --------------------------------------------------------------------------- -PubNub Real-time Cloud-Hosted Push API and Push Notification Client Frameworks -Copyright (c) 2011 PubNub Inc. -http://www.pubnub.com/ -http://www.pubnub.com/terms ---------------------------------------------------------------------------- */ - -/* --------------------------------------------------------------------------- -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. ---------------------------------------------------------------------------- */ -(function(){ - -/** - * UTIL LOCALS - */ -var NOW = 1 -, URLBIT = '/' -, PARAMSBIT = '&' -, XHRTME = 310000; - -/** - * UTILITIES - */ -//function unique() { return'x'+ ++NOW+''+(+new Date) } -//function rnow() { return+new Date } - -/** - * LOCAL STORAGE - */ -var db = (function(){ - var ls = typeof localStorage != 'undefined' && localStorage; - return { - get : function(key) { - try { - if (ls) return ls.getItem(key); - if (document.cookie.indexOf(key) == -1) return null; - return ((document.cookie||'').match( - RegExp(key+'=([^;]+)') - )||[])[1] || null; - } catch(e) { return } - }, - set : function( key, value ) { - try { - if (ls) return ls.setItem( key, value ) && 0; - document.cookie = key + '=' + value + - '; expires=Thu, 1 Aug 2030 20:00:00 UTC; path=/'; - } catch(e) { return } - } - }; -})(); - - -/** - * CORS XHR Request - * ================ - * xdr({ - * url : ['http://www.blah.com/url'], - * success : function(response) {}, - * fail : function() {} - * }); - */ -function xdr( setup ) { - var xhr - , finished = function() { - if (loaded) return; - loaded = 1; - - clearTimeout(timer); - - try { response = JSON['parse'](xhr.responseText); } - catch (r) { return done(1); } - - success(response); - } - , complete = 0 - , loaded = 0 - , timer = timeout( function(){done(1)}, XHRTME ) - , fail = setup.fail || function(){} - , success = setup.success || function(){} - , done = function(failed) { - if (complete) return; - complete = 1; - - clearTimeout(timer); - - if (xhr) { - xhr.onerror = xhr.onload = null; - xhr.abort && xhr.abort(); - xhr = null; - } - - failed && fail(); - }; - - // Send - try { - xhr = typeof XDomainRequest !== 'undefined' && - new XDomainRequest() || - new XMLHttpRequest(); - - xhr.onerror = xhr.onabort = function(){ done(1) }; - xhr.onload = xhr.onloadend = finished; - xhr.timeout = XHRTME; - url = setup.url.join(URLBIT); - if (setup.data) { - var params = []; - url += "?"; - for (key in setup.data) { - params.push(key+"="+setup.data[key]); - } - url += params.join(PARAMSBIT); - } - xhr.open( 'GET', url, true ); - xhr.send(); - } - catch(eee) { - done(0); - return xdr(setup); - } - - // Return 'done' - return done; -} - -/** - * BIND - * ==== - * bind( 'keydown', search('a')[0], function(element) { - * ... - * } ); - */ -function bind( type, el, fun ) { - each( type.split(','), function(etype) { - var rapfun = function(e) { - if (!e) e = window.event; - if (!fun(e)) { - e.cancelBubble = true; - e.returnValue = false; - e.preventDefault && e.preventDefault(); - e.stopPropagation && e.stopPropagation(); - } - }; - - if ( el.addEventListener ) el.addEventListener( etype, rapfun, false ); - else if ( el.attachEvent ) el.attachEvent( 'on' + etype, rapfun ); - else el[ 'on' + etype ] = rapfun; - } ); -} - -/** - * UNBIND - * ====== - * unbind( 'keydown', search('a')[0] ); - */ -function unbind( type, el, fun ) { - if ( el.removeEventListener ) el.removeEventListener( type, false ); - else if ( el.detachEvent ) el.detachEvent( 'on' + type, false ); - else el[ 'on' + type ] = null; -} - -/** - * LOG - * === - * var list = grep( [1,2,3], function(item) { return item % 2 } ) - */ -var log = function(){}; - -/** - * EVENTS - * ====== - * PUBNUB.events.bind( 'you-stepped-on-flower', function(message) { - * // Do Stuff with message - * } ); - * - * PUBNUB.events.fire( 'you-stepped-on-flower', "message-data" ); - * PUBNUB.events.fire( 'you-stepped-on-flower', {message:"data"} ); - * PUBNUB.events.fire( 'you-stepped-on-flower', [1,2,3] ); - * - */ -var events = { - 'list' : {}, - 'unbind' : function( name ) { events.list[name] = [] }, - 'bind' : function( name, fun ) { - (events.list[name] = events.list[name] || []).push(fun); - }, - 'fire' : function( name, data ) { - each( - events.list[name] || [], - function(fun) { fun(data) } - ); - } -}; - -/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= PUBNUB ===========================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -function PN(setup) { - - - setup['db'] = db; - setup['xdr'] = xdr; - var SELF = PN_API(setup); - - SELF['init'] = PN; - - - // Return without Testing - if (setup['notest']) return SELF; - - // Add Leave Functions - bind( 'beforeunload', window, function() { - each_channel(function(ch){ SELF['LEAVE']( ch.name, 1 ) }); - return true; - } ); - - bind( 'offline', window, SELF['_reset_offline'] ); - bind( 'offline', document, SELF['_reset_offline'] ); - - SELF['ready'](); - return SELF; -} - -typeof module !== 'undefined' && (module.exports = PN) || -typeof exports !== 'undefined' && (exports.PN = PN) || (PUBNUB = PN); - -})(); -var NOW = 1 -, READY = false -, READY_BUFFER = [] -, PRESENCE_SUFFIX = '-pnpres' -, DEF_WINDOWING = 10 // MILLISECONDS. -, DEF_TIMEOUT = 10000 // MILLISECONDS. -, DEF_SUB_TIMEOUT = 310 // SECONDS. -, DEF_KEEPALIVE = 60 // SECONDS. -, SECOND = 1000 // A THOUSAND MILLISECONDS. -, REPL = /{([\w\-]+)}/g; - -/** - * UTILITIES - */ -function unique() { return'x'+ ++NOW+''+(+new Date) } -function rnow() { return+new Date } - -/** - * NEXTORIGIN - * ========== - * var next_origin = nextorigin(); - */ -var nextorigin = (function() { - var max = 20 - , ori = Math.floor(Math.random() * max); - return function( origin, failover ) { - return origin.indexOf('pubsub.') > 0 - && origin.replace( - 'pubsub', 'ps' + ( - failover ? uuid().split('-')[0] : - (++ori < max? ori : ori=1) - ) ) || origin; - } -})(); - -/** - * UPDATER - * ======= - * var timestamp = unique(); - */ -function updater( fun, rate ) { - var timeout - , last = 0 - , runnit = function() { - if (last + rate > rnow()) { - clearTimeout(timeout); - timeout = setTimeout( runnit, rate ); - } - else { - last = rnow(); - fun(); - } - }; - - return runnit; -} - -/** - * GREP - * ==== - * var list = grep( [1,2,3], function(item) { return item % 2 } ) - */ -function grep( list, fun ) { - var fin = []; - each( list || [], function(l) { fun(l) && fin.push(l) } ); - return fin -} - -/** - * SUPPLANT - * ======== - * var text = supplant( 'Hello {name}!', { name : 'John' } ) - */ -function supplant( str, values ) { - return str.replace( REPL, function( _, match ) { - return values[match] || _ - } ); -} - -/** - * timeout - * ======= - * timeout( function(){}, 100 ); - */ -function timeout( fun, wait ) { - return setTimeout( fun, wait ); -} - -/** - * uuid - * ==== - * var my_uuid = uuid(); - */ -function uuid(callback) { - var u = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, - function(c) { - var r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8); - return v.toString(16); - }); - if (callback) callback(u); - return u; -} - -/** - * EACH - * ==== - * each( [1,2,3], function(item) { } ) - */ -function each( o, f ) { - if ( !o || !f ) return; - - if ( typeof o[0] != 'undefined' ) - for ( var i = 0, l = o.length; i < l; ) - f.call( o[i], o[i], i++ ); - else - for ( var i in o ) - o.hasOwnProperty && - o.hasOwnProperty(i) && - f.call( o[i], i, o[i] ); -} - -/** - * MAP - * === - * var list = map( [1,2,3], function(item) { return item + 1 } ) - */ -function map( list, fun ) { - var fin = []; - each( list || [], function( k, v ) { fin.push(fun( k, v )) } ); - return fin; -} - -/** - * ENCODE - * ====== - * var encoded_path = encode('path'); - */ -function encode(path) { - return map( (encodeURIComponent(path)).split(''), function(chr) { - return "-_.!~*'()".indexOf(chr) < 0 ? chr : - "%"+chr.charCodeAt(0).toString(16).toUpperCase() - } ).join(''); -} - -/** - * Generate Subscription Channel List - * ================================== - * generate_channel_list(channels_object); - */ -function generate_channel_list(channels) { - var list = []; - each( channels, function( channel, status ) { - if (status.subscribed) list.push(channel); - } ); - return list.sort(); -} - -// PUBNUB READY TO CONNECT - function ready() { timeout( function() { - if (READY) return; - READY = 1; - each( READY_BUFFER, function(connect) { connect() } ); - }, SECOND ); } - -function PN_API(setup) { - var SUB_WINDOWING = +setup['windowing'] || DEF_WINDOWING - , SUB_TIMEOUT = (+setup['timeout'] || DEF_SUB_TIMEOUT) * SECOND - , KEEPALIVE = (+setup['keepalive'] || DEF_KEEPALIVE) * SECOND - , PUBLISH_KEY = setup['publish_key'] || '' - , SUBSCRIBE_KEY = setup['subscribe_key'] || '' - , SSL = setup['ssl'] ? 's' : '' - , ORIGIN = 'http'+SSL+'://'+(setup['origin']||'pubsub.pubnub.com') - , STD_ORIGIN = nextorigin(ORIGIN) - , SUB_ORIGIN = nextorigin(ORIGIN) - , CONNECT = function(){} - , PUB_QUEUE = [] - , SUB_CALLBACK = 0 - , SUB_CHANNEL = 0 - , SUB_RECEIVER = 0 - , SUB_RESTORE = 0 - , SUB_BUFF_WAIT = 0 - , TIMETOKEN = 0 - , CHANNELS = {} - , xdr = setup['xdr'] - , _is_online = setup['_is_online'] || function() { return 1; } - , jsonp_cb = setup['jsonp_cb'] || function(){ return 0; } - , db = setup['db'] || {'get': function(){}, 'set': function(){}} - , UUID = setup['uuid'] || ( db && db['get'](SUBSCRIBE_KEY+'uuid') || ''); - - - - function publish(next) { - if (next) PUB_QUEUE.sending = 0; - if (PUB_QUEUE.sending || !PUB_QUEUE.length) return; - PUB_QUEUE.sending = 1; - xdr(PUB_QUEUE.shift()); - } - - function each_channel(callback) { - each( generate_channel_list(CHANNELS), function(channel) { - var chan = CHANNELS[channel]; - if (!chan) return; - callback(chan); - } ); - } - - // Announce Leave Event - - - var SELF = { - - '_reset_offline' : function() { - SUB_RECEIVER && SUB_RECEIVER(1); - }, - - 'LEAVE' : function( channel, blocking ) { - var data = { 'uuid' : UUID } - , origin = nextorigin(ORIGIN) - , jsonp = jsonp_cb(); - - // Prevent Leaving a Presence Channel - if (channel.indexOf(PRESENCE_SUFFIX) > 0) return; - - if (jsonp != '0') data['callback'] = jsonp; - - xdr({ - blocking : blocking || SSL, - timeout : 2000, - callback : jsonp, - data : data, - url : [ - origin, 'v2', 'presence', 'sub_key', - SUBSCRIBE_KEY, 'channel', encode(channel), 'leave' - ] - }); - }, - /* - PUBNUB.history({ - channel : 'my_chat_channel', - limit : 100, - callback : function(history) { } - }); - */ - 'history' : function( args, callback ) { - var callback = args['callback'] || callback - , count = args['count'] || args['limit'] || 100 - , reverse = args['reverse'] || "false" - , err = args['error'] || function(){} - , channel = args['channel'] - , start = args['start'] - , end = args['end'] - , params = {} - , jsonp = jsonp_cb(); - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - params['stringtoken'] = 'true'; - params['count'] = count; - params['reverse'] = reverse; - - if (jsonp) params['callback'] = jsonp; - if (start) params['start'] = start; - if (end) params['end'] = end; - - // Send Message - xdr({ - callback : jsonp, - data : params, - success : function(response) { callback(response) }, - fail : err, - url : [ - STD_ORIGIN, 'v2', 'history', 'sub-key', - SUBSCRIBE_KEY, 'channel', encode(channel) - ] - }); - }, - - /* - PUBNUB.replay({ - source : 'my_channel', - destination : 'new_channel' - }); - */ - 'replay' : function(args) { - var callback = callback || args['callback'] || function(){} - , source = args['source'] - , destination = args['destination'] - , stop = args['stop'] - , start = args['start'] - , end = args['end'] - , reverse = args['reverse'] - , limit = args['limit'] - , jsonp = jsonp_cb() - , data = {} - , url; - - // Check User Input - if (!source) return error('Missing Source Channel'); - if (!destination) return error('Missing Destination Channel'); - if (!PUBLISH_KEY) return error('Missing Publish Key'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // Setup URL Params - if (jsonp != '0') data['callback'] = jsonp; - if (stop) data['stop'] = 'all'; - if (reverse) data['reverse'] = 'true'; - if (start) data['start'] = start; - if (end) data['end'] = end; - if (limit) data['count'] = limit; - - // Compose URL Parts - url = [ - STD_ORIGIN, 'v1', 'replay', - PUBLISH_KEY, SUBSCRIBE_KEY, - source, destination - ]; - - // Start (or Stop) Replay! - xdr({ - callback : jsonp, - success : function(response) { callback(response) }, - fail : function() { callback([ 0, 'Disconnected' ]) }, - url : url, - data : data - }); - }, - - /* - PUBNUB.time(function(time){ }); - */ - 'time' : function(callback) { - var jsonp = jsonp_cb(); - xdr({ - callback : jsonp, - timeout : SECOND*5, - url : [STD_ORIGIN, 'time', jsonp], - success : function(response) { callback(response[0]) }, - fail : function() { callback(0) } - }); - }, - - /* - PUBNUB.publish({ - channel : 'my_chat_channel', - message : 'hello!' - }); - */ - 'publish' : function( args, callback ) { - var callback = callback || args['callback'] || function(){} - , msg = args['message'] - , channel = args['channel'] - , jsonp = jsonp_cb() - , url; - - if (!msg) return error('Missing Message'); - if (!channel) return error('Missing Channel'); - if (!PUBLISH_KEY) return error('Missing Publish Key'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // If trying to send Object - msg = JSON['stringify'](msg); - - // Create URL - url = [ - STD_ORIGIN, 'publish', - PUBLISH_KEY, SUBSCRIBE_KEY, - 0, encode(channel), - jsonp, encode(msg) - ]; - - // Queue Message Send - PUB_QUEUE.push({ - callback : jsonp, - timeout : SECOND*5, - url : url, - data : { 'uuid' : UUID }, - success : function(response){callback(response);publish(1)}, - fail : function(){callback([0,'Failed',msg]);publish(1)} - }); - - // Send Message - publish(); - }, - - /* - PUBNUB.unsubscribe({ channel : 'my_chat' }); - */ - 'unsubscribe' : function(args) { - var channel = args['channel']; - - TIMETOKEN = 0; - SUB_RESTORE = 1; - - // Prepare Channel(s) - channel = map( ( - channel.join ? channel.join(',') : ''+channel - ).split(','), function(channel) { - return channel + ',' + channel + PRESENCE_SUFFIX; - } ).join(','); - - // Iterate over Channels - each( channel.split(','), function(channel) { - if (READY) SELF['LEAVE']( channel, 0 ); - CHANNELS[channel] = 0; - } ); - - // ReOpen Connection if Any Channels Left - if (READY) CONNECT(); - }, - - /* - PUBNUB.subscribe({ - channel : 'my_chat' - callback : function(message) { } - }); - */ - 'subscribe' : function( args, callback ) { - var channel = args['channel'] - , callback = callback || args['callback'] - , callback = callback || args['message'] - , connect = args['connect'] || function(){} - , reconnect = args['reconnect'] || function(){} - , disconnect = args['disconnect'] || function(){} - , presence = args['presence'] || 0 - , noheresync = args['noheresync'] || 0 - , sub_timeout = args['timeout'] || SUB_TIMEOUT - , windowing = args['windowing'] || SUB_WINDOWING - , restore = args['restore']; - - // Restore Enabled? - if (restore) SUB_RESTORE = 1; - - TIMETOKEN = 0; - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // Setup Channel(s) - each( (channel.join ? channel.join(',') : ''+channel).split(','), - function(channel) { - var settings = CHANNELS[channel] || {}; - - // Store Channel State - CHANNELS[SUB_CHANNEL = channel] = { - name : channel, - connected : settings.connected, - disconnected : settings.disconnected, - subscribed : 1, - callback : SUB_CALLBACK = callback, - connect : connect, - disconnect : disconnect, - reconnect : reconnect - }; - - // Presence Enabled? - if (!presence) return; - - // Subscribe Presence Channel - SELF['subscribe']({ - 'channel' : channel + PRESENCE_SUFFIX, - 'callback' : presence - }); - - // Presence Subscribed? - if (settings.subscribed) return; - - // See Who's Here Now? - if (noheresync) return; - SELF['here_now']({ - 'channel' : channel, - 'callback' : function(here) { - each( 'uuids' in here ? here['uuids'] : [], - function(uid) { presence( { - 'action' : 'join', - 'uuid' : uid, - 'timestamp' : rnow(), - 'occupancy' : here['occupancy'] || 1 - }, here, channel ); } ); - } - }); - } ); - - // Test Network Connection - function _test_connection(success) { - if (success) { - // Begin Next Socket Connection - timeout( _connect, SECOND ); - } - else { - // New Origin on Failed Connection - STD_ORIGIN = nextorigin( ORIGIN, 1 ); - SUB_ORIGIN = nextorigin( ORIGIN, 1 ); - - // Re-test Connection - timeout( function() { - SELF['time'](_test_connection); - }, SECOND ); - } - - // Disconnect & Reconnect - each_channel(function(channel){ - // Reconnect - if (success && channel.disconnected) { - channel.disconnected = 0; - return channel.reconnect(channel.name); - } - - // Disconnect - if (!success && !channel.disconnected) { - channel.disconnected = 1; - channel.disconnect(channel.name); - } - }); - } - - // Evented Subscribe - function _connect() { - var jsonp = jsonp_cb() - , channels = generate_channel_list(CHANNELS).join(','); - - // Stop Connection - if (!channels) return; - - // Connect to PubNub Subscribe Servers - SUB_RECEIVER = xdr({ - timeout : sub_timeout, - callback : jsonp, - fail : function() { SELF['time'](_test_connection) }, - data : { 'uuid' : UUID }, - url : [ - SUB_ORIGIN, 'subscribe', - SUBSCRIBE_KEY, encode(channels), - jsonp, TIMETOKEN - ], - success : function(messages) { - if (!messages) return timeout( _connect, windowing ); - - // Connect - each_channel(function(channel){ - if (channel.connected) return; - channel.connected = 1; - channel.connect(channel.name); - }); - - // Restore Previous Connection Point if Needed - TIMETOKEN = !TIMETOKEN && - SUB_RESTORE && - db['get'](SUBSCRIBE_KEY) || messages[1]; - - // Update Saved Timetoken - if (TIMETOKEN) db['set']( SUBSCRIBE_KEY, messages[1] ); - - // Route Channel <---> Callback for Message - var next_callback = (function() { - var channels = (messages.length>2?messages[2]:'') - , list = channels.split(','); - - return function() { - var channel = list.shift()||''; - return [ - (CHANNELS[channel]||{}) - .callback||SUB_CALLBACK, - (channel||SUB_CHANNEL) - .split(PRESENCE_SUFFIX)[0] - ]; - }; - })(); - - each( messages[0], function(msg) { - var next = next_callback(); - if (!CHANNELS[next[1]].subscribed) return; - next[0]( msg, messages, next[1] ); - } ); - - timeout( _connect, windowing ); - } - }); - } - - CONNECT = function() { - // Close Previous Subscribe Connection - SELF['_reset_offline'](); - - // Begin Recursive Subscribe - clearTimeout(SUB_BUFF_WAIT); - SUB_BUFF_WAIT = timeout( _connect, 100 ); - }; - - // Reduce Status Flicker - if (!READY) return READY_BUFFER.push(CONNECT); - - // Connect Now - CONNECT(); - }, - - 'here_now' : function( args, callback ) { - var callback = args['callback'] || callback - , err = args['error'] || function(){} - , channel = args['channel'] - , jsonp = jsonp_cb() - , data = null; - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - if (jsonp != '0') { - data = {}; - data['callback'] = jsonp; - } - - xdr({ - callback : jsonp, - data : data, - success : function(response) { callback(response) }, - fail : err, - url : [ - STD_ORIGIN, 'v2', 'presence', - 'sub_key', SUBSCRIBE_KEY, - 'channel', encode(channel) - ] - }); - }, - - // Expose PUBNUB Functions - 'xdr' : xdr, - 'ready' : ready, - 'db' : db, - 'uuid' : uuid, - 'each' : each, - 'map' : map, - 'grep' : grep, - 'supplant' : supplant, - 'now' : rnow, - 'unique' : unique, - 'updater' : updater, - 'poll_online' : function() { - _is_online() || SELF['_reset_offline'](); - timeout( SELF['poll_online'], SECOND ); - }, - 'poll_online2' : function() { - SELF['time'](function(success){ - success || SELF['_reset_offline'](); - timeout( SELF['poll_online2'], KEEPALIVE ); - }) - } - }; - if (!UUID) UUID = SELF['uuid'](); - db['set']( SUBSCRIBE_KEY + 'uuid', UUID ); - - timeout( SELF['poll_online'], SECOND ); - timeout( SELF['poll_online2'], KEEPALIVE ); - - return SELF; -} -/* --------------------------------------------------------------------------- ---------------------------------------------------------------------------- */ - -/* --------------------------------------------------------------------------- -PubNub Real-time Cloud-Hosted Push API and Push Notification Client Frameworks -Copyright (c) 2011 PubNub Inc. -http://www.pubnub.com/ -http://www.pubnub.com/terms ---------------------------------------------------------------------------- */ - -/* --------------------------------------------------------------------------- -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. ---------------------------------------------------------------------------- */ -(function(){ - -/** - * UTIL LOCALS - */ -var NOW = 1 -, URLBIT = '/' -, PARAMSBIT = '&' -, XHRTME = 310000; - -/** - * UTILITIES - */ -//function unique() { return'x'+ ++NOW+''+(+new Date) } -//function rnow() { return+new Date } - -/** - * LOCAL STORAGE - */ -var db = (function(){ - var ls = typeof localStorage != 'undefined' && localStorage; - return { - get : function(key) { - try { - if (ls) return ls.getItem(key); - if (document.cookie.indexOf(key) == -1) return null; - return ((document.cookie||'').match( - RegExp(key+'=([^;]+)') - )||[])[1] || null; - } catch(e) { return } - }, - set : function( key, value ) { - try { - if (ls) return ls.setItem( key, value ) && 0; - document.cookie = key + '=' + value + - '; expires=Thu, 1 Aug 2030 20:00:00 UTC; path=/'; - } catch(e) { return } - } - }; -})(); - - -/** - * CORS XHR Request - * ================ - * xdr({ - * url : ['http://www.blah.com/url'], - * success : function(response) {}, - * fail : function() {} - * }); - */ -function xdr( setup ) { - var xhr - , finished = function() { - if (loaded) return; - loaded = 1; - - clearTimeout(timer); - - try { response = JSON['parse'](xhr.responseText); } - catch (r) { return done(1); } - - success(response); - } - , complete = 0 - , loaded = 0 - , timer = timeout( function(){done(1)}, XHRTME ) - , fail = setup.fail || function(){} - , success = setup.success || function(){} - , done = function(failed) { - if (complete) return; - complete = 1; - - clearTimeout(timer); - - if (xhr) { - xhr.onerror = xhr.onload = null; - xhr.abort && xhr.abort(); - xhr = null; - } - - failed && fail(); - }; - - // Send - try { - xhr = typeof XDomainRequest !== 'undefined' && - new XDomainRequest() || - new XMLHttpRequest(); - - xhr.onerror = xhr.onabort = function(){ done(1) }; - xhr.onload = xhr.onloadend = finished; - xhr.timeout = XHRTME; - url = setup.url.join(URLBIT); - if (setup.data) { - var params = []; - url += "?"; - for (key in setup.data) { - params.push(key+"="+setup.data[key]); - } - url += params.join(PARAMSBIT); - } - xhr.open( 'GET', url, true ); - xhr.send(); - } - catch(eee) { - done(0); - return xdr(setup); - } - - // Return 'done' - return done; -} - -/** - * BIND - * ==== - * bind( 'keydown', search('a')[0], function(element) { - * ... - * } ); - */ -function bind( type, el, fun ) { - each( type.split(','), function(etype) { - var rapfun = function(e) { - if (!e) e = window.event; - if (!fun(e)) { - e.cancelBubble = true; - e.returnValue = false; - e.preventDefault && e.preventDefault(); - e.stopPropagation && e.stopPropagation(); - } - }; - - if ( el.addEventListener ) el.addEventListener( etype, rapfun, false ); - else if ( el.attachEvent ) el.attachEvent( 'on' + etype, rapfun ); - else el[ 'on' + etype ] = rapfun; - } ); -} - -/** - * UNBIND - * ====== - * unbind( 'keydown', search('a')[0] ); - */ -function unbind( type, el, fun ) { - if ( el.removeEventListener ) el.removeEventListener( type, false ); - else if ( el.detachEvent ) el.detachEvent( 'on' + type, false ); - else el[ 'on' + type ] = null; -} - -/** - * LOG - * === - * var list = grep( [1,2,3], function(item) { return item % 2 } ) - */ -var log = function(){}; - -/** - * EVENTS - * ====== - * PUBNUB.events.bind( 'you-stepped-on-flower', function(message) { - * // Do Stuff with message - * } ); - * - * PUBNUB.events.fire( 'you-stepped-on-flower', "message-data" ); - * PUBNUB.events.fire( 'you-stepped-on-flower', {message:"data"} ); - * PUBNUB.events.fire( 'you-stepped-on-flower', [1,2,3] ); - * - */ -var events = { - 'list' : {}, - 'unbind' : function( name ) { events.list[name] = [] }, - 'bind' : function( name, fun ) { - (events.list[name] = events.list[name] || []).push(fun); - }, - 'fire' : function( name, data ) { - each( - events.list[name] || [], - function(fun) { fun(data) } - ); - } -}; - -/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= PUBNUB ===========================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -function PN(setup) { - - - setup['db'] = db; - setup['xdr'] = xdr; - var SELF = PN_API(setup); - - SELF['init'] = PN; - - - // Return without Testing - if (setup['notest']) return SELF; - - // Add Leave Functions - bind( 'beforeunload', window, function() { - each_channel(function(ch){ SELF['LEAVE']( ch.name, 1 ) }); - return true; - } ); - - bind( 'offline', window, SELF['_reset_offline'] ); - bind( 'offline', document, SELF['_reset_offline'] ); - - SELF['ready'](); - return SELF; -} - -typeof module !== 'undefined' && (module.exports = PN) || -typeof exports !== 'undefined' && (exports.PN = PN) || (PUBNUB = PN); - -})(); -var NOW = 1 -, READY = false -, READY_BUFFER = [] -, PRESENCE_SUFFIX = '-pnpres' -, DEF_WINDOWING = 10 // MILLISECONDS. -, DEF_TIMEOUT = 10000 // MILLISECONDS. -, DEF_SUB_TIMEOUT = 310 // SECONDS. -, DEF_KEEPALIVE = 60 // SECONDS. -, SECOND = 1000 // A THOUSAND MILLISECONDS. -, REPL = /{([\w\-]+)}/g; - -/** - * UTILITIES - */ -function unique() { return'x'+ ++NOW+''+(+new Date) } -function rnow() { return+new Date } - -/** - * NEXTORIGIN - * ========== - * var next_origin = nextorigin(); - */ -var nextorigin = (function() { - var max = 20 - , ori = Math.floor(Math.random() * max); - return function( origin, failover ) { - return origin.indexOf('pubsub.') > 0 - && origin.replace( - 'pubsub', 'ps' + ( - failover ? uuid().split('-')[0] : - (++ori < max? ori : ori=1) - ) ) || origin; - } -})(); - -/** - * UPDATER - * ======= - * var timestamp = unique(); - */ -function updater( fun, rate ) { - var timeout - , last = 0 - , runnit = function() { - if (last + rate > rnow()) { - clearTimeout(timeout); - timeout = setTimeout( runnit, rate ); - } - else { - last = rnow(); - fun(); - } - }; - - return runnit; -} - -/** - * GREP - * ==== - * var list = grep( [1,2,3], function(item) { return item % 2 } ) - */ -function grep( list, fun ) { - var fin = []; - each( list || [], function(l) { fun(l) && fin.push(l) } ); - return fin -} - -/** - * SUPPLANT - * ======== - * var text = supplant( 'Hello {name}!', { name : 'John' } ) - */ -function supplant( str, values ) { - return str.replace( REPL, function( _, match ) { - return values[match] || _ - } ); -} - -/** - * timeout - * ======= - * timeout( function(){}, 100 ); - */ -function timeout( fun, wait ) { - return setTimeout( fun, wait ); -} - -/** - * uuid - * ==== - * var my_uuid = uuid(); - */ -function uuid(callback) { - var u = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, - function(c) { - var r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8); - return v.toString(16); - }); - if (callback) callback(u); - return u; -} - -/** - * EACH - * ==== - * each( [1,2,3], function(item) { } ) - */ -function each( o, f ) { - if ( !o || !f ) return; - - if ( typeof o[0] != 'undefined' ) - for ( var i = 0, l = o.length; i < l; ) - f.call( o[i], o[i], i++ ); - else - for ( var i in o ) - o.hasOwnProperty && - o.hasOwnProperty(i) && - f.call( o[i], i, o[i] ); -} - -/** - * MAP - * === - * var list = map( [1,2,3], function(item) { return item + 1 } ) - */ -function map( list, fun ) { - var fin = []; - each( list || [], function( k, v ) { fin.push(fun( k, v )) } ); - return fin; -} - -/** - * ENCODE - * ====== - * var encoded_path = encode('path'); - */ -function encode(path) { - return map( (encodeURIComponent(path)).split(''), function(chr) { - return "-_.!~*'()".indexOf(chr) < 0 ? chr : - "%"+chr.charCodeAt(0).toString(16).toUpperCase() - } ).join(''); -} - -/** - * Generate Subscription Channel List - * ================================== - * generate_channel_list(channels_object); - */ -function generate_channel_list(channels) { - var list = []; - each( channels, function( channel, status ) { - if (status.subscribed) list.push(channel); - } ); - return list.sort(); -} - -// PUBNUB READY TO CONNECT - function ready() { timeout( function() { - if (READY) return; - READY = 1; - each( READY_BUFFER, function(connect) { connect() } ); - }, SECOND ); } - -function PN_API(setup) { - var SUB_WINDOWING = +setup['windowing'] || DEF_WINDOWING - , SUB_TIMEOUT = (+setup['timeout'] || DEF_SUB_TIMEOUT) * SECOND - , KEEPALIVE = (+setup['keepalive'] || DEF_KEEPALIVE) * SECOND - , PUBLISH_KEY = setup['publish_key'] || '' - , SUBSCRIBE_KEY = setup['subscribe_key'] || '' - , SSL = setup['ssl'] ? 's' : '' - , ORIGIN = 'http'+SSL+'://'+(setup['origin']||'pubsub.pubnub.com') - , STD_ORIGIN = nextorigin(ORIGIN) - , SUB_ORIGIN = nextorigin(ORIGIN) - , CONNECT = function(){} - , PUB_QUEUE = [] - , SUB_CALLBACK = 0 - , SUB_CHANNEL = 0 - , SUB_RECEIVER = 0 - , SUB_RESTORE = 0 - , SUB_BUFF_WAIT = 0 - , TIMETOKEN = 0 - , CHANNELS = {} - , xdr = setup['xdr'] - , _is_online = setup['_is_online'] || function() { return 1; } - , jsonp_cb = setup['jsonp_cb'] || function(){ return 0; } - , db = setup['db'] || {'get': function(){}, 'set': function(){}} - , UUID = setup['uuid'] || ( db && db['get'](SUBSCRIBE_KEY+'uuid') || ''); - - - - function publish(next) { - if (next) PUB_QUEUE.sending = 0; - if (PUB_QUEUE.sending || !PUB_QUEUE.length) return; - PUB_QUEUE.sending = 1; - xdr(PUB_QUEUE.shift()); - } - - function each_channel(callback) { - each( generate_channel_list(CHANNELS), function(channel) { - var chan = CHANNELS[channel]; - if (!chan) return; - callback(chan); - } ); - } - - // Announce Leave Event - - - var SELF = { - - '_reset_offline' : function() { - SUB_RECEIVER && SUB_RECEIVER(1); - }, - - 'LEAVE' : function( channel, blocking ) { - var data = { 'uuid' : UUID } - , origin = nextorigin(ORIGIN) - , jsonp = jsonp_cb(); - - // Prevent Leaving a Presence Channel - if (channel.indexOf(PRESENCE_SUFFIX) > 0) return; - - if (jsonp != '0') data['callback'] = jsonp; - - xdr({ - blocking : blocking || SSL, - timeout : 2000, - callback : jsonp, - data : data, - url : [ - origin, 'v2', 'presence', 'sub_key', - SUBSCRIBE_KEY, 'channel', encode(channel), 'leave' - ] - }); - }, - /* - PUBNUB.history({ - channel : 'my_chat_channel', - limit : 100, - callback : function(history) { } - }); - */ - 'history' : function( args, callback ) { - var callback = args['callback'] || callback - , count = args['count'] || args['limit'] || 100 - , reverse = args['reverse'] || "false" - , err = args['error'] || function(){} - , channel = args['channel'] - , start = args['start'] - , end = args['end'] - , params = {} - , jsonp = jsonp_cb(); - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - params['stringtoken'] = 'true'; - params['count'] = count; - params['reverse'] = reverse; - - if (jsonp) params['callback'] = jsonp; - if (start) params['start'] = start; - if (end) params['end'] = end; - - // Send Message - xdr({ - callback : jsonp, - data : params, - success : function(response) { callback(response) }, - fail : err, - url : [ - STD_ORIGIN, 'v2', 'history', 'sub-key', - SUBSCRIBE_KEY, 'channel', encode(channel) - ] - }); - }, - - /* - PUBNUB.replay({ - source : 'my_channel', - destination : 'new_channel' - }); - */ - 'replay' : function(args) { - var callback = callback || args['callback'] || function(){} - , source = args['source'] - , destination = args['destination'] - , stop = args['stop'] - , start = args['start'] - , end = args['end'] - , reverse = args['reverse'] - , limit = args['limit'] - , jsonp = jsonp_cb() - , data = {} - , url; - - // Check User Input - if (!source) return error('Missing Source Channel'); - if (!destination) return error('Missing Destination Channel'); - if (!PUBLISH_KEY) return error('Missing Publish Key'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // Setup URL Params - if (jsonp != '0') data['callback'] = jsonp; - if (stop) data['stop'] = 'all'; - if (reverse) data['reverse'] = 'true'; - if (start) data['start'] = start; - if (end) data['end'] = end; - if (limit) data['count'] = limit; - - // Compose URL Parts - url = [ - STD_ORIGIN, 'v1', 'replay', - PUBLISH_KEY, SUBSCRIBE_KEY, - source, destination - ]; - - // Start (or Stop) Replay! - xdr({ - callback : jsonp, - success : function(response) { callback(response) }, - fail : function() { callback([ 0, 'Disconnected' ]) }, - url : url, - data : data - }); - }, - - /* - PUBNUB.time(function(time){ }); - */ - 'time' : function(callback) { - var jsonp = jsonp_cb(); - xdr({ - callback : jsonp, - timeout : SECOND*5, - url : [STD_ORIGIN, 'time', jsonp], - success : function(response) { callback(response[0]) }, - fail : function() { callback(0) } - }); - }, - - /* - PUBNUB.publish({ - channel : 'my_chat_channel', - message : 'hello!' - }); - */ - 'publish' : function( args, callback ) { - var callback = callback || args['callback'] || function(){} - , msg = args['message'] - , channel = args['channel'] - , jsonp = jsonp_cb() - , url; - - if (!msg) return error('Missing Message'); - if (!channel) return error('Missing Channel'); - if (!PUBLISH_KEY) return error('Missing Publish Key'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // If trying to send Object - msg = JSON['stringify'](msg); - - // Create URL - url = [ - STD_ORIGIN, 'publish', - PUBLISH_KEY, SUBSCRIBE_KEY, - 0, encode(channel), - jsonp, encode(msg) - ]; - - // Queue Message Send - PUB_QUEUE.push({ - callback : jsonp, - timeout : SECOND*5, - url : url, - data : { 'uuid' : UUID }, - success : function(response){callback(response);publish(1)}, - fail : function(){callback([0,'Failed',msg]);publish(1)} - }); - - // Send Message - publish(); - }, - - /* - PUBNUB.unsubscribe({ channel : 'my_chat' }); - */ - 'unsubscribe' : function(args) { - var channel = args['channel']; - - TIMETOKEN = 0; - SUB_RESTORE = 1; - - // Prepare Channel(s) - channel = map( ( - channel.join ? channel.join(',') : ''+channel - ).split(','), function(channel) { - return channel + ',' + channel + PRESENCE_SUFFIX; - } ).join(','); - - // Iterate over Channels - each( channel.split(','), function(channel) { - if (READY) SELF['LEAVE']( channel, 0 ); - CHANNELS[channel] = 0; - } ); - - // ReOpen Connection if Any Channels Left - if (READY) CONNECT(); - }, - - /* - PUBNUB.subscribe({ - channel : 'my_chat' - callback : function(message) { } - }); - */ - 'subscribe' : function( args, callback ) { - var channel = args['channel'] - , callback = callback || args['callback'] - , callback = callback || args['message'] - , connect = args['connect'] || function(){} - , reconnect = args['reconnect'] || function(){} - , disconnect = args['disconnect'] || function(){} - , presence = args['presence'] || 0 - , noheresync = args['noheresync'] || 0 - , sub_timeout = args['timeout'] || SUB_TIMEOUT - , windowing = args['windowing'] || SUB_WINDOWING - , restore = args['restore']; - - // Restore Enabled? - if (restore) SUB_RESTORE = 1; - - TIMETOKEN = 0; - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // Setup Channel(s) - each( (channel.join ? channel.join(',') : ''+channel).split(','), - function(channel) { - var settings = CHANNELS[channel] || {}; - - // Store Channel State - CHANNELS[SUB_CHANNEL = channel] = { - name : channel, - connected : settings.connected, - disconnected : settings.disconnected, - subscribed : 1, - callback : SUB_CALLBACK = callback, - connect : connect, - disconnect : disconnect, - reconnect : reconnect - }; - - // Presence Enabled? - if (!presence) return; - - // Subscribe Presence Channel - SELF['subscribe']({ - 'channel' : channel + PRESENCE_SUFFIX, - 'callback' : presence - }); - - // Presence Subscribed? - if (settings.subscribed) return; - - // See Who's Here Now? - if (noheresync) return; - SELF['here_now']({ - 'channel' : channel, - 'callback' : function(here) { - each( 'uuids' in here ? here['uuids'] : [], - function(uid) { presence( { - 'action' : 'join', - 'uuid' : uid, - 'timestamp' : rnow(), - 'occupancy' : here['occupancy'] || 1 - }, here, channel ); } ); - } - }); - } ); - - // Test Network Connection - function _test_connection(success) { - if (success) { - // Begin Next Socket Connection - timeout( _connect, SECOND ); - } - else { - // New Origin on Failed Connection - STD_ORIGIN = nextorigin( ORIGIN, 1 ); - SUB_ORIGIN = nextorigin( ORIGIN, 1 ); - - // Re-test Connection - timeout( function() { - SELF['time'](_test_connection); - }, SECOND ); - } - - // Disconnect & Reconnect - each_channel(function(channel){ - // Reconnect - if (success && channel.disconnected) { - channel.disconnected = 0; - return channel.reconnect(channel.name); - } - - // Disconnect - if (!success && !channel.disconnected) { - channel.disconnected = 1; - channel.disconnect(channel.name); - } - }); - } - - // Evented Subscribe - function _connect() { - var jsonp = jsonp_cb() - , channels = generate_channel_list(CHANNELS).join(','); - - // Stop Connection - if (!channels) return; - - // Connect to PubNub Subscribe Servers - SUB_RECEIVER = xdr({ - timeout : sub_timeout, - callback : jsonp, - fail : function() { SELF['time'](_test_connection) }, - data : { 'uuid' : UUID }, - url : [ - SUB_ORIGIN, 'subscribe', - SUBSCRIBE_KEY, encode(channels), - jsonp, TIMETOKEN - ], - success : function(messages) { - if (!messages) return timeout( _connect, windowing ); - - // Connect - each_channel(function(channel){ - if (channel.connected) return; - channel.connected = 1; - channel.connect(channel.name); - }); - - // Restore Previous Connection Point if Needed - TIMETOKEN = !TIMETOKEN && - SUB_RESTORE && - db['get'](SUBSCRIBE_KEY) || messages[1]; - - // Update Saved Timetoken - if (TIMETOKEN) db['set']( SUBSCRIBE_KEY, messages[1] ); - - // Route Channel <---> Callback for Message - var next_callback = (function() { - var channels = (messages.length>2?messages[2]:'') - , list = channels.split(','); - - return function() { - var channel = list.shift()||''; - return [ - (CHANNELS[channel]||{}) - .callback||SUB_CALLBACK, - (channel||SUB_CHANNEL) - .split(PRESENCE_SUFFIX)[0] - ]; - }; - })(); - - each( messages[0], function(msg) { - var next = next_callback(); - if (!CHANNELS[next[1]].subscribed) return; - next[0]( msg, messages, next[1] ); - } ); - - timeout( _connect, windowing ); - } - }); - } - - CONNECT = function() { - // Close Previous Subscribe Connection - SELF['_reset_offline'](); - - // Begin Recursive Subscribe - clearTimeout(SUB_BUFF_WAIT); - SUB_BUFF_WAIT = timeout( _connect, 100 ); - }; - - // Reduce Status Flicker - if (!READY) return READY_BUFFER.push(CONNECT); - - // Connect Now - CONNECT(); - }, - - 'here_now' : function( args, callback ) { - var callback = args['callback'] || callback - , err = args['error'] || function(){} - , channel = args['channel'] - , jsonp = jsonp_cb() - , data = null; - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - if (jsonp != '0') { - data = {}; - data['callback'] = jsonp; - } - - xdr({ - callback : jsonp, - data : data, - success : function(response) { callback(response) }, - fail : err, - url : [ - STD_ORIGIN, 'v2', 'presence', - 'sub_key', SUBSCRIBE_KEY, - 'channel', encode(channel) - ] - }); - }, - - // Expose PUBNUB Functions - 'xdr' : xdr, - 'ready' : ready, - 'db' : db, - 'uuid' : uuid, - 'each' : each, - 'map' : map, - 'grep' : grep, - 'supplant' : supplant, - 'now' : rnow, - 'unique' : unique, - 'updater' : updater, - 'poll_online' : function() { - _is_online() || SELF['_reset_offline'](); - timeout( SELF['poll_online'], SECOND ); - }, - 'poll_online2' : function() { - SELF['time'](function(success){ - success || SELF['_reset_offline'](); - timeout( SELF['poll_online2'], KEEPALIVE ); - }) - } - }; - if (!UUID) UUID = SELF['uuid'](); - db['set']( SUBSCRIBE_KEY + 'uuid', UUID ); - - timeout( SELF['poll_online'], SECOND ); - timeout( SELF['poll_online2'], KEEPALIVE ); - - return SELF; -} -/* --------------------------------------------------------------------------- ---------------------------------------------------------------------------- */ - -/* --------------------------------------------------------------------------- -PubNub Real-time Cloud-Hosted Push API and Push Notification Client Frameworks -Copyright (c) 2011 PubNub Inc. -http://www.pubnub.com/ -http://www.pubnub.com/terms ---------------------------------------------------------------------------- */ - -/* --------------------------------------------------------------------------- -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. ---------------------------------------------------------------------------- */ -(function(){ - -/** - * UTIL LOCALS - */ -var NOW = 1 -, URLBIT = '/' -, PARAMSBIT = '&' -, XHRTME = 310000; - -/** - * UTILITIES - */ -//function unique() { return'x'+ ++NOW+''+(+new Date) } -//function rnow() { return+new Date } - -/** - * LOCAL STORAGE - */ -var db = (function(){ - var ls = typeof localStorage != 'undefined' && localStorage; - return { - get : function(key) { - try { - if (ls) return ls.getItem(key); - if (document.cookie.indexOf(key) == -1) return null; - return ((document.cookie||'').match( - RegExp(key+'=([^;]+)') - )||[])[1] || null; - } catch(e) { return } - }, - set : function( key, value ) { - try { - if (ls) return ls.setItem( key, value ) && 0; - document.cookie = key + '=' + value + - '; expires=Thu, 1 Aug 2030 20:00:00 UTC; path=/'; - } catch(e) { return } - } - }; -})(); - - -/** - * CORS XHR Request - * ================ - * xdr({ - * url : ['http://www.blah.com/url'], - * success : function(response) {}, - * fail : function() {} - * }); - */ -function xdr( setup ) { - var xhr - , finished = function() { - if (loaded) return; - loaded = 1; - - clearTimeout(timer); - - try { response = JSON['parse'](xhr.responseText); } - catch (r) { return done(1); } - - success(response); - } - , complete = 0 - , loaded = 0 - , timer = timeout( function(){done(1)}, XHRTME ) - , fail = setup.fail || function(){} - , success = setup.success || function(){} - , done = function(failed) { - if (complete) return; - complete = 1; - - clearTimeout(timer); - - if (xhr) { - xhr.onerror = xhr.onload = null; - xhr.abort && xhr.abort(); - xhr = null; - } - - failed && fail(); - }; - - // Send - try { - xhr = typeof XDomainRequest !== 'undefined' && - new XDomainRequest() || - new XMLHttpRequest(); - - xhr.onerror = xhr.onabort = function(){ done(1) }; - xhr.onload = xhr.onloadend = finished; - xhr.timeout = XHRTME; - url = setup.url.join(URLBIT); - if (setup.data) { - var params = []; - url += "?"; - for (key in setup.data) { - params.push(key+"="+setup.data[key]); - } - url += params.join(PARAMSBIT); - } - xhr.open( 'GET', url, true ); - xhr.send(); - } - catch(eee) { - done(0); - return xdr(setup); - } - - // Return 'done' - return done; -} - -/** - * BIND - * ==== - * bind( 'keydown', search('a')[0], function(element) { - * ... - * } ); - */ -function bind( type, el, fun ) { - each( type.split(','), function(etype) { - var rapfun = function(e) { - if (!e) e = window.event; - if (!fun(e)) { - e.cancelBubble = true; - e.returnValue = false; - e.preventDefault && e.preventDefault(); - e.stopPropagation && e.stopPropagation(); - } - }; - - if ( el.addEventListener ) el.addEventListener( etype, rapfun, false ); - else if ( el.attachEvent ) el.attachEvent( 'on' + etype, rapfun ); - else el[ 'on' + etype ] = rapfun; - } ); -} - -/** - * UNBIND - * ====== - * unbind( 'keydown', search('a')[0] ); - */ -function unbind( type, el, fun ) { - if ( el.removeEventListener ) el.removeEventListener( type, false ); - else if ( el.detachEvent ) el.detachEvent( 'on' + type, false ); - else el[ 'on' + type ] = null; -} - -/** - * LOG - * === - * var list = grep( [1,2,3], function(item) { return item % 2 } ) - */ -var log = function(){}; - -/** - * EVENTS - * ====== - * PUBNUB.events.bind( 'you-stepped-on-flower', function(message) { - * // Do Stuff with message - * } ); - * - * PUBNUB.events.fire( 'you-stepped-on-flower', "message-data" ); - * PUBNUB.events.fire( 'you-stepped-on-flower', {message:"data"} ); - * PUBNUB.events.fire( 'you-stepped-on-flower', [1,2,3] ); - * - */ -var events = { - 'list' : {}, - 'unbind' : function( name ) { events.list[name] = [] }, - 'bind' : function( name, fun ) { - (events.list[name] = events.list[name] || []).push(fun); - }, - 'fire' : function( name, data ) { - each( - events.list[name] || [], - function(fun) { fun(data) } - ); - } -}; - -/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= PUBNUB ===========================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -function PN(setup) { - - - setup['db'] = db; - setup['xdr'] = xdr; - var SELF = PN_API(setup); - - SELF['init'] = PN; - - - // Return without Testing - if (setup['notest']) return SELF; - - // Add Leave Functions - bind( 'beforeunload', window, function() { - each_channel(function(ch){ SELF['LEAVE']( ch.name, 1 ) }); - return true; - } ); - - bind( 'offline', window, SELF['_reset_offline'] ); - bind( 'offline', document, SELF['_reset_offline'] ); - - SELF['ready'](); - return SELF; -} - -typeof module !== 'undefined' && (module.exports = PN) || -typeof exports !== 'undefined' && (exports.PN = PN) || (PUBNUB = PN); - -})(); -var NOW = 1 -, READY = false -, READY_BUFFER = [] -, PRESENCE_SUFFIX = '-pnpres' -, DEF_WINDOWING = 10 // MILLISECONDS. -, DEF_TIMEOUT = 10000 // MILLISECONDS. -, DEF_SUB_TIMEOUT = 310 // SECONDS. -, DEF_KEEPALIVE = 60 // SECONDS. -, SECOND = 1000 // A THOUSAND MILLISECONDS. -, REPL = /{([\w\-]+)}/g; - -/** - * UTILITIES - */ -function unique() { return'x'+ ++NOW+''+(+new Date) } -function rnow() { return+new Date } - -/** - * NEXTORIGIN - * ========== - * var next_origin = nextorigin(); - */ -var nextorigin = (function() { - var max = 20 - , ori = Math.floor(Math.random() * max); - return function( origin, failover ) { - return origin.indexOf('pubsub.') > 0 - && origin.replace( - 'pubsub', 'ps' + ( - failover ? uuid().split('-')[0] : - (++ori < max? ori : ori=1) - ) ) || origin; - } -})(); - -/** - * UPDATER - * ======= - * var timestamp = unique(); - */ -function updater( fun, rate ) { - var timeout - , last = 0 - , runnit = function() { - if (last + rate > rnow()) { - clearTimeout(timeout); - timeout = setTimeout( runnit, rate ); - } - else { - last = rnow(); - fun(); - } - }; - - return runnit; -} - -/** - * GREP - * ==== - * var list = grep( [1,2,3], function(item) { return item % 2 } ) - */ -function grep( list, fun ) { - var fin = []; - each( list || [], function(l) { fun(l) && fin.push(l) } ); - return fin -} - -/** - * SUPPLANT - * ======== - * var text = supplant( 'Hello {name}!', { name : 'John' } ) - */ -function supplant( str, values ) { - return str.replace( REPL, function( _, match ) { - return values[match] || _ - } ); -} - -/** - * timeout - * ======= - * timeout( function(){}, 100 ); - */ -function timeout( fun, wait ) { - return setTimeout( fun, wait ); -} - -/** - * uuid - * ==== - * var my_uuid = uuid(); - */ -function uuid(callback) { - var u = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, - function(c) { - var r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8); - return v.toString(16); - }); - if (callback) callback(u); - return u; -} - -/** - * EACH - * ==== - * each( [1,2,3], function(item) { } ) - */ -function each( o, f ) { - if ( !o || !f ) return; - - if ( typeof o[0] != 'undefined' ) - for ( var i = 0, l = o.length; i < l; ) - f.call( o[i], o[i], i++ ); - else - for ( var i in o ) - o.hasOwnProperty && - o.hasOwnProperty(i) && - f.call( o[i], i, o[i] ); -} - -/** - * MAP - * === - * var list = map( [1,2,3], function(item) { return item + 1 } ) - */ -function map( list, fun ) { - var fin = []; - each( list || [], function( k, v ) { fin.push(fun( k, v )) } ); - return fin; -} - -/** - * ENCODE - * ====== - * var encoded_path = encode('path'); - */ -function encode(path) { - return map( (encodeURIComponent(path)).split(''), function(chr) { - return "-_.!~*'()".indexOf(chr) < 0 ? chr : - "%"+chr.charCodeAt(0).toString(16).toUpperCase() - } ).join(''); -} - -/** - * Generate Subscription Channel List - * ================================== - * generate_channel_list(channels_object); - */ -function generate_channel_list(channels) { - var list = []; - each( channels, function( channel, status ) { - if (status.subscribed) list.push(channel); - } ); - return list.sort(); -} - -// PUBNUB READY TO CONNECT - function ready() { timeout( function() { - if (READY) return; - READY = 1; - each( READY_BUFFER, function(connect) { connect() } ); - }, SECOND ); } - -function PN_API(setup) { - var SUB_WINDOWING = +setup['windowing'] || DEF_WINDOWING - , SUB_TIMEOUT = (+setup['timeout'] || DEF_SUB_TIMEOUT) * SECOND - , KEEPALIVE = (+setup['keepalive'] || DEF_KEEPALIVE) * SECOND - , PUBLISH_KEY = setup['publish_key'] || '' - , SUBSCRIBE_KEY = setup['subscribe_key'] || '' - , SSL = setup['ssl'] ? 's' : '' - , ORIGIN = 'http'+SSL+'://'+(setup['origin']||'pubsub.pubnub.com') - , STD_ORIGIN = nextorigin(ORIGIN) - , SUB_ORIGIN = nextorigin(ORIGIN) - , CONNECT = function(){} - , PUB_QUEUE = [] - , SUB_CALLBACK = 0 - , SUB_CHANNEL = 0 - , SUB_RECEIVER = 0 - , SUB_RESTORE = 0 - , SUB_BUFF_WAIT = 0 - , TIMETOKEN = 0 - , CHANNELS = {} - , xdr = setup['xdr'] - , _is_online = setup['_is_online'] || function() { return 1; } - , jsonp_cb = setup['jsonp_cb'] || function(){ return 0; } - , db = setup['db'] || {'get': function(){}, 'set': function(){}} - , UUID = setup['uuid'] || ( db && db['get'](SUBSCRIBE_KEY+'uuid') || ''); - - - - function publish(next) { - if (next) PUB_QUEUE.sending = 0; - if (PUB_QUEUE.sending || !PUB_QUEUE.length) return; - PUB_QUEUE.sending = 1; - xdr(PUB_QUEUE.shift()); - } - - function each_channel(callback) { - each( generate_channel_list(CHANNELS), function(channel) { - var chan = CHANNELS[channel]; - if (!chan) return; - callback(chan); - } ); - } - - // Announce Leave Event - - - var SELF = { - - '_reset_offline' : function() { - SUB_RECEIVER && SUB_RECEIVER(1); - }, - - 'LEAVE' : function( channel, blocking ) { - var data = { 'uuid' : UUID } - , origin = nextorigin(ORIGIN) - , jsonp = jsonp_cb(); - - // Prevent Leaving a Presence Channel - if (channel.indexOf(PRESENCE_SUFFIX) > 0) return; - - if (jsonp != '0') data['callback'] = jsonp; - - xdr({ - blocking : blocking || SSL, - timeout : 2000, - callback : jsonp, - data : data, - url : [ - origin, 'v2', 'presence', 'sub_key', - SUBSCRIBE_KEY, 'channel', encode(channel), 'leave' - ] - }); - }, - /* - PUBNUB.history({ - channel : 'my_chat_channel', - limit : 100, - callback : function(history) { } - }); - */ - 'history' : function( args, callback ) { - var callback = args['callback'] || callback - , count = args['count'] || args['limit'] || 100 - , reverse = args['reverse'] || "false" - , err = args['error'] || function(){} - , channel = args['channel'] - , start = args['start'] - , end = args['end'] - , params = {} - , jsonp = jsonp_cb(); - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - params['stringtoken'] = 'true'; - params['count'] = count; - params['reverse'] = reverse; - - if (jsonp) params['callback'] = jsonp; - if (start) params['start'] = start; - if (end) params['end'] = end; - - // Send Message - xdr({ - callback : jsonp, - data : params, - success : function(response) { callback(response) }, - fail : err, - url : [ - STD_ORIGIN, 'v2', 'history', 'sub-key', - SUBSCRIBE_KEY, 'channel', encode(channel) - ] - }); - }, - - /* - PUBNUB.replay({ - source : 'my_channel', - destination : 'new_channel' - }); - */ - 'replay' : function(args) { - var callback = callback || args['callback'] || function(){} - , source = args['source'] - , destination = args['destination'] - , stop = args['stop'] - , start = args['start'] - , end = args['end'] - , reverse = args['reverse'] - , limit = args['limit'] - , jsonp = jsonp_cb() - , data = {} - , url; - - // Check User Input - if (!source) return error('Missing Source Channel'); - if (!destination) return error('Missing Destination Channel'); - if (!PUBLISH_KEY) return error('Missing Publish Key'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // Setup URL Params - if (jsonp != '0') data['callback'] = jsonp; - if (stop) data['stop'] = 'all'; - if (reverse) data['reverse'] = 'true'; - if (start) data['start'] = start; - if (end) data['end'] = end; - if (limit) data['count'] = limit; - - // Compose URL Parts - url = [ - STD_ORIGIN, 'v1', 'replay', - PUBLISH_KEY, SUBSCRIBE_KEY, - source, destination - ]; - - // Start (or Stop) Replay! - xdr({ - callback : jsonp, - success : function(response) { callback(response) }, - fail : function() { callback([ 0, 'Disconnected' ]) }, - url : url, - data : data - }); - }, - - /* - PUBNUB.time(function(time){ }); - */ - 'time' : function(callback) { - var jsonp = jsonp_cb(); - xdr({ - callback : jsonp, - timeout : SECOND*5, - url : [STD_ORIGIN, 'time', jsonp], - success : function(response) { callback(response[0]) }, - fail : function() { callback(0) } - }); - }, - - /* - PUBNUB.publish({ - channel : 'my_chat_channel', - message : 'hello!' - }); - */ - 'publish' : function( args, callback ) { - var callback = callback || args['callback'] || function(){} - , msg = args['message'] - , channel = args['channel'] - , jsonp = jsonp_cb() - , url; - - if (!msg) return error('Missing Message'); - if (!channel) return error('Missing Channel'); - if (!PUBLISH_KEY) return error('Missing Publish Key'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // If trying to send Object - msg = JSON['stringify'](msg); - - // Create URL - url = [ - STD_ORIGIN, 'publish', - PUBLISH_KEY, SUBSCRIBE_KEY, - 0, encode(channel), - jsonp, encode(msg) - ]; - - // Queue Message Send - PUB_QUEUE.push({ - callback : jsonp, - timeout : SECOND*5, - url : url, - data : { 'uuid' : UUID }, - success : function(response){callback(response);publish(1)}, - fail : function(){callback([0,'Failed',msg]);publish(1)} - }); - - // Send Message - publish(); - }, - - /* - PUBNUB.unsubscribe({ channel : 'my_chat' }); - */ - 'unsubscribe' : function(args) { - var channel = args['channel']; - - TIMETOKEN = 0; - SUB_RESTORE = 1; - - // Prepare Channel(s) - channel = map( ( - channel.join ? channel.join(',') : ''+channel - ).split(','), function(channel) { - return channel + ',' + channel + PRESENCE_SUFFIX; - } ).join(','); - - // Iterate over Channels - each( channel.split(','), function(channel) { - if (READY) SELF['LEAVE']( channel, 0 ); - CHANNELS[channel] = 0; - } ); - - // ReOpen Connection if Any Channels Left - if (READY) CONNECT(); - }, - - /* - PUBNUB.subscribe({ - channel : 'my_chat' - callback : function(message) { } - }); - */ - 'subscribe' : function( args, callback ) { - var channel = args['channel'] - , callback = callback || args['callback'] - , callback = callback || args['message'] - , connect = args['connect'] || function(){} - , reconnect = args['reconnect'] || function(){} - , disconnect = args['disconnect'] || function(){} - , presence = args['presence'] || 0 - , noheresync = args['noheresync'] || 0 - , sub_timeout = args['timeout'] || SUB_TIMEOUT - , windowing = args['windowing'] || SUB_WINDOWING - , restore = args['restore']; - - // Restore Enabled? - if (restore) SUB_RESTORE = 1; - - TIMETOKEN = 0; - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // Setup Channel(s) - each( (channel.join ? channel.join(',') : ''+channel).split(','), - function(channel) { - var settings = CHANNELS[channel] || {}; - - // Store Channel State - CHANNELS[SUB_CHANNEL = channel] = { - name : channel, - connected : settings.connected, - disconnected : settings.disconnected, - subscribed : 1, - callback : SUB_CALLBACK = callback, - connect : connect, - disconnect : disconnect, - reconnect : reconnect - }; - - // Presence Enabled? - if (!presence) return; - - // Subscribe Presence Channel - SELF['subscribe']({ - 'channel' : channel + PRESENCE_SUFFIX, - 'callback' : presence - }); - - // Presence Subscribed? - if (settings.subscribed) return; - - // See Who's Here Now? - if (noheresync) return; - SELF['here_now']({ - 'channel' : channel, - 'callback' : function(here) { - each( 'uuids' in here ? here['uuids'] : [], - function(uid) { presence( { - 'action' : 'join', - 'uuid' : uid, - 'timestamp' : rnow(), - 'occupancy' : here['occupancy'] || 1 - }, here, channel ); } ); - } - }); - } ); - - // Test Network Connection - function _test_connection(success) { - if (success) { - // Begin Next Socket Connection - timeout( _connect, SECOND ); - } - else { - // New Origin on Failed Connection - STD_ORIGIN = nextorigin( ORIGIN, 1 ); - SUB_ORIGIN = nextorigin( ORIGIN, 1 ); - - // Re-test Connection - timeout( function() { - SELF['time'](_test_connection); - }, SECOND ); - } - - // Disconnect & Reconnect - each_channel(function(channel){ - // Reconnect - if (success && channel.disconnected) { - channel.disconnected = 0; - return channel.reconnect(channel.name); - } - - // Disconnect - if (!success && !channel.disconnected) { - channel.disconnected = 1; - channel.disconnect(channel.name); - } - }); - } - - // Evented Subscribe - function _connect() { - var jsonp = jsonp_cb() - , channels = generate_channel_list(CHANNELS).join(','); - - // Stop Connection - if (!channels) return; - - // Connect to PubNub Subscribe Servers - SUB_RECEIVER = xdr({ - timeout : sub_timeout, - callback : jsonp, - fail : function() { SELF['time'](_test_connection) }, - data : { 'uuid' : UUID }, - url : [ - SUB_ORIGIN, 'subscribe', - SUBSCRIBE_KEY, encode(channels), - jsonp, TIMETOKEN - ], - success : function(messages) { - if (!messages) return timeout( _connect, windowing ); - - // Connect - each_channel(function(channel){ - if (channel.connected) return; - channel.connected = 1; - channel.connect(channel.name); - }); - - // Restore Previous Connection Point if Needed - TIMETOKEN = !TIMETOKEN && - SUB_RESTORE && - db['get'](SUBSCRIBE_KEY) || messages[1]; - - // Update Saved Timetoken - if (TIMETOKEN) db['set']( SUBSCRIBE_KEY, messages[1] ); - - // Route Channel <---> Callback for Message - var next_callback = (function() { - var channels = (messages.length>2?messages[2]:'') - , list = channels.split(','); - - return function() { - var channel = list.shift()||''; - return [ - (CHANNELS[channel]||{}) - .callback||SUB_CALLBACK, - (channel||SUB_CHANNEL) - .split(PRESENCE_SUFFIX)[0] - ]; - }; - })(); - - each( messages[0], function(msg) { - var next = next_callback(); - if (!CHANNELS[next[1]].subscribed) return; - next[0]( msg, messages, next[1] ); - } ); - - timeout( _connect, windowing ); - } - }); - } - - CONNECT = function() { - // Close Previous Subscribe Connection - SELF['_reset_offline'](); - - // Begin Recursive Subscribe - clearTimeout(SUB_BUFF_WAIT); - SUB_BUFF_WAIT = timeout( _connect, 100 ); - }; - - // Reduce Status Flicker - if (!READY) return READY_BUFFER.push(CONNECT); - - // Connect Now - CONNECT(); - }, - - 'here_now' : function( args, callback ) { - var callback = args['callback'] || callback - , err = args['error'] || function(){} - , channel = args['channel'] - , jsonp = jsonp_cb() - , data = null; - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - if (jsonp != '0') { - data = {}; - data['callback'] = jsonp; - } - - xdr({ - callback : jsonp, - data : data, - success : function(response) { callback(response) }, - fail : err, - url : [ - STD_ORIGIN, 'v2', 'presence', - 'sub_key', SUBSCRIBE_KEY, - 'channel', encode(channel) - ] - }); - }, - - // Expose PUBNUB Functions - 'xdr' : xdr, - 'ready' : ready, - 'db' : db, - 'uuid' : uuid, - 'each' : each, - 'map' : map, - 'grep' : grep, - 'supplant' : supplant, - 'now' : rnow, - 'unique' : unique, - 'updater' : updater, - 'poll_online' : function() { - _is_online() || SELF['_reset_offline'](); - timeout( SELF['poll_online'], SECOND ); - }, - 'poll_online2' : function() { - SELF['time'](function(success){ - success || SELF['_reset_offline'](); - timeout( SELF['poll_online2'], KEEPALIVE ); - }) - } - }; - if (!UUID) UUID = SELF['uuid'](); - db['set']( SUBSCRIBE_KEY + 'uuid', UUID ); - - timeout( SELF['poll_online'], SECOND ); - timeout( SELF['poll_online2'], KEEPALIVE ); - - return SELF; -} -/* --------------------------------------------------------------------------- ---------------------------------------------------------------------------- */ - -/* --------------------------------------------------------------------------- -PubNub Real-time Cloud-Hosted Push API and Push Notification Client Frameworks -Copyright (c) 2011 PubNub Inc. -http://www.pubnub.com/ -http://www.pubnub.com/terms ---------------------------------------------------------------------------- */ - -/* --------------------------------------------------------------------------- -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. ---------------------------------------------------------------------------- */ -(function(){ - -/** - * UTIL LOCALS - */ -var NOW = 1 -, URLBIT = '/' -, PARAMSBIT = '&' -, XHRTME = 310000; - -/** - * UTILITIES - */ -//function unique() { return'x'+ ++NOW+''+(+new Date) } -//function rnow() { return+new Date } - -/** - * LOCAL STORAGE - */ -var db = (function(){ - var ls = typeof localStorage != 'undefined' && localStorage; - return { - get : function(key) { - try { - if (ls) return ls.getItem(key); - if (document.cookie.indexOf(key) == -1) return null; - return ((document.cookie||'').match( - RegExp(key+'=([^;]+)') - )||[])[1] || null; - } catch(e) { return } - }, - set : function( key, value ) { - try { - if (ls) return ls.setItem( key, value ) && 0; - document.cookie = key + '=' + value + - '; expires=Thu, 1 Aug 2030 20:00:00 UTC; path=/'; - } catch(e) { return } - } - }; -})(); - - -/** - * CORS XHR Request - * ================ - * xdr({ - * url : ['http://www.blah.com/url'], - * success : function(response) {}, - * fail : function() {} - * }); - */ -function xdr( setup ) { - var xhr - , finished = function() { - if (loaded) return; - loaded = 1; - - clearTimeout(timer); - - try { response = JSON['parse'](xhr.responseText); } - catch (r) { return done(1); } - - success(response); - } - , complete = 0 - , loaded = 0 - , timer = timeout( function(){done(1)}, XHRTME ) - , fail = setup.fail || function(){} - , success = setup.success || function(){} - , done = function(failed) { - if (complete) return; - complete = 1; - - clearTimeout(timer); - - if (xhr) { - xhr.onerror = xhr.onload = null; - xhr.abort && xhr.abort(); - xhr = null; - } - - failed && fail(); - }; - - // Send - try { - xhr = typeof XDomainRequest !== 'undefined' && - new XDomainRequest() || - new XMLHttpRequest(); - - xhr.onerror = xhr.onabort = function(){ done(1) }; - xhr.onload = xhr.onloadend = finished; - xhr.timeout = XHRTME; - url = setup.url.join(URLBIT); - if (setup.data) { - var params = []; - url += "?"; - for (key in setup.data) { - params.push(key+"="+setup.data[key]); - } - url += params.join(PARAMSBIT); - } - xhr.open( 'GET', url, true ); - xhr.send(); - } - catch(eee) { - done(0); - return xdr(setup); - } - - // Return 'done' - return done; -} - -/** - * BIND - * ==== - * bind( 'keydown', search('a')[0], function(element) { - * ... - * } ); - */ -function bind( type, el, fun ) { - each( type.split(','), function(etype) { - var rapfun = function(e) { - if (!e) e = window.event; - if (!fun(e)) { - e.cancelBubble = true; - e.returnValue = false; - e.preventDefault && e.preventDefault(); - e.stopPropagation && e.stopPropagation(); - } - }; - - if ( el.addEventListener ) el.addEventListener( etype, rapfun, false ); - else if ( el.attachEvent ) el.attachEvent( 'on' + etype, rapfun ); - else el[ 'on' + etype ] = rapfun; - } ); -} - -/** - * UNBIND - * ====== - * unbind( 'keydown', search('a')[0] ); - */ -function unbind( type, el, fun ) { - if ( el.removeEventListener ) el.removeEventListener( type, false ); - else if ( el.detachEvent ) el.detachEvent( 'on' + type, false ); - else el[ 'on' + type ] = null; -} - -/** - * LOG - * === - * var list = grep( [1,2,3], function(item) { return item % 2 } ) - */ -var log = function(){}; - -/** - * EVENTS - * ====== - * PUBNUB.events.bind( 'you-stepped-on-flower', function(message) { - * // Do Stuff with message - * } ); - * - * PUBNUB.events.fire( 'you-stepped-on-flower', "message-data" ); - * PUBNUB.events.fire( 'you-stepped-on-flower', {message:"data"} ); - * PUBNUB.events.fire( 'you-stepped-on-flower', [1,2,3] ); - * - */ -var events = { - 'list' : {}, - 'unbind' : function( name ) { events.list[name] = [] }, - 'bind' : function( name, fun ) { - (events.list[name] = events.list[name] || []).push(fun); - }, - 'fire' : function( name, data ) { - each( - events.list[name] || [], - function(fun) { fun(data) } - ); - } -}; - -/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= PUBNUB ===========================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -function PN(setup) { - - - setup['db'] = db; - setup['xdr'] = xdr; - var SELF = PN_API(setup); - - SELF['init'] = PN; - - - // Return without Testing - if (setup['notest']) return SELF; - - // Add Leave Functions - bind( 'beforeunload', window, function() { - each_channel(function(ch){ SELF['LEAVE']( ch.name, 1 ) }); - return true; - } ); - - bind( 'offline', window, SELF['_reset_offline'] ); - bind( 'offline', document, SELF['_reset_offline'] ); - - SELF['ready'](); - return SELF; -} - -typeof module !== 'undefined' && (module.exports = PN) || -typeof exports !== 'undefined' && (exports.PN = PN) || (PUBNUB = PN); - -})(); -var NOW = 1 -, READY = false -, READY_BUFFER = [] -, PRESENCE_SUFFIX = '-pnpres' -, DEF_WINDOWING = 10 // MILLISECONDS. -, DEF_TIMEOUT = 10000 // MILLISECONDS. -, DEF_SUB_TIMEOUT = 310 // SECONDS. -, DEF_KEEPALIVE = 60 // SECONDS. -, SECOND = 1000 // A THOUSAND MILLISECONDS. -, REPL = /{([\w\-]+)}/g; - -/** - * UTILITIES - */ -function unique() { return'x'+ ++NOW+''+(+new Date) } -function rnow() { return+new Date } - -/** - * NEXTORIGIN - * ========== - * var next_origin = nextorigin(); - */ -var nextorigin = (function() { - var max = 20 - , ori = Math.floor(Math.random() * max); - return function( origin, failover ) { - return origin.indexOf('pubsub.') > 0 - && origin.replace( - 'pubsub', 'ps' + ( - failover ? uuid().split('-')[0] : - (++ori < max? ori : ori=1) - ) ) || origin; - } -})(); - -/** - * UPDATER - * ======= - * var timestamp = unique(); - */ -function updater( fun, rate ) { - var timeout - , last = 0 - , runnit = function() { - if (last + rate > rnow()) { - clearTimeout(timeout); - timeout = setTimeout( runnit, rate ); - } - else { - last = rnow(); - fun(); - } - }; - - return runnit; -} - -/** - * GREP - * ==== - * var list = grep( [1,2,3], function(item) { return item % 2 } ) - */ -function grep( list, fun ) { - var fin = []; - each( list || [], function(l) { fun(l) && fin.push(l) } ); - return fin -} - -/** - * SUPPLANT - * ======== - * var text = supplant( 'Hello {name}!', { name : 'John' } ) - */ -function supplant( str, values ) { - return str.replace( REPL, function( _, match ) { - return values[match] || _ - } ); -} - -/** - * timeout - * ======= - * timeout( function(){}, 100 ); - */ -function timeout( fun, wait ) { - return setTimeout( fun, wait ); -} - -/** - * uuid - * ==== - * var my_uuid = uuid(); - */ -function uuid(callback) { - var u = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, - function(c) { - var r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8); - return v.toString(16); - }); - if (callback) callback(u); - return u; -} - -/** - * EACH - * ==== - * each( [1,2,3], function(item) { } ) - */ -function each( o, f ) { - if ( !o || !f ) return; - - if ( typeof o[0] != 'undefined' ) - for ( var i = 0, l = o.length; i < l; ) - f.call( o[i], o[i], i++ ); - else - for ( var i in o ) - o.hasOwnProperty && - o.hasOwnProperty(i) && - f.call( o[i], i, o[i] ); -} - -/** - * MAP - * === - * var list = map( [1,2,3], function(item) { return item + 1 } ) - */ -function map( list, fun ) { - var fin = []; - each( list || [], function( k, v ) { fin.push(fun( k, v )) } ); - return fin; -} - -/** - * ENCODE - * ====== - * var encoded_path = encode('path'); - */ -function encode(path) { - return map( (encodeURIComponent(path)).split(''), function(chr) { - return "-_.!~*'()".indexOf(chr) < 0 ? chr : - "%"+chr.charCodeAt(0).toString(16).toUpperCase() - } ).join(''); -} - -/** - * Generate Subscription Channel List - * ================================== - * generate_channel_list(channels_object); - */ -function generate_channel_list(channels) { - var list = []; - each( channels, function( channel, status ) { - if (status.subscribed) list.push(channel); - } ); - return list.sort(); -} - -// PUBNUB READY TO CONNECT - function ready() { timeout( function() { - if (READY) return; - READY = 1; - each( READY_BUFFER, function(connect) { connect() } ); - }, SECOND ); } - -function PN_API(setup) { - var SUB_WINDOWING = +setup['windowing'] || DEF_WINDOWING - , SUB_TIMEOUT = (+setup['timeout'] || DEF_SUB_TIMEOUT) * SECOND - , KEEPALIVE = (+setup['keepalive'] || DEF_KEEPALIVE) * SECOND - , PUBLISH_KEY = setup['publish_key'] || '' - , SUBSCRIBE_KEY = setup['subscribe_key'] || '' - , SSL = setup['ssl'] ? 's' : '' - , ORIGIN = 'http'+SSL+'://'+(setup['origin']||'pubsub.pubnub.com') - , STD_ORIGIN = nextorigin(ORIGIN) - , SUB_ORIGIN = nextorigin(ORIGIN) - , CONNECT = function(){} - , PUB_QUEUE = [] - , SUB_CALLBACK = 0 - , SUB_CHANNEL = 0 - , SUB_RECEIVER = 0 - , SUB_RESTORE = 0 - , SUB_BUFF_WAIT = 0 - , TIMETOKEN = 0 - , CHANNELS = {} - , xdr = setup['xdr'] - , _is_online = setup['_is_online'] || function() { return 1; } - , jsonp_cb = setup['jsonp_cb'] || function(){ return 0; } - , db = setup['db'] || {'get': function(){}, 'set': function(){}} - , UUID = setup['uuid'] || ( db && db['get'](SUBSCRIBE_KEY+'uuid') || ''); - - - - function publish(next) { - if (next) PUB_QUEUE.sending = 0; - if (PUB_QUEUE.sending || !PUB_QUEUE.length) return; - PUB_QUEUE.sending = 1; - xdr(PUB_QUEUE.shift()); - } - - function each_channel(callback) { - each( generate_channel_list(CHANNELS), function(channel) { - var chan = CHANNELS[channel]; - if (!chan) return; - callback(chan); - } ); - } - - // Announce Leave Event - - - var SELF = { - - '_reset_offline' : function() { - SUB_RECEIVER && SUB_RECEIVER(1); - }, - - 'LEAVE' : function( channel, blocking ) { - var data = { 'uuid' : UUID } - , origin = nextorigin(ORIGIN) - , jsonp = jsonp_cb(); - - // Prevent Leaving a Presence Channel - if (channel.indexOf(PRESENCE_SUFFIX) > 0) return; - - if (jsonp != '0') data['callback'] = jsonp; - - xdr({ - blocking : blocking || SSL, - timeout : 2000, - callback : jsonp, - data : data, - url : [ - origin, 'v2', 'presence', 'sub_key', - SUBSCRIBE_KEY, 'channel', encode(channel), 'leave' - ] - }); - }, - /* - PUBNUB.history({ - channel : 'my_chat_channel', - limit : 100, - callback : function(history) { } - }); - */ - 'history' : function( args, callback ) { - var callback = args['callback'] || callback - , count = args['count'] || args['limit'] || 100 - , reverse = args['reverse'] || "false" - , err = args['error'] || function(){} - , channel = args['channel'] - , start = args['start'] - , end = args['end'] - , params = {} - , jsonp = jsonp_cb(); - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - params['stringtoken'] = 'true'; - params['count'] = count; - params['reverse'] = reverse; - - if (jsonp) params['callback'] = jsonp; - if (start) params['start'] = start; - if (end) params['end'] = end; - - // Send Message - xdr({ - callback : jsonp, - data : params, - success : function(response) { callback(response) }, - fail : err, - url : [ - STD_ORIGIN, 'v2', 'history', 'sub-key', - SUBSCRIBE_KEY, 'channel', encode(channel) - ] - }); - }, - - /* - PUBNUB.replay({ - source : 'my_channel', - destination : 'new_channel' - }); - */ - 'replay' : function(args) { - var callback = callback || args['callback'] || function(){} - , source = args['source'] - , destination = args['destination'] - , stop = args['stop'] - , start = args['start'] - , end = args['end'] - , reverse = args['reverse'] - , limit = args['limit'] - , jsonp = jsonp_cb() - , data = {} - , url; - - // Check User Input - if (!source) return error('Missing Source Channel'); - if (!destination) return error('Missing Destination Channel'); - if (!PUBLISH_KEY) return error('Missing Publish Key'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // Setup URL Params - if (jsonp != '0') data['callback'] = jsonp; - if (stop) data['stop'] = 'all'; - if (reverse) data['reverse'] = 'true'; - if (start) data['start'] = start; - if (end) data['end'] = end; - if (limit) data['count'] = limit; - - // Compose URL Parts - url = [ - STD_ORIGIN, 'v1', 'replay', - PUBLISH_KEY, SUBSCRIBE_KEY, - source, destination - ]; - - // Start (or Stop) Replay! - xdr({ - callback : jsonp, - success : function(response) { callback(response) }, - fail : function() { callback([ 0, 'Disconnected' ]) }, - url : url, - data : data - }); - }, - - /* - PUBNUB.time(function(time){ }); - */ - 'time' : function(callback) { - var jsonp = jsonp_cb(); - xdr({ - callback : jsonp, - timeout : SECOND*5, - url : [STD_ORIGIN, 'time', jsonp], - success : function(response) { callback(response[0]) }, - fail : function() { callback(0) } - }); - }, - - /* - PUBNUB.publish({ - channel : 'my_chat_channel', - message : 'hello!' - }); - */ - 'publish' : function( args, callback ) { - var callback = callback || args['callback'] || function(){} - , msg = args['message'] - , channel = args['channel'] - , jsonp = jsonp_cb() - , url; - - if (!msg) return error('Missing Message'); - if (!channel) return error('Missing Channel'); - if (!PUBLISH_KEY) return error('Missing Publish Key'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // If trying to send Object - msg = JSON['stringify'](msg); - - // Create URL - url = [ - STD_ORIGIN, 'publish', - PUBLISH_KEY, SUBSCRIBE_KEY, - 0, encode(channel), - jsonp, encode(msg) - ]; - - // Queue Message Send - PUB_QUEUE.push({ - callback : jsonp, - timeout : SECOND*5, - url : url, - data : { 'uuid' : UUID }, - success : function(response){callback(response);publish(1)}, - fail : function(){callback([0,'Failed',msg]);publish(1)} - }); - - // Send Message - publish(); - }, - - /* - PUBNUB.unsubscribe({ channel : 'my_chat' }); - */ - 'unsubscribe' : function(args) { - var channel = args['channel']; - - TIMETOKEN = 0; - SUB_RESTORE = 1; - - // Prepare Channel(s) - channel = map( ( - channel.join ? channel.join(',') : ''+channel - ).split(','), function(channel) { - return channel + ',' + channel + PRESENCE_SUFFIX; - } ).join(','); - - // Iterate over Channels - each( channel.split(','), function(channel) { - if (READY) SELF['LEAVE']( channel, 0 ); - CHANNELS[channel] = 0; - } ); - - // ReOpen Connection if Any Channels Left - if (READY) CONNECT(); - }, - - /* - PUBNUB.subscribe({ - channel : 'my_chat' - callback : function(message) { } - }); - */ - 'subscribe' : function( args, callback ) { - var channel = args['channel'] - , callback = callback || args['callback'] - , callback = callback || args['message'] - , connect = args['connect'] || function(){} - , reconnect = args['reconnect'] || function(){} - , disconnect = args['disconnect'] || function(){} - , presence = args['presence'] || 0 - , noheresync = args['noheresync'] || 0 - , sub_timeout = args['timeout'] || SUB_TIMEOUT - , windowing = args['windowing'] || SUB_WINDOWING - , restore = args['restore']; - - // Restore Enabled? - if (restore) SUB_RESTORE = 1; - - TIMETOKEN = 0; - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // Setup Channel(s) - each( (channel.join ? channel.join(',') : ''+channel).split(','), - function(channel) { - var settings = CHANNELS[channel] || {}; - - // Store Channel State - CHANNELS[SUB_CHANNEL = channel] = { - name : channel, - connected : settings.connected, - disconnected : settings.disconnected, - subscribed : 1, - callback : SUB_CALLBACK = callback, - connect : connect, - disconnect : disconnect, - reconnect : reconnect - }; - - // Presence Enabled? - if (!presence) return; - - // Subscribe Presence Channel - SELF['subscribe']({ - 'channel' : channel + PRESENCE_SUFFIX, - 'callback' : presence - }); - - // Presence Subscribed? - if (settings.subscribed) return; - - // See Who's Here Now? - if (noheresync) return; - SELF['here_now']({ - 'channel' : channel, - 'callback' : function(here) { - each( 'uuids' in here ? here['uuids'] : [], - function(uid) { presence( { - 'action' : 'join', - 'uuid' : uid, - 'timestamp' : rnow(), - 'occupancy' : here['occupancy'] || 1 - }, here, channel ); } ); - } - }); - } ); - - // Test Network Connection - function _test_connection(success) { - if (success) { - // Begin Next Socket Connection - timeout( _connect, SECOND ); - } - else { - // New Origin on Failed Connection - STD_ORIGIN = nextorigin( ORIGIN, 1 ); - SUB_ORIGIN = nextorigin( ORIGIN, 1 ); - - // Re-test Connection - timeout( function() { - SELF['time'](_test_connection); - }, SECOND ); - } - - // Disconnect & Reconnect - each_channel(function(channel){ - // Reconnect - if (success && channel.disconnected) { - channel.disconnected = 0; - return channel.reconnect(channel.name); - } - - // Disconnect - if (!success && !channel.disconnected) { - channel.disconnected = 1; - channel.disconnect(channel.name); - } - }); - } - - // Evented Subscribe - function _connect() { - var jsonp = jsonp_cb() - , channels = generate_channel_list(CHANNELS).join(','); - - // Stop Connection - if (!channels) return; - - // Connect to PubNub Subscribe Servers - SUB_RECEIVER = xdr({ - timeout : sub_timeout, - callback : jsonp, - fail : function() { SELF['time'](_test_connection) }, - data : { 'uuid' : UUID }, - url : [ - SUB_ORIGIN, 'subscribe', - SUBSCRIBE_KEY, encode(channels), - jsonp, TIMETOKEN - ], - success : function(messages) { - if (!messages) return timeout( _connect, windowing ); - - // Connect - each_channel(function(channel){ - if (channel.connected) return; - channel.connected = 1; - channel.connect(channel.name); - }); - - // Restore Previous Connection Point if Needed - TIMETOKEN = !TIMETOKEN && - SUB_RESTORE && - db['get'](SUBSCRIBE_KEY) || messages[1]; - - // Update Saved Timetoken - if (TIMETOKEN) db['set']( SUBSCRIBE_KEY, messages[1] ); - - // Route Channel <---> Callback for Message - var next_callback = (function() { - var channels = (messages.length>2?messages[2]:'') - , list = channels.split(','); - - return function() { - var channel = list.shift()||''; - return [ - (CHANNELS[channel]||{}) - .callback||SUB_CALLBACK, - (channel||SUB_CHANNEL) - .split(PRESENCE_SUFFIX)[0] - ]; - }; - })(); - - each( messages[0], function(msg) { - var next = next_callback(); - if (!CHANNELS[next[1]].subscribed) return; - next[0]( msg, messages, next[1] ); - } ); - - timeout( _connect, windowing ); - } - }); - } - - CONNECT = function() { - // Close Previous Subscribe Connection - SELF['_reset_offline'](); - - // Begin Recursive Subscribe - clearTimeout(SUB_BUFF_WAIT); - SUB_BUFF_WAIT = timeout( _connect, 100 ); - }; - - // Reduce Status Flicker - if (!READY) return READY_BUFFER.push(CONNECT); - - // Connect Now - CONNECT(); - }, - - 'here_now' : function( args, callback ) { - var callback = args['callback'] || callback - , err = args['error'] || function(){} - , channel = args['channel'] - , jsonp = jsonp_cb() - , data = null; - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - if (jsonp != '0') { - data = {}; - data['callback'] = jsonp; - } - - xdr({ - callback : jsonp, - data : data, - success : function(response) { callback(response) }, - fail : err, - url : [ - STD_ORIGIN, 'v2', 'presence', - 'sub_key', SUBSCRIBE_KEY, - 'channel', encode(channel) - ] - }); - }, - - // Expose PUBNUB Functions - 'xdr' : xdr, - 'ready' : ready, - 'db' : db, - 'uuid' : uuid, - 'each' : each, - 'map' : map, - 'grep' : grep, - 'supplant' : supplant, - 'now' : rnow, - 'unique' : unique, - 'updater' : updater, - 'poll_online' : function() { - _is_online() || SELF['_reset_offline'](); - timeout( SELF['poll_online'], SECOND ); - }, - 'poll_online2' : function() { - SELF['time'](function(success){ - success || SELF['_reset_offline'](); - timeout( SELF['poll_online2'], KEEPALIVE ); - }) - } - }; - if (!UUID) UUID = SELF['uuid'](); - db['set']( SUBSCRIBE_KEY + 'uuid', UUID ); - - timeout( SELF['poll_online'], SECOND ); - timeout( SELF['poll_online2'], KEEPALIVE ); - - return SELF; -} -/* --------------------------------------------------------------------------- ---------------------------------------------------------------------------- */ - -/* --------------------------------------------------------------------------- -PubNub Real-time Cloud-Hosted Push API and Push Notification Client Frameworks -Copyright (c) 2011 PubNub Inc. -http://www.pubnub.com/ -http://www.pubnub.com/terms ---------------------------------------------------------------------------- */ - -/* --------------------------------------------------------------------------- -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. ---------------------------------------------------------------------------- */ -(function(){ - -/** - * UTIL LOCALS - */ -var NOW = 1 -, URLBIT = '/' -, PARAMSBIT = '&' -, XHRTME = 310000; - -/** - * UTILITIES - */ -//function unique() { return'x'+ ++NOW+''+(+new Date) } -//function rnow() { return+new Date } - -/** - * LOCAL STORAGE - */ -var db = (function(){ - var ls = typeof localStorage != 'undefined' && localStorage; - return { - get : function(key) { - try { - if (ls) return ls.getItem(key); - if (document.cookie.indexOf(key) == -1) return null; - return ((document.cookie||'').match( - RegExp(key+'=([^;]+)') - )||[])[1] || null; - } catch(e) { return } - }, - set : function( key, value ) { - try { - if (ls) return ls.setItem( key, value ) && 0; - document.cookie = key + '=' + value + - '; expires=Thu, 1 Aug 2030 20:00:00 UTC; path=/'; - } catch(e) { return } - } - }; -})(); - - -/** - * CORS XHR Request - * ================ - * xdr({ - * url : ['http://www.blah.com/url'], - * success : function(response) {}, - * fail : function() {} - * }); - */ -function xdr( setup ) { - var xhr - , finished = function() { - if (loaded) return; - loaded = 1; - - clearTimeout(timer); - - try { response = JSON['parse'](xhr.responseText); } - catch (r) { return done(1); } - - success(response); - } - , complete = 0 - , loaded = 0 - , timer = timeout( function(){done(1)}, XHRTME ) - , fail = setup.fail || function(){} - , success = setup.success || function(){} - , done = function(failed) { - if (complete) return; - complete = 1; - - clearTimeout(timer); - - if (xhr) { - xhr.onerror = xhr.onload = null; - xhr.abort && xhr.abort(); - xhr = null; - } - - failed && fail(); - }; - - // Send - try { - xhr = typeof XDomainRequest !== 'undefined' && - new XDomainRequest() || - new XMLHttpRequest(); - - xhr.onerror = xhr.onabort = function(){ done(1) }; - xhr.onload = xhr.onloadend = finished; - xhr.timeout = XHRTME; - url = setup.url.join(URLBIT); - if (setup.data) { - var params = []; - url += "?"; - for (key in setup.data) { - params.push(key+"="+setup.data[key]); - } - url += params.join(PARAMSBIT); - } - xhr.open( 'GET', url, true ); - xhr.send(); - } - catch(eee) { - done(0); - return xdr(setup); - } - - // Return 'done' - return done; -} - -/** - * BIND - * ==== - * bind( 'keydown', search('a')[0], function(element) { - * ... - * } ); - */ -function bind( type, el, fun ) { - each( type.split(','), function(etype) { - var rapfun = function(e) { - if (!e) e = window.event; - if (!fun(e)) { - e.cancelBubble = true; - e.returnValue = false; - e.preventDefault && e.preventDefault(); - e.stopPropagation && e.stopPropagation(); - } - }; - - if ( el.addEventListener ) el.addEventListener( etype, rapfun, false ); - else if ( el.attachEvent ) el.attachEvent( 'on' + etype, rapfun ); - else el[ 'on' + etype ] = rapfun; - } ); -} - -/** - * UNBIND - * ====== - * unbind( 'keydown', search('a')[0] ); - */ -function unbind( type, el, fun ) { - if ( el.removeEventListener ) el.removeEventListener( type, false ); - else if ( el.detachEvent ) el.detachEvent( 'on' + type, false ); - else el[ 'on' + type ] = null; -} - -/** - * LOG - * === - * var list = grep( [1,2,3], function(item) { return item % 2 } ) - */ -var log = function(){}; - -/** - * EVENTS - * ====== - * PUBNUB.events.bind( 'you-stepped-on-flower', function(message) { - * // Do Stuff with message - * } ); - * - * PUBNUB.events.fire( 'you-stepped-on-flower', "message-data" ); - * PUBNUB.events.fire( 'you-stepped-on-flower', {message:"data"} ); - * PUBNUB.events.fire( 'you-stepped-on-flower', [1,2,3] ); - * - */ -var events = { - 'list' : {}, - 'unbind' : function( name ) { events.list[name] = [] }, - 'bind' : function( name, fun ) { - (events.list[name] = events.list[name] || []).push(fun); - }, - 'fire' : function( name, data ) { - each( - events.list[name] || [], - function(fun) { fun(data) } - ); - } -}; - -/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= PUBNUB ===========================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -function PN(setup) { - - - setup['db'] = db; - setup['xdr'] = xdr; - var SELF = PN_API(setup); - - SELF['init'] = PN; - - - // Return without Testing - if (setup['notest']) return SELF; - - // Add Leave Functions - bind( 'beforeunload', window, function() { - each_channel(function(ch){ SELF['LEAVE']( ch.name, 1 ) }); - return true; - } ); - - bind( 'offline', window, SELF['_reset_offline'] ); - bind( 'offline', document, SELF['_reset_offline'] ); - - SELF['ready'](); - return SELF; -} - -typeof module !== 'undefined' && (module.exports = PN) || -typeof exports !== 'undefined' && (exports.PN = PN) || (PUBNUB = PN); - -})(); -var NOW = 1 -, READY = false -, READY_BUFFER = [] -, PRESENCE_SUFFIX = '-pnpres' -, DEF_WINDOWING = 10 // MILLISECONDS. -, DEF_TIMEOUT = 10000 // MILLISECONDS. -, DEF_SUB_TIMEOUT = 310 // SECONDS. -, DEF_KEEPALIVE = 60 // SECONDS. -, SECOND = 1000 // A THOUSAND MILLISECONDS. -, REPL = /{([\w\-]+)}/g; - -/** - * UTILITIES - */ -function unique() { return'x'+ ++NOW+''+(+new Date) } -function rnow() { return+new Date } - -/** - * NEXTORIGIN - * ========== - * var next_origin = nextorigin(); - */ -var nextorigin = (function() { - var max = 20 - , ori = Math.floor(Math.random() * max); - return function( origin, failover ) { - return origin.indexOf('pubsub.') > 0 - && origin.replace( - 'pubsub', 'ps' + ( - failover ? uuid().split('-')[0] : - (++ori < max? ori : ori=1) - ) ) || origin; - } -})(); - -/** - * UPDATER - * ======= - * var timestamp = unique(); - */ -function updater( fun, rate ) { - var timeout - , last = 0 - , runnit = function() { - if (last + rate > rnow()) { - clearTimeout(timeout); - timeout = setTimeout( runnit, rate ); - } - else { - last = rnow(); - fun(); - } - }; - - return runnit; -} - -/** - * GREP - * ==== - * var list = grep( [1,2,3], function(item) { return item % 2 } ) - */ -function grep( list, fun ) { - var fin = []; - each( list || [], function(l) { fun(l) && fin.push(l) } ); - return fin -} - -/** - * SUPPLANT - * ======== - * var text = supplant( 'Hello {name}!', { name : 'John' } ) - */ -function supplant( str, values ) { - return str.replace( REPL, function( _, match ) { - return values[match] || _ - } ); -} - -/** - * timeout - * ======= - * timeout( function(){}, 100 ); - */ -function timeout( fun, wait ) { - return setTimeout( fun, wait ); -} - -/** - * uuid - * ==== - * var my_uuid = uuid(); - */ -function uuid(callback) { - var u = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, - function(c) { - var r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8); - return v.toString(16); - }); - if (callback) callback(u); - return u; -} - -/** - * EACH - * ==== - * each( [1,2,3], function(item) { } ) - */ -function each( o, f ) { - if ( !o || !f ) return; - - if ( typeof o[0] != 'undefined' ) - for ( var i = 0, l = o.length; i < l; ) - f.call( o[i], o[i], i++ ); - else - for ( var i in o ) - o.hasOwnProperty && - o.hasOwnProperty(i) && - f.call( o[i], i, o[i] ); -} - -/** - * MAP - * === - * var list = map( [1,2,3], function(item) { return item + 1 } ) - */ -function map( list, fun ) { - var fin = []; - each( list || [], function( k, v ) { fin.push(fun( k, v )) } ); - return fin; -} - -/** - * ENCODE - * ====== - * var encoded_path = encode('path'); - */ -function encode(path) { - return map( (encodeURIComponent(path)).split(''), function(chr) { - return "-_.!~*'()".indexOf(chr) < 0 ? chr : - "%"+chr.charCodeAt(0).toString(16).toUpperCase() - } ).join(''); -} - -/** - * Generate Subscription Channel List - * ================================== - * generate_channel_list(channels_object); - */ -function generate_channel_list(channels) { - var list = []; - each( channels, function( channel, status ) { - if (status.subscribed) list.push(channel); - } ); - return list.sort(); -} - -// PUBNUB READY TO CONNECT - function ready() { timeout( function() { - if (READY) return; - READY = 1; - each( READY_BUFFER, function(connect) { connect() } ); - }, SECOND ); } - -function PN_API(setup) { - var SUB_WINDOWING = +setup['windowing'] || DEF_WINDOWING - , SUB_TIMEOUT = (+setup['timeout'] || DEF_SUB_TIMEOUT) * SECOND - , KEEPALIVE = (+setup['keepalive'] || DEF_KEEPALIVE) * SECOND - , PUBLISH_KEY = setup['publish_key'] || '' - , SUBSCRIBE_KEY = setup['subscribe_key'] || '' - , SSL = setup['ssl'] ? 's' : '' - , ORIGIN = 'http'+SSL+'://'+(setup['origin']||'pubsub.pubnub.com') - , STD_ORIGIN = nextorigin(ORIGIN) - , SUB_ORIGIN = nextorigin(ORIGIN) - , CONNECT = function(){} - , PUB_QUEUE = [] - , SUB_CALLBACK = 0 - , SUB_CHANNEL = 0 - , SUB_RECEIVER = 0 - , SUB_RESTORE = 0 - , SUB_BUFF_WAIT = 0 - , TIMETOKEN = 0 - , CHANNELS = {} - , xdr = setup['xdr'] - , _is_online = setup['_is_online'] || function() { return 1; } - , jsonp_cb = setup['jsonp_cb'] || function(){ return 0; } - , db = setup['db'] || {'get': function(){}, 'set': function(){}} - , UUID = setup['uuid'] || ( db && db['get'](SUBSCRIBE_KEY+'uuid') || ''); - - - - function publish(next) { - if (next) PUB_QUEUE.sending = 0; - if (PUB_QUEUE.sending || !PUB_QUEUE.length) return; - PUB_QUEUE.sending = 1; - xdr(PUB_QUEUE.shift()); - } - - function each_channel(callback) { - each( generate_channel_list(CHANNELS), function(channel) { - var chan = CHANNELS[channel]; - if (!chan) return; - callback(chan); - } ); - } - - // Announce Leave Event - - - var SELF = { - - '_reset_offline' : function() { - SUB_RECEIVER && SUB_RECEIVER(1); - }, - - 'LEAVE' : function( channel, blocking ) { - var data = { 'uuid' : UUID } - , origin = nextorigin(ORIGIN) - , jsonp = jsonp_cb(); - - // Prevent Leaving a Presence Channel - if (channel.indexOf(PRESENCE_SUFFIX) > 0) return; - - if (jsonp != '0') data['callback'] = jsonp; - - xdr({ - blocking : blocking || SSL, - timeout : 2000, - callback : jsonp, - data : data, - url : [ - origin, 'v2', 'presence', 'sub_key', - SUBSCRIBE_KEY, 'channel', encode(channel), 'leave' - ] - }); - }, - /* - PUBNUB.history({ - channel : 'my_chat_channel', - limit : 100, - callback : function(history) { } - }); - */ - 'history' : function( args, callback ) { - var callback = args['callback'] || callback - , count = args['count'] || args['limit'] || 100 - , reverse = args['reverse'] || "false" - , err = args['error'] || function(){} - , channel = args['channel'] - , start = args['start'] - , end = args['end'] - , params = {} - , jsonp = jsonp_cb(); - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - params['stringtoken'] = 'true'; - params['count'] = count; - params['reverse'] = reverse; - - if (jsonp) params['callback'] = jsonp; - if (start) params['start'] = start; - if (end) params['end'] = end; - - // Send Message - xdr({ - callback : jsonp, - data : params, - success : function(response) { callback(response) }, - fail : err, - url : [ - STD_ORIGIN, 'v2', 'history', 'sub-key', - SUBSCRIBE_KEY, 'channel', encode(channel) - ] - }); - }, - - /* - PUBNUB.replay({ - source : 'my_channel', - destination : 'new_channel' - }); - */ - 'replay' : function(args) { - var callback = callback || args['callback'] || function(){} - , source = args['source'] - , destination = args['destination'] - , stop = args['stop'] - , start = args['start'] - , end = args['end'] - , reverse = args['reverse'] - , limit = args['limit'] - , jsonp = jsonp_cb() - , data = {} - , url; - - // Check User Input - if (!source) return error('Missing Source Channel'); - if (!destination) return error('Missing Destination Channel'); - if (!PUBLISH_KEY) return error('Missing Publish Key'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // Setup URL Params - if (jsonp != '0') data['callback'] = jsonp; - if (stop) data['stop'] = 'all'; - if (reverse) data['reverse'] = 'true'; - if (start) data['start'] = start; - if (end) data['end'] = end; - if (limit) data['count'] = limit; - - // Compose URL Parts - url = [ - STD_ORIGIN, 'v1', 'replay', - PUBLISH_KEY, SUBSCRIBE_KEY, - source, destination - ]; - - // Start (or Stop) Replay! - xdr({ - callback : jsonp, - success : function(response) { callback(response) }, - fail : function() { callback([ 0, 'Disconnected' ]) }, - url : url, - data : data - }); - }, - - /* - PUBNUB.time(function(time){ }); - */ - 'time' : function(callback) { - var jsonp = jsonp_cb(); - xdr({ - callback : jsonp, - timeout : SECOND*5, - url : [STD_ORIGIN, 'time', jsonp], - success : function(response) { callback(response[0]) }, - fail : function() { callback(0) } - }); - }, - - /* - PUBNUB.publish({ - channel : 'my_chat_channel', - message : 'hello!' - }); - */ - 'publish' : function( args, callback ) { - var callback = callback || args['callback'] || function(){} - , msg = args['message'] - , channel = args['channel'] - , jsonp = jsonp_cb() - , url; - - if (!msg) return error('Missing Message'); - if (!channel) return error('Missing Channel'); - if (!PUBLISH_KEY) return error('Missing Publish Key'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // If trying to send Object - msg = JSON['stringify'](msg); - - // Create URL - url = [ - STD_ORIGIN, 'publish', - PUBLISH_KEY, SUBSCRIBE_KEY, - 0, encode(channel), - jsonp, encode(msg) - ]; - - // Queue Message Send - PUB_QUEUE.push({ - callback : jsonp, - timeout : SECOND*5, - url : url, - data : { 'uuid' : UUID }, - success : function(response){callback(response);publish(1)}, - fail : function(){callback([0,'Failed',msg]);publish(1)} - }); - - // Send Message - publish(); - }, - - /* - PUBNUB.unsubscribe({ channel : 'my_chat' }); - */ - 'unsubscribe' : function(args) { - var channel = args['channel']; - - TIMETOKEN = 0; - SUB_RESTORE = 1; - - // Prepare Channel(s) - channel = map( ( - channel.join ? channel.join(',') : ''+channel - ).split(','), function(channel) { - return channel + ',' + channel + PRESENCE_SUFFIX; - } ).join(','); - - // Iterate over Channels - each( channel.split(','), function(channel) { - if (READY) SELF['LEAVE']( channel, 0 ); - CHANNELS[channel] = 0; - } ); - - // ReOpen Connection if Any Channels Left - if (READY) CONNECT(); - }, - - /* - PUBNUB.subscribe({ - channel : 'my_chat' - callback : function(message) { } - }); - */ - 'subscribe' : function( args, callback ) { - var channel = args['channel'] - , callback = callback || args['callback'] - , callback = callback || args['message'] - , connect = args['connect'] || function(){} - , reconnect = args['reconnect'] || function(){} - , disconnect = args['disconnect'] || function(){} - , presence = args['presence'] || 0 - , noheresync = args['noheresync'] || 0 - , backfill = args['backfill'] || 0 - , sub_timeout = args['timeout'] || SUB_TIMEOUT - , windowing = args['windowing'] || SUB_WINDOWING - , restore = args['restore']; - - // Restore Enabled? - if (restore) SUB_RESTORE = 1; - - TIMETOKEN = 0; - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // Setup Channel(s) - each( (channel.join ? channel.join(',') : ''+channel).split(','), - function(channel) { - var settings = CHANNELS[channel] || {}; - - // Store Channel State - CHANNELS[SUB_CHANNEL = channel] = { - name : channel, - connected : settings.connected, - disconnected : settings.disconnected, - subscribed : 1, - callback : SUB_CALLBACK = callback, - connect : connect, - disconnect : disconnect, - reconnect : reconnect - }; - - // Presence Enabled? - if (!presence) return; - - // Subscribe Presence Channel - SELF['subscribe']({ - 'channel' : channel + PRESENCE_SUFFIX, - 'callback' : presence - }); - - // Presence Subscribed? - if (settings.subscribed) return; - - // See Who's Here Now? - if (noheresync) return; - SELF['here_now']({ - 'channel' : channel, - 'callback' : function(here) { - each( 'uuids' in here ? here['uuids'] : [], - function(uid) { presence( { - 'action' : 'join', - 'uuid' : uid, - 'timestamp' : rnow(), - 'occupancy' : here['occupancy'] || 1 - }, here, channel ); } ); - } - }); - } ); - - // Test Network Connection - function _test_connection(success) { - if (success) { - // Begin Next Socket Connection - timeout( _connect, SECOND ); - } - else { - // New Origin on Failed Connection - STD_ORIGIN = nextorigin( ORIGIN, 1 ); - SUB_ORIGIN = nextorigin( ORIGIN, 1 ); - - // Re-test Connection - timeout( function() { - SELF['time'](_test_connection); - }, SECOND ); - } - - // Disconnect & Reconnect - each_channel(function(channel){ - // Reconnect - if (success && channel.disconnected) { - channel.disconnected = 0; - return channel.reconnect(channel.name); - } - - // Disconnect - if (!success && !channel.disconnected) { - channel.disconnected = 1; - channel.disconnect(channel.name); - } - }); - } - - // Evented Subscribe - function _connect() { - var jsonp = jsonp_cb() - , channels = generate_channel_list(CHANNELS).join(','); - - // Stop Connection - if (!channels) return; - - // Connect to PubNub Subscribe Servers - SUB_RECEIVER = xdr({ - timeout : sub_timeout, - callback : jsonp, - fail : function() { SELF['time'](_test_connection) }, - data : { 'uuid' : UUID }, - url : [ - SUB_ORIGIN, 'subscribe', - SUBSCRIBE_KEY, encode(channels), - jsonp, TIMETOKEN - ], - success : function(messages) { - if (!messages) return timeout( _connect, windowing ); - - // Connect - each_channel(function(channel){ - if (channel.connected) return; - channel.connected = 1; - channel.connect(channel.name); - }); - - // Restore Previous Connection Point if Needed - TIMETOKEN = !TIMETOKEN && - SUB_RESTORE && - db['get'](SUBSCRIBE_KEY) || messages[1]; - - - if (backfill) { - Timetoken = 10000; - backfill = 0; - } - - // Update Saved Timetoken - db['set']( SUBSCRIBE_KEY, messages[1] ); - - // Route Channel <---> Callback for Message - var next_callback = (function() { - var channels = (messages.length>2?messages[2]:'') - , list = channels.split(','); - - return function() { - var channel = list.shift()||''; - return [ - (CHANNELS[channel]||{}) - .callback||SUB_CALLBACK, - (channel||SUB_CHANNEL) - .split(PRESENCE_SUFFIX)[0] - ]; - }; - })(); - - each( messages[0], function(msg) { - var next = next_callback(); - if (!CHANNELS[next[1]].subscribed) return; - next[0]( msg, messages, next[1] ); - } ); - - timeout( _connect, windowing ); - } - }); - } - - CONNECT = function() { - // Close Previous Subscribe Connection - SELF['_reset_offline'](); - - // Begin Recursive Subscribe - clearTimeout(SUB_BUFF_WAIT); - SUB_BUFF_WAIT = timeout( _connect, 100 ); - }; - - // Reduce Status Flicker - if (!READY) return READY_BUFFER.push(CONNECT); - - // Connect Now - CONNECT(); - }, - - 'here_now' : function( args, callback ) { - var callback = args['callback'] || callback - , err = args['error'] || function(){} - , channel = args['channel'] - , jsonp = jsonp_cb() - , data = null; - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - if (jsonp != '0') { - data = {}; - data['callback'] = jsonp; - } - - xdr({ - callback : jsonp, - data : data, - success : function(response) { callback(response) }, - fail : err, - url : [ - STD_ORIGIN, 'v2', 'presence', - 'sub_key', SUBSCRIBE_KEY, - 'channel', encode(channel) - ] - }); - }, - - // Expose PUBNUB Functions - 'xdr' : xdr, - 'ready' : ready, - 'db' : db, - 'uuid' : uuid, - 'each' : each, - 'map' : map, - 'grep' : grep, - 'supplant' : supplant, - 'now' : rnow, - 'unique' : unique, - 'updater' : updater, - 'poll_online' : function() { - _is_online() || SELF['_reset_offline'](); - timeout( SELF['poll_online'], SECOND ); - }, - 'poll_online2' : function() { - SELF['time'](function(success){ - success || SELF['_reset_offline'](); - timeout( SELF['poll_online2'], KEEPALIVE ); - }) - } - }; - if (!UUID) UUID = SELF['uuid'](); - db['set']( SUBSCRIBE_KEY + 'uuid', UUID ); - - timeout( SELF['poll_online'], SECOND ); - timeout( SELF['poll_online2'], KEEPALIVE ); - - return SELF; -} -/* --------------------------------------------------------------------------- ---------------------------------------------------------------------------- */ - -/* --------------------------------------------------------------------------- -PubNub Real-time Cloud-Hosted Push API and Push Notification Client Frameworks -Copyright (c) 2011 PubNub Inc. -http://www.pubnub.com/ -http://www.pubnub.com/terms ---------------------------------------------------------------------------- */ - -/* --------------------------------------------------------------------------- -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. ---------------------------------------------------------------------------- */ -(function(){ - -/** - * UTIL LOCALS - */ -var NOW = 1 -, URLBIT = '/' -, PARAMSBIT = '&' -, XHRTME = 310000; - -/** - * UTILITIES - */ -//function unique() { return'x'+ ++NOW+''+(+new Date) } -//function rnow() { return+new Date } - -/** - * LOCAL STORAGE - */ -var db = (function(){ - var ls = typeof localStorage != 'undefined' && localStorage; - return { - get : function(key) { - try { - if (ls) return ls.getItem(key); - if (document.cookie.indexOf(key) == -1) return null; - return ((document.cookie||'').match( - RegExp(key+'=([^;]+)') - )||[])[1] || null; - } catch(e) { return } - }, - set : function( key, value ) { - try { - if (ls) return ls.setItem( key, value ) && 0; - document.cookie = key + '=' + value + - '; expires=Thu, 1 Aug 2030 20:00:00 UTC; path=/'; - } catch(e) { return } - } - }; -})(); - - -/** - * CORS XHR Request - * ================ - * xdr({ - * url : ['http://www.blah.com/url'], - * success : function(response) {}, - * fail : function() {} - * }); - */ -function xdr( setup ) { - var xhr - , finished = function() { - if (loaded) return; - loaded = 1; - - clearTimeout(timer); - - try { response = JSON['parse'](xhr.responseText); } - catch (r) { return done(1); } - - success(response); - } - , complete = 0 - , loaded = 0 - , timer = timeout( function(){done(1)}, XHRTME ) - , fail = setup.fail || function(){} - , success = setup.success || function(){} - , done = function(failed) { - if (complete) return; - complete = 1; - - clearTimeout(timer); - - if (xhr) { - xhr.onerror = xhr.onload = null; - xhr.abort && xhr.abort(); - xhr = null; - } - - failed && fail(); - }; - - // Send - try { - xhr = typeof XDomainRequest !== 'undefined' && - new XDomainRequest() || - new XMLHttpRequest(); - - xhr.onerror = xhr.onabort = function(){ done(1) }; - xhr.onload = xhr.onloadend = finished; - xhr.timeout = XHRTME; - url = setup.url.join(URLBIT); - if (setup.data) { - var params = []; - url += "?"; - for (key in setup.data) { - params.push(key+"="+setup.data[key]); - } - url += params.join(PARAMSBIT); - } - xhr.open( 'GET', url, true ); - xhr.send(); - } - catch(eee) { - done(0); - return xdr(setup); - } - - // Return 'done' - return done; -} - -/** - * BIND - * ==== - * bind( 'keydown', search('a')[0], function(element) { - * ... - * } ); - */ -function bind( type, el, fun ) { - each( type.split(','), function(etype) { - var rapfun = function(e) { - if (!e) e = window.event; - if (!fun(e)) { - e.cancelBubble = true; - e.returnValue = false; - e.preventDefault && e.preventDefault(); - e.stopPropagation && e.stopPropagation(); - } - }; - - if ( el.addEventListener ) el.addEventListener( etype, rapfun, false ); - else if ( el.attachEvent ) el.attachEvent( 'on' + etype, rapfun ); - else el[ 'on' + etype ] = rapfun; - } ); -} - -/** - * UNBIND - * ====== - * unbind( 'keydown', search('a')[0] ); - */ -function unbind( type, el, fun ) { - if ( el.removeEventListener ) el.removeEventListener( type, false ); - else if ( el.detachEvent ) el.detachEvent( 'on' + type, false ); - else el[ 'on' + type ] = null; -} - -/** - * LOG - * === - * var list = grep( [1,2,3], function(item) { return item % 2 } ) - */ -var log = function(){}; - -/** - * EVENTS - * ====== - * PUBNUB.events.bind( 'you-stepped-on-flower', function(message) { - * // Do Stuff with message - * } ); - * - * PUBNUB.events.fire( 'you-stepped-on-flower', "message-data" ); - * PUBNUB.events.fire( 'you-stepped-on-flower', {message:"data"} ); - * PUBNUB.events.fire( 'you-stepped-on-flower', [1,2,3] ); - * - */ -var events = { - 'list' : {}, - 'unbind' : function( name ) { events.list[name] = [] }, - 'bind' : function( name, fun ) { - (events.list[name] = events.list[name] || []).push(fun); - }, - 'fire' : function( name, data ) { - each( - events.list[name] || [], - function(fun) { fun(data) } - ); - } -}; - -/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= PUBNUB ===========================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -function PN(setup) { - - - setup['db'] = db; - setup['xdr'] = xdr; - var SELF = PN_API(setup); - - SELF['init'] = PN; - - - // Return without Testing - if (setup['notest']) return SELF; - - // Add Leave Functions - bind( 'beforeunload', window, function() { - each_channel(function(ch){ SELF['LEAVE']( ch.name, 1 ) }); - return true; - } ); - - bind( 'offline', window, SELF['_reset_offline'] ); - bind( 'offline', document, SELF['_reset_offline'] ); - - SELF['ready'](); - return SELF; -} - -typeof module !== 'undefined' && (module.exports = PN) || -typeof exports !== 'undefined' && (exports.PN = PN) || (PUBNUB = PN); - -})(); -var NOW = 1 -, READY = false -, READY_BUFFER = [] -, PRESENCE_SUFFIX = '-pnpres' -, DEF_WINDOWING = 10 // MILLISECONDS. -, DEF_TIMEOUT = 10000 // MILLISECONDS. -, DEF_SUB_TIMEOUT = 310 // SECONDS. -, DEF_KEEPALIVE = 60 // SECONDS. -, SECOND = 1000 // A THOUSAND MILLISECONDS. -, REPL = /{([\w\-]+)}/g; - -/** - * UTILITIES - */ -function unique() { return'x'+ ++NOW+''+(+new Date) } -function rnow() { return+new Date } - -/** - * NEXTORIGIN - * ========== - * var next_origin = nextorigin(); - */ -var nextorigin = (function() { - var max = 20 - , ori = Math.floor(Math.random() * max); - return function( origin, failover ) { - return origin.indexOf('pubsub.') > 0 - && origin.replace( - 'pubsub', 'ps' + ( - failover ? uuid().split('-')[0] : - (++ori < max? ori : ori=1) - ) ) || origin; - } -})(); - -/** - * UPDATER - * ======= - * var timestamp = unique(); - */ -function updater( fun, rate ) { - var timeout - , last = 0 - , runnit = function() { - if (last + rate > rnow()) { - clearTimeout(timeout); - timeout = setTimeout( runnit, rate ); - } - else { - last = rnow(); - fun(); - } - }; - - return runnit; -} - -/** - * GREP - * ==== - * var list = grep( [1,2,3], function(item) { return item % 2 } ) - */ -function grep( list, fun ) { - var fin = []; - each( list || [], function(l) { fun(l) && fin.push(l) } ); - return fin -} - -/** - * SUPPLANT - * ======== - * var text = supplant( 'Hello {name}!', { name : 'John' } ) - */ -function supplant( str, values ) { - return str.replace( REPL, function( _, match ) { - return values[match] || _ - } ); -} - -/** - * timeout - * ======= - * timeout( function(){}, 100 ); - */ -function timeout( fun, wait ) { - return setTimeout( fun, wait ); -} - -/** - * uuid - * ==== - * var my_uuid = uuid(); - */ -function uuid(callback) { - var u = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, - function(c) { - var r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8); - return v.toString(16); - }); - if (callback) callback(u); - return u; -} - -/** - * EACH - * ==== - * each( [1,2,3], function(item) { } ) - */ -function each( o, f ) { - if ( !o || !f ) return; - - if ( typeof o[0] != 'undefined' ) - for ( var i = 0, l = o.length; i < l; ) - f.call( o[i], o[i], i++ ); - else - for ( var i in o ) - o.hasOwnProperty && - o.hasOwnProperty(i) && - f.call( o[i], i, o[i] ); -} - -/** - * MAP - * === - * var list = map( [1,2,3], function(item) { return item + 1 } ) - */ -function map( list, fun ) { - var fin = []; - each( list || [], function( k, v ) { fin.push(fun( k, v )) } ); - return fin; -} - -/** - * ENCODE - * ====== - * var encoded_path = encode('path'); - */ -function encode(path) { - return map( (encodeURIComponent(path)).split(''), function(chr) { - return "-_.!~*'()".indexOf(chr) < 0 ? chr : - "%"+chr.charCodeAt(0).toString(16).toUpperCase() - } ).join(''); -} - -/** - * Generate Subscription Channel List - * ================================== - * generate_channel_list(channels_object); - */ -function generate_channel_list(channels) { - var list = []; - each( channels, function( channel, status ) { - if (status.subscribed) list.push(channel); - } ); - return list.sort(); -} - -// PUBNUB READY TO CONNECT - function ready() { timeout( function() { - if (READY) return; - READY = 1; - each( READY_BUFFER, function(connect) { connect() } ); - }, SECOND ); } - -function PN_API(setup) { - var SUB_WINDOWING = +setup['windowing'] || DEF_WINDOWING - , SUB_TIMEOUT = (+setup['timeout'] || DEF_SUB_TIMEOUT) * SECOND - , KEEPALIVE = (+setup['keepalive'] || DEF_KEEPALIVE) * SECOND - , PUBLISH_KEY = setup['publish_key'] || '' - , SUBSCRIBE_KEY = setup['subscribe_key'] || '' - , SSL = setup['ssl'] ? 's' : '' - , ORIGIN = 'http'+SSL+'://'+(setup['origin']||'pubsub.pubnub.com') - , STD_ORIGIN = nextorigin(ORIGIN) - , SUB_ORIGIN = nextorigin(ORIGIN) - , CONNECT = function(){} - , PUB_QUEUE = [] - , SUB_CALLBACK = 0 - , SUB_CHANNEL = 0 - , SUB_RECEIVER = 0 - , SUB_RESTORE = 0 - , SUB_BUFF_WAIT = 0 - , TIMETOKEN = 0 - , CHANNELS = {} - , xdr = setup['xdr'] - , _is_online = setup['_is_online'] || function() { return 1; } - , jsonp_cb = setup['jsonp_cb'] || function(){ return 0; } - , db = setup['db'] || {'get': function(){}, 'set': function(){}} - , UUID = setup['uuid'] || ( db && db['get'](SUBSCRIBE_KEY+'uuid') || ''); - - - - function publish(next) { - if (next) PUB_QUEUE.sending = 0; - if (PUB_QUEUE.sending || !PUB_QUEUE.length) return; - PUB_QUEUE.sending = 1; - xdr(PUB_QUEUE.shift()); - } - - function each_channel(callback) { - each( generate_channel_list(CHANNELS), function(channel) { - var chan = CHANNELS[channel]; - if (!chan) return; - callback(chan); - } ); - } - - // Announce Leave Event - - - var SELF = { - - '_reset_offline' : function() { - SUB_RECEIVER && SUB_RECEIVER(1); - }, - - 'LEAVE' : function( channel, blocking ) { - var data = { 'uuid' : UUID } - , origin = nextorigin(ORIGIN) - , jsonp = jsonp_cb(); - - // Prevent Leaving a Presence Channel - if (channel.indexOf(PRESENCE_SUFFIX) > 0) return; - - if (jsonp != '0') data['callback'] = jsonp; - - xdr({ - blocking : blocking || SSL, - timeout : 2000, - callback : jsonp, - data : data, - url : [ - origin, 'v2', 'presence', 'sub_key', - SUBSCRIBE_KEY, 'channel', encode(channel), 'leave' - ] - }); - }, - /* - PUBNUB.history({ - channel : 'my_chat_channel', - limit : 100, - callback : function(history) { } - }); - */ - 'history' : function( args, callback ) { - var callback = args['callback'] || callback - , count = args['count'] || args['limit'] || 100 - , reverse = args['reverse'] || "false" - , err = args['error'] || function(){} - , channel = args['channel'] - , start = args['start'] - , end = args['end'] - , params = {} - , jsonp = jsonp_cb(); - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - params['stringtoken'] = 'true'; - params['count'] = count; - params['reverse'] = reverse; - - if (jsonp) params['callback'] = jsonp; - if (start) params['start'] = start; - if (end) params['end'] = end; - - // Send Message - xdr({ - callback : jsonp, - data : params, - success : function(response) { callback(response) }, - fail : err, - url : [ - STD_ORIGIN, 'v2', 'history', 'sub-key', - SUBSCRIBE_KEY, 'channel', encode(channel) - ] - }); - }, - - /* - PUBNUB.replay({ - source : 'my_channel', - destination : 'new_channel' - }); - */ - 'replay' : function(args) { - var callback = callback || args['callback'] || function(){} - , source = args['source'] - , destination = args['destination'] - , stop = args['stop'] - , start = args['start'] - , end = args['end'] - , reverse = args['reverse'] - , limit = args['limit'] - , jsonp = jsonp_cb() - , data = {} - , url; - - // Check User Input - if (!source) return error('Missing Source Channel'); - if (!destination) return error('Missing Destination Channel'); - if (!PUBLISH_KEY) return error('Missing Publish Key'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // Setup URL Params - if (jsonp != '0') data['callback'] = jsonp; - if (stop) data['stop'] = 'all'; - if (reverse) data['reverse'] = 'true'; - if (start) data['start'] = start; - if (end) data['end'] = end; - if (limit) data['count'] = limit; - - // Compose URL Parts - url = [ - STD_ORIGIN, 'v1', 'replay', - PUBLISH_KEY, SUBSCRIBE_KEY, - source, destination - ]; - - // Start (or Stop) Replay! - xdr({ - callback : jsonp, - success : function(response) { callback(response) }, - fail : function() { callback([ 0, 'Disconnected' ]) }, - url : url, - data : data - }); - }, - - /* - PUBNUB.time(function(time){ }); - */ - 'time' : function(callback) { - var jsonp = jsonp_cb(); - xdr({ - callback : jsonp, - timeout : SECOND*5, - url : [STD_ORIGIN, 'time', jsonp], - success : function(response) { callback(response[0]) }, - fail : function() { callback(0) } - }); - }, - - /* - PUBNUB.publish({ - channel : 'my_chat_channel', - message : 'hello!' - }); - */ - 'publish' : function( args, callback ) { - var callback = callback || args['callback'] || function(){} - , msg = args['message'] - , channel = args['channel'] - , jsonp = jsonp_cb() - , url; - - if (!msg) return error('Missing Message'); - if (!channel) return error('Missing Channel'); - if (!PUBLISH_KEY) return error('Missing Publish Key'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // If trying to send Object - msg = JSON['stringify'](msg); - - // Create URL - url = [ - STD_ORIGIN, 'publish', - PUBLISH_KEY, SUBSCRIBE_KEY, - 0, encode(channel), - jsonp, encode(msg) - ]; - - // Queue Message Send - PUB_QUEUE.push({ - callback : jsonp, - timeout : SECOND*5, - url : url, - data : { 'uuid' : UUID }, - success : function(response){callback(response);publish(1)}, - fail : function(){callback([0,'Failed',msg]);publish(1)} - }); - - // Send Message - publish(); - }, - - /* - PUBNUB.unsubscribe({ channel : 'my_chat' }); - */ - 'unsubscribe' : function(args) { - var channel = args['channel']; - - TIMETOKEN = 0; - SUB_RESTORE = 1; - - // Prepare Channel(s) - channel = map( ( - channel.join ? channel.join(',') : ''+channel - ).split(','), function(channel) { - return channel + ',' + channel + PRESENCE_SUFFIX; - } ).join(','); - - // Iterate over Channels - each( channel.split(','), function(channel) { - if (READY) SELF['LEAVE']( channel, 0 ); - CHANNELS[channel] = 0; - } ); - - // ReOpen Connection if Any Channels Left - if (READY) CONNECT(); - }, - - /* - PUBNUB.subscribe({ - channel : 'my_chat' - callback : function(message) { } - }); - */ - 'subscribe' : function( args, callback ) { - var channel = args['channel'] - , callback = callback || args['callback'] - , callback = callback || args['message'] - , connect = args['connect'] || function(){} - , reconnect = args['reconnect'] || function(){} - , disconnect = args['disconnect'] || function(){} - , presence = args['presence'] || 0 - , noheresync = args['noheresync'] || 0 - , backfill = args['backfill'] || 0 - , sub_timeout = args['timeout'] || SUB_TIMEOUT - , windowing = args['windowing'] || SUB_WINDOWING - , restore = args['restore']; - - // Restore Enabled? - if (restore) SUB_RESTORE = 1; - - TIMETOKEN = 0; - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // Setup Channel(s) - each( (channel.join ? channel.join(',') : ''+channel).split(','), - function(channel) { - var settings = CHANNELS[channel] || {}; - - // Store Channel State - CHANNELS[SUB_CHANNEL = channel] = { - name : channel, - connected : settings.connected, - disconnected : settings.disconnected, - subscribed : 1, - callback : SUB_CALLBACK = callback, - connect : connect, - disconnect : disconnect, - reconnect : reconnect - }; - - // Presence Enabled? - if (!presence) return; - - // Subscribe Presence Channel - SELF['subscribe']({ - 'channel' : channel + PRESENCE_SUFFIX, - 'callback' : presence - }); - - // Presence Subscribed? - if (settings.subscribed) return; - - // See Who's Here Now? - if (noheresync) return; - SELF['here_now']({ - 'channel' : channel, - 'callback' : function(here) { - each( 'uuids' in here ? here['uuids'] : [], - function(uid) { presence( { - 'action' : 'join', - 'uuid' : uid, - 'timestamp' : rnow(), - 'occupancy' : here['occupancy'] || 1 - }, here, channel ); } ); - } - }); - } ); - - // Test Network Connection - function _test_connection(success) { - if (success) { - // Begin Next Socket Connection - timeout( _connect, SECOND ); - } - else { - // New Origin on Failed Connection - STD_ORIGIN = nextorigin( ORIGIN, 1 ); - SUB_ORIGIN = nextorigin( ORIGIN, 1 ); - - // Re-test Connection - timeout( function() { - SELF['time'](_test_connection); - }, SECOND ); - } - - // Disconnect & Reconnect - each_channel(function(channel){ - // Reconnect - if (success && channel.disconnected) { - channel.disconnected = 0; - return channel.reconnect(channel.name); - } - - // Disconnect - if (!success && !channel.disconnected) { - channel.disconnected = 1; - channel.disconnect(channel.name); - } - }); - } - - // Evented Subscribe - function _connect() { - var jsonp = jsonp_cb() - , channels = generate_channel_list(CHANNELS).join(','); - - // Stop Connection - if (!channels) return; - - // Connect to PubNub Subscribe Servers - SUB_RECEIVER = xdr({ - timeout : sub_timeout, - callback : jsonp, - fail : function() { SELF['time'](_test_connection) }, - data : { 'uuid' : UUID }, - url : [ - SUB_ORIGIN, 'subscribe', - SUBSCRIBE_KEY, encode(channels), - jsonp, TIMETOKEN - ], - success : function(messages) { - if (!messages) return timeout( _connect, windowing ); - - // Connect - each_channel(function(channel){ - if (channel.connected) return; - channel.connected = 1; - channel.connect(channel.name); - }); - - // Restore Previous Connection Point if Needed - TIMETOKEN = !TIMETOKEN && - SUB_RESTORE && - db['get'](SUBSCRIBE_KEY) || messages[1]; - - - if (backfill) { - Timetoken = 10000; - backfill = 0; - } - - // Update Saved Timetoken - db['set']( SUBSCRIBE_KEY, messages[1] ); - - // Route Channel <---> Callback for Message - var next_callback = (function() { - var channels = (messages.length>2?messages[2]:'') - , list = channels.split(','); - - return function() { - var channel = list.shift()||''; - return [ - (CHANNELS[channel]||{}) - .callback||SUB_CALLBACK, - (channel||SUB_CHANNEL) - .split(PRESENCE_SUFFIX)[0] - ]; - }; - })(); - - each( messages[0], function(msg) { - var next = next_callback(); - if (!CHANNELS[next[1]].subscribed) return; - next[0]( msg, messages, next[1] ); - } ); - - timeout( _connect, windowing ); - } - }); - } - - CONNECT = function() { - // Close Previous Subscribe Connection - SELF['_reset_offline'](); - - // Begin Recursive Subscribe - clearTimeout(SUB_BUFF_WAIT); - SUB_BUFF_WAIT = timeout( _connect, 100 ); - }; - - // Reduce Status Flicker - if (!READY) return READY_BUFFER.push(CONNECT); - - // Connect Now - CONNECT(); - }, - - 'here_now' : function( args, callback ) { - var callback = args['callback'] || callback - , err = args['error'] || function(){} - , channel = args['channel'] - , jsonp = jsonp_cb() - , data = null; - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - if (jsonp != '0') { - data = {}; - data['callback'] = jsonp; - } - - xdr({ - callback : jsonp, - data : data, - success : function(response) { callback(response) }, - fail : err, - url : [ - STD_ORIGIN, 'v2', 'presence', - 'sub_key', SUBSCRIBE_KEY, - 'channel', encode(channel) - ] - }); - }, - - // Expose PUBNUB Functions - 'xdr' : xdr, - 'ready' : ready, - 'db' : db, - 'uuid' : uuid, - 'each' : each, - 'map' : map, - 'grep' : grep, - 'supplant' : supplant, - 'now' : rnow, - 'unique' : unique, - 'updater' : updater, - 'poll_online' : function() { - _is_online() || SELF['_reset_offline'](); - timeout( SELF['poll_online'], SECOND ); - }, - 'poll_online2' : function() { - SELF['time'](function(success){ - success || SELF['_reset_offline'](); - timeout( SELF['poll_online2'], KEEPALIVE ); - }) - } - }; - if (!UUID) UUID = SELF['uuid'](); - db['set']( SUBSCRIBE_KEY + 'uuid', UUID ); - - timeout( SELF['poll_online'], SECOND ); - timeout( SELF['poll_online2'], KEEPALIVE ); - - return SELF; -} -/* --------------------------------------------------------------------------- ---------------------------------------------------------------------------- */ - -/* --------------------------------------------------------------------------- -PubNub Real-time Cloud-Hosted Push API and Push Notification Client Frameworks -Copyright (c) 2011 PubNub Inc. -http://www.pubnub.com/ -http://www.pubnub.com/terms ---------------------------------------------------------------------------- */ - -/* --------------------------------------------------------------------------- -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. ---------------------------------------------------------------------------- */ -(function(){ - -/** - * UTIL LOCALS - */ -var NOW = 1 -, URLBIT = '/' -, PARAMSBIT = '&' -, XHRTME = 310000; - -/** - * UTILITIES - */ -//function unique() { return'x'+ ++NOW+''+(+new Date) } -//function rnow() { return+new Date } - -/** - * LOCAL STORAGE - */ -var db = (function(){ - var ls = typeof localStorage != 'undefined' && localStorage; - return { - get : function(key) { - try { - if (ls) return ls.getItem(key); - if (document.cookie.indexOf(key) == -1) return null; - return ((document.cookie||'').match( - RegExp(key+'=([^;]+)') - )||[])[1] || null; - } catch(e) { return } - }, - set : function( key, value ) { - try { - if (ls) return ls.setItem( key, value ) && 0; - document.cookie = key + '=' + value + - '; expires=Thu, 1 Aug 2030 20:00:00 UTC; path=/'; - } catch(e) { return } - } - }; -})(); - - -/** - * CORS XHR Request - * ================ - * xdr({ - * url : ['http://www.blah.com/url'], - * success : function(response) {}, - * fail : function() {} - * }); - */ -function xdr( setup ) { - var xhr - , finished = function() { - if (loaded) return; - loaded = 1; - - clearTimeout(timer); - - try { response = JSON['parse'](xhr.responseText); } - catch (r) { return done(1); } - - success(response); - } - , complete = 0 - , loaded = 0 - , timer = timeout( function(){done(1)}, XHRTME ) - , fail = setup.fail || function(){} - , success = setup.success || function(){} - , done = function(failed) { - if (complete) return; - complete = 1; - - clearTimeout(timer); - - if (xhr) { - xhr.onerror = xhr.onload = null; - xhr.abort && xhr.abort(); - xhr = null; - } - - failed && fail(); - }; - - // Send - try { - xhr = typeof XDomainRequest !== 'undefined' && - new XDomainRequest() || - new XMLHttpRequest(); - - xhr.onerror = xhr.onabort = function(){ done(1) }; - xhr.onload = xhr.onloadend = finished; - xhr.timeout = XHRTME; - url = setup.url.join(URLBIT); - if (setup.data) { - var params = []; - url += "?"; - for (key in setup.data) { - params.push(key+"="+setup.data[key]); - } - url += params.join(PARAMSBIT); - } - xhr.open( 'GET', url, true ); - xhr.send(); - } - catch(eee) { - done(0); - return xdr(setup); - } - - // Return 'done' - return done; -} - -/** - * BIND - * ==== - * bind( 'keydown', search('a')[0], function(element) { - * ... - * } ); - */ -function bind( type, el, fun ) { - each( type.split(','), function(etype) { - var rapfun = function(e) { - if (!e) e = window.event; - if (!fun(e)) { - e.cancelBubble = true; - e.returnValue = false; - e.preventDefault && e.preventDefault(); - e.stopPropagation && e.stopPropagation(); - } - }; - - if ( el.addEventListener ) el.addEventListener( etype, rapfun, false ); - else if ( el.attachEvent ) el.attachEvent( 'on' + etype, rapfun ); - else el[ 'on' + etype ] = rapfun; - } ); -} - -/** - * UNBIND - * ====== - * unbind( 'keydown', search('a')[0] ); - */ -function unbind( type, el, fun ) { - if ( el.removeEventListener ) el.removeEventListener( type, false ); - else if ( el.detachEvent ) el.detachEvent( 'on' + type, false ); - else el[ 'on' + type ] = null; -} - -/** - * LOG - * === - * var list = grep( [1,2,3], function(item) { return item % 2 } ) - */ -var log = function(){}; - -/** - * EVENTS - * ====== - * PUBNUB.events.bind( 'you-stepped-on-flower', function(message) { - * // Do Stuff with message - * } ); - * - * PUBNUB.events.fire( 'you-stepped-on-flower', "message-data" ); - * PUBNUB.events.fire( 'you-stepped-on-flower', {message:"data"} ); - * PUBNUB.events.fire( 'you-stepped-on-flower', [1,2,3] ); - * - */ -var events = { - 'list' : {}, - 'unbind' : function( name ) { events.list[name] = [] }, - 'bind' : function( name, fun ) { - (events.list[name] = events.list[name] || []).push(fun); - }, - 'fire' : function( name, data ) { - each( - events.list[name] || [], - function(fun) { fun(data) } - ); - } -}; - -/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= PUBNUB ===========================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -function PN(setup) { - - - setup['db'] = db; - setup['xdr'] = xdr; - var SELF = PN_API(setup); - - SELF['init'] = PN; - - - // Return without Testing - if (setup['notest']) return SELF; - - // Add Leave Functions - bind( 'beforeunload', window, function() { - each_channel(function(ch){ SELF['LEAVE']( ch.name, 1 ) }); - return true; - } ); - - bind( 'offline', window, SELF['_reset_offline'] ); - bind( 'offline', document, SELF['_reset_offline'] ); - - SELF['ready'](); - return SELF; -} - -typeof module !== 'undefined' && (module.exports = PN) || -typeof exports !== 'undefined' && (exports.PN = PN) || (PUBNUB = PN); - -})(); -var NOW = 1 -, READY = false -, READY_BUFFER = [] -, PRESENCE_SUFFIX = '-pnpres' -, DEF_WINDOWING = 10 // MILLISECONDS. -, DEF_TIMEOUT = 10000 // MILLISECONDS. -, DEF_SUB_TIMEOUT = 310 // SECONDS. -, DEF_KEEPALIVE = 60 // SECONDS. -, SECOND = 1000 // A THOUSAND MILLISECONDS. -, REPL = /{([\w\-]+)}/g; - -/** - * UTILITIES - */ -function unique() { return'x'+ ++NOW+''+(+new Date) } -function rnow() { return+new Date } - -/** - * NEXTORIGIN - * ========== - * var next_origin = nextorigin(); - */ -var nextorigin = (function() { - var max = 20 - , ori = Math.floor(Math.random() * max); - return function( origin, failover ) { - return origin.indexOf('pubsub.') > 0 - && origin.replace( - 'pubsub', 'ps' + ( - failover ? uuid().split('-')[0] : - (++ori < max? ori : ori=1) - ) ) || origin; - } -})(); - -/** - * UPDATER - * ======= - * var timestamp = unique(); - */ -function updater( fun, rate ) { - var timeout - , last = 0 - , runnit = function() { - if (last + rate > rnow()) { - clearTimeout(timeout); - timeout = setTimeout( runnit, rate ); - } - else { - last = rnow(); - fun(); - } - }; - - return runnit; -} - -/** - * GREP - * ==== - * var list = grep( [1,2,3], function(item) { return item % 2 } ) - */ -function grep( list, fun ) { - var fin = []; - each( list || [], function(l) { fun(l) && fin.push(l) } ); - return fin -} - -/** - * SUPPLANT - * ======== - * var text = supplant( 'Hello {name}!', { name : 'John' } ) - */ -function supplant( str, values ) { - return str.replace( REPL, function( _, match ) { - return values[match] || _ - } ); -} - -/** - * timeout - * ======= - * timeout( function(){}, 100 ); - */ -function timeout( fun, wait ) { - return setTimeout( fun, wait ); -} - -/** - * uuid - * ==== - * var my_uuid = uuid(); - */ -function uuid(callback) { - var u = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, - function(c) { - var r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8); - return v.toString(16); - }); - if (callback) callback(u); - return u; -} - -/** - * EACH - * ==== - * each( [1,2,3], function(item) { } ) - */ -function each( o, f ) { - if ( !o || !f ) return; - - if ( typeof o[0] != 'undefined' ) - for ( var i = 0, l = o.length; i < l; ) - f.call( o[i], o[i], i++ ); - else - for ( var i in o ) - o.hasOwnProperty && - o.hasOwnProperty(i) && - f.call( o[i], i, o[i] ); -} - -/** - * MAP - * === - * var list = map( [1,2,3], function(item) { return item + 1 } ) - */ -function map( list, fun ) { - var fin = []; - each( list || [], function( k, v ) { fin.push(fun( k, v )) } ); - return fin; -} - -/** - * ENCODE - * ====== - * var encoded_path = encode('path'); - */ -function encode(path) { - return map( (encodeURIComponent(path)).split(''), function(chr) { - return "-_.!~*'()".indexOf(chr) < 0 ? chr : - "%"+chr.charCodeAt(0).toString(16).toUpperCase() - } ).join(''); -} - -/** - * Generate Subscription Channel List - * ================================== - * generate_channel_list(channels_object); - */ -function generate_channel_list(channels) { - var list = []; - each( channels, function( channel, status ) { - if (status.subscribed) list.push(channel); - } ); - return list.sort(); -} - -// PUBNUB READY TO CONNECT - function ready() { timeout( function() { - if (READY) return; - READY = 1; - each( READY_BUFFER, function(connect) { connect() } ); - }, SECOND ); } - -function PN_API(setup) { - var SUB_WINDOWING = +setup['windowing'] || DEF_WINDOWING - , SUB_TIMEOUT = (+setup['timeout'] || DEF_SUB_TIMEOUT) * SECOND - , KEEPALIVE = (+setup['keepalive'] || DEF_KEEPALIVE) * SECOND - , PUBLISH_KEY = setup['publish_key'] || '' - , SUBSCRIBE_KEY = setup['subscribe_key'] || '' - , SSL = setup['ssl'] ? 's' : '' - , ORIGIN = 'http'+SSL+'://'+(setup['origin']||'pubsub.pubnub.com') - , STD_ORIGIN = nextorigin(ORIGIN) - , SUB_ORIGIN = nextorigin(ORIGIN) - , CONNECT = function(){} - , PUB_QUEUE = [] - , SUB_CALLBACK = 0 - , SUB_CHANNEL = 0 - , SUB_RECEIVER = 0 - , SUB_RESTORE = 0 - , SUB_BUFF_WAIT = 0 - , TIMETOKEN = 0 - , CHANNELS = {} - , xdr = setup['xdr'] - , _is_online = setup['_is_online'] || function() { return 1; } - , jsonp_cb = setup['jsonp_cb'] || function(){ return 0; } - , db = setup['db'] || {'get': function(){}, 'set': function(){}} - , UUID = setup['uuid'] || ( db && db['get'](SUBSCRIBE_KEY+'uuid') || ''); - - - - function publish(next) { - if (next) PUB_QUEUE.sending = 0; - if (PUB_QUEUE.sending || !PUB_QUEUE.length) return; - PUB_QUEUE.sending = 1; - xdr(PUB_QUEUE.shift()); - } - - function each_channel(callback) { - each( generate_channel_list(CHANNELS), function(channel) { - var chan = CHANNELS[channel]; - if (!chan) return; - callback(chan); - } ); - } - - // Announce Leave Event - - - var SELF = { - - '_reset_offline' : function() { - SUB_RECEIVER && SUB_RECEIVER(1); - }, - - 'LEAVE' : function( channel, blocking ) { - var data = { 'uuid' : UUID } - , origin = nextorigin(ORIGIN) - , jsonp = jsonp_cb(); - - // Prevent Leaving a Presence Channel - if (channel.indexOf(PRESENCE_SUFFIX) > 0) return; - - if (jsonp != '0') data['callback'] = jsonp; - - xdr({ - blocking : blocking || SSL, - timeout : 2000, - callback : jsonp, - data : data, - url : [ - origin, 'v2', 'presence', 'sub_key', - SUBSCRIBE_KEY, 'channel', encode(channel), 'leave' - ] - }); - }, - /* - PUBNUB.history({ - channel : 'my_chat_channel', - limit : 100, - callback : function(history) { } - }); - */ - 'history' : function( args, callback ) { - var callback = args['callback'] || callback - , count = args['count'] || args['limit'] || 100 - , reverse = args['reverse'] || "false" - , err = args['error'] || function(){} - , channel = args['channel'] - , start = args['start'] - , end = args['end'] - , params = {} - , jsonp = jsonp_cb(); - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - params['stringtoken'] = 'true'; - params['count'] = count; - params['reverse'] = reverse; - - if (jsonp) params['callback'] = jsonp; - if (start) params['start'] = start; - if (end) params['end'] = end; - - // Send Message - xdr({ - callback : jsonp, - data : params, - success : function(response) { callback(response) }, - fail : err, - url : [ - STD_ORIGIN, 'v2', 'history', 'sub-key', - SUBSCRIBE_KEY, 'channel', encode(channel) - ] - }); - }, - - /* - PUBNUB.replay({ - source : 'my_channel', - destination : 'new_channel' - }); - */ - 'replay' : function(args) { - var callback = callback || args['callback'] || function(){} - , source = args['source'] - , destination = args['destination'] - , stop = args['stop'] - , start = args['start'] - , end = args['end'] - , reverse = args['reverse'] - , limit = args['limit'] - , jsonp = jsonp_cb() - , data = {} - , url; - - // Check User Input - if (!source) return error('Missing Source Channel'); - if (!destination) return error('Missing Destination Channel'); - if (!PUBLISH_KEY) return error('Missing Publish Key'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // Setup URL Params - if (jsonp != '0') data['callback'] = jsonp; - if (stop) data['stop'] = 'all'; - if (reverse) data['reverse'] = 'true'; - if (start) data['start'] = start; - if (end) data['end'] = end; - if (limit) data['count'] = limit; - - // Compose URL Parts - url = [ - STD_ORIGIN, 'v1', 'replay', - PUBLISH_KEY, SUBSCRIBE_KEY, - source, destination - ]; - - // Start (or Stop) Replay! - xdr({ - callback : jsonp, - success : function(response) { callback(response) }, - fail : function() { callback([ 0, 'Disconnected' ]) }, - url : url, - data : data - }); - }, - - /* - PUBNUB.time(function(time){ }); - */ - 'time' : function(callback) { - var jsonp = jsonp_cb(); - xdr({ - callback : jsonp, - timeout : SECOND*5, - url : [STD_ORIGIN, 'time', jsonp], - success : function(response) { callback(response[0]) }, - fail : function() { callback(0) } - }); - }, - - /* - PUBNUB.publish({ - channel : 'my_chat_channel', - message : 'hello!' - }); - */ - 'publish' : function( args, callback ) { - var callback = callback || args['callback'] || function(){} - , msg = args['message'] - , channel = args['channel'] - , jsonp = jsonp_cb() - , url; - - if (!msg) return error('Missing Message'); - if (!channel) return error('Missing Channel'); - if (!PUBLISH_KEY) return error('Missing Publish Key'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // If trying to send Object - msg = JSON['stringify'](msg); - - // Create URL - url = [ - STD_ORIGIN, 'publish', - PUBLISH_KEY, SUBSCRIBE_KEY, - 0, encode(channel), - jsonp, encode(msg) - ]; - - // Queue Message Send - PUB_QUEUE.push({ - callback : jsonp, - timeout : SECOND*5, - url : url, - data : { 'uuid' : UUID }, - success : function(response){callback(response);publish(1)}, - fail : function(){callback([0,'Failed',msg]);publish(1)} - }); - - // Send Message - publish(); - }, - - /* - PUBNUB.unsubscribe({ channel : 'my_chat' }); - */ - 'unsubscribe' : function(args) { - var channel = args['channel']; - - TIMETOKEN = 0; - SUB_RESTORE = 1; - - // Prepare Channel(s) - channel = map( ( - channel.join ? channel.join(',') : ''+channel - ).split(','), function(channel) { - return channel + ',' + channel + PRESENCE_SUFFIX; - } ).join(','); - - // Iterate over Channels - each( channel.split(','), function(channel) { - if (READY) SELF['LEAVE']( channel, 0 ); - CHANNELS[channel] = 0; - } ); - - // ReOpen Connection if Any Channels Left - if (READY) CONNECT(); - }, - - /* - PUBNUB.subscribe({ - channel : 'my_chat' - callback : function(message) { } - }); - */ - 'subscribe' : function( args, callback ) { - var channel = args['channel'] - , callback = callback || args['callback'] - , callback = callback || args['message'] - , connect = args['connect'] || function(){} - , reconnect = args['reconnect'] || function(){} - , disconnect = args['disconnect'] || function(){} - , presence = args['presence'] || 0 - , noheresync = args['noheresync'] || 0 - , backfill = args['backfill'] || 0 - , sub_timeout = args['timeout'] || SUB_TIMEOUT - , windowing = args['windowing'] || SUB_WINDOWING - , restore = args['restore']; - - // Restore Enabled? - if (restore) SUB_RESTORE = 1; - - TIMETOKEN = 0; - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // Setup Channel(s) - each( (channel.join ? channel.join(',') : ''+channel).split(','), - function(channel) { - var settings = CHANNELS[channel] || {}; - - // Store Channel State - CHANNELS[SUB_CHANNEL = channel] = { - name : channel, - connected : settings.connected, - disconnected : settings.disconnected, - subscribed : 1, - callback : SUB_CALLBACK = callback, - connect : connect, - disconnect : disconnect, - reconnect : reconnect - }; - - // Presence Enabled? - if (!presence) return; - - // Subscribe Presence Channel - SELF['subscribe']({ - 'channel' : channel + PRESENCE_SUFFIX, - 'callback' : presence - }); - - // Presence Subscribed? - if (settings.subscribed) return; - - // See Who's Here Now? - if (noheresync) return; - SELF['here_now']({ - 'channel' : channel, - 'callback' : function(here) { - each( 'uuids' in here ? here['uuids'] : [], - function(uid) { presence( { - 'action' : 'join', - 'uuid' : uid, - 'timestamp' : rnow(), - 'occupancy' : here['occupancy'] || 1 - }, here, channel ); } ); - } - }); - } ); - - // Test Network Connection - function _test_connection(success) { - if (success) { - // Begin Next Socket Connection - timeout( _connect, SECOND ); - } - else { - // New Origin on Failed Connection - STD_ORIGIN = nextorigin( ORIGIN, 1 ); - SUB_ORIGIN = nextorigin( ORIGIN, 1 ); - - // Re-test Connection - timeout( function() { - SELF['time'](_test_connection); - }, SECOND ); - } - - // Disconnect & Reconnect - each_channel(function(channel){ - // Reconnect - if (success && channel.disconnected) { - channel.disconnected = 0; - return channel.reconnect(channel.name); - } - - // Disconnect - if (!success && !channel.disconnected) { - channel.disconnected = 1; - channel.disconnect(channel.name); - } - }); - } - - // Evented Subscribe - function _connect() { - var jsonp = jsonp_cb() - , channels = generate_channel_list(CHANNELS).join(','); - - // Stop Connection - if (!channels) return; - - // Connect to PubNub Subscribe Servers - SUB_RECEIVER = xdr({ - timeout : sub_timeout, - callback : jsonp, - fail : function() { SELF['time'](_test_connection) }, - data : { 'uuid' : UUID }, - url : [ - SUB_ORIGIN, 'subscribe', - SUBSCRIBE_KEY, encode(channels), - jsonp, TIMETOKEN - ], - success : function(messages) { - if (!messages) return timeout( _connect, windowing ); - - // Connect - each_channel(function(channel){ - if (channel.connected) return; - channel.connected = 1; - channel.connect(channel.name); - }); - - // Restore Previous Connection Point if Needed - TIMETOKEN = !TIMETOKEN && - SUB_RESTORE && - db['get'](SUBSCRIBE_KEY) || messages[1]; - - - if (backfill) { - Timetoken = 10000; - backfill = 0; - } - - // Update Saved Timetoken - db['set']( SUBSCRIBE_KEY, messages[1] ); - - // Route Channel <---> Callback for Message - var next_callback = (function() { - var channels = (messages.length>2?messages[2]:'') - , list = channels.split(','); - - return function() { - var channel = list.shift()||''; - return [ - (CHANNELS[channel]||{}) - .callback||SUB_CALLBACK, - (channel||SUB_CHANNEL) - .split(PRESENCE_SUFFIX)[0] - ]; - }; - })(); - - each( messages[0], function(msg) { - var next = next_callback(); - if (!CHANNELS[next[1]].subscribed) return; - next[0]( msg, messages, next[1] ); - } ); - - timeout( _connect, windowing ); - } - }); - } - - CONNECT = function() { - // Close Previous Subscribe Connection - SELF['_reset_offline'](); - - // Begin Recursive Subscribe - clearTimeout(SUB_BUFF_WAIT); - SUB_BUFF_WAIT = timeout( _connect, 100 ); - }; - - // Reduce Status Flicker - if (!READY) return READY_BUFFER.push(CONNECT); - - // Connect Now - CONNECT(); - }, - - 'here_now' : function( args, callback ) { - var callback = args['callback'] || callback - , err = args['error'] || function(){} - , channel = args['channel'] - , jsonp = jsonp_cb() - , data = null; - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - if (jsonp != '0') { - data = {}; - data['callback'] = jsonp; - } - - xdr({ - callback : jsonp, - data : data, - success : function(response) { callback(response) }, - fail : err, - url : [ - STD_ORIGIN, 'v2', 'presence', - 'sub_key', SUBSCRIBE_KEY, - 'channel', encode(channel) - ] - }); - }, - - // Expose PUBNUB Functions - 'xdr' : xdr, - 'ready' : ready, - 'db' : db, - 'uuid' : uuid, - 'each' : each, - 'map' : map, - 'grep' : grep, - 'supplant' : supplant, - 'now' : rnow, - 'unique' : unique, - 'updater' : updater, - 'poll_online' : function() { - _is_online() || SELF['_reset_offline'](); - timeout( SELF['poll_online'], SECOND ); - }, - 'poll_online2' : function() { - SELF['time'](function(success){ - success || SELF['_reset_offline'](); - timeout( SELF['poll_online2'], KEEPALIVE ); - }) - } - }; - if (!UUID) UUID = SELF['uuid'](); - db['set']( SUBSCRIBE_KEY + 'uuid', UUID ); - - timeout( SELF['poll_online'], SECOND ); - timeout( SELF['poll_online2'], KEEPALIVE ); - - return SELF; -} -/* --------------------------------------------------------------------------- ---------------------------------------------------------------------------- */ - -/* --------------------------------------------------------------------------- -PubNub Real-time Cloud-Hosted Push API and Push Notification Client Frameworks -Copyright (c) 2011 PubNub Inc. -http://www.pubnub.com/ -http://www.pubnub.com/terms ---------------------------------------------------------------------------- */ - -/* --------------------------------------------------------------------------- -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. ---------------------------------------------------------------------------- */ -(function(){ - -/** - * UTIL LOCALS - */ -var NOW = 1 -, URLBIT = '/' -, PARAMSBIT = '&' -, XHRTME = 310000; - -/** - * UTILITIES - */ -//function unique() { return'x'+ ++NOW+''+(+new Date) } -//function rnow() { return+new Date } - -/** - * LOCAL STORAGE - */ -var db = (function(){ - var ls = typeof localStorage != 'undefined' && localStorage; - return { - get : function(key) { - try { - if (ls) return ls.getItem(key); - if (document.cookie.indexOf(key) == -1) return null; - return ((document.cookie||'').match( - RegExp(key+'=([^;]+)') - )||[])[1] || null; - } catch(e) { return } - }, - set : function( key, value ) { - try { - if (ls) return ls.setItem( key, value ) && 0; - document.cookie = key + '=' + value + - '; expires=Thu, 1 Aug 2030 20:00:00 UTC; path=/'; - } catch(e) { return } - } - }; -})(); - - -/** - * CORS XHR Request - * ================ - * xdr({ - * url : ['http://www.blah.com/url'], - * success : function(response) {}, - * fail : function() {} - * }); - */ -function xdr( setup ) { - var xhr - , finished = function() { - if (loaded) return; - loaded = 1; - - clearTimeout(timer); - - try { response = JSON['parse'](xhr.responseText); } - catch (r) { return done(1); } - - success(response); - } - , complete = 0 - , loaded = 0 - , timer = timeout( function(){done(1)}, XHRTME ) - , fail = setup.fail || function(){} - , success = setup.success || function(){} - , done = function(failed) { - if (complete) return; - complete = 1; - - clearTimeout(timer); - - if (xhr) { - xhr.onerror = xhr.onload = null; - xhr.abort && xhr.abort(); - xhr = null; - } - - failed && fail(); - }; - - // Send - try { - xhr = typeof XDomainRequest !== 'undefined' && - new XDomainRequest() || - new XMLHttpRequest(); - - xhr.onerror = xhr.onabort = function(){ done(1) }; - xhr.onload = xhr.onloadend = finished; - xhr.timeout = XHRTME; - url = setup.url.join(URLBIT); - if (setup.data) { - var params = []; - url += "?"; - for (key in setup.data) { - params.push(key+"="+setup.data[key]); - } - url += params.join(PARAMSBIT); - } - xhr.open( 'GET', url, true ); - xhr.send(); - } - catch(eee) { - done(0); - return xdr(setup); - } - - // Return 'done' - return done; -} - -/** - * BIND - * ==== - * bind( 'keydown', search('a')[0], function(element) { - * ... - * } ); - */ -function bind( type, el, fun ) { - each( type.split(','), function(etype) { - var rapfun = function(e) { - if (!e) e = window.event; - if (!fun(e)) { - e.cancelBubble = true; - e.returnValue = false; - e.preventDefault && e.preventDefault(); - e.stopPropagation && e.stopPropagation(); - } - }; - - if ( el.addEventListener ) el.addEventListener( etype, rapfun, false ); - else if ( el.attachEvent ) el.attachEvent( 'on' + etype, rapfun ); - else el[ 'on' + etype ] = rapfun; - } ); -} - -/** - * UNBIND - * ====== - * unbind( 'keydown', search('a')[0] ); - */ -function unbind( type, el, fun ) { - if ( el.removeEventListener ) el.removeEventListener( type, false ); - else if ( el.detachEvent ) el.detachEvent( 'on' + type, false ); - else el[ 'on' + type ] = null; -} - -/** - * LOG - * === - * var list = grep( [1,2,3], function(item) { return item % 2 } ) - */ -var log = function(){}; - -/** - * EVENTS - * ====== - * PUBNUB.events.bind( 'you-stepped-on-flower', function(message) { - * // Do Stuff with message - * } ); - * - * PUBNUB.events.fire( 'you-stepped-on-flower', "message-data" ); - * PUBNUB.events.fire( 'you-stepped-on-flower', {message:"data"} ); - * PUBNUB.events.fire( 'you-stepped-on-flower', [1,2,3] ); - * - */ -var events = { - 'list' : {}, - 'unbind' : function( name ) { events.list[name] = [] }, - 'bind' : function( name, fun ) { - (events.list[name] = events.list[name] || []).push(fun); - }, - 'fire' : function( name, data ) { - each( - events.list[name] || [], - function(fun) { fun(data) } - ); - } -}; - -/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= PUBNUB ===========================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -function PN(setup) { - - - setup['db'] = db; - setup['xdr'] = xdr; - var SELF = PN_API(setup); - - SELF['init'] = PN; - - - // Return without Testing - if (setup['notest']) return SELF; - - // Add Leave Functions - bind( 'beforeunload', window, function() { - each_channel(function(ch){ SELF['LEAVE']( ch.name, 1 ) }); - return true; - } ); - - bind( 'offline', window, SELF['_reset_offline'] ); - bind( 'offline', document, SELF['_reset_offline'] ); - - SELF['ready'](); - return SELF; -} - -typeof module !== 'undefined' && (module.exports = PN) || -typeof exports !== 'undefined' && (exports.PN = PN) || (PUBNUB = PN); - -})(); -var NOW = 1 -, READY = false -, READY_BUFFER = [] -, PRESENCE_SUFFIX = '-pnpres' -, DEF_WINDOWING = 10 // MILLISECONDS. -, DEF_TIMEOUT = 10000 // MILLISECONDS. -, DEF_SUB_TIMEOUT = 310 // SECONDS. -, DEF_KEEPALIVE = 60 // SECONDS. -, SECOND = 1000 // A THOUSAND MILLISECONDS. -, REPL = /{([\w\-]+)}/g; - -/** - * UTILITIES - */ -function unique() { return'x'+ ++NOW+''+(+new Date) } -function rnow() { return+new Date } - -/** - * NEXTORIGIN - * ========== - * var next_origin = nextorigin(); - */ -var nextorigin = (function() { - var max = 20 - , ori = Math.floor(Math.random() * max); - return function( origin, failover ) { - return origin.indexOf('pubsub.') > 0 - && origin.replace( - 'pubsub', 'ps' + ( - failover ? uuid().split('-')[0] : - (++ori < max? ori : ori=1) - ) ) || origin; - } -})(); - -/** - * UPDATER - * ======= - * var timestamp = unique(); - */ -function updater( fun, rate ) { - var timeout - , last = 0 - , runnit = function() { - if (last + rate > rnow()) { - clearTimeout(timeout); - timeout = setTimeout( runnit, rate ); - } - else { - last = rnow(); - fun(); - } - }; - - return runnit; -} - -/** - * GREP - * ==== - * var list = grep( [1,2,3], function(item) { return item % 2 } ) - */ -function grep( list, fun ) { - var fin = []; - each( list || [], function(l) { fun(l) && fin.push(l) } ); - return fin -} - -/** - * SUPPLANT - * ======== - * var text = supplant( 'Hello {name}!', { name : 'John' } ) - */ -function supplant( str, values ) { - return str.replace( REPL, function( _, match ) { - return values[match] || _ - } ); -} - -/** - * timeout - * ======= - * timeout( function(){}, 100 ); - */ -function timeout( fun, wait ) { - return setTimeout( fun, wait ); -} - -/** - * uuid - * ==== - * var my_uuid = uuid(); - */ -function uuid(callback) { - var u = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, - function(c) { - var r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8); - return v.toString(16); - }); - if (callback) callback(u); - return u; -} - -/** - * EACH - * ==== - * each( [1,2,3], function(item) { } ) - */ -function each( o, f ) { - if ( !o || !f ) return; - - if ( typeof o[0] != 'undefined' ) - for ( var i = 0, l = o.length; i < l; ) - f.call( o[i], o[i], i++ ); - else - for ( var i in o ) - o.hasOwnProperty && - o.hasOwnProperty(i) && - f.call( o[i], i, o[i] ); -} - -/** - * MAP - * === - * var list = map( [1,2,3], function(item) { return item + 1 } ) - */ -function map( list, fun ) { - var fin = []; - each( list || [], function( k, v ) { fin.push(fun( k, v )) } ); - return fin; -} - -/** - * ENCODE - * ====== - * var encoded_path = encode('path'); - */ -function encode(path) { - return map( (encodeURIComponent(path)).split(''), function(chr) { - return "-_.!~*'()".indexOf(chr) < 0 ? chr : - "%"+chr.charCodeAt(0).toString(16).toUpperCase() - } ).join(''); -} - -/** - * Generate Subscription Channel List - * ================================== - * generate_channel_list(channels_object); - */ -function generate_channel_list(channels) { - var list = []; - each( channels, function( channel, status ) { - if (status.subscribed) list.push(channel); - } ); - return list.sort(); -} - -// PUBNUB READY TO CONNECT - function ready() { timeout( function() { - if (READY) return; - READY = 1; - each( READY_BUFFER, function(connect) { connect() } ); - }, SECOND ); } - -function PN_API(setup) { - var SUB_WINDOWING = +setup['windowing'] || DEF_WINDOWING - , SUB_TIMEOUT = (+setup['timeout'] || DEF_SUB_TIMEOUT) * SECOND - , KEEPALIVE = (+setup['keepalive'] || DEF_KEEPALIVE) * SECOND - , PUBLISH_KEY = setup['publish_key'] || '' - , SUBSCRIBE_KEY = setup['subscribe_key'] || '' - , SSL = setup['ssl'] ? 's' : '' - , ORIGIN = 'http'+SSL+'://'+(setup['origin']||'pubsub.pubnub.com') - , STD_ORIGIN = nextorigin(ORIGIN) - , SUB_ORIGIN = nextorigin(ORIGIN) - , CONNECT = function(){} - , PUB_QUEUE = [] - , SUB_CALLBACK = 0 - , SUB_CHANNEL = 0 - , SUB_RECEIVER = 0 - , SUB_RESTORE = 0 - , SUB_BUFF_WAIT = 0 - , TIMETOKEN = 0 - , CHANNELS = {} - , xdr = setup['xdr'] - , _is_online = setup['_is_online'] || function() { return 1; } - , jsonp_cb = setup['jsonp_cb'] || function(){ return 0; } - , db = setup['db'] || {'get': function(){}, 'set': function(){}} - , UUID = setup['uuid'] || ( db && db['get'](SUBSCRIBE_KEY+'uuid') || ''); - - - - function publish(next) { - if (next) PUB_QUEUE.sending = 0; - if (PUB_QUEUE.sending || !PUB_QUEUE.length) return; - PUB_QUEUE.sending = 1; - xdr(PUB_QUEUE.shift()); - } - - function each_channel(callback) { - each( generate_channel_list(CHANNELS), function(channel) { - var chan = CHANNELS[channel]; - if (!chan) return; - callback(chan); - } ); - } - - // Announce Leave Event - - - var SELF = { - - '_reset_offline' : function() { - SUB_RECEIVER && SUB_RECEIVER(1); - }, - - 'LEAVE' : function( channel, blocking ) { - var data = { 'uuid' : UUID } - , origin = nextorigin(ORIGIN) - , jsonp = jsonp_cb(); - - // Prevent Leaving a Presence Channel - if (channel.indexOf(PRESENCE_SUFFIX) > 0) return; - - if (jsonp != '0') data['callback'] = jsonp; - - xdr({ - blocking : blocking || SSL, - timeout : 2000, - callback : jsonp, - data : data, - url : [ - origin, 'v2', 'presence', 'sub_key', - SUBSCRIBE_KEY, 'channel', encode(channel), 'leave' - ] - }); - }, - /* - PUBNUB.history({ - channel : 'my_chat_channel', - limit : 100, - callback : function(history) { } - }); - */ - 'history' : function( args, callback ) { - var callback = args['callback'] || callback - , count = args['count'] || args['limit'] || 100 - , reverse = args['reverse'] || "false" - , err = args['error'] || function(){} - , channel = args['channel'] - , start = args['start'] - , end = args['end'] - , params = {} - , jsonp = jsonp_cb(); - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - params['stringtoken'] = 'true'; - params['count'] = count; - params['reverse'] = reverse; - - if (jsonp) params['callback'] = jsonp; - if (start) params['start'] = start; - if (end) params['end'] = end; - - // Send Message - xdr({ - callback : jsonp, - data : params, - success : function(response) { callback(response) }, - fail : err, - url : [ - STD_ORIGIN, 'v2', 'history', 'sub-key', - SUBSCRIBE_KEY, 'channel', encode(channel) - ] - }); - }, - - /* - PUBNUB.replay({ - source : 'my_channel', - destination : 'new_channel' - }); - */ - 'replay' : function(args) { - var callback = callback || args['callback'] || function(){} - , source = args['source'] - , destination = args['destination'] - , stop = args['stop'] - , start = args['start'] - , end = args['end'] - , reverse = args['reverse'] - , limit = args['limit'] - , jsonp = jsonp_cb() - , data = {} - , url; - - // Check User Input - if (!source) return error('Missing Source Channel'); - if (!destination) return error('Missing Destination Channel'); - if (!PUBLISH_KEY) return error('Missing Publish Key'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // Setup URL Params - if (jsonp != '0') data['callback'] = jsonp; - if (stop) data['stop'] = 'all'; - if (reverse) data['reverse'] = 'true'; - if (start) data['start'] = start; - if (end) data['end'] = end; - if (limit) data['count'] = limit; - - // Compose URL Parts - url = [ - STD_ORIGIN, 'v1', 'replay', - PUBLISH_KEY, SUBSCRIBE_KEY, - source, destination - ]; - - // Start (or Stop) Replay! - xdr({ - callback : jsonp, - success : function(response) { callback(response) }, - fail : function() { callback([ 0, 'Disconnected' ]) }, - url : url, - data : data - }); - }, - - /* - PUBNUB.time(function(time){ }); - */ - 'time' : function(callback) { - var jsonp = jsonp_cb(); - xdr({ - callback : jsonp, - timeout : SECOND*5, - url : [STD_ORIGIN, 'time', jsonp], - success : function(response) { callback(response[0]) }, - fail : function() { callback(0) } - }); - }, - - /* - PUBNUB.publish({ - channel : 'my_chat_channel', - message : 'hello!' - }); - */ - 'publish' : function( args, callback ) { - var callback = callback || args['callback'] || function(){} - , msg = args['message'] - , channel = args['channel'] - , jsonp = jsonp_cb() - , url; - - if (!msg) return error('Missing Message'); - if (!channel) return error('Missing Channel'); - if (!PUBLISH_KEY) return error('Missing Publish Key'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // If trying to send Object - msg = JSON['stringify'](msg); - - // Create URL - url = [ - STD_ORIGIN, 'publish', - PUBLISH_KEY, SUBSCRIBE_KEY, - 0, encode(channel), - jsonp, encode(msg) - ]; - - // Queue Message Send - PUB_QUEUE.push({ - callback : jsonp, - timeout : SECOND*5, - url : url, - data : { 'uuid' : UUID }, - success : function(response){callback(response);publish(1)}, - fail : function(){callback([0,'Failed',msg]);publish(1)} - }); - - // Send Message - publish(); - }, - - /* - PUBNUB.unsubscribe({ channel : 'my_chat' }); - */ - 'unsubscribe' : function(args) { - var channel = args['channel']; - - TIMETOKEN = 0; - SUB_RESTORE = 1; - - // Prepare Channel(s) - channel = map( ( - channel.join ? channel.join(',') : ''+channel - ).split(','), function(channel) { - return channel + ',' + channel + PRESENCE_SUFFIX; - } ).join(','); - - // Iterate over Channels - each( channel.split(','), function(channel) { - if (READY) SELF['LEAVE']( channel, 0 ); - CHANNELS[channel] = 0; - } ); - - // ReOpen Connection if Any Channels Left - if (READY) CONNECT(); - }, - /* PUBNUB.subscribe({ channel : 'my_chat' diff --git a/modern/pubnub.min.js b/modern/pubnub.min.js index 277143069..9b32543a4 100644 --- a/modern/pubnub.min.js +++ b/modern/pubnub.min.js @@ -1,148 +1,19 @@ // 3.4.3 (function(){ -var k=!0,l=null,n=!1;function q(){return function(){}}function x(a){return function(){return a}}var C=1,D=n,F=[],G="-pnpres",H=10,J=310,N=60,O=1E3,aa=/{([\w\-]+)}/g;function ba(){return"x"+ ++C+""+ +new Date}function P(){return+new Date}var Q,ca=Math.floor(20*Math.random());Q=function(a,b){return 0++ca?ca:ca=1))||a};function da(a,b){function d(){f+b>P()?(clearTimeout(c),c=setTimeout(d,b)):(f=P(),a())}var c,f=0;return d} -function ea(a,b){var d=[];W(a||[],function(a){b(a)&&d.push(a)});return d}function fa(a,b){return a.replace(aa,function(a,c){return b[c]||a})}function X(a,b){return setTimeout(a,b)}function R(a){var b="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});a&&a(b);return b} -function W(a,b){if(a&&b)if("undefined"!=typeof a[0])for(var d=0,c=a.length;d"-_.!~*'()".indexOf(a)?a:"%"+a.charCodeAt(0).toString(16).toUpperCase()}).join("")}function $(a){var b=[];W(a,function(a,c){c.f&&b.push(a)});return b.sort()} -function ga(){X(function(){D||(D=1,W(F,function(a){a()}))},O)} -function pa(a){function b(){}function d(a){a&&(r.g=0);!r.g&&r.length&&(r.g=1,t(r.shift()))}function c(a){W($(j),function(b){(b=j[b])&&a(b)})}var f=+a.windowing||H,p=(+a.timeout||J)*O,u=(+a.keepalive||N)*O,s=a.publish_key||"",g=a.subscribe_key||"",w=a.ssl?"s":"",y="http"+w+"://"+(a.origin||"pubsub.pubnub.com"),z=Q(y),S=Q(y),r=[],T=0,U=0,K=0,L=0,V=0,E=0,j={},t=a.xdr,M=a._is_online||x(1),v=a.jsonp_cb||x(0),A=a.db||{get:q(),set:q()},B=a.uuid||A&&A.get(g+"uuid")||"",e={_reset_offline:function(){K&&K(1)}, -LEAVE:function(a,b){var c={uuid:B},d=Q(y),m=v();0++ya?ya:ya=1))||a};function da(a,b){function d(){f+b>P()?(clearTimeout(c),c=setTimeout(d,b)):(f=P(),a())}var c,f=0;return d}function ea(a,b){var d=[];W(a||[],function(a){b(a)&&d.push(a)});return d}function fa(a,b){return a.replace(aa,function(a,c){return b[c]||a})} -function X(a,b){return setTimeout(a,b)}function R(a){var b="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});a&&a(b);return b}function W(a,b){if(a&&b)if("undefined"!=typeof a[0])for(var d=0,c=a.length;d"-_.!~*'()".indexOf(a)?a:"%"+a.charCodeAt(0).toString(16).toUpperCase()}).join("")}function $(a){var b=[];W(a,function(a,c){c.f&&b.push(a)});return b.sort()}function ga(){X(function(){D||(D=1,W(F,function(a){a()}))},O)} -function pa(a){function b(){}function d(a){a&&(r.g=0);!r.g&&r.length&&(r.g=1,t(r.shift()))}function c(a){W($(j),function(b){(b=j[b])&&a(b)})}var f=+a.windowing||H,p=(+a.timeout||J)*O,u=(+a.keepalive||N)*O,s=a.publish_key||"",g=a.subscribe_key||"",w=a.ssl?"s":"",y="http"+w+"://"+(a.origin||"pubsub.pubnub.com"),z=Q(y),S=Q(y),r=[],T=0,U=0,K=0,L=0,V=0,E=0,j={},t=a.xdr,M=a._is_online||x(1),v=a.jsonp_cb||x(0),A=a.db||{get:q(),set:q()},B=a.uuid||A&&A.get(g+"uuid")||"",e={_reset_offline:function(){K&&K(1)}, -LEAVE:function(a,b){var c={uuid:B},d=Q(y),m=v();0++Ha?Ha:Ha=1))||a};function da(a,b){function d(){f+b>P()?(clearTimeout(c),c=setTimeout(d,b)):(f=P(),a())}var c,f=0;return d}function ea(a,b){var d=[];W(a||[],function(a){b(a)&&d.push(a)});return d}function fa(a,b){return a.replace(aa,function(a,c){return b[c]||a})} -function X(a,b){return setTimeout(a,b)}function R(a){var b="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});a&&a(b);return b}function W(a,b){if(a&&b)if("undefined"!=typeof a[0])for(var d=0,c=a.length;d"-_.!~*'()".indexOf(a)?a:"%"+a.charCodeAt(0).toString(16).toUpperCase()}).join("")}function $(a){var b=[];W(a,function(a,c){c.f&&b.push(a)});return b.sort()}function ga(){X(function(){D||(D=1,W(F,function(a){a()}))},O)} -function pa(a){function b(){}function d(a){a&&(r.g=0);!r.g&&r.length&&(r.g=1,t(r.shift()))}function c(a){W($(j),function(b){(b=j[b])&&a(b)})}var f=+a.windowing||H,p=(+a.timeout||J)*O,u=(+a.keepalive||N)*O,s=a.publish_key||"",g=a.subscribe_key||"",w=a.ssl?"s":"",y="http"+w+"://"+(a.origin||"pubsub.pubnub.com"),z=Q(y),S=Q(y),r=[],T=0,U=0,K=0,L=0,V=0,E=0,j={},t=a.xdr,M=a._is_online||x(1),v=a.jsonp_cb||x(0),A=a.db||{get:q(),set:q()},B=a.uuid||A&&A.get(g+"uuid")||"",e={_reset_offline:function(){K&&K(1)}, -LEAVE:function(a,b){var c={uuid:B},d=Q(y),m=v();0++Qa?Qa:Qa=1))||a};function da(a,b){function d(){f+b>P()?(clearTimeout(c),c=setTimeout(d,b)):(f=P(),a())}var c,f=0;return d}function ea(a,b){var d=[];W(a||[],function(a){b(a)&&d.push(a)});return d}function fa(a,b){return a.replace(aa,function(a,c){return b[c]||a})} -function X(a,b){return setTimeout(a,b)}function R(a){var b="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});a&&a(b);return b}function W(a,b){if(a&&b)if("undefined"!=typeof a[0])for(var d=0,c=a.length;d"-_.!~*'()".indexOf(a)?a:"%"+a.charCodeAt(0).toString(16).toUpperCase()}).join("")}function $(a){var b=[];W(a,function(a,c){c.f&&b.push(a)});return b.sort()}function ga(){X(function(){D||(D=1,W(F,function(a){a()}))},O)} -function pa(a){function b(){}function d(a){a&&(r.g=0);!r.g&&r.length&&(r.g=1,t(r.shift()))}function c(a){W($(j),function(b){(b=j[b])&&a(b)})}var f=+a.windowing||H,p=(+a.timeout||J)*O,u=(+a.keepalive||N)*O,s=a.publish_key||"",g=a.subscribe_key||"",w=a.ssl?"s":"",y="http"+w+"://"+(a.origin||"pubsub.pubnub.com"),z=Q(y),S=Q(y),r=[],T=0,U=0,K=0,L=0,V=0,E=0,j={},t=a.xdr,M=a._is_online||x(1),v=a.jsonp_cb||x(0),A=a.db||{get:q(),set:q()},B=a.uuid||A&&A.get(g+"uuid")||"",e={_reset_offline:function(){K&&K(1)}, -LEAVE:function(a,b){var c={uuid:B},d=Q(y),m=v();0++Za?Za:Za=1))||a};function da(a,b){function d(){f+b>P()?(clearTimeout(c),c=setTimeout(d,b)):(f=P(),a())}var c,f=0;return d}function ea(a,b){var d=[];W(a||[],function(a){b(a)&&d.push(a)});return d}function fa(a,b){return a.replace(aa,function(a,c){return b[c]||a})} -function X(a,b){return setTimeout(a,b)}function R(a){var b="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});a&&a(b);return b}function W(a,b){if(a&&b)if("undefined"!=typeof a[0])for(var d=0,c=a.length;d"-_.!~*'()".indexOf(a)?a:"%"+a.charCodeAt(0).toString(16).toUpperCase()}).join("")}function $(a){var b=[];W(a,function(a,c){c.f&&b.push(a)});return b.sort()}function ga(){X(function(){D||(D=1,W(F,function(a){a()}))},O)} -function pa(a){function b(){}function d(a){a&&(r.g=0);!r.g&&r.length&&(r.g=1,t(r.shift()))}function c(a){W($(j),function(b){(b=j[b])&&a(b)})}var f=+a.windowing||H,p=(+a.timeout||J)*O,u=(+a.keepalive||N)*O,s=a.publish_key||"",g=a.subscribe_key||"",w=a.ssl?"s":"",y="http"+w+"://"+(a.origin||"pubsub.pubnub.com"),z=Q(y),S=Q(y),r=[],T=0,U=0,K=0,L=0,V=0,E=0,j={},t=a.xdr,M=a._is_online||x(1),v=a.jsonp_cb||x(0),A=a.db||{get:q(),set:q()},B=a.uuid||A&&A.get(g+"uuid")||"",e={_reset_offline:function(){K&&K(1)}, -LEAVE:function(a,b){var c={uuid:B},d=Q(y),e=v();0++hb?hb:hb=1))||a};function da(a,b){function d(){f+b>P()?(clearTimeout(c),c=setTimeout(d,b)):(f=P(),a())}var c,f=0;return d}function ea(a,b){var d=[];W(a||[],function(a){b(a)&&d.push(a)});return d}function fa(a,b){return a.replace(aa,function(a,c){return b[c]||a})} -function X(a,b){return setTimeout(a,b)}function R(a){var b="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});a&&a(b);return b}function W(a,b){if(a&&b)if("undefined"!=typeof a[0])for(var d=0,c=a.length;d"-_.!~*'()".indexOf(a)?a:"%"+a.charCodeAt(0).toString(16).toUpperCase()}).join("")}function $(a){var b=[];W(a,function(a,c){c.f&&b.push(a)});return b.sort()}function ga(){X(function(){D||(D=1,W(F,function(a){a()}))},O)} -function pa(a){function b(){}function d(a){a&&(r.g=0);!r.g&&r.length&&(r.g=1,t(r.shift()))}function c(a){W($(j),function(b){(b=j[b])&&a(b)})}var f=+a.windowing||H,p=(+a.timeout||J)*O,u=(+a.keepalive||N)*O,s=a.publish_key||"",g=a.subscribe_key||"",w=a.ssl?"s":"",y="http"+w+"://"+(a.origin||"pubsub.pubnub.com"),z=Q(y),S=Q(y),r=[],T=0,U=0,K=0,L=0,V=0,E=0,j={},t=a.xdr,M=a._is_online||x(1),v=a.jsonp_cb||x(0),A=a.db||{get:q(),set:q()},B=a.uuid||A&&A.get(g+"uuid")||"",e={_reset_offline:function(){K&&K(1)}, -LEAVE:function(a,b){var c={uuid:B},d=Q(y),e=v();0++qb?qb:qb=1))||a};function da(a,b){function d(){f+b>P()?(clearTimeout(c),c=setTimeout(d,b)):(f=P(),a())}var c,f=0;return d}function ea(a,b){var d=[];W(a||[],function(a){b(a)&&d.push(a)});return d}function fa(a,b){return a.replace(aa,function(a,c){return b[c]||a})} -function X(a,b){return setTimeout(a,b)}function R(a){var b="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});a&&a(b);return b}function W(a,b){if(a&&b)if("undefined"!=typeof a[0])for(var d=0,c=a.length;d"-_.!~*'()".indexOf(a)?a:"%"+a.charCodeAt(0).toString(16).toUpperCase()}).join("")}function $(a){var b=[];W(a,function(a,c){c.f&&b.push(a)});return b.sort()}function ga(){X(function(){D||(D=1,W(F,function(a){a()}))},O)} -function pa(a){function b(){}function d(a){a&&(r.g=0);!r.g&&r.length&&(r.g=1,t(r.shift()))}function c(a){W($(j),function(b){(b=j[b])&&a(b)})}var f=+a.windowing||H,p=(+a.timeout||J)*O,u=(+a.keepalive||N)*O,s=a.publish_key||"",g=a.subscribe_key||"",w=a.ssl?"s":"",y="http"+w+"://"+(a.origin||"pubsub.pubnub.com"),z=Q(y),S=Q(y),r=[],T=0,U=0,K=0,L=0,V=0,E=0,j={},t=a.xdr,M=a._is_online||x(1),v=a.jsonp_cb||x(0),A=a.db||{get:q(),set:q()},B=a.uuid||A&&A.get(g+"uuid")||"",e={_reset_offline:function(){K&&K(1)}, -LEAVE:function(a,b){var c={uuid:B},d=Q(y),e=v();0++zb?zb:zb=1))||a};function da(a,b){function d(){f+b>P()?(clearTimeout(c),c=setTimeout(d,b)):(f=P(),a())}var c,f=0;return d}function ea(a,b){var d=[];W(a||[],function(a){b(a)&&d.push(a)});return d}function fa(a,b){return a.replace(aa,function(a,c){return b[c]||a})} -function X(a,b){return setTimeout(a,b)}function R(a){var b="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});a&&a(b);return b}function W(a,b){if(a&&b)if("undefined"!=typeof a[0])for(var d=0,c=a.length;d"-_.!~*'()".indexOf(a)?a:"%"+a.charCodeAt(0).toString(16).toUpperCase()}).join("")}function $(a){var b=[];W(a,function(a,c){c.f&&b.push(a)});return b.sort()}function ga(){X(function(){D||(D=1,W(F,function(a){a()}))},O)} -function pa(a){function b(){}function d(a){a&&(r.g=0);!r.g&&r.length&&(r.g=1,t(r.shift()))}function c(a){W($(j),function(b){(b=j[b])&&a(b)})}var f=+a.windowing||H,p=(+a.timeout||J)*O,u=(+a.keepalive||N)*O,s=a.publish_key||"",g=a.subscribe_key||"",w=a.ssl?"s":"",y="http"+w+"://"+(a.origin||"pubsub.pubnub.com"),z=Q(y),S=Q(y),r=[],T=0,U=0,K=0,L=0,V=0,E=0,j={},t=a.xdr,M=a._is_online||x(1),v=a.jsonp_cb||x(0),A=a.db||{get:q(),set:q()},B=a.uuid||A&&A.get(g+"uuid")||"",e={_reset_offline:function(){K&&K(1)}, -LEAVE:function(a,b){var c={uuid:B},d=Q(y),e=v();0++Ib?Ib:Ib=1))||a};function da(a,b){function d(){f+b>P()?(clearTimeout(c),c=setTimeout(d,b)):(f=P(),a())}var c,f=0;return d}function ea(a,b){var d=[];W(a||[],function(a){b(a)&&d.push(a)});return d}function fa(a,b){return a.replace(aa,function(a,c){return b[c]||a})} -function X(a,b){return setTimeout(a,b)}function R(a){var b="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});a&&a(b);return b}function W(a,b){if(a&&b)if("undefined"!=typeof a[0])for(var d=0,c=a.length;d"-_.!~*'()".indexOf(a)?a:"%"+a.charCodeAt(0).toString(16).toUpperCase()}).join("")}function $(a){var b=[];W(a,function(a,c){c.f&&b.push(a)});return b.sort()}function ga(){X(function(){D||(D=1,W(F,function(a){a()}))},O)} -function pa(a){function b(){}function d(a){a&&(r.g=0);!r.g&&r.length&&(r.g=1,t(r.shift()))}function c(a){W($(j),function(b){(b=j[b])&&a(b)})}var f=+a.windowing||H,p=(+a.timeout||J)*O,u=(+a.keepalive||N)*O,s=a.publish_key||"",g=a.subscribe_key||"",w=a.ssl?"s":"",y="http"+w+"://"+(a.origin||"pubsub.pubnub.com"),z=Q(y),S=Q(y),r=[],T=0,U=0,K=0,L=0,V=0,E=0,j={},t=a.xdr,M=a._is_online||x(1),v=a.jsonp_cb||x(0),A=a.db||{get:q(),set:q()},B=a.uuid||A&&A.get(g+"uuid")||"",e={_reset_offline:function(){K&&K(1)}, -LEAVE:function(a,b){var c={uuid:B},d=Q(y),e=v();0++E?E:E=1))||a};function da(a,b){function d(){e+b>z()?(clearTimeout(c),c=setTimeout(d,b)):(e=z(),a())}var c,e=0;return d}function ea(a,b){var d=[];J(a||[],function(a){b(a)&&d.push(a)});return d} +function fa(a,b){return a.replace(ba,function(a,c){return b[c]||a})}function G(a){var b="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});a&&a(b);return b}function J(a,b){if(a&&b)if("undefined"!=typeof a[0])for(var d=0,c=a.length;d"-_.!~*'()".indexOf(a)?a:"%"+a.charCodeAt(0).toString(16).toUpperCase()}).join("")}function M(a){var b=[];J(a,function(a,c){c.f&&b.push(a)});return b.sort()}function ga(){setTimeout(function(){m||(m=1,J(n,function(a){a()}))},t)} +function Q(a){function b(a){e||(e=1,clearTimeout(B),c&&(c.onerror=c.onload=null,c.abort&&c.abort(),c=null),a&&u())}function d(){if(!F){F=1;clearTimeout(B);try{response=JSON.parse(c.responseText)}catch(a){return b(1)}p(response)}}var c,e=0,F=0,B;B=setTimeout(function(){b(1)},R);var u=a.b||l(),p=a.c||l();try{c="undefined"!==typeof XDomainRequest&&new XDomainRequest||new XMLHttpRequest;c.onerror=c.onabort=function(){b(1)};c.onload=c.onloadend=d;c.timeout=R;url=a.url.join(ha);if(a.data){var g=[];url+= +"?";for(key in a.data)g.push(key+"="+a.data[key]);url+=g.join(ia)}c.open("GET",url,!0);c.send()}catch(v){return b(0),Q(a)}return b}function S(a,b,d){J(a.split(","),function(a){function e(a){a||(a=window.event);d(a)||(a.cancelBubble=!0,a.returnValue=!1,a.preventDefault&&a.preventDefault(),a.stopPropagation&&a.stopPropagation())}b.addEventListener?b.addEventListener(a,e,!1):b.attachEvent?b.attachEvent("on"+a,e):b["on"+a]=e})} +function T(a){function b(){}function d(a){J(M(i),function(b){(b=i[b])&&a(b)})}function c(a){a&&(j.g=0);!j.g&&j.length&&(j.g=1,q(j.shift()))}a.db=U;a.xdr=Q;var e,F=+a.windowing||10,B=(+a.timeout||310)*t,u=(+a.keepalive||60)*t,p=a.publish_key||"",g=a.subscribe_key||"",v=a.ssl?"s":"",A="http"+v+"://"+(a.origin||"pubsub.pubnub.com"),w=D(A),W=D(A),j=[],X=0,Y=0,N=0,O=0,Z=0,C=0,i={},q=a.xdr,P=a._is_online||function(){return 1},r=a.jsonp_cb||function(){return 0},x=a.db||{get:l(),set:l()},y=a.uuid||x&&x.get(g+ +"uuid")||"",f={_reset_offline:function(){N&&N(1)},LEAVE:function(a,b){var c={uuid:y},d=D(A),e=r();0 + + + + history + + + + + + + + +
+
+
+
+
+ + diff --git a/sencha/examples/here_now/sencha-touch-all.js b/sencha/examples/here_now/sencha-touch-all.js new file mode 100644 index 000000000..3b08d5862 --- /dev/null +++ b/sencha/examples/here_now/sencha-touch-all.js @@ -0,0 +1,32 @@ +/* +This file is part of Sencha Touch 2.0 + +Copyright (c) 2011-2012 Sencha Inc + +Contact: http://www.sencha.com/contact + +Commercial Usage +Licensees holding valid commercial licenses may use this file in accordance with the Commercial +Software License Agreement provided with the Software or, alternatively, in accordance with the +terms contained in a written agreement between you and Sencha. + +If you are unsure which license is appropriate for your use, please contact the sales department +at http://www.sencha.com/contact. + +Build date: 2012-06-04 15:34:28 (d81f71da2d56f5f71419dc892fbc85685098c6b7) +*/ +/* + +This file is part of Sencha Touch 2 + +Copyright (c) 2012 Sencha Inc + +Contact: http://www.sencha.com/contact + +Commercial Usage +Licensees holding valid commercial licenses may use this file in accordance with the Commercial Software License Agreement provided with the Software or, alternatively, in accordance with the terms contained in a written agreement between you and Sencha. + +If you are unsure which license is appropriate for your use, please contact the sales department at http://www.sencha.com/contact. + +*/ +(function(){var global=this,objectPrototype=Object.prototype,toString=objectPrototype.toString,enumerables=true,enumerablesTest={toString:1},emptyFn=function(){},i;if(typeof Ext==="undefined"){global.Ext={}}Ext.global=global;for(i in enumerablesTest){enumerables=null}if(enumerables){enumerables=["hasOwnProperty","valueOf","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","constructor"]}Ext.enumerables=enumerables;Ext.apply=function(object,config,defaults){if(defaults){Ext.apply(object,defaults)}if(object&&config&&typeof config==="object"){var i,j,k;for(i in config){object[i]=config[i]}if(enumerables){for(j=enumerables.length;j--;){k=enumerables[j];if(config.hasOwnProperty(k)){object[k]=config[k]}}}}return object};Ext.buildSettings=Ext.apply({baseCSSPrefix:"x-",scopeResetCSS:false},Ext.buildSettings||{});Ext.apply(Ext,{emptyFn:emptyFn,baseCSSPrefix:Ext.buildSettings.baseCSSPrefix,applyIf:function(object,config){var property;if(object){for(property in config){if(object[property]===undefined){object[property]=config[property]}}}return object},iterate:function(object,fn,scope){if(Ext.isEmpty(object)){return}if(scope===undefined){scope=object}if(Ext.isIterable(object)){Ext.Array.each.call(Ext.Array,object,fn,scope)}else{Ext.Object.each.call(Ext.Object,object,fn,scope)}}});Ext.apply(Ext,{extend:function(){var objectConstructor=objectPrototype.constructor,inlineOverrides=function(o){for(var m in o){if(!o.hasOwnProperty(m)){continue}this[m]=o[m]}};return function(subclass,superclass,overrides){if(Ext.isObject(superclass)){overrides=superclass;superclass=subclass;subclass=overrides.constructor!==objectConstructor?overrides.constructor:function(){superclass.apply(this,arguments)}}var F=function(){},subclassProto,superclassProto=superclass.prototype;F.prototype=superclassProto;subclassProto=subclass.prototype=new F();subclassProto.constructor=subclass;subclass.superclass=superclassProto;if(superclassProto.constructor===objectConstructor){superclassProto.constructor=superclass}subclass.override=function(overrides){Ext.override(subclass,overrides)};subclassProto.override=inlineOverrides;subclassProto.proto=subclassProto;subclass.override(overrides);subclass.extend=function(o){return Ext.extend(subclass,o)};return subclass}}(),override:function(cls,overrides){if(cls.$isClass){return cls.override(overrides)}else{Ext.apply(cls.prototype,overrides)}}});Ext.apply(Ext,{valueFrom:function(value,defaultValue,allowBlank){return Ext.isEmpty(value,allowBlank)?defaultValue:value},typeOf:function(value){if(value===null){return"null"}var type=typeof value;if(type==="undefined"||type==="string"||type==="number"||type==="boolean"){return type}var typeToString=toString.call(value);switch(typeToString){case"[object Array]":return"array";case"[object Date]":return"date";case"[object Boolean]":return"boolean";case"[object Number]":return"number";case"[object RegExp]":return"regexp"}if(type==="function"){return"function"}if(type==="object"){if(value.nodeType!==undefined){if(value.nodeType===3){return(/\S/).test(value.nodeValue)?"textnode":"whitespace"}else{return"element"}}return"object"}},isEmpty:function(value,allowEmptyString){return(value===null)||(value===undefined)||(!allowEmptyString?value==="":false)||(Ext.isArray(value)&&value.length===0)},isArray:("isArray" in Array)?Array.isArray:function(value){return toString.call(value)==="[object Array]"},isDate:function(value){return toString.call(value)==="[object Date]"},isObject:(toString.call(null)==="[object Object]")?function(value){return value!==null&&value!==undefined&&toString.call(value)==="[object Object]"&&value.ownerDocument===undefined}:function(value){return toString.call(value)==="[object Object]"},isSimpleObject:function(value){return value instanceof Object&&value.constructor===Object},isPrimitive:function(value){var type=typeof value;return type==="string"||type==="number"||type==="boolean"},isFunction:(typeof document!=="undefined"&&typeof document.getElementsByTagName("body")==="function")?function(value){return toString.call(value)==="[object Function]"}:function(value){return typeof value==="function"},isNumber:function(value){return typeof value==="number"&&isFinite(value)},isNumeric:function(value){return !isNaN(parseFloat(value))&&isFinite(value)},isString:function(value){return typeof value==="string"},isBoolean:function(value){return typeof value==="boolean"},isElement:function(value){return value?value.nodeType===1:false},isTextNode:function(value){return value?value.nodeName==="#text":false},isDefined:function(value){return typeof value!=="undefined"},isIterable:function(value){return(value&&typeof value!=="string")?value.length!==undefined:false}});Ext.apply(Ext,{clone:function(item){if(item===null||item===undefined){return item}if(item.nodeType&&item.cloneNode){return item.cloneNode(true)}var type=toString.call(item);if(type==="[object Date]"){return new Date(item.getTime())}var i,j,k,clone,key;if(type==="[object Array]"){i=item.length;clone=[];while(i--){clone[i]=Ext.clone(item[i])}}else{if(type==="[object Object]"&&item.constructor===Object){clone={};for(key in item){clone[key]=Ext.clone(item[key])}if(enumerables){for(j=enumerables.length;j--;){k=enumerables[j];clone[k]=item[k]}}}}return clone||item},getUniqueGlobalNamespace:function(){var uniqueGlobalNamespace=this.uniqueGlobalNamespace;if(uniqueGlobalNamespace===undefined){var i=0;do{uniqueGlobalNamespace="ExtBox"+(++i)}while(Ext.global[uniqueGlobalNamespace]!==undefined);Ext.global[uniqueGlobalNamespace]=Ext;this.uniqueGlobalNamespace=uniqueGlobalNamespace}return uniqueGlobalNamespace},functionFactory:function(){var args=Array.prototype.slice.call(arguments),ln=args.length;if(ln>0){args[ln-1]="var Ext=window."+this.getUniqueGlobalNamespace()+";"+args[ln-1]}return Function.prototype.constructor.apply(Function.prototype,args)},globalEval:("execScript" in global)?function(code){global.execScript(code)}:function(code){(function(){eval(code)})()},});Ext.type=Ext.typeOf})();(function(){var a="4.1.0",b;Ext.Version=b=Ext.extend(Object,{constructor:function(d){var c=this.toNumber,f,e;if(d instanceof b){return d}this.version=this.shortVersion=String(d).toLowerCase().replace(/_/g,".").replace(/[\-+]/g,"");e=this.version.search(/([^\d\.])/);if(e!==-1){this.release=this.version.substr(e,d.length);this.shortVersion=this.version.substr(0,e)}this.shortVersion=this.shortVersion.replace(/[^\d]/g,"");f=this.version.split(".");this.major=c(f.shift());this.minor=c(f.shift());this.patch=c(f.shift());this.build=c(f.shift());return this},toNumber:function(c){c=parseInt(c||0,10);if(isNaN(c)){c=0}return c},toString:function(){return this.version},valueOf:function(){return this.version},getMajor:function(){return this.major||0},getMinor:function(){return this.minor||0},getPatch:function(){return this.patch||0},getBuild:function(){return this.build||0},getRelease:function(){return this.release||""},isGreaterThan:function(c){return b.compare(this.version,c)===1},isGreaterThanOrEqual:function(c){return b.compare(this.version,c)>=0},isLessThan:function(c){return b.compare(this.version,c)===-1},isLessThanOrEqual:function(c){return b.compare(this.version,c)<=0},equals:function(c){return b.compare(this.version,c)===0},match:function(c){c=String(c);return this.version.substr(0,c.length)===c},toArray:function(){return[this.getMajor(),this.getMinor(),this.getPatch(),this.getBuild(),this.getRelease()]},getShortVersion:function(){return this.shortVersion},gt:function(){return this.isGreaterThan.apply(this,arguments)},lt:function(){return this.isLessThan.apply(this,arguments)},gtEq:function(){return this.isGreaterThanOrEqual.apply(this,arguments)},ltEq:function(){return this.isLessThanOrEqual.apply(this,arguments)}});Ext.apply(b,{releaseValueMap:{dev:-6,alpha:-5,a:-5,beta:-4,b:-4,rc:-3,"#":-2,p:-1,pl:-1},getComponentValue:function(c){return !c?0:(isNaN(c)?this.releaseValueMap[c]||c:parseInt(c,10))},compare:function(g,f){var d,e,c;g=new b(g).toArray();f=new b(f).toArray();for(c=0;ce){return 1}}}return 0}});Ext.apply(Ext,{versions:{},lastRegisteredVersion:null,setVersion:function(d,c){Ext.versions[d]=new b(c);Ext.lastRegisteredVersion=Ext.versions[d];return this},getVersion:function(c){if(c===undefined){return Ext.lastRegisteredVersion}return Ext.versions[c]},deprecate:function(c,e,f,d){if(b.compare(Ext.getVersion(c),e)<1){f.call(d)}}});Ext.setVersion("core",a)})();Ext.String={trimRegex:/^[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u2028\u2029\u202f\u205f\u3000]+|[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u2028\u2029\u202f\u205f\u3000]+$/g,escapeRe:/('|\\)/g,formatRe:/\{(\d+)\}/g,escapeRegexRe:/([-.*+?^${}()|[\]\/\\])/g,htmlEncode:(function(){var d={"&":"&",">":">","<":"<",'"':"""},b=[],c,a;for(c in d){b.push(c)}a=new RegExp("("+b.join("|")+")","g");return function(e){return(!e)?e:String(e).replace(a,function(g,f){return d[f]})}})(),htmlDecode:(function(){var d={"&":"&",">":">","<":"<",""":'"'},b=[],c,a;for(c in d){b.push(c)}a=new RegExp("("+b.join("|")+"|&#[0-9]{1,5};)","g");return function(e){return(!e)?e:String(e).replace(a,function(g,f){if(f in d){return d[f]}else{return String.fromCharCode(parseInt(f.substr(2),10))}})}})(),urlAppend:function(b,a){if(!Ext.isEmpty(a)){return b+(b.indexOf("?")===-1?"?":"&")+a}return b},trim:function(a){return a.replace(Ext.String.trimRegex,"")},capitalize:function(a){return a.charAt(0).toUpperCase()+a.substr(1)},ellipsis:function(c,a,d){if(c&&c.length>a){if(d){var e=c.substr(0,a-2),b=Math.max(e.lastIndexOf(" "),e.lastIndexOf("."),e.lastIndexOf("!"),e.lastIndexOf("?"));if(b!==-1&&b>=(a-15)){return e.substr(0,b)+"..."}}return c.substr(0,a-3)+"..."}return c},escapeRegex:function(a){return a.replace(Ext.String.escapeRegexRe,"\\$1")},escape:function(a){return a.replace(Ext.String.escapeRe,"\\$1")},toggle:function(b,c,a){return b===c?a:c},leftPad:function(b,c,d){var a=String(b);d=d||" ";while(a.lengthH){for(C=e;C--;){F[z+C]=F[H+C]}}}if(J&&G===B){F.length=B;F.push.apply(F,I)}else{F.length=B+J;for(C=0;C-1;y--){if(A.call(z||C[y],C[y],y,C)===false){return y}}}return true},forEach:i?function(z,y,e){return z.forEach(y,e)}:function(B,z,y){var e=0,A=B.length;for(;ee){e=z}}}return e},mean:function(e){return e.length>0?a.sum(e)/e.length:undefined},sum:function(B){var y=0,e,A,z;for(e=0,A=B.length;e=c){f+=c}else{if(b*2<-c){f-=c}}}return Ext.Number.constrain(f,d,g)},toFixed:function(d,b){if(a){b=b||0;var c=Math.pow(10,b);return(Math.round(d*c)/c).toFixed(b)}return d.toFixed(b)},from:function(c,b){if(isFinite(c)){c=parseFloat(c)}return !isNaN(c)?c:b}}})();Ext.num=function(){return Ext.Number.from.apply(this,arguments)};(function(){var a=function(){};var b=Ext.Object={chain:function(d){a.prototype=d;var c=new a();a.prototype=null;return c},toQueryObjects:function(e,j,d){var c=b.toQueryObjects,h=[],f,g;if(Ext.isArray(j)){for(f=0,g=j.length;f0){h=n.split("=");v=decodeURIComponent(h[0]);m=(h[1]!==undefined)?decodeURIComponent(h[1]):"";if(!q){if(t.hasOwnProperty(v)){if(!Ext.isArray(t[v])){t[v]=[t[v]]}t[v].push(m)}else{t[v]=m}}else{g=v.match(/(\[):?([^\]]*)\]/g);s=v.match(/^([^\[]+)/);v=s[0];k=[];if(g===null){t[v]=m;continue}for(o=0,c=g.length;o0){return setTimeout(e,c)}e();return 0},createSequence:function(b,c,a){if(!c){return b}else{return function(){var d=b.apply(this,arguments);c.apply(a||this,arguments);return d}}},createBuffered:function(e,b,d,c){var a;return function(){if(!d){d=this}if(!c){c=Array.prototype.slice.call(arguments)}if(a){clearTimeout(a);a=null}a=setTimeout(function(){e.apply(d,c)},b)}},createThrottled:function(e,b,d){var f,a,c,h,g=function(){e.apply(d||this,c);f=new Date().getTime()};return function(){a=new Date().getTime()-f;c=arguments;clearTimeout(h);if(!f||(a>=b)){g()}else{h=setTimeout(g,b-a)}}},interceptBefore:function(b,a,c){var d=b[a]||Ext.emptyFn;return b[a]=function(){var e=c.apply(this,arguments);d.apply(this,arguments);return e}},interceptAfter:function(b,a,c){var d=b[a]||Ext.emptyFn;return b[a]=function(){d.apply(this,arguments);return c.apply(this,arguments)}}};Ext.defer=Ext.Function.alias(Ext.Function,"defer");Ext.pass=Ext.Function.alias(Ext.Function,"pass");Ext.bind=Ext.Function.alias(Ext.Function,"bind");Ext.JSON=new (function(){var useHasOwn=!!{}.hasOwnProperty,isNative=function(){var useNative=null;return function(){if(useNative===null){useNative=Ext.USE_NATIVE_JSON&&window.JSON&&JSON.toString()=="[object JSON]"}return useNative}}(),pad=function(n){return n<10?"0"+n:n},doDecode=function(json){return eval("("+json+")")},doEncode=function(o){if(!Ext.isDefined(o)||o===null){return"null"}else{if(Ext.isArray(o)){return encodeArray(o)}else{if(Ext.isDate(o)){return Ext.JSON.encodeDate(o)}else{if(Ext.isString(o)){return encodeString(o)}else{if(typeof o=="number"){return isFinite(o)?String(o):"null"}else{if(Ext.isBoolean(o)){return String(o)}else{if(Ext.isObject(o)){return encodeObject(o)}else{if(typeof o==="function"){return"null"}}}}}}}}return"undefined"},m={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\","\x0b":"\\u000b"},charToReplace=/[\\\"\x00-\x1f\x7f-\uffff]/g,encodeString=function(s){return'"'+s.replace(charToReplace,function(a){var c=m[a];return typeof c==="string"?c:"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)})+'"'},encodeArray=function(o){var a=["[",""],len=o.length,i;for(i=0;i0){for(d=0;d0){if(l===k){return n[l]}m=n[l];k=k.substring(l.length+1)}if(m.length>0){m+="/"}return m.replace(/\/\.\//g,"/")+k.replace(/\./g,"/")+".js"},getPrefix:function(l){var n=this.config.paths,m,k="";if(n.hasOwnProperty(l)){return l}for(m in n){if(n.hasOwnProperty(m)&&m+"."===l.substring(0,m.length+1)){if(m.length>k.length){k=m}}}return k},require:function(m,l,k,n){if(l){l.call(k)}},syncRequire:function(){},exclude:function(l){var k=this;return{require:function(o,n,m){return k.require(o,n,m,l)},syncRequire:function(o,n,m){return k.syncRequire(o,n,m,l)}}},onReady:function(n,m,o,k){var l;if(o!==false&&Ext.onDocumentReady){l=n;n=function(){Ext.onDocumentReady(l,m,k)}}n.call(m)}};Ext.apply(b,{documentHead:typeof document!="undefined"&&(document.head||document.getElementsByTagName("head")[0]),isLoading:false,queue:[],isClassFileLoaded:{},isFileLoaded:{},readyListeners:[],optionalRequires:[],requiresMap:{},numPendingFiles:0,numLoadedFiles:0,hasFileLoadError:false,classNameToFilePathMap:{},syncModeEnabled:false,scriptElements:{},refreshQueue:function(){var k=this.queue,q=k.length,n,p,l,o,m;if(q===0){this.triggerReady();return}for(n=0;nthis.numLoadedFiles){continue}l=0;do{if(a.isCreated(o[l])){f(o,l,1)}else{l++}}while(l=200&&n<300)||n==304||(n==0&&q.length>0)){Ext.globalEval(q+"\n//@ sourceURL="+l);s.call(w)}else{}u=null}},syncRequire:function(){var k=this.syncModeEnabled;if(!k){this.syncModeEnabled=true}this.require.apply(this,arguments);if(!k){this.syncModeEnabled=false}this.refreshQueue()},require:function(F,t,n,q){var v={},m={},y=this.queue,C=this.classNameToFilePathMap,A=this.isClassFileLoaded,s=[],H=[],E=[],l=[],r,G,x,w,k,p,D,B,z,u,o;if(q){q=h(q);for(B=0,u=q.length;B0){s=a.getNamesByExpression(k);for(z=0,o=s.length;z0){r=function(){var K=[],J,L,I;for(J=0,L=l.length;J0){H=a.getNamesByExpression(w);o=H.length;for(z=0;z0){if(!this.config.enabled){throw new Error("Ext.Loader is not enabled, so dependencies cannot be resolved dynamically. Missing required class"+((E.length>1)?"es":"")+": "+E.join(", "))}}else{r.call(n);return this}G=this.syncModeEnabled;if(!G){y.push({requires:E.slice(),callback:r,scope:n})}u=E.length;for(B=0;B=2){if("1496x2048" in r){e(r["1496x2048"],"(orientation: landscape)")}if("1536x2008" in r){e(r["1536x2008"],"(orientation: portrait)")}}else{if("748x1024" in r){e(r["748x1024"],"(orientation: landscape)")}if("768x1004" in r){e(r["768x1004"],"(orientation: portrait)")}}}else{if(o>=2&&Ext.os.version.gtEq("4.3")){e(r["640x920"])}else{e(r["320x460"])}}},application:function(b){var a=b.name,e,d,c;if(!b){b={}}if(!Ext.Loader.config.paths[a]){Ext.Loader.setPath(a,b.appFolder||"app")}c=Ext.Array.from(b.requires);b.requires=["Ext.app.Application"];e=b.onReady;d=b.scope;b.onReady=function(){b.requires=c;new Ext.app.Application(b);if(e){e.call(d)}};Ext.setup(b)},factoryConfig:function(a,l){var g=Ext.isSimpleObject(a);if(g&&a.xclass){var f=a.xclass;delete a.xclass;Ext.require(f,function(){Ext.factoryConfig(a,function(i){l(Ext.create(f,i))})});return}var d=Ext.isArray(a),m=[],k,j,c,e;if(g||d){if(g){for(k in a){if(a.hasOwnProperty(k)){j=a[k];if(Ext.isSimpleObject(j)||Ext.isArray(j)){m.push(k)}}}}else{for(c=0,e=a.length;c=e){l(a);return}k=m[c];j=a[k];Ext.factoryConfig(j,h)}b();return}l(a)},factory:function(b,e,a,f){var d=Ext.ClassManager,c;if(!b||b.isInstance){if(a&&a!==b){a.destroy()}return b}if(f){if(typeof b=="string"){return d.instantiateByAlias(f+"."+b)}else{if(Ext.isObject(b)&&"type" in b){return d.instantiateByAlias(f+"."+b.type,b)}}}if(b===true){return a||d.instantiate(e)}if("xtype" in b){c=d.instantiateByAlias("widget."+b.xtype,b)}else{if("xclass" in b){c=d.instantiate(b.xclass,b)}}if(c){if(a){a.destroy()}return c}if(a){return a.setConfig(b)}return d.instantiate(e,b)},deprecateClassMember:function(b,c,a,d){return this.deprecateProperty(b.prototype,c,a,d)},deprecateClassMembers:function(b,c){var d=b.prototype,e,a;for(e in c){if(c.hasOwnProperty(e)){a=c[e];this.deprecateProperty(d,e,a)}}},deprecateProperty:function(b,c,a,d){if(!d){d="'"+c+"' is deprecated"}if(a){d+=", please use '"+a+"' instead"}if(a){Ext.Object.defineProperty(b,c,{get:function(){return this[a]},set:function(e){this[a]=e},configurable:true})}},deprecatePropertyValue:function(b,a,d,c){Ext.Object.defineProperty(b,a,{get:function(){return d},configurable:true})},deprecateMethod:function(b,a,d,c){b[a]=function(){if(d){return d.apply(this,arguments)}}},deprecateClassMethod:function(a,b,h,d){if(typeof b!="string"){var g,f;for(g in b){if(b.hasOwnProperty(g)){f=b[g];Ext.deprecateClassMethod(a,g,f)}}return}var c=typeof h=="string",e;if(!d){d="'"+b+"()' is deprecated, please use '"+(c?h:h.name)+"()' instead"}if(c){e=function(){return this[h].apply(this,arguments)}}else{e=function(){return h.apply(this,arguments)}}if(b in a.prototype){Ext.Object.defineProperty(a.prototype,b,{value:null,writable:true,configurable:true})}a.addMember(b,e)},isReady:false,readyListeners:[],triggerReady:function(){var b=Ext.readyListeners,a,c,d;if(!Ext.isReady){Ext.isReady=true;for(a=0,c=b.length;a0){return b+Ext.String.capitalize(a)}return a}},function(){var a=Ext.browser=new this(Ext.global.navigator.userAgent)});Ext.define("Ext.env.OS",{requires:["Ext.Version"],statics:{names:{ios:"iOS",android:"Android",webos:"webOS",blackberry:"BlackBerry",rimTablet:"RIMTablet",mac:"MacOS",win:"Windows",linux:"Linux",bada:"Bada",other:"Other"},prefixes:{ios:"i(?:Pad|Phone|Pod)(?:.*)CPU(?: iPhone)? OS ",android:"(Android |HTC_|Silk/)",blackberry:"BlackBerry(?:.*)Version/",rimTablet:"RIM Tablet OS ",webos:"(?:webOS|hpwOS)/",bada:"Bada/"}},is:Ext.emptyFn,name:null,version:null,setFlag:function(a,b){if(typeof b=="undefined"){b=true}this.is[a]=b;this.is[a.toLowerCase()]=b;return this},constructor:function(m,b){var k=this.statics(),j=k.names,c=k.prefixes,a,h="",d,g,f,l,e;e=this.is=function(i){return this.is[i]===true};for(d in c){if(c.hasOwnProperty(d)){g=c[d];f=m.match(new RegExp("(?:"+g+")([^\\s;]+)"));if(f){a=j[d];if(f[1]&&(f[1]=="HTC_"||f[1]=="Silk/")){h=new Ext.Version("2.3")}else{h=new Ext.Version(f[f.length-1])}break}}}if(!a){a=j[(m.toLowerCase().match(/mac|win|linux/)||["other"])[0]];h=new Ext.Version("")}this.name=a;this.version=h;if(b){this.setFlag(b)}this.setFlag(a);if(h){this.setFlag(a+(h.getMajor()||""));this.setFlag(a+h.getShortVersion())}for(d in j){if(j.hasOwnProperty(d)){l=j[d];if(!e.hasOwnProperty(a)){this.setFlag(l,(a===l))}}}return this}},function(){var a=Ext.global.navigator,e=a.userAgent,b,g,d;Ext.os=b=new this(e,a.platform);g=b.name;var c=window.location.search.match(/deviceType=(Tablet|Phone)/),f=window.deviceType;if(c&&c[1]){d=c[1]}else{if(f==="iPhone"){d="Phone"}else{if(f==="iPad"){d="Tablet"}else{if(!b.is.Android&&!b.is.iOS&&/Windows|Linux|MacOS/.test(g)){d="Desktop"}else{if(b.is.iPad||b.is.Android3||(b.is.Android4&&e.search(/mobile/i)==-1)){d="Tablet"}else{d="Phone"}}}}}b.setFlag(d,true);b.deviceType=d});Ext.define("Ext.env.Feature",{requires:["Ext.env.Browser","Ext.env.OS"],constructor:function(){this.testElements={};this.has=function(a){return !!this.has[a]};return this},getTestElement:function(a,b){if(a===undefined){a="div"}else{if(typeof a!=="string"){return a}}if(b){return document.createElement(a)}if(!this.testElements[a]){this.testElements[a]=document.createElement(a)}return this.testElements[a]},isStyleSupported:function(c,b){var d=this.getTestElement(b).style,a=Ext.String.capitalize(c);if(typeof d[c]!=="undefined"||typeof d[Ext.browser.getStylePrefix(c)+a]!=="undefined"){return true}return false},isEventSupported:function(c,a){if(a===undefined){a=window}var e=this.getTestElement(a),b="on"+c.toLowerCase(),d=(b in e);if(!d){if(e.setAttribute&&e.removeAttribute){e.setAttribute(b,"");d=typeof e[b]==="function";if(typeof e[b]!=="undefined"){e[b]=undefined}e.removeAttribute(b)}}return d},getSupportedPropertyName:function(b,a){var c=Ext.browser.getVendorProperyName(a);if(c in b){return c}else{if(a in b){return a}}return null},registerTest:Ext.Function.flexSetter(function(a,b){this.has[a]=b.call(this);return this})},function(){Ext.feature=new this;var a=Ext.feature.has;Ext.feature.registerTest({Canvas:function(){var b=this.getTestElement("canvas");return !!(b&&b.getContext&&b.getContext("2d"))},Svg:function(){var b=document;return !!(b.createElementNS&&!!b.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect)},Vml:function(){var c=this.getTestElement(),b=false;c.innerHTML="";b=(c.childNodes.length===1);c.innerHTML="";return b},Touch:function(){return this.isEventSupported("touchstart")&&!(Ext.os&&Ext.os.name.match(/Windows|MacOS|Linux/))},Orientation:function(){return("orientation" in window)&&this.isEventSupported("orientationchange")},OrientationChange:function(){return this.isEventSupported("orientationchange")},DeviceMotion:function(){return this.isEventSupported("devicemotion")},Geolocation:function(){return"geolocation" in window.navigator},SqlDatabase:function(){return"openDatabase" in window},WebSockets:function(){return"WebSocket" in window},Range:function(){return !!document.createRange},CreateContextualFragment:function(){var b=!!document.createRange?document.createRange():false;return b&&!!b.createContextualFragment},History:function(){return("history" in window&&"pushState" in window.history)},CssTransforms:function(){return this.isStyleSupported("transform")},Css3dTransforms:function(){return this.has("CssTransforms")&&this.isStyleSupported("perspective")&&!Ext.os.is.Android2},CssAnimations:function(){return this.isStyleSupported("animationName")},CssTransitions:function(){return this.isStyleSupported("transitionProperty")},Audio:function(){return !!this.getTestElement("audio").canPlayType},Video:function(){return !!this.getTestElement("video").canPlayType},ClassList:function(){return"classList" in this.getTestElement()}})});Ext.define("Ext.dom.Query",{select:function(h,b){var g=[],d,f,e,c,a;b=b||document;if(typeof b=="string"){b=document.getElementById(b)}h=h.split(",");for(f=0,c=h.length;f")}else{c.push(">");if((h=d.tpl)){h.applyOut(d.tplData,c)}if((h=d.html)){c.push(h)}if((h=d.cn||d.children)){g.generateMarkup(h,c)}f=g.closeTags;c.push(f[a]||(f[a]=""))}}}return c},generateStyles:function(e,c){var b=c||[],d;for(d in e){if(e.hasOwnProperty(d)){b.push(this.decamelizeName(d),":",e[d],";")}}return c||b.join("")},markup:function(a){if(typeof a=="string"){return a}var b=this.generateMarkup(a,[]);return b.join("")},applyStyles:function(a,b){Ext.fly(a).applyStyles(b)},createContextualFragment:function(c){var f=document.createElement("div"),a=document.createDocumentFragment(),b=0,d,e;f.innerHTML=c;e=f.childNodes;d=e.length;for(;b0){this.id=b=a.id}else{a.id=b=this.mixins.identifiable.getUniqueId.call(this)}this.self.cache[b]=this}return b},setId:function(c){var a=this.id,b=this.self.cache;if(a){delete b[a]}this.dom.id=c;this.id=c;b[c]=this;return this},setHtml:function(a){this.dom.innerHTML=a},getHtml:function(){return this.dom.innerHTML},setText:function(a){this.dom.textContent=a},redraw:function(){var b=this.dom,a=b.style;a.display="none";b.offsetHeight;a.display=""},isPainted:function(){var a=this.dom;return Boolean(a&&a.offsetParent)},set:function(a,b){var e=this.dom,c,d;for(c in a){if(a.hasOwnProperty(c)){d=a[c];if(c=="style"){this.applyStyles(d)}else{if(c=="cls"){e.className=d}else{if(b!==false){if(d===undefined){e.removeAttribute(c)}else{e.setAttribute(c,d)}}else{e[c]=d}}}}}return this},is:function(a){return Ext.DomQuery.is(this.dom,a)},getValue:function(b){var a=this.dom.value;return b?parseInt(a,10):a},getAttribute:function(a,b){var c=this.dom;return c.getAttributeNS(b,a)||c.getAttribute(b+":"+a)||c.getAttribute(a)||c[a]},destroy:function(){this.isDestroyed=true;var a=Ext.Element.cache,b=this.dom;if(b&&b.parentNode&&b.tagName!="BODY"){b.parentNode.removeChild(b)}delete a[this.id];delete this.dom}},function(a){Ext.elements=Ext.cache=a.cache;this.addStatics({Fly:new Ext.Class({extend:a,constructor:function(b){this.dom=b}}),_flyweights:{},fly:function(e,c){var f=null,d=a._flyweights,b;c=c||"_global";e=Ext.getDom(e);if(e){f=d[c]||(d[c]=new a.Fly());f.dom=e;f.isSynchronized=false;b=Ext.cache[e.id];if(b&&b.isElement){b.isSynchronized=false}}return f}});Ext.get=function(b){return a.get.call(a,b)};Ext.fly=function(){return a.fly.apply(a,arguments)};Ext.ClassManager.onCreated(function(){a.mixin("observable",Ext.mixin.Observable)},null,"Ext.mixin.Observable")});Ext.dom.Element.addStatics({numberRe:/\d+$/,unitRe:/\d+(px|em|%|en|ex|pt|in|cm|mm|pc)$/i,camelRe:/(-[a-z])/gi,cssRe:/([a-z0-9-]+)\s*:\s*([^;\s]+(?:\s*[^;\s]+)*);?/gi,opacityRe:/alpha\(opacity=(.*)\)/i,propertyCache:{},defaultUnit:"px",borders:{l:"border-left-width",r:"border-right-width",t:"border-top-width",b:"border-bottom-width"},paddings:{l:"padding-left",r:"padding-right",t:"padding-top",b:"padding-bottom"},margins:{l:"margin-left",r:"margin-right",t:"margin-top",b:"margin-bottom"},addUnits:function(b,a){if(b===""||b=="auto"||b===undefined||b===null){return b||""}if(Ext.isNumber(b)||this.numberRe.test(b)){return b+(a||this.defaultUnit||"px")}else{if(!this.unitRe.test(b)){return b||""}}return b},isAncestor:function(b,d){var a=false;b=Ext.getDom(b);d=Ext.getDom(d);if(b&&d){if(b.contains){return b.contains(d)}else{if(b.compareDocumentPosition){return !!(b.compareDocumentPosition(d)&16)}else{while((d=d.parentNode)){a=d==b||a}}}}return a},parseBox:function(b){if(typeof b!="string"){b=b.toString()}var c=b.split(" "),a=c.length;if(a==1){c[1]=c[2]=c[3]=c[0]}else{if(a==2){c[2]=c[0];c[3]=c[1]}else{if(a==3){c[3]=c[1]}}}return{top:c[0]||0,right:c[1]||0,bottom:c[2]||0,left:c[3]||0}},unitizeBox:function(c,a){var b=this;c=b.parseBox(c);return b.addUnits(c.top,a)+" "+b.addUnits(c.right,a)+" "+b.addUnits(c.bottom,a)+" "+b.addUnits(c.left,a)},camelReplaceFn:function(b,c){return c.charAt(1).toUpperCase()},normalize:function(a){return this.propertyCache[a]||(this.propertyCache[a]=a.replace(this.camelRe,this.camelReplaceFn))},fromPoint:function(a,b){return Ext.get(document.elementFromPoint(a,b))},parseStyles:function(c){var a={},b=this.cssRe,d;if(c){b.lastIndex=0;while((d=b.exec(c))){a[d[1]]=d[2]}}return a}});Ext.dom.Element.addMembers({appendChild:function(a){this.dom.appendChild(Ext.getDom(a));return this},removeChild:function(a){this.dom.removeChild(Ext.getDom(a));return this},append:function(){this.appendChild.apply(this,arguments)},appendTo:function(a){Ext.getDom(a).appendChild(this.dom);return this},insertBefore:function(a){a=Ext.getDom(a);a.parentNode.insertBefore(this.dom,a);return this},insertAfter:function(a){a=Ext.getDom(a);a.parentNode.insertBefore(this.dom,a.nextSibling);return this},insertFirst:function(b){var a=Ext.getDom(b),d=this.dom,c=d.firstChild;if(!c){d.appendChild(a)}else{d.insertBefore(a,c)}return this},insertSibling:function(e,c,d){var f=this,b,a=(c||"before").toLowerCase()=="after",g;if(Ext.isArray(e)){g=f;Ext.each(e,function(h){b=Ext.fly(g,"_internal").insertSibling(h,c,d);if(a){g=b}});return b}e=e||{};if(e.nodeType||e.dom){b=f.dom.parentNode.insertBefore(Ext.getDom(e),a?f.dom.nextSibling:f.dom);if(!d){b=Ext.get(b)}}else{if(a&&!f.dom.nextSibling){b=Ext.core.DomHelper.append(f.dom.parentNode,e,!d)}else{b=Ext.core.DomHelper[a?"insertAfter":"insertBefore"](f.dom,e,!d)}}return b},replace:function(a){a=Ext.get(a);this.insertBefore(a);a.remove();return this},replaceWith:function(a){var b=this;if(a.nodeType||a.dom||typeof a=="string"){a=Ext.get(a);b.dom.parentNode.insertBefore(a,b.dom)}else{a=Ext.core.DomHelper.insertBefore(b.dom,a)}delete Ext.cache[b.id];Ext.removeNode(b.dom);b.id=Ext.id(b.dom=a);Ext.dom.Element.addToCache(b.isFlyweight?new Ext.dom.Element(b.dom):b);return b},createChild:function(b,a,c){b=b||{tag:"div"};if(a){return Ext.core.DomHelper.insertBefore(a,b,c!==true)}else{return Ext.core.DomHelper[!this.dom.firstChild?"insertFirst":"append"](this.dom,b,c!==true)}},wrap:function(b,c){var e=this.dom,f=this.self.create(b,c),d=(c)?f:f.dom,a=e.parentNode;if(a){a.insertBefore(d,e)}d.appendChild(e);return f},wrapAllChildren:function(a){var d=this.dom,b=d.childNodes,e=this.self.create(a),c=e.dom;while(b.length>0){c.appendChild(d.firstChild)}d.appendChild(c);return e},unwrapAllChildren:function(){var c=this.dom,b=c.childNodes,a=c.parentNode;if(a){while(b.length>0){a.insertBefore(c,c.firstChild)}this.destroy()}},unwrap:function(){var c=this.dom,a=c.parentNode,b;if(a){b=a.parentNode;b.insertBefore(c,a);b.removeChild(a)}else{b=document.createDocumentFragment();b.appendChild(c)}return this},insertHtml:function(b,c,a){var d=Ext.core.DomHelper.insertHtml(b,this.dom,c);return a?Ext.get(d):d}});Ext.dom.Element.override({getX:function(a){return this.getXY(a)[0]},getY:function(a){return this.getXY(a)[1]},getXY:function(){var a=window.webkitConvertPointFromNodeToPage;if(a){return function(){var b=a(this.dom,new WebKitPoint(0,0));return[b.x,b.y]}}else{return function(){var c=this.dom.getBoundingClientRect(),b=Math.round;return[b(c.left+window.pageXOffset),b(c.top+window.pageYOffset)]}}}(),getOffsetsTo:function(a){var c=this.getXY(),b=Ext.fly(a,"_internal").getXY();return[c[0]-b[0],c[1]-b[1]]},setX:function(a){return this.setXY([a,this.getY()])},setY:function(a){return this.setXY([this.getX(),a])},setXY:function(d){var b=this;if(arguments.length>1){d=[d,arguments[1]]}var c=b.translatePoints(d),a=b.dom.style;for(d in c){if(!c.hasOwnProperty(d)){continue}if(!isNaN(c[d])){a[d]=c[d]+"px"}}return b},getLeft:function(){return parseInt(this.getStyle("left"),10)||0},getRight:function(){return parseInt(this.getStyle("right"),10)||0},getTop:function(){return parseInt(this.getStyle("top"),10)||0},getBottom:function(){return parseInt(this.getStyle("bottom"),10)||0},translatePoints:function(a,g){g=isNaN(a[1])?g:a[1];a=isNaN(a[0])?a:a[0];var d=this,e=d.isStyle("position","relative"),f=d.getXY(),b=parseInt(d.getStyle("left"),10),c=parseInt(d.getStyle("top"),10);b=!isNaN(b)?b:(e?0:d.dom.offsetLeft);c=!isNaN(c)?c:(e?0:d.dom.offsetTop);return{left:(a-f[0]+b),top:(g-f[1]+c)}},setBox:function(d){var c=this,b=d.width,a=d.height,f=d.top,e=d.left;if(e!==undefined){c.setLeft(e)}if(f!==undefined){c.setTop(f)}if(b!==undefined){c.setWidth(b)}if(a!==undefined){c.setHeight(a)}return this},getBox:function(g,j){var h=this,e=h.dom,c=e.offsetWidth,k=e.offsetHeight,n,f,d,a,m,i;if(!j){n=h.getXY()}else{if(g){n=[0,0]}else{n=[parseInt(h.getStyle("left"),10)||0,parseInt(h.getStyle("top"),10)||0]}}if(!g){f={x:n[0],y:n[1],0:n[0],1:n[1],width:c,height:k}}else{d=h.getBorderWidth.call(h,"l")+h.getPadding.call(h,"l");a=h.getBorderWidth.call(h,"r")+h.getPadding.call(h,"r");m=h.getBorderWidth.call(h,"t")+h.getPadding.call(h,"t");i=h.getBorderWidth.call(h,"b")+h.getPadding.call(h,"b");f={x:n[0]+d,y:n[1]+m,0:n[0]+d,1:n[1]+m,width:c-(d+a),height:k-(m+i)}}f.left=f.x;f.top=f.y;f.right=f.x+f.width;f.bottom=f.y+f.height;return f},getPageBox:function(e){var g=this,c=g.dom,j=c.offsetWidth,f=c.offsetHeight,m=g.getXY(),k=m[1],a=m[0]+j,i=m[1]+f,d=m[0];if(!c){return new Ext.util.Region()}if(e){return new Ext.util.Region(k,a,i,d)}else{return{left:d,top:k,width:j,height:f,right:a,bottom:i}}}});Ext.dom.Element.addMembers({WIDTH:"width",HEIGHT:"height",MIN_WIDTH:"min-width",MIN_HEIGHT:"min-height",MAX_WIDTH:"max-width",MAX_HEIGHT:"max-height",TOP:"top",RIGHT:"right",BOTTOM:"bottom",LEFT:"left",VISIBILITY:1,DISPLAY:2,OFFSETS:3,SEPARATOR:"-",trimRe:/^\s+|\s+$/g,wordsRe:/\w/g,spacesRe:/\s+/,styleSplitRe:/\s*(?::|;)\s*/,transparentRe:/^(?:transparent|(?:rgba[(](?:\s*\d+\s*[,]){3}\s*0\s*[)]))$/i,classNameSplitRegex:/[\s]+/,borders:{t:"border-top-width",r:"border-right-width",b:"border-bottom-width",l:"border-left-width"},paddings:{t:"padding-top",r:"padding-right",b:"padding-bottom",l:"padding-left"},margins:{t:"margin-top",r:"margin-right",b:"margin-bottom",l:"margin-left"},defaultUnit:"px",isSynchronized:false,synchronize:function(){var g=this.dom,a={},d=g.className,f,c,e,b;if(d.length>0){f=g.className.split(this.classNameSplitRegex);for(c=0,e=f.length;c0?a:0},getWidth:function(a){var c=this.dom,b=a?(c.clientWidth-this.getPadding("lr")):c.offsetWidth;return b>0?b:0},getBorderWidth:function(a){return this.addStyles(a,this.borders)},getPadding:function(a){return this.addStyles(a,this.paddings)},applyStyles:function(d){if(d){var e=this.dom,c,b,a;if(typeof d=="function"){d=d.call()}c=typeof d;if(c=="string"){d=Ext.util.Format.trim(d).split(this.styleSplitRe);for(b=0,a=d.length;b "+a,c.dom);return b?d:Ext.get(d)},parent:function(a,b){return this.matchNode("parentNode","parentNode",a,b)},next:function(a,b){return this.matchNode("nextSibling","nextSibling",a,b)},prev:function(a,b){return this.matchNode("previousSibling","previousSibling",a,b)},first:function(a,b){return this.matchNode("nextSibling","firstChild",a,b)},last:function(a,b){return this.matchNode("previousSibling","lastChild",a,b)},matchNode:function(b,e,a,c){if(!this.dom){return null}var d=this.dom[e];while(d){if(d.nodeType==1&&(!a||Ext.DomQuery.is(d,a))){return !c?Ext.get(d):d}d=d[b]}return null},isAncestor:function(a){return this.self.isAncestor.call(this.self,this.dom,a)}});Ext.define("Ext.dom.CompositeElementLite",{alternateClassName:["Ext.CompositeElementLite","Ext.CompositeElement"],requires:["Ext.dom.Element"],statics:{importElementMethods:function(){}},constructor:function(b,a){this.elements=[];this.add(b,a);this.el=new Ext.dom.Element.Fly()},isComposite:true,getElement:function(a){return this.el.attach(a).synchronize()},transformElement:function(a){return Ext.getDom(a)},getCount:function(){return this.elements.length},add:function(c,a){var e=this.elements,b,d;if(!c){return this}if(typeof c=="string"){c=Ext.dom.Element.selectorFunction(c,a)}else{if(c.isComposite){c=c.elements}else{if(!Ext.isIterable(c)){c=[c]}}}for(b=0,d=c.length;b-1){c=Ext.getDom(c);if(a){f=this.elements[b];f.parentNode.insertBefore(c,f);Ext.removeNode(f)}Ext.Array.splice(this.elements,b,1,c)}return this},clear:function(){this.elements=[]},addElements:function(c,a){if(!c){return this}if(typeof c=="string"){c=Ext.dom.Element.selectorFunction(c,a)}var b=this.elements;Ext.each(c,function(d){b.push(Ext.get(d))});return this},first:function(){return this.item(0)},last:function(){return this.item(this.getCount()-1)},contains:function(a){return this.indexOf(a)!=-1},removeElement:function(c,e){var b=this,d=this.elements,a;Ext.each(c,function(f){if((a=(d[f]||d[f=b.indexOf(f)]))){if(e){if(a.dom){a.remove()}else{Ext.removeNode(a)}}Ext.Array.erase(d,f,1)}});return this}},function(){var a=Ext.dom.Element,d=a.prototype,c=this.prototype,b;for(b in d){if(typeof d[b]=="function"){(function(e){c[e]=c[e]||function(){return this.invoke(e,arguments)}}).call(c,b)}}c.on=c.addListener;if(Ext.DomQuery){a.selectorFunction=Ext.DomQuery.select}a.select=function(e,f){var g;if(typeof e=="string"){g=a.selectorFunction(e,f)}else{if(e.length!==undefined){g=e}else{}}return new Ext.CompositeElementLite(g)};Ext.select=function(){return a.select.apply(a,arguments)}});Ext.define("Ext.ComponentManager",{alternateClassName:"Ext.ComponentMgr",singleton:true,constructor:function(){var a={};this.all={map:a,getArray:function(){var b=[],c;for(c in a){b.push(a[c])}return b}};this.map=a},register:function(a){var b=a.getId();this.map[a.getId()]=a},unregister:function(a){delete this.map[a.getId()]},isRegistered:function(a){return this.map[a]!==undefined},get:function(a){return this.map[a]},create:function(a,c){if(a.isComponent){return a}else{if(Ext.isString(a)){return Ext.createByAlias("widget."+a)}else{var b=a.xtype||c;return Ext.createByAlias("widget."+b,a)}}},registerType:Ext.emptyFn});Ext.define("Ext.ComponentQuery",{singleton:true,uses:["Ext.ComponentManager"]},function(){var g=this,j=["var r = [],","i = 0,","it = items,","l = it.length,","c;","for (; i < l; i++) {","c = it[i];","if (c.{0}) {","r.push(c);","}","}","return r;"].join(""),e=function(o,n){return n.method.apply(this,[o].concat(n.args))},a=function(p,t){var n=[],q=0,s=p.length,r,o=t!==">";for(;q\^])\s?|\s|$)/,c=/^(#)?([\w\-]+|\*)(?:\((true|false)\))?/,b=[{re:/^\.([\w\-]+)(?:\((true|false)\))?/,method:l},{re:/^(?:[\[](?:@)?([\w\-]+)\s?(?:(=|.=)\s?['"]?(.*?)["']?)?[\]])/,method:m},{re:/^#([\w\-]+)/,method:d},{re:/^\:([\w\-]+)(?:\(((?:\{[^\}]+\})|(?:(?!\{)[^\s>\/]*?(?!\})))\))?/,method:k},{re:/^(?:\{([^\}]+)\})/,method:j}];g.Query=Ext.extend(Object,{constructor:function(n){n=n||{};Ext.apply(this,n)},execute:function(o){var q=this.operations,r=0,s=q.length,p,n;if(!o){n=Ext.ComponentManager.all.getArray()}else{if(Ext.isArray(o)){n=o}}for(;r1){for(q=0,r=s.length;q1){r=q.length;for(p=0;p]*)\>)|(?:<\/tpl>)/g,actionsRe:/\s*(elif|elseif|if|for|exec|switch|case|eval)\s*\=\s*(?:(?:["]([^"]*)["])|(?:[']([^']*)[']))\s*/g,defaultRe:/^\s*default\s*$/,elseRe:/^\s*else\s*$/});Ext.define("Ext.app.Action",{config:{scope:null,application:null,controller:null,action:null,args:[],url:undefined,data:{},title:null,beforeFilters:[],currentFilterIndex:-1},constructor:function(a){this.initConfig(a);this.getUrl()},execute:function(){this.resume()},resume:function(){var b=this.getCurrentFilterIndex()+1,c=this.getBeforeFilters(),a=this.getController(),d=c[b];if(d){this.setCurrentFilterIndex(b);d.call(a,this)}else{a[this.getAction()].apply(a,this.getArgs())}},applyUrl:function(a){if(a===null||a===undefined){a=this.urlEncode()}return a},applyController:function(a){var c=this.getApplication(),b=c.getCurrentProfile();if(Ext.isString(a)){a=c.getController(a,b?b.getNamespace():null)}return a},urlEncode:function(){var a=this.getController(),b;if(a instanceof Ext.app.Controller){b=a.$className.split(".");a=b[b.length-1]}return a+"/"+this.getAction()}});Ext.define("Ext.app.Route",{config:{conditions:{},url:null,controller:null,action:null,initialized:false},constructor:function(a){this.initConfig(a)},recognize:function(b){if(!this.getInitialized()){this.initialize()}if(this.recognizes(b)){var c=this.matchesFor(b),a=b.match(this.matcherRegex);a.shift();return Ext.applyIf(c,{controller:this.getController(),action:this.getAction(),historyUrl:b,args:a})}},initialize:function(){this.paramMatchingRegex=new RegExp(/:([0-9A-Za-z\_]*)/g);this.paramsInMatchString=this.getUrl().match(this.paramMatchingRegex)||[];this.matcherRegex=this.createMatcherRegex(this.getUrl());this.setInitialized(true)},recognizes:function(a){return this.matcherRegex.test(a)},matchesFor:function(b){var f={},e=this.paramsInMatchString,a=b.match(this.matcherRegex),d=e.length,c;a.shift();for(c=0;c0){f.timeout=setTimeout(Ext.bind(i.handleTimeout,i,[f]),l)}i.setupErrorHandling(f);i[k]=Ext.bind(i.handleResponse,i,[f],true);i.loadScript(f);return f},abort:function(b){var c=this.statics().requests,a;if(b){if(!b.id){b=c[b]}this.abort(b)}else{for(a in c){if(c.hasOwnProperty(a)){this.abort(c[a])}}}},setupErrorHandling:function(a){a.script.onerror=Ext.bind(this.handleError,this,[a])},handleAbort:function(a){a.errorType="abort";this.handleResponse(null,a)},handleError:function(a){a.errorType="error";this.handleResponse(null,a)},cleanupErrorHandling:function(a){a.script.onerror=null},handleTimeout:function(a){a.errorType="timeout";this.handleResponse(null,a)},handleResponse:function(a,b){var c=true;if(b.timeout){clearTimeout(b.timeout)}delete this[b.callbackName];delete this.statics()[b.id];this.cleanupErrorHandling(b);Ext.fly(b.script).destroy();if(b.errorType){c=false;Ext.callback(b.failure,b.scope,[b.errorType,b])}else{Ext.callback(b.success,b.scope,[a,b])}Ext.callback(b.callback,b.scope,[c,a,b.errorType,b])},createScript:function(c,d,b){var a=document.createElement("script");a.setAttribute("src",Ext.urlAppend(c,Ext.Object.toQueryString(d)));a.setAttribute("async",true);a.setAttribute("type","text/javascript");return a},loadScript:function(a){Ext.getHead().appendChild(a.script)}});Ext.define("Ext.data.Operation",{config:{synchronous:true,action:null,filters:null,sorters:null,grouper:null,start:null,limit:null,batch:null,callback:null,scope:null,resultSet:null,records:null,request:null,response:null,withCredentials:null,params:null,url:null,page:null,node:null,model:undefined,addRecords:false},started:false,running:false,complete:false,success:undefined,exception:false,error:undefined,constructor:function(a){this.initConfig(a)},applyModel:function(a){if(typeof a=="string"){a=Ext.data.ModelManager.getModel(a);if(!a){Ext.Logger.error("Model with name "+arguments[0]+" doesnt exist.")}}if(a&&!a.prototype.isModel&&Ext.isObject(a)){a=Ext.data.ModelManager.registerType(a.storeId||a.id||Ext.id(),a)}return a},getRecords:function(){var a=this.getResultSet();return this._records||(a?a.getRecords():[])},setStarted:function(){this.started=true;this.running=true},setCompleted:function(){this.complete=true;this.running=false},setSuccessful:function(){this.success=true},setException:function(a){this.exception=true;this.success=false;this.running=false;this.error=a},hasException:function(){return this.exception===true},getError:function(){return this.error},isStarted:function(){return this.started===true},isRunning:function(){return this.running===true},isComplete:function(){return this.complete===true},wasSuccessful:function(){return this.isComplete()&&this.success===true},allowWrite:function(){return this.getAction()!="read"},process:function(d,b,c,a){if(b.getSuccess()!==false){this.setResponse(a);this.setResultSet(b);this.setCompleted();this.setSuccessful()}else{return false}return this["process"+Ext.String.capitalize(d)].call(this,b,c,a)},processRead:function(d){var b=d.getRecords(),g=[],f=this.getModel(),e=b.length,c,a;for(c=0;c]+>/gi,none:function(a){return a},asText:function(a){return String(a).replace(this.stripTagsRE,"")},asUCText:function(a){return String(a).toUpperCase().replace(this.stripTagsRE,"")},asUCString:function(a){return String(a).toUpperCase()},asDate:function(a){if(!a){return 0}if(Ext.isDate(a)){return a.getTime()}return Date.parse(String(a))},asFloat:function(a){a=parseFloat(String(a).replace(/,/g,""));return isNaN(a)?0:a},asInt:function(a){a=parseInt(String(a).replace(/,/g,""),10);return isNaN(a)?0:a}});Ext.define("Ext.data.Types",{singleton:true,requires:["Ext.data.SortTypes"],stripRe:/[\$,%]/g,dashesRe:/-/g,iso8601TestRe:/\d\dT\d\d/,iso8601SplitRe:/[- :T\.Z\+]/},function(){var b=this,a=Ext.data.SortTypes;Ext.apply(b,{AUTO:{convert:function(c){return c},sortType:a.none,type:"auto"},STRING:{convert:function(c){return(c===undefined||c===null)?(this.getAllowNull()?null:""):String(c)},sortType:a.asUCString,type:"string"},INT:{convert:function(c){return(c!==undefined&&c!==null&&c!=="")?((typeof c==="number")?parseInt(c,10):parseInt(String(c).replace(b.stripRe,""),10)):(this.getAllowNull()?null:0)},sortType:a.none,type:"int"},FLOAT:{convert:function(c){return(c!==undefined&&c!==null&&c!=="")?((typeof c==="number")?c:parseFloat(String(c).replace(b.stripRe,""),10)):(this.getAllowNull()?null:0)},sortType:a.none,type:"float"},BOOL:{convert:function(c){if((c===undefined||c===null||c==="")&&this.getAllowNull()){return null}return c!=="false"&&!!c},sortType:a.none,type:"bool"},DATE:{convert:function(e){var c=this.getDateFormat(),d;if(!e){return null}if(Ext.isDate(e)){return e}if(c){if(c=="timestamp"){return new Date(e*1000)}if(c=="time"){return new Date(parseInt(e,10))}return Ext.Date.parse(e,c)}d=new Date(Date.parse(e));if(isNaN(d)){if(b.iso8601TestRe.test(e)){d=e.split(b.iso8601SplitRe);d=new Date(d[0],d[1]-1,d[2],d[3],d[4],d[5])}if(isNaN(d)){d=new Date(Date.parse(e.replace(this.dashesRe,"/")))}}return isNaN(d)?null:d},sortType:a.asDate,type:"date"}});Ext.apply(b,{BOOLEAN:this.BOOL,INTEGER:this.INT,NUMBER:this.FLOAT})});Ext.define("Ext.data.Validations",{alternateClassName:"Ext.data.validations",singleton:true,config:{presenceMessage:"must be present",lengthMessage:"is the wrong length",formatMessage:"is the wrong format",inclusionMessage:"is not included in the list of acceptable values",exclusionMessage:"is not an acceptable value",emailMessage:"is not a valid email address"},constructor:function(a){this.initConfig(a)},getMessage:function(a){var b=this["get"+a[0].toUpperCase()+a.slice(1)+"Message"];if(b){return b.call(this)}return""},emailRe:/^\s*[\w\-\+_]+(\.[\w\-\+_]+)*\@[\w\-\+_]+\.[\w\-\+_]+(\.[\w\-\+_]+)*\s*$/,presence:function(a,b){if(arguments.length===1){b=a}return !!b||b===0},length:function(b,e){if(e===undefined||e===null){return false}var d=e.length,c=b.min,a=b.max;if((c&&da)){return false}else{return true}},email:function(b,a){return Ext.data.validations.emailRe.test(a)},format:function(a,b){if(b===undefined||b===null){b=""}return !!(a.matcher&&a.matcher.test(b))},inclusion:function(a,b){return a.list&&Ext.Array.indexOf(a.list,b)!=-1},exclusion:function(a,b){return a.list&&Ext.Array.indexOf(a.list,b)==-1}});Ext.define("Ext.data.identifier.Simple",{alias:"data.identifier.simple",statics:{AUTO_ID:1},config:{prefix:"ext-record-"},constructor:function(a){this.initConfig(a)},generate:function(a){return this._prefix+this.self.AUTO_ID++}});Ext.define("Ext.data.identifier.Uuid",{extend:"Ext.data.identifier.Simple",alias:"data.identifier.uuid",isUnique:true,config:{id:undefined,salt:null,timestamp:null,version:4},applyId:function(a){if(a===undefined){return Ext.data.identifier.Uuid.Global}return a},constructor:function(){var a=this;a.callParent(arguments);a.parts=[];a.init()},reconfigure:function(a){this.setConfig(a);this.init()},generate:function(){var c=this,e=c.parts,a=c.getVersion(),b=c.getSalt(),d=c.getTimestamp();e[0]=c.toHex(d.lo,8);e[1]=c.toHex(d.hi&65535,4);e[2]=c.toHex(((d.hi>>>16)&4095)|(a<<12),4);e[3]=c.toHex(128|((c.clockSeq>>>8)&63),2)+c.toHex(c.clockSeq&255,2);e[4]=c.toHex(b.hi,4)+c.toHex(b.lo,8);if(a==4){c.init()}else{++d.lo;if(d.lo>=c.twoPow32){d.lo=0;++d.hi}}return e.join("-").toLowerCase()},init:function(){var b=this,a=b.getSalt(),c=b.getTimestamp();if(b.getVersion()==4){b.clockSeq=b.rand(0,b.twoPow14-1);if(!a){a={};b.setSalt(a)}if(!c){c={};b.setTimestamp(c)}a.lo=b.rand(0,b.twoPow32-1);a.hi=b.rand(0,b.twoPow16-1);c.lo=b.rand(0,b.twoPow32-1);c.hi=b.rand(0,b.twoPow28-1)}else{b.setSalt(b.split(b.getSalt()));b.setTimestamp(b.split(b.getTimestamp()));b.getSalt().hi|=256}},twoPow14:Math.pow(2,14),twoPow16:Math.pow(2,16),twoPow28:Math.pow(2,28),twoPow32:Math.pow(2,32),toHex:function(c,b){var a=c.toString(16);if(a.length>b){a=a.substring(a.length-b)}else{if(a.length")}for(;c");for(j in k){if(k.hasOwnProperty(j)){d.push("<",j,">",k[j],"")}}d.push("")}if(h){d.push("")}a.setXmlData(d.join(""));return a}});Ext.define("Ext.direct.RemotingMethod",{config:{name:null,params:null,formHandler:null,len:null,ordered:true},constructor:function(a){this.initConfig(a)},applyParams:function(f){if(Ext.isNumber(f)){this.setLen(f)}else{if(Ext.isArray(f)){this.setOrdered(false);var d=f.length,b=[],c,e,a;for(c=0;c0){if(a){for(c=0,d=a.length;c0){k.apply(m,l)}if(a){k.call(m,e)}if(c.length>0){k.apply(m,c)}if(b){k.call(m,e)}if(o.length>0){k.apply(m,o)}}else{for(f=0;f0){k.apply(m,l)}}if(a){k.call(m,e)}for(f=0;f0){k.apply(m,c)}}if(b){k.call(m,e)}for(f=0;f0){k.apply(m,o)}}}if(m.length===0){return this}if(!h){h=[]}d.length=0;d.push.apply(d,h);d.push(null,this);this.doFire();return this},doFire:function(){var k=this.firingListeners,c=this.firingArguments,g=c.length-2,d,f,b,o,h,n,a,j,l,e,m;this.isPausing=false;this.isPaused=false;this.isStopped=false;this.isFiring=true;for(d=0,f=k.length;d0){this.isPaused=false;this.doFire()}if(a){a.resume()}return this},isInterrupted:function(){return this.isStopped||this.isPaused},stop:function(){var a=this.connectingController;this.isStopped=true;if(a){this.connectingController=null;a.stop()}this.isFiring=false;this.listenerStacks=null;return this},pause:function(){var a=this.connectingController;this.isPausing=true;if(a){a.pause()}return this}});Ext.define("Ext.event.Event",{alternateClassName:"Ext.EventObject",isStopped:false,set:function(a,b){if(arguments.length===1&&typeof a!="string"){var c=a;for(a in c){if(c.hasOwnProperty(a)){this[a]=c[a]}}}else{this[a]=c[a]}},stopEvent:function(){return this.stopPropagation()},stopPropagation:function(){this.isStopped=true;return this}});Ext.define("Ext.event.ListenerStack",{currentOrder:"current",length:0,constructor:function(){this.listeners={before:[],current:[],after:[]};this.lateBindingMap={};return this},add:function(h,j,k,e){var a=this.lateBindingMap,g=this.getAll(e),f=g.length,b,d,c;if(typeof h=="string"&&j.isIdentifiable){c=j.getId();b=a[c];if(b){if(b[h]){return false}else{b[h]=true}}else{a[c]=b={};b[h]=true}}else{if(f>0){while(f--){d=g[f];if(d.fn===h&&d.scope===j){d.options=k;return false}}}}d=this.create(h,j,k,e);if(k&&k.prepend){delete k.prepend;g.unshift(d)}else{g.push(d)}this.length++;return true},getAt:function(b,a){return this.getAll(a)[b]},getAll:function(a){if(!a){a=this.currentOrder}return this.listeners[a]},count:function(a){return this.getAll(a).length},create:function(d,c,b,a){return{stack:this,fn:d,firingFn:false,boundFn:false,isLateBinding:typeof d=="string",scope:c,options:b||{},order:a}},remove:function(h,j,e){var g=this.getAll(e),f=g.length,b=false,a=this.lateBindingMap,d,c;if(f>0){while(f--){d=g[f];if(d.fn===h&&d.scope===j){g.splice(f,1);b=true;this.length--;if(typeof h=="string"&&j.isIdentifiable){c=j.getId();if(a[c]&&a[c][h]){delete a[c][h]}}break}}}return b}});Ext.define("Ext.event.publisher.Publisher",{targetType:"",idSelectorRegex:/^#([\w\-]+)$/i,constructor:function(){var b=this.handledEvents,a,c,e,d;a=this.handledEventsMap={};for(c=0,e=b.length;cb){this.isEnded=true;return this.getEndValue()}else{return this.getStartValue()+((a/b)*this.distance)}}});Ext.define("Ext.fx.easing.Momentum",{extend:"Ext.fx.easing.Abstract",config:{acceleration:30,friction:0,startVelocity:0},alpha:0,updateFriction:function(b){var a=Math.log(1-(b/10));this.theta=a;this.alpha=a/this.getAcceleration()},updateStartVelocity:function(a){this.velocity=a*this.getAcceleration()},updateAcceleration:function(a){this.velocity=this.getStartVelocity()*a;this.alpha=this.theta/a},getValue:function(){return this.getStartValue()-this.velocity*(1-this.getFrictionFactor())/this.theta},getFrictionFactor:function(){var a=Ext.Date.now()-this.getStartTime();return Math.exp(a*this.alpha)},getVelocity:function(){return this.getFrictionFactor()*this.velocity}});Ext.define("Ext.mixin.Mixin",{onClassExtended:function(b,e){var a=e.mixinConfig,d,f,c;if(a){d=b.superclass.mixinConfig;if(d){a=e.mixinConfig=Ext.merge({},d,a)}e.mixinId=a.id;f=a.beforeHooks;c=a.hooks||a.afterHooks;if(f||c){Ext.Function.interceptBefore(e,"onClassMixedIn",function(h){var g=this.prototype;if(f){Ext.Object.each(f,function(j,i){h.override(i,function(){if(g[j].apply(this,arguments)!==false){return this.callOverridden(arguments)}})})}if(c){Ext.Object.each(c,function(j,i){h.override(i,function(){var k=this.callOverridden(arguments);g[j].apply(this,arguments);return k})})}})}}}});Ext.define("Ext.mixin.Selectable",{extend:"Ext.mixin.Mixin",mixinConfig:{id:"selectable",hooks:{updateStore:"updateStore"}},config:{disableSelection:null,mode:"SINGLE",allowDeselect:false,lastSelected:null,lastFocused:null,deselectOnContainerClick:true},modes:{SINGLE:true,SIMPLE:true,MULTI:true},selectableEventHooks:{addrecords:"onSelectionStoreAdd",removerecords:"onSelectionStoreRemove",updaterecord:"onSelectionStoreUpdate",load:"refreshSelection",refresh:"refreshSelection"},constructor:function(){this.selected=new Ext.util.MixedCollection();this.callParent(arguments)},applyMode:function(a){a=a?a.toUpperCase():"SINGLE";return this.modes[a]?a:"SINGLE"},updateStore:function(a,c){var b=this,d=Ext.apply({},b.selectableEventHooks,{scope:b});if(c&&Ext.isObject(c)&&c.isStore){if(c.autoDestroy){c.destroy()}else{c.un(d)}}if(a){a.on(d);b.refreshSelection()}},selectAll:function(a){var e=this,c=e.getStore().getRange(),d=c.length,b=0;for(;bg){e=g;g=c;c=e}for(d=c;d<=g;d++){a.push(b.getAt(d))}this.doMultiSelect(a,h)},select:function(c,e,b){var d=this,a;if(d.getDisableSelection()){return}if(typeof c==="number"){c=[d.getStore().getAt(c)]}if(!c){return}if(d.getMode()=="SINGLE"&&c){a=c.length?c[0]:c;d.doSingleSelect(a,b)}else{d.doMultiSelect(c,e,b)}},doSingleSelect:function(a,b){var d=this,c=d.selected;if(d.getDisableSelection()){return}if(d.isSelected(a)){return}if(c.getCount()>0){d.deselect(d.getLastSelected(),b)}c.add(a);d.setLastSelected(a);d.onItemSelect(a,b);d.setLastFocused(a);if(!b){d.fireSelectionChange([a])}},doMultiSelect:function(a,j,h){if(a===null||this.getDisableSelection()){return}a=!Ext.isArray(a)?[a]:a;var f=this,b=f.selected,e=a.length,g=false,c=0,d;if(!j&&b.getCount()>0){g=true;f.deselect(f.getSelection(),true)}for(;c0},refreshSelection:function(){var b=this,a=b.getSelection();b.deselectAll(true);if(a.length){b.select(a,false,true)}},onSelectionStoreRemove:function(c,b){var g=this,e=g.selected,f=b.length,a,d;if(g.getDisableSelection()){return}for(d=0;d0)?a[0]:b;return this.fromTouch(c)},fromTouch:function(a){return new this(a.pageX,a.pageY)},from:function(a){if(!a){return new this(0,0)}if(!(a instanceof this)){return new this(a.x,a.y)}return a}},constructor:function(a,b){if(typeof a=="undefined"){a=0}if(typeof b=="undefined"){b=0}this.x=a;this.y=b;return this},clone:function(){return new this.self(this.x,this.y)},copy:function(){return this.clone.apply(this,arguments)},copyFrom:function(a){this.x=a.x;this.y=a.y;return this},toString:function(){return"Point["+this.x+","+this.y+"]"},equals:function(a){return(this.x===a.x&&this.y===a.y)},isCloseTo:function(c,b){if(typeof b=="number"){b={x:b};b.y=b.x}var a=c.x,f=c.y,e=b.x,d=b.y;return(this.x<=a+e&&this.x>=a-e&&this.y<=f+d&&this.y>=f-d)},isWithin:function(){return this.isCloseTo.apply(this,arguments)},translate:function(a,b){this.x+=a;this.y+=b;return this},roundedEquals:function(a){return(Math.round(this.x)===Math.round(a.x)&&Math.round(this.y)===Math.round(a.y))},getDistanceTo:function(b){var c=this.x-b.x,a=this.y-b.y;return Math.sqrt(c*c+a*a)},getAngleTo:function(b){var c=this.x-b.x,a=this.y-b.y;return Math.atan2(a,c)*this.radianToDegreeConstant}});Ext.define("Ext.util.Region",{statics:{getRegion:function(a){return Ext.fly(a).getPageBox(true)},from:function(a){return new this(a.top,a.right,a.bottom,a.left)}},constructor:function(d,f,a,c){var e=this;e.top=d;e[1]=d;e.right=f;e.bottom=a;e.left=c;e[0]=c},contains:function(b){var a=this;return(b.left>=a.left&&b.right<=a.right&&b.top>=a.top&&b.bottom<=a.bottom)},intersect:function(g){var f=this,d=Math.max(f.top,g.top),e=Math.min(f.right,g.right),a=Math.min(f.bottom,g.bottom),c=Math.max(f.left,g.left);if(a>d&&e>c){return new Ext.util.Region(d,e,a,c)}else{return false}},union:function(g){var f=this,d=Math.min(f.top,g.top),e=Math.max(f.right,g.right),a=Math.max(f.bottom,g.bottom),c=Math.min(f.left,g.left);return new Ext.util.Region(d,e,a,c)},constrainTo:function(b){var a=this,c=Ext.util.Numbers.constrain;a.top=c(a.top,b.top,b.bottom);a.bottom=c(a.bottom,b.top,b.bottom);a.left=c(a.left,b.left,b.right);a.right=c(a.right,b.left,b.right);return a},adjust:function(d,f,a,c){var e=this;e.top+=d;e.left+=c;e.right+=f;e.bottom+=a;return e},getOutOfBoundOffset:function(a,b){if(!Ext.isObject(a)){if(a=="x"){return this.getOutOfBoundOffsetX(b)}else{return this.getOutOfBoundOffsetY(b)}}else{b=a;var c=new Ext.util.Offset();c.x=this.getOutOfBoundOffsetX(b.x);c.y=this.getOutOfBoundOffsetY(b.y);return c}},getOutOfBoundOffsetX:function(a){if(a<=this.left){return this.left-a}else{if(a>=this.right){return this.right-a}}return 0},getOutOfBoundOffsetY:function(a){if(a<=this.top){return this.top-a}else{if(a>=this.bottom){return this.bottom-a}}return 0},isOutOfBound:function(a,b){if(!Ext.isObject(a)){if(a=="x"){return this.isOutOfBoundX(b)}else{return this.isOutOfBoundY(b)}}else{b=a;return(this.isOutOfBoundX(b.x)||this.isOutOfBoundY(b.y))}},isOutOfBoundX:function(a){return(athis.right)},isOutOfBoundY:function(a){return(athis.bottom)},restrict:function(b,d,a){if(Ext.isObject(b)){var c;a=d;d=b;if(d.copy){c=d.copy()}else{c={x:d.x,y:d.y}}c.x=this.restrictX(d.x,a);c.y=this.restrictY(d.y,a);return c}else{if(b=="x"){return this.restrictX(d,a)}else{return this.restrictY(d,a)}}},restrictX:function(b,a){if(!a){a=1}if(b<=this.left){b-=(b-this.left)*a}else{if(b>=this.right){b-=(b-this.right)*a}}return b},restrictY:function(b,a){if(!a){a=1}if(b<=this.top){b-=(b-this.top)*a}else{if(b>=this.bottom){b-=(b-this.bottom)*a}}return b},getSize:function(){return{width:this.right-this.left,height:this.bottom-this.top}},copy:function(){return new Ext.util.Region(this.top,this.right,this.bottom,this.left)},toString:function(){return"Region["+this.top+","+this.right+","+this.bottom+","+this.left+"]"},translateBy:function(a){this.left+=a.x;this.right+=a.x;this.top+=a.y;this.bottom+=a.y;return this},round:function(){this.top=Math.round(this.top);this.right=Math.round(this.right);this.bottom=Math.round(this.bottom);this.left=Math.round(this.left);return this},equals:function(a){return(this.top==a.top&&this.right==a.right&&this.bottom==a.bottom&&this.left==a.left)}});Ext.define("Ext.util.Sorter",{isSorter:true,config:{property:null,sorterFn:null,root:null,transform:null,direction:"ASC",id:undefined},constructor:function(a){this.initConfig(a)},applyId:function(a){if(!a){a=this.getProperty();if(!a){a=Ext.id(null,"ext-sorter-")}}return a},createSortFunction:function(b){var c=this,a=c.getDirection().toUpperCase()=="DESC"?-1:1;return function(e,d){return a*b.call(c,e,d)}},defaultSortFn:function(e,c){var g=this,f=g._transform,b=g._root,d,a,h=g._property;if(b!==null){e=e[b];c=c[b]}d=e[h];a=c[h];if(f){d=f(d);a=f(a)}return d>a?1:(d -1 || Ext.isDate(values) ? values : ""'}else{if(e=="#"){c="xindex"}else{if(e.substr(0,7)=="parent."){c=e}else{if((e.indexOf(".")!==-1)&&(e.indexOf("-")===-1)){c="values."+e}else{c="values['"+e+"']"}}}}if(f){c="("+c+f+")"}if(g&&this.useFormat){d=d?","+d:"";if(g.substr(0,5)!="this."){g="fm."+g+"("}else{g+="("}}else{d="";g="("+c+" === undefined ? '' : "}return g+c+d+")"},evalTpl:function($){eval($);return $},newLineRe:/\r\n|\r|\n/g,aposRe:/[']/g,intRe:/^\s*(\d+)\s*$/,tagRe:/([\w-\.\#]+)(?:\:([\w\.]*)(?:\((.*?)?\))?)?(\s?[\+\-\*\/]\s?[\d\.\+\-\*\/\(\)]+)?/},function(){var a=this.prototype;a.fnArgs="out,values,parent,xindex,xcount";a.callFn=".call(this,"+a.fnArgs+")"});Ext.define("Ext.data.Field",{requires:["Ext.data.Types","Ext.data.SortTypes"],alias:"data.field",isField:true,config:{name:null,type:"auto",convert:undefined,dateFormat:null,allowNull:true,defaultValue:undefined,mapping:null,sortType:undefined,sortDir:"ASC",allowBlank:true,persist:true,encode:null,decode:null,bubbleEvents:"action"},constructor:function(a){if(Ext.isString(a)){a={name:a}}this.initConfig(a)},applyType:function(c){var b=Ext.data.Types,a=b.AUTO;if(c){if(Ext.isString(c)){return b[c.toUpperCase()]||a}else{return c}}return a},updateType:function(a,b){var c=this.getConvert();if(b&&c===b.convert){this.setConvert(a.convert)}},applySortType:function(d){var c=Ext.data.SortTypes,a=this.getType(),b=a.sortType;if(d){if(Ext.isString(d)){return c[d]||b}else{return d}}return b},applyConvert:function(b){var a=this.getType().convert;if(b&&b!==a){this._hasCustomConvert=true;return b}else{this._hasCustomConvert=false;return a}},hasCustomConvert:function(){return this._hasCustomConvert}});Ext.define("Ext.data.identifier.Sequential",{extend:"Ext.data.identifier.Simple",alias:"data.identifier.sequential",config:{prefix:"",seed:1},constructor:function(){var a=this;a.callParent(arguments);a.parts=[a.getPrefix(),""]},generate:function(b){var c=this,d=c.parts,a=c.getSeed()+1;c.setSeed(a);d[1]=a;return d.join("")}});Ext.define("Ext.data.writer.Json",{extend:"Ext.data.writer.Writer",alternateClassName:"Ext.data.JsonWriter",alias:"writer.json",config:{rootProperty:undefined,encode:false,allowSingle:true,encodeRequest:false},applyRootProperty:function(a){if(!a&&(this.getEncode()||this.getEncodeRequest())){a="data"}return a},writeRecords:function(d,e){var a=this.getRootProperty(),f=d.getParams(),b=this.getAllowSingle(),c;if(this.getAllowSingle()&&e&&e.length==1){e=e[0]}if(this.getEncodeRequest()){c=d.getJsonData()||{};if(e&&(e.length||(b&&Ext.isObject(e)))){c[a]=e}d.setJsonData(Ext.apply(c,f||{}));d.setParams(null);d.setMethod("POST");return d}if(!e||!(e.length||(b&&Ext.isObject(e)))){return d}if(this.getEncode()){if(a){f[a]=Ext.encode(e)}else{}}else{c=d.getJsonData()||{};if(a){c[a]=e}else{c=e}d.setJsonData(c)}return d}});Ext.define("Ext.event.Dispatcher",{requires:["Ext.event.ListenerStack","Ext.event.Controller"],statics:{getInstance:function(){if(!this.instance){this.instance=new this()}return this.instance},setInstance:function(a){this.instance=a;return this}},config:{publishers:{}},wildcard:"*",constructor:function(a){this.listenerStacks={};this.activePublishers={};this.publishersCache={};this.noActivePublishers=[];this.controller=null;this.initConfig(a);return this},getListenerStack:function(e,g,c,b){var d=this.listenerStacks,f=d[e],a;b=Boolean(b);if(!f){if(b){d[e]=f={}}else{return null}}f=f[g];if(!f){if(b){d[e][g]=f={}}else{return null}}a=f[c];if(!a){if(b){f[c]=a=new Ext.event.ListenerStack()}else{return null}}return a},getController:function(d,f,c,b){var a=this.controller,e={targetType:d,target:f,eventName:c};if(!a){this.controller=a=new Ext.event.Controller()}if(a.isFiring){a=new Ext.event.Controller()}a.setInfo(e);if(b&&a!==b){a.connect(b)}return a},applyPublishers:function(c){var a,b;this.publishersCache={};for(a in c){if(c.hasOwnProperty(a)){b=c[a];this.registerPublisher(b)}}return c},registerPublisher:function(b){var a=this.activePublishers,c=b.getTargetType(),d=a[c];if(!d){a[c]=d=[]}d.push(b);b.setDispatcher(this);return this},getCachedActivePublishers:function(c,b){var a=this.publishersCache,d;if((d=a[c])&&(d=d[b])){return d}return null},cacheActivePublishers:function(c,b,d){var a=this.publishersCache;if(!a[c]){a[c]={}}a[c][b]=d;return d},getActivePublishers:function(f,b){var g,a,c,e,d;if((g=this.getCachedActivePublishers(f,b))){return g}a=this.activePublishers[f];if(a){g=[];for(c=0,e=a.length;c0}return false},addListener:function(d,e,a){var f=this.getActivePublishers(d,a),c=f.length,b;if(c>0){for(b=0;b0){for(b=0;b0){for(b=0;b0)){return true}delete d[f];if(--d.$length===0){delete this.subscribers[a]}return true},onBeforeComponentRenderedChange:function(b,d,g){var f=this.eventNames,c=g?f.painted:f.erased,e=this.getSubscribers(c),a;if(e&&e.$length>0){this.renderedQueue[d.getId()]=a=[];this.publish(e,d,c,a)}},onBeforeComponentHiddenChange:function(c,d){var f=this.eventNames,b=d?f.erased:f.painted,e=this.getSubscribers(b),a;if(e&&e.$length>0){this.hiddenQueue[c.getId()]=a=[];this.publish(e,c,b,a)}},onComponentRenderedChange:function(b,c){var d=this.renderedQueue,e=c.getId(),a;if(!d.hasOwnProperty(e)){return}a=d[e];delete d[e];if(a.length>0){this.dispatchQueue(a)}},onComponentHiddenChange:function(c){var b=this.hiddenQueue,d=c.getId(),a;if(!b.hasOwnProperty(d)){return}a=b[d];delete b[d];if(a.length>0){this.dispatchQueue(a)}},dispatchQueue:function(g){var l=this.dispatcher,a=this.targetType,b=this.eventNames,e=g.slice(),f=e.length,c,k,h,d,j;g.length=0;if(f>0){for(c=0;c0)){return true}delete c[i];c.$length--}else{if(!d.hasOwnProperty(i)||(!j&&--d[i]>0)){return true}delete d[i];d.$length--}}else{if(g===this.SELECTOR_ALL){if(j){a.all=0}else{a.all--}}else{if(!b.hasOwnProperty(g)||(!j&&--b[g]>0)){return true}delete b[g];Ext.Array.remove(b,g)}}a.$length--;return true},getElementTarget:function(a){if(a.nodeType!==1){a=a.parentNode;if(!a||a.nodeType!==1){return null}}return a},getBubblingTargets:function(b){var a=[];if(!b){return a}do{a[a.length]=b;b=b.parentNode}while(b&&b.nodeType===1);return a},dispatch:function(c,a,b){b.push(b[0].target);this.callParent(arguments)},publish:function(b,a,c){var d=this.getSubscribers(b),e;if(d.$length===0||!this.doPublish(d,b,a,c)){e=this.getSubscribers("*");if(e.$length>0){this.doPublish(e,b,a,c)}}return this},doPublish:function(f,h,x,u){var r=f.id,g=f.className,b=f.selector,p=r.$length>0,a=g.$length>0,l=b.length>0,o=f.all>0,y={},e=[u],q=false,m=this.classNameSplitRegex,v,k,t,d,z,n,c,w,s;for(v=0,k=x.length;v0){c=a.slice(0);a.length=0;for(b=0;b0){this.processEvent(this.mergeEvents(d));d.length=0}this.processEvent(e)}}if(d.length>0){this.processEvent(this.mergeEvents(d));d.length=0}}},mergeEvents:function(c){var b=[],f=c.length,a,e,d;d=c[f-1];if(f===1){return d}for(a=0;ah){for(d=0;dh){return}}for(d=0;da){this.end(d)}}},onTouchEnd:function(a){this.end(a)},start:function(){if(!this.isTracking){this.isTracking=true;this.isStarted=false}},end:function(a){if(this.isTracking){this.isTracking=false;if(this.isStarted){this.isStarted=false;this.fireEnd(a)}}}});Ext.define("Ext.event.recognizer.Pinch",{extend:"Ext.event.recognizer.MultiTouch",requiredTouchesCount:2,handledEvents:["pinchstart","pinch","pinchend"],startDistance:0,lastTouches:null,onTouchMove:function(c){if(!this.isTracking){return}var b=Array.prototype.slice.call(c.touches),d,a,f;d=b[0].point;a=b[1].point;f=d.getDistanceTo(a);if(f===0){return}if(!this.isStarted){this.isStarted=true;this.startDistance=f;this.fire("pinchstart",c,b,{touches:b,distance:f,scale:1})}else{this.fire("pinch",c,b,{touches:b,distance:f,scale:f/this.startDistance})}this.lastTouches=b},fireEnd:function(a){this.fire("pinchend",a,this.lastTouches)},fail:function(){return this.callParent(arguments)}});Ext.define("Ext.event.recognizer.Rotate",{extend:"Ext.event.recognizer.MultiTouch",requiredTouchesCount:2,handledEvents:["rotatestart","rotate","rotateend"],startAngle:0,lastTouches:null,lastAngle:null,onTouchMove:function(h){if(!this.isTracking){return}var g=Array.prototype.slice.call(h.touches),b=this.lastAngle,d,f,c,a,i,j;d=g[0].point;f=g[1].point;c=d.getAngleTo(f);if(b!==null){j=Math.abs(b-c);a=c+360;i=c-360;if(Math.abs(a-b)1){return this.fail(this.self.NOT_SINGLE_TOUCH)}}});Ext.define("Ext.event.recognizer.DoubleTap",{extend:"Ext.event.recognizer.SingleTouch",config:{maxDuration:300},handledEvents:["singletap","doubletap"],singleTapTimer:null,onTouchStart:function(a){if(this.callParent(arguments)===false){return false}this.startTime=a.time;clearTimeout(this.singleTapTimer)},onTouchMove:function(){return this.fail(this.self.TOUCH_MOVED)},onEnd:function(g){var c=this,b=this.getMaxDuration(),h=g.changedTouches[0],f=g.time,a=this.lastTapTime,d;this.lastTapTime=f;if(a){d=f-a;if(d<=b){this.lastTapTime=0;this.fire("doubletap",g,[h],{touch:h,duration:d});return}}if(f-this.startTime>b){this.fireSingleTap(g,h)}else{this.singleTapTimer=setTimeout(function(){c.fireSingleTap(g,h)},b)}},fireSingleTap:function(a,b){this.fire("singletap",a,[b],{touch:b})}});Ext.define("Ext.event.recognizer.Drag",{extend:"Ext.event.recognizer.SingleTouch",isStarted:false,startPoint:null,previousPoint:null,lastPoint:null,handledEvents:["dragstart","drag","dragend"],onTouchStart:function(b){var c,a;if(this.callParent(arguments)===false){if(this.isStarted&&this.lastMoveEvent!==null){this.onTouchEnd(this.lastMoveEvent)}return false}this.startTouches=c=b.changedTouches;this.startTouch=a=c[0];this.startPoint=a.point},onTouchMove:function(d){var c=d.changedTouches,f=c[0],a=f.point,b=d.time;if(this.lastPoint){this.previousPoint=this.lastPoint}if(this.lastTime){this.previousTime=this.lastTime}this.lastTime=b;this.lastPoint=a;this.lastMoveEvent=d;if(!this.isStarted){this.isStarted=true;this.startTime=b;this.previousTime=b;this.previousPoint=this.startPoint;this.fire("dragstart",d,this.startTouches,this.getInfo(d,this.startTouch))}else{this.fire("drag",d,c,this.getInfo(d,f))}},onTouchEnd:function(c){if(this.isStarted){var b=c.changedTouches,d=b[0],a=d.point;this.isStarted=false;this.lastPoint=a;this.fire("dragend",c,b,this.getInfo(c,d));this.startTime=0;this.previousTime=0;this.lastTime=0;this.startPoint=null;this.previousPoint=null;this.lastPoint=null;this.lastMoveEvent=null}},getInfo:function(j,i){var d=j.time,a=this.startPoint,f=this.previousPoint,b=this.startTime,k=this.previousTime,l=this.lastPoint,h=l.x-a.x,g=l.y-a.y,c={touch:i,startX:a.x,startY:a.y,previousX:f.x,previousY:f.y,pageX:l.x,pageY:l.y,deltaX:h,deltaY:g,absDeltaX:Math.abs(h),absDeltaY:Math.abs(g),previousDeltaX:l.x-f.x,previousDeltaY:l.y-f.y,time:d,startTime:b,previousTime:k,deltaTime:d-b,previousDeltaTime:d-k};return c}});Ext.define("Ext.event.recognizer.LongPress",{extend:"Ext.event.recognizer.SingleTouch",inheritableStatics:{DURATION_NOT_ENOUGH:32},config:{minDuration:1000},handledEvents:["longpress"],fireLongPress:function(a){var b=a.changedTouches[0];this.fire("longpress",a,[b],{touch:b,duration:this.getMinDuration()});this.isLongPress=true},onTouchStart:function(b){var a=this;if(this.callParent(arguments)===false){return false}this.isLongPress=false;this.timer=setTimeout(function(){a.fireLongPress(b)},this.getMinDuration())},onTouchMove:function(){return this.fail(this.self.TOUCH_MOVED)},onTouchEnd:function(){if(!this.isLongPress){return this.fail(this.self.DURATION_NOT_ENOUGH)}},fail:function(){clearTimeout(this.timer);return this.callParent(arguments)}},function(){this.override({handledEvents:["longpress","taphold"],fire:function(a){if(a==="longpress"){var b=Array.prototype.slice.call(arguments);b[0]="taphold";this.fire.apply(this,b)}return this.callOverridden(arguments)}})});Ext.define("Ext.event.recognizer.Tap",{handledEvents:["tap"],extend:"Ext.event.recognizer.SingleTouch",onTouchMove:function(){return this.fail(this.self.TOUCH_MOVED)},onTouchEnd:function(a){var b=a.changedTouches[0];this.fire("tap",a,[b])}},function(){});(function(){function b(d){var c=Array.prototype.slice.call(arguments,1);return d.replace(/\{(\d+)\}/g,function(e,f){return c[f]})}Ext.DateExtras={now:Date.now||function(){return +new Date()},getElapsed:function(d,c){return Math.abs(d-(c||new Date()))},useStrict:false,formatCodeToRegex:function(d,c){var e=a.parseCodes[d];if(e){e=typeof e=="function"?e():e;a.parseCodes[d]=e}return e?Ext.applyIf({c:e.c?b(e.c,c||"{0}"):e.c},e):{g:0,c:null,s:Ext.String.escapeRegex(d)}},parseFunctions:{MS:function(d,c){var e=new RegExp("\\/Date\\(([-+])?(\\d+)(?:[+-]\\d{4})?\\)\\/");var f=(d||"").match(e);return f?new Date(((f[1]||"")+f[2])*1):null}},parseRegexes:[],formatFunctions:{MS:function(){return"\\/Date("+this.getTime()+")\\/"}},y2kYear:50,MILLI:"ms",SECOND:"s",MINUTE:"mi",HOUR:"h",DAY:"d",MONTH:"mo",YEAR:"y",defaults:{},dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNumbers:{Jan:0,Feb:1,Mar:2,Apr:3,May:4,Jun:5,Jul:6,Aug:7,Sep:8,Oct:9,Nov:10,Dec:11},defaultFormat:"m/d/Y",getShortMonthName:function(c){return a.monthNames[c].substring(0,3)},getShortDayName:function(c){return a.dayNames[c].substring(0,3)},getMonthNumber:function(c){return a.monthNumbers[c.substring(0,1).toUpperCase()+c.substring(1,3).toLowerCase()]},formatCodes:{d:"Ext.String.leftPad(this.getDate(), 2, '0')",D:"Ext.Date.getShortDayName(this.getDay())",j:"this.getDate()",l:"Ext.Date.dayNames[this.getDay()]",N:"(this.getDay() ? this.getDay() : 7)",S:"Ext.Date.getSuffix(this)",w:"this.getDay()",z:"Ext.Date.getDayOfYear(this)",W:"Ext.String.leftPad(Ext.Date.getWeekOfYear(this), 2, '0')",F:"Ext.Date.monthNames[this.getMonth()]",m:"Ext.String.leftPad(this.getMonth() + 1, 2, '0')",M:"Ext.Date.getShortMonthName(this.getMonth())",n:"(this.getMonth() + 1)",t:"Ext.Date.getDaysInMonth(this)",L:"(Ext.Date.isLeapYear(this) ? 1 : 0)",o:"(this.getFullYear() + (Ext.Date.getWeekOfYear(this) == 1 && this.getMonth() > 0 ? +1 : (Ext.Date.getWeekOfYear(this) >= 52 && this.getMonth() < 11 ? -1 : 0)))",Y:"Ext.String.leftPad(this.getFullYear(), 4, '0')",y:"('' + this.getFullYear()).substring(2, 4)",a:"(this.getHours() < 12 ? 'am' : 'pm')",A:"(this.getHours() < 12 ? 'AM' : 'PM')",g:"((this.getHours() % 12) ? this.getHours() % 12 : 12)",G:"this.getHours()",h:"Ext.String.leftPad((this.getHours() % 12) ? this.getHours() % 12 : 12, 2, '0')",H:"Ext.String.leftPad(this.getHours(), 2, '0')",i:"Ext.String.leftPad(this.getMinutes(), 2, '0')",s:"Ext.String.leftPad(this.getSeconds(), 2, '0')",u:"Ext.String.leftPad(this.getMilliseconds(), 3, '0')",O:"Ext.Date.getGMTOffset(this)",P:"Ext.Date.getGMTOffset(this, true)",T:"Ext.Date.getTimezone(this)",Z:"(this.getTimezoneOffset() * -60)",c:function(){for(var j="Y-m-dTH:i:sP",g=[],f=0,d=j.length;f= 0 && y >= 0){","v = Ext.Date.add(new Date(y < 100 ? 100 : y, 0, 1, h, i, s, ms), Ext.Date.YEAR, y < 100 ? y - 100 : 0);","v = !strict? v : (strict === true && (z <= 364 || (Ext.Date.isLeapYear(v) && z <= 365))? Ext.Date.add(v, Ext.Date.DAY, z) : null);","}else if(strict === true && !Ext.Date.isValid(y, m + 1, d, h, i, s, ms)){","v = null;","}else{","v = Ext.Date.add(new Date(y < 100 ? 100 : y, m, d, h, i, s, ms), Ext.Date.YEAR, y < 100 ? y - 100 : 0);","}","}","}","if(v){","if(zz != null){","v = Ext.Date.add(v, Ext.Date.SECOND, -v.getTimezoneOffset() * 60 - zz);","}else if(o){","v = Ext.Date.add(v, Ext.Date.MINUTE, -v.getTimezoneOffset() + (sn == '+'? -1 : 1) * (hr * 60 + mn));","}","}","return v;"].join("\n");return function(l){var e=a.parseRegexes.length,m=1,f=[],k=[],j=false,d="";for(var h=0;h Ext.Date.y2kYear ? 1900 + ty : 2000 + ty;\n",s:"(\\d{1,2})"},a:{g:1,c:"if (/(am)/i.test(results[{0}])) {\nif (!h || h == 12) { h = 0; }\n} else { if (!h || h < 12) { h = (h || 0) + 12; }}",s:"(am|pm|AM|PM)"},A:{g:1,c:"if (/(am)/i.test(results[{0}])) {\nif (!h || h == 12) { h = 0; }\n} else { if (!h || h < 12) { h = (h || 0) + 12; }}",s:"(AM|PM|am|pm)"},g:function(){return a.formatCodeToRegex("G")},G:{g:1,c:"h = parseInt(results[{0}], 10);\n",s:"(\\d{1,2})"},h:function(){return a.formatCodeToRegex("H")},H:{g:1,c:"h = parseInt(results[{0}], 10);\n",s:"(\\d{2})"},i:{g:1,c:"i = parseInt(results[{0}], 10);\n",s:"(\\d{2})"},s:{g:1,c:"s = parseInt(results[{0}], 10);\n",s:"(\\d{2})"},u:{g:1,c:"ms = results[{0}]; ms = parseInt(ms, 10)/Math.pow(10, ms.length - 3);\n",s:"(\\d+)"},O:{g:1,c:["o = results[{0}];","var sn = o.substring(0,1),","hr = o.substring(1,3)*1 + Math.floor(o.substring(3,5) / 60),","mn = o.substring(3,5) % 60;","o = ((-12 <= (hr*60 + mn)/60) && ((hr*60 + mn)/60 <= 14))? (sn + Ext.String.leftPad(hr, 2, '0') + Ext.String.leftPad(mn, 2, '0')) : null;\n"].join("\n"),s:"([+-]\\d{4})"},P:{g:1,c:["o = results[{0}];","var sn = o.substring(0,1),","hr = o.substring(1,3)*1 + Math.floor(o.substring(4,6) / 60),","mn = o.substring(4,6) % 60;","o = ((-12 <= (hr*60 + mn)/60) && ((hr*60 + mn)/60 <= 14))? (sn + Ext.String.leftPad(hr, 2, '0') + Ext.String.leftPad(mn, 2, '0')) : null;\n"].join("\n"),s:"([+-]\\d{2}:\\d{2})"},T:{g:0,c:null,s:"[A-Z]{1,4}"},Z:{g:1,c:"zz = results[{0}] * 1;\nzz = (-43200 <= zz && zz <= 50400)? zz : null;\n",s:"([+-]?\\d{1,5})"},c:function(){var e=[],c=[a.formatCodeToRegex("Y",1),a.formatCodeToRegex("m",2),a.formatCodeToRegex("d",3),a.formatCodeToRegex("h",4),a.formatCodeToRegex("i",5),a.formatCodeToRegex("s",6),{c:"ms = results[7] || '0'; ms = parseInt(ms, 10)/Math.pow(10, ms.length - 3);\n"},{c:["if(results[8]) {","if(results[8] == 'Z'){","zz = 0;","}else if (results[8].indexOf(':') > -1){",a.formatCodeToRegex("P",8).c,"}else{",a.formatCodeToRegex("O",8).c,"}","}"].join("\n")}];for(var f=0,d=c.length;f0?"-":"+")+Ext.String.leftPad(Math.floor(Math.abs(e)/60),2,"0")+(d?":":"")+Ext.String.leftPad(Math.abs(e%60),2,"0")},getDayOfYear:function(f){var e=0,h=Ext.Date.clone(f),c=f.getMonth(),g;for(g=0,h.setDate(1),h.setMonth(0);g28){e=Math.min(e,Ext.Date.getLastDateOfMonth(Ext.Date.add(Ext.Date.getFirstDateOfMonth(g),"mo",h)).getDate())}i.setDate(e);i.setMonth(g.getMonth()+h);break;case Ext.Date.YEAR:i.setFullYear(g.getFullYear()+h);break}return i},between:function(d,f,c){var e=d.getTime();return f.getTime()<=e&&e<=c.getTime()}};var a=Ext.DateExtras;Ext.apply(Ext.Date,a)})();Ext.define("Ext.fx.Easing",{requires:["Ext.fx.easing.Linear"],constructor:function(a){return Ext.factory(a,Ext.fx.easing.Linear,null,"easing")}});Ext.define("Ext.fx.easing.BoundMomentum",{extend:"Ext.fx.easing.Abstract",requires:["Ext.fx.easing.Momentum","Ext.fx.easing.Bounce"],config:{momentum:null,bounce:null,minMomentumValue:0,maxMomentumValue:0,minVelocity:0.01,startVelocity:0},applyMomentum:function(a,b){return Ext.factory(a,Ext.fx.easing.Momentum,b)},applyBounce:function(a,b){return Ext.factory(a,Ext.fx.easing.Bounce,b)},updateStartTime:function(a){this.getMomentum().setStartTime(a);this.callParent(arguments)},updateStartVelocity:function(a){this.getMomentum().setStartVelocity(a)},updateStartValue:function(a){this.getMomentum().setStartValue(a)},reset:function(){this.lastValue=null;this.isBouncingBack=false;this.isOutOfBound=false;return this.callParent(arguments)},getValue:function(){var a=this.getMomentum(),j=this.getBounce(),e=a.getStartVelocity(),f=e>0?1:-1,g=this.getMinMomentumValue(),d=this.getMaxMomentumValue(),c=(f==1)?d:g,h=this.lastValue,i,b;if(e===0){return this.getStartValue()}if(!this.isOutOfBound){i=a.getValue();b=a.getVelocity();if(Math.abs(b)=g&&i<=d){return i}this.isOutOfBound=true;j.setStartTime(Ext.Date.now()).setStartVelocity(b).setStartValue(c)}i=j.getValue();if(!this.isEnded){if(!this.isBouncingBack){if(h!==null){if((f==1&&ih)){this.isBouncingBack=true}}}else{if(Math.round(i)==c){this.isEnded=true}}}this.lastValue=i;return i}});Ext.define("Ext.fx.easing.EaseIn",{extend:"Ext.fx.easing.Linear",alias:"easing.ease-in",config:{exponent:4,duration:1500},getValue:function(){var c=Ext.Date.now()-this.getStartTime(),g=this.getDuration(),b=this.getStartValue(),a=this.getEndValue(),h=this.distance,e=c/g,d=Math.pow(e,this.getExponent()),f=b+(d*h);if(c>=g){this.isEnded=true;return a}return f}});Ext.define("Ext.fx.easing.EaseOut",{extend:"Ext.fx.easing.Linear",alias:"easing.ease-out",config:{exponent:4,duration:1500},getValue:function(){var f=Ext.Date.now()-this.getStartTime(),d=this.getDuration(),b=this.getStartValue(),h=this.getEndValue(),a=this.distance,c=f/d,g=1-c,e=1-Math.pow(g,this.getExponent()),i=b+(e*a);if(f>=d){this.isEnded=true;return h}return i}});Ext.define("Ext.mixin.Filterable",{extend:"Ext.mixin.Mixin",requires:["Ext.util.Filter"],mixinConfig:{id:"filterable"},config:{filters:null,filterRoot:null},dirtyFilterFn:false,filterFn:null,filtered:false,applyFilters:function(a,b){if(!b){b=this.createFiltersCollection()}b.clear();this.filtered=false;this.dirtyFilterFn=true;if(a){this.addFilters(a)}return b},createFiltersCollection:function(){this._filters=Ext.create("Ext.util.Collection",function(a){return a.getId()});return this._filters},addFilter:function(a){this.addFilters([a])},addFilters:function(b){var a=this.getFilters();return this.insertFilters(a?a.length:0,b)},insertFilter:function(a,b){return this.insertFilters(a,[b])},insertFilters:function(h,c){if(!Ext.isArray(c)){c=[c]}var j=c.length,a=this.getFilterRoot(),d=this.getFilters(),e=[],f,g,b;if(!d){d=this.createFiltersCollection()}for(g=0;g=200&&a<300)||a==304||(a==0&&d.responseText.length>0),b=false;if(!c){switch(a){case 12002:case 12029:case 12030:case 12031:case 12152:case 13030:b=true;break}}return{success:c,isException:b}},createResponse:function(c){var g=c.xhr,a={},h,d,i,e,f,b;if(c.timedout||c.aborted){c.success=false;h=[]}else{h=g.getAllResponseHeaders().replace(this.lineBreakRe,"\n").split("\n")}d=h.length;while(d--){i=h[d];e=i.indexOf(":");if(e>=0){f=i.substr(0,e).toLowerCase();if(i.charAt(e+1)==" "){++e}a[f]=i.substr(e+1)}}c.xhr=null;delete c.xhr;b={request:c,requestId:c.id,status:g.status,statusText:g.statusText,getResponseHeader:function(j){return a[j.toLowerCase()]},getAllResponseHeaders:function(){return a},responseText:g.responseText,responseXML:g.responseXML};g=null;return b},createException:function(a){return{request:a,requestId:a.id,status:a.aborted?-1:0,statusText:a.aborted?"transaction aborted":"communication failure",aborted:a.aborted,timedout:a.timedout}}});Ext.define("Ext.Ajax",{extend:"Ext.data.Connection",singleton:true,autoAbort:false});Ext.define("Ext.data.reader.Reader",{requires:["Ext.data.ResultSet"],alternateClassName:["Ext.data.Reader","Ext.data.DataReader"],mixins:["Ext.mixin.Observable"],isReader:true,config:{idProperty:undefined,clientIdProperty:"clientId",totalProperty:"total",successProperty:"success",messageProperty:null,rootProperty:"",implicitIncludes:true,model:undefined},constructor:function(a){this.initConfig(a)},fieldCount:0,applyModel:function(a){if(typeof a=="string"){a=Ext.data.ModelManager.getModel(a);if(!a){Ext.Logger.error("Model with name "+arguments[0]+" doesnt exist.")}}if(a&&!a.prototype.isModel&&Ext.isObject(a)){a=Ext.data.ModelManager.registerType(a.storeId||a.id||Ext.id(),a)}return a},applyIdProperty:function(a){if(!a&&this.getModel()){a=this.getModel().getIdProperty()}return a},updateModel:function(a){if(a){if(!this.getIdProperty()){this.setIdProperty(a.getIdProperty())}this.buildExtractors()}},createAccessor:Ext.emptyFn,createFieldAccessExpression:function(){return"undefined"},buildExtractors:function(){if(!this.getModel()){return}var b=this,c=b.getTotalProperty(),a=b.getSuccessProperty(),d=b.getMessageProperty();if(c){b.getTotal=b.createAccessor(c)}if(a){b.getSuccess=b.createAccessor(a)}if(d){b.getMessage=b.createAccessor(d)}b.extractRecordData=b.buildRecordDataExtractor()},buildRecordDataExtractor:function(){var k=this,e=k.getModel(),g=e.getFields(),j=g.length,a=[],h=k.getModel().getClientIdProperty(),f="__field",b=["var me = this,\n"," fields = me.getModel().getFields(),\n"," idProperty = me.getIdProperty(),\n",' idPropertyIsFn = (typeof idProperty == "function"),'," value,\n"," internalId"],d,l,c,m;g=g.items;for(d=0;d=0){return Ext.functionFactory("obj","var value; try {value = obj"+(b>0?".":"")+c+"} catch(e) {}; return value;")}}return function(d){return d[c]}}}(),createFieldAccessExpression:function(g,b,c){var f=this,h=f.objectRe,e=(g.getMapping()!==null),a=e?g.getMapping():g.getName(),i,d;if(typeof a==="function"){i=b+".getMapping()("+c+", this)"}else{if(f.getUseSimpleAccessors()===true||((d=String(a).search(h))<0)){if(!e||isNaN(a)){a='"'+a+'"'}i=c+"["+a+"]"}else{i=c+(d>0?".":"")+a}}return i}});Ext.define("Ext.data.proxy.Proxy",{extend:"Ext.Evented",alias:"proxy.proxy",alternateClassName:["Ext.data.DataProxy","Ext.data.Proxy"],requires:["Ext.data.reader.Json","Ext.data.writer.Json","Ext.data.Batch","Ext.data.Operation"],config:{batchOrder:"create,update,destroy",batchActions:true,model:null,reader:{type:"json"},writer:{type:"json"}},isProxy:true,applyModel:function(a){if(typeof a=="string"){a=Ext.data.ModelManager.getModel(a);if(!a){Ext.Logger.error("Model with name "+arguments[0]+" doesnt exist.")}}if(a&&!a.prototype.isModel&&Ext.isObject(a)){a=Ext.data.ModelManager.registerType(a.storeId||a.id||Ext.id(),a)}return a},updateModel:function(b){if(b){var a=this.getReader();if(a&&!a.getModel()){a.setModel(b)}}},applyReader:function(b,a){return Ext.factory(b,Ext.data.Reader,a,"reader")},updateReader:function(a){if(a){var b=this.getModel();if(!b){b=a.getModel();if(b){this.setModel(b)}}else{a.setModel(b)}if(a.onMetaChange){a.onMetaChange=Ext.Function.createSequence(a.onMetaChange,this.onMetaChange,this)}}},onMetaChange:function(b){var a=this.getReader().getModel();if(!this.getModel()&&a){this.setModel(a)}this.fireEvent("metachange",this,b)},applyWriter:function(b,a){return Ext.factory(b,Ext.data.Writer,a,"writer")},create:Ext.emptyFn,read:Ext.emptyFn,update:Ext.emptyFn,destroy:Ext.emptyFn,onDestroy:function(){Ext.destroy(this.getReader(),this.getWriter())},batch:function(e,f){var g=this,d=g.getBatchActions(),c=this.getModel(),b,a;if(e.operations===undefined){e={operations:e,batch:{listeners:f}}}if(e.batch){if(e.batch.isBatch){e.batch.setProxy(g)}else{e.batch.proxy=g}}else{e.batch={proxy:g,listeners:e.listeners||{}}}if(!b){b=new Ext.data.Batch(e.batch)}b.on("complete",Ext.bind(g.onBatchComplete,g,[e],0));Ext.each(g.getBatchOrder().split(","),function(h){a=e.operations[h];if(a){if(d){b.add(new Ext.data.Operation({action:h,records:a,model:c}))}else{Ext.each(a,function(i){b.add(new Ext.data.Operation({action:h,records:[i],model:c}))})}}},g);b.start();return b},onBatchComplete:function(a,b){var c=a.scope||this;if(b.hasException){if(Ext.isFunction(a.failure)){Ext.callback(a.failure,c,[b,a])}}else{if(Ext.isFunction(a.success)){Ext.callback(a.success,c,[b,a])}}if(Ext.isFunction(a.callback)){Ext.callback(a.callback,c,[b,a])}}},function(){});Ext.define("Ext.data.proxy.Client",{extend:"Ext.data.proxy.Proxy",alternateClassName:"Ext.proxy.ClientProxy",clear:function(){}});Ext.define("Ext.data.proxy.Memory",{extend:"Ext.data.proxy.Client",alias:"proxy.memory",alternateClassName:"Ext.data.MemoryProxy",isMemoryProxy:true,config:{data:[]},finishOperation:function(b,f,d){if(b){var c=0,e=b.getRecords(),a=e.length;for(c;c0){if(o){h[e]=m[0].getProperty();h[b]=m[0].getDirection()}else{h[e]=n.encodeSorters(m)}}if(c&&f&&f.length>0){h[c]=n.encodeFilters(f)}return h},buildUrl:function(c){var b=this,a=b.getUrl(c);if(b.getNoCache()){a=Ext.urlAppend(a,Ext.String.format("{0}={1}",b.getCacheString(),Ext.Date.now()))}return a},getUrl:function(a){return a?a.getUrl()||this.getApi()[a.getAction()]||this._url:this._url},doRequest:function(a,c,b){},afterRequest:Ext.emptyFn});Ext.define("Ext.data.proxy.JsonP",{extend:"Ext.data.proxy.Server",alternateClassName:"Ext.data.ScriptTagProxy",alias:["proxy.jsonp","proxy.scripttag"],requires:["Ext.data.JsonP"],config:{defaultWriterType:"base",callbackKey:"callback",recordParam:"records",autoAppendParams:true},doRequest:function(a,f,b){var d=this,c=d.buildRequest(a),e=c.getParams();c.setConfig({callbackKey:d.getCallbackKey(),timeout:d.getTimeout(),scope:d,callback:d.createRequestCallback(c,a,f,b)});if(d.getAutoAppendParams()){c.setParams({})}c.setJsonP(Ext.data.JsonP.request(c.getCurrentConfig()));c.setParams(e);a.setStarted();d.lastRequest=c;return c},createRequestCallback:function(d,a,e,b){var c=this;return function(h,f,g){delete c.lastRequest;c.processResponse(h,a,d,f,e,b)}},setException:function(b,a){b.setException(b.getRequest().getJsonP().errorType)},buildUrl:function(f){var h=this,a=h.callParent(arguments),e=Ext.apply({},f.getParams()),c=e.filters,d,b,g,j;delete e.filters;if(h.getAutoAppendParams()){a=Ext.urlAppend(a,Ext.Object.toQueryString(e))}if(c&&c.length){for(g=0;g1){this.endAnimationCounter=0;this.fireEvent("animationend",this)}},applyInAnimation:function(b,a){return Ext.factory(b,Ext.fx.Animation,a)},applyOutAnimation:function(b,a){return Ext.factory(b,Ext.fx.Animation,a)},updateInAnimation:function(a){a.setScope(this)},updateOutAnimation:function(a){a.setScope(this)},onActiveItemChange:function(a,e,h,i,d){var b=this.getInAnimation(),g=this.getOutAnimation(),f,c;if(e&&h&&h.isPainted()){f=e.renderElement;c=h.renderElement;b.setElement(f);g.setElement(c);g.setOnBeforeEnd(function(j,k){if(k||Ext.Animator.hasRunningAnimations(j)){d.firingArguments[1]=null;d.firingArguments[2]=null}});g.setOnEnd(function(){d.resume()});f.dom.style.setProperty("visibility","hidden","!important");e.show();Ext.Animator.run([g,b]);d.pause()}}});Ext.define("Ext.fx.layout.card.Cover",{extend:"Ext.fx.layout.card.Style",alias:"fx.layout.card.cover",config:{reverse:null,inAnimation:{before:{"z-index":100},after:{"z-index":0},type:"slide",easing:"ease-out"},outAnimation:{easing:"ease-out",from:{opacity:0.99},to:{opacity:1},out:true}},updateReverse:function(a){this.getInAnimation().setReverse(a);this.getOutAnimation().setReverse(a)}});Ext.define("Ext.fx.layout.card.Cube",{extend:"Ext.fx.layout.card.Style",alias:"fx.layout.card.cube",config:{reverse:null,inAnimation:{type:"cube"},outAnimation:{type:"cube",out:true}}});Ext.define("Ext.fx.layout.card.Fade",{extend:"Ext.fx.layout.card.Style",alias:"fx.layout.card.fade",config:{reverse:null,inAnimation:{type:"fade",easing:"ease-out"},outAnimation:{type:"fade",easing:"ease-out",out:true}}});Ext.define("Ext.fx.layout.card.Flip",{extend:"Ext.fx.layout.card.Style",alias:"fx.layout.card.flip",config:{duration:500,inAnimation:{type:"flip",half:true,easing:"ease-out",before:{"backface-visibility":"hidden"},after:{"backface-visibility":null}},outAnimation:{type:"flip",half:true,easing:"ease-in",before:{"backface-visibility":"hidden"},after:{"backface-visibility":null},out:true}},updateDuration:function(d){var c=d/2,b=this.getInAnimation(),a=this.getOutAnimation();b.setDelay(c);b.setDuration(c);a.setDuration(c)}});Ext.define("Ext.fx.layout.card.Pop",{extend:"Ext.fx.layout.card.Style",alias:"fx.layout.card.pop",config:{duration:500,inAnimation:{type:"pop",easing:"ease-out"},outAnimation:{type:"pop",easing:"ease-in",out:true}},updateDuration:function(d){var c=d/2,b=this.getInAnimation(),a=this.getOutAnimation();b.setDelay(c);b.setDuration(c);a.setDuration(c)}});Ext.define("Ext.fx.layout.card.Reveal",{extend:"Ext.fx.layout.card.Style",alias:"fx.layout.card.reveal",config:{inAnimation:{easing:"ease-out",from:{opacity:0.99},to:{opacity:1}},outAnimation:{before:{"z-index":100},after:{"z-index":0},type:"slide",easing:"ease-out",out:true}},updateReverse:function(a){this.getInAnimation().setReverse(a);this.getOutAnimation().setReverse(a)}});Ext.define("Ext.fx.layout.card.Slide",{extend:"Ext.fx.layout.card.Style",alias:"fx.layout.card.slide",config:{inAnimation:{type:"slide",easing:"ease-out"},outAnimation:{type:"slide",easing:"ease-out",out:true}},updateReverse:function(a){this.getInAnimation().setReverse(a);this.getOutAnimation().setReverse(a)}});Ext.define("Ext.fx.layout.Card",{requires:["Ext.fx.layout.card.Slide","Ext.fx.layout.card.Cover","Ext.fx.layout.card.Reveal","Ext.fx.layout.card.Fade","Ext.fx.layout.card.Flip","Ext.fx.layout.card.Pop","Ext.fx.layout.card.Scroll"],constructor:function(b){var a=Ext.fx.layout.card.Abstract,c;if(!b){return null}if(typeof b=="string"){c=b;b={}}else{if(b.type){c=b.type}}b.elementBox=false;if(c){if(Ext.os.is.Android2){if(c!="fade"){c="scroll"}}else{if(c==="slide"&&Ext.browser.is.ChromeMobile){c="scroll"}}a=Ext.ClassManager.getByAlias("fx.layout.card."+c)}return Ext.factory(b,a)}});Ext.define("Ext.fx.runner.Css",{extend:"Ext.Evented",requires:["Ext.fx.Animation"],prefixedProperties:{transform:true,"transform-origin":true,perspective:true,"transform-style":true,transition:true,"transition-property":true,"transition-duration":true,"transition-timing-function":true,"transition-delay":true,animation:true,"animation-name":true,"animation-duration":true,"animation-iteration-count":true,"animation-direction":true,"animation-timing-function":true,"animation-delay":true},lengthProperties:{top:true,right:true,bottom:true,left:true,width:true,height:true,"max-height":true,"max-width":true,"min-height":true,"min-width":true,"margin-bottom":true,"margin-left":true,"margin-right":true,"margin-top":true,"padding-bottom":true,"padding-left":true,"padding-right":true,"padding-top":true,"border-bottom-width":true,"border-left-width":true,"border-right-width":true,"border-spacing":true,"border-top-width":true,"border-width":true,"outline-width":true,"letter-spacing":true,"line-height":true,"text-indent":true,"word-spacing":true,"font-size":true,translate:true,translateX:true,translateY:true,translateZ:true,translate3d:true},durationProperties:{"transition-duration":true,"transition-delay":true,"animation-duration":true,"animation-delay":true},angleProperties:{rotate:true,rotateX:true,rotateY:true,rotateZ:true,skew:true,skewX:true,skewY:true},lengthUnitRegex:/([a-z%]*)$/,DEFAULT_UNIT_LENGTH:"px",DEFAULT_UNIT_ANGLE:"deg",DEFAULT_UNIT_DURATION:"ms",formattedNameCache:{},constructor:function(){var a=Ext.feature.has.Css3dTransforms;if(a){this.transformMethods=["translateX","translateY","translateZ","rotate","rotateX","rotateY","rotateZ","skewX","skewY","scaleX","scaleY","scaleZ"]}else{this.transformMethods=["translateX","translateY","rotate","skewX","skewY","scaleX","scaleY"]}this.vendorPrefix=Ext.browser.getStyleDashPrefix();this.ruleStylesCache={};return this},getStyleSheet:function(){var c=this.styleSheet,a,b;if(!c){a=document.createElement("style");a.type="text/css";(document.head||document.getElementsByTagName("head")[0]).appendChild(a);b=document.styleSheets;this.styleSheet=c=b[b.length-1]}return c},applyRules:function(i){var g=this.getStyleSheet(),k=this.ruleStylesCache,j=g.cssRules,c,e,h,b,d,a,f;for(c in i){e=i[c];h=k[c];if(h===undefined){d=j.length;g.insertRule(c+"{}",d);h=k[c]=j.item(d).style}b=h.$cache;if(!b){b=h.$cache={}}for(a in e){f=this.formatValue(e[a],a);a=this.formatName(a);if(b[a]!==f){b[a]=f;if(f===null){h.removeProperty(a)}else{h.setProperty(a,f,"important")}}}}return this},applyStyles:function(d){var g,c,f,b,a,e;for(g in d){c=document.getElementById(g);if(!c){return this}f=c.style;b=d[g];for(a in b){e=this.formatValue(b[a],a);a=this.formatName(a);if(e===null){f.removeProperty(a)}else{f.setProperty(a,e,"important")}}}return this},formatName:function(b){var a=this.formattedNameCache,c=a[b];if(!c){if(this.prefixedProperties[b]){c=this.vendorPrefix+b}else{c=b}a[b]=c}return c},formatValue:function(j,b){var g=typeof j,l=this.DEFAULT_UNIT_LENGTH,e,a,d,f,c,k,h;if(g=="string"){if(this.lengthProperties[b]){h=j.match(this.lengthUnitRegex)[1];if(h.length>0){}else{return j+l}}return j}else{if(g=="number"){if(j==0){return"0"}if(this.lengthProperties[b]){return j+l}if(this.angleProperties[b]){return j+this.DEFAULT_UNIT_ANGLE}if(this.durationProperties[b]){return j+this.DEFAULT_UNIT_DURATION}}else{if(b==="transform"){e=this.transformMethods;c=[];for(d=0,f=e.length;d0)?k.join(", "):"none"}}}}return j}});Ext.define("Ext.fx.runner.CssTransition",{extend:"Ext.fx.runner.Css",listenersAttached:false,constructor:function(){this.runningAnimationsData={};return this.callParent(arguments)},attachListeners:function(){this.listenersAttached=true;this.getEventDispatcher().addListener("element","*","transitionend","onTransitionEnd",this)},onTransitionEnd:function(b){var a=b.target,c=a.id;if(c&&this.runningAnimationsData.hasOwnProperty(c)){this.refreshRunningAnimationsData(Ext.get(a),[b.browserEvent.propertyName])}},onAnimationEnd:function(g,f,d,j,n){var c=g.getId(),k=this.runningAnimationsData[c],o={},m={},b,h,e,l,a;d.un("stop","onAnimationStop",this);if(k){b=k.nameMap}o[c]=m;if(f.onBeforeEnd){f.onBeforeEnd.call(f.scope||this,g,j)}d.fireEvent("animationbeforeend",d,g,j);this.fireEvent("animationbeforeend",this,d,g,j);if(n||(!j&&!f.preserveEndState)){h=f.toPropertyNames;for(e=0,l=h.length;e0},refreshRunningAnimationsData:function(d,k,t,p){var g=d.getId(),q=this.runningAnimationsData,a=q[g];if(!a){return}var m=a.nameMap,s=a.nameList,b=a.sessions,f,h,e,u,l,c,r,o,n=false;t=Boolean(t);p=Boolean(p);if(!b){return this}f=b.length;if(f===0){return this}if(p){a.nameMap={};s.length=0;for(l=0;l");d.close();this.testElement=c=d.createElement("div");c.style.setProperty("position","absolute","!important");d.body.appendChild(c);this.testElementComputedStyle=window.getComputedStyle(c)}return c},getCssStyleValue:function(b,e){var d=this.getTestElement(),a=this.testElementComputedStyle,c=d.style;c.setProperty(b,e);e=a.getPropertyValue(b);c.removeProperty(b);return e},run:function(p){var F=this,h=this.lengthProperties,x={},E={},G={},d,s,y,e,u,I,v,q,r,a,A,z,o,B,l,t,g,C,H,k,f,w,n,c,D,b,m;if(!this.listenersAttached){this.attachListeners()}p=Ext.Array.from(p);for(A=0,o=p.length;A0){this.refreshRunningAnimationsData(d,Ext.Array.merge(I,v),true,G.replacePrevious)}c=a.nameMap;D=a.nameList;t={};for(z=0;z0){I=Ext.Array.difference(D,I);v=Ext.Array.merge(I,v);y["transition-property"]=I}E[s]=e=Ext.Object.chain(e);e["transition-property"]=v;e["transition-duration"]=G.duration;e["transition-timing-function"]=G.easing;e["transition-delay"]=G.delay;B.startTime=Date.now()}r=this.$className;this.applyStyles(x);q=function(i){if(i.data===r&&i.source===window){window.removeEventListener("message",q,false);F.applyStyles(E)}};window.addEventListener("message",q,false);window.postMessage(r,"*")},onAnimationStop:function(d){var f=this.runningAnimationsData,h,a,g,b,c,e;for(h in f){if(f.hasOwnProperty(h)){a=f[h];g=a.sessions;for(b=0,c=g.length;b component"})},reapply:function(){this.container.innerElement.addCls(this.cls);this.updatePack(this.getPack());this.updateAlign(this.getAlign())},unapply:function(){this.container.innerElement.removeCls(this.cls);this.updatePack(null);this.updateAlign(null)},doItemAdd:function(d,b){this.callParent(arguments);if(d.isInnerItem()){var c=d.getConfig(this.sizePropertyName),a=d.config;if(!c&&("flex" in a)){this.setItemFlex(d,a.flex)}}},doItemRemove:function(a){if(a.isInnerItem()){this.setItemFlex(a,null)}this.callParent(arguments)},onItemSizeChange:function(a){this.setItemFlex(a,null)},doItemCenteredChange:function(b,a){if(a){this.setItemFlex(b,null)}this.callParent(arguments)},doItemFloatingChange:function(a,b){if(b){this.setItemFlex(a,null)}this.callParent(arguments)},doItemDockedChange:function(a,b){if(b){this.setItemFlex(a,null)}this.callParent(arguments)},redrawContainer:function(){var a=this.container,b=a.renderElement.dom.parentNode;if(b&&b.nodeType!==11){a.innerElement.redraw()}},setItemFlex:function(c,a){var b=c.element,d=this.flexItemCls;if(a){b.addCls(d)}else{if(b.hasCls(d)){this.redrawContainer();b.removeCls(d)}}b.dom.style.webkitBoxFlex=a},convertPosition:function(a){if(this.positionMap.hasOwnProperty(a)){return this.positionMap[a]}return a},applyAlign:function(a){return this.convertPosition(a)},updateAlign:function(a){this.container.innerElement.dom.style.webkitBoxAlign=a},applyPack:function(a){return this.convertPosition(a)},updatePack:function(a){this.container.innerElement.dom.style.webkitBoxPack=a}});Ext.define("Ext.layout.Fit",{extend:"Ext.layout.Default",alternateClassName:"Ext.layout.FitLayout",alias:"layout.fit",cls:Ext.baseCSSPrefix+"layout-fit",itemCls:Ext.baseCSSPrefix+"layout-fit-item",constructor:function(a){this.callParent(arguments);this.apply()},apply:function(){this.container.innerElement.addCls(this.cls)},reapply:function(){this.apply()},unapply:function(){this.container.innerElement.removeCls(this.cls)},doItemAdd:function(b,a){if(b.isInnerItem()){b.addCls(this.itemCls)}this.callParent(arguments)},doItemRemove:function(a){if(a.isInnerItem()){a.removeCls(this.itemCls)}this.callParent(arguments)}});Ext.define("Ext.layout.Card",{extend:"Ext.layout.Fit",alternateClassName:"Ext.layout.CardLayout",isCard:true,requires:["Ext.fx.layout.Card"],alias:"layout.card",cls:Ext.baseCSSPrefix+"layout-card",itemCls:Ext.baseCSSPrefix+"layout-card-item",constructor:function(){this.callParent(arguments);this.container.onInitialized(this.onContainerInitialized,this)},applyAnimation:function(a){return new Ext.fx.layout.Card(a)},updateAnimation:function(b,a){if(b&&b.isAnimation){b.setLayout(this)}if(a){a.destroy()}},doItemAdd:function(b,a){if(b.isInnerItem()){b.hide()}this.callParent(arguments)},getInnerItemsContainer:function(){var a=this.innerItemsContainer;if(!a){this.innerItemsContainer=a=Ext.Element.create({className:this.cls+"-container"});this.container.innerElement.append(a)}return a},doItemRemove:function(c,a,b){this.callParent(arguments);if(!b&&c.isInnerItem()){c.show()}},onContainerInitialized:function(a){var b=a.getActiveItem();if(b){b.show()}a.on("activeitemchange","onContainerActiveItemChange",this)},onContainerActiveItemChange:function(a){this.relayEvent(arguments,"doActiveItemChange")},doActiveItemChange:function(b,c,a){if(a){a.hide()}if(c){c.show()}},doItemDockedChange:function(b,c){var a=b.element;if(c){a.removeCls(this.itemCls)}else{a.addCls(this.itemCls)}this.callParent(arguments)}});Ext.define("Ext.layout.HBox",{extend:"Ext.layout.AbstractBox",alternateClassName:"Ext.layout.HBoxLayout",alias:"layout.hbox",sizePropertyName:"width",sizeChangeEventName:"widthchange",cls:Ext.baseCSSPrefix+"layout-hbox"});Ext.define("Ext.layout.VBox",{extend:"Ext.layout.AbstractBox",alternateClassName:"Ext.layout.VBoxLayout",alias:"layout.vbox",sizePropertyName:"height",sizeChangeEventName:"heightchange",cls:Ext.baseCSSPrefix+"layout-vbox"});Ext.define("Ext.layout.Layout",{requires:["Ext.layout.Fit","Ext.layout.Card","Ext.layout.HBox","Ext.layout.VBox"],constructor:function(a,b){var c=Ext.layout.Default,d,e;if(typeof b=="string"){d=b;b={}}else{if("type" in b){d=b.type}}if(d){c=Ext.ClassManager.getByAlias("layout."+d)}return new c(a,b)}});Ext.define("Ext.mixin.Sortable",{extend:"Ext.mixin.Mixin",requires:["Ext.util.Sorter"],mixinConfig:{id:"sortable"},config:{sorters:null,defaultSortDirection:"ASC",sortRoot:null},dirtySortFn:false,sortFn:null,sorted:false,applySorters:function(a,b){if(!b){b=this.createSortersCollection()}b.clear();this.sorted=false;if(a){this.addSorters(a)}return b},createSortersCollection:function(){this._sorters=Ext.create("Ext.util.Collection",function(a){return a.getId()});return this._sorters},addSorter:function(b,a){this.addSorters([b],a)},addSorters:function(c,a){var b=this.getSorters();return this.insertSorters(b?b.length:0,c,a)},insertSorter:function(a,c,b){return this.insertSorters(a,[c],b)},insertSorters:function(e,h,a){if(!Ext.isArray(h)){h=[h]}var f=h.length,j=a||this.getDefaultSortDirection(),c=this.getSortRoot(),k=this.getSorters(),l=[],g,b,m,d;if(!k){k=this.createSortersCollection()}for(b=0;b>1;f=d(e,b[c]);if(f>=0){h=c+1}else{if(f<0){a=c-1}}}return h}});Ext.define("Ext.util.AbstractMixedCollection",{requires:["Ext.util.Filter"],mixins:{observable:"Ext.mixin.Observable"},constructor:function(b,a){var c=this;c.items=[];c.map={};c.keys=[];c.length=0;c.allowFunctions=b===true;if(a){c.getKey=a}c.mixins.observable.constructor.call(c)},allowFunctions:false,add:function(b,e){var d=this,f=e,c=b,a;if(arguments.length==1){f=c;c=d.getKey(f)}if(typeof c!="undefined"&&c!==null){a=d.map[c];if(typeof a!="undefined"){return d.replace(c,f)}d.map[c]=f}d.length++;d.items.push(f);d.keys.push(c);d.fireEvent("add",d.length-1,f,c);return f},getKey:function(a){return a.id},replace:function(c,e){var d=this,a,b;if(arguments.length==1){e=arguments[0];c=d.getKey(e)}a=d.map[c];if(typeof c=="undefined"||c===null||typeof a=="undefined"){return d.add(c,e)}b=d.indexOfKey(c);d.items[b]=e;d.map[c]=e;d.fireEvent("replace",c,a,e);return e},addAll:function(f){var e=this,d=0,b,a,c;if(arguments.length>1||Ext.isArray(f)){b=arguments.length>1?arguments:f;for(a=b.length;d=d.length){return d.add(c,f)}d.length++;Ext.Array.splice(d.items,a,0,f);if(typeof c!="undefined"&&c!==null){d.map[c]=f}Ext.Array.splice(d.keys,a,0,c);d.fireEvent("add",a,f,c);return f},remove:function(a){return this.removeAt(this.indexOf(a))},removeAll:function(a){Ext.each(a||[],function(b){this.remove(b)},this);return this},removeAt:function(a){var c=this,d,b;if(a=0){c.length--;d=c.items[a];Ext.Array.erase(c.items,a,1);b=c.keys[a];if(typeof b!="undefined"){delete c.map[b]}Ext.Array.erase(c.keys,a,1);c.fireEvent("remove",d,b);return d}return false},removeAtKey:function(a){return this.removeAt(this.indexOfKey(a))},getCount:function(){return this.length},indexOf:function(a){return Ext.Array.indexOf(this.items,a)},indexOfKey:function(a){return Ext.Array.indexOf(this.keys,a)},get:function(b){var d=this,a=d.map[b],c=a!==undefined?a:(typeof b=="number")?d.items[b]:undefined;return typeof c!="function"||d.allowFunctions?c:null},getAt:function(a){return this.items[a]},getByKey:function(a){return this.map[a]},contains:function(a){return Ext.Array.contains(this.items,a)},containsKey:function(a){return typeof this.map[a]!="undefined"},clear:function(){var a=this;a.length=0;a.items=[];a.keys=[];a.map={};a.fireEvent("clear")},first:function(){return this.items[0]},last:function(){return this.items[this.length-1]},sum:function(g,b,h,a){var c=this.extractValues(g,b),f=c.length,e=0,d;h=h||0;a=(a||a===0)?a:f-1;for(d=h;d<=a;d++){e+=c[d]}return e},collect:function(j,e,g){var k=this.extractValues(j,e),a=k.length,b={},c=[],h,f,d;for(d=0;d=a;d--){b[b.length]=c[d]}}return b},filter:function(d,c,f,a){var b=[],e;if(Ext.isString(d)){b.push(Ext.create("Ext.util.Filter",{property:d,value:c,anyMatch:f,caseSensitive:a}))}else{if(Ext.isArray(d)||d instanceof Ext.util.Filter){b=b.concat(d)}}e=function(g){var m=true,n=b.length,h;for(h=0;h=e.length||(a&&e.getAutoSort())){return e.add(d,f)}if(typeof d!="undefined"&&d!==null){if(typeof g[d]!="undefined"){e.replace(d,f);return false}g[d]=f}this.all.push(f);if(b&&this.getAutoFilter()&&this.mixins.filterable.isFiltered.call(e,f)){return null}e.length++;Ext.Array.splice(e.items,c,0,f);Ext.Array.splice(e.keys,c,0,d);e.dirtyIndices=true;return f},insertAll:function(g,d){if(g>=this.items.length||(this.sorted&&this.getAutoSort())){return this.addAll(d)}var s=this,h=this.filtered,a=this.sorted,b=this.all,m=this.items,l=this.keys,r=this.map,n=this.getAutoFilter(),o=this.getAutoSort(),t=[],j=[],f=[],c=this.mixins.filterable,e=false,k,u,p,q;if(a&&this.getAutoSort()){}if(Ext.isObject(d)){for(u in d){if(d.hasOwnProperty(u)){j.push(m[u]);t.push(u)}}}else{j=d;k=d.length;for(p=0;p=0){e=a[b];c=f[b];if(typeof c!="undefined"){delete g.map[c]}Ext.Array.erase(a,b,1);Ext.Array.erase(f,b,1);Ext.Array.remove(d,e);delete g.indices[c];g.length--;this.dirtyIndices=true;return e}return false},removeAtKey:function(a){return this.removeAt(this.indexOfKey(a))},getCount:function(){return this.length},indexOf:function(b){if(this.dirtyIndices){this.updateIndices()}var a=this.indices[this.getKey(b)];return(a===undefined)?-1:a},indexOfKey:function(b){if(this.dirtyIndices){this.updateIndices()}var a=this.indices[b];return(a===undefined)?-1:a},updateIndices:function(){var a=this.items,e=a.length,f=this.indices={},c,d,b;for(c=0;c=a;d--){b[b.length]=c[d]}}return b},findIndexBy:function(d,c,h){var g=this,f=g.keys,a=g.items,b=h||0,e=a.length;for(;b1){for(c=a.length;ba){if(d){var e=c.substr(0,a-2),b=Math.max(e.lastIndexOf(" "),e.lastIndexOf("."),e.lastIndexOf("!"),e.lastIndexOf("?"));if(b!=-1&&b>=(a-15)){return e.substr(0,b)+"..."}}return c.substr(0,a-3)+"..."}return c},escapeRegex:function(a){return a.replace(Ext.util.Format.escapeRegexRe,"\\$1")},escape:function(a){return a.replace(Ext.util.Format.escapeRe,"\\$1")},toggle:function(b,c,a){return b==c?a:c},trim:function(a){return a.replace(Ext.util.Format.trimRe,"")},leftPad:function(d,b,c){var a=String(d);c=c||" ";while(a.length/g,">").replace(/").replace(/</g,"<").replace(/"/g,'"').replace(/&/g,"&")},date:function(b,c){var a=b;if(!b){return""}if(!Ext.isDate(b)){a=new Date(Date.parse(b));if(isNaN(a)){if(this.iso8601TestRe.test(b)){a=b.split(this.iso8601SplitRe);a=new Date(a[0],a[1]-1,a[2],a[3],a[4],a[5])}if(isNaN(a)){a=new Date(Date.parse(b.replace(this.dashesRe,"/")))}}b=a}return Ext.Date.format(b,c||Ext.util.Format.defaultDateFormat)}});Ext.define("Ext.Template",{requires:["Ext.dom.Helper","Ext.util.Format"],inheritableStatics:{from:function(b,a){b=Ext.getDom(b);return new this(b.value||b.innerHTML,a||"")}},constructor:function(d){var f=this,b=arguments,a=[],c=0,e=b.length,g;f.initialConfig={};if(e>1){for(;cf)?1:((ba?1:(d0},isExpandable:function(){var a=this;if(a.get("expandable")){return !(a.isLeaf()||(a.isLoaded()&&!a.hasChildNodes()))}return false},appendChild:function(b,j,h){var f=this,c,e,d,g,a;if(Ext.isArray(b)){for(c=0,e=b.length;c0){Ext.Array.sort(d,f);for(c=0;cMath.max(c,b)||jMath.max(a,q)||eMath.max(p,n)||eMath.max(k,h)){return null}return new Ext.util.Point(j,e)},toString:function(){return this.point1.toString()+" "+this.point2.toString()}});Ext.define("Ext.util.SizeMonitor",{extend:"Ext.Evented",config:{element:null,detectorCls:Ext.baseCSSPrefix+"size-change-detector",callback:Ext.emptyFn,scope:null,args:[]},constructor:function(d){this.initConfig(d);this.doFireSizeChangeEvent=Ext.Function.bind(this.doFireSizeChangeEvent,this);var g=this,e=this.getElement().dom,b=this.getDetectorCls(),c=Ext.Element.create({classList:[b,b+"-expand"],children:[{}]},true),h=Ext.Element.create({classList:[b,b+"-shrink"],children:[{}]},true),a=function(i){g.onDetectorScroll("expand",i)},f=function(i){g.onDetectorScroll("shrink",i)};e.appendChild(c);e.appendChild(h);this.detectors={expand:c,shrink:h};this.position={expand:{left:0,top:0},shrink:{left:0,top:0}};this.listeners={expand:a,shrink:f};this.refresh();c.addEventListener("scroll",a,true);h.addEventListener("scroll",f,true)},applyElement:function(a){if(a){return Ext.get(a)}},updateElement:function(a){a.on("destroy","destroy",this)},refreshPosition:function(b){var e=this.detectors[b],a=this.position[b],d,c;a.left=d=e.scrollWidth-e.offsetWidth;a.top=c=e.scrollHeight-e.offsetHeight;e.scrollLeft=d;e.scrollTop=c},refresh:function(){this.refreshPosition("expand");this.refreshPosition("shrink")},onDetectorScroll:function(b){var c=this.detectors[b],a=this.position[b];if(c.scrollLeft!==a.left||c.scrollTop!==a.top){this.refresh();this.fireSizeChangeEvent()}},fireSizeChangeEvent:function(){clearTimeout(this.sizeChangeThrottleTimer);this.sizeChangeThrottleTimer=setTimeout(this.doFireSizeChangeEvent,1)},doFireSizeChangeEvent:function(){this.getCallback().apply(this.getScope(),this.getArgs())},destroyDetector:function(a){var c=this.detectors[a],b=this.listeners[a];c.removeEventListener("scroll",b,true);Ext.removeNode(c)},destroy:function(){this.callParent(arguments);this.destroyDetector("expand");this.destroyDetector("shrink");delete this.listeners;delete this.detectors}});Ext.define("Ext.event.publisher.ComponentSize",{extend:"Ext.event.publisher.Publisher",requires:["Ext.ComponentManager","Ext.util.SizeMonitor"],targetType:"component",handledEvents:["resize"],constructor:function(){this.callParent(arguments);this.sizeMonitors={}},subscribe:function(g){var c=g.match(this.idSelectorRegex),f=this.subscribers,a=this.sizeMonitors,d=this.dispatcher,e=this.targetType,b;if(!c){return false}if(!f.hasOwnProperty(g)){f[g]=0;d.addListener(e,g,"painted","onComponentPainted",this,null,"before");b=Ext.ComponentManager.get(c[1]);a[g]=new Ext.util.SizeMonitor({element:b.element,callback:this.onComponentSizeChange,scope:this,args:[this,g]})}f[g]++;return true},unsubscribe:function(h,b,e){var c=h.match(this.idSelectorRegex),g=this.subscribers,d=this.dispatcher,f=this.targetType,a=this.sizeMonitors;if(!c){return false}if(!g.hasOwnProperty(h)||(!e&&--g[h]>0)){return true}a[h].destroy();delete a[h];d.removeListener(f,h,"painted","onComponentPainted",this,"before");delete g[h];return true},onComponentPainted:function(b){var c=b.getObservableId(),a=this.sizeMonitors[c];a.refresh()},onComponentSizeChange:function(a,b){this.dispatcher.doDispatchEvent(this.targetType,b,"resize",[a])}});Ext.define("Ext.util.Sortable",{isSortable:true,defaultSortDirection:"ASC",requires:["Ext.util.Sorter"],initSortable:function(){var a=this,b=a.sorters;a.sorters=Ext.create("Ext.util.AbstractMixedCollection",false,function(c){return c.id||c.property});if(b){a.sorters.addAll(a.decodeSorters(b))}},sort:function(g,f,c,e){var d=this,h,b,a;if(Ext.isArray(g)){e=c;c=f;a=g}else{if(Ext.isObject(g)){e=c;c=f;a=[g]}else{if(Ext.isString(g)){h=d.sorters.get(g);if(!h){h={property:g,direction:f};a=[h]}else{if(f===undefined){h.toggle()}else{h.setDirection(f)}}}}}if(a&&a.length){a=d.decodeSorters(a);if(Ext.isString(c)){if(c==="prepend"){g=d.sorters.clone().items;d.sorters.clear();d.sorters.addAll(a);d.sorters.addAll(g)}else{d.sorters.addAll(a)}}else{d.sorters.clear();d.sorters.addAll(a)}if(e!==false){d.onBeforeSort(a)}}if(e!==false){g=d.sorters.items;if(g.length){b=function(l,k){var j=g[0].sort(l,k),n=g.length,m;for(m=1;me?1:(f0){g=f.data.items;r=g.length;for(k=0;k0){b.create=e;f=true}if(c.length>0){b.update=c;f=true}if(a.length>0){b.destroy=a;f=true}if(f&&d.fireEvent("beforesync",this,b)!==false){d.getProxy().batch({operations:b,listeners:d.getBatchListeners()})}return{added:e,updated:c,removed:a}},first:function(){return this.data.first()},last:function(){return this.data.last()},sum:function(e){var d=0,c=0,b=this.data.items,a=b.length;for(;c0){c=b[0].get(f)}for(;d0){a=c[0].get(f)}for(;da){a=e}}return a},average:function(e){var c=0,b=this.data.items,a=b.length,d=0;if(b.length>0){for(;ce){return 1}else{if(fa.data.index)?1:-1},applyFilters:function(b){var a=this;return function(c){return a.isVisible(c)}},applyProxy:function(a){},applyNode:function(a){if(a){a=Ext.data.NodeInterface.decorate(a)}return a},updateNode:function(a,c){if(c&&!c.isDestroyed){c.un({append:"onNodeAppend",insert:"onNodeInsert",remove:"onNodeRemove",load:"onNodeLoad",scope:this});c.unjoin(this)}if(a){a.on({scope:this,append:"onNodeAppend",insert:"onNodeInsert",remove:"onNodeRemove",load:"onNodeLoad"});a.join(this);var b=[];if(a.childNodes.length){b=b.concat(this.retrieveChildNodes(a))}if(this.getRootVisible()){b.push(a)}else{if(a.isLoaded()||a.isLoading()){a.set("expanded",true)}}this.data.clear();this.fireEvent("clear",this);this.suspendEvents();this.add(b);this.resumeEvents();this.fireEvent("refresh",this,this.data)}},retrieveChildNodes:function(a){var d=this.getNode(),b=this.getRecursive(),c=[],e=a;if(!a.childNodes.length||(!b&&a!==d)){return c}if(!b){return a.childNodes}while(e){if(e._added){delete e._added;if(e===a){break}else{e=e.nextSibling||e.parentNode}}else{if(e!==a){c.push(e)}if(e.firstChild){e._added=true;e=e.firstChild}else{e=e.nextSibling||e.parentNode}}}return c},isVisible:function(b){var a=b.parentNode;if(!this.getRecursive()&&a!==this.getNode()){return false}while(a){if(!a.isExpanded()){return false}if(a===this.getNode()){break}a=a.parentNode}return true}});Ext.define("Ext.data.TreeStore",{extend:"Ext.data.NodeStore",alias:"store.tree",config:{root:undefined,clearOnLoad:true,nodeParam:"node",defaultRootId:"root",defaultRootProperty:"children",recursive:true},applyProxy:function(){return Ext.data.Store.prototype.applyProxy.apply(this,arguments)},applyRoot:function(a){var b=this;a=a||{};a=Ext.apply({},a);if(!a.isModel){Ext.applyIf(a,{id:b.getStoreId()+"-"+b.getDefaultRootId(),text:"Root",allowDrag:false});a=Ext.data.ModelManager.create(a,b.getModel())}Ext.data.NodeInterface.decorate(a);a.set(a.raw);return a},handleTreeInsertionIndex:function(a,b,d,c){if(b.parentNode){b.parentNode.sort(d.getSortFn(),true,true)}return this.callParent(arguments)},handleTreeSort:function(a,b){if(this._sorting){return a}this._sorting=true;this.getNode().sort(b.getSortFn(),true,true);delete this._sorting;return this.callParent(arguments)},updateRoot:function(a,b){if(b){b.unBefore({expand:"onNodeBeforeExpand",scope:this});b.unjoin(this)}a.onBefore({expand:"onNodeBeforeExpand",scope:this});this.onNodeAppend(null,a);this.setNode(a);if(!a.isLoaded()&&!a.isLoading()&&a.isExpanded()){this.load({node:a})}this.fireEvent("rootchange",this,a,b)},getNodeById:function(a){return this.data.getByKey(a)},onNodeBeforeExpand:function(b,a,c){if(b.isLoading()){c.pause();this.on("load",function(){c.resume()},this,{single:true})}else{if(!b.isLoaded()){c.pause();this.load({node:b,callback:function(){c.resume()}})}}},onNodeAppend:function(n,c){var l=this.getProxy(),j=l.getReader(),b=this.getModel(),g=c.raw,d=[],a=j.getRootProperty(),m,h,f,k,e;if(!c.isLeaf()){m=j.getRoot(g);if(m){h=j.extractData(m);for(f=0,k=h.length;f0){this.sendRequest(b==1?a[0]:a);this.callBuffer=[]}}});Ext.define("Ext.util.TapRepeater",{requires:["Ext.DateExtras"],mixins:{observable:"Ext.mixin.Observable"},config:{el:null,accelerate:true,interval:10,delay:250,preventDefault:true,stopDefault:false,timer:0,pressCls:null},constructor:function(a){var b=this;b.initConfig(a)},updateEl:function(c,b){var a={touchstart:"onTouchStart",touchend:"onTouchEnd",tap:"eventOptions",scope:this};if(b){b.un(a)}c.on(a)},eventOptions:function(a){if(this.getPreventDefault()){a.preventDefault()}if(this.getStopDefault()){a.stopEvent()}},destroy:function(){this.clearListeners();Ext.destroy(this.el)},onTouchStart:function(c){var b=this,a=b.getPressCls();clearTimeout(b.getTimer());if(a){b.getEl().addCls(a)}b.tapStartTime=new Date();b.fireEvent("touchstart",b,c);b.fireEvent("tap",b,c);if(b.getAccelerate()){b.delay=400}b.setTimer(Ext.defer(b.tap,b.getDelay()||b.getInterval(),b,[c]))},tap:function(b){var a=this;a.fireEvent("tap",a,b);a.setTimer(Ext.defer(a.tap,a.getAccelerate()?a.easeOutExpo(Ext.Date.getElapsed(a.tapStartTime),400,-390,12000):a.getInterval(),a,[b]))},easeOutExpo:function(e,a,g,f){return(e==f)?a+g:g*(-Math.pow(2,-10*e/f)+1)+a},onTouchEnd:function(b){var a=this;clearTimeout(a.getTimer());a.getEl().removeCls(a.getPressCls());a.fireEvent("touchend",a,b)}});Ext.define("Ext.util.translatable.Abstract",{extend:"Ext.Evented",requires:["Ext.fx.easing.Linear"],config:{element:null,easing:null,easingX:null,easingY:null,fps:60},constructor:function(a){var b;this.doAnimationFrame=Ext.Function.bind(this.doAnimationFrame,this);this.x=0;this.y=0;this.activeEasingX=null;this.activeEasingY=null;this.initialConfig=a;if(a&&a.element){b=a.element;this.setElement(b)}},applyElement:function(a){if(!a){return}return Ext.get(a)},updateElement:function(a){this.initConfig(this.initialConfig);this.refresh()},factoryEasing:function(a){return Ext.factory(a,Ext.fx.easing.Linear,null,"easing")},applyEasing:function(a){if(!this.getEasingX()){this.setEasingX(this.factoryEasing(a))}if(!this.getEasingY()){this.setEasingY(this.factoryEasing(a))}},applyEasingX:function(a){return this.factoryEasing(a)},applyEasingY:function(a){return this.factoryEasing(a)},updateFps:function(a){this.animationInterval=1000/a},doTranslate:function(a,b){if(typeof a=="number"){this.x=a}if(typeof b=="number"){this.y=b}return this},translate:function(a,c,b){if(!this.getElement().dom){return}if(Ext.isObject(a)){throw new Error()}this.stopAnimation();if(b){return this.translateAnimated(a,c,b)}return this.doTranslate(a,c)},animate:function(b,a){this.activeEasingX=b;this.activeEasingY=a;this.isAnimating=true;this.animationTimer=setInterval(this.doAnimationFrame,this.animationInterval);this.fireEvent("animationstart",this,this.x,this.y);return this},translateAnimated:function(b,g,e){if(Ext.isObject(b)){throw new Error()}if(!Ext.isObject(e)){e={}}var d=Ext.Date.now(),f=e.easing,c=(typeof b=="number")?(e.easingX||this.getEasingX()||f||true):null,a=(typeof g=="number")?(e.easingY||this.getEasingY()||f||true):null;if(c){c=this.factoryEasing(c);c.setStartTime(d);c.setStartValue(this.x);c.setEndValue(b);if("duration" in e){c.setDuration(e.duration)}}if(a){a=this.factoryEasing(a);a.setStartTime(d);a.setStartValue(this.y);a.setEndValue(g);if("duration" in e){a.setDuration(e.duration)}}return this.animate(c,a)},doAnimationFrame:function(){var c=this.activeEasingX,b=this.activeEasingY,d=this.getElement(),a,e;if(!this.isAnimating||!d.dom){return}if(c===null&&b===null){this.stopAnimation();return}if(c!==null){this.x=a=Math.round(c.getValue());if(c.isEnded){this.activeEasingX=null;this.fireEvent("axisanimationend",this,"x",a)}}else{a=this.x}if(b!==null){this.y=e=Math.round(b.getValue());if(b.isEnded){this.activeEasingY=null;this.fireEvent("axisanimationend",this,"y",e)}}else{e=this.y}this.doTranslate(a,e);this.fireEvent("animationframe",this,a,e)},stopAnimation:function(){if(!this.isAnimating){return}this.activeEasingX=null;this.activeEasingY=null;this.isAnimating=false;clearInterval(this.animationTimer);this.fireEvent("animationend",this,this.x,this.y)},refresh:function(){this.translate(this.x,this.y)}});Ext.define("Ext.util.translatable.CssTransform",{extend:"Ext.util.translatable.Abstract",doTranslate:function(a,c){var b=this.getElement().dom.style;if(typeof a!="number"){a=this.x}if(typeof c!="number"){c=this.y}b.webkitTransform="translate3d("+a+"px, "+c+"px, 0px)";return this.callParent(arguments)},destroy:function(){var a=this.getElement();if(a&&!a.isDestroyed){a.dom.style.webkitTransform=null}this.callParent(arguments)}});Ext.define("Ext.util.translatable.ScrollPosition",{extend:"Ext.util.translatable.Abstract",wrapperWidth:0,wrapperHeight:0,baseCls:"x-translatable",config:{useWrapper:true},getWrapper:function(){var e=this.wrapper,c=this.baseCls,b=this.getElement(),d,a;if(!e){a=b.getParent();if(!a){return null}if(this.getUseWrapper()){e=b.wrap({className:c+"-wrapper"},true)}else{e=a.dom}e.appendChild(Ext.Element.create({className:c+"-stretcher"},true));this.nestedStretcher=d=Ext.Element.create({className:c+"-nested-stretcher"},true);b.appendChild(d);b.addCls(c);a.addCls(c+"-container");this.container=a;this.wrapper=e;this.refresh()}return e},doTranslate:function(a,c){var b=this.getWrapper();if(b){if(typeof a=="number"){b.scrollLeft=this.wrapperWidth-a}if(typeof c=="number"){b.scrollTop=this.wrapperHeight-c}}return this.callParent(arguments)},refresh:function(){var a=this.getWrapper();if(a){this.wrapperWidth=a.offsetWidth;this.wrapperHeight=a.offsetHeight;this.callParent(arguments)}},destroy:function(){var b=this.getElement(),a=this.baseCls;if(this.wrapper){if(this.getUseWrapper()){b.unwrap()}this.container.removeCls(a+"-container");b.removeCls(a);b.removeChild(this.nestedStretcher)}this.callParent(arguments)}});Ext.define("Ext.util.Translatable",{requires:["Ext.util.translatable.CssTransform","Ext.util.translatable.ScrollPosition"],constructor:function(a){var c=Ext.util.translatable,e=c.CssTransform,d=c.ScrollPosition,b;if(typeof a=="object"&&"translationMethod" in a){if(a.translationMethod==="scrollposition"){b=d}else{if(a.translationMethod==="csstransform"){b=e}}}if(!b){if(Ext.os.is.Android2||Ext.browser.is.ChromeMobile){b=d}else{b=e}}return new b(a)}});Ext.define("Ext.behavior.Translatable",{extend:"Ext.behavior.Behavior",requires:["Ext.util.Translatable"],constructor:function(){this.listeners={painted:"onComponentPainted",scope:this};this.callParent(arguments)},onComponentPainted:function(){this.translatable.refresh()},setConfig:function(c){var a=this.translatable,b=this.component;if(c){if(!a){this.translatable=a=new Ext.util.Translatable(c);a.setElement(b.renderElement);a.on("destroy","onTranslatableDestroy",this);if(b.isPainted()){this.onComponentPainted(b)}b.on(this.listeners)}else{if(Ext.isObject(c)){a.setConfig(c)}}}else{if(a){a.destroy()}}return this},getTranslatable:function(){return this.translatable},onTranslatableDestroy:function(){var a=this.component;delete this.translatable;a.un(this.listeners)},onComponentDestroy:function(){var a=this.translatable;if(a){a.destroy()}}});Ext.define("Ext.scroll.Scroller",{extend:"Ext.Evented",requires:["Ext.fx.easing.BoundMomentum","Ext.fx.easing.EaseOut","Ext.util.SizeMonitor","Ext.util.Translatable"],config:{element:null,direction:"auto",translationMethod:"auto",fps:"auto",disabled:null,directionLock:false,momentumEasing:{momentum:{acceleration:30,friction:0.5},bounce:{acceleration:30,springTension:0.3},minVelocity:1},bounceEasing:{duration:400},outOfBoundRestrictFactor:0.5,startMomentumResetTime:300,maxAbsoluteVelocity:6,containerSize:"auto",containerScrollSize:"auto",size:"auto",autoRefresh:true,initialOffset:{x:0,y:0},slotSnapSize:{x:0,y:0},slotSnapOffset:{x:0,y:0},slotSnapEasing:{duration:150}},cls:Ext.baseCSSPrefix+"scroll-scroller",containerCls:Ext.baseCSSPrefix+"scroll-container",dragStartTime:0,dragEndTime:0,isDragging:false,isAnimating:false,constructor:function(a){var b=a&&a.element;this.doAnimationFrame=Ext.Function.bind(this.doAnimationFrame,this);this.stopAnimation=Ext.Function.bind(this.stopAnimation,this);this.listeners={scope:this,touchstart:"onTouchStart",touchend:"onTouchEnd",dragstart:"onDragStart",drag:"onDrag",dragend:"onDragEnd"};this.minPosition={x:0,y:0};this.startPosition={x:0,y:0};this.size={x:0,y:0};this.position={x:0,y:0};this.velocity={x:0,y:0};this.isAxisEnabledFlags={x:false,y:false};this.flickStartPosition={x:0,y:0};this.flickStartTime={x:0,y:0};this.lastDragPosition={x:0,y:0};this.dragDirection={x:0,y:0};this.initialConfig=a;if(b){this.setElement(b)}return this},applyElement:function(a){if(!a){return}return Ext.get(a)},updateElement:function(a){this.initialize();a.addCls(this.cls);if(!this.getDisabled()){this.attachListeneners()}this.onConfigUpdate(["containerSize","size"],"refreshMaxPosition");this.on("maxpositionchange","snapToBoundary");this.on("minpositionchange","snapToBoundary");return this},getTranslatable:function(){if(!this.hasOwnProperty("translatable")){var a=this.getBounceEasing();this.translatable=new Ext.util.Translatable({translationMethod:this.getTranslationMethod(),element:this.getElement(),easingX:a.x,easingY:a.y,useWrapper:false,listeners:{animationframe:"onAnimationFrame",animationend:"onAnimationEnd",axisanimationend:"onAxisAnimationEnd",scope:this}})}return this.translatable},updateFps:function(a){if(a!=="auto"){this.getTranslatable().setFps(a)}},attachListeneners:function(){this.getContainer().on(this.listeners)},detachListeners:function(){this.getContainer().un(this.listeners)},updateDisabled:function(a){if(a){this.detachListeners()}else{this.attachListeneners()}},updateInitialOffset:function(c){if(typeof c=="number"){c={x:c,y:c}}var b=this.position,a,d;b.x=a=c.x;b.y=d=c.y;this.getTranslatable().doTranslate(-a,-d)},applyDirection:function(a){var e=this.getMinPosition(),d=this.getMaxPosition(),c,b;this.givenDirection=a;if(a==="auto"){c=d.x>e.x;b=d.y>e.y;if(c&&b){a="both"}else{if(c){a="horizontal"}else{a="vertical"}}}return a},updateDirection:function(b){var a=this.isAxisEnabledFlags;a.x=(b==="both"||b==="horizontal");a.y=(b==="both"||b==="vertical")},isAxisEnabled:function(a){this.getDirection();return this.isAxisEnabledFlags[a]},applyMomentumEasing:function(b){var a=Ext.fx.easing.BoundMomentum;return{x:Ext.factory(b,a),y:Ext.factory(b,a)}},applyBounceEasing:function(b){var a=Ext.fx.easing.EaseOut;return{x:Ext.factory(b,a),y:Ext.factory(b,a)}},applySlotSnapEasing:function(b){var a=Ext.fx.easing.EaseOut;return{x:Ext.factory(b,a),y:Ext.factory(b,a)}},getMinPosition:function(){var a=this.minPosition;if(!a){this.minPosition=a={x:0,y:0};this.fireEvent("minpositionchange",this,a)}return a},getMaxPosition:function(){var c=this.maxPosition,a,b;if(!c){a=this.getSize();b=this.getContainerSize();this.maxPosition=c={x:Math.max(0,a.x-b.x),y:Math.max(0,a.y-b.y)};this.fireEvent("maxpositionchange",this,c)}return c},refreshMaxPosition:function(){this.maxPosition=null;this.getMaxPosition()},applyContainerSize:function(b){var c=this.getContainer().dom,a,d;if(!c){return}this.givenContainerSize=b;if(b==="auto"){a=c.offsetWidth;d=c.offsetHeight}else{a=b.x;d=b.y}return{x:a,y:d}},applySize:function(b){var c=this.getElement().dom,a,d;if(!c){return}this.givenSize=b;if(b==="auto"){a=c.offsetWidth;d=c.offsetHeight}else{a=b.x;d=b.y}return{x:a,y:d}},applyContainerScrollSize:function(b){var c=this.getContainer().dom,a,d;if(!c){return}this.givenContainerScrollSize=b;if(b==="auto"){a=c.scrollWidth;d=c.scrollHeight}else{a=b.x;d=b.y}return{x:a,y:d}},updateAutoRefresh:function(b){var c=Ext.util.SizeMonitor,a;if(b){this.sizeMonitors={element:new c({element:this.getElement(),callback:this.doRefresh,scope:this}),container:new c({element:this.getContainer(),callback:this.doRefresh,scope:this})}}else{a=this.sizeMonitors;if(a){a.element.destroy();a.container.destroy()}}},applySlotSnapSize:function(a){if(typeof a=="number"){return{x:a,y:a}}return a},applySlotSnapOffset:function(a){if(typeof a=="number"){return{x:a,y:a}}return a},getContainer:function(){var a=this.container;if(!a){this.container=a=this.getElement().getParent();a.addCls(this.containerCls)}return a},doRefresh:function(){this.stopAnimation();this.getTranslatable().refresh();this.setSize(this.givenSize);this.setContainerSize(this.givenContainerSize);this.setContainerScrollSize(this.givenContainerScrollSize);this.setDirection(this.givenDirection);this.fireEvent("refresh",this)},refresh:function(){var a=this.sizeMonitors;if(a){a.element.refresh();a.container.refresh()}this.doRefresh();return this},scrollTo:function(c,h,g){var b=this.getTranslatable(),a=this.position,d=false,f,e;if(this.isAxisEnabled("x")){if(typeof c!="number"){c=a.x}else{if(a.x!==c){a.x=c;d=true}}f=-c}if(this.isAxisEnabled("y")){if(typeof h!="number"){h=a.y}else{if(a.y!==h){a.y=h;d=true}}e=-h}if(d){if(g!==undefined){b.translateAnimated(f,e,g)}else{this.fireEvent("scroll",this,a.x,a.y);b.doTranslate(f,e)}}return this},scrollToTop:function(b){var a=this.getInitialOffset();return this.scrollTo(a.x,a.y,b)},scrollToEnd:function(a){return this.scrollTo(0,this.getSize().y-this.getContainerSize().y,a)},scrollBy:function(b,d,c){var a=this.position;b=(typeof b=="number")?b+a.x:null;d=(typeof d=="number")?d+a.y:null;return this.scrollTo(b,d,c)},onTouchStart:function(){this.isTouching=true;this.stopAnimation()},onTouchEnd:function(){var a=this.position;this.isTouching=false;if(!this.isDragging&&this.snapToSlot()){this.fireEvent("scrollstart",this,a.x,a.y)}},onDragStart:function(l){var o=this.getDirection(),g=l.absDeltaX,f=l.absDeltaY,j=this.getDirectionLock(),i=this.startPosition,d=this.flickStartPosition,k=this.flickStartTime,h=this.lastDragPosition,c=this.position,b=this.dragDirection,n=c.x,m=c.y,a=Ext.Date.now();this.isDragging=true;if(j&&o!=="both"){if((o==="horizontal"&&g>f)||(o==="vertical"&&f>g)){l.stopPropagation()}else{this.isDragging=false;return}}h.x=n;h.y=m;d.x=n;d.y=m;i.x=n;i.y=m;k.x=a;k.y=a;b.x=0;b.y=0;this.dragStartTime=a;this.isDragging=true;this.fireEvent("scrollstart",this,n,m)},onAxisDrag:function(i,q){if(!this.isAxisEnabled(i)){return}var h=this.flickStartPosition,l=this.flickStartTime,j=this.lastDragPosition,e=this.dragDirection,g=this.position[i],k=this.getMinPosition()[i],o=this.getMaxPosition()[i],d=this.startPosition[i],p=j[i],n=d-q,c=e[i],m=this.getOutOfBoundRestrictFactor(),f=this.getStartMomentumResetTime(),b=Ext.Date.now(),a;if(no){a=n-o;n=o+a*m}}if(n>p){e[i]=1}else{if(nf){h[i]=g;l[i]=b}j[i]=n},onDrag:function(b){if(!this.isDragging){return}var a=this.lastDragPosition;this.onAxisDrag("x",b.deltaX);this.onAxisDrag("y",b.deltaY);this.scrollTo(a.x,a.y)},onDragEnd:function(c){var b,a;if(!this.isDragging){return}this.dragEndTime=Ext.Date.now();this.onDrag(c);this.isDragging=false;b=this.getAnimationEasing("x");a=this.getAnimationEasing("y");if(b||a){this.getTranslatable().animate(b,a)}else{this.onScrollEnd()}},getAnimationEasing:function(g){if(!this.isAxisEnabled(g)){return null}var e=this.position[g],f=this.flickStartPosition[g],k=this.flickStartTime[g],c=this.getMinPosition()[g],j=this.getMaxPosition()[g],a=this.getMaxAbsoluteVelocity(),d=null,b=this.dragEndTime,l,i,h;if(ej){d=j}}if(d!==null){l=this.getBounceEasing()[g];l.setConfig({startTime:b,startValue:-e,endValue:-d});return l}h=b-k;if(h===0){return null}i=(e-f)/(b-k);if(i===0){return null}if(i<-a){i=-a}else{if(i>a){i=a}}l=this.getMomentumEasing()[g];l.setConfig({startTime:b,startValue:-e,startVelocity:-i,minMomentumValue:-j,maxMomentumValue:0});return l},onAnimationFrame:function(c,b,d){var a=this.position;a.x=-b;a.y=-d;this.fireEvent("scroll",this,a.x,a.y)},onAxisAnimationEnd:function(a){},onAnimationEnd:function(){this.snapToBoundary();this.onScrollEnd()},stopAnimation:function(){this.getTranslatable().stopAnimation()},onScrollEnd:function(){var a=this.position;if(this.isTouching||!this.snapToSlot()){this.fireEvent("scrollend",this,a.x,a.y)}},snapToSlot:function(){var b=this.getSnapPosition("x"),a=this.getSnapPosition("y"),c=this.getSlotSnapEasing();if(b!==null||a!==null){this.scrollTo(b,a,{easingX:c.x,easingY:c.y});return true}return false},getSnapPosition:function(c){var g=this.getSlotSnapSize()[c],d=null,a,f,e,b;if(g!==0&&this.isAxisEnabled(c)){a=this.position[c];f=this.getSlotSnapOffset()[c];e=this.getMaxPosition()[c];b=(a-f)%g;if(b!==0){if(Math.abs(b)>g/2){d=a+((b>0)?g-b:b-g);if(d>e){d=a-b}}else{d=a-b}}}return d},snapToBoundary:function(){var g=this.position,c=this.getMinPosition(),f=this.getMaxPosition(),e=c.x,d=c.y,b=f.x,a=f.y,i=Math.round(g.x),h=Math.round(g.y);if(ib){i=b}}if(ha){h=a}}this.scrollTo(i,h)},destroy:function(){var b=this.getElement(),a=this.sizeMonitors;if(a){a.element.destroy();a.container.destroy()}if(b&&!b.isDestroyed){b.removeCls(this.cls);this.getContainer().removeCls(this.containerCls)}Ext.destroy(this.translatable);this.callParent(arguments)}},function(){});Ext.define("Ext.util.Draggable",{isDraggable:true,mixins:["Ext.mixin.Observable"],requires:["Ext.util.SizeMonitor","Ext.util.Translatable"],config:{cls:Ext.baseCSSPrefix+"draggable",draggingCls:Ext.baseCSSPrefix+"dragging",element:null,constraint:"container",disabled:null,direction:"both",initialOffset:{x:0,y:0},translatable:{}},DIRECTION_BOTH:"both",DIRECTION_VERTICAL:"vertical",DIRECTION_HORIZONTAL:"horizontal",defaultConstraint:{min:{x:-Infinity,y:-Infinity},max:{x:Infinity,y:Infinity}},sizeMonitor:null,containerSizeMonitor:null,constructor:function(a){var b;this.extraConstraint={};this.initialConfig=a;this.offset={x:0,y:0};this.listeners={dragstart:"onDragStart",drag:"onDrag",dragend:"onDragEnd",scope:this};if(a&&a.element){b=a.element;delete a.element;this.setElement(b)}return this},applyElement:function(a){if(!a){return}return Ext.get(a)},updateElement:function(a){a.on(this.listeners);this.sizeMonitor=new Ext.util.SizeMonitor({element:a,callback:this.doRefresh,scope:this});this.initConfig(this.initialConfig)},updateInitialOffset:function(b){if(typeof b=="number"){b={x:b,y:b}}var c=this.offset,a,d;c.x=a=b.x;c.y=d=b.y;this.getTranslatable().doTranslate(a,d)},updateCls:function(a){this.getElement().addCls(a)},applyTranslatable:function(a,b){a=Ext.factory(a,Ext.util.Translatable,b);a.setElement(this.getElement());return a},setExtraConstraint:function(a){this.extraConstraint=a||{};this.refreshConstraint();return this},addExtraConstraint:function(a){Ext.merge(this.extraConstraint,a);this.refreshConstraint();return this},applyConstraint:function(a){this.currentConstraint=a;if(!a){a=this.defaultConstraint}if(a==="container"){return Ext.merge(this.getContainerConstraint(),this.extraConstraint)}return Ext.merge({},this.extraConstraint,a)},updateConstraint:function(){this.refreshOffset()},getContainerConstraint:function(){var b=this.getContainer(),c=this.getElement();if(!b||!c.dom){return this.defaultConstraint}var h=c.dom,g=b.dom,d=h.offsetWidth,a=h.offsetHeight,f=g.offsetWidth,e=g.offsetHeight;return{min:{x:0,y:0},max:{x:f-d,y:e-a}}},getContainer:function(){var a=this.container;if(!a){a=this.getElement().getParent();if(a){this.containerSizeMonitor=new Ext.util.SizeMonitor({element:a,callback:this.doRefresh,scope:this});this.container=a;a.on("destroy","onContainerDestroy",this)}}return a},onContainerDestroy:function(){delete this.container;delete this.containerSizeMonitor},detachListeners:function(){this.getElement().un(this.listeners)},isAxisEnabled:function(a){var b=this.getDirection();if(a==="x"){return(b===this.DIRECTION_BOTH||b===this.DIRECTION_HORIZONTAL)}return(b===this.DIRECTION_BOTH||b===this.DIRECTION_VERTICAL)},onDragStart:function(a){if(this.getDisabled()){return false}var b=this.offset;this.fireAction("dragstart",[this,a,b.x,b.y],this.initDragStart)},initDragStart:function(b,c,a,d){this.dragStartOffset={x:a,y:d};this.isDragging=true;this.getElement().addCls(this.getDraggingCls())},onDrag:function(b){if(!this.isDragging){return}var a=this.dragStartOffset;this.fireAction("drag",[this,b,a.x+b.deltaX,a.y+b.deltaY],this.doDrag)},doDrag:function(b,c,a,d){b.setOffset(a,d)},onDragEnd:function(a){if(!this.isDragging){return}this.onDrag(a);this.isDragging=false;this.getElement().removeCls(this.getDraggingCls());this.fireEvent("dragend",this,a,this.offset.x,this.offset.y)},setOffset:function(i,h,b){var f=this.offset,a=this.getConstraint(),e=a.min,c=a.max,d=Math.min,g=Math.max;if(this.isAxisEnabled("x")&&typeof i=="number"){i=d(g(i,e.x),c.x)}else{i=f.x}if(this.isAxisEnabled("y")&&typeof h=="number"){h=d(g(h,e.y),c.y)}else{h=f.y}f.x=i;f.y=h;this.getTranslatable().translate(i,h,b)},getOffset:function(){return this.offset},refreshConstraint:function(){this.setConstraint(this.currentConstraint)},refreshOffset:function(){var a=this.offset;this.setOffset(a.x,a.y)},doRefresh:function(){this.refreshConstraint();this.getTranslatable().refresh();this.refreshOffset()},refresh:function(){if(this.sizeMonitor){this.sizeMonitor.refresh()}if(this.containerSizeMonitor){this.containerSizeMonitor.refresh()}this.doRefresh()},enable:function(){return this.setDisabled(false)},disable:function(){return this.setDisabled(true)},destroy:function(){var a=this.getTranslatable();Ext.destroy(this.containerSizeMonitor,this.sizeMonitor);delete this.sizeMonitor;delete this.containerSizeMonitor;var b=this.getElement();if(b&&!b.isDestroyed){b.removeCls(this.getCls())}this.detachListeners();if(a){a.destroy()}}},function(){});Ext.define("Ext.behavior.Draggable",{extend:"Ext.behavior.Behavior",requires:["Ext.util.Draggable"],constructor:function(){this.listeners={painted:"onComponentPainted",scope:this};this.callParent(arguments)},onComponentPainted:function(){this.draggable.refresh()},setConfig:function(c){var a=this.draggable,b=this.component;if(c){if(!a){b.setTranslatable(true);this.draggable=a=new Ext.util.Draggable(c);a.setTranslatable(b.getTranslatable());a.setElement(b.renderElement);a.on("destroy","onDraggableDestroy",this);if(b.isPainted()){this.onComponentPainted(b)}b.on(this.listeners)}else{if(Ext.isObject(c)){a.setConfig(c)}}}else{if(a){a.destroy()}}return this},getDraggable:function(){return this.draggable},onDraggableDestroy:function(){var a=this.component;delete this.draggable;a.un(this.listeners)},onComponentDestroy:function(){var a=this.draggable;if(a){a.destroy()}}});(function(a){Ext.define("Ext.Component",{extend:"Ext.AbstractComponent",alternateClassName:"Ext.lib.Component",mixins:["Ext.mixin.Traversable"],requires:["Ext.ComponentManager","Ext.XTemplate","Ext.dom.Element","Ext.behavior.Translatable","Ext.behavior.Draggable"],xtype:"component",observableType:"component",cachedConfig:{baseCls:null,cls:null,floatingCls:null,hiddenCls:a+"item-hidden",ui:null,margin:null,padding:null,border:null,styleHtmlCls:a+"html",styleHtmlContent:null},eventedConfig:{left:null,top:null,right:null,bottom:null,width:null,height:null,minWidth:null,minHeight:null,maxWidth:null,maxHeight:null,docked:null,centered:null,hidden:null,disabled:null},config:{style:null,html:null,draggable:null,translatable:null,renderTo:null,zIndex:null,tpl:null,enterAnimation:null,exitAnimation:null,showAnimation:null,hideAnimation:null,tplWriteMode:"overwrite",data:null,disabledCls:a+"item-disabled",contentEl:null,itemId:undefined,record:null,plugins:null},listenerOptionsRegex:/^(?:delegate|single|delay|buffer|args|prepend|element)$/,alignmentRegex:/^([a-z]+)-([a-z]+)(\?)?$/,isComponent:true,floating:false,rendered:false,dockPositions:{top:true,right:true,bottom:true,left:true},innerElement:null,element:null,template:[],constructor:function(c){var d=this,b=d.config,e;d.onInitializedListeners=[];d.initialConfig=c;if(c!==undefined&&"id" in c){e=c.id}else{if("id" in b){e=b.id}else{e=d.getId()}}d.id=e;d.setId(e);Ext.ComponentManager.register(d);d.initElement();d.initConfig(d.initialConfig);d.initialize();d.triggerInitialized();if(d.config.fullscreen){d.fireEvent("fullscreen",d)}d.fireEvent("initialize",d)},beforeInitConfig:function(b){this.beforeInitialize.apply(this,arguments)},beforeInitialize:Ext.emptyFn,initialize:Ext.emptyFn,getTemplate:function(){return this.template},getElementConfig:function(){return{reference:"element",children:this.getTemplate()}},triggerInitialized:function(){var c=this.onInitializedListeners,d=c.length,e,b;if(!this.initialized){this.initialized=true;if(d>0){for(b=0;b0){c.pressedTimeout=setTimeout(function(){delete c.pressedTimeout;if(a){a.addCls(b)}},d)}else{a.addCls(b)}}},onRelease:function(a){this.fireAction("release",[this,a],"doRelease")},doRelease:function(a,b){if(!a.getDisabled()){if(a.hasOwnProperty("pressedTimeout")){clearTimeout(a.pressedTimeout);delete a.pressedTimeout}else{a.element.removeCls(a.getPressedCls())}}},onTap:function(a){if(this.getDisabled()){return false}this.fireAction("tap",[this,a],"doTap")},doTap:function(c,d){var b=c.getHandler(),a=c.getScope()||c;if(!b){return}if(typeof b=="string"){b=a[b]}d.preventDefault();b.apply(a,arguments)}},function(){});Ext.define("Ext.Decorator",{extend:"Ext.Component",isDecorator:true,config:{component:{}},statics:{generateProxySetter:function(a){return function(c){var b=this.getComponent();b[a].call(b,c);return this}},generateProxyGetter:function(a){return function(){var b=this.getComponent();return b[a].call(b)}}},onClassExtended:function(c,e){if(!e.hasOwnProperty("proxyConfig")){return}var f=Ext.Class,i=e.proxyConfig,d=e.config;e.config=(d)?Ext.applyIf(d,i):i;var b,h,g,a;for(b in i){if(i.hasOwnProperty(b)){h=f.getConfigNameMap(b);g=h.set;a=h.get;e[g]=this.generateProxySetter(g);e[a]=this.generateProxyGetter(a)}}},applyComponent:function(a){return Ext.factory(a,Ext.Component)},updateComponent:function(a,b){if(b){if(this.isRendered()&&b.setRendered(false)){b.fireAction("renderedchange",[this,b,false],"doUnsetComponent",this,{args:[b]})}else{this.doUnsetComponent(b)}}if(a){if(this.isRendered()&&a.setRendered(true)){a.fireAction("renderedchange",[this,a,true],"doSetComponent",this,{args:[a]})}else{this.doSetComponent(a)}}},doUnsetComponent:function(a){if(a.renderElement.dom){this.innerElement.dom.removeChild(a.renderElement.dom)}},doSetComponent:function(a){if(a.renderElement.dom){this.innerElement.dom.appendChild(a.renderElement.dom)}},setRendered:function(b){var a;if(this.callParent(arguments)){a=this.getComponent();if(a){a.setRendered(b)}return true}return false},setDisabled:function(a){this.callParent(arguments);this.getComponent().setDisabled(a)},destroy:function(){Ext.destroy(this.getComponent());this.callParent()}});Ext.define("Ext.Img",{extend:"Ext.Component",xtype:["image","img"],config:{src:null,baseCls:Ext.baseCSSPrefix+"img",mode:"background"},beforeInitialize:function(){var a=this;a.onLoad=Ext.Function.bind(a.onLoad,a);a.onError=Ext.Function.bind(a.onError,a)},initialize:function(){var a=this;a.callParent();a.relayEvents(a.renderElement,"*");a.element.on({tap:"onTap",scope:a})},hide:function(){this.callParent();this.hiddenSrc=this.hiddenSrc||this.getSrc();this.setSrc(null)},show:function(){this.callParent();if(this.hiddenSrc){this.setSrc(this.hiddenSrc);delete this.hiddenSrc}},updateMode:function(a){if(a==="background"){if(this.imageElement){this.imageElement.destroy();delete this.imageElement;this.updateSrc(this.getSrc())}}else{this.imageElement=this.element.createChild({tag:"img"})}},onTap:function(a){this.fireEvent("tap",this,a)},onAfterRender:function(){this.updateSrc(this.getSrc())},updateSrc:function(a){var b=this,c;if(b.getMode()==="background"){c=this.imageObject||new Image()}else{c=b.imageElement.dom}this.imageObject=c;c.setAttribute("src",Ext.isString(a)?a:"");c.addEventListener("load",b.onLoad,false);c.addEventListener("error",b.onError,false)},detachListeners:function(){var a=this.imageObject;if(a){a.removeEventListener("load",this.onLoad,false);a.removeEventListener("error",this.onError,false)}},onLoad:function(a){this.detachListeners();if(this.getMode()==="background"){this.element.dom.style.backgroundImage='url("'+this.imageObject.src+'")'}this.fireEvent("load",this,a)},onError:function(a){this.detachListeners();this.fireEvent("error",this,a)},doSetWidth:function(b){var a=(this.getMode()==="background")?this.element:this.imageElement;a.setWidth(b);this.callParent(arguments)},doSetHeight:function(b){var a=(this.getMode()==="background")?this.element:this.imageElement;a.setHeight(b);this.callParent(arguments)},destroy:function(){this.detachListeners();Ext.destroy(this.imageObject);delete this.imageObject;this.callParent()}});Ext.define("Ext.Label",{extend:"Ext.Component",xtype:"label",config:{}});Ext.define("Ext.Map",{extend:"Ext.Component",xtype:"map",requires:["Ext.util.Geolocation"],isMap:true,config:{baseCls:Ext.baseCSSPrefix+"map",useCurrentLocation:false,map:null,geo:null,mapOptions:{}},constructor:function(){this.callParent(arguments);this.element.setVisibilityMode(Ext.Element.OFFSETS);if(!(window.google||{}).maps){this.setHtml("Google Maps API is required")}},initialize:function(){this.callParent();this.on({painted:"doResize",scope:this});this.element.on("touchstart","onTouchStart",this)},onTouchStart:function(a){a.makeUnpreventable()},applyMapOptions:function(a){return Ext.merge({},this.options,a)},updateMapOptions:function(d){var a=this,c=(window.google||{}).maps,b=this.getMap();if(c&&b){b.setOptions(d)}if(d.center&&!a.isPainted()){a.un("painted","setMapCenter",this);a.on("painted","setMapCenter",this,{delay:150,single:true,args:[d.center]})}},getMapOptions:function(){return Ext.merge({},this.options||this.getInitialConfig("mapOptions"))},updateUseCurrentLocation:function(a){this.setGeo(a);if(!a){this.renderMap()}},applyGeo:function(a){return Ext.factory(a,Ext.util.Geolocation,this.getGeo())},updateGeo:function(b,a){var c={locationupdate:"onGeoUpdate",locationerror:"onGeoError",scope:this};if(a){a.un(c)}if(b){b.on(c);b.updateLocation()}},doResize:function(){var b=(window.google||{}).maps,a=this.getMap();if(b&&a){b.event.trigger(a,"resize")}},renderMap:function(){var d=this,f=(window.google||{}).maps,b=d.element,a=d.getMapOptions(),e=d.getMap(),c;if(f){if(Ext.os.is.iPad){Ext.merge({navigationControlOptions:{style:f.NavigationControlStyle.ZOOM_PAN}},a)}a=Ext.merge({zoom:12,mapTypeId:f.MapTypeId.ROADMAP},a);if(!a.hasOwnProperty("center")){a.center=new f.LatLng(37.381592,-122.135672)}if(b.dom.firstChild){Ext.fly(b.dom.firstChild).destroy()}if(e){f.event.clearInstanceListeners(e)}d.setMap(new f.Map(b.dom,a));e=d.getMap();c=f.event;c.addListener(e,"zoom_changed",Ext.bind(d.onZoomChange,d));c.addListener(e,"maptypeid_changed",Ext.bind(d.onTypeChange,d));c.addListener(e,"center_changed",Ext.bind(d.onCenterChange,d));d.fireEvent("maprender",d,e)}},onGeoUpdate:function(a){if(a){this.setMapCenter(new google.maps.LatLng(a.getLatitude(),a.getLongitude()))}},onGeoError:Ext.emptyFn,setMapCenter:function(d){var a=this,c=a.getMap(),b=(window.google||{}).maps;if(b){if(!a.isPainted()){a.un("painted","setMapCenter",this);a.on("painted","setMapCenter",this,{delay:150,single:true,args:[d]});return}d=d||new b.LatLng(37.381592,-122.135672);if(d&&!(d instanceof b.LatLng)&&"longitude" in d){d=new b.LatLng(d.latitude,d.longitude)}if(!c){a.renderMap();c=a.getMap()}if(c&&d instanceof b.LatLng){c.panTo(d)}else{this.options=Ext.apply(this.getMapOptions(),{center:d})}}},onZoomChange:function(){var a=this.getMapOptions(),c=this.getMap(),b;b=(c&&c.getZoom)?c.getZoom():a.zoom||10;this.options=Ext.apply(a,{zoom:b});this.fireEvent("zoomchange",this,c,b)},onTypeChange:function(){var b=this.getMapOptions(),c=this.getMap(),a;a=(c&&c.getMapTypeId)?c.getMapTypeId():b.mapTypeId;this.options=Ext.apply(b,{mapTypeId:a});this.fireEvent("typechange",this,c,a)},onCenterChange:function(){var b=this.getMapOptions(),c=this.getMap(),a;a=(c&&c.getCenter)?c.getCenter():b.center;this.options=Ext.apply(b,{center:a});this.fireEvent("centerchange",this,c,a)},destroy:function(){Ext.destroy(this.getGeo());var a=this.getMap();if(a&&(window.google||{}).maps){google.maps.event.clearInstanceListeners(a)}this.callParent()}},function(){});Ext.define("Ext.Mask",{extend:"Ext.Component",xtype:"mask",config:{baseCls:Ext.baseCSSPrefix+"mask",transparent:false,top:0,left:0,right:0,bottom:0},initialize:function(){this.callParent();this.on({painted:"onPainted",erased:"onErased"})},onPainted:function(){this.element.on("*","onEvent",this)},onErased:function(){this.element.un("*","onEvent",this)},onEvent:function(b){var a=arguments[arguments.length-1];if(a.info.eventName==="tap"){this.fireEvent("tap",this,b);return false}if(b&&b.stopEvent){b.stopEvent()}return false},updateTransparent:function(a){this[a?"addCls":"removeCls"](this.getBaseCls()+"-transparent")}});Ext.define("Ext.LoadMask",{extend:"Ext.Mask",xtype:"loadmask",config:{message:"Loading...",messageCls:Ext.baseCSSPrefix+"mask-message",indicator:true,listeners:{painted:"onPainted",erased:"onErased"}},getTemplate:function(){var a=Ext.baseCSSPrefix;return[{reference:"innerElement",cls:a+"mask-inner",children:[{reference:"indicatorElement",cls:a+"loading-spinner-outer",children:[{cls:a+"loading-spinner",children:[{tag:"span",cls:a+"loading-top"},{tag:"span",cls:a+"loading-right"},{tag:"span",cls:a+"loading-bottom"},{tag:"span",cls:a+"loading-left"}]}]},{reference:"messageElement"}]}]},updateMessage:function(a){this.messageElement.setHtml(a)},updateMessageCls:function(b,a){this.messageElement.replaceCls(a,b)},updateIndicator:function(a){this[a?"removeCls":"addCls"](Ext.baseCSSPrefix+"indicator-hidden")},onPainted:function(){this.getParent().on({scope:this,resize:this.refreshPosition});this.refreshPosition()},onErased:function(){this.getParent().un({scope:this,resize:this.refreshPosition})},refreshPosition:function(){var c=this.getParent(),d=c.getScrollable(),a=(d)?d.getScroller():null,f=(a)?a.position:{x:0,y:0},e=c.element.getSize(),b=this.element.getSize();this.innerElement.setStyle({marginTop:Math.round(e.height-b.height+(f.y*2))+"px",marginLeft:Math.round(e.width-b.width+f.x)+"px"})}},function(){});Ext.define("Ext.Media",{extend:"Ext.Component",xtype:"media",config:{url:"",enableControls:Ext.os.is.Android?false:true,autoResume:false,autoPause:true,preload:true,loop:false,media:null,volume:1,muted:false},initialize:function(){var a=this;a.callParent();a.on({scope:a,activate:a.onActivate,deactivate:a.onDeactivate});a.addMediaListener({canplay:"onCanPlay",play:"onPlay",pause:"onPause",ended:"onEnd",volumechange:"onVolumeChange",timeupdate:"onTimeUpdate"})},addMediaListener:function(d,b){var c=this,e=c.media.dom,f=Ext.Function.bind;if(!Ext.isObject(d)){var a=d;d={};d[a]=b}Ext.Object.each(d,function(h,g){if(typeof g!=="function"){g=c[g]}if(typeof g=="function"){g=f(g,c);e.addEventListener(h,g)}})},onPlay:function(){this.fireEvent("play",this)},onCanPlay:function(){this.fireEvent("canplay",this)},onPause:function(){this.fireEvent("pause",this,this.getCurrentTime())},onEnd:function(){this.fireEvent("ended",this,this.getCurrentTime())},onVolumeChange:function(){this.fireEvent("volumechange",this,this.media.dom.volume)},onTimeUpdate:function(){this.fireEvent("timeupdate",this,this.getCurrentTime())},isPlaying:function(){return !Boolean(this.media.dom.paused)},onActivate:function(){var a=this;if(a.getAutoResume()&&!a.isPlaying()){a.play()}},onDeactivate:function(){var a=this;if(a.getAutoResume()&&a.isPlaying()){a.pause()}},updateUrl:function(a){var b=this.media.dom;b.src=a;if("load" in b){b.load()}if(this.isPlaying()){this.play()}},updateEnableControls:function(a){this.media.dom.controls=a?"controls":false},updateLoop:function(a){this.media.dom.loop=a?"loop":false},play:function(){var a=this.media.dom;if("play" in a){a.play();setTimeout(function(){a.play()},10)}},pause:function(){var a=this.media.dom;if("pause" in a){a.pause()}},toggle:function(){if(this.isPlaying()){this.pause()}else{this.play()}},stop:function(){var a=this;a.setCurrentTime(0);a.fireEvent("stop",a);a.pause()},updateVolume:function(a){this.media.dom.volume=a},updateMuted:function(a){this.fireEvent("mutedchange",this,a);this.media.dom.muted=a},getCurrentTime:function(){return this.media.dom.currentTime},setCurrentTime:function(a){this.media.dom.currentTime=a;return a},getDuration:function(){return this.media.dom.duration},destroy:function(){var a=this;Ext.Object.each(event,function(c,b){if(typeof b!=="function"){b=a[b]}if(typeof b=="function"){b=bind(b,a);dom.removeEventListener(c,b)}})}});Ext.define("Ext.Audio",{extend:"Ext.Media",xtype:"audio",config:{cls:Ext.baseCSSPrefix+"audio"},onActivate:function(){var a=this;a.callParent();if(Ext.os.is.Phone){a.element.show()}},onDeactivate:function(){var a=this;a.callParent();if(Ext.os.is.Phone){a.element.hide()}},template:[{reference:"media",preload:"auto",tag:"audio",cls:Ext.baseCSSPrefix+"component"}]});Ext.define("Ext.Spacer",{extend:"Ext.Component",alias:"widget.spacer",config:{},constructor:function(a){a=a||{};if(!a.width){a.flex=1}this.callParent([a])}});Ext.define("Ext.Title",{extend:"Ext.Component",xtype:"title",config:{baseCls:"x-title",title:""},updateTitle:function(a){this.setHtml(a)}});Ext.define("Ext.Video",{extend:"Ext.Media",xtype:"video",config:{posterUrl:null,cls:Ext.baseCSSPrefix+"video"},template:[{reference:"ghost",classList:[Ext.baseCSSPrefix+"video-ghost"]},{tag:"video",reference:"media",classList:[Ext.baseCSSPrefix+"media"]}],initialize:function(){var a=this;a.callParent();a.media.hide();a.onBefore({erased:"onErased",scope:a});a.ghost.on({tap:"onGhostTap",scope:a});a.media.on({pause:"onPause",scope:a});if(Ext.os.is.Android4||Ext.os.is.iPad){this.isInlineVideo=true}},applyUrl:function(a){return[].concat(a)},updateUrl:function(f){var c=this,e=c.media,g=f.length,d=e.query("source"),b=d.length,a;for(a=0;a0){a.pop().destroy()}},setActiveIndex:function(b){var e=this.indicators,d=this.activeIndex,a=e[d],f=e[b],c=this.getBaseCls();if(a){a.removeCls(c,null,"active")}if(f){f.addCls(c,null,"active")}this.activeIndex=b;return this},onTap:function(f){var g=f.touch,a=this.element.getPageBox(),d=a.left+(a.width/2),b=a.top+(a.height/2),c=this.getDirection();if((c==="horizontal"&&g.pageX>=d)||(c==="vertical"&&g.pageY>=b)){this.fireEvent("next",this)}else{this.fireEvent("previous",this)}},destroy:function(){var d=this.indicators,b,c,a;for(b=0,c=d.length;bd.bottom||a.yd.right||a.x div",scope:this})},initialize:function(){this.callParent();this.doInitialize()},updateBaseCls:function(a,b){var c=this;c.callParent([a+"-container",b])},onItemTouchStart:function(d){var b=this,c=d.getTarget(),a=b.getViewItems().indexOf(c);Ext.get(c).on({touchmove:"onItemTouchMove",scope:b,single:true});b.fireEvent("itemtouchstart",b,Ext.get(c),a,d)},onItemTouchEnd:function(d){var b=this,c=d.getTarget(),a=b.getViewItems().indexOf(c);Ext.get(c).un({touchmove:"onItemTouchMove",scope:b});b.fireEvent("itemtouchend",b,Ext.get(c),a,d)},onItemTouchMove:function(d){var b=this,c=d.getTarget(),a=b.getViewItems().indexOf(c);b.fireEvent("itemtouchmove",b,Ext.get(c),a,d)},onItemTap:function(d){var b=this,c=d.getTarget(),a=b.getViewItems().indexOf(c);b.fireEvent("itemtap",b,Ext.get(c),a,d)},onItemTapHold:function(d){var b=this,c=d.getTarget(),a=b.getViewItems().indexOf(c);b.fireEvent("itemtaphold",b,Ext.get(c),a,d)},onItemDoubleTap:function(d){var b=this,c=d.getTarget(),a=b.getViewItems().indexOf(c);b.fireEvent("itemdoubletap",b,Ext.get(c),a,d)},onItemSingleTap:function(d){var b=this,c=d.getTarget(),a=b.getViewItems().indexOf(c);b.fireEvent("itemsingletap",b,Ext.get(c),a,d)},onItemSwipe:function(d){var b=this,c=d.getTarget(),a=b.getViewItems().indexOf(c);b.fireEvent("itemswipe",b,Ext.get(c),a,d)},updateListItem:function(b,d){var c=this,a=c.dataview,e=a.prepareData(b.getData(true),a.getStore().indexOf(b),b);d.innerHTML=c.dataview.getItemTpl().apply(e)},addListItem:function(e,c){var h=this,d=h.dataview,a=d.prepareData(c.getData(true),d.getStore().indexOf(c),c),b=h.element,i=b.dom.childNodes,g=i.length,f;f=Ext.Element.create(this.getItemElementConfig(e,a));if(!g||e==g){f.appendTo(b)}else{f.insertBefore(i[e])}},getItemElementConfig:function(c,e){var b=this.dataview,d=b.getItemCls(),a=b.getBaseCls()+"-item";if(d){a+=" "+d}return{cls:a,html:b.getItemTpl().apply(e)}},doRemoveItemCls:function(a){var d=this.getViewItems(),c=d.length,b=0;for(;b=0;b--){c=a[f+b];c.parentNode.removeChild(c)}if(d.getViewItems().length==0){this.dataview.showEmptyText()}},moveItemsFromCache:function(d){var g=this,b=g.dataview,c=b.getStore(),f=d.length,e,a;if(f){b.hideEmptyText()}for(e=0;eh._tmpIndex?1:-1});for(e=0;e(?:[\s]*)|(?:\s*))([\w\-]+)$/i,handledEvents:["*"],getSubscribers:function(b,a){var d=this.subscribers,c=d[b];if(!c&&a){c=d[b]={type:{$length:0},selector:[],$length:0}}return c},subscribe:function(g,f){if(this.idSelectorRegex.test(g)){return false}var e=g.match(this.optimizedSelectorRegex),a=this.getSubscribers(f,true),k=a.type,c=a.selector,d,i,j,b,h;if(e!==null){d=e[1];i=e[2].indexOf(">")===-1;j=e[3];b=k[j];if(!b){k[j]=b={descendents:{$length:0},children:{$length:0},$length:0}}h=i?b.descendents:b.children;if(h.hasOwnProperty(d)){h[d]++;return true}h[d]=1;h.$length++;b.$length++;k.$length++}else{if(c.hasOwnProperty(g)){c[g]++;return true}c[g]=1;c.push(g)}a.$length++;return true},unsubscribe:function(g,f,k){var a=this.getSubscribers(f);if(!a){return false}var e=g.match(this.optimizedSelectorRegex),l=a.type,c=a.selector,d,i,j,b,h;k=Boolean(k);if(e!==null){d=e[1];i=e[2].indexOf(">")===-1;j=e[3];b=l[j];if(!b){return true}h=i?b.descendents:b.children;if(!h.hasOwnProperty(d)||(!k&&--h[d]>0)){return true}delete h[d];h.$length--;b.$length--;l.$length--}else{if(!c.hasOwnProperty(g)||(!k&&--c[g]>0)){return true}delete c[g];Ext.Array.remove(c,g)}if(--a.$length===0){delete this.subscribers[f]}return true},notify:function(d,a){var c=this.getSubscribers(a),e,b;if(!c||c.$length===0){return false}e=d.substr(1);b=Ext.ComponentManager.get(e);if(b){this.dispatcher.doAddListener(this.targetType,d,a,"publish",this,{args:[a,b]},"before")}},matchesSelector:function(b,a){return Ext.ComponentQuery.is(b,a)},dispatch:function(d,b,c,a){this.dispatcher.doDispatchEvent(this.targetType,d,b,c,null,a)},publish:function(g,k){var e=this.getSubscribers(g);if(!e){return}var p=arguments[arguments.length-1],o=e.type,b=e.selector,d=Array.prototype.slice.call(arguments,2,-2),l=k.xtypesChain,s,n,t,a,m,v,r,u,h,f,q,c;for(u=0,h=l.length;u0){s=e.descendents;if(s.$length>0){if(!a){a=k.getAncestorIds()}for(q=0,c=a.length;q0){if(!t){if(a){t=a[0]}else{v=k.getParent();if(v){t=v.getId()}}}if(t){if(n.hasOwnProperty(t)){this.dispatch("#"+t+" > "+f,g,d,p)}}}}}h=b.length;if(h>0){for(u=0;uf){d=e}}c.setValue(d);d=c.getValue();c.fireEvent("spin",c,d,g);c.fireEvent("spin"+g,c,d)},doSetDisabled:function(a){Ext.Component.prototype.doSetDisabled.apply(this,arguments)},setDisabled:function(){Ext.Component.prototype.setDisabled.apply(this,arguments)},reset:function(){this.setValue(this.getDefaultValue())},destroy:function(){var a=this;Ext.destroy(a.downRepeater,a.upRepeater,a.spinDownButton,a.spinUpButton);a.callParent(arguments)}},function(){});Ext.define("Ext.field.TextAreaInput",{extend:"Ext.field.Input",xtype:"textareainput",tag:"textarea"});Ext.define("Ext.field.TextArea",{extend:"Ext.field.Text",xtype:"textareafield",requires:["Ext.field.TextAreaInput"],alternateClassName:"Ext.form.TextArea",config:{ui:"textarea",autoCapitalize:false,component:{xtype:"textareainput"},maxRows:null},updateMaxRows:function(a){this.getComponent().setMaxRows(a)},doSetHeight:function(a){this.callParent(arguments);var b=this.getComponent();b.input.setHeight(a)},doSetWidth:function(b){this.callParent(arguments);var a=this.getComponent();a.input.setWidth(b)},doKeyUp:function(a){var b=a.getValue();a[b?"showClearIcon":"hideClearIcon"]()}});Ext.define("Ext.field.Url",{extend:"Ext.field.Text",xtype:"urlfield",alternateClassName:"Ext.form.Url",config:{autoCapitalize:false,component:{type:"url"}}});Ext.define("Ext.plugin.ListPaging",{extend:"Ext.Component",alias:"plugin.listpaging",config:{autoPaging:false,loadMoreText:"Load More...",noMoreRecordsText:"No More Records",loadTpl:['
','','','','',"
",'
{message}
'].join(""),loadMoreCmp:{xtype:"component",baseCls:Ext.baseCSSPrefix+"list-paging"},loadMoreCmpAdded:false,loadingCls:Ext.baseCSSPrefix+"loading",list:null,scroller:null,loading:false},init:function(c){var a=c.getScrollable().getScroller(),b=c.getStore();this.setList(c);this.setScroller(a);this.bindStore(c.getStore());if(b){this.disableDataViewMask(b)}c.updateStore=Ext.Function.createInterceptor(c.updateStore,this.bindStore,this);if(this.getAutoPaging()){a.on({scrollend:this.onScrollEnd,scope:this})}},bindStore:function(a,b){if(b){b.un({load:this.onStoreLoad,beforeload:this.onStoreBeforeLoad,scope:this})}if(a){a.on({load:this.onStoreLoad,beforeload:this.onStoreBeforeLoad,scope:this})}},disableDataViewMask:function(a){var b=this.getList();if(a.isAutoLoading()){b.setLoadingText(null)}else{a.on({load:{single:true,fn:function(){b.setLoadingText(null)}}})}},applyLoadTpl:function(a){return(Ext.isObject(a)&&a.isTemplate)?a:new Ext.XTemplate(a)},applyLoadMoreCmp:function(a){a=Ext.merge(a,{html:this.getLoadTpl().apply({cssPrefix:Ext.baseCSSPrefix,message:this.getLoadMoreText()}),listeners:{tap:{fn:this.loadNextPage,scope:this,element:"element"}}});return Ext.factory(a,Ext.Component,this.getLoadMoreCmp())},onScrollEnd:function(b,a,c){if(!this.getLoading()&&c>=b.maxPosition.y){this.loadNextPage()}},updateLoading:function(a){var b=this.getLoadMoreCmp(),c=this.getLoadingCls();if(a){b.addCls(c)}else{b.removeCls(c)}},onStoreBeforeLoad:function(a){if(a.getCount()===0){this.getLoadMoreCmp().hide()}},onStoreLoad:function(a){var d=this.addLoadMoreCmp(),b=this.getLoadTpl(),c=this.storeFullyLoaded()?this.getNoMoreRecordsText():this.getLoadMoreText();this.getLoadMoreCmp().show();this.setLoading(false);if(this.scrollY){this.getScroller().scrollTo(null,this.scrollY);delete this.scrollY}d.setHtml(b.apply({cssPrefix:Ext.baseCSSPrefix,message:c}))},addLoadMoreCmp:function(){var b=this.getList(),a=this.getLoadMoreCmp();if(!this.getLoadMoreCmpAdded()){b.add(a);b.fireEvent("loadmorecmpadded",this,b);this.setLoadMoreCmpAdded(true)}return a},storeFullyLoaded:function(){var a=this.getList().getStore(),b=a.getTotalCount();return b!==null?a.getTotalCount()<=(a.currentPage*a.getPageSize()):false},loadNextPage:function(){var a=this;if(!a.storeFullyLoaded()){a.setLoading(true);a.scrollY=a.getScroller().position.y;a.getList().getStore().nextPage({addRecords:true})}}});Ext.define("Ext.plugin.PullRefresh",{extend:"Ext.Component",alias:"plugin.pullrefresh",requires:["Ext.DateExtras"],config:{list:null,pullRefreshText:"Pull down to refresh...",releaseRefreshText:"Release to refresh...",loadingText:"Loading...",snappingAnimationDuration:150,refreshFn:null,pullTpl:['
','
','
','','','','',"
",'
','

{message}

','
Last Updated: {lastUpdated:date("m/d/Y h:iA")}
',"
","
"].join("")},isRefreshing:false,currentViewState:"",initialize:function(){this.callParent();this.on({painted:"onPainted",scope:this})},init:function(f){var d=this,b=f.getStore(),e=d.getPullTpl(),c=d.element,a=f.getScrollable().getScroller();d.setList(f);d.lastUpdated=new Date();f.insert(0,d);if(b){if(b.isAutoLoading()){f.setLoadingText(null)}else{b.on({load:{single:true,fn:function(){f.setLoadingText(null)}}})}}e.overwrite(c,{message:d.getPullRefreshText(),lastUpdated:d.lastUpdated},true);d.loadingElement=c.getFirstChild();d.messageEl=c.down(".x-list-pullrefresh-message");d.updatedEl=c.down(".x-list-pullrefresh-updated > span");d.maxScroller=a.getMaxPosition();a.on({maxpositionchange:d.setMaxScroller,scroll:d.onScrollChange,scope:d})},fetchLatest:function(){var b=this.getList().getStore(),c=b.getProxy(),a;a=Ext.create("Ext.data.Operation",{page:1,start:0,model:b.getModel(),limit:b.getPageSize(),action:"read",filters:b.getRemoteFilter()?b.getFilters():[]});c.read(a,this.onLatestFetched,this)},onLatestFetched:function(d){var j=this.getList().getStore(),b=j.getData(),c=d.getRecords(),a=c.length,g=[],h,f,e;for(e=0;ethis.maxScroller.y){this.onBounceBottom(c)}},applyPullTpl:function(a){return(Ext.isObject(a)&&a.isTemplate)?a:new Ext.XTemplate(a)},onBounceTop:function(d){var b=this,c=b.getList(),a=c.getScrollable().getScroller();if(!b.isReleased){if(!b.isRefreshing&&-d>=b.pullHeight+10){b.isRefreshing=true;b.setViewState("release");a.getContainer().onBefore({dragend:"onScrollerDragEnd",single:true,scope:b})}else{if(b.isRefreshing&&-d=1){a=Math.round((f-1)*b);e=this.applyLength(d-a);a=d-e;this.updateLength(e);g=c+a}else{g=c*f}}this.setOffset(g)},setOffset:function(c){var a=this.getAxis(),b=this.element.dom.style;c=Math.round(c);if(a==="x"){b.webkitTransform="translate3d("+c+"px, 0, 0)"}else{b.webkitTransform="translate3d(0, "+c+"px, 0)"}}});Ext.define("Ext.scroll.indicator.Default",{extend:"Ext.scroll.indicator.Abstract",config:{cls:"default"},setOffset:function(c){var b=this.getAxis(),a=this.element.dom.style;if(b==="x"){a.webkitTransform="translate3d("+c+"px, 0, 0)"}else{a.webkitTransform="translate3d(0, "+c+"px, 0)"}},applyLength:function(a){return Math.round(Math.max(0,a))},updateValue:function(f){var b=this.barLength,c=this.gapLength,d=this.getLength(),e,g,a;if(f<=0){g=0;this.updateLength(this.applyLength(d+f*b))}else{if(f>=1){a=Math.round((f-1)*b);e=this.applyLength(d-a);a=d-e;this.updateLength(e);g=c+a}else{g=c*f}}this.setOffset(g)}});Ext.define("Ext.scroll.indicator.ScrollPosition",{extend:"Ext.scroll.indicator.Abstract",config:{cls:"scrollposition"},getElementConfig:function(){var a=this.callParent(arguments);a.children.unshift({className:"x-scroll-bar-stretcher"});return a},updateValue:function(a){if(this.gapLength===0){if(a>1){a=a-1}this.setOffset(this.barLength*a)}else{this.setOffset(this.gapLength*a)}},setLength:function(e){var c=this.getAxis(),a=this.barLength,d=this.barElement.dom,b=this.element;this.callParent(arguments);if(c==="x"){d.scrollLeft=a;b.setLeft(a)}else{d.scrollTop=a;b.setTop(a)}},setOffset:function(d){var b=this.getAxis(),a=this.barLength,c=this.barElement.dom;d=a-d;if(b==="x"){c.scrollLeft=d}else{c.scrollTop=d}}});Ext.define("Ext.scroll.Indicator",{requires:["Ext.scroll.indicator.Default","Ext.scroll.indicator.ScrollPosition","Ext.scroll.indicator.CssTransform"],alternateClassName:"Ext.util.Indicator",constructor:function(a){if(Ext.os.is.Android2||Ext.browser.is.ChromeMobile){return new Ext.scroll.indicator.ScrollPosition(a)}else{if(Ext.os.is.iOS){return new Ext.scroll.indicator.CssTransform(a)}else{return new Ext.scroll.indicator.Default(a)}}}});Ext.define("Ext.scroll.View",{extend:"Ext.Evented",alternateClassName:"Ext.util.ScrollView",requires:["Ext.scroll.Scroller","Ext.scroll.Indicator"],config:{indicatorsUi:"dark",element:null,scroller:{},indicators:{x:{axis:"x"},y:{axis:"y"}},indicatorsHidingDelay:100,cls:Ext.baseCSSPrefix+"scroll-view"},processConfig:function(c){if(!c){return null}if(typeof c=="string"){c={direction:c}}c=Ext.merge({},c);var a=c.scroller,b;if(!a){c.scroller=a={}}for(b in c){if(c.hasOwnProperty(b)){if(!this.hasConfig(b)){a[b]=c[b];delete c[b]}}}return c},constructor:function(a){a=this.processConfig(a);this.useIndicators={x:true,y:true};this.doHideIndicators=Ext.Function.bind(this.doHideIndicators,this);this.initConfig(a)},setConfig:function(a){return this.callParent([this.processConfig(a)])},updateIndicatorsUi:function(a){var b=this.getIndicators();b.x.setUi(a);b.y.setUi(a)},applyScroller:function(a,b){return Ext.factory(a,Ext.scroll.Scroller,b)},applyIndicators:function(b,d){var a=Ext.scroll.Indicator,c=this.useIndicators;if(!b){b={}}if(!b.x){c.x=false;b.x={}}if(!b.y){c.y=false;b.y={}}return{x:Ext.factory(b.x,a,d&&d.x),y:Ext.factory(b.y,a,d&&d.y)}},updateIndicators:function(a){this.indicatorsGrid=Ext.Element.create({className:"x-scroll-bar-grid-wrapper",children:[{className:"x-scroll-bar-grid",children:[{children:[{},{children:[a.y.barElement]}]},{children:[{children:[a.x.barElement]},{}]}]}]})},updateScroller:function(a){a.on({scope:this,scrollstart:"onScrollStart",scroll:"onScroll",scrollend:"onScrollEnd",refresh:"refreshIndicators"})},isAxisEnabled:function(a){return this.getScroller().isAxisEnabled(a)&&this.useIndicators[a]},applyElement:function(a){if(a){return Ext.get(a)}},updateElement:function(c){var b=c.getFirstChild().getFirstChild(),a=this.getScroller();c.addCls(this.getCls());c.insertFirst(this.indicatorsGrid);a.setElement(b);this.refreshIndicators();return this},showIndicators:function(){var a=this.getIndicators();if(this.hasOwnProperty("indicatorsHidingTimer")){clearTimeout(this.indicatorsHidingTimer);delete this.indicatorsHidingTimer}if(this.isAxisEnabled("x")){a.x.show()}if(this.isAxisEnabled("y")){a.y.show()}},hideIndicators:function(){var a=this.getIndicatorsHidingDelay();if(a>0){this.indicatorsHidingTimer=setTimeout(this.doHideIndicators,a)}else{this.doHideIndicators()}},doHideIndicators:function(){var a=this.getIndicators();if(this.isAxisEnabled("x")){a.x.hide()}if(this.isAxisEnabled("y")){a.y.hide()}},onScrollStart:function(){this.onScroll.apply(this,arguments);this.showIndicators()},onScrollEnd:function(){this.hideIndicators()},onScroll:function(b,a,c){this.setIndicatorValue("x",a);this.setIndicatorValue("y",c)},setIndicatorValue:function(b,f){if(!this.isAxisEnabled(b)){return this}var a=this.getScroller(),c=a.getMaxPosition()[b],e=a.getContainerSize()[b],d;if(c===0){d=f/e;if(f>=0){d+=1}}else{if(f>c){d=1+((f-c)/e)}else{if(f<0){d=f/e}else{d=f/c}}}this.getIndicators()[b].setValue(d)},refreshIndicator:function(d){if(!this.isAxisEnabled(d)){return this}var a=this.getScroller(),b=this.getIndicators()[d],e=a.getContainerSize()[d],f=a.getSize()[d],c=e/f;b.setRatio(c);b.refresh()},refresh:function(){return this.getScroller().refresh()},refreshIndicators:function(){var a=this.getIndicators();a.x.setActive(this.isAxisEnabled("x"));a.y.setActive(this.isAxisEnabled("y"));this.refreshIndicator("x");this.refreshIndicator("y")},destroy:function(){var a=this.getElement(),b=this.getIndicators();if(a&&!a.isDestroyed){a.removeCls(this.getCls())}b.x.destroy();b.y.destroy();Ext.destroy(this.getScroller(),this.indicatorsGrid);delete this.indicatorsGrid;this.callParent(arguments)}});Ext.define("Ext.behavior.Scrollable",{extend:"Ext.behavior.Behavior",requires:["Ext.scroll.View"],constructor:function(){this.listeners={painted:"onComponentPainted",scope:this};this.callParent(arguments)},onComponentPainted:function(){this.scrollView.refresh()},setConfig:function(d){var b=this.scrollView,c=this.component,e,a;if(d){if(!b){this.scrollView=b=new Ext.scroll.View(d);b.on("destroy","onScrollViewDestroy",this);c.setUseBodyElement(true);this.scrollerElement=a=c.innerElement;this.scrollContainer=a.wrap();this.scrollViewElement=e=c.bodyElement;b.setElement(e);if(c.isPainted()){this.onComponentPainted(c)}c.on(this.listeners)}else{if(Ext.isString(d)||Ext.isObject(d)){b.setConfig(d)}}}else{if(b){b.destroy()}}return this},getScrollView:function(){return this.scrollView},onScrollViewDestroy:function(){var b=this.component,a=this.scrollerElement;if(!a.isDestroyed){this.scrollerElement.unwrap()}this.scrollContainer.destroy();b.un(this.listeners);delete this.scrollerElement;delete this.scrollView;delete this.scrollContainer},onComponentDestroy:function(){var a=this.scrollView;if(a){a.destroy()}}});Ext.define("Ext.Container",{extend:"Ext.Component",alternateClassName:"Ext.lib.Container",requires:["Ext.layout.Layout","Ext.ItemCollection","Ext.behavior.Scrollable","Ext.Mask"],xtype:"container",eventedConfig:{activeItem:0},config:{layout:null,control:{},defaults:null,items:null,autoDestroy:true,defaultType:null,scrollable:null,useBodyElement:null,masked:null,modal:null,hideOnMaskTap:null},isContainer:true,delegateListeners:{delegate:"> component",centeredchange:"onItemCenteredChange",dockedchange:"onItemDockedChange",floatingchange:"onItemFloatingChange"},constructor:function(a){var b=this;b._items=b.items=new Ext.ItemCollection();b.innerItems=[];b.onItemAdd=b.onFirstItemAdd;b.callParent(arguments)},getElementConfig:function(){return{reference:"element",className:"x-container",children:[{reference:"innerElement",className:"x-inner"}]}},applyMasked:function(a,b){b=Ext.factory(a,Ext.Mask,b);if(b){this.add(b)}return b},mask:function(a){this.setMasked(a||true)},unmask:function(){this.setMasked(false)},applyModal:function(a,b){if(!a&&!b){return}return Ext.factory(a,Ext.Mask,b)},updateModal:function(c,a){var b={painted:"refreshModalMask",erased:"destroyModalMask"};if(c){this.on(b);c.on("destroy","onModalDestroy",this);if(this.getTop()===null&&this.getBottom()===null&&this.getRight()===null&&this.getLeft()===null&&!this.getCentered()){this.setTop(0);this.setLeft(0)}if(this.isPainted()){this.refreshModalMask()}}else{if(a){a.un("destroy","onModalDestroy",this);this.un(b)}}},onModalDestroy:function(){this.setModal(null)},refreshModalMask:function(){var b=this.getModal(),a=this.getParent();if(!this.painted){this.painted=true;if(b){a.insertBefore(b,this);b.setZIndex(this.getZIndex()-1);if(this.getHideOnMaskTap()){b.on("tap","hide",this,{single:true})}}}},destroyModalMask:function(){var b=this.getModal(),a=this.getParent();if(this.painted){this.painted=false;if(b){b.un("tap","hide",this);a.remove(b,false)}}},updateZIndex:function(b){var a=this.getModal();this.callParent(arguments);if(a){a.setZIndex(b-1)}},updateBaseCls:function(a,b){var c=this,d=c.getUi();if(a){this.element.addCls(a);this.innerElement.addCls(a,null,"inner");if(d){this.element.addCls(a,null,d)}}if(b){this.element.removeCls(b);this.innerElement.removeCls(a,null,"inner");if(d){this.element.removeCls(b,null,d)}}},updateUseBodyElement:function(a){if(a){this.bodyElement=this.innerElement.wrap({cls:"x-body"});this.referenceList.push("bodyElement")}},applyItems:function(a,b){if(a){this.getDefaultType();this.getDefaults();if(this.initialized&&b.length>0){this.removeAll()}this.add(a)}},applyControl:function(c){var a,b,e,d;for(a in c){d=c[a];for(b in d){e=d[b];if(Ext.isObject(e)){e.delegate=a}}d.delegate=a;this.addListener(d)}return c},onFirstItemAdd:function(){delete this.onItemAdd;this.setLayout(new Ext.layout.Layout(this,this.getLayout()||"default"));if(this.innerHtmlElement&&!this.getHtml()){this.innerHtmlElement.destroy();delete this.innerHtmlElement}this.on(this.delegateListeners);return this.onItemAdd.apply(this,arguments)},updateDefaultType:function(a){this.defaultItemClass=Ext.ClassManager.getByAlias("widget."+a)},applyDefaults:function(a){if(a){this.factoryItem=this.factoryItemWithDefaults;return a}},factoryItem:function(a){return Ext.factory(a,this.defaultItemClass)},factoryItemWithDefaults:function(c){var b=this,d=b.getDefaults(),a;if(!d){return Ext.factory(c,b.defaultItemClass)}if(c.isComponent){a=c;if(d&&c.isInnerItem()&&!b.has(a)){a.setConfig(d,true)}}else{if(d&&!c.ignoreDefaults){if(!(c.hasOwnProperty("left")&&c.hasOwnProperty("right")&&c.hasOwnProperty("top")&&c.hasOwnProperty("bottom")&&c.hasOwnProperty("docked")&&c.hasOwnProperty("centered"))){c=Ext.mergeIf({},c,d)}}a=Ext.factory(c,b.defaultItemClass)}return a},add:function(a){var e=this,b,d,c,f;a=Ext.Array.from(a);d=a.length;for(b=0;b0&&c.isInnerItem()){f=c}}if(f){this.setActiveItem(f)}return c},doAdd:function(d){var c=this,a=c.getItems(),b;if(!a.has(d)){b=a.length;a.add(d);if(d.isInnerItem()){c.insertInner(d)}d.setParent(c);c.onItemAdd(d,b)}},remove:function(d,b){var c=this,a=c.indexOf(d),e=c.getInnerItems();if(b===undefined){b=c.getAutoDestroy()}if(a!==-1){if(!c.removingAll&&e.length>1&&d===c.getActiveItem()){c.on({activeitemchange:"doRemove",scope:c,single:true,order:"after",args:[d,a,b]});c.doResetActiveItem(e.indexOf(d))}else{c.doRemove(d,a,b);if(e.length===0){c.setActiveItem(null)}}}return c},doResetActiveItem:function(a){if(a===0){this.setActiveItem(1)}else{this.setActiveItem(0)}},doRemove:function(d,a,b){var c=this;c.items.remove(d);if(d.isInnerItem()){c.removeInner(d)}c.onItemRemove(d,a,b);d.setParent(null);if(b){d.destroy()}},removeAll:function(c,f){var a=this.items,e=a.length,b=0,d;if(c===undefined){c=this.getAutoDestroy()}f=Boolean(f);this.removingAll=true;for(;b=0;b--){c.insert(a,d[b])}return c}d=this.factoryItem(d);this.doInsert(a,d);return d},doInsert:function(d,f){var e=this,b=e.items,c=b.length,a,g;g=f.isInnerItem();if(d>c){d=c}if(b[d-1]===f){return e}a=e.indexOf(f);if(a!==-1){if(a "+a)[0]||null},down:function(a){return this.query(a)[0]||null},destroy:function(){var a=this.getModal();if(a){a.destroy()}this.removeAll(true,true);Ext.destroy(this.getScrollable(),this.bodyElement);this.callParent()}},function(){this.addMember("defaultItemClass",this)});Ext.define("Ext.Panel",{extend:"Ext.Container",requires:["Ext.util.LineSegment"],alternateClassName:"Ext.lib.Panel",xtype:"panel",isPanel:true,config:{baseCls:Ext.baseCSSPrefix+"panel",bodyPadding:null,bodyMargin:null,bodyBorder:null},getElementConfig:function(){var a=this.callParent();a.children.push({reference:"tipElement",className:"x-anchor",hidden:true});return a},applyBodyPadding:function(a){if(a===true){a=5}if(a){a=Ext.dom.Element.unitizeBox(a)}return a},updateBodyPadding:function(a){this.element.setStyle("padding",a)},applyBodyMargin:function(a){if(a===true){a=5}if(a){a=Ext.dom.Element.unitizeBox(a)}return a},updateBodyMargin:function(a){this.element.setStyle("margin",a)},applyBodyBorder:function(a){if(a===true){a=1}if(a){a=Ext.dom.Element.unitizeBox(a)}return a},updateBodyBorder:function(a){this.element.setStyle("border-width",a)},alignTo:function(m){var w=this.tipElement;w.hide();if(this.currentTipPosition){w.removeCls("x-anchor-"+this.currentTipPosition)}this.callParent(arguments);var f=Ext.util.LineSegment,d=m.isComponent?m.renderElement:m,a=this.renderElement,n=d.getPageBox(),k=a.getPageBox(),b=k.left,t=k.top,C=k.right,h=k.bottom,j=b+(k.width/2),i=t+(k.height/2),o={x:b,y:t},l={x:C,y:t},B={x:b,y:h},D={x:C,y:h},y={x:j,y:i},s=n.left+(n.width/2),q=n.top+(n.height/2),v={x:s,y:q},c=new f(y,v),g=0,A=0,e,z,r,p,x,u;w.setVisibility(false);w.show();e=w.getSize();z=e.width;r=e.height;if(c.intersects(new f(o,l))){x=Math.min(Math.max(s,b),C-(z/2));u=t;A=r+10;p="top"}else{if(c.intersects(new f(o,B))){x=b;u=Math.min(Math.max(q+(z/2),t),h);g=r+10;p="left"}else{if(c.intersects(new f(B,D))){x=Math.min(Math.max(s,b),C-(z/2));u=h;A=-r-10;p="bottom"}else{if(c.intersects(new f(l,D))){x=C;u=Math.min(Math.max(q-(z/2),t),h);g=-r-10;p="right"}}}}if(x||u){this.currentTipPosition=p;w.addCls("x-anchor-"+p);w.setLeft(x-b);w.setTop(u-t);w.setVisibility(true);this.setLeft(this.getLeft()+g);this.setTop(this.getTop()+A)}}});Ext.define("Ext.SegmentedButton",{extend:"Ext.Container",xtype:"segmentedbutton",requires:["Ext.Button"],config:{baseCls:Ext.baseCSSPrefix+"segmentedbutton",pressedCls:Ext.baseCSSPrefix+"button-pressed",allowMultiple:false,allowDepress:null,pressedButtons:[],layout:{type:"hbox",align:"stretch"},defaultType:"button"},initialize:function(){var a=this;a.callParent();a.on({delegate:"> button",scope:a,tap:"onButtonRelease"});a.onAfter({delegate:"> button",scope:a,hiddenchange:"onButtonHiddenChange"})},updateAllowMultiple:function(){if(!this.initialized&&!this.getInitialConfig().hasOwnProperty("allowDepress")){this.setAllowDepress(true)}},applyItems:function(){var e=this,f=[],d,b,c,a;e.callParent(arguments);a=this.getItems();d=a.length;for(b=0;b=0;b--){c=a.items[b];if(!c.isHidden()){c.addCls(e+"last");break}}},applyPressedButtons:function(a){var e=this,f=[],c,d,b;if(Ext.isArray(a)){d=a.length;for(b=0;bm){c.renderElement.setWidth(m)}}var j=this.spacer.renderElement.getPageBox(),k=f.getPageBox(),g=k.width-j.width,d=k.left,i=k.right,b,l,e;if(g>0){f.setWidth(j.width);b=g/2;d+=b;i-=b}l=j.left-d;e=i-j.right;if(l>0){f.setLeft(l)}else{if(e>0){f.setLeft(-e)}}f.repaint()},updateTitle:function(a){this.titleComponent.setTitle(a);if(this.isPainted()){this.refreshTitlePosition()}}});Ext.define("Ext.Toolbar",{extend:"Ext.Container",xtype:"toolbar",requires:["Ext.Button","Ext.Title","Ext.Spacer"],isToolbar:true,config:{baseCls:Ext.baseCSSPrefix+"toolbar",ui:"dark",title:null,defaultType:"button",layout:{type:"hbox",align:"center"}},constructor:function(a){a=a||{};if(a.docked=="left"||a.docked=="right"){a.layout={type:"vbox",align:"stretch"}}this.callParent([a])},applyTitle:function(a){if(typeof a=="string"){a={title:a,centered:true}}return Ext.factory(a,Ext.Title,this.getTitle())},updateTitle:function(b,a){if(b){this.add(b);this.getLayout().setItemFlex(b,1)}if(a){a.destroy()}},showTitle:function(){var a=this.getTitle();if(a){a.show()}},hideTitle:function(){var a=this.getTitle();if(a){a.hide()}}},function(){});Ext.define("Ext.MessageBox",{extend:"Ext.Sheet",requires:["Ext.Toolbar","Ext.field.Text","Ext.field.TextArea"],config:{ui:"dark",baseCls:Ext.baseCSSPrefix+"msgbox",iconCls:null,showAnimation:{type:"popIn",duration:250,easing:"ease-out"},hideAnimation:{type:"popOut",duration:250,easing:"ease-out"},zIndex:10,defaultTextHeight:75,title:null,buttons:null,message:null,prompt:null,layout:{type:"vbox",pack:"center"}},statics:{OK:{text:"OK",itemId:"ok",ui:"action"},YES:{text:"Yes",itemId:"yes",ui:"action"},NO:{text:"No",itemId:"no"},CANCEL:{text:"Cancel",itemId:"cancel"},INFO:Ext.baseCSSPrefix+"msgbox-info",WARNING:Ext.baseCSSPrefix+"msgbox-warning",QUESTION:Ext.baseCSSPrefix+"msgbox-question",ERROR:Ext.baseCSSPrefix+"msgbox-error",OKCANCEL:[{text:"Cancel",itemId:"cancel"},{text:"OK",itemId:"ok",ui:"action"}],YESNOCANCEL:[{text:"Cancel",itemId:"cancel"},{text:"No",itemId:"no"},{text:"Yes",itemId:"yes",ui:"action"}],YESNO:[{text:"No",itemId:"no"},{text:"Yes",itemId:"yes",ui:"action"}]},constructor:function(a){a=a||{};if(a.hasOwnProperty("promptConfig")){Ext.applyIf(a,{prompt:a.promptConfig});delete a.promptConfig}if(a.hasOwnProperty("multiline")||a.hasOwnProperty("multiLine")){a.prompt=a.prompt||{};Ext.applyIf(a.prompt,{multiLine:a.multiline||a.multiLine});delete a.multiline;delete a.multiLine}this.defaultAllowedConfig={};var e=["ui","showAnimation","hideAnimation","title","message","prompt","iconCls","buttons","defaultTextHeight"],d=e.length,b,c;for(b=0;b=a-c&&b<=a+c)},onDragStart:function(f){var d=this.getDirection(),b=f.absDeltaX,a=f.absDeltaY,c=this.getDirectionLock();this.isDragging=true;if(c){if((d==="horizontal"&&b>a)||(d==="vertical"&&a>b)){f.stopPropagation()}else{this.isDragging=false;return}}if(this.isAnimating){this.getActiveCarouselItem().getTranslatable().stopAnimation()}this.dragStartOffset=this.offset;this.dragDirection=0},onDrag:function(j){if(!this.isDragging){return}var k=this.dragStartOffset,l=this.getDirection(),m=l==="horizontal"?j.deltaX:j.deltaY,a=this.offset,i=this.flickStartTime,c=this.dragDirection,b=Ext.Date.now(),h=this.getActiveIndex(),f=this.getMaxItemIndex(),d=c,g;if((h===0&&m>0)||(h===f&&m<0)){m*=0.5}g=k+m;if(g>a){c=1}else{if(g300){this.flickStartOffset=a;this.flickStartTime=b}this.dragDirection=c;this.setOffset(g)},onDragEnd:function(j){if(!this.isDragging){return}this.onDrag(j);this.isDragging=false;var a=Ext.Date.now(),i=this.itemLength,g=i/2,f=this.offset,m=this.getActiveIndex(),c=this.getMaxItemIndex(),h=0,l=f-this.flickStartOffset,b=a-this.flickStartTime,k=this.getIndicator(),d;if(b>0&&Math.abs(l)>=10){d=l/b;if(Math.abs(d)>=1){if(d<0&&m0&&m>0){h=1}}}}if(h===0){if(m0&&f>g){h=1}}}if(k){k.setActiveIndex(m-h)}this.animationDirection=h;this.setOffsetAnimated(h*i)},applyAnimation:function(a){a.easing=Ext.factory(a.easing,Ext.fx.easing.EaseOut);return a},updateDirection:function(b){var a=this.getIndicator();this.currentAxis=(b==="horizontal")?"x":"y";if(a){a.setDirection(b)}},setOffset:function(e){var k=this.orderedCarouselItems,c=this.getBufferSize(),g=k[c],j=this.itemLength,d=this.currentAxis,a,h,b,f;this.offset=e;e+=this.itemOffset;if(g){g.translateAxis(d,e);for(f=1,b=0;f<=c;f++){h=k[c-f];if(h){b+=j;h.translateAxis(d,e-b)}}for(f=1,b=0;f<=c;f++){a=k[c+f];if(a){b+=j;a.translateAxis(d,e+b)}}}return this},setOffsetAnimated:function(c){var b=this.orderedCarouselItems[this.getBufferSize()],a=this.getIndicator();if(a){a.setActiveIndex(this.getActiveIndex()-this.animationDirection)}this.offset=c;c+=this.itemOffset;if(b){this.isAnimating=true;b.getTranslatable().on(this.animationListeners);b.translateAxis(this.currentAxis,c,this.getAnimation())}return this},onActiveItemAnimationFrame:function(k){var j=this.orderedCarouselItems,c=this.getBufferSize(),h=this.itemLength,d=this.currentAxis,e=k[d],g,a,f,b;for(f=1,b=0;f<=c;f++){g=j[c-f];if(g){b+=h;g.translateAxis(d,e-b)}}for(f=1,b=0;f<=c;f++){a=j[c+f];if(a){b+=h;a.translateAxis(d,e+b)}}},onActiveItemAnimationEnd:function(b){var c=this.getActiveIndex(),a=this.animationDirection,e=this.currentAxis,f=b[e],d=this.itemLength,g;this.isAnimating=false;b.un(this.animationListeners);if(a===-1){g=d+f}else{if(a===1){g=f-d}else{g=f}}g-=this.itemOffset;this.offset=g;this.setActiveItem(c-a)},refresh:function(){this.refreshSizing();this.refreshActiveItem()},refreshSizing:function(){var a=this.element,b=this.getItemLength(),c,d;if(this.getDirection()==="horizontal"){d=a.getWidth()}else{d=a.getHeight()}this.hiddenTranslation=-d;if(b===null){b=d;c=0}else{c=(d-b)/2}this.itemLength=b;this.itemOffset=c},refreshOffset:function(){this.setOffset(this.offset)},refreshActiveItem:function(){this.doSetActiveItem(this.getActiveItem())},getActiveIndex:function(){return this.activeIndex},refreshActiveIndex:function(){this.activeIndex=this.getInnerItemIndex(this.getActiveItem())},refreshCarouselItems:function(){var a=this.carouselItems,b,d,c;for(b=0,d=a.length;b0){for(f=1;f<=c;f++){h=q-f;if(h>=0){a=this.getInnerItemAt(h);b=a.getId();o[b]=a;p[b]=c-f}else{break}}}if(qb){this.setActiveItem(b)}else{this.rebuildInnerIndexes(a);this.refreshActiveItem()}}},rebuildInnerIndexes:function(n){var c=this.innerIndexToItem,g=this.innerIdToIndex,j=this.innerItems.slice(),h=j.length,b=this.getBufferSize(),d=this.getMaxItemIndex(),l=[],e,k,f,a,m;if(n===undefined){this.innerIndexToItem=c={};this.innerIdToIndex=g={};for(e=0;e=0&&e<=d){if(c.hasOwnProperty(e)){Ext.Array.remove(j,c[e]);continue}l.push(e)}}for(e=0,h=l.length;e ."+Ext.baseCSSPrefix+"data-item",scope:this})},initialize:function(){this.callParent();this.doInitialize()},onItemTouchStart:function(d){var b=this,c=d.getTarget(),a=Ext.getCmp(c.id);a.on({touchmove:"onItemTouchMove",scope:b,single:true});b.fireEvent("itemtouchstart",b,a,b.indexOf(a),d)},onItemTouchMove:function(d){var b=this,c=d.getTarget(),a=Ext.getCmp(c.id);b.fireEvent("itemtouchmove",b,a,b.indexOf(a),d)},onItemTouchEnd:function(d){var b=this,c=d.getTarget(),a=Ext.getCmp(c.id);a.un({touchmove:"onItemTouchMove",scope:b});b.fireEvent("itemtouchend",b,a,b.indexOf(a),d)},onItemTap:function(d){var b=this,c=d.getTarget(),a=Ext.getCmp(c.id);b.fireEvent("itemtap",b,a,b.indexOf(a),d)},onItemTapHold:function(d){var b=this,c=d.getTarget(),a=Ext.getCmp(c.id);b.fireEvent("itemtaphold",b,a,b.indexOf(a),d)},onItemSingleTap:function(d){var b=this,c=d.getTarget(),a=Ext.getCmp(c.id);b.fireEvent("itemsingletap",b,a,b.indexOf(a),d)},onItemDoubleTap:function(d){var b=this,c=d.getTarget(),a=Ext.getCmp(c.id);b.fireEvent("itemdoubletap",b,a,b.indexOf(a),d)},onItemSwipe:function(d){var b=this,c=d.getTarget(),a=Ext.getCmp(c.id);b.fireEvent("itemswipe",b,a,b.indexOf(a),d)},moveItemsToCache:function(j,k){var h=this,c=h.dataview,a=c.getMaxItemCache(),g=h.getViewItems(),f=h.itemCache,e=f.length,l=c.getPressedCls(),d=c.getSelectedCls(),b=k-j,m;for(;b>=0;b--){m=g[j+b];if(e!==a){h.remove(m,false);m.removeCls([l,d]);f.push(m);e++}else{m.destroy()}}if(h.getViewItems().length==0){this.dataview.showEmptyText()}},moveItemsFromCache:function(b){var l=this,e=l.dataview,m=e.getStore(),k=b.length,a=e.getDefaultType(),h=e.getItemConfig(),g=l.itemCache,f=g.length,j=[],c,n,d;if(k){e.hideEmptyText()}for(c=0;ci._tmpIndex?1:-1});for(c=0;c{text}",pressedCls:"x-item-pressed",itemCls:null,selectedCls:"x-item-selected",triggerEvent:"itemtap",triggerCtEvent:"tap",deselectOnContainerClick:true,scrollable:true,inline:null,pressedDelay:100,loadingText:"Loading...",useComponents:null,itemConfig:{},maxItemCache:20,defaultType:"dataitem",scrollToTopOnRefresh:true},constructor:function(a){var b=this;b.hasLoadedStore=false;b.mixins.selectable.constructor.apply(b,arguments);b.callParent(arguments)},updateItemCls:function(c,b){var a=this.container;if(a){if(b){a.doRemoveItemCls(b)}if(c){a.doAddItemCls(c)}}},storeEventHooks:{beforeload:"onBeforeLoad",load:"onLoad",refresh:"refresh",addrecords:"onStoreAdd",removerecords:"onStoreRemove",updaterecord:"onStoreUpdate"},initialize:function(){this.callParent();var b=this,a;b.on(b.getTriggerCtEvent(),b.onContainerTrigger,b);a=b.container=this.add(new Ext.dataview[b.getUseComponents()?"component":"element"].Container({baseCls:this.getBaseCls()}));a.dataview=b;b.on(b.getTriggerEvent(),b.onItemTrigger,b);a.on({itemtouchstart:"onItemTouchStart",itemtouchend:"onItemTouchEnd",itemtap:"onItemTap",itemtaphold:"onItemTapHold",itemtouchmove:"onItemTouchMove",itemsingletap:"onItemSingleTap",itemdoubletap:"onItemDoubleTap",itemswipe:"onItemSwipe",scope:b});if(this.getStore()){this.refresh()}},applyInline:function(a){if(Ext.isObject(a)){a=Ext.apply({},a)}return a},updateInline:function(c,b){var a=this.getBaseCls();if(b){this.removeCls([a+"-inlineblock",a+"-nowrap"])}if(c){this.addCls(a+"-inlineblock");if(Ext.isObject(c)&&c.wrap===false){this.addCls(a+"-nowrap")}else{this.removeCls(a+"-nowrap")}}},prepareData:function(c,b,a){c.xindex=b+1;return c},onContainerTrigger:function(b){var a=this;if(b.target!=a.element.dom){return}if(a.getDeselectOnContainerClick()&&a.getStore()){a.deselectAll()}},onItemTrigger:function(b,a){this.selectWithEvent(this.getStore().getAt(a))},doAddPressedCls:function(a){var c=this,b=c.container.getViewItems()[c.getStore().indexOf(a)];if(Ext.isElement(b)){b=Ext.get(b)}if(b){b.addCls(c.getPressedCls())}},onItemTouchStart:function(b,h,d,g){var f=this,c=f.getStore(),a=c&&c.getAt(d);f.fireAction("itemtouchstart",[f,d,h,a,g],"doItemTouchStart")},doItemTouchStart:function(c,b,e,a){var d=c.getPressedDelay();if(a){if(d>0){c.pressedTimeout=Ext.defer(c.doAddPressedCls,d,c,[a])}else{c.doAddPressedCls(a)}}},onItemTouchEnd:function(b,h,d,g){var f=this,c=f.getStore(),a=c&&c.getAt(d);if(this.hasOwnProperty("pressedTimeout")){clearTimeout(this.pressedTimeout);delete this.pressedTimeout}if(a&&h){h.removeCls(f.getPressedCls())}f.fireEvent("itemtouchend",f,d,h,a,g)},onItemTouchMove:function(b,h,d,g){var f=this,c=f.getStore(),a=c&&c.getAt(d);if(f.hasOwnProperty("pressedTimeout")){clearTimeout(f.pressedTimeout);delete f.pressedTimeout}if(a&&h){h.removeCls(f.getPressedCls())}f.fireEvent("itemtouchmove",f,d,h,a,g)},onItemTap:function(b,h,d,g){var f=this,c=f.getStore(),a=c&&c.getAt(d);f.fireEvent("itemtap",f,d,h,a,g)},onItemTapHold:function(b,h,d,g){var f=this,c=f.getStore(),a=c&&c.getAt(d);f.fireEvent("itemtaphold",f,d,h,a,g)},onItemSingleTap:function(b,h,d,g){var f=this,c=f.getStore(),a=c&&c.getAt(d);f.fireEvent("itemsingletap",f,d,h,a,g)},onItemDoubleTap:function(b,h,d,g){var f=this,c=f.getStore(),a=c&&c.getAt(d);f.fireEvent("itemdoubletap",f,d,h,a,g)},onItemSwipe:function(b,h,d,g){var f=this,c=f.getStore(),a=c&&c.getAt(d);f.fireEvent("itemswipe",f,d,h,a,g)},onItemSelect:function(a,b){var c=this;if(b){c.doItemSelect(c,a)}else{c.fireAction("select",[c,a],"doItemSelect")}},doItemSelect:function(c,a){if(c.container&&!c.isDestroyed){var b=c.container.getViewItems()[c.getStore().indexOf(a)];if(Ext.isElement(b)){b=Ext.get(b)}if(b){b.removeCls(c.getPressedCls());b.addCls(c.getSelectedCls())}}},onItemDeselect:function(a,b){var c=this;if(c.container&&!c.isDestroyed){if(b){c.doItemDeselect(c,a)}else{c.fireAction("deselect",[c,a,b],"doItemDeselect")}}},doItemDeselect:function(c,a){var b=c.container.getViewItems()[c.getStore().indexOf(a)];if(Ext.isElement(b)){b=Ext.get(b)}if(b){b.removeCls([c.getPressedCls(),c.getSelectedCls()])}},updateData:function(b){var a=this.getStore();if(!a){this.setStore(Ext.create("Ext.data.Store",{data:b}))}else{a.add(b)}},applyStore:function(b){var d=this,e=Ext.apply({},d.storeEventHooks,{scope:d}),c,a;if(b){b=Ext.data.StoreManager.lookup(b);if(b&&Ext.isObject(b)&&b.isStore){b.on(e);c=b.getProxy();if(c){a=c.getReader();if(a){a.on("exception","handleException",this)}}}}return b},handleException:function(){this.setMasked(false)},updateStore:function(b,e){var d=this,f=Ext.apply({},d.storeEventHooks,{scope:d}),c,a;if(e&&Ext.isObject(e)&&e.isStore){if(e.autoDestroy){e.destroy()}else{e.un(f);c=e.getProxy();if(c){a=c.getReader();if(a){a.un("exception","handleException",this)}}}}if(b){if(b.isLoaded()){this.hasLoadedStore=true}if(b.isLoading()){d.onBeforeLoad()}if(d.container){d.refresh()}}},onBeforeLoad:function(){var b=this.getScrollable();if(b){b.getScroller().stopAnimation()}var a=this.getLoadingText();if(a){this.setMasked({xtype:"loadmask",message:a});if(b){b.getScroller().setDisabled(true)}}this.hideEmptyText()},updateEmptyText:function(c,d){var b=this,a;if(d&&b.emptyTextCmp){b.remove(b.emptyTextCmp,true);delete b.emptyTextCmp}if(c){b.emptyTextCmp=b.add({xtype:"component",cls:b.getBaseCls()+"-emptytext",html:c,hidden:true});a=b.getStore();if(a&&b.hasLoadedStore&&!a.getCount()){this.showEmptyText()}}},onLoad:function(a){var b=this.getScrollable();this.hasLoadedStore=true;this.setMasked(false);if(b){b.getScroller().setDisabled(false)}if(!a.getCount()){this.showEmptyText()}},refresh:function(){var b=this,a=b.container;if(!b.getStore()){if(!b.hasLoadedStore&&!b.getDeferEmptyText()){b.showEmptyText()}return}if(a){b.fireAction("refresh",[b],"doRefresh")}},applyItemTpl:function(a){return(Ext.isObject(a)&&a.isTemplate)?a:new Ext.XTemplate(a)},onAfterRender:function(){var a=this;a.callParent(arguments);a.updateStore(a.getStore())},getViewItems:function(){return this.container.getViewItems()},doRefresh:function(f){var a=f.container,j=f.getStore(),b=j.getRange(),e=a.getViewItems(),h=b.length,l=e.length,c=h-l,g=f.getScrollable(),d,k;if(this.getScrollToTopOnRefresh()&&g){g.getScroller().scrollToTop()}if(h<1){f.onStoreClear();return}if(c<0){a.moveItemsToCache(l+c,l-1);e=a.getViewItems();l=e.length}else{if(c>0){a.moveItemsFromCache(j.getRange(l))}}for(d=0;dh.y){c=g;break}f=g}return{current:f,next:c}},doRefreshHeaders:function(){if(!this.getGrouped()||!this.container){return false}var l=this.findGroupHeaderIndices(),f=l.length,g=this.container.getViewItems(),j=this.pinHeaderInfo={offsets:[]},a=j.offsets,h=this.getScrollable(),e,k,b,d,c;if(f){for(b=0;bd.offset)||(f&&h0&&d.offset-h<=c){var k=c-(d.offset-h);this.translateHeader(k)}else{this.translateHeader(null)}},translateHeaderTransform:function(a){this.header.renderElement.dom.style.webkitTransform=(a===null)?null:"translate3d(0px, -"+a+"px, 0px)"},translateHeaderCssPosition:function(a){this.header.renderElement.dom.style.top=(a===null)?null:"-"+Math.round(a)+"px"},setActiveGroup:function(b){var a=this,c=a.header;if(c){if(b&&b.header){if(!a.activeGroup||a.activeGroup.header!=b.header){c.show();if(c.element){c.setHtml(b.header.innerHTML)}}}else{if(c&&c.element){c.hide()}}}this.activeGroup=b},onIndex:function(o,c){var r=this,s=c.toLowerCase(),b=r.getStore(),q=b.getGroups(),f=q.length,h=r.getScrollable(),n,e,m,g,k,p;if(h){n=r.getScrollable().getScroller()}else{return}for(m=0;ms){g=e;break}else{g=e}}if(h&&g){p=r.container.getViewItems()[b.indexOf(g.children[0])];n.stopAnimation();var l=n.getContainerSize().y,j=n.getSize().y,d=j-l,a=(p.offsetTop>d)?d:p.offsetTop;n.scrollTo(0,a)}},applyOnItemDisclosure:function(a){if(Ext.isFunction(a)){return{scope:this,handler:a}}return a},handleItemDisclosure:function(f){var d=this,c=f.getTarget().parentNode,b=d.container.getViewItems().indexOf(c),a=d.getStore().getAt(b);d.fireAction("disclose",[d,a,c,b,f],"doDisclose")},doDisclose:function(f,a,d,c,g){var b=f.getOnItemDisclosure();if(b&&b.handler){b.handler.call(b.scope||f,a,d,c,g)}},findGroupHeaderIndices:function(){if(!this.getGrouped()){return[]}var h=this,k=h.getStore();if(!k){return[]}var b=h.container,d=k.getGroups(),m=d.length,g=b.getViewItems(),c=[],l=b.footerClsShortCache,e,a,f,n,j;b.doRemoveHeaders();b.doRemoveFooterCls();if(g.length){for(e=0;e class="x-list-item-leaf">'+a.getItemTextTpl(b)+""},this.getListConfig())}},function(){});Ext.define("Ext.form.FieldSet",{extend:"Ext.Container",alias:"widget.fieldset",requires:["Ext.Title"],config:{baseCls:Ext.baseCSSPrefix+"form-fieldset",title:null,instructions:null},applyTitle:function(a){if(typeof a=="string"){a={title:a}}Ext.applyIf(a,{docked:"top",baseCls:this.getBaseCls()+"-title"});return Ext.factory(a,Ext.Title,this.getTitle())},updateTitle:function(b,a){if(b){this.add(b)}if(a){this.remove(a)}},applyInstructions:function(a){if(typeof a=="string"){a={title:a}}Ext.applyIf(a,{docked:"bottom",baseCls:this.getBaseCls()+"-instructions"});return Ext.factory(a,Ext.Title,this.getInstructions())},updateInstructions:function(b,a){if(b){this.add(b)}if(a){this.remove(a)}}});Ext.define("Ext.form.Panel",{alternateClassName:"Ext.form.FormPanel",extend:"Ext.Panel",xtype:"formpanel",requires:["Ext.XTemplate","Ext.field.Checkbox","Ext.Ajax"],config:{baseCls:Ext.baseCSSPrefix+"form",standardSubmit:false,url:null,baseParams:null,submitOnAction:false,record:null,method:"post",scrollable:{translationMethod:"scrollposition"}},getElementConfig:function(){var a=this.callParent();a.tag="form";return a},initialize:function(){var a=this;a.callParent();a.element.on({submit:"onSubmit",scope:a})},updateRecord:function(c){var a,b,d;if(c&&(a=c.fields)){b=this.getValues();for(d in b){if(b.hasOwnProperty(d)&&a.containsKey(d)){c.set(d,b[d])}}}return this},setRecord:function(a){var b=this;if(a&&a.data){b.setValues(a.data)}b._record=a;return this},onSubmit:function(b){var a=this;if(b&&!a.getStandardSubmit()){b.stopEvent()}else{this.submit()}},updateSubmitOnAction:function(a){if(a){this.on({action:"onFieldAction",scope:this})}else{this.un({action:"onFieldAction",scope:this})}},onFieldAction:function(a){if(this.getSubmitOnAction()){a.blur();this.submit()}},submit:function(a){var c=this,b=c.element.dom||{},d;a=Ext.apply({url:c.getUrl()||b.action,submit:false,method:c.getMethod()||b.method||"post",autoAbort:false,params:null,waitMsg:null,headers:null,success:null,failure:null},a||{});d=c.getValues(c.getStandardSubmit()||!a.submitDisabled);return c.fireAction("beforesubmit",[c,d,a],"doBeforeSubmit")},doBeforeSubmit:function(f,h,b){var e=f.element.dom||{};if(f.getStandardSubmit()){if(b.url&&Ext.isEmpty(e.action)){e.action=b.url}var a=this.query("spinnerfield"),d=a.length,c,g;for(c=0;c1;d.doChangeView(c,a,false)},onViewRemove:function(c){var d=this,b=d.backButtonStack,a;d.endAnimation();b.pop();a=b.length>1;d.doChangeView(c,a,true)},doChangeView:function(k,c,g){var r=this,o=r.leftBox,e=o.element,f=r.titleComponent,m=f.element,n=r.getBackButton(),l=r.getTitleText(),h=r.getBackButtonText(),q=r.getAnimation()&&k.getLayout().getAnimation(),p=q&&q.isAnimation&&k.isPainted(),d,i,a,j,b;if(p){i=r.createProxy(o.element);e.setStyle("opacity","0");n.setText(h);n[c?"show":"hide"]();a=r.createProxy(f.element.getParent());m.setStyle("opacity","0");r.setTitle(l);r.refreshTitlePosition();d=r.measureView(i,a,g);j=d.left;b=d.title;r.isAnimating=true;r.animate(e,j.element);r.animate(m,b.element,function(){m.setLeft(d.titleLeft);r.isAnimating=false});if(Ext.os.is.Android2&&!this.getAndroid2Transforms()){i.ghost.destroy();a.ghost.destroy()}else{r.animate(i.ghost,j.ghost);r.animate(a.ghost,b.ghost,function(){i.ghost.destroy();a.ghost.destroy()})}}else{if(c){n.setText(h);n.show()}else{n.hide()}r.setTitle(l)}},measureView:function(e,u,k){var w=this,j=w.element,v=w.leftBox.element,p=w.titleComponent.element,l=Math.min(j.getWidth()/3,200),q=v.getWidth(),c=j.getX(),m=j.getWidth(),n=p.getX(),d=p.getLeft(),s=p.getWidth(),r=e.x,t=e.width,a=e.left,h=Ext.os.is.Android2&&!this.getAndroid2Transforms(),i,b,f,x,o,g;g=c-r-t;if(k){i=g;b=Math.min(n-t,l)}else{b=g;i=Math.min(n-c,l)}if(h){f={element:{from:{left:i,opacity:1},to:{left:0,opacity:1}}}}else{f={element:{from:{transform:{translateX:i},opacity:0},to:{transform:{translateX:0},opacity:1}},ghost:{to:{transform:{translateX:b},opacity:0}}}}g=c-n+q;if((a+s)>n){o=c-n-s}if(k){p.setLeft(0);b=c+m;if(o!==undefined){i=o}else{i=g}}else{i=m-n;if(o!==undefined){b=o}else{b=g}}if(h){x={element:{from:{left:i,opacity:1},to:{left:d,opacity:1}}}}else{x={element:{from:{transform:{translateX:i},opacity:0},to:{transform:{translateX:d},opacity:1}},ghost:{to:{transform:{translateX:b},opacity:0}}}}return{left:f,title:x,titleLeft:d}},animate:function(b,a,e){var c=this,d;b.setLeft(0);a=Ext.apply(a,{element:b,easing:"ease-in-out",duration:c.getAnimation().duration});d=new Ext.fx.Animation(a);d.on("animationend",function(){if(e){e.call(c)}},c);Ext.Animator.run(d);c.activeAnimations.push(d)},endAnimation:function(){var a=this.activeAnimations,d,b,c;if(a){c=a.length;for(b=0;b0){if(b&&b.isAnimation){b.setReverse(true)}a.setActiveItem(d-1);a.getNavigationBar().onViewRemove(a,c[d],d)}},doRemove:function(){var a=this.getLayout().getAnimation();if(a&&a.isAnimation){a.setReverse(false)}this.callParent(arguments)},onItemAdd:function(b,a){this.doItemLayoutAdd(b,a);if(!this.isItemsInitializing&&b.isInnerItem()){this.setActiveItem(b);this.getNavigationBar().onViewAdd(this,b,a)}if(this.initialized){this.fireEvent("add",this,b,a)}},reset:function(){return this.pop(this.getInnerItems().length)}});Ext.define("Ext.picker.Slot",{extend:"Ext.dataview.DataView",xtype:"pickerslot",alternateClassName:"Ext.Picker.Slot",requires:["Ext.XTemplate","Ext.data.Store","Ext.Component","Ext.data.StoreManager"],isSlot:true,config:{title:null,showTitle:true,cls:Ext.baseCSSPrefix+"picker-slot",name:null,value:null,flex:1,align:"left",displayField:"text",valueField:"value",scrollable:{direction:"vertical",indicators:false,momentumEasing:{minVelocity:2},slotSnapEasing:{duration:100}}},constructor:function(){this.selectedIndex=0;this.callParent(arguments)},applyTitle:function(a){if(a){a=Ext.create("Ext.Component",{cls:Ext.baseCSSPrefix+"picker-slot-title",docked:"top",html:a})}return a},updateTitle:function(b,a){if(b){this.add(b);this.setupBar()}if(a){this.remove(a)}},updateShowTitle:function(a){var b=this.getTitle();if(b){b[a?"show":"hide"]();this.setupBar()}},updateDisplayField:function(a){this.setItemTpl('
'+Ext.baseCSSPrefix+'picker-invalid">{'+a+"}
")},updateAlign:function(a,c){var b=this.element;b.addCls(Ext.baseCSSPrefix+"picker-"+a);b.removeCls(Ext.baseCSSPrefix+"picker-"+c)},applyData:function(d){var f=[],c=d&&d.length,a,b,e;if(d&&Ext.isArray(d)&&c){for(a=0;a0){c[0].addCls(b+"first");c[c.length-1].addCls(b+"last")}this.updateUseTitles(this.getUseTitles())},onDoneButtonTap:function(){var a=this._value,b=this.getValue(true);if(b!=a){this.fireEvent("change",this,b)}this.hide()},onCancelButtonTap:function(){this.fireEvent("cancel",this);this.hide()},onSlotPick:function(a){this.fireEvent("pick",this,this.getValue(true),a)},onShow:function(){if(!this.isHidden()){this.setValue(this._value)}},setValue:function(k,a){var f=this,d=f.getInnerItems(),e=d.length,j,h,c,b,g;if(!k){k={};for(b=0;b{'+this.getDisplayField()+":htmlEncode}",listeners:{select:this.onListSelect,itemtap:this.onListTap,scope:this}}},a))}return this.listPanel},onMaskTap:function(){if(this.getDisabled()){return false}this.showPicker();return false},showPicker:function(){var b=this.getStore();if(!b||b.getCount()===0){return}if(this.getReadOnly()){return}this.isFocused=true;if(this.getUsePicker()){var e=this.getPhonePicker(),d=this.getName(),h={};h[d]=this.record.get(this.getValueField());e.setValue(h);if(!e.getParent()){Ext.Viewport.add(e)}e.show()}else{var f=this.getTabletPicker(),g=f.down("list"),b=g.getStore(),c=b.find(this.getValueField(),this.getValue(),null,null,null,true),a=b.getAt((c==-1)?0:c);if(!f.getParent()){Ext.Viewport.add(f)}f.showBy(this.getComponent());g.select(a,null,true)}},onListSelect:function(c,a){var b=this;if(a){b.setValue(a)}},onListTap:function(){this.listPanel.hide({type:"fade",out:true,scope:this})},onPickerChange:function(d,f){var e=this,g=f[e.getName()],b=e.getStore(),c=b.find(e.getValueField(),g,null,null,null,true),a=b.getAt(c);e.setValue(a)},onChange:function(f,h,e){var g=this,b=g.getStore(),d=(b)?b.find(g.getDisplayField(),e):-1,c=g.getValueField(),a=(b)?b.getAt(d):null,e=(a)?a.get(c):null;g.fireEvent("change",g,g.getValue(),e)},updateOptions:function(b){var a=this.getStore();if(!a){this.setStore(true);a=this._store}if(!b){a.clearData()}else{a.setData(b);this.onStoreDataChanged(a)}},applyStore:function(a){if(a===true){a=Ext.create("Ext.data.Store",{fields:[this.getValueField(),this.getDisplayField()]})}if(a){a=Ext.data.StoreManager.lookup(a);a.on({scope:this,addrecords:this.onStoreDataChanged,removerecords:this.onStoreDataChanged,updaterecord:this.onStoreDataChanged,refresh:this.onStoreDataChanged})}return a},updateStore:function(a){if(a){this.onStoreDataChanged(a)}},onStoreDataChanged:function(a){var c=this.getInitialConfig(),b=this.getValue();if(Ext.isDefined(b)){this.updateValue(this.applyValue(b))}if(this.getValue()===null){if(c.hasOwnProperty("value")){this.setValue(c.value)}if(this.getValue()===null){if(a.getCount()>0){this.setValue(a.getAt(0))}}}},doSetDisabled:function(a){Ext.Component.prototype.doSetDisabled.apply(this,arguments)},setDisabled:function(){Ext.Component.prototype.setDisabled.apply(this,arguments)},reset:function(){var b=this.getStore(),a=(this.originalValue)?this.originalValue:b.getAt(0);if(b&&a){this.setValue(a)}return this},onFocus:function(a){this.fireEvent("focus",this,a);this.isFocused=true;this.showPicker()},destroy:function(){this.callParent(arguments);Ext.destroy(this.listPanel,this.picker,this.hiddenField)}});Ext.define("Ext.picker.Date",{extend:"Ext.picker.Picker",xtype:"datepicker",alternateClassName:"Ext.DatePicker",requires:["Ext.DateExtras"],config:{yearFrom:1980,yearTo:new Date().getFullYear(),monthText:"Month",dayText:"Day",yearText:"Year",slotOrder:["month","day","year"]},initialize:function(){this.callParent();this.on({scope:this,delegate:"> slot",slotpick:this.onSlotPick})},setValue:function(b,a){if(Ext.isDate(b)){b={day:b.getDate(),month:b.getMonth()+1,year:b.getFullYear()}}this.callParent([b,a])},getValue:function(k){var h={},e=this.getItems().items,d=e.length,a,g,c,f,j,b;for(b=0;bf){e=m;m=f;f=e}for(d=m;d<=f;d++){g.push({text:d,value:d})}a=this.getDaysInMonth(1,new Date().getFullYear());for(d=0;d thumb",dragstart:"onThumbDragStart",drag:"onThumbDrag",dragend:"onThumbDragEnd"});this.on({painted:"refresh",resize:"refresh"})},factoryThumb:function(){return Ext.factory(this.getThumbConfig(),Ext.slider.Thumb)},getThumbs:function(){return this.innerItems},getThumb:function(a){if(typeof a!="number"){a=0}return this.innerItems[a]},refreshOffsetValueRatio:function(){var b=this.getMaxValue()-this.getMinValue(),a=this.elementWidth-this.thumbWidth;this.offsetValueRatio=a/b},refreshElementWidth:function(){this.elementWidth=this.element.dom.offsetWidth;var a=this.getThumb(0);if(a){this.thumbWidth=a.getElementWidth()}},refresh:function(){this.refreshElementWidth();this.refreshValue()},setActiveThumb:function(b){var a=this.activeThumb;if(a&&a!==b){a.setZIndex(null)}this.activeThumb=b;b.setZIndex(2);return this},onThumbDragStart:function(a,b){if(b.absDeltaX<=b.absDeltaY){return false}else{b.stopPropagation()}if(this.getAllowThumbsOverlapping()){this.setActiveThumb(a)}this.dragStartValue=this.getValue()[this.getThumbIndex(a)];this.fireEvent("dragstart",this,a,this.dragStartValue,b)},onThumbDrag:function(c,g,a){var d=this.getThumbIndex(c),f=this.offsetValueRatio,b=this.constrainValue(a/f);g.stopPropagation();this.setIndexValue(d,b);this.fireEvent("drag",this,c,this.getValue(),g);return false},setIndexValue:function(d,g,f){var c=this.getThumb(d),b=this.getValue(),e=this.offsetValueRatio,a=c.getDraggable();a.setOffset(g*e,null,f);b[d]=g},onThumbDragEnd:function(a,f){this.refreshThumbConstraints(a);var c=this.getThumbIndex(a),d=this.getValue()[c],b=this.dragStartValue;this.fireEvent("dragend",this,a,this.getValue(),f);if(b!==d){this.fireEvent("change",this,a,d,b)}},getThumbIndex:function(a){return this.getThumbs().indexOf(a)},refreshThumbConstraints:function(d){var b=this.getAllowThumbsOverlapping(),a=d.getDraggable().getOffset().x,c=this.getThumbs(),e=this.getThumbIndex(d),g=c[e-1],h=c[e+1],f=this.thumbWidth;if(g){g.getDraggable().addExtraConstraint({max:{x:a-((b)?0:f)}})}if(h){h.getDraggable().addExtraConstraint({min:{x:a+((b)?0:f)}})}},onTap:function(j){if(this.isDisabled()){return}var k=Ext.get(j.target);if(!k||k.hasCls("x-thumb")){return}var n=j.touch.point.x,h=this.element,c=h.getX(),d=n-c-(this.thumbWidth/2),o=this.constrainValue(d/this.offsetValueRatio),r=this.getValue(),q=Infinity,m=r.length,g,f,l,p,b,a;if(m===1){p=0}else{for(g=0;g=(a/2)){e+=(c>0)?a:-a}e=Math.max(d,e);e=Math.min(f,e);return e},setThumbsCount:function(e){var a=this.getThumbs(),f=a.length,c,d,b;if(f>e){for(c=0,d=f-e;c0,b=d.getMaxValueCls(),e=d.getMinValueCls();this.element.addCls(g?b:e);this.element.removeCls(g?e:b)},toggle:function(){var a=this.getValue();this.setValue((a==1)?0:1);return this},onTap:function(){if(this.isDisabled()){return}var b=this.getValue(),c=(b==1)?0:1,a=this.getThumb(0);this.setIndexValue(0,c,this.getAnimation());this.refreshThumbConstraints(a);this.fireEvent("change",this,a,c,b)}});Ext.define("Ext.field.Toggle",{extend:"Ext.field.Slider",xtype:"togglefield",alternateClassName:"Ext.form.Toggle",requires:["Ext.slider.Toggle"],config:{cls:"x-toggle-field"},proxyConfig:{minValueCls:"x-toggle-off",maxValueCls:"x-toggle-on"},applyComponent:function(a){return Ext.factory(a,Ext.slider.Toggle)},setValue:function(a){if(a===true){a=1}this.getComponent().setValue(a);return this},getValue:function(){return(this.getComponent().getValue()==1)?1:0},toggle:function(){this.getComponent().toggle();return this}});Ext.define("Ext.tab.Tab",{extend:"Ext.Button",xtype:"tab",alternateClassName:"Ext.Tab",isTab:true,config:{baseCls:Ext.baseCSSPrefix+"tab",pressedCls:Ext.baseCSSPrefix+"tab-pressed",activeCls:Ext.baseCSSPrefix+"tab-active",active:false,title:" "},template:[{tag:"span",reference:"badgeElement",hidden:true},{tag:"span",className:Ext.baseCSSPrefix+"button-icon",reference:"iconElement",style:"visibility: hidden !important"},{tag:"span",reference:"textElement",hidden:true}],updateTitle:function(a){this.setText(a)},hideIconElement:function(){this.iconElement.dom.style.setProperty("visibility","hidden","!important")},showIconElement:function(){this.iconElement.dom.style.setProperty("visibility","visible","!important")},updateActive:function(c,b){var a=this.getActiveCls();if(c&&!b){this.element.addCls(a);this.fireEvent("activate",this)}else{if(b){this.element.removeCls(a);this.fireEvent("deactivate",this)}}}},function(){this.override({activate:function(){this.setActive(true)},deactivate:function(){this.setActive(false)}})});Ext.define("Ext.tab.Bar",{extend:"Ext.Toolbar",alternateClassName:"Ext.TabBar",xtype:"tabbar",requires:["Ext.tab.Tab"],config:{baseCls:Ext.baseCSSPrefix+"tabbar",defaultType:"tab",layout:{type:"hbox",align:"middle"}},eventedConfig:{activeTab:null},initialize:function(){var a=this;a.callParent();a.on({tap:"onTabTap",delegate:"> tab",scope:a})},onTabTap:function(a){this.setActiveTab(a)},applyActiveTab:function(b,c){if(!b&&b!==0){return}var a=this.parseActiveTab(b);if(!a){return}return a},doSetDocked:function(a){var c=this.getLayout(),b=a=="bottom"?"center":"left";if(c.isLayout){c.setPack(b)}else{c.pack=(c&&c.pack)?c.pack:b}},doSetActiveTab:function(b,a){if(b){b.setActive(true)}if(a){a.setActive(false)}},parseActiveTab:function(a){if(typeof a=="number"){return this.getInnerItems()[a]}else{if(typeof a=="string"){a=Ext.getCmp(a)}}return a}});Ext.define("Ext.tab.Panel",{extend:"Ext.Container",xtype:"tabpanel",alternateClassName:"Ext.TabPanel",requires:["Ext.tab.Bar"],config:{ui:"dark",tabBar:true,tabBarPosition:"top",layout:{type:"card",animation:{type:"slide",direction:"left"}},cls:Ext.baseCSSPrefix+"tabpanel"},delegateListeners:{delegate:"> component",centeredchange:"onItemCenteredChange",dockedchange:"onItemDockedChange",floatingchange:"onItemFloatingChange",disabledchange:"onItemDisabledChange"},initialize:function(){this.callParent();this.on({order:"before",activetabchange:"doTabChange",delegate:"> tabbar",scope:this})},applyScrollable:function(){return false},updateUi:function(a,b){this.callParent(arguments);if(this.initialized){this.getTabBar().setUi(a)}},doSetActiveItem:function(d,j){if(d){var f=this.getInnerItems(),g=f.indexOf(j),i=f.indexOf(d),e=g>i,c=this.getLayout().getAnimation(),b=this.getTabBar(),h=b.parseActiveTab(g),a=b.parseActiveTab(i);if(c&&c.setReverse){c.setReverse(e)}this.callParent(arguments);if(i!=-1){this.forcedChange=true;b.setActiveTab(i);this.forcedChange=false;if(h){h.setActive(false)}if(a){a.setActive(true)}}}},doTabChange:function(a,d){var b=this.getActiveItem(),c;this.setActiveItem(a.indexOf(d));c=this.getActiveItem();return this.forcedChange||b!==c},applyTabBar:function(a){if(a===true){a={}}if(a){Ext.applyIf(a,{ui:this.getUi(),docked:this.getTabBarPosition()})}return Ext.factory(a,Ext.tab.Bar,this.getTabBar())},updateTabBar:function(a){if(a){this.add(a);this.setTabBarPosition(a.getDocked())}},updateTabBarPosition:function(b){var a=this.getTabBar();if(a){a.setDocked(b)}},onItemAdd:function(e){var k=this;if(!e.isInnerItem()){return k.callParent(arguments)}var c=k.getTabBar(),o=e.getInitialConfig(),d=o.tab||{},g=(e.getTitle)?e.getTitle():o.title,i=(e.getIconCls)?e.getIconCls():o.iconCls,j=(e.getHidden)?e.getHidden():o.hidden,n=(e.getDisabled)?e.getDisabled():o.disabled,p=(e.getBadgeText)?e.getBadgeText():o.badgeText,b=k.getInnerItems(),h=b.indexOf(e),l=c.getItems(),a=c.getActiveTab(),m=(l.length>=b.length)&&l.getAt(h),f;if(g&&!d.title){d.title=g}if(i&&!d.iconCls){d.iconCls=i}if(j&&!d.hidden){d.hidden=j}if(n&&!d.disabled){d.disabled=n}if(p&&!d.badgeText){d.badgeText=p}f=Ext.factory(d,Ext.tab.Tab,m);if(!m){c.insert(h,f)}e.tab=f;k.callParent(arguments);if(!a&&a!==0){c.setActiveTab(c.getActiveItem())}},onItemDisabledChange:function(a,b){if(a&&a.tab){a.tab.setDisabled(b)}},onItemRemove:function(b,a){this.getTabBar().remove(b.tab,this.getAutoDestroy());this.callParent(arguments)}},function(){});Ext.define("Ext.table.Cell",{extend:"Ext.Container",xtype:"tablecell",config:{baseCls:"x-table-cell"},getElementConfig:function(){var a=this.callParent();a.children.length=0;return a}});Ext.define("Ext.table.Row",{extend:"Ext.table.Cell",xtype:"tablerow",config:{baseCls:"x-table-row",defaultType:"tablecell"}});Ext.define("Ext.table.Table",{extend:"Ext.Container",requires:["Ext.table.Row"],xtype:"table",config:{baseCls:"x-table",defaultType:"tablerow"},cachedConfig:{fixedLayout:false},fixedLayoutCls:"x-table-fixed",updateFixedLayout:function(a){this.innerElement[a?"addCls":"removeCls"](this.fixedLayoutCls)}});Ext.define("Ext.viewport.Default",{extend:"Ext.Container",xtype:"viewport",PORTRAIT:"portrait",LANDSCAPE:"landscape",requires:["Ext.LoadMask"],config:{autoMaximize:false,autoBlurInput:true,preventPanning:true,preventZooming:false,autoRender:true,layout:"card",width:"100%",height:"100%"},isReady:false,isViewport:true,isMaximizing:false,id:"ext-viewport",isInputRegex:/^(input|textarea|select|a)$/i,focusedElement:null,fullscreenItemCls:Ext.baseCSSPrefix+"fullscreen",constructor:function(a){var b=Ext.Function.bind;this.doPreventPanning=b(this.doPreventPanning,this);this.doPreventZooming=b(this.doPreventZooming,this);this.doBlurInput=b(this.doBlurInput,this);this.maximizeOnEvents=["ready","orientationchange"];this.orientation=this.determineOrientation();this.windowWidth=this.getWindowWidth();this.windowHeight=this.getWindowHeight();this.windowOuterHeight=this.getWindowOuterHeight();if(!this.stretchHeights){this.stretchHeights={}}this.callParent([a]);if(this.supportsOrientation()){this.addWindowListener("orientationchange",b(this.onOrientationChange,this))}else{this.addWindowListener("resize",b(this.onResize,this))}document.addEventListener("focus",b(this.onElementFocus,this),true);document.addEventListener("blur",b(this.onElementBlur,this),true);Ext.onDocumentReady(this.onDomReady,this);this.on("ready",this.onReady,this,{single:true});this.getEventDispatcher().addListener("component","*","fullscreen","onItemFullscreenChange",this);return this},onDomReady:function(){this.isReady=true;this.updateSize();this.fireEvent("ready",this)},onReady:function(){if(this.getAutoRender()){this.render()}},onElementFocus:function(a){this.focusedElement=a.target},onElementBlur:function(){this.focusedElement=null},render:function(){if(!this.rendered){var a=Ext.getBody(),b=Ext.baseCSSPrefix,h=[],d=Ext.os,g=d.name.toLowerCase(),f=Ext.browser.name.toLowerCase(),e=d.version.getMajor(),c=this.getOrientation();this.renderTo(a);h.push(b+d.deviceType.toLowerCase());if(d.is.iPad){h.push(b+"ipad")}h.push(b+g);h.push(b+f);if(e){h.push(b+g+"-"+e)}if(d.is.BlackBerry){h.push(b+"bb")}if(Ext.browser.is.Standalone){h.push(b+"standalone")}h.push(b+c);a.addCls(h)}},applyAutoBlurInput:function(a){var b=(Ext.feature.has.Touch)?"touchstart":"mousedown";if(a){this.addWindowListener(b,this.doBlurInput,false)}else{this.removeWindowListener(b,this.doBlurInput,false)}return a},applyAutoMaximize:function(a){if(Ext.browser.is.WebView){a=false}if(a){this.on("ready","doAutoMaximizeOnReady",this,{single:true});this.on("orientationchange","doAutoMaximizeOnOrientationChange",this)}else{this.un("ready","doAutoMaximizeOnReady",this);this.un("orientationchange","doAutoMaximizeOnOrientationChange",this)}return a},applyPreventPanning:function(a){if(a){this.addWindowListener("touchmove",this.doPreventPanning,false)}else{this.removeWindowListener("touchmove",this.doPreventPanning,false)}return a},applyPreventZooming:function(a){var b=(Ext.feature.has.Touch)?"touchstart":"mousedown";if(a){this.addWindowListener(b,this.doPreventZooming,false)}else{this.removeWindowListener(b,this.doPreventZooming,false)}return a},doAutoMaximizeOnReady:function(){var a=arguments[arguments.length-1];a.pause();this.isMaximizing=true;this.on("maximize",function(){this.isMaximizing=false;this.updateSize();a.resume();this.fireEvent("ready",this)},this,{single:true});this.maximize()},doAutoMaximizeOnOrientationChange:function(){var a=arguments[arguments.length-1],b=a.firingArguments;a.pause();this.isMaximizing=true;this.on("maximize",function(){this.isMaximizing=false;this.updateSize();b[1]=this.windowWidth;b[2]=this.windowHeight;a.resume()},this,{single:true});this.maximize()},doBlurInput:function(b){var a=b.target,c=this.focusedElement;if(c&&!this.isInputRegex.test(a.tagName)){delete this.focusedElement;c.blur()}},doPreventPanning:function(a){a.preventDefault()},doPreventZooming:function(b){if("button" in b&&b.button!==0){return}var a=b.target;if(a&&a.nodeType===1&&!this.isInputRegex.test(a.tagName)){b.preventDefault()}},addWindowListener:function(b,c,a){window.addEventListener(b,c,Boolean(a))},removeWindowListener:function(b,c,a){window.removeEventListener(b,c,Boolean(a))},doAddListener:function(a,d,c,b){if(a==="ready"&&this.isReady&&!this.isMaximizing){d.call(c);return this}this.mixins.observable.doAddListener.apply(this,arguments)},supportsOrientation:function(){return Ext.feature.has.Orientation},onResize:function(){var c=this.windowWidth,f=this.windowHeight,e=this.getWindowWidth(),a=this.getWindowHeight(),d=this.getOrientation(),b=this.determineOrientation();if((c!==e||f!==a)&&d!==b){this.fireOrientationChangeEvent(b,d)}},onOrientationChange:function(){var b=this.getOrientation(),a=this.determineOrientation();if(a!==b){this.fireOrientationChangeEvent(a,b)}},fireOrientationChangeEvent:function(b,c){var a=Ext.baseCSSPrefix;Ext.getBody().replaceCls(a+c,a+b);this.orientation=b;this.updateSize();this.fireEvent("orientationchange",this,b,this.windowWidth,this.windowHeight)},updateSize:function(b,a){this.windowWidth=b!==undefined?b:this.getWindowWidth();this.windowHeight=a!==undefined?a:this.getWindowHeight();return this},waitUntil:function(h,e,g,a,f){if(!a){a=50}if(!f){f=2000}var c=this,b=0;setTimeout(function d(){b+=a;if(h.call(c)===true){if(e){e.call(c)}}else{if(b>=f){if(g){g.call(c)}}else{setTimeout(d,a)}}},a)},maximize:function(){this.fireMaximizeEvent()},fireMaximizeEvent:function(){this.updateSize();this.fireEvent("maximize",this)},doSetHeight:function(a){Ext.getBody().setHeight(a);this.callParent(arguments)},doSetWidth:function(a){Ext.getBody().setWidth(a);this.callParent(arguments)},scrollToTop:function(){window.scrollTo(0,-1)},getWindowWidth:function(){return window.innerWidth},getWindowHeight:function(){return window.innerHeight},getWindowOuterHeight:function(){return window.outerHeight},getWindowOrientation:function(){return window.orientation},getOrientation:function(){return this.orientation},getSize:function(){return{width:this.windowWidth,height:this.windowHeight}},determineOrientation:function(){var b=this.PORTRAIT,a=this.LANDSCAPE;if(this.supportsOrientation()){if(this.getWindowOrientation()%180===0){return b}return a}else{if(this.getWindowHeight()>=this.getWindowWidth()){return b}return a}},onItemFullscreenChange:function(a){a.addCls(this.fullscreenItemCls);this.add(a)}});Ext.define("Ext.viewport.Android",{extend:"Ext.viewport.Default",constructor:function(){this.on("orientationchange","doFireOrientationChangeEvent",this,{prepend:true});this.on("orientationchange","hideKeyboardIfNeeded",this,{prepend:true});return this.callParent(arguments)},getDummyInput:function(){var a=this.dummyInput,c=this.focusedElement,b=Ext.fly(c).getPageBox();if(!a){this.dummyInput=a=document.createElement("input");a.style.position="absolute";a.style.opacity="0";document.body.appendChild(a)}a.style.left=b.left+"px";a.style.top=b.top+"px";a.style.display="";return a},doBlurInput:function(c){var b=c.target,d=this.focusedElement,a;if(d&&!this.isInputRegex.test(b.tagName)){a=this.getDummyInput();delete this.focusedElement;a.focus();setTimeout(function(){a.style.display="none"},100)}},hideKeyboardIfNeeded:function(){var a=arguments[arguments.length-1],b=this.focusedElement;if(b){delete this.focusedElement;a.pause();if(Ext.os.version.lt("4")){b.style.display="none"}else{b.blur()}setTimeout(function(){b.style.display="";a.resume()},1000)}},doFireOrientationChangeEvent:function(){var a=arguments[arguments.length-1];this.orientationChanging=true;a.pause();this.waitUntil(function(){return this.getWindowOuterHeight()!==this.windowOuterHeight},function(){this.windowOuterHeight=this.getWindowOuterHeight();this.updateSize();a.firingArguments[1]=this.windowWidth;a.firingArguments[2]=this.windowHeight;a.resume();this.orientationChanging=false},function(){});return this},applyAutoMaximize:function(a){a=this.callParent(arguments);this.on("add","fixSize",this,{single:true});if(!a){this.on("ready","fixSize",this,{single:true});this.onAfter("orientationchange","doFixSize",this)}else{this.un("ready","fixSize",this);this.unAfter("orientationchange","doFixSize",this)}},fixSize:function(){this.doFixSize()},doFixSize:function(){this.setHeight(this.getWindowHeight())},getActualWindowOuterHeight:function(){return Math.round(this.getWindowOuterHeight()/window.devicePixelRatio)},maximize:function(){var c=this.stretchHeights,b=this.orientation,a;a=c[b];if(!a){c[b]=a=this.getActualWindowOuterHeight()}if(!this.addressBarHeight){this.addressBarHeight=a-this.getWindowHeight()}this.setHeight(a);var d=Ext.Function.bind(this.isHeightMaximized,this,[a]);this.scrollToTop();this.waitUntil(d,this.fireMaximizeEvent,this.fireMaximizeEvent)},isHeightMaximized:function(a){this.scrollToTop();return this.getWindowHeight()===a}},function(){if(!Ext.os.is.Android){return}var a=Ext.os.version,b=Ext.browser.userAgent,c=/(htc|desire|incredible|ADR6300)/i.test(b)&&a.lt("2.3");if(c){this.override({constructor:function(d){if(!d){d={}}d.autoMaximize=false;this.watchDogTick=Ext.Function.bind(this.watchDogTick,this);setInterval(this.watchDogTick,1000);return this.callParent([d])},watchDogTick:function(){this.watchDogLastTick=Ext.Date.now()},doPreventPanning:function(){var e=Ext.Date.now(),f=this.watchDogLastTick,d=e-f;if(d>=2000){return}return this.callParent(arguments)},doPreventZooming:function(){var e=Ext.Date.now(),f=this.watchDogLastTick,d=e-f;if(d>=2000){return}return this.callParent(arguments)}})}if(a.match("2")){this.override({onReady:function(){this.addWindowListener("resize",Ext.Function.bind(this.onWindowResize,this));this.callParent(arguments)},scrollToTop:function(){document.body.scrollTop=100},onWindowResize:function(){var e=this.windowWidth,g=this.windowHeight,f=this.getWindowWidth(),d=this.getWindowHeight();if(this.getAutoMaximize()&&!this.isMaximizing&&!this.orientationChanging&&window.scrollY===0&&e===f&&d=g-this.addressBarHeight)||!this.focusedElement)){this.scrollToTop()}},fixSize:function(){var d=this.getOrientation(),f=window.outerHeight,g=window.outerWidth,e;if(d==="landscape"&&(f=g)){e=this.getActualWindowOuterHeight()}else{e=this.getWindowHeight()}this.waitUntil(function(){return e>this.getWindowHeight()},this.doFixSize,this.doFixSize,50,1000)}})}else{if(a.gtEq("3.1")){this.override({isHeightMaximized:function(d){this.scrollToTop();return this.getWindowHeight()===d-1}})}else{if(a.match("3")){this.override({isHeightMaximized:function(){this.scrollToTop();return true}})}}}if(a.gtEq("4")){this.override({doBlurInput:Ext.emptyFn})}});Ext.define("Ext.viewport.Ios",{extend:"Ext.viewport.Default",isFullscreen:function(){return this.isHomeScreen()},isHomeScreen:function(){return window.navigator.standalone===true},constructor:function(){this.callParent(arguments);if(this.getAutoMaximize()&&!this.isFullscreen()){this.addWindowListener("touchstart",Ext.Function.bind(this.onTouchStart,this))}},maximize:function(){if(this.isFullscreen()){return this.callParent()}var c=this.stretchHeights,b=this.orientation,d=this.getWindowHeight(),a=c[b];if(window.scrollY>0){this.scrollToTop();if(!a){c[b]=a=this.getWindowHeight()}this.setHeight(a);this.fireMaximizeEvent()}else{if(!a){a=this.getScreenHeight()}this.setHeight(a);this.waitUntil(function(){this.scrollToTop();return d!==this.getWindowHeight()},function(){if(!c[b]){a=c[b]=this.getWindowHeight();this.setHeight(a)}this.fireMaximizeEvent()},function(){a=c[b]=this.getWindowHeight();this.setHeight(a);this.fireMaximizeEvent()},50,1000)}},getScreenHeight:function(){return window.screen[this.orientation===this.PORTRAIT?"height":"width"]},onElementFocus:function(){if(this.getAutoMaximize()&&!this.isFullscreen()){clearTimeout(this.scrollToTopTimer)}this.callParent(arguments)},onElementBlur:function(){if(this.getAutoMaximize()&&!this.isFullscreen()){this.scrollToTopTimer=setTimeout(this.scrollToTop,500)}this.callParent(arguments)},onTouchStart:function(){if(this.focusedElement===null){this.scrollToTop()}},scrollToTop:function(){window.scrollTo(0,0)}},function(){if(!Ext.os.is.iOS){return}if(Ext.os.version.lt("3.2")){this.override({constructor:function(){var a=this.stretchHeights={};a[this.PORTRAIT]=416;a[this.LANDSCAPE]=268;return this.callOverridden(arguments)}})}if(Ext.os.version.lt("5")){this.override({fieldMaskClsTest:"-field-mask",doPreventZooming:function(b){var a=b.target;if(a&&a.nodeType===1&&!this.isInputRegex.test(a.tagName)&&a.className.indexOf(this.fieldMaskClsTest)==-1){b.preventDefault()}}})}if(Ext.os.is.iPad){this.override({isFullscreen:function(){return true}})}});Ext.define("Ext.viewport.Viewport",{requires:["Ext.viewport.Ios","Ext.viewport.Android"],constructor:function(b){var c=Ext.os.name,d,a;switch(c){case"Android":d="Android";break;case"iOS":d="Ios";break;default:d="Default"}a=Ext.create("Ext.viewport."+d,b);return a}});Ext.define("Ext.event.recognizer.Swipe",{extend:"Ext.event.recognizer.SingleTouch",handledEvents:["swipe"],inheritableStatics:{MAX_OFFSET_EXCEEDED:16,MAX_DURATION_EXCEEDED:17,DISTANCE_NOT_ENOUGH:18},config:{minDistance:80,maxOffset:35,maxDuration:1000},onTouchStart:function(a){if(this.callParent(arguments)===false){return false}var b=a.changedTouches[0];this.startTime=a.time;this.isHorizontal=true;this.isVertical=true;this.startX=b.pageX;this.startY=b.pageY},onTouchMove:function(f){var h=f.changedTouches[0],b=h.pageX,g=h.pageY,c=Math.abs(b-this.startX),a=Math.abs(g-this.startY),d=f.time;if(d-this.startTime>this.getMaxDuration()){return this.fail(this.self.MAX_DURATION_EXCEEDED)}if(this.isVertical&&c>this.getMaxOffset()){this.isVertical=false}if(this.isHorizontal&&a>this.getMaxOffset()){this.isHorizontal=false}if(!this.isHorizontal&&!this.isVertical){return this.fail(this.self.MAX_OFFSET_EXCEEDED)}},onTouchEnd:function(i){if(this.onTouchMove(i)===false){return false}var h=i.changedTouches[0],l=h.pageX,j=h.pageY,g=l-this.startX,f=j-this.startY,c=Math.abs(g),b=Math.abs(f),m=this.getMinDistance(),d=i.time-this.startTime,k,a;if(this.isVertical&&bc){return this.fail(this.self.MAX_DURATION_EXCEEDED)}if(a>b){return this.fail(this.self.MAX_OFFSET_EXCEEDED)}},onTouchEnd:function(f){if(this.onTouchMove(f)!==false){var i=f.changedTouches[0],a=i.pageX,b=a-this.startX,h=Math.abs(b),d=f.time-this.startTime,g=this.getMinDistance(),c;if(h *{height:100%;width:100%;position:absolute}.x-video-ghost{-webkit-background-size:100% auto;background:black url() center center no-repeat}audio{width:100%}.x-panel,.x-msgbox,.x-panel-body{position:relative}.x-panel.x-floating,.x-msgbox.x-floating,.x-form.x-floating{padding:6px;-webkit-border-radius:0.3em;border-radius:0.3em;-webkit-box-shadow:rgba(0, 0, 0, 0.8) 0 0.2em 0.6em;background-color:#03111a;background-image:none}.x-panel.x-floating.x-floating-light,.x-msgbox.x-floating.x-floating-light,.x-form.x-floating.x-floating-light{background-color:#1985d0;background-image:none}.x-panel.x-floating > .x-panel-inner,.x-panel.x-floating .x-scroll-view,.x-panel.x-floating .x-body,.x-msgbox.x-floating > .x-panel-inner,.x-msgbox.x-floating .x-scroll-view,.x-msgbox.x-floating .x-body,.x-form.x-floating > .x-panel-inner,.x-form.x-floating .x-scroll-view,.x-form.x-floating .x-body{background-color:#fff;-webkit-border-radius:0.3em;border-radius:0.3em}.x-anchor{width:1.631em;height:0.7em;position:absolute;left:0;top:0;z-index:1;-webkit-mask:0 0 url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACMAAAAPCAYAAABut3YUAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAPZJREFUeNpi/PX7LwOFwAyIG6HseiA+Ra5BjBQ6xg+IVwAxJ5T/HYgjgHgTOYYxUeCQUiBeh+QQBih7HVSOLiHDDMSTgTiTgLrpQJwLxH9p5RhOaLT4EakeFF3RQPyF2o6RhkaBGYkheRmIPYH4KbXSjC4QnyTDIch6danhGCcgPgwNGXKBNNQMb0ocEwXE24GYn4FyADJjI76Ej88x7UC8FIjZGKgHQDlxGtRsZmISMMjy+dBQoSXYBC0gv+NyDD80xzgx0AeAqg4fIH6NHk0qQHyMjg6B1WvHYDkNFjIgwS1ALMowMOAjEAeBHINe2Q0U+AUQYACQ10C2QNhRogAAAABJRU5ErkJggg==') no-repeat;-webkit-mask-size:1.631em 0.7em;overflow:hidden;background-color:#03111a;-webkit-transform-origin:0% 0%}.x-anchor.x-anchor-top{margin-left:-0.816em;margin-top:-0.7em}.x-anchor.x-anchor-bottom{-webkit-transform:rotate(180deg);margin-left:0.816em;margin-top:0.6em}.x-anchor.x-anchor-left{-webkit-transform:rotate(270deg);margin-left:-0.7em;margin-top:-0.1em}.x-anchor.x-anchor-right{-webkit-transform:rotate(90deg);margin-left:0.7em;margin-top:0}.x-floating.x-panel-light:after{background-color:#1985d0}.x-button{-webkit-background-clip:padding;background-clip:padding-box;-webkit-border-radius:0.4em;border-radius:0.4em;display:-webkit-box;display:box;-webkit-box-align:center;box-align:center;min-height:1.8em;padding:.3em .6em;position:relative;overflow:hidden;-webkit-user-select:none}.x-button,.x-toolbar .x-button{border:1px solid #999999;border-top-color:#a6a6a6;color:black}.x-button.x-button-back:before,.x-button.x-button-forward:before,.x-toolbar .x-button.x-button-back:before,.x-toolbar .x-button.x-button-forward:before{background:#999999}.x-button,.x-button.x-button-back:after,.x-button.x-button-forward:after,.x-toolbar .x-button,.x-toolbar .x-button.x-button-back:after,.x-toolbar .x-button.x-button-forward:after{background-color:#ccc;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ffffff), color-stop(2%, #dedede), color-stop(100%, #bababa));background-image:-webkit-linear-gradient(#ffffff,#dedede 2%,#bababa);background-image:linear-gradient(#ffffff,#dedede 2%,#bababa)}.x-button .x-button-icon.x-icon-mask,.x-toolbar .x-button .x-button-icon.x-icon-mask{background-color:black;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #4d4d4d), color-stop(2%, #121212), color-stop(100%, #000000));background-image:-webkit-linear-gradient(#4d4d4d,#121212 2%,#000000);background-image:linear-gradient(#4d4d4d,#121212 2%,#000000)}.x-button.x-button-pressing,.x-button.x-button-pressing:after,.x-button.x-button-pressed,.x-button.x-button-pressed:after,.x-button.x-button-active,.x-button.x-button-active:after,.x-toolbar .x-button.x-button-pressing,.x-toolbar .x-button.x-button-pressing:after,.x-toolbar .x-button.x-button-pressed,.x-toolbar .x-button.x-button-pressed:after,.x-toolbar .x-button.x-button-active,.x-toolbar .x-button.x-button-active:after{background-color:#c4c4c4;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ababab), color-stop(10%, #b8b8b8), color-stop(65%, #c4c4c4), color-stop(100%, #c6c6c6));background-image:-webkit-linear-gradient(#ababab,#b8b8b8 10%,#c4c4c4 65%,#c6c6c6);background-image:linear-gradient(#ababab,#b8b8b8 10%,#c4c4c4 65%,#c6c6c6)}.x-button .x-button-icon{width:2.1em;height:2.1em;background-repeat:no-repeat;background-position:center;display:block}.x-button .x-button-icon.x-icon-mask{width:1.3em;height:1.3em;-webkit-mask-size:1.3em}.x-button.x-item-disabled .x-button-label,.x-button.x-item-disabled .x-hasbadge .x-badge,.x-hasbadge .x-button.x-item-disabled .x-badge,.x-button.x-item-disabled .x-button-icon{opacity:.5}.x-button-round,.x-button.x-button-action-round,.x-button.x-button-confirm-round,.x-button.x-button-decline-round{-webkit-border-radius:0.9em;border-radius:0.9em;padding:0.1em 0.9em}.x-iconalign-left,.x-icon-align-right{-webkit-box-orient:horizontal;box-orient:horizontal}.x-iconalign-top,.x-iconalign-bottom{-webkit-box-orient:vertical;box-orient:vertical}.x-iconalign-bottom,.x-iconalign-right{-webkit-box-direction:reverse;box-direction:reverse}.x-iconalign-center{-webkit-box-pack:center;box-pack:center}.x-iconalign-left .x-button-label,.x-iconalign-left .x-hasbadge .x-badge,.x-hasbadge .x-iconalign-left .x-badge{margin-left:0.3em}.x-iconalign-right .x-button-label,.x-iconalign-right .x-hasbadge .x-badge,.x-hasbadge .x-iconalign-right .x-badge{margin-right:0.3em}.x-iconalign-top .x-button-label,.x-iconalign-top .x-hasbadge .x-badge,.x-hasbadge .x-iconalign-top .x-badge{margin-top:0.3em}.x-iconalign-bottom .x-button-label,.x-iconalign-bottom .x-hasbadge .x-badge,.x-hasbadge .x-iconalign-bottom .x-badge{margin-bottom:0.3em}.x-button-label,.x-hasbadge .x-badge{-webkit-box-flex:1;box-flex:1;-webkit-box-align:center;box-align:center;white-space:nowrap;text-overflow:ellipsis;text-align:center;font-weight:bold;line-height:1.2em;display:block;overflow:hidden}.x-toolbar .x-button{margin:0 .2em;padding:.3em .6em}.x-toolbar .x-button .x-button-label,.x-toolbar .x-button .x-hasbadge .x-badge,.x-hasbadge .x-toolbar .x-button .x-badge{font-size:.7em}.x-button-small,.x-button.x-button-action-small,.x-button.x-button-confirm-small,.x-button.x-button-decline-small,.x-toolbar .x-button-small,.x-toolbar .x-button.x-button-action-small,.x-toolbar .x-button.x-button-confirm-small,.x-toolbar .x-button.x-button-decline-small{-webkit-border-radius:0.3em;border-radius:0.3em;padding:.2em .4em;min-height:0}.x-button-small .x-button-label,.x-button.x-button-action-small .x-button-label,.x-button.x-button-confirm-small .x-button-label,.x-button.x-button-decline-small .x-button-label,.x-button-small .x-hasbadge .x-badge,.x-hasbadge .x-button-small .x-badge,.x-button.x-button-action-small .x-hasbadge .x-badge,.x-hasbadge .x-button.x-button-action-small .x-badge,.x-button.x-button-confirm-small .x-hasbadge .x-badge,.x-hasbadge .x-button.x-button-confirm-small .x-badge,.x-button.x-button-decline-small .x-hasbadge .x-badge,.x-hasbadge .x-button.x-button-decline-small .x-badge,.x-toolbar .x-button-small .x-button-label,.x-toolbar .x-button.x-button-action-small .x-button-label,.x-toolbar .x-button.x-button-confirm-small .x-button-label,.x-toolbar .x-button.x-button-decline-small .x-button-label,.x-toolbar .x-button-small .x-hasbadge .x-badge,.x-hasbadge .x-toolbar .x-button-small .x-badge,.x-toolbar .x-button.x-button-action-small .x-hasbadge .x-badge,.x-hasbadge .x-toolbar .x-button.x-button-action-small .x-badge,.x-toolbar .x-button.x-button-confirm-small .x-hasbadge .x-badge,.x-hasbadge .x-toolbar .x-button.x-button-confirm-small .x-badge,.x-toolbar .x-button.x-button-decline-small .x-hasbadge .x-badge,.x-hasbadge .x-toolbar .x-button.x-button-decline-small .x-badge{font-size:.6em}.x-button-small .x-button-icon,.x-button.x-button-action-small .x-button-icon,.x-button.x-button-confirm-small .x-button-icon,.x-button.x-button-decline-small .x-button-icon,.x-toolbar .x-button-small .x-button-icon,.x-toolbar .x-button.x-button-action-small .x-button-icon,.x-toolbar .x-button.x-button-confirm-small .x-button-icon,.x-toolbar .x-button.x-button-decline-small .x-button-icon{width:.75em;height:.75em}.x-button-forward,.x-button-back{position:relative;overflow:visible;height:1.8em;z-index:1}.x-button-forward:before,.x-button-forward:after,.x-button-back:before,.x-button-back:after{content:"";position:absolute;width:0.773em;height:1.8em;top:-0.1em;left:auto;z-index:2;-webkit-mask:0.145em 0 url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAABGCAYAAADb7SQ4AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAiNJREFUeNrEWb9LQlEUvj5BcHoQvMnVKXD1D3CLwqBJbHJsazQaWoSCxgbHJiMIAiNok6AhCDdXVycnJ8EQOgeOYaG+d39998KH+HyP753zzjnfd325xfdSgVeV8B6BScuEV0IRSbxHeCMk/AVFXCA8ScQKSXxPqK0fQBBfE5r/D+Y8VzUT9jb94DPimqRYIYkrhGcpKhhxIqTxrpNcExdlQJTTTnRJnCc8ykhUSOIOoZ71ZFfEZ4S2zgUu+rguxZRHEnPbfKRVsOtUl0RtYpOLTYljIS2Z3nVk2DY9SbNCEt8RDm0rUpe4La1jvXSqmtum72raZI24KuNQIYl/nSGSOJb0Jq61M0pxhjwK9304hUjHGSKILzc5Q5drUzttdYY+I97pDH1FzG0zNFUb04gTG4kzJS5kdYauiZtZnaFr4ooKsCIVaDHxKAQxt1NBnGIVHfGCcEQYh3jGU8KBfMKLiyM+lgzAq/qT0ArVTg+Ei1B9fEPoovV4fcfQd2HedScX39GprwGTNjJn0maTELN6IuSzECLB6T5x2eM66jQgnIeSxa60GnS3uL56tr7b1Ai0JPVwYi6yho2U2lgfKym19VxjMRHzEGbvS9K+RBPzetGVUpf29lZHSl2/DMnLvwh1ZMQrKW3Ic4fvJOZS6ZMQW5hpmpT63DvtlFLfm7bBNruM2C2yXb7y3U6ZpRS5P/4jpUjihRTbCJ3q1eL3GMMfAQYAJmB6SBO619IAAAAASUVORK5CYII=') no-repeat;-webkit-mask-size:0.773em 1.8em;overflow:hidden}.x-button-back,.x-toolbar .x-button-back{margin-left:0.828em;padding-left:.4em}.x-button-back:before,.x-toolbar .x-button-back:before{left:-0.693em}.x-button-back:after,.x-toolbar .x-button-back:after{left:-0.628em}.x-button-forward,.x-toolbar .x-button-forward{margin-right:0.828em;padding-right:.4em}.x-button-forward:before,.x-button-forward:after,.x-toolbar .x-button-forward:before,.x-toolbar .x-button-forward:after{-webkit-mask:-0.145em 0 url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAABGCAYAAADb7SQ4AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAXlJREFUaN7lmTFqAlEQhh8EhFSCYJXW1law9QAewMrWAwQWAmmtbPcGHiCQ1gPYCla2QsDKSsgmQecvFqImu2/fzry/2OLb9mt23vwz47Kvn5MwEFxM8DkLB6HHEIOd0GGIwUpoMcRgyRKDOUsMJizxpzBiiMFR6DPEeZl1GWKwFh4ZYvAmPDDEqmVWVQxmLPG3MGaIVcosVAz2whNDDDZCmyEG7yFlpiEGKUsMEpb4XKXMtMXeiVVb7J1YLcRgW1ZmVuLSxGopLkys1mLwwhL/mVhjie8Sayxx3kp7DPFVYo0tzhNriyEGU5Z40TjxtDE/F6WcDowHBE/msDFNImG0xZQRBAonDCvxhhH2vKZIZ9Ds+7EDfaWFnKZ4xhja5owxdcnYCAQv1p1Gi4sprn08cZbDt6ZYZasXIn5mLFHTjLCvVt1V+4rVt/M+4r3FPaJMbHaBKRKb3pyKxKZXtv/Er4yjZpRL6q042u34tzh4xV9H/FHnqBHKBQeEd6aqqwD6AAAAAElFTkSuQmCC') no-repeat}.x-button-forward:before,.x-toolbar .x-button-forward:before{right:-0.693em}.x-button-forward:after,.x-toolbar .x-button-forward:after{right:-0.628em}.x-button.x-button-plain,.x-toolbar .x-button.x-button-plain{background:none;border:0 none;-webkit-border-radius:none;border-radius:none;min-height:0;text-shadow:none;line-height:auto;height:auto;padding:0.5em}.x-button.x-button-plain > *,.x-toolbar .x-button.x-button-plain > *{overflow:visible}.x-button.x-button-plain .x-button-icon,.x-toolbar .x-button.x-button-plain .x-button-icon{-webkit-mask-size:1.4em;width:1.4em;height:1.4em}.x-button.x-button-plain.x-button-pressing,.x-button.x-button-plain.x-button-pressed,.x-toolbar .x-button.x-button-plain.x-button-pressing,.x-toolbar .x-button.x-button-plain.x-button-pressed{background:none;background-image:-webkit-gradient(radial, 50% 50%, 0, 50% 50%, 24, color-stop(0%, rgba(182,225,255,0.7)), color-stop(100%, rgba(182,225,255,0)));background-image:-webkit-radial-gradient(rgba(182,225,255,0.7),rgba(182,225,255,0) 24px);background-image:radial-gradient(rgba(182,225,255,0.7),rgba(182,225,255,0) 24px)}.x-button.x-button-plain.x-button-pressing .x-button-icon.x-button-mask,.x-button.x-button-plain.x-button-pressed .x-button-icon.x-button-mask,.x-toolbar .x-button.x-button-plain.x-button-pressing .x-button-icon.x-button-mask,.x-toolbar .x-button.x-button-plain.x-button-pressed .x-button-icon.x-button-mask{background-color:#fff;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #e6e6e6), color-stop(10%, #f2f2f2), color-stop(65%, #ffffff), color-stop(100%, #ffffff));background-image:-webkit-linear-gradient(#e6e6e6,#f2f2f2 10%,#ffffff 65%,#ffffff);background-image:linear-gradient(#e6e6e6,#f2f2f2 10%,#ffffff 65%,#ffffff)}.x-segmentedbutton .x-button{margin:0;-webkit-border-radius:0;border-radius:0}.x-segmentedbutton .x-button.x-first{-webkit-border-top-left-radius:0.4em;border-top-left-radius:0.4em;-webkit-border-bottom-left-radius:0.4em;border-bottom-left-radius:0.4em}.x-segmentedbutton .x-button.x-last{-webkit-border-top-right-radius:0.4em;border-top-right-radius:0.4em;-webkit-border-bottom-right-radius:0.4em;border-bottom-right-radius:0.4em}.x-segmentedbutton .x-button:not(:first-child){border-left:0}.x-hasbadge{overflow:visible}.x-hasbadge .x-badge{-webkit-background-clip:padding;background-clip:padding-box;-webkit-border-radius:0.2em;border-radius:0.2em;padding:.1em .3em;z-index:2;text-shadow:rgba(0, 0, 0, 0.5) 0 -0.08em 0;-webkit-box-shadow:rgba(0, 0, 0, 0.5) 0 0.1em 0.1em;box-shadow:rgba(0, 0, 0, 0.5) 0 0.1em 0.1em;overflow:hidden;color:#ffcccc;border:1px solid #990000;position:absolute;width:auto;min-width:2em;line-height:1.2em;font-size:.6em;right:0px;top:-0.2em;max-width:95%;background-color:#cc0000;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ff6666), color-stop(2%, #f00000), color-stop(100%, #a80000));background-image:-webkit-linear-gradient(#ff6666,#f00000 2%,#a80000);background-image:linear-gradient(#ff6666,#f00000 2%,#a80000);display:inline-block}.x-tab .x-button-icon.action,.x-button .x-button-icon.x-icon-mask.action{-webkit-mask-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAFI0lEQVRoBe2YW4hVVRjHZ0yzq6lFEaMlE0PShYRAJIl6iEqKHnqI6WJB0IvdICkfEk0aIyo0KFCph8giCitI7CkoohQL7SoZDaQmXSgKo4uWNf1+zt7DOXvOOXuvvc85bc+cD36ssy/r+77/Xmt9e+3TOzIy0jORbNJEEqvWruBOH/HuCHdHuMOeQOmmdO+ozaA5oxXPunSC2Re4MbgCNiB6vvqbKbx0giNxp9BeBU/BIJqnRecLN2UVrLDj4GIYgscRfSltYSuzYMUdA/0wCI8ieglM5XduK7vgWJhTegGshucRfQHkyj1XpziLNrfmOh2ug1dhMaJn0gbZZDpNpsexQb2y3azfKXCAwns4W5dMd7m2B2ANLCT/x/A/nKknN5mUhWFp1g4Z7vM14jrbBZvgEwi1tAdkDEf3ZrgI0S/RrkP4IdqGpuA+cJo0yw7iyNfJmzAcMrokfjp93HC4XrPYCdzkgPXDPPqvJN7eRh0VrBWqfKMuev6k3Qzr4SP4HWqOFIkZ73iYA/NhLpwPZ4LLS+FZzUp+GtwAA/heS/sGwv+irWnXc9bdTRF20/8eOBWmEKwnCectOrPhSlgF2+Bb+Bl+AxP8B/6FvLn8Td8fYQXMSubgsVZU8Cv4mAeNhC7k+jLYCopzrRURlvZA9P8WLIJJlcI5zi1Ypw+Dr4oqp3EAzlsbLCjfg1PeEUxLtlnXXU4/wQboq8gpl2BHx2l5UuyosuW8I6rQb8Bp1iwRefy4VN6FReaopU3pX7jnhwSO7MmVIiNnJ3L+DtgHCm3ltA0RH4/26rhKk1tdu4kr7yeuHkKgU3rMqI5ncfAQDIKbg14oi1nJv4OvTShthC9LjmTyGB8XwhZw+oQ8+Xbc68C8AOboK6+YYPpfDV+B06YdAkJiuMtzhvrOP1JYafMLpu/Z8CmEJNGOe60fz0J/cjZmWcP0G2+sWZ/aUnCqhFosOq7gyf6uOT888th+Ot0HmxF7MOkgt2AcXQNLkg5rHPv+dffjVvPX6PdeWtf7MJhUssD578ZtEGL6sY4MIfTjeh1zCWZ0Z+DwQXAkapkjtzviPdoPYB+JuJVMNfy7QQkR7MbGPfRaYhi7ruUSjLcbwe1k0tw2vgivwy6C70/ekPE4JK+N+HySWDuz+A5xXOnvlsqD6Lf/QjwBnxNc4a02YwzBeuIdyBosWDDT7RKcn1MRYA+/V8ImAv9Rcb5VP53ufoQ8AB8S0+PMFiwYz5fDzCjCF7SLCbojOm514zZ3HViYLIZVxmD4h8B0rtWtFXkEn4tTv22thPe2SawVeDs8TTz/NqoyhLqDGoC7wervt3lNCxKMY/fIc+BLuJXgn9G20pyuVuA1sJF4vt7GjHx8nZnT7XAXzIXnoK4FCcbLVHAqLW+DWF8v78Aq2EY8v7zGDK2+EmfBI3AtTAPNTU1dCxXs/a6ht+t6bM4FNykvw/0IdYSrDLHu8iyeQ7Cg6mLKQahgd0pbSOJwit/cl6Np6p+BrxGn6hNUp1z3m/tOWAH+DrIgwSTQcBcTFLnOzcRwSjZ6j/vdvQyCxRrSanu0mWvZqp3LjkbBuYTGnSac4CxreCQqJPFD+r/bhq+dtOSyCO7DyWzIcm9avKLXXb+FcskiYjlBfB0lP9KLJp+nv6N7ZL+cp7N9sgg+L6/zMvabcEWrK7iM07CZOXVHuJlPs4y+rNJ74JkyJpczp62N+vWOfpw0uqWzrnXXcGeN53g13REe/0w660x3hDtrPMer+Q9LNCcV91c+jgAAAABJRU5ErkJggg==')}.x-tab .x-button-icon.add,.x-button .x-button-icon.x-icon-mask.add{-webkit-mask-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAABqUlEQVRoBe2awWnDUBBE843B4NxcQSAFOC4lJeTkoxtJDykgvRhcgCFNJCFgIs+ChEHSJX93YT6ZD4ssmR3NztNFH5Wu6+6iVynlEZpbp+4J3s5OjWm7DRxZuMMCdUB9oyzNmrJe01hEejMtM5exIh6bCI3JbFkDT27EckEDs5DI8iHCWcmy6IowC4ksHyKclSyLrgizkMjyIcJZybLoijALiSwfIpyVLItuOGFso/xiuEvAgJdeK0DqJrHEhtsTTh9ul9y/ChR2KE+Y1ruDt2ccI7d6PszcK+oFFblWELt3Cn6i/8epMW5/W+LKGrUZ/0NwboF5QxuPsfY8dmOxJs41cBOYHCZF2BFeE60i3AQmh0kRdoTXRKsIN4HJYVKEHeE10frvCNvr4RH1HojH3rGHr3hqA7VdkxPKvuKJ3AA4hn7BM3xxA5N71Fdv1gz/tax3P+hFHmsJwM/8wraMadqOh5GuXda76rVqNWb7wgeevQvRRQ1MBCPFiginxEokKsJEMFKsiHBKrESiIkwEI8WKCKfESiQqwkQwUqyIcEqsRKIiTAQjxcoVrP83/9czD9EAAAAASUVORK5CYII=')}.x-tab .x-button-icon.arrow_down,.x-button .x-button-icon.x-icon-mask.arrow_down{-webkit-mask-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpGRTdGMTE3NDA3MjA2ODExOTJDQUMyNUQwRUE4NjdEQiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoxQTFBMDFDQ0I5NEYxMURGQUU1RjlGMEFERUNDQTVEMCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoyMkRCMDIxMkI5NEUxMURGQUU1RjlGMEFERUNDQTVEMCIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IE1hY2ludG9zaCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjMwRTE0QzVBNDIyMjY4MTFCQ0ZCOTAzOTcwNzcyRkVCIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkZFN0YxMTc0MDcyMDY4MTE5MkNBQzI1RDBFQTg2N0RCIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+HfrH/AAAAeVJREFUeNrs2cFHBGEUAPA3zYqIiIhOnTpFRHSKrp26RqeuEV077R/QqWtE166dOkVERHRa9hQRnZalFcv0Hk/W1Mx+38z3vvlm5j3eZW+/9+abne+9KEkSaFPMQMtCwQpWsIIVrGAFK1jBClawgo2ik/4hiqJGwLKuvfpIc5xSkWqYr5hzU1s/mRNxXTPsJ+ZqluvXlwOmSj3XBDvG3M1rpAmYYoUrFzr4ZNqTawqm2MH8Dhh7ZXJUbcAUx4FinzBnJcAUl4FhP/jIgRSYKvkYCJaO2LbNv08RMMUy5nsA4COTLy0XYIqtil9iF6aflq7AwBWuAvuQ9ZKSBgNX2ieWjtKSzeXBNZgqfe8J+4W5aXtbcg0GrvibB/BhkeuhBJhigzsghT0veh+WAlMcCGHvMOMQwcCdcIntYy6WmXhIg2PuiAvsEHO97IhHGgzckb4D8L6LmZYPMHBnhiWwXVdDPF9g4A4Vwd66nFr6BAN3ygbbw1yoMzjmjplgB5hrrufSvsHAHesZDOD2JAbxVYCBOzfIAZ9JbR6qAgN3cPwP9kZy1VIlGLiTdluCmoOBO/pnS9Bk8DzmS3pL4BMcpZEe1qX0GI/atC4dQYXRMa1MU0IX4gpWsIIVrGAFK1jBCnYUPwIMAPUPAyFL+nRdAAAAAElFTkSuQmCC')}.x-tab .x-button-icon.arrow_left,.x-button .x-button-icon.x-icon-mask.arrow_left{-webkit-mask-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpGRTdGMTE3NDA3MjA2ODExOTJDQUMyNUQwRUE4NjdEQiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpGMDZEQTFBREFDOTMxMURGOEQ2MUVDMjM0MzY2NTBDQSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpGMDZEQTFBQ0FDOTMxMURGOEQ2MUVDMjM0MzY2NTBDQSIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IE1hY2ludG9zaCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkFGQzJEMjQxRjIyMDY4MTE4QTZEQzUxMDg5Q0Y0RTRFIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkZFN0YxMTc0MDcyMDY4MTE5MkNBQzI1RDBFQTg2N0RCIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+FXGmxAAAAghJREFUeNrsm09ERFEUxt+rxBAxqyFm1SqiRYpMSpFapUVaRGpTRIpIbWLaFJEoRZtilChRWiRKsyklilYRERERERGZvsN57Wfmvnnnznkfv+WM+bn3e/ePN24mk3E0pcRRllC42FOWy4dc1w30R+fz3LFthEs1TelZ0KlBuAIcgmRgHS5gqlm2RsNTmqbvrUlZycLT4BhUiliWfEwEbII+UeuwT4nzqNZq2Gm1gTu/ZaUIj4NTEBW7tTTY1zUwKH4vbaive6BBw2kpAa6DkA1CeBicgZhVx8McUg5WWNi+83CWiXFfE9ZeAGQR6ukBqJKyu/Gzw7TcXEiS9UuYbiWWeU8ckXYqMT2lozyFW6SeOU0K1/FhPS75RsHUlKbj3KV0WRPC1Nd5sCuxr6anNPV12zFwk2jLCCdtk81XeAIsahL+BVOgH3xrEPayA5rAixZhyj2oB2ktwpR30A5WtQh7vR4DQ+BHg7CXLdAMXrUIU26411dahClvoBVsaBF2uMsjYFRCrwt5a7kOOnjUVQg7vE43cr9VCDu8I6Nep7QIO7z3HgCTvHYXvbCXJe71hxZhyjmv1w9ahCnP/DDb1yLs9boXzGgR9rIAusCnFmHKCff6UYsw5Ymlj7QIU75AN5gz9YVuLu8eB/S+dA+v1+l83pe2Sfg/BRe2OeGfPELhUDgUtip/AgwAw4tbozZtKFwAAAAASUVORK5CYII=')}.x-tab .x-button-icon.arrow_right,.x-button .x-button-icon.x-icon-mask.arrow_right{-webkit-mask-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpGRTdGMTE3NDA3MjA2ODExOTJDQUMyNUQwRUE4NjdEQiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpGMDZEQTFCMUFDOTMxMURGOEQ2MUVDMjM0MzY2NTBDQSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpGMDZEQTFCMEFDOTMxMURGOEQ2MUVDMjM0MzY2NTBDQSIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IE1hY2ludG9zaCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkFGQzJEMjQxRjIyMDY4MTE4QTZEQzUxMDg5Q0Y0RTRFIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkZFN0YxMTc0MDcyMDY4MTE5MkNBQzI1RDBFQTg2N0RCIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+xvZexwAAAhhJREFUeNrsm8FHRFEUxu9rxhARsxqiVauYXWoTpTYtUkRqlWkz0WaiTW2iNi3atGhTm4k2E5GYSJRaZcZQtIqIISIiYhgyfZdv/oF59913X+cdfst5733u+c495743XqvVUpKiSwmLWPB/j2QnP/I8L9SH9lN3/KxwQlpKT4FtaR7eAhegR1LRmgEVMCCpSg+CGtNczLbUC8pgQ9I+rCv3LiiBbkmNxwJ93S+p08qCRzAhqbVMg2tQkNRLa1/vg6ILvrY5POTAXdi+tj0tDbOYjUoaDzPgBuQlzcMpcEhSkg4A8lztjBTBin6u0d8iBOvoYwXPSRGsuEcXuWcnJAhuR4G+TksRrGOMfXhWimDFjqzCyUuE4LavS5yxExIEt0OfopRN+DpKbx6MHAtHSfAeWPN7kWQEhDbAMjg1cTHXBdfBLHiSUKXvwZBJsS4LPgCT4NP0hV1L6SZYAcdB3cAlwe9gDlQlTEsP9Gs16Bu5IPgIjIOP/34AoP26Ss82bd00LA/r1Vzk1mM1whCsfTrPpsJ62E7pE/q1HpaPbAn+Betgib1xaGEjpb+Ywrcu7H9BC35m8//mSncTZEqfgRGXxAYpeJNp3FCOhemU/ub+euXqzGlS8AuYBq8unyiYSulLNv9OizUleIcr+6MiEF4n3x7ze2n9OkSfE5/bfmg/30v7ERxaWBcc5Yj/5BELjgXHgiMVfwIMAGPkXbHq6ClAAAAAAElFTkSuQmCC')}.x-tab .x-button-icon.arrow_up,.x-button .x-button-icon.x-icon-mask.arrow_up{-webkit-mask-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpGRTdGMTE3NDA3MjA2ODExOTJDQUMyNUQwRUE4NjdEQiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpDQUZBQUM3NEFDOTMxMURGOEQ2MUVDMjM0MzY2NTBDQSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpDQUZBQUM3M0FDOTMxMURGOEQ2MUVDMjM0MzY2NTBDQSIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IE1hY2ludG9zaCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkFGQzJEMjQxRjIyMDY4MTE4QTZEQzUxMDg5Q0Y0RTRFIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkZFN0YxMTc0MDcyMDY4MTE5MkNBQzI1RDBFQTg2N0RCIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+ar3jxgAAAbFJREFUeNrs2j9ExGEcx/H71YmmpoiIaIq4KSKi6dabbo1oiqamm1qboimiNZpuuikiIqLppiPipqYjIuLp+/D95vy6X/frfr/n730e3sst53XP9x7u+V2ilKpM05qpTNkCGGCAAQYYYIABBhhggAEGeNSqpl9IkiQKWNbvfBc7PDdNIz1PPVK7Trd+OMPrRr8l9Uat2nT9+CyCW4yVnnnHowTXqa8UWHcdI3iNGozASscxgReo7h9YxTtfjwXcHoOVBjwJQYNPcmKlLk9EkODGP7FSO0TwOvU+IVjxZAQD1iPZK4CVGiGAZ6lOCVjFE7LhO/i0JKzUK3KImQY3S8ZKHZ4cr8A16sMQWPHkeANepF4MYqWmD2A9arcWsIonqOYafGYJK73yRDkB71nGSnd5r4jKBG9Sn47AunOb4CWq7xAr7dsA61G69wCreMK2TIMvPMFKfZ44I+ADz7DSQ9YhVgS87fiQGtdlmeBlvkNWnndYBljfGT8FgJVDbKco+CoQrBp6mrEyKfgoMOyvpxlZ4CT9vcXj0shWNe8nE8vCfzwABhhggAEGGGCATa1vAQYAZekAmr8OukgAAAAASUVORK5CYII=')}.x-tab .x-button-icon.compose,.x-button .x-button-icon.x-icon-mask.compose{-webkit-mask-image:url('data:image/png;base64,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')}.x-tab .x-button-icon.delete,.x-button .x-button-icon.x-icon-mask.delete{-webkit-mask-image:url('data:image/png;base64,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')}.x-tab .x-button-icon.organize,.x-button .x-button-icon.x-icon-mask.organize{-webkit-mask-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAEdUlEQVRoBe2aS2xMURjHjbbqUaLoI7RChQUiGo9YaEqkoolIkCASSki68dixsLIVYmHbkJA03UgkFRI2QgRBKl4RgtJFK0jUI+o5fv/p68ztmUlHzpzO9PZLfjP3fOfcO9//fOeee+69E4lGo6PCZKPDJFZaQyc4N1mGI5FIMfUVkAfZMPaVwE54yqn6i+8BllQwravgAEyEv5DppsQ8gYPw3hqsJi0bNJ4El0GZzSa6iHcbjLbpsp7DDGX5V8ByyDbLJ+CdUGQLPNGQnkzj3TDFspN68BNkwhDPIY5poG/T1lBYR+LOkuW4uSeR4KXssN48grF9h20NdeukYLRL96Y6vAD2wCwwbQyFvXARPpoVA85fKnXiN4HtvP2Gf0tPG3XWUKNYT4E6PxjvD3x1EDHPZZvgxTTSDBc8gMrKbql5gKHeJh7NM6/AFu91/EVmjHGTFmN+HA3qYSoE7SuO8+zcEawY4vJdfr8Z/ljiqMS3AV2RvjpTPc7V0A623rqJv8RsnynbxDUXXieJuy/LfRmmEzSd7wKtroL2Hcc5BL4LVmRCmbheEIfmHduVQ1muQV/3BN2bJZyqaANbdm/jL+xtm4nfxKcsP08Q/zX8MxV3TDXqx+PYBGUQNHVAI9AsYrsuB9sPVflDT5xH+O7OZn8kK9msJf6G3ooFOOr66+O2NOVL6A7oP/njmmREQcN5LGhy1cLJtBwK++FSLqrVSGvPcrCZGu8DZTqTBSs+zUkarTZTUrerYh50gHYY7rSpRxZCCYTByvouS2FQK42hE9w7S/tKsOaIt/AGfoMWO3OgFLyYb8FaGByHl6C1r27jlsAh8HaN14LD1+x8jN/KNVdqlAvhgq8YfJ/DLYjVUDatk8J905HObd+Cf1rEaHTp5sSL+RacaKWWyO+8E3wLdi4g1QOOCE61x7Kt/UiGsy1jqcY7kuFUeyzF9ok6WA8ZvJjLtbQWEI/hXpLIW4N1rLyiPHV5hP9MsM4or2V7hlH+702XghWE3gAcTRKN3mjY7AZOdZbNCnAug4wTrNXSItCrmmYSZ3tGTNVAo+1nvCLOyLyeT9WC7WlqXNtUCq7vlpTlGkQMeG+Vio9j6NbxMOjtn8u7udjzaJcH1H3uLViVikCzLftqEtsKbeAyNh3LuWAdVM+yr8JsU8hgt9mvGh6ATousEKwgdcvXCMWDFap2mOYBTWK6b3YtNvYDrs9hM0i9BTgB+YMRTbvp0AS6bzaP43I7LUPaDFBvHPVmIy+ZaOp1+TkJX8Dc3/V22gUrYF1jN4L1r0T4NSPXg+sZ2dZZXgRr5m6BymCW8en6rc54BrYAXfu8CFbQmoQ0c1eYoilXw0NQp7gWZzueN8H68S44DbG/IPA9H66AL7FR12tpYk9qetOwGfSaVjcMNVAFie6iqHJv6bws2YaUfLpctYP+S5WoTVr8vjOMvphN4FN4N69Dybs6yw+OCLZ0yrByhS7DmrRaoQE0Kw5707JOf/UvH/ZKewTG/kscFrHSGbpzOHSC/wHSRhVOrpN3ggAAAABJRU5ErkJggg==')}.x-tab .x-button-icon.refresh,.x-button .x-button-icon.x-icon-mask.refresh{-webkit-mask-image:url('data:image/png;base64,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')}.x-tab .x-button-icon.reply,.x-button .x-button-icon.x-icon-mask.reply{-webkit-mask-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAES0lEQVRoBe2ZSWgUQRSGM24YTdSo4AYRTcxBEZJDJCoigrtGg6CIgihqogfRgEERguhB40UP6kHw4kEET4J4E9wPAdeg4ALigjuKcSMuMX7/mAmdSU/SXdM9PTPpBx/T3al67/31urq6K5G2trac3mR9epNYaQ0FZ3vFwwqHFc6yEQhv6SwraBc5YYW7DEmWXUhZhSORSC7UwKIgxzAlghE5CZFHoAEKgxTcz8/gCI3gfzHsh6l+xnLq2zfBaC0miXpYDvmgu+kXBGqeC0aohK2D7TAF+kPamKeCETseZdugGgZDSp4RxHFsnghGqKo4H/aB5uoASEtLWjBiZ6KsFlaAHlJpbUkJRmwl6rTcFKW1SktyRoIROhofdbARhlr8OTkMdBPNlWCE6iG0AA5AqRN1Nm1cxbTpn9Qlx8ERO4pIG0Br6yDDqH3pV4kvPdRewCd4C+/ZPdWx7xZxsk1LgqvIZDeUeZzRT/xJ8Dt4BQ/gGjSSVzO/3psEJ4JoY+A4fATNvVTwhjh34RSshMGJ8jO5biuWIJqrc6AJ/kIqhNrF+EFs3fqHYRoMMxFp7dNFME5Hwi5QMLskgrqmgb8M+hgZYRXh5riTYBxpFM9CUKKcxlWOSyHPjVi1jQqmYy7shQ/gNGjQ7f6Q6yWY7UY07XNK4CK0QtAiTOK/J29tLOQ7EU67nIGgtfU1mARMhz6a3zegtCfRHXOYxhXtndJBgGkOT9FQ1Z3oDsFqhBXAFngJpkGD7veN3NclEt1JcKwRHaaD3niCTt40vh6+q2N6rL+2gtUA03p8FL6AaeAg++ntsNwqNqor/kL8OZ2WgF71vEpeq8FvC36uDveJM8qqyenHwzg67oE1MAxMTeLOQyNod0SDqO2hCaDVIma6u3R9OAxq/9WxW9PT+wRsQ7RiE7Gbj4f4v9F8Fujxb1ptfR2tj/cbf04bfbbqZWgsFEM5LITNcBLc3HF6iM2IxXAlWJ0wJXEQfoFb4RJcEwtu8kv/PCiEGdAAevFQJbvL5Rh/j351uRbcLloVmA83ewgUn0TSgq2DRGzloVt9E9yDFoiPqfOvUBHN3erA7TFOtG6fBqdfVp4KtuZLDqr8DrgDdqIPcb2/UYXjAmmu1cLDBIGswX0THMuJHIrgDGglsMZu4nxI0oItgcbjUHP7MyRaanwXrHywvlAFj8E6v+dqZ8MTI9BzHO2DtaC9KY1wIEYurXCO4JrbjyA6CvzO80wwznS3tMAFDpfBKdArnkY4ECOXqwTWUqZvA1mJp4L/+4wKf8ZxDeyE26AlLBBD9HUC14GWr8mezWEc2/oiiNZM/TumGbRLkdQ6nChOT9eJWw3ffakwjjuMRF5wUg9b4QnE5hOHKTVNsSuO3qW9SosN/Yn4KmAQbnnl040f4pelVLCb5Pxq6/st7Vfipn5DwaYjlyn9wgpnSqVM8wwrbDpymdIvrHCmVMo0z15X4X9rh8wHLEjawQAAAABJRU5ErkJggg==')}.x-tab .x-button-icon.search,.x-button .x-button-icon.x-icon-mask.search{-webkit-mask-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAGdElEQVRoBdWaa4ycUxjHd9rpbm2bqKhiUavbVZdo0LCyLl3iHhGEkkZsKBYJX4RISHwQIYIPNJoQlUjTuCakUZ9oVGRF0GywslvqbgkpDarqsn7/6XsmM5n38pzzvtudeZL/nplznvM8z//cz5ktTU5OtuWRUqk0i/qdoAN0gcXgP+CkzIcx8APYBXbi82/SaZFSKGGILiTibnA+GADHgbkgSXZT8CF4GwyDEXxvI92r4k0Yoj1EeAG4CvSDEggRkX8VbID4lhADQXXUwxZgfAF4CGwFmgdFYQJb68HJljjy6mSSJZAZ4CLwESiKZJydb7A/CGblJZVWP5UwzueBB8AfIC7IovO0mK0B89KCzlOWSBinWoBeAkWTstiT3948xJLqxhLG2Xzw4jSRdQ0yiv/upMBD8xsI40Rzdu00k3WknyeO+aHk4urFEb4TJ/80CWEdYB4BhS1kdfswe+zpGNf80RYUIr9QSdgOdNCYCfaLcABpqFxBbymu3FIlDFkdD18B5wRYHaHOJvAeGCU4fa8IdnXUPAaoMZeDk4CvfEKFM7CrhswnbpxjZQX4C7j5Y0m1d64EXc5OWoqeFsPLwTvAYt/p/Iv+6jTb1rLKHMbYgWCjZxCb0T/e6qhWj3o6hz8HRMSRykp17l5WayfksyN8oafzTegfHOLQ1aG+blc6ZGQRdeVawB4GlWno7Pim1G9rB08AZzgrfRfdw3wdxelHvl/38K01Itc2Rf22Q8BPIIuoynXQL/SQj71DwcfA4n8nev1xjWfN0yGjD2gxsYh6432LolWHQL9F91Gj/j7oacUPFhE+11hbLxbrCFBzqWh5A4PDRqN90RZqVK9XE+ET67MSv41D9s3E0nwFX1Ndu4RFjkZpjkUxTkeEdTDIEvXqW1lKoeU0pOavXj10OsuSI1CYnaWUVC7COvpliR7f9CQzlaK5/LPBQRc6mstBIsIW0WXiO4tiDh35mIr1oS4kK2ENOctwqzPu+SX0MdDLjZWw9Pb1suyv7EPYR7cuEithLRLL6moW/0VriaVRtT1qTQkSER411Cyjc4pBL4/KEirPNRj4FZ3gXy5EWM+vWaIhtJQNf2GWYkg5dtWzui9bhuqn6OkVNUhE+ANjTZG91Kjrq6bDxHnGStqvcxHWsU5bQpZ0orCK3rDs21m2quXY6+DLTWBBNTP9wxbOKZZ4E63omLYZWG4r0nkQtOtwVASwdYeH723o9uTxS/3Ks+ytHk5/R3cI5LqIK2hEDw86XVkb+wV0Z+YiHDnWCjnu4Vj3Ug3DzhDn1NPacTX4HljJ6gFPr5e5RpZ74tFz6l0ezhWk5tFTYJFPEOjrLKxhrEazktWR8zVQ9vEVp1ttLYyplyeANQinN0ydIXBUnAOXR7nsrwAbgatrTbX3nu1s5Ul1oKgIRsZYMR/jy72gY0+u6a8OJMJX1P+C9MsaqDcPAseCHtANQkRTwHIoybZd21qR0Q2k1pZP0tNJSIubLhxJOr75egO/sjbekM/VIe0qY1RDb6p//PYl6/QniO0sF2tI2kBYRpBTgVrUOWqm9DPiGgghW+GWVBGj/UCvEM1E1sWinr4sKfa0/NgedhUwqsVITzvOUTOl6gxv0qmERRw5HOi/bHz2zb3VMHp28hremYQj0rq23QhGwFSQ0ZVPu8NvAfa3Use8kJkI1wzxxRhfDcYDAotrKF0GngYnRA17D599f7KVXcVzmoszLfUi7AxhfBG4GKwFPudhBacnmpfBStDwnzrkrQIhpDW8L3ExJqXV/wBA2Vs4WelquT9Qzy8FvdHnDlKR01RQ8OrJMaAp8TnYQUA7SBsEm6pzPXgcyI6PaCG7Hdu6VcVLUkuE5ONBR8ByDGb42sPGteBPEDcV0vK0ZZ2Z5C9oSCcZKzqfwO8OJK2FbCAunqYmrICRQaA3rLRejSvTWtGwTzc94Yj0DQS/O4C05nQd6VYhrIVMpEN6Wqv3crBngY4b582aR9DXgJCFTPt05T+AtKq2jNARzxLs/UBbnY/0onwLO97sXPuwj8cidQn8OuytAe0edjUyuluqh2vIPcNnPS1rIbOKfkRf0pKEGdqSJyFwM/AZ3j+2JGHXpZDWWf4+sMvlpaTal7e3xLYEsdQ4ITIIsras29AppxrKctRM5ZDRLUvv13GnLl1p5yjellylCb5BolvWkRQMgT6g6apXmnVgPWQrc/1/boJCaHVWyukAAAAASUVORK5CYII=')}.x-tab .x-button-icon.settings,.x-button .x-button-icon.x-icon-mask.settings{-webkit-mask-image:url('data:image/png;base64,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')}.x-tab .x-button-icon.star,.x-button .x-button-icon.x-icon-mask.star{-webkit-mask-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAFfUlEQVRoBd2aXahVRRTHz/Ujv+2mZRGZB7W6mtpFikC7+UWUZiqBD0JPFdRL1EMFPfjoU4baS0FUD/UWZBEVShA+BCpmWApRSkgllNpDmZWZt9//eOay72afvWfWOTPn3rvgz8yeWbPW+s/XmT379AwODtZSSQ+CryVgA/gVfIx/pelEhFMBVlvBOaBeFo6Cean8y09KsnMg932TqCOs9M2UhMfhMJVsxtHcAmcbmekLCsqjFKUkvAYG1xSwmEHZqoLyKEVJCDOCNxH9HUCbVl6mULAuXxjrOQlhgl8Bbi0h0Uen3FBS37GqVIQHiHh2SdR16jTlo0t0woycpuxiUDSdHcFeMv3uIWYanTDB3wIWVZBQHP10zuQKvbarUxDWT1HRz1E++Ds99fLtgp6jEmbExhPNcs+IbkZPiCpRCRP5TPCQJ4MJ6A3QSUqjSWzC2ozuC4j+fnSnB+gHq8YmvJKIJgVEpRPX9QH6waqxCa8PjEhHT981H2j6qno0wqzF63BhOUxsom3Zb7aJqGsUjTAONFJlpysXQz7VuXpavrBTzzEJaz1adlzNjHs6RTBvJyZhjZTF/kTaWZZCnlvhsyWgQkPZQpagzsX1bFlAXjGtDdAPUu1p3PPQhCCXkdwG/mta0PWLds060AuAnqtEOjpdbQR3VymX1P9F3UfgGJA9X9F92c/ADaQ2P8V0DJ4/kDbeYKaSvgI2AN0+OGJK1VAbSIhTOXEOybYll2kte77yD4rqrHyb85S9Cl4HtReAyI11/A7HpRq5PSD6oR0f3Rad+H7S1DvV7UgS+tc1cU3n3V/AWJ/SX8BxVuMinow2rNNjlPQVeH0GFg378kDBfLAPXARjZbTPwmUXmOG+bgz71EKFfqKeAUWfREZbJxyCxyOOqEuHER4qrNUWovwy0CFktBHV4eNZMNvxyaaFhKWAaBt/HJwEo4W0luSKLMF8viVhp4iBeeBd8CcYqcQ1qi+CKS7uVmklYdcQY0+C42Ckkf6EmO51cVal3oRlCFkCdKgfCWtbo7obDO3AVWQbHHyUsjo40E6uq9cvQbdG+wN892fj8s0HjXDWKA51/t4JUo72H/jTDtybjSUkbyYsJ0gdfAtSjfTn+JoWQjCv2+57a4M1QaQSvZvrMsIs7RJejGcdUlLJUhzpZsYsZsJcCen6ZwCE3IaYA2021OfUdU3fJltmwni7Fvh+KDMF16KR3ux0lWuSdgjPxeNdJq/tNdKNqJaSSUyEmVK6JNPomtqbIh3eSKNsEmvAarfJ5LEzjbbR59MtpqyEb8eZjpndkhtxvNri3Er4YZxpx+yW6Jdhi8V5MOHm+n0QZ9afo0u0fQO8A5S3iPaQ1cTSG9w4f/SqesZBH/gRWI6T+gyyxfkgvw2cMdrS+/lTzpZvGnyWxsnTwHLRd4R2a/OBqQyoztKBe/P2qp6DCBOUptKHhuA+pU1fq2Co0/F0L9CVaghxXTbWW9ktKg8lrFfCrwODeh/9wgu1bEDo6OT2Fvgb+JLWq+nQEsnaa5UPJbwKBxc8A9KXPG1O3u+u6E4F24GvD3XMDjCxFcF8uTdhjGpHfwn49L42lCeAdyDZwGi3HpwAPr6+Q29htn1ZPoSwfuz3ewShXVcBNz62lzkvq6O9DjZHgQ9p72kdQljvob9VBPAN9Q+UEQmpw5b+Sf8e0FotI/4a9ZN8bIcQXlnh9AD1y3ychuhgU0tpJyhb14epn+ljN+Sk9S9G1ct50d8SdgF9x9EO3lHB5hXwPEYfA8dbGD9LuWZBtfj0inSQWUDTKzu1dAB5Dkz2tdOOHn70LvwVyMag/FYwzse295Rukq5j+G1wEOib66PAy5FPMD46+NPmqTV7CpwGGvkJPm2l8z8GWDNDloqpGQAAAABJRU5ErkJggg==')}.x-tab .x-button-icon.trash,.x-button .x-button-icon.x-icon-mask.trash{-webkit-mask-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAFBElEQVRoBe2aS4gdRRRA8+L/m0QIJkYNLlQUNOAvigpRcCEIcSsiCLoLLoILcaM7QVBX4koRshDxt9CFKCoiuvGDCP5QkxCiJhInRo2Ovzie80gPNWX1dL3uesM09IUz3V1169a9daur+031aG5ubkUpGY1GK7G1Dq4Cz9vKiIY74Sv8+72tkWQ7Ay4Bxo+Hu2E3/AuOZBf+ov2TsL6Ef5WNUsGazXvgEHQJMm77N/aeg3Mrh7seOweMM2bWYH+B2OES1/9g9w0oEnSngHHCYO+FGSgRXJ0NM/0idA565BRpKyxSt9J2B5xWY+Mw5Udq6uqKT6XimESlmX4d7sTnA4n6rKJjs7QSSgTrSno7nJyodtFyGr4AP4G6TeLIHweb4A44C0LR1xtgCzwP7aTtIkBvLlSfQjwNZyl7FNa0sU077V4DX0Js25X7cRjPzDb2Nd5FnK7xPbGXskdwxsxOLLRzdnwIj8GvkQFnypqobKLLrgGnOjMzP6cqJijzfn0NXPljmXRNWNC+dcBHM7HA2NELp10nwbaz5iC4OsdidTyrYp3a68ZFi7XJFfNsOBGcUmFnPpbiBWkVZefT7g+OXcTF0EUsFPtaje0Lw0LOzfoM49B4Gy36WMKwK+WDcC2cAmGwXK7YAAYdym9c+NiIdUOdnHODc6DjpPioix9LBvwtPE3QOzjWi7MjBS0M8CGY1huUA1ISg/4cNqXiqcqSwVqJ3AQ/QEmnpm3LR+IzsLYKMD4mA6bBOfAKuFpO28nS9v0Bcxckn9V1Ad9Pg2m/H5cONLT3Mf5fFGfX63hBQG8s7/LXxcdV0nvjMtgKp0MojuaroM60xYB8Z78ZTog6c515B1ylXey+ARe3/0tqFNCy0RjrkdvgOwhH0TeiB2A1uMBNGx9Ta+FZiP34mrIrQR39cECSUzqZYYIcR0mjJtmFwmHUvdenLjwmnUl7Eh05+LP40fjvoGTACYN1Rc6CecGhM7lw2lt+AA7Fg4fOespXgYO0j3pvnXmh3rY+/52+vrXtRSd841rQJ/WV1JVX9eNj14DnjeHnJVw8DBeAnX8A2ynfXwXN+cWUPQUOjNl6i7Jt1I9nCOe+1V0NT4AB/wkvw31QRIoFjDfnwRXgfVbJGZzsry44boTNUGVjlvOToPpV5FvbjXApKE7VLZ6UkpWlDGHH+96pV93/4TSsujGA8MeF51Xw6njuO3soKTth/UTnJQOeqONFlKsBW0SlfdVyDLh9NBkth4AzBqnXKkOGe52+DOeHDGcMUq9Vhgz3On0Zzg8ZzhikXqsMGe51+jKcHzKcMUi9Vhky3Ov0ZTg/ZDhjkHqtMmS41+nLcH7IcMYg9VplOWY4/Md88cEtHbDOVg5Xx9jpsM9Yx52JeAcw1ontTXRdcm9pFz3vBveHdNJN6YPVRhrnivtMlruZ5g7DFxBuXLut8j7sA/d43Yr5CIpJsYAJ7DN2/27Bsw1gwAb3I8wLOp+g4w6+nw/6HddOyszqWDg/Qv2bXFwH4+1SyhyUYtI1YLc85wXn/ORAagWdPVRKUqh3AJwtdTLeWq2rbCoP76cm3bjeLG6ELjZim03XJujyJqXF6rtmeDvGNzMN/ajEAZi2rKOD67t00jVgN7+3dnFgqdsu5XRc6tiS/eUGvBTTNengBIVZPuYG7LcYPjdluYk++bTw++pGyQ34bSy9B35Vs5zEYGfgJfg+x7H/ADoy2VfnrtXoAAAAAElFTkSuQmCC')}.x-tab .x-button-icon.maps,.x-button .x-button-icon.x-icon-mask.maps{-webkit-mask-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAADl0lEQVRoBe2b24tNURzHjfutXEPycDAltwhJbuMSJUqSB/HiES/+AK9ePc6T8uCFkImQW5KGkdwSxYyMGkZu45bbDOPzyZyTrJnjnDkGrVm/+szas2bv397f33ftPS+/Vdba2toj5igj0NcfRkG/3qWIJdcIrs/AO6gDq7cKPkOjUNAmxr8ePJsix8NUWAvLoapowSQawIUzYCZUwAqohF3QAjtgGTyCy5x/nfEu1MNDCmAxuiS4Vy8ST4DZMB9WwiTIRUGC26q1gKtWwyyYBsPB5aLIL5CNTxzotDeWTeA5DUKuO4xXoQbxHpcUbSIzJFkDi0EzdLYnBNGuYJJ4ch+YAhvB5TAORsKvib4x97vwPpk2FjJuhibu85zxAlyCangBLRQib06u68t5vk4uVYVqgO+oqy9v5ASTRLd0LQNLYB24bAfBnw5zikX0HtuhGW5ANY9ylvEBvIY3FOArcz7rWHCpboBFMAxyGjguKIZy1jzYCqfAD5BLslB8J3dCP/AdOgo+fKHXd3Sebh+EctCMieBK6Oj8QuYrXZ7roQr88PiSD4b/IVyyfhB9jQy/uppTUijYhANLytJ1F/sxzL7POpg97vQdFfwVTNYtQsHdKpLg2O1ODieHI6tAWtKRGRrISQ4HJYlsIjkcmaGBnORwUJLIJpLDkRkayEkOByWJbCI5HJmhgZzkcFCSyCaSw5EZGshJDgcliWwiORyZoYGc5HBQksgmksORGRrISQ4HJYlsIjkcmaGBnORwUJLIJpLDkRkayEkOByWJbKLbOVx0r3E7httIbttwNvzddt//JWxIfQynYX8pgu2TbgBbjw9Ds53sNHJv49gOehu5bUe2DfjXojDVpWG/9iu4CEegBp7xfO+LFfyGC5+AiQ7BFXj/c8s+xw+Z24PwvYwKnQxLoQLccGEB7Hsu9t5ckjcU2QjuozgA5+Apz9PCmItCbvqWs2vhJpwBl8ZrEuVtOebPtiWLbf2ymyL0ZVT8XJgDbgHIgFsPOhPmr4d7oAnHue9txg6jI8EfueIaHIOrcAuafieSc/IG19vw7TYD6UEBbE4vhwxMB7cizIYhYPT6MeR+WjBFPoCToEgF1hb6bD8LNpHLwT0L56EOGkhUchc6edoNcruvQWoQ7/6GMTAa3E2zACxGNjRhH9wHV4zP9oGxqCjj7C0wA06Ay/YliRT/T4MCuGnEfQ4feJ5mfvdfaG+OXSWdju+VpAoIK3D9tAAAAABJRU5ErkJggg==')}.x-tab .x-button-icon.locate,.x-button .x-button-icon.x-icon-mask.locate{-webkit-mask-image:url('data:image/png;base64,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')}.x-tab .x-button-icon.home,.x-button .x-button-icon.x-icon-mask.home{-webkit-mask-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAEK0lEQVRoBe2Zy28NURzHe/vwqEepYkFIQzxWaCOC2HhELEgQImhXIrqyIEXikVQi+gdIwx9AItg1NiJELMSGhKQbobY2VY9Srfp8m5lmTO/cOXN7Zu656f0ln8zMnTNnft/z+505j5sbGxurmk5WPZ3ESuu0E1xbigjncrka3jsbftClIvsU5RZ65aLK5Lj/C75SzSjHWCuJYLxqhPXwBgYhylq4sRaixChDP8EzGIJ4UwNnCR6tgFswANegKer93LsLim4herm/JKqO8O+ZRdhL42acOwunYAacg2Hu3ePYj3Ph1A1fU2ySmZSZeCiTjxaC1LAboRs6QGJl8+AKXIU1kLqlHmHEqlFboQv2gD40QdPHqx3qKdtJkD8Hb9o+TzXCXmT1cboB+cT6evTVPgIXeWYl6DoVSy3COF2Hx0rjTthp4L0a/4xXrofn33OeqH8avKMqFcE4O4uXb4ULsNfEEa+M0v00LIIuCKc/P03NrAtGrD5Iiuh10Dia1JTOR0EZsjjpw3HlrQpGbD0v3AzFig36e4CLkeAPNs6tCUbsHBxS+mpsLSayYT2KtLBqVgQjdgFe7QP1u9VWPbRc2ZQFe2LV5zSBWG7ZP+vVTUkwYhvx6DicB+fFqvWKFuyJ1QxJ00It48rCNNgnNi+N23hQaVw2YiU0cYQRq9Q9CJdBKV1q02zMeEaWSDBil1L5JTgBDeCCzcUJ8cXImfACOeqayjbBffgDfqu6cPyJP3dgVZTvwd9jdzuoSFmgicRDGAYXRIZ9+I5fPbA6KC7feUHBVKD5rJZ1EutaZMOiv+HjbWjJJ9T/LVIwDyqyh+ApuC7WFy/RCk4r5HyRwWNewRSW2N3wGv6CX2E5HBWcB9AaFOqfTxJMQa1lNewosqNQDiLDPmqv+hFsgzpfrI7/CeamVjwnQZEtV7G+eEX6MeyHGl/0hGB+1MJdYt+B/1C5H9UdX8J2qJ6IMBfz4Ri8hXIXGfZfmdoLWr5W1zJ7ktg2aId18BuiTHNvDVUumQSNxDikLSdtBzdok0yCD8MyiLNmCqhxXBL9An+egNI3yqRT9z+O92FO/O2UuOMuymoqF06bUl53489MQw21Gm8lWmkRa6R/oVaMfT6lAmrsUVMNRa2HU3I8k2orgjNp5hK+ZLwPp/x+fR+0ONfMp9BfJ+qLmulpyze1zMtC8AACbkI/xAneQZkO0JiZimUheAjPn0MfxAnWVo3RiEG5oiwLwXJsmGFDK5iCxrCnGZNSOzVLra+EPDZ9T6EMCFVZ3KWpI8XV7uBTFcEOBsWqS5UIW21OByurRNjBoFh1qRJhq83pYGWVCDsYFKsuVSJstTkdrGz8L0VTv1i+NVF2CyTJDC0LX7E8HIx7D/Vrb3wDaLvY1D5QsI/6jXZUEwk29cDlckki5bIOY9+mneB/GfbU3e4Ey5kAAAAASUVORK5CYII=')}.x-button.x-button-action,.x-toolbar .x-button.x-button-action,.x-button.x-button-action-round,.x-toolbar .x-button.x-button-action-round,.x-button.x-button-action-small,.x-toolbar .x-button.x-button-action-small{border:1px solid #002f50;border-top-color:#003e6a;color:white}.x-button.x-button-action.x-button-back:before,.x-button.x-button-action.x-button-forward:before,.x-toolbar .x-button.x-button-action.x-button-back:before,.x-toolbar .x-button.x-button-action.x-button-forward:before,.x-button.x-button-action-round.x-button-back:before,.x-button.x-button-action-round.x-button-forward:before,.x-toolbar .x-button.x-button-action-round.x-button-back:before,.x-toolbar .x-button.x-button-action-round.x-button-forward:before,.x-button.x-button-action-small.x-button-back:before,.x-button.x-button-action-small.x-button-forward:before,.x-toolbar .x-button.x-button-action-small.x-button-back:before,.x-toolbar .x-button.x-button-action-small.x-button-forward:before{background:#002f50}.x-button.x-button-action,.x-button.x-button-action.x-button-back:after,.x-button.x-button-action.x-button-forward:after,.x-toolbar .x-button.x-button-action,.x-toolbar .x-button.x-button-action.x-button-back:after,.x-toolbar .x-button.x-button-action.x-button-forward:after,.x-button.x-button-action-round,.x-button.x-button-action-round.x-button-back:after,.x-button.x-button-action-round.x-button-forward:after,.x-toolbar .x-button.x-button-action-round,.x-toolbar .x-button.x-button-action-round.x-button-back:after,.x-toolbar .x-button.x-button-action-round.x-button-forward:after,.x-button.x-button-action-small,.x-button.x-button-action-small.x-button-back:after,.x-button.x-button-action-small.x-button-forward:after,.x-toolbar .x-button.x-button-action-small,.x-toolbar .x-button.x-button-action-small.x-button-back:after,.x-toolbar .x-button.x-button-action-small.x-button-forward:after{background-color:#006bb6;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #50b7ff), color-stop(2%, #0080da), color-stop(100%, #005692));background-image:-webkit-linear-gradient(#50b7ff,#0080da 2%,#005692);background-image:linear-gradient(#50b7ff,#0080da 2%,#005692)}.x-button.x-button-action .x-button-icon.x-icon-mask,.x-toolbar .x-button.x-button-action .x-button-icon.x-icon-mask,.x-button.x-button-action-round .x-button-icon.x-icon-mask,.x-toolbar .x-button.x-button-action-round .x-button-icon.x-icon-mask,.x-button.x-button-action-small .x-button-icon.x-icon-mask,.x-toolbar .x-button.x-button-action-small .x-button-icon.x-icon-mask{background-color:white;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ffffff), color-stop(2%, #ffffff), color-stop(100%, #dbf0ff));background-image:-webkit-linear-gradient(#ffffff,#ffffff 2%,#dbf0ff);background-image:linear-gradient(#ffffff,#ffffff 2%,#dbf0ff)}.x-button.x-button-action.x-button-pressing,.x-button.x-button-action.x-button-pressing:after,.x-button.x-button-action.x-button-pressed,.x-button.x-button-action.x-button-pressed:after,.x-button.x-button-action.x-button-active,.x-button.x-button-action.x-button-active:after,.x-toolbar .x-button.x-button-action.x-button-pressing,.x-toolbar .x-button.x-button-action.x-button-pressing:after,.x-toolbar .x-button.x-button-action.x-button-pressed,.x-toolbar .x-button.x-button-action.x-button-pressed:after,.x-toolbar .x-button.x-button-action.x-button-active,.x-toolbar .x-button.x-button-action.x-button-active:after,.x-button.x-button-action-round.x-button-pressing,.x-button.x-button-action-round.x-button-pressing:after,.x-button.x-button-action-round.x-button-pressed,.x-button.x-button-action-round.x-button-pressed:after,.x-button.x-button-action-round.x-button-active,.x-button.x-button-action-round.x-button-active:after,.x-toolbar .x-button.x-button-action-round.x-button-pressing,.x-toolbar .x-button.x-button-action-round.x-button-pressing:after,.x-toolbar .x-button.x-button-action-round.x-button-pressed,.x-toolbar .x-button.x-button-action-round.x-button-pressed:after,.x-toolbar .x-button.x-button-action-round.x-button-active,.x-toolbar .x-button.x-button-action-round.x-button-active:after,.x-button.x-button-action-small.x-button-pressing,.x-button.x-button-action-small.x-button-pressing:after,.x-button.x-button-action-small.x-button-pressed,.x-button.x-button-action-small.x-button-pressed:after,.x-button.x-button-action-small.x-button-active,.x-button.x-button-action-small.x-button-active:after,.x-toolbar .x-button.x-button-action-small.x-button-pressing,.x-toolbar .x-button.x-button-action-small.x-button-pressing:after,.x-toolbar .x-button.x-button-action-small.x-button-pressed,.x-toolbar .x-button.x-button-action-small.x-button-pressed:after,.x-toolbar .x-button.x-button-action-small.x-button-active,.x-toolbar .x-button.x-button-action-small.x-button-active:after{background-color:#0062a7;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #004474), color-stop(10%, #00538d), color-stop(65%, #0062a7), color-stop(100%, #0064a9));background-image:-webkit-linear-gradient(#004474,#00538d 10%,#0062a7 65%,#0064a9);background-image:linear-gradient(#004474,#00538d 10%,#0062a7 65%,#0064a9)}.x-button.x-button-confirm,.x-toolbar .x-button.x-button-confirm,.x-button.x-button-confirm-round,.x-toolbar .x-button.x-button-confirm-round,.x-button.x-button-confirm-small,.x-toolbar .x-button.x-button-confirm-small{border:1px solid #263501;border-top-color:#374e02;color:white}.x-button.x-button-confirm.x-button-back:before,.x-button.x-button-confirm.x-button-forward:before,.x-toolbar .x-button.x-button-confirm.x-button-back:before,.x-toolbar .x-button.x-button-confirm.x-button-forward:before,.x-button.x-button-confirm-round.x-button-back:before,.x-button.x-button-confirm-round.x-button-forward:before,.x-toolbar .x-button.x-button-confirm-round.x-button-back:before,.x-toolbar .x-button.x-button-confirm-round.x-button-forward:before,.x-button.x-button-confirm-small.x-button-back:before,.x-button.x-button-confirm-small.x-button-forward:before,.x-toolbar .x-button.x-button-confirm-small.x-button-back:before,.x-toolbar .x-button.x-button-confirm-small.x-button-forward:before{background:#263501}.x-button.x-button-confirm,.x-button.x-button-confirm.x-button-back:after,.x-button.x-button-confirm.x-button-forward:after,.x-toolbar .x-button.x-button-confirm,.x-toolbar .x-button.x-button-confirm.x-button-back:after,.x-toolbar .x-button.x-button-confirm.x-button-forward:after,.x-button.x-button-confirm-round,.x-button.x-button-confirm-round.x-button-back:after,.x-button.x-button-confirm-round.x-button-forward:after,.x-toolbar .x-button.x-button-confirm-round,.x-toolbar .x-button.x-button-confirm-round.x-button-back:after,.x-toolbar .x-button.x-button-confirm-round.x-button-forward:after,.x-button.x-button-confirm-small,.x-button.x-button-confirm-small.x-button-back:after,.x-button.x-button-confirm-small.x-button-forward:after,.x-toolbar .x-button.x-button-confirm-small,.x-toolbar .x-button.x-button-confirm-small.x-button-back:after,.x-toolbar .x-button.x-button-confirm-small.x-button-forward:after{background-color:#6c9804;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #c2fa3b), color-stop(2%, #85bb05), color-stop(100%, #547503));background-image:-webkit-linear-gradient(#c2fa3b,#85bb05 2%,#547503);background-image:linear-gradient(#c2fa3b,#85bb05 2%,#547503)}.x-button.x-button-confirm .x-button-icon.x-icon-mask,.x-toolbar .x-button.x-button-confirm .x-button-icon.x-icon-mask,.x-button.x-button-confirm-round .x-button-icon.x-icon-mask,.x-toolbar .x-button.x-button-confirm-round .x-button-icon.x-icon-mask,.x-button.x-button-confirm-small .x-button-icon.x-icon-mask,.x-toolbar .x-button.x-button-confirm-small .x-button-icon.x-icon-mask{background-color:white;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ffffff), color-stop(2%, #ffffff), color-stop(100%, #f4fedc));background-image:-webkit-linear-gradient(#ffffff,#ffffff 2%,#f4fedc);background-image:linear-gradient(#ffffff,#ffffff 2%,#f4fedc)}.x-button.x-button-confirm.x-button-pressing,.x-button.x-button-confirm.x-button-pressing:after,.x-button.x-button-confirm.x-button-pressed,.x-button.x-button-confirm.x-button-pressed:after,.x-button.x-button-confirm.x-button-active,.x-button.x-button-confirm.x-button-active:after,.x-toolbar .x-button.x-button-confirm.x-button-pressing,.x-toolbar .x-button.x-button-confirm.x-button-pressing:after,.x-toolbar .x-button.x-button-confirm.x-button-pressed,.x-toolbar .x-button.x-button-confirm.x-button-pressed:after,.x-toolbar .x-button.x-button-confirm.x-button-active,.x-toolbar .x-button.x-button-confirm.x-button-active:after,.x-button.x-button-confirm-round.x-button-pressing,.x-button.x-button-confirm-round.x-button-pressing:after,.x-button.x-button-confirm-round.x-button-pressed,.x-button.x-button-confirm-round.x-button-pressed:after,.x-button.x-button-confirm-round.x-button-active,.x-button.x-button-confirm-round.x-button-active:after,.x-toolbar .x-button.x-button-confirm-round.x-button-pressing,.x-toolbar .x-button.x-button-confirm-round.x-button-pressing:after,.x-toolbar .x-button.x-button-confirm-round.x-button-pressed,.x-toolbar .x-button.x-button-confirm-round.x-button-pressed:after,.x-toolbar .x-button.x-button-confirm-round.x-button-active,.x-toolbar .x-button.x-button-confirm-round.x-button-active:after,.x-button.x-button-confirm-small.x-button-pressing,.x-button.x-button-confirm-small.x-button-pressing:after,.x-button.x-button-confirm-small.x-button-pressed,.x-button.x-button-confirm-small.x-button-pressed:after,.x-button.x-button-confirm-small.x-button-active,.x-button.x-button-confirm-small.x-button-active:after,.x-toolbar .x-button.x-button-confirm-small.x-button-pressing,.x-toolbar .x-button.x-button-confirm-small.x-button-pressing:after,.x-toolbar .x-button.x-button-confirm-small.x-button-pressed,.x-toolbar .x-button.x-button-confirm-small.x-button-pressed:after,.x-toolbar .x-button.x-button-confirm-small.x-button-active,.x-toolbar .x-button.x-button-confirm-small.x-button-active:after{background-color:#628904;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #3e5702), color-stop(10%, #507003), color-stop(65%, #628904), color-stop(100%, #648c04));background-image:-webkit-linear-gradient(#3e5702,#507003 10%,#628904 65%,#648c04);background-image:linear-gradient(#3e5702,#507003 10%,#628904 65%,#648c04)}.x-button.x-button-decline,.x-toolbar .x-button.x-button-decline,.x-button.x-button-decline-round,.x-toolbar .x-button.x-button-decline-round,.x-button.x-button-decline-small,.x-toolbar .x-button.x-button-decline-small{border:1px solid #630303;border-top-color:#7c0303;color:white}.x-button.x-button-decline.x-button-back:before,.x-button.x-button-decline.x-button-forward:before,.x-toolbar .x-button.x-button-decline.x-button-back:before,.x-toolbar .x-button.x-button-decline.x-button-forward:before,.x-button.x-button-decline-round.x-button-back:before,.x-button.x-button-decline-round.x-button-forward:before,.x-toolbar .x-button.x-button-decline-round.x-button-back:before,.x-toolbar .x-button.x-button-decline-round.x-button-forward:before,.x-button.x-button-decline-small.x-button-back:before,.x-button.x-button-decline-small.x-button-forward:before,.x-toolbar .x-button.x-button-decline-small.x-button-back:before,.x-toolbar .x-button.x-button-decline-small.x-button-forward:before{background:#630303}.x-button.x-button-decline,.x-button.x-button-decline.x-button-back:after,.x-button.x-button-decline.x-button-forward:after,.x-toolbar .x-button.x-button-decline,.x-toolbar .x-button.x-button-decline.x-button-back:after,.x-toolbar .x-button.x-button-decline.x-button-forward:after,.x-button.x-button-decline-round,.x-button.x-button-decline-round.x-button-back:after,.x-button.x-button-decline-round.x-button-forward:after,.x-toolbar .x-button.x-button-decline-round,.x-toolbar .x-button.x-button-decline-round.x-button-back:after,.x-toolbar .x-button.x-button-decline-round.x-button-forward:after,.x-button.x-button-decline-small,.x-button.x-button-decline-small.x-button-back:after,.x-button.x-button-decline-small.x-button-forward:after,.x-toolbar .x-button.x-button-decline-small,.x-toolbar .x-button.x-button-decline-small.x-button-back:after,.x-toolbar .x-button.x-button-decline-small.x-button-forward:after{background-color:#c70505;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #fb6a6a), color-stop(2%, #ea0606), color-stop(100%, #a40404));background-image:-webkit-linear-gradient(#fb6a6a,#ea0606 2%,#a40404);background-image:linear-gradient(#fb6a6a,#ea0606 2%,#a40404)}.x-button.x-button-decline .x-button-icon.x-icon-mask,.x-toolbar .x-button.x-button-decline .x-button-icon.x-icon-mask,.x-button.x-button-decline-round .x-button-icon.x-icon-mask,.x-toolbar .x-button.x-button-decline-round .x-button-icon.x-icon-mask,.x-button.x-button-decline-small .x-button-icon.x-icon-mask,.x-toolbar .x-button.x-button-decline-small .x-button-icon.x-icon-mask{background-color:white;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ffffff), color-stop(2%, #ffffff), color-stop(100%, #fedcdc));background-image:-webkit-linear-gradient(#ffffff,#ffffff 2%,#fedcdc);background-image:linear-gradient(#ffffff,#ffffff 2%,#fedcdc)}.x-button.x-button-decline.x-button-pressing,.x-button.x-button-decline.x-button-pressing:after,.x-button.x-button-decline.x-button-pressed,.x-button.x-button-decline.x-button-pressed:after,.x-button.x-button-decline.x-button-active,.x-button.x-button-decline.x-button-active:after,.x-toolbar .x-button.x-button-decline.x-button-pressing,.x-toolbar .x-button.x-button-decline.x-button-pressing:after,.x-toolbar .x-button.x-button-decline.x-button-pressed,.x-toolbar .x-button.x-button-decline.x-button-pressed:after,.x-toolbar .x-button.x-button-decline.x-button-active,.x-toolbar .x-button.x-button-decline.x-button-active:after,.x-button.x-button-decline-round.x-button-pressing,.x-button.x-button-decline-round.x-button-pressing:after,.x-button.x-button-decline-round.x-button-pressed,.x-button.x-button-decline-round.x-button-pressed:after,.x-button.x-button-decline-round.x-button-active,.x-button.x-button-decline-round.x-button-active:after,.x-toolbar .x-button.x-button-decline-round.x-button-pressing,.x-toolbar .x-button.x-button-decline-round.x-button-pressing:after,.x-toolbar .x-button.x-button-decline-round.x-button-pressed,.x-toolbar .x-button.x-button-decline-round.x-button-pressed:after,.x-toolbar .x-button.x-button-decline-round.x-button-active,.x-toolbar .x-button.x-button-decline-round.x-button-active:after,.x-button.x-button-decline-small.x-button-pressing,.x-button.x-button-decline-small.x-button-pressing:after,.x-button.x-button-decline-small.x-button-pressed,.x-button.x-button-decline-small.x-button-pressed:after,.x-button.x-button-decline-small.x-button-active,.x-button.x-button-decline-small.x-button-active:after,.x-toolbar .x-button.x-button-decline-small.x-button-pressing,.x-toolbar .x-button.x-button-decline-small.x-button-pressing:after,.x-toolbar .x-button.x-button-decline-small.x-button-pressed,.x-toolbar .x-button.x-button-decline-small.x-button-pressed:after,.x-toolbar .x-button.x-button-decline-small.x-button-active,.x-toolbar .x-button.x-button-decline-small.x-button-active:after{background-color:#b80505;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #860303), color-stop(10%, #9f0404), color-stop(65%, #b80505), color-stop(100%, #ba0505));background-image:-webkit-linear-gradient(#860303,#9f0404 10%,#b80505 65%,#ba0505);background-image:linear-gradient(#860303,#9f0404 10%,#b80505 65%,#ba0505)}.x-sheet,.x-sheet-action{padding:0.7em;border-top:1px solid #092e47;height:auto;background-color:rgba(3, 17, 26, 0.9);background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, rgba(20,104,162,0.9)), color-stop(2%, rgba(7,37,58,0.9)), color-stop(100%, rgba(0,0,0,0.9)));background-image:-webkit-linear-gradient(rgba(20,104,162,0.9),rgba(7,37,58,0.9) 2%,rgba(0,0,0,0.9));background-image:linear-gradient(rgba(20,104,162,0.9),rgba(7,37,58,0.9) 2%,rgba(0,0,0,0.9));-webkit-border-radius:0;border-radius:0}.x-sheet-inner > .x-button,.x-sheet-action-inner > .x-button{margin-bottom:0.5em}.x-sheet-inner > .x-button:last-child,.x-sheet-action-inner > .x-button:last-child{margin-bottom:0}.x-sheet.x-picker{padding:0}.x-sheet.x-picker .x-sheet-inner{position:relative;background-color:#fff;-webkit-border-radius:0.4em;border-radius:0.4em;-webkit-background-clip:padding;background-clip:padding-box;overflow:hidden;margin:0.7em}.x-sheet.x-picker .x-sheet-inner:before,.x-sheet.x-picker .x-sheet-inner:after{z-index:1;content:"";position:absolute;width:100%;height:30%;top:0;left:0}.x-sheet.x-picker .x-sheet-inner:before{top:auto;-webkit-border-bottom-left-radius:0.4em;border-bottom-left-radius:0.4em;-webkit-border-bottom-right-radius:0.4em;border-bottom-right-radius:0.4em;bottom:0;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ffffff), color-stop(100%, #bbbbbb));background-image:-webkit-linear-gradient(#ffffff,#bbbbbb);background-image:linear-gradient(#ffffff,#bbbbbb)}.x-sheet.x-picker .x-sheet-inner:after{-webkit-border-top-left-radius:0.4em;border-top-left-radius:0.4em;-webkit-border-top-right-radius:0.4em;border-top-right-radius:0.4em;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #bbbbbb), color-stop(100%, #ffffff));background-image:-webkit-linear-gradient(#bbbbbb,#ffffff);background-image:linear-gradient(#bbbbbb,#ffffff)}.x-sheet.x-picker .x-sheet-inner .x-picker-slot .x-body{border-left:1px solid #999999;border-right:1px solid #ACACAC}.x-sheet.x-picker .x-sheet-inner .x-picker-slot.x-first .x-body{border-left:0}.x-sheet.x-picker .x-sheet-inner .x-picker-slot.x-last .x-body{border-left:0;border-right:0}.x-picker-slot .x-scroll-view{z-index:2;position:relative;-webkit-box-shadow:rgba(0, 0, 0, 0.4) -1px 0 1px}.x-picker-slot .x-scroll-view:first-child{-webkit-box-shadow:none}.x-picker-mask{position:absolute;top:0;left:0;right:0;bottom:0;z-index:3;display:-webkit-box;display:box;-webkit-box-align:stretch;box-align:stretch;-webkit-box-orient:vertical;box-orient:vertical;-webkit-box-pack:center;box-pack:center;pointer-events:none}.x-picker-bar{border-top:0.12em solid #006bb6;border-bottom:0.12em solid #006bb6;height:2.5em;background-color:rgba(13, 148, 242, 0.3);background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, rgba(158,212,250,0.3)), color-stop(2%, rgba(47,163,244,0.3)), color-stop(100%, rgba(11,127,208,0.3)));background-image:-webkit-linear-gradient(rgba(158,212,250,0.3),rgba(47,163,244,0.3) 2%,rgba(11,127,208,0.3));background-image:linear-gradient(rgba(158,212,250,0.3),rgba(47,163,244,0.3) 2%,rgba(11,127,208,0.3));-webkit-box-shadow:rgba(0, 0, 0, 0.2) 0 0.2em 0.2em}.x-use-titles .x-picker-bar{margin-top:1.5em}.x-picker-slot-title{height:1.5em;position:relative;z-index:2;background-color:#1295f1;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #a2d6f9), color-stop(2%, #34a4f3), color-stop(100%, #0d81d2));background-image:-webkit-linear-gradient(#a2d6f9,#34a4f3 2%,#0d81d2);background-image:linear-gradient(#a2d6f9,#34a4f3 2%,#0d81d2);border-top:1px solid #1295f1;border-bottom:1px solid #095b94;-webkit-box-shadow:0px 0.1em 0.3em rgba(0, 0, 0, 0.3);padding:0.2em 1.02em}.x-picker-slot-title > div{font-weight:bold;font-size:0.8em;color:#113b59;text-shadow:rgba(255, 255, 255, 0.25) 0 0.08em 0}.x-picker-slot .x-dataview-inner{width:100%}.x-picker-slot .x-dataview-item{vertical-align:middle;height:2.5em;line-height:2.5em;font-weight:bold;padding:0 10px}.x-picker-slot .x-picker-item{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.x-picker-right{text-align:right}.x-picker-center{text-align:center}.x-picker-left{text-align:left}.x-tabbar.x-docked-top{border-bottom-width:.1em;border-bottom-style:solid;height:2.6em;padding:0 .8em}.x-tabbar.x-docked-top .x-tab{padding:0.4em 0.8em;height:1.8em;-webkit-border-radius:0.9em;border-radius:0.9em}.x-tabbar.x-docked-top .x-button-label,.x-tabbar.x-docked-top .x-hasbadge .x-badge,.x-hasbadge .x-tabbar.x-docked-top .x-badge{font-size:.8em;line-height:1.2em;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}.x-tabbar.x-docked-bottom{border-top-width:.1em;border-top-style:solid;height:3em;padding:0}.x-tabbar.x-docked-bottom .x-tab{-webkit-border-radius:0.25em;border-radius:0.25em;min-width:3.3em;position:relative;padding-top:.2em}.x-tabbar.x-docked-bottom .x-tab .x-button-icon{-webkit-mask-size:1.65em;width:1.65em;height:1.65em;display:block;margin:0 auto;position:relative}.x-tabbar.x-docked-bottom .x-tab .x-button-label,.x-tabbar.x-docked-bottom .x-tab .x-hasbadge .x-badge,.x-hasbadge .x-tabbar.x-docked-bottom .x-tab .x-badge{margin:0;padding:.1em 0 .2em 0;font-size:9px;line-height:12px;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}.x-tab .x-button-icon.bookmarks,.x-button .x-button-icon.x-icon-mask.bookmarks{-webkit-mask-image:url('data:image/png;base64,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')}.x-tab .x-button-icon.download,.x-button .x-button-icon.x-icon-mask.download{-webkit-mask-image:url('data:image/png;base64,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')}.x-tab .x-button-icon.favorites,.x-button .x-button-icon.x-icon-mask.favorites{-webkit-mask-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAFfUlEQVRoBd2aXahVRRTHz/Ujv+2mZRGZB7W6mtpFikC7+UWUZiqBD0JPFdRL1EMFPfjoU4baS0FUD/UWZBEVShA+BCpmWApRSkgllNpDmZWZt9//eOay72afvWfWOTPn3rvgz8yeWbPW+s/XmT379AwODtZSSQ+CryVgA/gVfIx/pelEhFMBVlvBOaBeFo6Cean8y09KsnMg932TqCOs9M2UhMfhMJVsxtHcAmcbmekLCsqjFKUkvAYG1xSwmEHZqoLyKEVJCDOCNxH9HUCbVl6mULAuXxjrOQlhgl8Bbi0h0Uen3FBS37GqVIQHiHh2SdR16jTlo0t0woycpuxiUDSdHcFeMv3uIWYanTDB3wIWVZBQHP10zuQKvbarUxDWT1HRz1E++Ds99fLtgp6jEmbExhPNcs+IbkZPiCpRCRP5TPCQJ4MJ6A3QSUqjSWzC2ozuC4j+fnSnB+gHq8YmvJKIJgVEpRPX9QH6waqxCa8PjEhHT981H2j6qno0wqzF63BhOUxsom3Zb7aJqGsUjTAONFJlpysXQz7VuXpavrBTzzEJaz1adlzNjHs6RTBvJyZhjZTF/kTaWZZCnlvhsyWgQkPZQpagzsX1bFlAXjGtDdAPUu1p3PPQhCCXkdwG/mta0PWLds060AuAnqtEOjpdbQR3VymX1P9F3UfgGJA9X9F92c/ADaQ2P8V0DJ4/kDbeYKaSvgI2AN0+OGJK1VAbSIhTOXEOybYll2kte77yD4rqrHyb85S9Cl4HtReAyI11/A7HpRq5PSD6oR0f3Rad+H7S1DvV7UgS+tc1cU3n3V/AWJ/SX8BxVuMinow2rNNjlPQVeH0GFg378kDBfLAPXARjZbTPwmUXmOG+bgz71EKFfqKeAUWfREZbJxyCxyOOqEuHER4qrNUWovwy0CFktBHV4eNZMNvxyaaFhKWAaBt/HJwEo4W0luSKLMF8viVhp4iBeeBd8CcYqcQ1qi+CKS7uVmklYdcQY0+C42Ckkf6EmO51cVal3oRlCFkCdKgfCWtbo7obDO3AVWQbHHyUsjo40E6uq9cvQbdG+wN892fj8s0HjXDWKA51/t4JUo72H/jTDtybjSUkbyYsJ0gdfAtSjfTn+JoWQjCv2+57a4M1QaQSvZvrMsIs7RJejGcdUlLJUhzpZsYsZsJcCen6ZwCE3IaYA2021OfUdU3fJltmwni7Fvh+KDMF16KR3ux0lWuSdgjPxeNdJq/tNdKNqJaSSUyEmVK6JNPomtqbIh3eSKNsEmvAarfJ5LEzjbbR59MtpqyEb8eZjpndkhtxvNri3Er4YZxpx+yW6Jdhi8V5MOHm+n0QZ9afo0u0fQO8A5S3iPaQ1cTSG9w4f/SqesZBH/gRWI6T+gyyxfkgvw2cMdrS+/lTzpZvGnyWxsnTwHLRd4R2a/OBqQyoztKBe/P2qp6DCBOUptKHhuA+pU1fq2Co0/F0L9CVaghxXTbWW9ktKg8lrFfCrwODeh/9wgu1bEDo6OT2Fvgb+JLWq+nQEsnaa5UPJbwKBxc8A9KXPG1O3u+u6E4F24GvD3XMDjCxFcF8uTdhjGpHfwn49L42lCeAdyDZwGi3HpwAPr6+Q29htn1ZPoSwfuz3ewShXVcBNz62lzkvq6O9DjZHgQ9p72kdQljvob9VBPAN9Q+UEQmpw5b+Sf8e0FotI/4a9ZN8bIcQXlnh9AD1y3ychuhgU0tpJyhb14epn+ljN+Sk9S9G1ct50d8SdgF9x9EO3lHB5hXwPEYfA8dbGD9LuWZBtfj0inSQWUDTKzu1dAB5Dkz2tdOOHn70LvwVyMag/FYwzse295Rukq5j+G1wEOib66PAy5FPMD46+NPmqTV7CpwGGvkJPm2l8z8GWDNDloqpGQAAAABJRU5ErkJggg==')}.x-tab .x-button-icon.info,.x-button .x-button-icon.x-icon-mask.info{-webkit-mask-image:url('data:image/png;base64,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')}.x-tab .x-button-icon.more,.x-button .x-button-icon.x-icon-mask.more{-webkit-mask-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAADJ0lEQVRoBe2YS2sUQRSFp5MgvmLU+CAMiBJFDBHcCeoPEFciuHMjroMK4lZBcONG0JW60U1UEgRx59IXuNMoKEElKL7GRwyIqNHxO0N66FT3UNU9IHRNFXz0VNW5t+vW6RcT1ev1Sie1rk4qVrWGgn13PDgcHPZsB8Il7ZmhqXKCw6kt8WwgOOyZoalygsOpLfFsIDjsmaGpcoLDqS3xbCA47JmhqXKCw6kt8Wyg6XAURV2wEy7BM5iFtzAKu2BB0dqJ7YEtcBYmQblfwzjshUVt5O4mfhjOwwQodw3GYA8snpd77n9pFXMYvoP+qDaZZewcVKXPAzE64Qn4CmZe9f/AFSiSu4e4IzANrXJfZ24gXjO/KxEcg9+QFZQcU/CSONh2RKsraMQhr85xE/psOeN5tCr2APyA5Bqzfl9D06tYtX3wC7KE5pg2ZX98UtsR7XZo5ayZW/1DENnyzi18CO1nyMqTNXYcrTapcitHkBLJiZW2RaGRuxcg6+Stxu6i73fI3Y3uZM7cU+hXQeVvzsBP6Dc5LupxztzaiEGH3AvR3S+Qe4dc0D2cp/Uj1oPI1pR7g030n+erWlTe9pMA3cu2Jre+2ERtzBdZe01BL3Ke9Al6vQZsTbfKQ5vImH9PXxtqa3qVPbWJjHk94J6r4DPGhK17A8EHm4j7UAWP2nTG/GX6NWMs1SW3rrCroLeLaxtDqDdG4368zbHVkzM5Polus+2hEs+j7YNxx9zv0FkfhoncvegvOuZ+iW6rYhtfTXTWgV7OyeLM3w+Y3xaf0PVIzAqwFf0IzW7XnLGOmLUg58y1JvsTzA83Y5o/eLcyMQISJAN0z56G9bE275HYNXAU7kAy9xv6p2Bj3pyxntjVcBDuQTL3FH19Dg/FWh0bXzUMNhsf23JkOQzCK9B1P4NY39OFG3kjgpeB8g/AR/gG0+3mJkeF9Lp9lkIVZkDfC1r3vPs8VTAir1uRd1mpNyQUXGr7HBYfHHbYpFJLgsOlts9h8cFhh00qtSQ4XGr7HBYfHHbYpFJLgsOlts9h8cFhh00qtSQ4XGr7HBYfHHbYpFJLOs7hf5j4Vg3iLoGkAAAAAElFTkSuQmCC')}.x-tab .x-button-icon.time,.x-button .x-button-icon.x-icon-mask.time{-webkit-mask-image:url('data:image/png;base64,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')}.x-tab .x-button-icon.user,.x-button .x-button-icon.x-icon-mask.user{-webkit-mask-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAEWElEQVRoBe2aS0gVYRiGO1lmF8nQQlETutGFokAiqEV0ISKwgmrdMtzUpnW7drWKbFGbQAKpJIhuUGIUFUkW0T1Jq4V2U4ui7GLPexpDD+ecuX1jHqcPHseZ+f9vvnf++e8n0d/fPyZONjZOYqU1doLHRV3CiURCz5gMxTANJsJg+8XJJ+iBt9BHNdO1SCwRZR1GbAFRl8F8WAFLoRwGLME/ffAM7kETvIYPxPWDo7lFIhiheURaCVtgBywHXXOzbhJcggZoRvR7twy+76uELSEAtQsqySPwGdQN+KWDPHuh2DI2+TIVm3T455M9G0Bk6ktRvd4NBZaiTQUT3AQnSNW/VAFBzl/iZw0kq56FcOtuaQHB7QIv9ZVkrqZ2YA9Mck3pMYGZYKeh2sBz1SJb2mqcmfk0E0xQ6l9rwNoKcWjm11JwEYFVW6t1/K218mspeB5B5VsFluKnIuU88Kml4PGBo3DPqBGZiVkKNgvKRFkGJ5aCv2Z4xoi6bCm4DWUaXERhZhMJS8FfolDq+DSbRFgKjrIOa8poYpaCTQKK2sl/wSHfcFSNlll1sSzhn7ys3pAvLFP275lu+L1uKVhBPfYbgMf0zz2mc01mKfgbT7vi+kT/CeT3sv9s6XNYCtbg4CJ0pX9U4Kv3yXk3cO6UjGaCWX5Rg/UArqY8I8yp1qdPQ08YJ4Pzmgl2nCqwc2DVyKjunuddqkE0MVPBBKYSuQ7tJtEhFj9apDczU8FOVB0ctZiuHYUw9obMjbxErW2bmblgApTQengVIkq1B83QEsJH2qzmgp2n3ObYCEGndZ3krbcuXcUWiWACldCjoA0yv6a8J6HJb0Yv6SMRrAcj+gmHA+B3aneDPHXk/8jR3LR3a2rOfnAlTmfDVPDb6Khrq8bPDI5PoRPxZpMSk+1SgtOKpTa8l8BC0JaLmAkloA1xr/aOhJqEtINGWeqW7jjHXrQHbRdw4WxSJf8L8Aeh2m1QaWoBfiUsA61PTwGtUYeZ1qlP1zhan3YraBSnz/0mdAUVHqiEESoxKs0a2AxloJIMI5DsWU0vQH2z2oZToAnFI7+fu2/BiF3PgzbCKqgC1bXhNH3S6rba4BocR7TquifzLBih5XjcCSrROaAGKbJWHt9uJuGq67fgAki4zrNaVsGIzCP3dNgE20B1VJ+uro8UUz3Xr39UvxugCeEZl3UzCkZsBZn1+W6HRaB6qtZ4pJp2PtTna+58DFoR3sVxqHFxyM8euFsIW6EeXoDeoPrBXEEbAlpqqoN1kD9YY6rYxSQ4DGoE9KOSXBGZLk4NYB7CfigZEP1XMBfVEJ0BJUznIFevaSBzEEolOimYkyo4AfocclVYtrjViB0C9SzJEdE+jrn+CWcTrHvdUKuRUSm0gPrZ0W7tGjjMhTiIVWFWSbAGEnGxhAT/y+HhsL9oiVWFjo3FqnRVqrETrG5pFmiSEAuTYC3TFMVCLSIzTg9H6wuIXR2OneDfMJq1NmzzbS8AAAAASUVORK5CYII=')}.x-tab .x-button-icon.team,.x-button .x-button-icon.x-icon-mask.team{-webkit-mask-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAFI0lEQVRoBe2ZSYgdVRSG+yUmnagRQYU4NbZKNLYKWTgg4gQOaDYqJIIGl4LixhBwoy50LSIiulEjCkpAUBBRURpdGceFMQ7YtgkOJE4xTjGa9vuedUl1Vd2qevSrFqvrwJ97695zzj3/PXd6nd7MzMzIQpJFC4msXDvCbc94l+Euwy2bgW5JtyyhOTpdhnNT0rKGLsMtS2iOTpfh3JS0rOGQ+eLT6/VWMNYJ4NjUmN9T/xLs4WfqvPxO7TU9DkTdNmvBbeAskJ7kv/n+AjwKXiSW7yibFQk3BSIPZHdTl5xZzML238DDYFlTsQS/jZF1AGQ1mAZZkkXfe9FbGwJrqmz6lL4cEmOgjhyO0jq2gGVj0hhhAl9M1FeB3gDRn4Pu/5NwQnJ0ALKqrgKHDmgzkHpjGR4oioPKP1H96+Dn8GvpKyLqneV5Lp0XgnHggTMFJjlYPqAcpnyLsz/LHBLL0fRfCzwbvNN3gLeI5WXKaik7DbF2/20A28HPYF+CPZQfg9tj9vS5h18DRSdyrO0j9FeW+PQenwTe138AJ+d34OPFa215zDa0l15LOLgamM0DIBukbQ60JjhLl7RL+HWQtSv7jhLGz1FgM3DJZ30Yy69gYzqGonrVHr4eJ+OgB7Ji2xi4lGUW8+PsD0vOwNGNwInMirF42K0nlmXZzvR3LNARDN3fx6WVI3VJF50Fzvr7EZtY8zQdLtUiOYXGIrJpXUmvTDdk61HCKEqiagD9SSwnLCeX3RYwSJafRd/zoUj2FzVm2hyzMJ6gV0Y46Myl/BzjeqfnyMg36G5NJqpoTPvnLGWEnS0f9lVStL/7NgT/C5XNoHTW6XesV4En/1wlGo+Oo4QJ1ivoxxqju+fKCG2lf1uFH7P3eEl2K8xndRt3VKKEE4sPKWOHiCreg28TaPR1RN/X6GwEO0GReJ3cg95kUWeqzT8W6KtMpujcVaZQRfgFjL8qcbCDvndi/Zz0h4Hr6L8JHBHRW0L7DejdAU6K6Nj8CfBQi4mH4xYmrmy1sXlK/gCAAyfkQaAT91kWj9HW/6tJ8MO3NmeC+4CHlqdu1q7o25Xk5Hqynw+WBp+hpO1K4JItsnfr5GyCbSirCHstnQpcKulBXMK+o1frCPGgWAomwL2gLsm0z3S9ny38XARWgEXJOI7xNMiS9ns9MN5ZCQhEQ1lIGCOXmZf4ZeAW8C4IAblv3wBXAIn6sjkZ3Arc80FvGKW/nu4H/nhZDiR0IngI+LYPY3i43gWuAeNgFBQSn0UYJZejRH3CPQ8cMDi19Jp6AviuVfd48ADwRZXWG3Z9J/6fApeAJUm2TYRE02OZjPfA3WAM9HVDdvt2iXHI1HkoPQd2g7SjUHef+NyU7AXgFRD65qOcZrybQXgFmtUDIDu2xE3CBuCWWBxIU+8vk9MozdQukDUO3x4qm5IJOp36ZyW6waaJci/jrkviWEV9qiQOdd8Ebr/+T0fKkYvBp6AqOB2fnQz0SA39Kn9z6Z9mfPeze/UlUOXrB3Q2AW36a77KwP7tYCwh7Mupjk1TOmZuNInlyZqxuN8n3ItrQF1xryvRl9W/3Y3/60QGCTGF71h5JB0Tbn7vsDqyP6Vkva5dymxoVQ+lIE6+3+lJCH3Zcp+E78y2Fny7Evw7kstC8YA7BtQZRP1hiwTDKnuGun8aSiekaDxXwrbG/zOtaOT/ss3MLSjpCLc93V2Guwy3bAa6Jd2yhObodBnOTUnLGroMtyyhOTpdhnNT0rKGfwD3f6JVZi/xSQAAAABJRU5ErkJggg==')}.x-tabbar-light{background-color:#2583c4;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #97c9eb), color-stop(2%, #3495d9), color-stop(100%, #1f6fa6));background-image:-webkit-linear-gradient(#97c9eb,#3495d9 2%,#1f6fa6);background-image:linear-gradient(#97c9eb,#3495d9 2%,#1f6fa6);border-top-color:#2175af;border-bottom-color:#195884}.x-tabbar-light .x-tab{color:#c1dff4}.x-tabbar-light .x-tab-active{color:white;border-bottom:1px solid #278bd1}.x-tabbar-light .x-tab-pressed{color:white}.x-tabbar-light.x-docked-bottom .x-tab{text-shadow:rgba(0, 0, 0, 0.5) 0 -0.08em 0}.x-tabbar-light.x-docked-bottom .x-tab .x-button-icon{background-color:#6cb2e3;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ecf5fc), color-stop(2%, #8ac2e9), color-stop(100%, #4da3de));background-image:-webkit-linear-gradient(#ecf5fc,#8ac2e9 2%,#4da3de);background-image:linear-gradient(#ecf5fc,#8ac2e9 2%,#4da3de)}.x-tabbar-light.x-docked-bottom .x-tab-active{background-color:#2175af;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #195884), color-stop(10%, #1d6699), color-stop(65%, #2175af), color-stop(100%, #2176b1));background-image:-webkit-linear-gradient(#195884,#1d6699 10%,#2175af 65%,#2176b1);background-image:linear-gradient(#195884,#1d6699 10%,#2175af 65%,#2176b1);text-shadow:rgba(255, 255, 255, 0.25) 0 0.08em 0;-webkit-box-shadow:#1d6699 0 0 0.25em inset;box-shadow:#1d6699 0 0 0.25em inset}.x-tabbar-light.x-docked-bottom .x-tab-active .x-button-icon{background-color:#1da2ff;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #b6e1ff), color-stop(2%, #41b1ff), color-stop(100%, #0093f8));background-image:-webkit-linear-gradient(#b6e1ff,#41b1ff 2%,#0093f8);background-image:linear-gradient(#b6e1ff,#41b1ff 2%,#0093f8)}.x-tabbar-light.x-docked-top .x-tab-active{background-color:#2175af;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #195884), color-stop(10%, #1d6699), color-stop(65%, #2175af), color-stop(100%, #2176b1));background-image:-webkit-linear-gradient(#195884,#1d6699 10%,#2175af 65%,#2176b1);background-image:linear-gradient(#195884,#1d6699 10%,#2175af 65%,#2176b1);color:white}.x-tabbar-dark{background-color:#0e4b75;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #359ee7), color-stop(2%, #125f95), color-stop(100%, #0a3655));background-image:-webkit-linear-gradient(#359ee7,#125f95 2%,#0a3655);background-image:linear-gradient(#359ee7,#125f95 2%,#0a3655);border-top-color:#0b3c5e;border-bottom-color:#061f31}.x-tabbar-dark .x-tab{color:#63b4ec}.x-tabbar-dark .x-tab-active{color:white;border-bottom:1px solid #105483}.x-tabbar-dark .x-tab-pressed{color:white}.x-tabbar-dark.x-docked-bottom .x-tab{text-shadow:rgba(0, 0, 0, 0.5) 0 -0.08em 0}.x-tabbar-dark.x-docked-bottom .x-tab .x-button-icon{background-color:#1985d0;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #90caf2), color-stop(2%, #2897e5), color-stop(100%, #1571b0));background-image:-webkit-linear-gradient(#90caf2,#2897e5 2%,#1571b0);background-image:linear-gradient(#90caf2,#2897e5 2%,#1571b0)}.x-tabbar-dark.x-docked-bottom .x-tab-active{background-color:#0b3c5e;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #061f31), color-stop(10%, #092e47), color-stop(65%, #0b3c5e), color-stop(100%, #0c3e60));background-image:-webkit-linear-gradient(#061f31,#092e47 10%,#0b3c5e 65%,#0c3e60);background-image:linear-gradient(#061f31,#092e47 10%,#0b3c5e 65%,#0c3e60);text-shadow:rgba(0, 0, 0, 0.5) 0 -0.08em 0;-webkit-box-shadow:#092e47 0 0 0.25em inset;box-shadow:#092e47 0 0 0.25em inset}.x-tabbar-dark.x-docked-bottom .x-tab-active .x-button-icon{background-color:#50b7ff;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #e9f6ff), color-stop(2%, #74c6ff), color-stop(100%, #2ca9ff));background-image:-webkit-linear-gradient(#e9f6ff,#74c6ff 2%,#2ca9ff);background-image:linear-gradient(#e9f6ff,#74c6ff 2%,#2ca9ff)}.x-tabbar-dark.x-docked-top .x-tab-active{background-color:#0b3c5e;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #061f31), color-stop(10%, #092e47), color-stop(65%, #0b3c5e), color-stop(100%, #0c3e60));background-image:-webkit-linear-gradient(#061f31,#092e47 10%,#0b3c5e 65%,#0c3e60);background-image:linear-gradient(#061f31,#092e47 10%,#0b3c5e 65%,#0c3e60);color:white}.x-tabbar-neutral{background-color:#e0e0e0;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ffffff), color-stop(2%, #f2f2f2), color-stop(100%, #cecece));background-image:-webkit-linear-gradient(#ffffff,#f2f2f2 2%,#cecece);background-image:linear-gradient(#ffffff,#f2f2f2 2%,#cecece);border-top-color:#d3d3d3;border-bottom-color:#bababa}.x-tabbar-neutral .x-tab{color:#7a7a7a}.x-tabbar-neutral .x-tab-active{color:black;border-bottom:1px solid #e8e8e8}.x-tabbar-neutral .x-tab-pressed{color:black}.x-tabbar-neutral.x-docked-bottom .x-tab{text-shadow:rgba(255, 255, 255, 0.25) 0 0.08em 0}.x-tabbar-neutral.x-docked-bottom .x-tab .x-button-icon{background-color:#adadad;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #fafafa), color-stop(2%, #bfbfbf), color-stop(100%, #9b9b9b));background-image:-webkit-linear-gradient(#fafafa,#bfbfbf 2%,#9b9b9b);background-image:linear-gradient(#fafafa,#bfbfbf 2%,#9b9b9b)}.x-tabbar-neutral.x-docked-bottom .x-tab-active{background-color:#d3d3d3;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #bababa), color-stop(10%, #c7c7c7), color-stop(65%, #d3d3d3), color-stop(100%, #d5d5d5));background-image:-webkit-linear-gradient(#bababa,#c7c7c7 10%,#d3d3d3 65%,#d5d5d5);background-image:linear-gradient(#bababa,#c7c7c7 10%,#d3d3d3 65%,#d5d5d5);text-shadow:rgba(255, 255, 255, 0.25) 0 0.08em 0;-webkit-box-shadow:#c7c7c7 0 0 0.25em inset;box-shadow:#c7c7c7 0 0 0.25em inset}.x-tabbar-neutral.x-docked-bottom .x-tab-active .x-button-icon{background-color:#7a7a7a;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #c7c7c7), color-stop(2%, #8c8c8c), color-stop(100%, #686868));background-image:-webkit-linear-gradient(#c7c7c7,#8c8c8c 2%,#686868);background-image:linear-gradient(#c7c7c7,#8c8c8c 2%,#686868)}.x-tabbar-neutral.x-docked-top .x-tab-active{background-color:#d3d3d3;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #bababa), color-stop(10%, #c7c7c7), color-stop(65%, #d3d3d3), color-stop(100%, #d5d5d5));background-image:-webkit-linear-gradient(#bababa,#c7c7c7 10%,#d3d3d3 65%,#d5d5d5);background-image:linear-gradient(#bababa,#c7c7c7 10%,#d3d3d3 65%,#d5d5d5);color:black}.x-tab.x-item-disabled span.x-button-label,.x-tab.x-item-disabled .x-hasbadge span.x-badge,.x-hasbadge .x-tab.x-item-disabled span.x-badge,.x-tab.x-item-disabled .x-button-icon{filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=50);opacity:0.5}.x-tab.x-draggable{filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=70);opacity:0.7}.x-tab{-webkit-user-select:none;overflow:visible !important}.x-toolbar{padding:0 0.2em;overflow:hidden;position:relative;height:2.6em}.x-toolbar > *{z-index:1}.x-toolbar.x-docked-top{border-bottom:.1em solid}.x-toolbar.x-docked-bottom{border-top:.1em solid}.x-toolbar.x-docked-left{width:7em;height:auto;padding:0.2em;border-right:.1em solid}.x-toolbar.x-docked-right{width:7em;height:auto;padding:0.2em;border-left:.1em solid}.x-title{line-height:2.1em;font-size:1.2em;text-align:center;font-weight:bold;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0 0.3em;max-width:100%}.x-title .x-innerhtml{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 .3em}.x-toolbar-dark{background-color:#1468a2;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #63b4ec), color-stop(2%, #177cc2), color-stop(100%, #105483));background-image:-webkit-linear-gradient(#63b4ec,#177cc2 2%,#105483);background-image:linear-gradient(#63b4ec,#177cc2 2%,#105483);border-color:black}.x-toolbar-dark .x-title{color:white;text-shadow:rgba(0, 0, 0, 0.5) 0 -0.08em 0}.x-toolbar-dark.x-docked-top{border-bottom-color:black}.x-toolbar-dark.x-docked-bottom{border-top-color:black}.x-toolbar-dark.x-docked-left{border-right-color:black}.x-toolbar-dark.x-docked-right{border-left-color:black}.x-toolbar-dark .x-button,.x-toolbar .x-toolbar-dark .x-button,.x-toolbar-dark .x-field-select .x-component-outer,.x-toolbar .x-toolbar-dark .x-field-select .x-component-outer,.x-toolbar-dark .x-field-select .x-component-outer:before,.x-toolbar .x-toolbar-dark .x-field-select .x-component-outer:before{border:1px solid #061f31;border-top-color:#092e47;color:white}.x-toolbar-dark .x-button.x-button-back:before,.x-toolbar-dark .x-button.x-button-forward:before,.x-toolbar .x-toolbar-dark .x-button.x-button-back:before,.x-toolbar .x-toolbar-dark .x-button.x-button-forward:before,.x-toolbar-dark .x-field-select .x-component-outer.x-button-back:before,.x-toolbar-dark .x-field-select .x-component-outer.x-button-forward:before,.x-toolbar .x-toolbar-dark .x-field-select .x-component-outer.x-button-back:before,.x-toolbar .x-toolbar-dark .x-field-select .x-component-outer.x-button-forward:before,.x-toolbar-dark .x-field-select .x-component-outer:before.x-button-back:before,.x-toolbar-dark .x-field-select .x-component-outer:before.x-button-forward:before,.x-toolbar .x-toolbar-dark .x-field-select .x-component-outer:before.x-button-back:before,.x-toolbar .x-toolbar-dark .x-field-select .x-component-outer:before.x-button-forward:before{background:#061f31}.x-toolbar-dark .x-button,.x-toolbar-dark .x-button.x-button-back:after,.x-toolbar-dark .x-button.x-button-forward:after,.x-toolbar .x-toolbar-dark .x-button,.x-toolbar .x-toolbar-dark .x-button.x-button-back:after,.x-toolbar .x-toolbar-dark .x-button.x-button-forward:after,.x-toolbar-dark .x-field-select .x-component-outer,.x-toolbar-dark .x-field-select .x-component-outer.x-button-back:after,.x-toolbar-dark .x-field-select .x-component-outer.x-button-forward:after,.x-toolbar .x-toolbar-dark .x-field-select .x-component-outer,.x-toolbar .x-toolbar-dark .x-field-select .x-component-outer.x-button-back:after,.x-toolbar .x-toolbar-dark .x-field-select .x-component-outer.x-button-forward:after,.x-toolbar-dark .x-field-select .x-component-outer:before,.x-toolbar-dark .x-field-select .x-component-outer:before.x-button-back:after,.x-toolbar-dark .x-field-select .x-component-outer:before.x-button-forward:after,.x-toolbar .x-toolbar-dark .x-field-select .x-component-outer:before,.x-toolbar .x-toolbar-dark .x-field-select .x-component-outer:before.x-button-back:after,.x-toolbar .x-toolbar-dark .x-field-select .x-component-outer:before.x-button-forward:after{background-color:#11598c;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #4ca9e9), color-stop(2%, #156eac), color-stop(100%, #0d456c));background-image:-webkit-linear-gradient(#4ca9e9,#156eac 2%,#0d456c);background-image:linear-gradient(#4ca9e9,#156eac 2%,#0d456c)}.x-toolbar-dark .x-button .x-button-icon.x-icon-mask,.x-toolbar .x-toolbar-dark .x-button .x-button-icon.x-icon-mask,.x-toolbar-dark .x-field-select .x-component-outer .x-button-icon.x-icon-mask,.x-toolbar .x-toolbar-dark .x-field-select .x-component-outer .x-button-icon.x-icon-mask,.x-toolbar-dark .x-field-select .x-component-outer:before .x-button-icon.x-icon-mask,.x-toolbar .x-toolbar-dark .x-field-select .x-component-outer:before .x-button-icon.x-icon-mask{background-color:white;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ffffff), color-stop(2%, #ffffff), color-stop(100%, #dff0fb));background-image:-webkit-linear-gradient(#ffffff,#ffffff 2%,#dff0fb);background-image:linear-gradient(#ffffff,#ffffff 2%,#dff0fb)}.x-toolbar-dark .x-button.x-button-pressing,.x-toolbar-dark .x-button.x-button-pressing:after,.x-toolbar-dark .x-button.x-button-pressed,.x-toolbar-dark .x-button.x-button-pressed:after,.x-toolbar-dark .x-button.x-button-active,.x-toolbar-dark .x-button.x-button-active:after,.x-toolbar .x-toolbar-dark .x-button.x-button-pressing,.x-toolbar .x-toolbar-dark .x-button.x-button-pressing:after,.x-toolbar .x-toolbar-dark .x-button.x-button-pressed,.x-toolbar .x-toolbar-dark .x-button.x-button-pressed:after,.x-toolbar .x-toolbar-dark .x-button.x-button-active,.x-toolbar .x-toolbar-dark .x-button.x-button-active:after,.x-toolbar-dark .x-field-select .x-component-outer.x-button-pressing,.x-toolbar-dark .x-field-select .x-component-outer.x-button-pressing:after,.x-toolbar-dark .x-field-select .x-component-outer.x-button-pressed,.x-toolbar-dark .x-field-select .x-component-outer.x-button-pressed:after,.x-toolbar-dark .x-field-select .x-component-outer.x-button-active,.x-toolbar-dark .x-field-select .x-component-outer.x-button-active:after,.x-toolbar .x-toolbar-dark .x-field-select .x-component-outer.x-button-pressing,.x-toolbar .x-toolbar-dark .x-field-select .x-component-outer.x-button-pressing:after,.x-toolbar .x-toolbar-dark .x-field-select .x-component-outer.x-button-pressed,.x-toolbar .x-toolbar-dark .x-field-select .x-component-outer.x-button-pressed:after,.x-toolbar .x-toolbar-dark .x-field-select .x-component-outer.x-button-active,.x-toolbar .x-toolbar-dark .x-field-select .x-component-outer.x-button-active:after,.x-toolbar-dark .x-field-select .x-component-outer:before.x-button-pressing,.x-toolbar-dark .x-field-select .x-component-outer:before.x-button-pressing:after,.x-toolbar-dark .x-field-select .x-component-outer:before.x-button-pressed,.x-toolbar-dark .x-field-select .x-component-outer:before.x-button-pressed:after,.x-toolbar-dark .x-field-select .x-component-outer:before.x-button-active,.x-toolbar-dark .x-field-select .x-component-outer:before.x-button-active:after,.x-toolbar .x-toolbar-dark .x-field-select .x-component-outer:before.x-button-pressing,.x-toolbar .x-toolbar-dark .x-field-select .x-component-outer:before.x-button-pressing:after,.x-toolbar .x-toolbar-dark .x-field-select .x-component-outer:before.x-button-pressed,.x-toolbar .x-toolbar-dark .x-field-select .x-component-outer:before.x-button-pressed:after,.x-toolbar .x-toolbar-dark .x-field-select .x-component-outer:before.x-button-active,.x-toolbar .x-toolbar-dark .x-field-select .x-component-outer:before.x-button-active:after{background-color:#0f517e;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #0a3351), color-stop(10%, #0c4267), color-stop(65%, #0f517e), color-stop(100%, #0f5280));background-image:-webkit-linear-gradient(#0a3351,#0c4267 10%,#0f517e 65%,#0f5280);background-image:linear-gradient(#0a3351,#0c4267 10%,#0f517e 65%,#0f5280)}.x-toolbar-dark .x-form-label{color:white;text-shadow:rgba(0, 0, 0, 0.5) 0 -0.08em 0}.x-toolbar-light{background-color:#1985d0;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #90caf2), color-stop(2%, #2897e5), color-stop(100%, #1571b0));background-image:-webkit-linear-gradient(#90caf2,#2897e5 2%,#1571b0);background-image:linear-gradient(#90caf2,#2897e5 2%,#1571b0);border-color:black}.x-toolbar-light .x-title{color:white;text-shadow:rgba(0, 0, 0, 0.5) 0 -0.08em 0}.x-toolbar-light.x-docked-top{border-bottom-color:black}.x-toolbar-light.x-docked-bottom{border-top-color:black}.x-toolbar-light.x-docked-left{border-right-color:black}.x-toolbar-light.x-docked-right{border-left-color:black}.x-toolbar-light .x-button,.x-toolbar .x-toolbar-light .x-button,.x-toolbar-light .x-field-select .x-component-outer,.x-toolbar .x-toolbar-light .x-field-select .x-component-outer,.x-toolbar-light .x-field-select .x-component-outer:before,.x-toolbar .x-toolbar-light .x-field-select .x-component-outer:before{border:1px solid #0b3c5e;border-top-color:#0e4b75;color:white}.x-toolbar-light .x-button.x-button-back:before,.x-toolbar-light .x-button.x-button-forward:before,.x-toolbar .x-toolbar-light .x-button.x-button-back:before,.x-toolbar .x-toolbar-light .x-button.x-button-forward:before,.x-toolbar-light .x-field-select .x-component-outer.x-button-back:before,.x-toolbar-light .x-field-select .x-component-outer.x-button-forward:before,.x-toolbar .x-toolbar-light .x-field-select .x-component-outer.x-button-back:before,.x-toolbar .x-toolbar-light .x-field-select .x-component-outer.x-button-forward:before,.x-toolbar-light .x-field-select .x-component-outer:before.x-button-back:before,.x-toolbar-light .x-field-select .x-component-outer:before.x-button-forward:before,.x-toolbar .x-toolbar-light .x-field-select .x-component-outer:before.x-button-back:before,.x-toolbar .x-toolbar-light .x-field-select .x-component-outer:before.x-button-forward:before{background:#0b3c5e}.x-toolbar-light .x-button,.x-toolbar-light .x-button.x-button-back:after,.x-toolbar-light .x-button.x-button-forward:after,.x-toolbar .x-toolbar-light .x-button,.x-toolbar .x-toolbar-light .x-button.x-button-back:after,.x-toolbar .x-toolbar-light .x-button.x-button-forward:after,.x-toolbar-light .x-field-select .x-component-outer,.x-toolbar-light .x-field-select .x-component-outer.x-button-back:after,.x-toolbar-light .x-field-select .x-component-outer.x-button-forward:after,.x-toolbar .x-toolbar-light .x-field-select .x-component-outer,.x-toolbar .x-toolbar-light .x-field-select .x-component-outer.x-button-back:after,.x-toolbar .x-toolbar-light .x-field-select .x-component-outer.x-button-forward:after,.x-toolbar-light .x-field-select .x-component-outer:before,.x-toolbar-light .x-field-select .x-component-outer:before.x-button-back:after,.x-toolbar-light .x-field-select .x-component-outer:before.x-button-forward:after,.x-toolbar .x-toolbar-light .x-field-select .x-component-outer:before,.x-toolbar .x-toolbar-light .x-field-select .x-component-outer:before.x-button-back:after,.x-toolbar .x-toolbar-light .x-field-select .x-component-outer:before.x-button-forward:after{background-color:#1676b9;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #7abfef), color-stop(2%, #1a8bd9), color-stop(100%, #126299));background-image:-webkit-linear-gradient(#7abfef,#1a8bd9 2%,#126299);background-image:linear-gradient(#7abfef,#1a8bd9 2%,#126299)}.x-toolbar-light .x-button .x-button-icon.x-icon-mask,.x-toolbar .x-toolbar-light .x-button .x-button-icon.x-icon-mask,.x-toolbar-light .x-field-select .x-component-outer .x-button-icon.x-icon-mask,.x-toolbar .x-toolbar-light .x-field-select .x-component-outer .x-button-icon.x-icon-mask,.x-toolbar-light .x-field-select .x-component-outer:before .x-button-icon.x-icon-mask,.x-toolbar .x-toolbar-light .x-field-select .x-component-outer:before .x-button-icon.x-icon-mask{background-color:white;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ffffff), color-stop(2%, #ffffff), color-stop(100%, #dff0fb));background-image:-webkit-linear-gradient(#ffffff,#ffffff 2%,#dff0fb);background-image:linear-gradient(#ffffff,#ffffff 2%,#dff0fb)}.x-toolbar-light .x-button.x-button-pressing,.x-toolbar-light .x-button.x-button-pressing:after,.x-toolbar-light .x-button.x-button-pressed,.x-toolbar-light .x-button.x-button-pressed:after,.x-toolbar-light .x-button.x-button-active,.x-toolbar-light .x-button.x-button-active:after,.x-toolbar .x-toolbar-light .x-button.x-button-pressing,.x-toolbar .x-toolbar-light .x-button.x-button-pressing:after,.x-toolbar .x-toolbar-light .x-button.x-button-pressed,.x-toolbar .x-toolbar-light .x-button.x-button-pressed:after,.x-toolbar .x-toolbar-light .x-button.x-button-active,.x-toolbar .x-toolbar-light .x-button.x-button-active:after,.x-toolbar-light .x-field-select .x-component-outer.x-button-pressing,.x-toolbar-light .x-field-select .x-component-outer.x-button-pressing:after,.x-toolbar-light .x-field-select .x-component-outer.x-button-pressed,.x-toolbar-light .x-field-select .x-component-outer.x-button-pressed:after,.x-toolbar-light .x-field-select .x-component-outer.x-button-active,.x-toolbar-light .x-field-select .x-component-outer.x-button-active:after,.x-toolbar .x-toolbar-light .x-field-select .x-component-outer.x-button-pressing,.x-toolbar .x-toolbar-light .x-field-select .x-component-outer.x-button-pressing:after,.x-toolbar .x-toolbar-light .x-field-select .x-component-outer.x-button-pressed,.x-toolbar .x-toolbar-light .x-field-select .x-component-outer.x-button-pressed:after,.x-toolbar .x-toolbar-light .x-field-select .x-component-outer.x-button-active,.x-toolbar .x-toolbar-light .x-field-select .x-component-outer.x-button-active:after,.x-toolbar-light .x-field-select .x-component-outer:before.x-button-pressing,.x-toolbar-light .x-field-select .x-component-outer:before.x-button-pressing:after,.x-toolbar-light .x-field-select .x-component-outer:before.x-button-pressed,.x-toolbar-light .x-field-select .x-component-outer:before.x-button-pressed:after,.x-toolbar-light .x-field-select .x-component-outer:before.x-button-active,.x-toolbar-light .x-field-select .x-component-outer:before.x-button-active:after,.x-toolbar .x-toolbar-light .x-field-select .x-component-outer:before.x-button-pressing,.x-toolbar .x-toolbar-light .x-field-select .x-component-outer:before.x-button-pressing:after,.x-toolbar .x-toolbar-light .x-field-select .x-component-outer:before.x-button-pressed,.x-toolbar .x-toolbar-light .x-field-select .x-component-outer:before.x-button-pressed:after,.x-toolbar .x-toolbar-light .x-field-select .x-component-outer:before.x-button-active,.x-toolbar .x-toolbar-light .x-field-select .x-component-outer:before.x-button-active:after{background-color:#156eac;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #0f517e), color-stop(10%, #125f95), color-stop(65%, #156eac), color-stop(100%, #156fae));background-image:-webkit-linear-gradient(#0f517e,#125f95 10%,#156eac 65%,#156fae);background-image:linear-gradient(#0f517e,#125f95 10%,#156eac 65%,#156fae)}.x-toolbar-light .x-form-label{color:white;text-shadow:rgba(0, 0, 0, 0.5) 0 -0.08em 0}.x-toolbar-neutral{background-color:#e0e0e0;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ffffff), color-stop(2%, #f2f2f2), color-stop(100%, #cecece));background-image:-webkit-linear-gradient(#ffffff,#f2f2f2 2%,#cecece);background-image:linear-gradient(#ffffff,#f2f2f2 2%,#cecece);border-color:#616161}.x-toolbar-neutral .x-title{color:black;text-shadow:rgba(255, 255, 255, 0.25) 0 0.08em 0}.x-toolbar-neutral.x-docked-top{border-bottom-color:#616161}.x-toolbar-neutral.x-docked-bottom{border-top-color:#616161}.x-toolbar-neutral.x-docked-left{border-right-color:#616161}.x-toolbar-neutral.x-docked-right{border-left-color:#616161}.x-toolbar-neutral .x-button,.x-toolbar .x-toolbar-neutral .x-button,.x-toolbar-neutral .x-field-select .x-component-outer,.x-toolbar .x-toolbar-neutral .x-field-select .x-component-outer,.x-toolbar-neutral .x-field-select .x-component-outer:before,.x-toolbar .x-toolbar-neutral .x-field-select .x-component-outer:before{border:1px solid #a0a0a0;border-top-color:#adadad;color:black}.x-toolbar-neutral .x-button.x-button-back:before,.x-toolbar-neutral .x-button.x-button-forward:before,.x-toolbar .x-toolbar-neutral .x-button.x-button-back:before,.x-toolbar .x-toolbar-neutral .x-button.x-button-forward:before,.x-toolbar-neutral .x-field-select .x-component-outer.x-button-back:before,.x-toolbar-neutral .x-field-select .x-component-outer.x-button-forward:before,.x-toolbar .x-toolbar-neutral .x-field-select .x-component-outer.x-button-back:before,.x-toolbar .x-toolbar-neutral .x-field-select .x-component-outer.x-button-forward:before,.x-toolbar-neutral .x-field-select .x-component-outer:before.x-button-back:before,.x-toolbar-neutral .x-field-select .x-component-outer:before.x-button-forward:before,.x-toolbar .x-toolbar-neutral .x-field-select .x-component-outer:before.x-button-back:before,.x-toolbar .x-toolbar-neutral .x-field-select .x-component-outer:before.x-button-forward:before{background:#a0a0a0}.x-toolbar-neutral .x-button,.x-toolbar-neutral .x-button.x-button-back:after,.x-toolbar-neutral .x-button.x-button-forward:after,.x-toolbar .x-toolbar-neutral .x-button,.x-toolbar .x-toolbar-neutral .x-button.x-button-back:after,.x-toolbar .x-toolbar-neutral .x-button.x-button-forward:after,.x-toolbar-neutral .x-field-select .x-component-outer,.x-toolbar-neutral .x-field-select .x-component-outer.x-button-back:after,.x-toolbar-neutral .x-field-select .x-component-outer.x-button-forward:after,.x-toolbar .x-toolbar-neutral .x-field-select .x-component-outer,.x-toolbar .x-toolbar-neutral .x-field-select .x-component-outer.x-button-back:after,.x-toolbar .x-toolbar-neutral .x-field-select .x-component-outer.x-button-forward:after,.x-toolbar-neutral .x-field-select .x-component-outer:before,.x-toolbar-neutral .x-field-select .x-component-outer:before.x-button-back:after,.x-toolbar-neutral .x-field-select .x-component-outer:before.x-button-forward:after,.x-toolbar .x-toolbar-neutral .x-field-select .x-component-outer:before,.x-toolbar .x-toolbar-neutral .x-field-select .x-component-outer:before.x-button-back:after,.x-toolbar .x-toolbar-neutral .x-field-select .x-component-outer:before.x-button-forward:after{background-color:#d3d3d3;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ffffff), color-stop(2%, #e5e5e5), color-stop(100%, #c1c1c1));background-image:-webkit-linear-gradient(#ffffff,#e5e5e5 2%,#c1c1c1);background-image:linear-gradient(#ffffff,#e5e5e5 2%,#c1c1c1)}.x-toolbar-neutral .x-button .x-button-icon.x-icon-mask,.x-toolbar .x-toolbar-neutral .x-button .x-button-icon.x-icon-mask,.x-toolbar-neutral .x-field-select .x-component-outer .x-button-icon.x-icon-mask,.x-toolbar .x-toolbar-neutral .x-field-select .x-component-outer .x-button-icon.x-icon-mask,.x-toolbar-neutral .x-field-select .x-component-outer:before .x-button-icon.x-icon-mask,.x-toolbar .x-toolbar-neutral .x-field-select .x-component-outer:before .x-button-icon.x-icon-mask{background-color:black;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #4d4d4d), color-stop(2%, #121212), color-stop(100%, #000000));background-image:-webkit-linear-gradient(#4d4d4d,#121212 2%,#000000);background-image:linear-gradient(#4d4d4d,#121212 2%,#000000)}.x-toolbar-neutral .x-button.x-button-pressing,.x-toolbar-neutral .x-button.x-button-pressing:after,.x-toolbar-neutral .x-button.x-button-pressed,.x-toolbar-neutral .x-button.x-button-pressed:after,.x-toolbar-neutral .x-button.x-button-active,.x-toolbar-neutral .x-button.x-button-active:after,.x-toolbar .x-toolbar-neutral .x-button.x-button-pressing,.x-toolbar .x-toolbar-neutral .x-button.x-button-pressing:after,.x-toolbar .x-toolbar-neutral .x-button.x-button-pressed,.x-toolbar .x-toolbar-neutral .x-button.x-button-pressed:after,.x-toolbar .x-toolbar-neutral .x-button.x-button-active,.x-toolbar .x-toolbar-neutral .x-button.x-button-active:after,.x-toolbar-neutral .x-field-select .x-component-outer.x-button-pressing,.x-toolbar-neutral .x-field-select .x-component-outer.x-button-pressing:after,.x-toolbar-neutral .x-field-select .x-component-outer.x-button-pressed,.x-toolbar-neutral .x-field-select .x-component-outer.x-button-pressed:after,.x-toolbar-neutral .x-field-select .x-component-outer.x-button-active,.x-toolbar-neutral .x-field-select .x-component-outer.x-button-active:after,.x-toolbar .x-toolbar-neutral .x-field-select .x-component-outer.x-button-pressing,.x-toolbar .x-toolbar-neutral .x-field-select .x-component-outer.x-button-pressing:after,.x-toolbar .x-toolbar-neutral .x-field-select .x-component-outer.x-button-pressed,.x-toolbar .x-toolbar-neutral .x-field-select .x-component-outer.x-button-pressed:after,.x-toolbar .x-toolbar-neutral .x-field-select .x-component-outer.x-button-active,.x-toolbar .x-toolbar-neutral .x-field-select .x-component-outer.x-button-active:after,.x-toolbar-neutral .x-field-select .x-component-outer:before.x-button-pressing,.x-toolbar-neutral .x-field-select .x-component-outer:before.x-button-pressing:after,.x-toolbar-neutral .x-field-select .x-component-outer:before.x-button-pressed,.x-toolbar-neutral .x-field-select .x-component-outer:before.x-button-pressed:after,.x-toolbar-neutral .x-field-select .x-component-outer:before.x-button-active,.x-toolbar-neutral .x-field-select .x-component-outer:before.x-button-active:after,.x-toolbar .x-toolbar-neutral .x-field-select .x-component-outer:before.x-button-pressing,.x-toolbar .x-toolbar-neutral .x-field-select .x-component-outer:before.x-button-pressing:after,.x-toolbar .x-toolbar-neutral .x-field-select .x-component-outer:before.x-button-pressed,.x-toolbar .x-toolbar-neutral .x-field-select .x-component-outer:before.x-button-pressed:after,.x-toolbar .x-toolbar-neutral .x-field-select .x-component-outer:before.x-button-active,.x-toolbar .x-toolbar-neutral .x-field-select .x-component-outer:before.x-button-active:after{background-color:#cccccc;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #b2b2b2), color-stop(10%, #bfbfbf), color-stop(65%, #cccccc), color-stop(100%, #cdcdcd));background-image:-webkit-linear-gradient(#b2b2b2,#bfbfbf 10%,#cccccc 65%,#cdcdcd);background-image:linear-gradient(#b2b2b2,#bfbfbf 10%,#cccccc 65%,#cdcdcd)}.x-toolbar-neutral .x-form-label{color:black;text-shadow:rgba(255, 255, 255, 0.25) 0 0.08em 0}.x-navigation-bar .x-container{overflow:visible}.x-spinner .x-input-el,.x-field-select .x-input-el{-webkit-text-fill-color:#000;-webkit-opacity:1}.x-spinner.x-item-disabled .x-input-el,.x-field-select.x-item-disabled .x-input-el{-webkit-text-fill-color:currentcolor}.x-toolbar .x-field-select .x-input-el{-webkit-text-fill-color:#fff}.x-toolbar .x-field-select.x-item-disabled .x-input-el{-webkit-text-fill-color:rgba(255, 255, 255, 0.6)}.x-toolbar .x-form-field-container{padding:0 .3em}.x-toolbar .x-field{width:13em;margin:.5em;min-height:0;border-bottom:0;background:transparent}.x-toolbar .x-field .x-clear-icon{background-size:50% 50%;right:-0.8em;margin-top:-1.06em}.x-toolbar .x-field-input{padding-right:1.6em !important}.x-toolbar .x-field-textarea .x-component-outer,.x-toolbar .x-field-text .x-component-outer,.x-toolbar .x-field-number .x-component-outer,.x-toolbar .x-field-search .x-component-outer{-webkit-border-radius:0.3em;border-radius:0.3em;background-color:white;-webkit-box-shadow:inset rgba(0, 0, 0, 0.5) 0 0.1em 0, inset rgba(0, 0, 0, 0.5) 0 -0.1em 0, inset rgba(0, 0, 0, 0.5) 0.1em 0 0, inset rgba(0, 0, 0, 0.5) -0.1em 0 0, inset rgba(0, 0, 0, 0.5) 0 0.15em 0.4em}.x-toolbar .x-form-label{background:transparent;border:0;padding:0;line-height:1.4em}.x-toolbar .x-form-field{height:1.6em;color:#6e6e6e;background:transparent;min-height:0;-webkit-appearance:none;padding:0em .3em;margin:0}.x-toolbar .x-form-field:focus{color:black}.x-toolbar .x-field-select .x-component-outer,.x-toolbar .x-field-search .x-component-outer{-webkit-border-radius:0.8em;border-radius:0.8em}.x-toolbar .x-field-search .x-field-input{background-position:.5em 50%}.x-toolbar .x-field-select{-webkit-box-shadow:none}.x-toolbar .x-field-select .x-form-field{height:1.4em}.x-toolbar .x-field-select{background:transparent}.x-toolbar .x-field-select .x-component-outer:after{right:.4em}.x-toolbar .x-field-select.x-item-disabled .x-component-outer:after{opacity:.6}.x-toolbar .x-field-select .x-component-outer:before{width:3em;border-left:none;-webkit-border-top-right-radius:0.8em;border-top-right-radius:0.8em;-webkit-border-bottom-right-radius:0.8em;border-bottom-right-radius:0.8em;-webkit-mask:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAABCAYAAACc0f2yAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAADJJREFUeNpi/P//PwMjIyMbAwMDOxRzAjEXFHMDMQ8a5kXC6HLcSHo5kcwEmU9TABBgAOcTBAFcRiSpAAAAAElFTkSuQmCC');-webkit-mask-position:right top;-webkit-mask-repeat:repeat-y;-webkit-mask-size:3em 0.05em}.x-toolbar .x-field-select .x-input-text{color:#fff}.x-android .x-field-search .x-field-input{padding-left:.2em !important;padding-right:2.2em !important}.x-indexbar-wrapper{-webkit-box-pack:end !important;box-pack:end !important;pointer-events:none}.x-indexbar-vertical{width:1.1em;-webkit-box-orient:vertical;box-orient:vertical;margin-right:8px}.x-indexbar-horizontal{height:1.1em;-webkit-box-orient:horizontal;box-orient:horizontal;margin-bottom:8px}.x-indexbar{pointer-events:auto;z-index:2;padding:.3em 0;min-height:0 !important;height:auto !important;-webkit-box-flex:0 !important}.x-indexbar > div{color:#155988;font-size:0.6em;text-align:center;line-height:1.1em;font-weight:bold;display:block}.x-phone.x-landscape .x-indexbar > div{font-size:0.38em;line-height:1em}.x-indexbar-pressed{-webkit-border-radius:0.55em;border-radius:0.55em;background-color:rgba(143, 155, 163, 0.8)}.x-list{position:relative;background-color:#f7f7f7}.x-list .x-list-inner{width:100%}.x-list .x-list-disclosure{position:absolute;bottom:0.44em;right:0.44em}.x-list .x-list-disclosure{overflow:visible;-webkit-mask:0 0 url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpFNkNCM0JGNTZFMjI2ODExQkNGQjkwMzk3MDc3MkZFQiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo3M0MzQUU1QUFDQkQxMURGOEQ2MUVDMjM0MzY2NTBDQSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo3M0MzQUU1OUFDQkQxMURGOEQ2MUVDMjM0MzY2NTBDQSIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IE1hY2ludG9zaCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkU3Q0IzQkY1NkUyMjY4MTFCQ0ZCOTAzOTcwNzcyRkVCIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkU2Q0IzQkY1NkUyMjY4MTFCQ0ZCOTAzOTcwNzcyRkVCIi8+IDwvcmRmOkRlc2NyaXB0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') no-repeat;-webkit-mask-size:1.7em;background-color:#006bb6;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #50b7ff), color-stop(2%, #0080da), color-stop(100%, #005692));background-image:-webkit-linear-gradient(#50b7ff,#0080da 2%,#005692);background-image:linear-gradient(#50b7ff,#0080da 2%,#005692);width:1.7em;height:1.7em}.x-list.x-list-indexed .x-list-disclosure{margin-right:1em}.x-list .x-item-selected .x-list-disclosure{background:#fff none}.x-list .x-list-item{position:relative;color:black}.x-list .x-list-item .x-list-item-label{min-height:2.6em;padding:0.65em 0.8em}.x-list .x-list-item.x-item-pressed .x-list-item-label{background:#b6e1ff none}.x-list .x-list-item.x-item-selected .x-list-item-label{background-color:#006bb6;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #50b7ff), color-stop(2%, #0080da), color-stop(100%, #005692));background-image:-webkit-linear-gradient(#50b7ff,#0080da 2%,#005692);background-image:linear-gradient(#50b7ff,#0080da 2%,#005692);color:white;text-shadow:rgba(0, 0, 0, 0.5) 0 -0.08em 0}.x-list-header{position:relative}.x-list-header-swap{position:absolute;left:0;width:100%;z-index:1}.x-ios .x-list-header-swap{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}.x-list-normal .x-list-header{background-color:#5ab5f5;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #eaf6fe), color-stop(2%, #7cc4f7), color-stop(100%, #38a6f3));background-image:-webkit-linear-gradient(#eaf6fe,#7cc4f7 2%,#38a6f3);background-image:linear-gradient(#eaf6fe,#7cc4f7 2%,#38a6f3);color:#0a6aac;text-shadow:rgba(255, 255, 255, 0.25) 0 0.08em 0;border-top:1px solid #5ab5f5;border-bottom:1px solid #0d87dc;font-weight:bold;font-size:0.8em;padding:0.2em 1.02em;text-shadow:rgba(255, 255, 255, 0.25) 0 0.08em 0}.x-list-normal .x-list-item .x-list-item-label{border-top:1px solid #dedede}.x-list-normal .x-list-item:last-child .x-list-item-label{border-bottom:1px solid #dedede}.x-list-normal .x-list-item:first-child .x-list-item-label{border-top:0}.x-list-normal .x-list-item.x-item-pressed .x-list-item-label{border-top-color:#b6e1ff;background-color:#b6e1ff}.x-list-normal .x-list-item.x-item-selected .x-list-item-label{border-top-color:#006bb6;border-bottom-color:#003e6a}.x-list-round .x-scroll-view{background-color:#EEEEEE !important}.x-list-round .x-list-disclosure{overflow:hidden;-webkit-mask:0 0 url('data:image/png;base64,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') no-repeat;-webkit-mask-size:1.5em;background-color:#419cdb;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #c1dff4), color-stop(2%, #5face1), color-stop(100%, #278bd1));background-image:-webkit-linear-gradient(#c1dff4,#5face1 2%,#278bd1);background-image:linear-gradient(#c1dff4,#5face1 2%,#278bd1);width:1.5em;height:1.5em;bottom:0.5em}.x-list-round .x-list-header{color:#777;font-size:1em;font-weight:bold;padding-left:26px;line-height:1.7em;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #eeeeee), color-stop(30%, rgba(238,238,238,0.9)), color-stop(100%, rgba(238,238,238,0.4)));background-image:-webkit-linear-gradient(top, #eeeeee,rgba(238,238,238,0.9) 30%,rgba(238,238,238,0.4));background-image:linear-gradient(top, #eeeeee,rgba(238,238,238,0.9) 30%,rgba(238,238,238,0.4))}.x-list-round .x-list-container{padding:13px 13px 0 13px}.x-list-round .x-list-container .x-list-header{padding-left:13px;background-image:none}.x-list-round.x-list-ungrouped .x-list-item-label,.x-list-round.x-list-grouped .x-list-item-label{border:solid #DDDDDD;border-width:1px 1px 0 1px;background:#fff}.x-list-round.x-list-ungrouped .x-list-item:first-child .x-list-item-label{-webkit-border-top-left-radius:0.4em;border-top-left-radius:0.4em;-webkit-border-top-right-radius:0.4em;border-top-right-radius:0.4em}.x-list-round.x-list-ungrouped .x-list-item:last-child{margin-bottom:13px}.x-list-round.x-list-ungrouped .x-list-item:last-child .x-list-item-label{-webkit-border-bottom-left-radius:0.4em;border-bottom-left-radius:0.4em;-webkit-border-bottom-right-radius:0.4em;border-bottom-right-radius:0.4em;border-width:1px}.x-list-round.x-list-grouped .x-list-header-item .x-list-item-label{-webkit-border-top-left-radius:0.4em;border-top-left-radius:0.4em;-webkit-border-top-right-radius:0.4em;border-top-right-radius:0.4em}.x-list-round.x-list-grouped .x-list-footer-item{margin-bottom:13px}.x-list-round.x-list-grouped .x-list-footer-item .x-list-item-label{border-width:1px;-webkit-border-bottom-left-radius:0.4em;border-bottom-left-radius:0.4em;-webkit-border-bottom-right-radius:0.4em;border-bottom-right-radius:0.4em}.x-dataview-inlineblock .x-dataview-item{display:inline-block !important}.x-dataview-nowrap .x-dataview-container{white-space:nowrap !important}.x-list-inlineblock .x-list-item{display:inline-block !important}.x-list-nowrap .x-list-inner{width:auto}.x-list-nowrap .x-list-container{white-space:nowrap !important}.x-list-paging{height:50px}.x-list-paging .x-loading-spinner{display:none;margin:auto}.x-list-paging .x-list-paging-msg{text-align:center;color:#006bb6;padding-top:10px;-webkit-border-radius:6px;border-radius:6px}.x-list-paging.x-loading .x-loading-spinner{display:block}.x-list-paging.x-loading .x-list-paging-msg{display:none}.x-list-pullrefresh{display:-webkit-box;display:box;-webkit-box-orient:horizontal;box-orient:horizontal;-webkit-box-align:center;box-align:center;-webkit-box-pack:center;box-pack:center;position:absolute;top:-5em;left:0;width:100%;height:4.5em}.x-list-pullrefresh .x-loading-spinner{display:none}.x-list-pullrefresh-arrow{width:2.5em;height:4.5em;background:center center url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAA8CAYAAAAUufjgAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAjFJREFUeNrsmU8oREEYwOexdtNuKBfFwdVhCyfuysnFiXISS+1BLopyUpKLXETkRLaUi1LK3Q2lpPbiQLnIn03a/Hm+z86Ttv0zM++bfbOar36Hbad5v535Zp7v47iuy0wOpyoEHccRHV9L9NxPkUE/bhKCOKiOSPAdn69DsJ5I8E2HYA0QJRJ8Bb50CDYRCT7pEMQD0kwk+CByUFQEW4gE73UIhoA2IsFb4ENEMCQ5MdU1IxwygpT3oKNLMGyyYFVscdhusc8tDpu+xRG7xf95BW0O2kNiV1AgIvaQ2BzUJNgJNJYZGyUU7OG1cal4Bi68oqkDPszy2teEwJp5Cdyu/lZ1g8CwIYJ7wEF+2YmrNw90Byx3BizgKhaqizEP1wg7CLLxCEzy/CtauMeBlQDyEfNuGrgU6SyM8F9SyVgHdmRaH6tAb4XkToEp2d4M5mOK0TWMigU2koa8vJMRZPxEb2ss2LEVPMpPLlMRxBgDZjQJLgNbxb6Uab9tAn3EcifAeKkBMoLY+j0GWonk7oB+lmsFkwhidAGHBPmIeTcAnJcbKCuIMQEs+hScAzZEBqoIYuzyFVCJI36lMJ2CDfxibZeUu+EX/4uMIFP8ZyLejxkgK0hG5a8kP4IYSZbr1IuQVHmAX0HGX4VuGfZVJ6cQxPd1uoRcWqDW0SroFVzZAnJZ/h0LWhAjUUAw4XdSSsH8fExRTEgtGAOuOTETBb16Jk412e+bxOSwglYw6PgWYABvLk8P7zGJFwAAAABJRU5ErkJggg==') no-repeat;background-size:2em 3em;-webkit-transform:rotate(0deg);transform:rotate(0deg)}.x-list-pullrefresh-release .x-list-pullrefresh-arrow{-webkit-transform:rotate(-180deg);transform:rotate(-180deg)}.x-list-pullrefresh-wrap{width:20em;font-size:0.7em}.x-list-pullrefresh-message{font-weight:bold;font-size:1.3em;margin-bottom:0.1em;text-align:center}.x-list-pullrefresh-updated{text-align:center}html,body{width:100%;height:100%}.x-translatable{position:absolute;top:100%;left:100%;z-index:1}.x-translatable-container{position:relative}.x-translatable-wrapper{width:100%;height:100%;position:absolute;overflow:hidden}.x-translatable-stretcher{width:300%;height:300%;position:absolute;visibility:hidden;z-index:-1}.x-translatable-nested-stretcher{width:100%;height:100%;left:100%;top:100%;position:absolute;visibility:hidden;z-index:-1}.x-layout-fit,.x-layout-card{position:relative;overflow:hidden}.x-layout-fit-item,.x-layout-card-item{position:absolute !important;width:100%;height:100%}.x-layout-hbox,.x-layout-vbox{display:-webkit-box}.x-layout-hbox > *,.x-layout-vbox > *{-webkit-box-flex:0}.x-layout-hbox{-webkit-box-orient:horizontal}.x-layout-vbox{-webkit-box-orient:vertical}.x-layout-hbox > .x-layout-box-item{width:0 !important}.x-layout-vbox > .x-layout-box-item{height:0 !important}.x-table-inner{display:table !important;width:100%;height:100%}.x-table-inner.x-table-fixed{table-layout:fixed !important}.x-table-row{display:table-row !important}.x-table-row > *{display:table-cell !important;vertical-align:middle}.x-container,.x-body{display:-webkit-box}.x-body{overflow:hidden;-webkit-box-flex:1;min-width:100%;min-height:100%}.x-body > .x-inner,.x-container > .x-inner{-webkit-box-flex:1;min-width:100%;min-height:100%;position:relative}.x-docking-horizontal{display:-webkit-box;-webkit-box-flex:1;-webkit-box-orient:horizontal;min-width:100%;min-height:100%}.x-docking-vertical{display:-webkit-box;-webkit-box-flex:1;-webkit-box-orient:vertical;min-width:100%;min-height:100%}.x-centered{position:absolute !important;width:100%;height:100%;display:-webkit-box;-webkit-box-align:center;-webkit-box-pack:center}.x-floating{position:absolute !important}.x-centered > *{position:relative !important;-webkit-box-flex:0 !important}.x-size-change-detector{visibility:hidden;position:absolute;left:0;top:0;z-index:-1;width:100%;height:100%;overflow:hidden}.x-size-change-detector > *{visibility:hidden}.x-size-change-detector-shrink > *{width:200%;height:200%}.x-size-change-detector-expand > *{width:100000px;height:100000px}.x-scroll-view{position:relative;display:block}.x-scroll-container{position:absolute;overflow:hidden;width:100%;height:100%}.x-scroll-scroller{position:absolute;min-width:100%;min-height:100%}.x-ios .x-scroll-scroller{-webkit-transform:translate3d(0, 0, 0)}.x-scroll-stretcher{position:absolute;visibility:hidden}.x-scroll-bar-grid-wrapper{position:absolute;width:100%;height:100%}.x-scroll-bar-grid{display:table;width:100%;height:100%}.x-scroll-bar-grid > *{display:table-row}.x-scroll-bar-grid > * > *{display:table-cell}.x-scroll-bar-grid > :first-child > :first-child{width:100%;height:100%}.x-scroll-bar-grid > :first-child > :nth-child(2){padding:3px 3px 0 0}.x-scroll-bar-grid > :nth-child(2) > :first-child{padding:0 0 3px 3px}.x-scroll-bar{position:relative;overflow:hidden}.x-scroll-bar-stretcher{position:absolute;visibility:hidden;width:100%;height:100%}.x-scroll-bar-x{width:100%}.x-scroll-bar-x > .x-scroll-bar-stretcher{width:300%}.x-scroll-bar-x.active{height:6px}.x-scroll-bar-y{height:100%}.x-scroll-bar-y > .x-scroll-bar-stretcher{height:300%}.x-scroll-bar-y.active{width:6px}.x-scroll-indicator{background:#333;position:absolute;z-index:2;opacity:0.5}.x-scroll-indicator.default{-webkit-border-top-left-radius:3px;border-top-left-radius:3px;-webkit-border-top-right-radius:3px;border-top-right-radius:3px;-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px;-webkit-border-bottom-right-radius:3px;border-bottom-right-radius:3px}.x-list-light .x-scroll-indicator,.x-dataview-light .x-scroll-indicator{background:#fff;opacity:1}.x-scroll-indicator-x{height:100%}.x-scroll-indicator-y{width:100%}.x-scroll-indicator.csstransform{background:none}.x-scroll-indicator.csstransform > *{position:absolute;background-color:#333}.x-scroll-indicator.csstransform > :nth-child(2){-webkit-transform-origin:0% 0%;background:none;content:url(data:image/bmp;base64,Qk08AAAAAAAAADYAAAAoAAAAAQAAAAEAAAABABAAAAAAAAYAAAASCwAAEgsAAAAAAAAAAAAAxhgAAAAA)}.x-scroll-indicator.csstransform.x-scroll-indicator-light > *{background-color:#eee}.x-scroll-indicator.csstransform.x-scroll-indicator-light > :nth-child(2){content:url(data:image/bmp;base64,Qk08AAAAAAAAADYAAAAoAAAAAQAAAAEAAAABABAAAAAAAAYAAAASCwAAEgsAAAAAAAAAAAAAvXcAAAAA)}.x-scroll-indicator.csstransform.x-scroll-indicator-y > *{width:100%}.x-scroll-indicator.csstransform.x-scroll-indicator-y > :first-child{height:3px;-webkit-border-top-left-radius:3px;border-top-left-radius:3px;-webkit-border-top-right-radius:3px;border-top-right-radius:3px}.x-scroll-indicator.csstransform.x-scroll-indicator-y > :nth-child(2){height:1px}.x-scroll-indicator.csstransform.x-scroll-indicator-y > :last-child{height:3px;-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px;-webkit-border-bottom-right-radius:3px;border-bottom-right-radius:3px}.x-scroll-indicator.csstransform.x-scroll-indicator-x > *{height:100%}.x-scroll-indicator.csstransform.x-scroll-indicator-x > :first-child{width:3px;-webkit-border-top-left-radius:3px;border-top-left-radius:3px;-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px}.x-scroll-indicator.csstransform.x-scroll-indicator-x > :nth-child(2){width:1px}.x-scroll-indicator.csstransform.x-scroll-indicator-x > :last-child{width:3px;-webkit-border-top-right-radius:3px;border-top-right-radius:3px;-webkit-border-bottom-right-radius:3px;border-bottom-right-radius:3px}.x-carousel{position:relative;overflow:hidden}.x-carousel-item{position:absolute;width:100%;height:100%}.x-carousel-item > *{position:absolute;width:100%;height:100%}.x-carousel-indicator{padding:0;-webkit-border-radius:0;border-radius:0;-webkit-box-shadow:none;background-color:transparent;background-image:none}.x-carousel-indicator{-webkit-box-flex:1;display:-webkit-box;display:box;-webkit-box-pack:center;box-pack:center;-webkit-box-align:center;box-align:center}.x-carousel-indicator span{display:block;width:0.5em;height:0.5em;-webkit-border-radius:0.25em;border-radius:0.25em;margin:0.2em}.x-carousel-indicator-horizontal{height:1.5em;width:100%}.x-carousel-indicator-vertical{-webkit-box-orient:vertical;box-orient:vertical;width:1.5em;height:100%}.x-carousel-indicator-light span{background-color:rgba(255, 255, 255, 0.1);background-image:none}.x-carousel-indicator-light span.x-carousel-indicator-active{background-color:rgba(255, 255, 255, 0.3);background-image:none}.x-carousel-indicator-dark span{background-color:rgba(0, 0, 0, 0.1);background-image:none}.x-carousel-indicator-dark span.x-carousel-indicator-active{background-color:rgba(0, 0, 0, 0.3);background-image:none}.x-form .x-scroll-container{background-color:#eeeeee}.x-form .x-scroll-container > .x-inner{padding:1em}.x-form-label{text-shadow:#fff 0 1px 1px;color:#333333;text-shadow:rgba(255, 255, 255, 0.25) 0 0.08em 0;padding:0.6em;display:none !important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background-color:#f7f7f7}.x-form-label span{font-size:.8em;font-weight:bold}.x-field{min-height:2.5em;background:#fff}.x-field .x-field-input{position:relative}.x-field .x-field-input,.x-field .x-input-el{width:100%}.x-field.x-field-labeled .x-form-label{display:block !important}.x-field:last-child{border-bottom:0}.x-label-align-left .x-component-outer,.x-label-align-right .x-component-outer{-webkit-box-flex:1;box-flex:1}.x-label-align-left:first-child .x-form-label{-webkit-border-top-left-radius:0.4em;border-top-left-radius:0.4em}.x-label-align-left:last-child .x-form-label{-webkit-border-bottom-left-radius:0.4em;border-bottom-left-radius:0.4em}.x-label-align-right{-webkit-box-direction:reverse;box-direction:reverse}.x-label-align-right:first-child .x-form-label{-webkit-border-top-right-radius:0.4em;border-top-right-radius:0.4em}.x-label-align-right:last-child{border-bottom:0}.x-label-align-right:last-child .x-form-label{-webkit-border-bottom-right-radius:0.4em;border-bottom-right-radius:0.4em}.x-label-align-top,.x-label-align-bottom{-webkit-box-orient:vertical;box-orient:vertical}.x-label-align-top:first-child .x-form-label{-webkit-border-top-left-radius:0.4em;border-top-left-radius:0.4em;-webkit-border-top-right-radius:0.4em;border-top-right-radius:0.4em}.x-label-align-bottom:last-child .x-form-label{-webkit-border-bottom-left-radius:0.4em;border-bottom-left-radius:0.4em;-webkit-border-bottom-right-radius:0.4em;border-bottom-right-radius:0.4em}.x-input-el{padding:.4em;min-height:2.5em;display:block;border-width:0;background:transparent;-webkit-appearance:none}.x-field-mask{position:absolute;top:0;right:0;bottom:0;left:0}.x-field-required label:after,.x-field-required .x-form-label:after{content:"*";display:inline}.x-item-disabled label:after,.x-item-disabled .x-form-label:after{color:#666 !important}.x-field-textarea textarea{min-height:6em;padding-top:.5em}.x-checkmark-base,.x-field .x-input-radio:after,.x-field .x-input-checkbox:after,.x-field .x-input-radio:checked:after,.x-field .x-input-checkbox:checked:after,.x-field.x-item-disabled .x-input-radio:checked:after,.x-field.x-item-disabled .x-input-checkbox:checked:after,.x-select-overlay .x-item-selected .x-list-item-label:before,.x-select-overlay .x-item-selected .x-list-item-label:after{content:"";position:absolute;width:1.4em;height:1.4em;top:50%;left:auto;right:1.1em;-webkit-mask-size:1.4em;-webkit-mask-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAE+klEQVRoBe2aS28URxRGsY0h2FmwCQuEWLHjvUNgZAQ4PMwrEkIRIGEgySKwB8QvYIvEP+ANO0CwsJAA88wGBEKBZJUVQkJCQrwJ5nxN31Z5pnpc7e4ZT9vT0peqqanquqfurVvlIW3Dw8NTJtPTPplgxdoCnugeb3m45eEJtgJTJwJPGw8cP8V6TfmC4/Z/H9uEAAZsIdqHZiMBn2UNbvigSw8M2AIAD6PtqBPpmYe+8t1NoL9GLfYf3bTKKhiWo9PoA9KV0dUgn/tRh8tXWg/Hnj0KUB8yz1JNnjXUuhFd264A/f0O7dKXpQ7EIiTPfkKuVyvrSlx3US+KPF26cMbwxeg8Gg3W4LWHFd6rUUepQprQnI/Rh9A25AtjmqseHVkK7w59UxpgYFdg7wH0CwqFpWvyrKI23GZ7OWluwgqwOnqOobVoWh4Tm97DwCpBHUFp2TiUX3v5QVMnLQzMmqAsUVWWyta3UX/TAmOcwjjk6KmE830W7GbU0ZTAGKYEJdj3yAcQ2qYw1jmsG9e0KF8122UDw/SHwFX0EYWC+fpZGG/hPcn1sqk8jGHas+dQ6KXCB6o2g91IPfKsObZpgDGsqAT1hXdpz25A7QZqZU1gBsxFSh5zbEA9yniOU5R5PSvvCnYTSsLYtdkLTGf9uKdD/gS6gI6jPndgUXXe24OKSFAK4zsoSVA+G6uAGaC758/oBrIs+Zb6rbg9up35Xpa1jffpUqEEldezysbJ0VPLjhHADOpEfUiw2gtuUtAKDiGtYNXeqDWJ7zveYQnqM3V3nqx1s2s97xmRoLzzWqMgkLLaTVQJa0ZoJe+hXjRmaMYKVlslr2dlp5wgu4PsiTyszmg5qgVr0CqvoZW2WFlKxhV5gxJsdIMKtYH+Eew6yksoNLy0soJeFzqR+vEI9gx6h9wFzFoPSlA+25g3SlChnnUNU3grkWmxRg0n+ihBnUR5w9j2bCbPGjzzR3sgbc+6gL66TV4zkTHHEqSfZSzr+94V0mbzKUF1GkSWknG5QktGyoj7qBdVeZo2S1Ch2yUNXOMVUcEJyrcQjOeP4vzQCu9BpBtOck5T70HybN4w1iJcR7ouem9QPjhfG+On7EBPUNrKhrYLWp7+FS1FCjtdKvJ6VvM/Q9o2uWC1AHq60QB6hELh0voJ+im6iHReF+FZwe5HP/g8lrXNzuEfeeFu9C9Kg8nSrr9lBZ9ljK/v37xjL5qRFSytf3K15KXy9EH0D/JN3ui2Qj1rC5AAq4FnJvoDPUSNBnTnUy4YQF1maFHlCOAYuouJFN6PkWtEo+ryrH5sL2TPVi5UFXAMrfDegxrtae3ZfWh6paFFffYCx9BKZLtQo/a0YLXIhSUo3yKlAsfQ8vSBBkALtrCjxwdqbTWBY2glst9REee0Lw/ULUEZpFuOChxD1yuRybNbUV0SlAtq9SDgGFp7ushEJlhdKuqWoAzSLYOBHeidGPkc+cIztE2wA6iuCcoFtXom4Bha4f0nGmv2FqyOnoaFscFG9rsfQusYq0T2G8qayASrbdEdOlfR/TJ72AzAaHla5/QD9BnVCucvfK/fjZXtx8WzZneu/+WBf53XOb0G6XetHjQXyfv2vKLyH7qLLqMhJn5DOW5PLmBZDfRUilloGUoD/ovvXgIrT4/rkxt4XK0fw+TtYxhT6iEt4FK7L8D4locDFqnUXSadh78Bx5bEl2CLG+8AAAAASUVORK5CYII=');margin-top:-0.7em}.x-field .x-input-radio,.x-field .x-input-checkbox{position:relative}.x-field .x-input-radio:after,.x-field .x-input-checkbox:after{background-color:#dddddd}.x-field .x-input-radio:checked:after,.x-field .x-input-checkbox:checked:after{background-color:#006bb6}.x-field.x-item-disabled .x-input-radio:checked:after,.x-field.x-item-disabled .x-input-checkbox:checked:after{background-color:#9abad1}.x-spinner .x-component-outer{display:-webkit-box;display:box}.x-spinner .x-component-outer > *{width:auto}.x-spinner .x-field-input{-webkit-box-flex:1}.x-spinner .x-field-input .x-input-el{-webkit-text-fill-color:#000;width:100%;text-align:center}.x-spinner .x-field-input input::-webkit-outer-spin-button,.x-spinner .x-field-input input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.x-spinner.x-item-disabled .x-input-el{-webkit-text-fill-color:#B3B3B3}.x-spinner.x-item-disabled .x-spinner-button{color:#aaa !important}.x-spinner.x-item-disabled .x-spinner-button,.x-toolbar .x-spinner.x-item-disabled .x-spinner-button{border:1px solid #c4c4c4;border-top-color:#d0d0d0;color:black}.x-spinner.x-item-disabled .x-spinner-button.x-button-back:before,.x-spinner.x-item-disabled .x-spinner-button.x-button-forward:before,.x-toolbar .x-spinner.x-item-disabled .x-spinner-button.x-button-back:before,.x-toolbar .x-spinner.x-item-disabled .x-spinner-button.x-button-forward:before{background:#c4c4c4}.x-spinner.x-item-disabled .x-spinner-button,.x-spinner.x-item-disabled .x-spinner-button.x-button-back:after,.x-spinner.x-item-disabled .x-spinner-button.x-button-forward:after,.x-toolbar .x-spinner.x-item-disabled .x-spinner-button,.x-toolbar .x-spinner.x-item-disabled .x-spinner-button.x-button-back:after,.x-toolbar .x-spinner.x-item-disabled .x-spinner-button.x-button-forward:after{background-color:#f7f7f7;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ffffff), color-stop(2%, #ffffff), color-stop(100%, #e5e5e5));background-image:-webkit-linear-gradient(#ffffff,#ffffff 2%,#e5e5e5);background-image:linear-gradient(#ffffff,#ffffff 2%,#e5e5e5)}.x-spinner.x-item-disabled .x-spinner-button .x-button-icon.x-icon-mask,.x-toolbar .x-spinner.x-item-disabled .x-spinner-button .x-button-icon.x-icon-mask{background-color:black;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #4d4d4d), color-stop(2%, #121212), color-stop(100%, #000000));background-image:-webkit-linear-gradient(#4d4d4d,#121212 2%,#000000);background-image:linear-gradient(#4d4d4d,#121212 2%,#000000)}.x-spinner.x-item-disabled .x-spinner-button.x-button-pressing,.x-spinner.x-item-disabled .x-spinner-button.x-button-pressing:after,.x-spinner.x-item-disabled .x-spinner-button.x-button-pressed,.x-spinner.x-item-disabled .x-spinner-button.x-button-pressed:after,.x-spinner.x-item-disabled .x-spinner-button.x-button-active,.x-spinner.x-item-disabled .x-spinner-button.x-button-active:after,.x-toolbar .x-spinner.x-item-disabled .x-spinner-button.x-button-pressing,.x-toolbar .x-spinner.x-item-disabled .x-spinner-button.x-button-pressing:after,.x-toolbar .x-spinner.x-item-disabled .x-spinner-button.x-button-pressed,.x-toolbar .x-spinner.x-item-disabled .x-spinner-button.x-button-pressed:after,.x-toolbar .x-spinner.x-item-disabled .x-spinner-button.x-button-active,.x-toolbar .x-spinner.x-item-disabled .x-spinner-button.x-button-active:after{background-color:#efefef;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #d5d5d5), color-stop(10%, #e2e2e2), color-stop(65%, #efefef), color-stop(100%, #f0f0f0));background-image:-webkit-linear-gradient(#d5d5d5,#e2e2e2 10%,#efefef 65%,#f0f0f0);background-image:linear-gradient(#d5d5d5,#e2e2e2 10%,#efefef 65%,#f0f0f0)}.x-spinner .x-spinner-button{margin-top:.25em;margin-bottom:.25em;width:2em;padding:.23em 0 .27em;font-weight:bold;text-align:center;border:1px solid #dddddd !important;-webkit-border-radius:1em;border-radius:1em}.x-spinner .x-spinner-button,.x-toolbar .x-spinner .x-spinner-button{border:1px solid #b7b7b7;border-top-color:#c4c4c4;color:black}.x-spinner .x-spinner-button.x-button-back:before,.x-spinner .x-spinner-button.x-button-forward:before,.x-toolbar .x-spinner .x-spinner-button.x-button-back:before,.x-toolbar .x-spinner .x-spinner-button.x-button-forward:before{background:#b7b7b7}.x-spinner .x-spinner-button,.x-spinner .x-spinner-button.x-button-back:after,.x-spinner .x-spinner-button.x-button-forward:after,.x-toolbar .x-spinner .x-spinner-button,.x-toolbar .x-spinner .x-spinner-button.x-button-back:after,.x-toolbar .x-spinner .x-spinner-button.x-button-forward:after{background-color:#eaeaea;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ffffff), color-stop(2%, #fcfcfc), color-stop(100%, #d8d8d8));background-image:-webkit-linear-gradient(#ffffff,#fcfcfc 2%,#d8d8d8);background-image:linear-gradient(#ffffff,#fcfcfc 2%,#d8d8d8)}.x-spinner .x-spinner-button .x-button-icon.x-icon-mask,.x-toolbar .x-spinner .x-spinner-button .x-button-icon.x-icon-mask{background-color:black;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #4d4d4d), color-stop(2%, #121212), color-stop(100%, #000000));background-image:-webkit-linear-gradient(#4d4d4d,#121212 2%,#000000);background-image:linear-gradient(#4d4d4d,#121212 2%,#000000)}.x-spinner .x-spinner-button.x-button-pressing,.x-spinner .x-spinner-button.x-button-pressing:after,.x-spinner .x-spinner-button.x-button-pressed,.x-spinner .x-spinner-button.x-button-pressed:after,.x-spinner .x-spinner-button.x-button-active,.x-spinner .x-spinner-button.x-button-active:after,.x-toolbar .x-spinner .x-spinner-button.x-button-pressing,.x-toolbar .x-spinner .x-spinner-button.x-button-pressing:after,.x-toolbar .x-spinner .x-spinner-button.x-button-pressed,.x-toolbar .x-spinner .x-spinner-button.x-button-pressed:after,.x-toolbar .x-spinner .x-spinner-button.x-button-active,.x-toolbar .x-spinner .x-spinner-button.x-button-active:after{background-color:#e2e2e2;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #c9c9c9), color-stop(10%, #d5d5d5), color-stop(65%, #e2e2e2), color-stop(100%, #e3e3e3));background-image:-webkit-linear-gradient(#c9c9c9,#d5d5d5 10%,#e2e2e2 65%,#e3e3e3);background-image:linear-gradient(#c9c9c9,#d5d5d5 10%,#e2e2e2 65%,#e3e3e3)}.x-spinner .x-spinner-button-down{margin-left:.25em}.x-spinner .x-spinner-button-up{margin-right:.25em}.x-spinner.x-field-grouped-buttons .x-input-el{text-align:left}.x-spinner.x-field-grouped-buttons .x-spinner-button-down{margin-right:.5em}.x-android .x-spinner-button{padding:.40em 0 .11em !important}.x-phone .x-select-overlay{min-width:14em;min-height:12.5em}.x-select-overlay{min-width:18em;min-height:22em}.x-select-overlay .x-list-item-label{height:2.6em}.x-select-overlay .x-list-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.x-select-overlay .x-item-selected .x-list-label{margin-right:2.6em}.x-select-overlay .x-item-selected .x-list-item-label:before{background-color:rgba(0, 0, 0, 0.3);margin-top:-0.8em}.x-select-overlay .x-item-selected .x-list-item-label:after{background-color:#dddddd}.x-slider-field .x-component-outer,.x-toggle-field .x-component-outer{padding:0.6em}.x-slider,.x-toggle{position:relative;height:2.2em;min-height:0;min-width:0}.x-slider > *,.x-toggle > *{position:absolute;width:100%;height:100%}.x-slider.x-item-disabled{opacity:.6}.x-thumb{position:absolute;height:2.2em;width:2.2em}.x-thumb:before{content:"";position:absolute;width:1.85em;height:1.85em;top:0.175em;left:0.175em;border:1px solid #919191;-webkit-border-radius:0.925em;border-radius:0.925em;background-color:#dddddd;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ffffff), color-stop(2%, #efefef), color-stop(100%, #cbcbcb));background-image:-webkit-linear-gradient(#ffffff,#efefef 2%,#cbcbcb);background-image:linear-gradient(#ffffff,#efefef 2%,#cbcbcb);-webkit-background-clip:padding;background-clip:padding-box}.x-thumb.x-dragging{opacity:1}.x-thumb.x-dragging:before{background-color:#d0d0d0;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ffffff), color-stop(2%, #e2e2e2), color-stop(100%, #bebebe));background-image:-webkit-linear-gradient(#ffffff,#e2e2e2 2%,#bebebe);background-image:linear-gradient(#ffffff,#e2e2e2 2%,#bebebe)}.x-slider:after{content:"";position:absolute;width:auto;height:0.8em;top:0.737em;left:0;right:0;margin:0 0.925em;background-color:#dddddd;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #c4c4c4), color-stop(10%, #d0d0d0), color-stop(65%, #dddddd), color-stop(100%, #dedede));background-image:-webkit-linear-gradient(#c4c4c4,#d0d0d0 10%,#dddddd 65%,#dedede);background-image:linear-gradient(#c4c4c4,#d0d0d0 10%,#dddddd 65%,#dedede);border:0.1em solid rgba(0, 0, 0, 0.1);border-bottom:0;-webkit-box-shadow:rgba(255, 255, 255, 0.7) 0 0.1em 0;-webkit-border-radius:0.4em;border-radius:0.4em}.x-toggle{width:4.4em;-webkit-border-radius:1.1em;border-radius:1.1em;overflow:hidden;border:1px solid #b7b7b7;background-color:#ddd;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #c4c4c4), color-stop(10%, #d0d0d0), color-stop(65%, #dddddd), color-stop(100%, #dedede));background-image:-webkit-linear-gradient(#c4c4c4,#d0d0d0 10%,#dddddd 65%,#dedede);background-image:linear-gradient(#c4c4c4,#d0d0d0 10%,#dddddd 65%,#dedede);-webkit-box-flex:0}.x-toggle .x-thumb.x-dragging{opacity:1}.x-toggle .x-thumb:before{top:0.175em}.x-toggle-on{background-color:#92cf00;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #6e9c00), color-stop(10%, #80b500), color-stop(65%, #92cf00), color-stop(100%, #94d200));background-image:-webkit-linear-gradient(#6e9c00,#80b500 10%,#92cf00 65%,#94d200);background-image:linear-gradient(#6e9c00,#80b500 10%,#92cf00 65%,#94d200)}input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none}.x-field-number input::-webkit-outer-spin-button,.x-field-number input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.x-field-search .x-field-input{position:relative}.x-field-search .x-field-input:before{content:"";position:absolute;width:0.86em;height:0.86em;top:50%;left:0.5em;-webkit-mask-image:url('data:image/png;base64,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');-webkit-mask-size:.86em;background-color:#ccc;-webkit-mask-repeat:no-repeat;margin-top:-0.43em}.x-field-search .x-field-input .x-form-field{margin-left:1.0em}.x-field-input .x-clear-icon{display:none;background:url('data:image/png;base64,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') no-repeat;background-position:center center;background-size:55% 55%;width:2.2em;height:2.2em;margin:.5em;margin-top:-1.1em;position:absolute;top:50%;right:-0.5em}.x-field-clearable .x-clear-icon{display:block}.x-field-clearable .x-field-input{padding-right:2.2em}.x-android .x-input-el{-webkit-text-fill-color:#000}.x-android .x-empty .x-input-el{-webkit-text-fill-color:#A9A9A9}.x-item-disabled .x-form-label span,.x-item-disabled input,.x-item-disabled .x-input-el,.x-item-disabled .x-spinner-body,.x-item-disabled select,.x-item-disabled textarea,.x-item-disabled .x-field-clear-container{color:#b3b3b3;-webkit-text-fill-color:#b3b3b3;pointer-events:none}.x-form-fieldset{margin:0 0 1.5em}.x-form-fieldset .x-form-label{border-top:1px solid white}.x-form-fieldset .x-form-fieldset-inner{border:1px solid #dddddd;background:#fff;padding:0;-webkit-border-radius:0.4em;border-radius:0.4em;overflow:hidden}.x-form-fieldset .x-field{border-bottom:1px solid #dddddd;background:transparent}.x-form-fieldset .x-field:first-child{-webkit-border-top-left-radius:0.4em;border-top-left-radius:0.4em;-webkit-border-top-right-radius:0.4em;border-top-right-radius:0.4em}.x-form-fieldset .x-field:last-child{border-bottom:0;-webkit-border-bottom-left-radius:0.4em;border-bottom-left-radius:0.4em;-webkit-border-bottom-right-radius:0.4em;border-bottom-right-radius:0.4em}.x-form-fieldset-title{text-shadow:#fff 0 1px 1px;color:#333333;margin:1em 0.7em 0.3em;color:#333333;font-weight:bold;white-space:nowrap}.x-form-fieldset-instructions{text-shadow:#fff 0 1px 1px;color:#333333;color:gray;margin:1em 0.7em 0.3em;font-size:.8em;text-align:center}.x-selectmark-base,.x-field-select .x-component-outer:after{content:"";position:absolute;width:1em;height:1em;top:50%;left:auto;right:0.7em;-webkit-mask-size:1em;-webkit-mask-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpGRTdGMTE3NDA3MjA2ODExOTJDQUMyNUQwRUE4NjdEQiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoxQTFBMDFDQ0I5NEYxMURGQUU1RjlGMEFERUNDQTVEMCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoyMkRCMDIxMkI5NEUxMURGQUU1RjlGMEFERUNDQTVEMCIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IE1hY2ludG9zaCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjMwRTE0QzVBNDIyMjY4MTFCQ0ZCOTAzOTcwNzcyRkVCIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkZFN0YxMTc0MDcyMDY4MTE5MkNBQzI1RDBFQTg2N0RCIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+HfrH/AAAAeVJREFUeNrs2cFHBGEUAPA3zYqIiIhOnTpFRHSKrp26RqeuEV077R/QqWtE166dOkVERHRa9hQRnZalFcv0Hk/W1Mx+38z3vvlm5j3eZW+/9+abne+9KEkSaFPMQMtCwQpWsIIVrGAFK1jBClawgo2ik/4hiqJGwLKuvfpIc5xSkWqYr5hzU1s/mRNxXTPsJ+ZqluvXlwOmSj3XBDvG3M1rpAmYYoUrFzr4ZNqTawqm2MH8Dhh7ZXJUbcAUx4FinzBnJcAUl4FhP/jIgRSYKvkYCJaO2LbNv08RMMUy5nsA4COTLy0XYIqtil9iF6aflq7AwBWuAvuQ9ZKSBgNX2ieWjtKSzeXBNZgqfe8J+4W5aXtbcg0GrvibB/BhkeuhBJhigzsghT0veh+WAlMcCGHvMOMQwcCdcIntYy6WmXhIg2PuiAvsEHO97IhHGgzckb4D8L6LmZYPMHBnhiWwXVdDPF9g4A4Vwd66nFr6BAN3ygbbw1yoMzjmjplgB5hrrufSvsHAHesZDOD2JAbxVYCBOzfIAZ9JbR6qAgN3cPwP9kZy1VIlGLiTdluCmoOBO/pnS9Bk8DzmS3pL4BMcpZEe1qX0GI/atC4dQYXRMa1MU0IX4gpWsIIVrGAFK1jBCnYUPwIMAPUPAyFL+nRdAAAAAElFTkSuQmCC');margin-top:-0.5em}.x-field-select{position:relative}.x-field-select .x-component-outer:after{background-color:#dddddd;z-index:2}.x-field-select .x-component-outer:before,.x-field-select .x-component-outer:after{pointer-events:none;position:absolute;display:block}.x-field-select .x-component-outer:before{content:"";position:absolute;width:4em;height:auto;top:0;left:auto;right:0;bottom:0;-webkit-border-top-right-radius:0.4em;border-top-right-radius:0.4em;-webkit-border-bottom-right-radius:0.4em;border-bottom-right-radius:0.4em;background:-webkit-gradient(linear, 0% 0%, 100% 0%, from(rgba(255, 255, 255, 0)), color-stop(0.5, white));z-index:1}.x-msgbox{min-width:15em;max-width:20em;padding:0.8em;margin:.5em;-webkit-box-shadow:rgba(0, 0, 0, 0.4) 0 0.1em 0.5em;-webkit-border-radius:0.3em;border-radius:0.3em;border:0.15em solid #1985d0}.x-msgbox .x-icon{margin-left:1.3em}.x-msgbox .x-title{font-size:.9em;line-height:1.4em}.x-msgbox .x-body{background:transparent !important}.x-msgbox .x-toolbar{background:transparent none;-webkit-box-shadow:none}.x-msgbox .x-toolbar.x-docked-top{border-bottom:0;height:1.3em}.x-msgbox .x-toolbar.x-docked-bottom{border-top:0}.x-msgbox .x-field{min-height:2em;background:#fff;-webkit-border-radius:0.2em;border-radius:0.2em}.x-msgbox .x-form-field{min-height:1.5em;padding-right:0 !important;-webkit-appearance:none}.x-msgbox .x-field-input{padding-right:2.2em}.x-msgbox-text{text-align:center;padding:6px 0;line-height:1.4em}.x-msgbox-buttons{padding:0.4em 0;height:auto}.x-msgbox-buttons .x-button{min-width:4.5em}.x-msgbox-buttons .x-button-normal span{opacity:.7}.x-msgbox-dark .x-msgbox-text{color:rgba(190, 224, 247, 0.9);text-shadow:rgba(0, 0, 0, 0.5) 0 -0.08em 0}.x-msgbox-dark .x-msgbox-input{background-color:rgba(190, 224, 247, 0.9);background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, rgba(144,202,242,0.9)), color-stop(10%, rgba(167,213,244,0.9)), color-stop(65%, rgba(190,224,247,0.9)), color-stop(100%, rgba(192,225,247,0.9)));background-image:-webkit-linear-gradient(rgba(144,202,242,0.9),rgba(167,213,244,0.9) 10%,rgba(190,224,247,0.9) 65%,rgba(192,225,247,0.9));background-image:linear-gradient(rgba(144,202,242,0.9),rgba(167,213,244,0.9) 10%,rgba(190,224,247,0.9) 65%,rgba(192,225,247,0.9));border:0.1em solid rgba(25, 133, 208, 0.9)}.x-loading-spinner{font-size:250%;height:1em;width:1em;position:relative;-webkit-transform-origin:0.5em 0.5em}.x-loading-spinner > span,.x-loading-spinner > span:before,.x-loading-spinner > span:after{display:block;position:absolute;width:0.1em;height:0.25em;top:0;-webkit-transform-origin:0.05em 0.5em;-webkit-border-radius:0.05em;border-radius:0.05em;content:" "}.x-loading-spinner > span.x-loading-top{background-color:rgba(170, 170, 170, 0.99)}.x-loading-spinner > span.x-loading-top::after{background-color:rgba(170, 170, 170, 0.9)}.x-loading-spinner > span.x-loading-left::before{background-color:rgba(170, 170, 170, 0.8)}.x-loading-spinner > span.x-loading-left{background-color:rgba(170, 170, 170, 0.7)}.x-loading-spinner > span.x-loading-left::after{background-color:rgba(170, 170, 170, 0.6)}.x-loading-spinner > span.x-loading-bottom::before{background-color:rgba(170, 170, 170, 0.5)}.x-loading-spinner > span.x-loading-bottom{background-color:rgba(170, 170, 170, 0.4)}.x-loading-spinner > span.x-loading-bottom::after{background-color:rgba(170, 170, 170, 0.35)}.x-loading-spinner > span.x-loading-right::before{background-color:rgba(170, 170, 170, 0.3)}.x-loading-spinner > span.x-loading-right{background-color:rgba(170, 170, 170, 0.25)}.x-loading-spinner > span.x-loading-right::after{background-color:rgba(170, 170, 170, 0.2)}.x-loading-spinner > span.x-loading-top::before{background-color:rgba(170, 170, 170, 0.15)}.x-loading-spinner > span{left:50%;margin-left:-0.05em}.x-loading-spinner > span.x-loading-top{-webkit-transform:rotate(0deg);-moz-transform:rotate(0deg)}.x-loading-spinner > span.x-loading-right{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg)}.x-loading-spinner > span.x-loading-bottom{-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg)}.x-loading-spinner > span.x-loading-left{-webkit-transform:rotate(270deg);-moz-transform:rotate(270deg)}.x-loading-spinner > span::before{-webkit-transform:rotate(30deg);-moz-transform:rotate(30deg)}.x-loading-spinner > span::after{-webkit-transform:rotate(-30deg);-moz-transform:rotate(-30deg)}.x-loading-spinner{-webkit-animation-name:x-loading-spinner-rotate;-webkit-animation-duration:.5s;-webkit-animation-iteration-count:infinite;-webkit-animation-timing-function:linear}@-webkit-keyframes x-loading-spinner-rotate{0%{-webkit-transform:rotate(0deg)}8.32%{-webkit-transform:rotate(0deg)}8.33%{-webkit-transform:rotate(30deg)}16.65%{-webkit-transform:rotate(30deg)}16.66%{-webkit-transform:rotate(60deg)}24.99%{-webkit-transform:rotate(60deg)}25%{-webkit-transform:rotate(90deg)}33.32%{-webkit-transform:rotate(90deg)}33.33%{-webkit-transform:rotate(120deg)}41.65%{-webkit-transform:rotate(120deg)}41.66%{-webkit-transform:rotate(150deg)}49.99%{-webkit-transform:rotate(150deg)}50%{-webkit-transform:rotate(180deg)}58.32%{-webkit-transform:rotate(180deg)}58.33%{-webkit-transform:rotate(210deg)}66.65%{-webkit-transform:rotate(210deg)}66.66%{-webkit-transform:rotate(240deg)}74.99%{-webkit-transform:rotate(240deg)}75%{-webkit-transform:rotate(270deg)}83.32%{-webkit-transform:rotate(270deg)}83.33%{-webkit-transform:rotate(300deg)}91.65%{-webkit-transform:rotate(300deg)}91.66%{-webkit-transform:rotate(330deg)}100%{-webkit-transform:rotate(330deg)}} diff --git a/sencha/examples/history/app.js b/sencha/examples/history/app.js new file mode 100644 index 000000000..9c7b8bfee --- /dev/null +++ b/sencha/examples/history/app.js @@ -0,0 +1,93 @@ +var pubnub = PUBNUB({ + publish_key : 'demo', + subscribe_key : 'demo', + ssl : false, + origin : 'pubsub.pubnub.com' +}); + + +Ext.application({ + launch: function () { + var myStore = Ext.create('Ext.data.Store', { + storeId: 'list', + fields: ['txt'] + }); + + Ext.create('Ext.List', { + fullscreen: true, + store: 'list', + itemTpl: '{txt}', + items: [{ + xtype: 'titlebar', + docked: 'top', + border: 0, + items: [ + { + xtype: 'textfield', + name: 'channel', + id: 'channel', + label: 'Channel', + }, + { + xtype: 'textfield', + label: 'Count', + name: 'count', + id: 'count' + }, + { + xtype: 'textfield', + label: 'Start', + name: 'start', + id: 'start' + }, + { + xtype: 'textfield', + label: 'End', + name: 'end', + id: 'end' + }, + ] + }, + { + xtype: 'titlebar', + docked: 'top', + height: '70px', + border: 0, + items: [ + { + xtype: 'togglefield', + name : 'reverse', + id: 'reverse', + label: 'Reverse ?', + }, + { + text: 'Get History', + align: 'left', + handler: function () { + var channel = Ext.getCmp('channel').getValue() || 'sencha-demo-channel'; + var count = Ext.getCmp('count').getValue() || 100; + var start = Ext.getCmp('start').getValue(); + var end = Ext.getCmp('end').getValue(); + var reverse = Ext.getCmp('reverse').getValue() ; + + myStore.removeAll(); + pubnub.history({ + channel: channel, + count: count, + start: start, + end: end, + reverse: reverse?'true':'false', + callback: function(response){ + for ( x in response[0] ) { + myStore.insert(0,{txt : JSON.stringify(response[0][x])}); + } + } + }); + } + } + ] + }] + }); + } +}); + diff --git a/sencha/examples/history/index.html b/sencha/examples/history/index.html new file mode 100644 index 000000000..5573f1f14 --- /dev/null +++ b/sencha/examples/history/index.html @@ -0,0 +1,65 @@ + + + + + history + + + + + + + + +
+
+
+
+
+ + diff --git a/sencha/examples/history/sencha-touch-all.js b/sencha/examples/history/sencha-touch-all.js new file mode 100644 index 000000000..3b08d5862 --- /dev/null +++ b/sencha/examples/history/sencha-touch-all.js @@ -0,0 +1,32 @@ +/* +This file is part of Sencha Touch 2.0 + +Copyright (c) 2011-2012 Sencha Inc + +Contact: http://www.sencha.com/contact + +Commercial Usage +Licensees holding valid commercial licenses may use this file in accordance with the Commercial +Software License Agreement provided with the Software or, alternatively, in accordance with the +terms contained in a written agreement between you and Sencha. + +If you are unsure which license is appropriate for your use, please contact the sales department +at http://www.sencha.com/contact. + +Build date: 2012-06-04 15:34:28 (d81f71da2d56f5f71419dc892fbc85685098c6b7) +*/ +/* + +This file is part of Sencha Touch 2 + +Copyright (c) 2012 Sencha Inc + +Contact: http://www.sencha.com/contact + +Commercial Usage +Licensees holding valid commercial licenses may use this file in accordance with the Commercial Software License Agreement provided with the Software or, alternatively, in accordance with the terms contained in a written agreement between you and Sencha. + +If you are unsure which license is appropriate for your use, please contact the sales department at http://www.sencha.com/contact. + +*/ +(function(){var global=this,objectPrototype=Object.prototype,toString=objectPrototype.toString,enumerables=true,enumerablesTest={toString:1},emptyFn=function(){},i;if(typeof Ext==="undefined"){global.Ext={}}Ext.global=global;for(i in enumerablesTest){enumerables=null}if(enumerables){enumerables=["hasOwnProperty","valueOf","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","constructor"]}Ext.enumerables=enumerables;Ext.apply=function(object,config,defaults){if(defaults){Ext.apply(object,defaults)}if(object&&config&&typeof config==="object"){var i,j,k;for(i in config){object[i]=config[i]}if(enumerables){for(j=enumerables.length;j--;){k=enumerables[j];if(config.hasOwnProperty(k)){object[k]=config[k]}}}}return object};Ext.buildSettings=Ext.apply({baseCSSPrefix:"x-",scopeResetCSS:false},Ext.buildSettings||{});Ext.apply(Ext,{emptyFn:emptyFn,baseCSSPrefix:Ext.buildSettings.baseCSSPrefix,applyIf:function(object,config){var property;if(object){for(property in config){if(object[property]===undefined){object[property]=config[property]}}}return object},iterate:function(object,fn,scope){if(Ext.isEmpty(object)){return}if(scope===undefined){scope=object}if(Ext.isIterable(object)){Ext.Array.each.call(Ext.Array,object,fn,scope)}else{Ext.Object.each.call(Ext.Object,object,fn,scope)}}});Ext.apply(Ext,{extend:function(){var objectConstructor=objectPrototype.constructor,inlineOverrides=function(o){for(var m in o){if(!o.hasOwnProperty(m)){continue}this[m]=o[m]}};return function(subclass,superclass,overrides){if(Ext.isObject(superclass)){overrides=superclass;superclass=subclass;subclass=overrides.constructor!==objectConstructor?overrides.constructor:function(){superclass.apply(this,arguments)}}var F=function(){},subclassProto,superclassProto=superclass.prototype;F.prototype=superclassProto;subclassProto=subclass.prototype=new F();subclassProto.constructor=subclass;subclass.superclass=superclassProto;if(superclassProto.constructor===objectConstructor){superclassProto.constructor=superclass}subclass.override=function(overrides){Ext.override(subclass,overrides)};subclassProto.override=inlineOverrides;subclassProto.proto=subclassProto;subclass.override(overrides);subclass.extend=function(o){return Ext.extend(subclass,o)};return subclass}}(),override:function(cls,overrides){if(cls.$isClass){return cls.override(overrides)}else{Ext.apply(cls.prototype,overrides)}}});Ext.apply(Ext,{valueFrom:function(value,defaultValue,allowBlank){return Ext.isEmpty(value,allowBlank)?defaultValue:value},typeOf:function(value){if(value===null){return"null"}var type=typeof value;if(type==="undefined"||type==="string"||type==="number"||type==="boolean"){return type}var typeToString=toString.call(value);switch(typeToString){case"[object Array]":return"array";case"[object Date]":return"date";case"[object Boolean]":return"boolean";case"[object Number]":return"number";case"[object RegExp]":return"regexp"}if(type==="function"){return"function"}if(type==="object"){if(value.nodeType!==undefined){if(value.nodeType===3){return(/\S/).test(value.nodeValue)?"textnode":"whitespace"}else{return"element"}}return"object"}},isEmpty:function(value,allowEmptyString){return(value===null)||(value===undefined)||(!allowEmptyString?value==="":false)||(Ext.isArray(value)&&value.length===0)},isArray:("isArray" in Array)?Array.isArray:function(value){return toString.call(value)==="[object Array]"},isDate:function(value){return toString.call(value)==="[object Date]"},isObject:(toString.call(null)==="[object Object]")?function(value){return value!==null&&value!==undefined&&toString.call(value)==="[object Object]"&&value.ownerDocument===undefined}:function(value){return toString.call(value)==="[object Object]"},isSimpleObject:function(value){return value instanceof Object&&value.constructor===Object},isPrimitive:function(value){var type=typeof value;return type==="string"||type==="number"||type==="boolean"},isFunction:(typeof document!=="undefined"&&typeof document.getElementsByTagName("body")==="function")?function(value){return toString.call(value)==="[object Function]"}:function(value){return typeof value==="function"},isNumber:function(value){return typeof value==="number"&&isFinite(value)},isNumeric:function(value){return !isNaN(parseFloat(value))&&isFinite(value)},isString:function(value){return typeof value==="string"},isBoolean:function(value){return typeof value==="boolean"},isElement:function(value){return value?value.nodeType===1:false},isTextNode:function(value){return value?value.nodeName==="#text":false},isDefined:function(value){return typeof value!=="undefined"},isIterable:function(value){return(value&&typeof value!=="string")?value.length!==undefined:false}});Ext.apply(Ext,{clone:function(item){if(item===null||item===undefined){return item}if(item.nodeType&&item.cloneNode){return item.cloneNode(true)}var type=toString.call(item);if(type==="[object Date]"){return new Date(item.getTime())}var i,j,k,clone,key;if(type==="[object Array]"){i=item.length;clone=[];while(i--){clone[i]=Ext.clone(item[i])}}else{if(type==="[object Object]"&&item.constructor===Object){clone={};for(key in item){clone[key]=Ext.clone(item[key])}if(enumerables){for(j=enumerables.length;j--;){k=enumerables[j];clone[k]=item[k]}}}}return clone||item},getUniqueGlobalNamespace:function(){var uniqueGlobalNamespace=this.uniqueGlobalNamespace;if(uniqueGlobalNamespace===undefined){var i=0;do{uniqueGlobalNamespace="ExtBox"+(++i)}while(Ext.global[uniqueGlobalNamespace]!==undefined);Ext.global[uniqueGlobalNamespace]=Ext;this.uniqueGlobalNamespace=uniqueGlobalNamespace}return uniqueGlobalNamespace},functionFactory:function(){var args=Array.prototype.slice.call(arguments),ln=args.length;if(ln>0){args[ln-1]="var Ext=window."+this.getUniqueGlobalNamespace()+";"+args[ln-1]}return Function.prototype.constructor.apply(Function.prototype,args)},globalEval:("execScript" in global)?function(code){global.execScript(code)}:function(code){(function(){eval(code)})()},});Ext.type=Ext.typeOf})();(function(){var a="4.1.0",b;Ext.Version=b=Ext.extend(Object,{constructor:function(d){var c=this.toNumber,f,e;if(d instanceof b){return d}this.version=this.shortVersion=String(d).toLowerCase().replace(/_/g,".").replace(/[\-+]/g,"");e=this.version.search(/([^\d\.])/);if(e!==-1){this.release=this.version.substr(e,d.length);this.shortVersion=this.version.substr(0,e)}this.shortVersion=this.shortVersion.replace(/[^\d]/g,"");f=this.version.split(".");this.major=c(f.shift());this.minor=c(f.shift());this.patch=c(f.shift());this.build=c(f.shift());return this},toNumber:function(c){c=parseInt(c||0,10);if(isNaN(c)){c=0}return c},toString:function(){return this.version},valueOf:function(){return this.version},getMajor:function(){return this.major||0},getMinor:function(){return this.minor||0},getPatch:function(){return this.patch||0},getBuild:function(){return this.build||0},getRelease:function(){return this.release||""},isGreaterThan:function(c){return b.compare(this.version,c)===1},isGreaterThanOrEqual:function(c){return b.compare(this.version,c)>=0},isLessThan:function(c){return b.compare(this.version,c)===-1},isLessThanOrEqual:function(c){return b.compare(this.version,c)<=0},equals:function(c){return b.compare(this.version,c)===0},match:function(c){c=String(c);return this.version.substr(0,c.length)===c},toArray:function(){return[this.getMajor(),this.getMinor(),this.getPatch(),this.getBuild(),this.getRelease()]},getShortVersion:function(){return this.shortVersion},gt:function(){return this.isGreaterThan.apply(this,arguments)},lt:function(){return this.isLessThan.apply(this,arguments)},gtEq:function(){return this.isGreaterThanOrEqual.apply(this,arguments)},ltEq:function(){return this.isLessThanOrEqual.apply(this,arguments)}});Ext.apply(b,{releaseValueMap:{dev:-6,alpha:-5,a:-5,beta:-4,b:-4,rc:-3,"#":-2,p:-1,pl:-1},getComponentValue:function(c){return !c?0:(isNaN(c)?this.releaseValueMap[c]||c:parseInt(c,10))},compare:function(g,f){var d,e,c;g=new b(g).toArray();f=new b(f).toArray();for(c=0;ce){return 1}}}return 0}});Ext.apply(Ext,{versions:{},lastRegisteredVersion:null,setVersion:function(d,c){Ext.versions[d]=new b(c);Ext.lastRegisteredVersion=Ext.versions[d];return this},getVersion:function(c){if(c===undefined){return Ext.lastRegisteredVersion}return Ext.versions[c]},deprecate:function(c,e,f,d){if(b.compare(Ext.getVersion(c),e)<1){f.call(d)}}});Ext.setVersion("core",a)})();Ext.String={trimRegex:/^[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u2028\u2029\u202f\u205f\u3000]+|[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u2028\u2029\u202f\u205f\u3000]+$/g,escapeRe:/('|\\)/g,formatRe:/\{(\d+)\}/g,escapeRegexRe:/([-.*+?^${}()|[\]\/\\])/g,htmlEncode:(function(){var d={"&":"&",">":">","<":"<",'"':"""},b=[],c,a;for(c in d){b.push(c)}a=new RegExp("("+b.join("|")+")","g");return function(e){return(!e)?e:String(e).replace(a,function(g,f){return d[f]})}})(),htmlDecode:(function(){var d={"&":"&",">":">","<":"<",""":'"'},b=[],c,a;for(c in d){b.push(c)}a=new RegExp("("+b.join("|")+"|&#[0-9]{1,5};)","g");return function(e){return(!e)?e:String(e).replace(a,function(g,f){if(f in d){return d[f]}else{return String.fromCharCode(parseInt(f.substr(2),10))}})}})(),urlAppend:function(b,a){if(!Ext.isEmpty(a)){return b+(b.indexOf("?")===-1?"?":"&")+a}return b},trim:function(a){return a.replace(Ext.String.trimRegex,"")},capitalize:function(a){return a.charAt(0).toUpperCase()+a.substr(1)},ellipsis:function(c,a,d){if(c&&c.length>a){if(d){var e=c.substr(0,a-2),b=Math.max(e.lastIndexOf(" "),e.lastIndexOf("."),e.lastIndexOf("!"),e.lastIndexOf("?"));if(b!==-1&&b>=(a-15)){return e.substr(0,b)+"..."}}return c.substr(0,a-3)+"..."}return c},escapeRegex:function(a){return a.replace(Ext.String.escapeRegexRe,"\\$1")},escape:function(a){return a.replace(Ext.String.escapeRe,"\\$1")},toggle:function(b,c,a){return b===c?a:c},leftPad:function(b,c,d){var a=String(b);d=d||" ";while(a.lengthH){for(C=e;C--;){F[z+C]=F[H+C]}}}if(J&&G===B){F.length=B;F.push.apply(F,I)}else{F.length=B+J;for(C=0;C-1;y--){if(A.call(z||C[y],C[y],y,C)===false){return y}}}return true},forEach:i?function(z,y,e){return z.forEach(y,e)}:function(B,z,y){var e=0,A=B.length;for(;ee){e=z}}}return e},mean:function(e){return e.length>0?a.sum(e)/e.length:undefined},sum:function(B){var y=0,e,A,z;for(e=0,A=B.length;e=c){f+=c}else{if(b*2<-c){f-=c}}}return Ext.Number.constrain(f,d,g)},toFixed:function(d,b){if(a){b=b||0;var c=Math.pow(10,b);return(Math.round(d*c)/c).toFixed(b)}return d.toFixed(b)},from:function(c,b){if(isFinite(c)){c=parseFloat(c)}return !isNaN(c)?c:b}}})();Ext.num=function(){return Ext.Number.from.apply(this,arguments)};(function(){var a=function(){};var b=Ext.Object={chain:function(d){a.prototype=d;var c=new a();a.prototype=null;return c},toQueryObjects:function(e,j,d){var c=b.toQueryObjects,h=[],f,g;if(Ext.isArray(j)){for(f=0,g=j.length;f0){h=n.split("=");v=decodeURIComponent(h[0]);m=(h[1]!==undefined)?decodeURIComponent(h[1]):"";if(!q){if(t.hasOwnProperty(v)){if(!Ext.isArray(t[v])){t[v]=[t[v]]}t[v].push(m)}else{t[v]=m}}else{g=v.match(/(\[):?([^\]]*)\]/g);s=v.match(/^([^\[]+)/);v=s[0];k=[];if(g===null){t[v]=m;continue}for(o=0,c=g.length;o0){return setTimeout(e,c)}e();return 0},createSequence:function(b,c,a){if(!c){return b}else{return function(){var d=b.apply(this,arguments);c.apply(a||this,arguments);return d}}},createBuffered:function(e,b,d,c){var a;return function(){if(!d){d=this}if(!c){c=Array.prototype.slice.call(arguments)}if(a){clearTimeout(a);a=null}a=setTimeout(function(){e.apply(d,c)},b)}},createThrottled:function(e,b,d){var f,a,c,h,g=function(){e.apply(d||this,c);f=new Date().getTime()};return function(){a=new Date().getTime()-f;c=arguments;clearTimeout(h);if(!f||(a>=b)){g()}else{h=setTimeout(g,b-a)}}},interceptBefore:function(b,a,c){var d=b[a]||Ext.emptyFn;return b[a]=function(){var e=c.apply(this,arguments);d.apply(this,arguments);return e}},interceptAfter:function(b,a,c){var d=b[a]||Ext.emptyFn;return b[a]=function(){d.apply(this,arguments);return c.apply(this,arguments)}}};Ext.defer=Ext.Function.alias(Ext.Function,"defer");Ext.pass=Ext.Function.alias(Ext.Function,"pass");Ext.bind=Ext.Function.alias(Ext.Function,"bind");Ext.JSON=new (function(){var useHasOwn=!!{}.hasOwnProperty,isNative=function(){var useNative=null;return function(){if(useNative===null){useNative=Ext.USE_NATIVE_JSON&&window.JSON&&JSON.toString()=="[object JSON]"}return useNative}}(),pad=function(n){return n<10?"0"+n:n},doDecode=function(json){return eval("("+json+")")},doEncode=function(o){if(!Ext.isDefined(o)||o===null){return"null"}else{if(Ext.isArray(o)){return encodeArray(o)}else{if(Ext.isDate(o)){return Ext.JSON.encodeDate(o)}else{if(Ext.isString(o)){return encodeString(o)}else{if(typeof o=="number"){return isFinite(o)?String(o):"null"}else{if(Ext.isBoolean(o)){return String(o)}else{if(Ext.isObject(o)){return encodeObject(o)}else{if(typeof o==="function"){return"null"}}}}}}}}return"undefined"},m={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\","\x0b":"\\u000b"},charToReplace=/[\\\"\x00-\x1f\x7f-\uffff]/g,encodeString=function(s){return'"'+s.replace(charToReplace,function(a){var c=m[a];return typeof c==="string"?c:"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)})+'"'},encodeArray=function(o){var a=["[",""],len=o.length,i;for(i=0;i0){for(d=0;d0){if(l===k){return n[l]}m=n[l];k=k.substring(l.length+1)}if(m.length>0){m+="/"}return m.replace(/\/\.\//g,"/")+k.replace(/\./g,"/")+".js"},getPrefix:function(l){var n=this.config.paths,m,k="";if(n.hasOwnProperty(l)){return l}for(m in n){if(n.hasOwnProperty(m)&&m+"."===l.substring(0,m.length+1)){if(m.length>k.length){k=m}}}return k},require:function(m,l,k,n){if(l){l.call(k)}},syncRequire:function(){},exclude:function(l){var k=this;return{require:function(o,n,m){return k.require(o,n,m,l)},syncRequire:function(o,n,m){return k.syncRequire(o,n,m,l)}}},onReady:function(n,m,o,k){var l;if(o!==false&&Ext.onDocumentReady){l=n;n=function(){Ext.onDocumentReady(l,m,k)}}n.call(m)}};Ext.apply(b,{documentHead:typeof document!="undefined"&&(document.head||document.getElementsByTagName("head")[0]),isLoading:false,queue:[],isClassFileLoaded:{},isFileLoaded:{},readyListeners:[],optionalRequires:[],requiresMap:{},numPendingFiles:0,numLoadedFiles:0,hasFileLoadError:false,classNameToFilePathMap:{},syncModeEnabled:false,scriptElements:{},refreshQueue:function(){var k=this.queue,q=k.length,n,p,l,o,m;if(q===0){this.triggerReady();return}for(n=0;nthis.numLoadedFiles){continue}l=0;do{if(a.isCreated(o[l])){f(o,l,1)}else{l++}}while(l=200&&n<300)||n==304||(n==0&&q.length>0)){Ext.globalEval(q+"\n//@ sourceURL="+l);s.call(w)}else{}u=null}},syncRequire:function(){var k=this.syncModeEnabled;if(!k){this.syncModeEnabled=true}this.require.apply(this,arguments);if(!k){this.syncModeEnabled=false}this.refreshQueue()},require:function(F,t,n,q){var v={},m={},y=this.queue,C=this.classNameToFilePathMap,A=this.isClassFileLoaded,s=[],H=[],E=[],l=[],r,G,x,w,k,p,D,B,z,u,o;if(q){q=h(q);for(B=0,u=q.length;B0){s=a.getNamesByExpression(k);for(z=0,o=s.length;z0){r=function(){var K=[],J,L,I;for(J=0,L=l.length;J0){H=a.getNamesByExpression(w);o=H.length;for(z=0;z0){if(!this.config.enabled){throw new Error("Ext.Loader is not enabled, so dependencies cannot be resolved dynamically. Missing required class"+((E.length>1)?"es":"")+": "+E.join(", "))}}else{r.call(n);return this}G=this.syncModeEnabled;if(!G){y.push({requires:E.slice(),callback:r,scope:n})}u=E.length;for(B=0;B=2){if("1496x2048" in r){e(r["1496x2048"],"(orientation: landscape)")}if("1536x2008" in r){e(r["1536x2008"],"(orientation: portrait)")}}else{if("748x1024" in r){e(r["748x1024"],"(orientation: landscape)")}if("768x1004" in r){e(r["768x1004"],"(orientation: portrait)")}}}else{if(o>=2&&Ext.os.version.gtEq("4.3")){e(r["640x920"])}else{e(r["320x460"])}}},application:function(b){var a=b.name,e,d,c;if(!b){b={}}if(!Ext.Loader.config.paths[a]){Ext.Loader.setPath(a,b.appFolder||"app")}c=Ext.Array.from(b.requires);b.requires=["Ext.app.Application"];e=b.onReady;d=b.scope;b.onReady=function(){b.requires=c;new Ext.app.Application(b);if(e){e.call(d)}};Ext.setup(b)},factoryConfig:function(a,l){var g=Ext.isSimpleObject(a);if(g&&a.xclass){var f=a.xclass;delete a.xclass;Ext.require(f,function(){Ext.factoryConfig(a,function(i){l(Ext.create(f,i))})});return}var d=Ext.isArray(a),m=[],k,j,c,e;if(g||d){if(g){for(k in a){if(a.hasOwnProperty(k)){j=a[k];if(Ext.isSimpleObject(j)||Ext.isArray(j)){m.push(k)}}}}else{for(c=0,e=a.length;c=e){l(a);return}k=m[c];j=a[k];Ext.factoryConfig(j,h)}b();return}l(a)},factory:function(b,e,a,f){var d=Ext.ClassManager,c;if(!b||b.isInstance){if(a&&a!==b){a.destroy()}return b}if(f){if(typeof b=="string"){return d.instantiateByAlias(f+"."+b)}else{if(Ext.isObject(b)&&"type" in b){return d.instantiateByAlias(f+"."+b.type,b)}}}if(b===true){return a||d.instantiate(e)}if("xtype" in b){c=d.instantiateByAlias("widget."+b.xtype,b)}else{if("xclass" in b){c=d.instantiate(b.xclass,b)}}if(c){if(a){a.destroy()}return c}if(a){return a.setConfig(b)}return d.instantiate(e,b)},deprecateClassMember:function(b,c,a,d){return this.deprecateProperty(b.prototype,c,a,d)},deprecateClassMembers:function(b,c){var d=b.prototype,e,a;for(e in c){if(c.hasOwnProperty(e)){a=c[e];this.deprecateProperty(d,e,a)}}},deprecateProperty:function(b,c,a,d){if(!d){d="'"+c+"' is deprecated"}if(a){d+=", please use '"+a+"' instead"}if(a){Ext.Object.defineProperty(b,c,{get:function(){return this[a]},set:function(e){this[a]=e},configurable:true})}},deprecatePropertyValue:function(b,a,d,c){Ext.Object.defineProperty(b,a,{get:function(){return d},configurable:true})},deprecateMethod:function(b,a,d,c){b[a]=function(){if(d){return d.apply(this,arguments)}}},deprecateClassMethod:function(a,b,h,d){if(typeof b!="string"){var g,f;for(g in b){if(b.hasOwnProperty(g)){f=b[g];Ext.deprecateClassMethod(a,g,f)}}return}var c=typeof h=="string",e;if(!d){d="'"+b+"()' is deprecated, please use '"+(c?h:h.name)+"()' instead"}if(c){e=function(){return this[h].apply(this,arguments)}}else{e=function(){return h.apply(this,arguments)}}if(b in a.prototype){Ext.Object.defineProperty(a.prototype,b,{value:null,writable:true,configurable:true})}a.addMember(b,e)},isReady:false,readyListeners:[],triggerReady:function(){var b=Ext.readyListeners,a,c,d;if(!Ext.isReady){Ext.isReady=true;for(a=0,c=b.length;a0){return b+Ext.String.capitalize(a)}return a}},function(){var a=Ext.browser=new this(Ext.global.navigator.userAgent)});Ext.define("Ext.env.OS",{requires:["Ext.Version"],statics:{names:{ios:"iOS",android:"Android",webos:"webOS",blackberry:"BlackBerry",rimTablet:"RIMTablet",mac:"MacOS",win:"Windows",linux:"Linux",bada:"Bada",other:"Other"},prefixes:{ios:"i(?:Pad|Phone|Pod)(?:.*)CPU(?: iPhone)? OS ",android:"(Android |HTC_|Silk/)",blackberry:"BlackBerry(?:.*)Version/",rimTablet:"RIM Tablet OS ",webos:"(?:webOS|hpwOS)/",bada:"Bada/"}},is:Ext.emptyFn,name:null,version:null,setFlag:function(a,b){if(typeof b=="undefined"){b=true}this.is[a]=b;this.is[a.toLowerCase()]=b;return this},constructor:function(m,b){var k=this.statics(),j=k.names,c=k.prefixes,a,h="",d,g,f,l,e;e=this.is=function(i){return this.is[i]===true};for(d in c){if(c.hasOwnProperty(d)){g=c[d];f=m.match(new RegExp("(?:"+g+")([^\\s;]+)"));if(f){a=j[d];if(f[1]&&(f[1]=="HTC_"||f[1]=="Silk/")){h=new Ext.Version("2.3")}else{h=new Ext.Version(f[f.length-1])}break}}}if(!a){a=j[(m.toLowerCase().match(/mac|win|linux/)||["other"])[0]];h=new Ext.Version("")}this.name=a;this.version=h;if(b){this.setFlag(b)}this.setFlag(a);if(h){this.setFlag(a+(h.getMajor()||""));this.setFlag(a+h.getShortVersion())}for(d in j){if(j.hasOwnProperty(d)){l=j[d];if(!e.hasOwnProperty(a)){this.setFlag(l,(a===l))}}}return this}},function(){var a=Ext.global.navigator,e=a.userAgent,b,g,d;Ext.os=b=new this(e,a.platform);g=b.name;var c=window.location.search.match(/deviceType=(Tablet|Phone)/),f=window.deviceType;if(c&&c[1]){d=c[1]}else{if(f==="iPhone"){d="Phone"}else{if(f==="iPad"){d="Tablet"}else{if(!b.is.Android&&!b.is.iOS&&/Windows|Linux|MacOS/.test(g)){d="Desktop"}else{if(b.is.iPad||b.is.Android3||(b.is.Android4&&e.search(/mobile/i)==-1)){d="Tablet"}else{d="Phone"}}}}}b.setFlag(d,true);b.deviceType=d});Ext.define("Ext.env.Feature",{requires:["Ext.env.Browser","Ext.env.OS"],constructor:function(){this.testElements={};this.has=function(a){return !!this.has[a]};return this},getTestElement:function(a,b){if(a===undefined){a="div"}else{if(typeof a!=="string"){return a}}if(b){return document.createElement(a)}if(!this.testElements[a]){this.testElements[a]=document.createElement(a)}return this.testElements[a]},isStyleSupported:function(c,b){var d=this.getTestElement(b).style,a=Ext.String.capitalize(c);if(typeof d[c]!=="undefined"||typeof d[Ext.browser.getStylePrefix(c)+a]!=="undefined"){return true}return false},isEventSupported:function(c,a){if(a===undefined){a=window}var e=this.getTestElement(a),b="on"+c.toLowerCase(),d=(b in e);if(!d){if(e.setAttribute&&e.removeAttribute){e.setAttribute(b,"");d=typeof e[b]==="function";if(typeof e[b]!=="undefined"){e[b]=undefined}e.removeAttribute(b)}}return d},getSupportedPropertyName:function(b,a){var c=Ext.browser.getVendorProperyName(a);if(c in b){return c}else{if(a in b){return a}}return null},registerTest:Ext.Function.flexSetter(function(a,b){this.has[a]=b.call(this);return this})},function(){Ext.feature=new this;var a=Ext.feature.has;Ext.feature.registerTest({Canvas:function(){var b=this.getTestElement("canvas");return !!(b&&b.getContext&&b.getContext("2d"))},Svg:function(){var b=document;return !!(b.createElementNS&&!!b.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect)},Vml:function(){var c=this.getTestElement(),b=false;c.innerHTML="";b=(c.childNodes.length===1);c.innerHTML="";return b},Touch:function(){return this.isEventSupported("touchstart")&&!(Ext.os&&Ext.os.name.match(/Windows|MacOS|Linux/))},Orientation:function(){return("orientation" in window)&&this.isEventSupported("orientationchange")},OrientationChange:function(){return this.isEventSupported("orientationchange")},DeviceMotion:function(){return this.isEventSupported("devicemotion")},Geolocation:function(){return"geolocation" in window.navigator},SqlDatabase:function(){return"openDatabase" in window},WebSockets:function(){return"WebSocket" in window},Range:function(){return !!document.createRange},CreateContextualFragment:function(){var b=!!document.createRange?document.createRange():false;return b&&!!b.createContextualFragment},History:function(){return("history" in window&&"pushState" in window.history)},CssTransforms:function(){return this.isStyleSupported("transform")},Css3dTransforms:function(){return this.has("CssTransforms")&&this.isStyleSupported("perspective")&&!Ext.os.is.Android2},CssAnimations:function(){return this.isStyleSupported("animationName")},CssTransitions:function(){return this.isStyleSupported("transitionProperty")},Audio:function(){return !!this.getTestElement("audio").canPlayType},Video:function(){return !!this.getTestElement("video").canPlayType},ClassList:function(){return"classList" in this.getTestElement()}})});Ext.define("Ext.dom.Query",{select:function(h,b){var g=[],d,f,e,c,a;b=b||document;if(typeof b=="string"){b=document.getElementById(b)}h=h.split(",");for(f=0,c=h.length;f")}else{c.push(">");if((h=d.tpl)){h.applyOut(d.tplData,c)}if((h=d.html)){c.push(h)}if((h=d.cn||d.children)){g.generateMarkup(h,c)}f=g.closeTags;c.push(f[a]||(f[a]=""))}}}return c},generateStyles:function(e,c){var b=c||[],d;for(d in e){if(e.hasOwnProperty(d)){b.push(this.decamelizeName(d),":",e[d],";")}}return c||b.join("")},markup:function(a){if(typeof a=="string"){return a}var b=this.generateMarkup(a,[]);return b.join("")},applyStyles:function(a,b){Ext.fly(a).applyStyles(b)},createContextualFragment:function(c){var f=document.createElement("div"),a=document.createDocumentFragment(),b=0,d,e;f.innerHTML=c;e=f.childNodes;d=e.length;for(;b0){this.id=b=a.id}else{a.id=b=this.mixins.identifiable.getUniqueId.call(this)}this.self.cache[b]=this}return b},setId:function(c){var a=this.id,b=this.self.cache;if(a){delete b[a]}this.dom.id=c;this.id=c;b[c]=this;return this},setHtml:function(a){this.dom.innerHTML=a},getHtml:function(){return this.dom.innerHTML},setText:function(a){this.dom.textContent=a},redraw:function(){var b=this.dom,a=b.style;a.display="none";b.offsetHeight;a.display=""},isPainted:function(){var a=this.dom;return Boolean(a&&a.offsetParent)},set:function(a,b){var e=this.dom,c,d;for(c in a){if(a.hasOwnProperty(c)){d=a[c];if(c=="style"){this.applyStyles(d)}else{if(c=="cls"){e.className=d}else{if(b!==false){if(d===undefined){e.removeAttribute(c)}else{e.setAttribute(c,d)}}else{e[c]=d}}}}}return this},is:function(a){return Ext.DomQuery.is(this.dom,a)},getValue:function(b){var a=this.dom.value;return b?parseInt(a,10):a},getAttribute:function(a,b){var c=this.dom;return c.getAttributeNS(b,a)||c.getAttribute(b+":"+a)||c.getAttribute(a)||c[a]},destroy:function(){this.isDestroyed=true;var a=Ext.Element.cache,b=this.dom;if(b&&b.parentNode&&b.tagName!="BODY"){b.parentNode.removeChild(b)}delete a[this.id];delete this.dom}},function(a){Ext.elements=Ext.cache=a.cache;this.addStatics({Fly:new Ext.Class({extend:a,constructor:function(b){this.dom=b}}),_flyweights:{},fly:function(e,c){var f=null,d=a._flyweights,b;c=c||"_global";e=Ext.getDom(e);if(e){f=d[c]||(d[c]=new a.Fly());f.dom=e;f.isSynchronized=false;b=Ext.cache[e.id];if(b&&b.isElement){b.isSynchronized=false}}return f}});Ext.get=function(b){return a.get.call(a,b)};Ext.fly=function(){return a.fly.apply(a,arguments)};Ext.ClassManager.onCreated(function(){a.mixin("observable",Ext.mixin.Observable)},null,"Ext.mixin.Observable")});Ext.dom.Element.addStatics({numberRe:/\d+$/,unitRe:/\d+(px|em|%|en|ex|pt|in|cm|mm|pc)$/i,camelRe:/(-[a-z])/gi,cssRe:/([a-z0-9-]+)\s*:\s*([^;\s]+(?:\s*[^;\s]+)*);?/gi,opacityRe:/alpha\(opacity=(.*)\)/i,propertyCache:{},defaultUnit:"px",borders:{l:"border-left-width",r:"border-right-width",t:"border-top-width",b:"border-bottom-width"},paddings:{l:"padding-left",r:"padding-right",t:"padding-top",b:"padding-bottom"},margins:{l:"margin-left",r:"margin-right",t:"margin-top",b:"margin-bottom"},addUnits:function(b,a){if(b===""||b=="auto"||b===undefined||b===null){return b||""}if(Ext.isNumber(b)||this.numberRe.test(b)){return b+(a||this.defaultUnit||"px")}else{if(!this.unitRe.test(b)){return b||""}}return b},isAncestor:function(b,d){var a=false;b=Ext.getDom(b);d=Ext.getDom(d);if(b&&d){if(b.contains){return b.contains(d)}else{if(b.compareDocumentPosition){return !!(b.compareDocumentPosition(d)&16)}else{while((d=d.parentNode)){a=d==b||a}}}}return a},parseBox:function(b){if(typeof b!="string"){b=b.toString()}var c=b.split(" "),a=c.length;if(a==1){c[1]=c[2]=c[3]=c[0]}else{if(a==2){c[2]=c[0];c[3]=c[1]}else{if(a==3){c[3]=c[1]}}}return{top:c[0]||0,right:c[1]||0,bottom:c[2]||0,left:c[3]||0}},unitizeBox:function(c,a){var b=this;c=b.parseBox(c);return b.addUnits(c.top,a)+" "+b.addUnits(c.right,a)+" "+b.addUnits(c.bottom,a)+" "+b.addUnits(c.left,a)},camelReplaceFn:function(b,c){return c.charAt(1).toUpperCase()},normalize:function(a){return this.propertyCache[a]||(this.propertyCache[a]=a.replace(this.camelRe,this.camelReplaceFn))},fromPoint:function(a,b){return Ext.get(document.elementFromPoint(a,b))},parseStyles:function(c){var a={},b=this.cssRe,d;if(c){b.lastIndex=0;while((d=b.exec(c))){a[d[1]]=d[2]}}return a}});Ext.dom.Element.addMembers({appendChild:function(a){this.dom.appendChild(Ext.getDom(a));return this},removeChild:function(a){this.dom.removeChild(Ext.getDom(a));return this},append:function(){this.appendChild.apply(this,arguments)},appendTo:function(a){Ext.getDom(a).appendChild(this.dom);return this},insertBefore:function(a){a=Ext.getDom(a);a.parentNode.insertBefore(this.dom,a);return this},insertAfter:function(a){a=Ext.getDom(a);a.parentNode.insertBefore(this.dom,a.nextSibling);return this},insertFirst:function(b){var a=Ext.getDom(b),d=this.dom,c=d.firstChild;if(!c){d.appendChild(a)}else{d.insertBefore(a,c)}return this},insertSibling:function(e,c,d){var f=this,b,a=(c||"before").toLowerCase()=="after",g;if(Ext.isArray(e)){g=f;Ext.each(e,function(h){b=Ext.fly(g,"_internal").insertSibling(h,c,d);if(a){g=b}});return b}e=e||{};if(e.nodeType||e.dom){b=f.dom.parentNode.insertBefore(Ext.getDom(e),a?f.dom.nextSibling:f.dom);if(!d){b=Ext.get(b)}}else{if(a&&!f.dom.nextSibling){b=Ext.core.DomHelper.append(f.dom.parentNode,e,!d)}else{b=Ext.core.DomHelper[a?"insertAfter":"insertBefore"](f.dom,e,!d)}}return b},replace:function(a){a=Ext.get(a);this.insertBefore(a);a.remove();return this},replaceWith:function(a){var b=this;if(a.nodeType||a.dom||typeof a=="string"){a=Ext.get(a);b.dom.parentNode.insertBefore(a,b.dom)}else{a=Ext.core.DomHelper.insertBefore(b.dom,a)}delete Ext.cache[b.id];Ext.removeNode(b.dom);b.id=Ext.id(b.dom=a);Ext.dom.Element.addToCache(b.isFlyweight?new Ext.dom.Element(b.dom):b);return b},createChild:function(b,a,c){b=b||{tag:"div"};if(a){return Ext.core.DomHelper.insertBefore(a,b,c!==true)}else{return Ext.core.DomHelper[!this.dom.firstChild?"insertFirst":"append"](this.dom,b,c!==true)}},wrap:function(b,c){var e=this.dom,f=this.self.create(b,c),d=(c)?f:f.dom,a=e.parentNode;if(a){a.insertBefore(d,e)}d.appendChild(e);return f},wrapAllChildren:function(a){var d=this.dom,b=d.childNodes,e=this.self.create(a),c=e.dom;while(b.length>0){c.appendChild(d.firstChild)}d.appendChild(c);return e},unwrapAllChildren:function(){var c=this.dom,b=c.childNodes,a=c.parentNode;if(a){while(b.length>0){a.insertBefore(c,c.firstChild)}this.destroy()}},unwrap:function(){var c=this.dom,a=c.parentNode,b;if(a){b=a.parentNode;b.insertBefore(c,a);b.removeChild(a)}else{b=document.createDocumentFragment();b.appendChild(c)}return this},insertHtml:function(b,c,a){var d=Ext.core.DomHelper.insertHtml(b,this.dom,c);return a?Ext.get(d):d}});Ext.dom.Element.override({getX:function(a){return this.getXY(a)[0]},getY:function(a){return this.getXY(a)[1]},getXY:function(){var a=window.webkitConvertPointFromNodeToPage;if(a){return function(){var b=a(this.dom,new WebKitPoint(0,0));return[b.x,b.y]}}else{return function(){var c=this.dom.getBoundingClientRect(),b=Math.round;return[b(c.left+window.pageXOffset),b(c.top+window.pageYOffset)]}}}(),getOffsetsTo:function(a){var c=this.getXY(),b=Ext.fly(a,"_internal").getXY();return[c[0]-b[0],c[1]-b[1]]},setX:function(a){return this.setXY([a,this.getY()])},setY:function(a){return this.setXY([this.getX(),a])},setXY:function(d){var b=this;if(arguments.length>1){d=[d,arguments[1]]}var c=b.translatePoints(d),a=b.dom.style;for(d in c){if(!c.hasOwnProperty(d)){continue}if(!isNaN(c[d])){a[d]=c[d]+"px"}}return b},getLeft:function(){return parseInt(this.getStyle("left"),10)||0},getRight:function(){return parseInt(this.getStyle("right"),10)||0},getTop:function(){return parseInt(this.getStyle("top"),10)||0},getBottom:function(){return parseInt(this.getStyle("bottom"),10)||0},translatePoints:function(a,g){g=isNaN(a[1])?g:a[1];a=isNaN(a[0])?a:a[0];var d=this,e=d.isStyle("position","relative"),f=d.getXY(),b=parseInt(d.getStyle("left"),10),c=parseInt(d.getStyle("top"),10);b=!isNaN(b)?b:(e?0:d.dom.offsetLeft);c=!isNaN(c)?c:(e?0:d.dom.offsetTop);return{left:(a-f[0]+b),top:(g-f[1]+c)}},setBox:function(d){var c=this,b=d.width,a=d.height,f=d.top,e=d.left;if(e!==undefined){c.setLeft(e)}if(f!==undefined){c.setTop(f)}if(b!==undefined){c.setWidth(b)}if(a!==undefined){c.setHeight(a)}return this},getBox:function(g,j){var h=this,e=h.dom,c=e.offsetWidth,k=e.offsetHeight,n,f,d,a,m,i;if(!j){n=h.getXY()}else{if(g){n=[0,0]}else{n=[parseInt(h.getStyle("left"),10)||0,parseInt(h.getStyle("top"),10)||0]}}if(!g){f={x:n[0],y:n[1],0:n[0],1:n[1],width:c,height:k}}else{d=h.getBorderWidth.call(h,"l")+h.getPadding.call(h,"l");a=h.getBorderWidth.call(h,"r")+h.getPadding.call(h,"r");m=h.getBorderWidth.call(h,"t")+h.getPadding.call(h,"t");i=h.getBorderWidth.call(h,"b")+h.getPadding.call(h,"b");f={x:n[0]+d,y:n[1]+m,0:n[0]+d,1:n[1]+m,width:c-(d+a),height:k-(m+i)}}f.left=f.x;f.top=f.y;f.right=f.x+f.width;f.bottom=f.y+f.height;return f},getPageBox:function(e){var g=this,c=g.dom,j=c.offsetWidth,f=c.offsetHeight,m=g.getXY(),k=m[1],a=m[0]+j,i=m[1]+f,d=m[0];if(!c){return new Ext.util.Region()}if(e){return new Ext.util.Region(k,a,i,d)}else{return{left:d,top:k,width:j,height:f,right:a,bottom:i}}}});Ext.dom.Element.addMembers({WIDTH:"width",HEIGHT:"height",MIN_WIDTH:"min-width",MIN_HEIGHT:"min-height",MAX_WIDTH:"max-width",MAX_HEIGHT:"max-height",TOP:"top",RIGHT:"right",BOTTOM:"bottom",LEFT:"left",VISIBILITY:1,DISPLAY:2,OFFSETS:3,SEPARATOR:"-",trimRe:/^\s+|\s+$/g,wordsRe:/\w/g,spacesRe:/\s+/,styleSplitRe:/\s*(?::|;)\s*/,transparentRe:/^(?:transparent|(?:rgba[(](?:\s*\d+\s*[,]){3}\s*0\s*[)]))$/i,classNameSplitRegex:/[\s]+/,borders:{t:"border-top-width",r:"border-right-width",b:"border-bottom-width",l:"border-left-width"},paddings:{t:"padding-top",r:"padding-right",b:"padding-bottom",l:"padding-left"},margins:{t:"margin-top",r:"margin-right",b:"margin-bottom",l:"margin-left"},defaultUnit:"px",isSynchronized:false,synchronize:function(){var g=this.dom,a={},d=g.className,f,c,e,b;if(d.length>0){f=g.className.split(this.classNameSplitRegex);for(c=0,e=f.length;c0?a:0},getWidth:function(a){var c=this.dom,b=a?(c.clientWidth-this.getPadding("lr")):c.offsetWidth;return b>0?b:0},getBorderWidth:function(a){return this.addStyles(a,this.borders)},getPadding:function(a){return this.addStyles(a,this.paddings)},applyStyles:function(d){if(d){var e=this.dom,c,b,a;if(typeof d=="function"){d=d.call()}c=typeof d;if(c=="string"){d=Ext.util.Format.trim(d).split(this.styleSplitRe);for(b=0,a=d.length;b "+a,c.dom);return b?d:Ext.get(d)},parent:function(a,b){return this.matchNode("parentNode","parentNode",a,b)},next:function(a,b){return this.matchNode("nextSibling","nextSibling",a,b)},prev:function(a,b){return this.matchNode("previousSibling","previousSibling",a,b)},first:function(a,b){return this.matchNode("nextSibling","firstChild",a,b)},last:function(a,b){return this.matchNode("previousSibling","lastChild",a,b)},matchNode:function(b,e,a,c){if(!this.dom){return null}var d=this.dom[e];while(d){if(d.nodeType==1&&(!a||Ext.DomQuery.is(d,a))){return !c?Ext.get(d):d}d=d[b]}return null},isAncestor:function(a){return this.self.isAncestor.call(this.self,this.dom,a)}});Ext.define("Ext.dom.CompositeElementLite",{alternateClassName:["Ext.CompositeElementLite","Ext.CompositeElement"],requires:["Ext.dom.Element"],statics:{importElementMethods:function(){}},constructor:function(b,a){this.elements=[];this.add(b,a);this.el=new Ext.dom.Element.Fly()},isComposite:true,getElement:function(a){return this.el.attach(a).synchronize()},transformElement:function(a){return Ext.getDom(a)},getCount:function(){return this.elements.length},add:function(c,a){var e=this.elements,b,d;if(!c){return this}if(typeof c=="string"){c=Ext.dom.Element.selectorFunction(c,a)}else{if(c.isComposite){c=c.elements}else{if(!Ext.isIterable(c)){c=[c]}}}for(b=0,d=c.length;b-1){c=Ext.getDom(c);if(a){f=this.elements[b];f.parentNode.insertBefore(c,f);Ext.removeNode(f)}Ext.Array.splice(this.elements,b,1,c)}return this},clear:function(){this.elements=[]},addElements:function(c,a){if(!c){return this}if(typeof c=="string"){c=Ext.dom.Element.selectorFunction(c,a)}var b=this.elements;Ext.each(c,function(d){b.push(Ext.get(d))});return this},first:function(){return this.item(0)},last:function(){return this.item(this.getCount()-1)},contains:function(a){return this.indexOf(a)!=-1},removeElement:function(c,e){var b=this,d=this.elements,a;Ext.each(c,function(f){if((a=(d[f]||d[f=b.indexOf(f)]))){if(e){if(a.dom){a.remove()}else{Ext.removeNode(a)}}Ext.Array.erase(d,f,1)}});return this}},function(){var a=Ext.dom.Element,d=a.prototype,c=this.prototype,b;for(b in d){if(typeof d[b]=="function"){(function(e){c[e]=c[e]||function(){return this.invoke(e,arguments)}}).call(c,b)}}c.on=c.addListener;if(Ext.DomQuery){a.selectorFunction=Ext.DomQuery.select}a.select=function(e,f){var g;if(typeof e=="string"){g=a.selectorFunction(e,f)}else{if(e.length!==undefined){g=e}else{}}return new Ext.CompositeElementLite(g)};Ext.select=function(){return a.select.apply(a,arguments)}});Ext.define("Ext.ComponentManager",{alternateClassName:"Ext.ComponentMgr",singleton:true,constructor:function(){var a={};this.all={map:a,getArray:function(){var b=[],c;for(c in a){b.push(a[c])}return b}};this.map=a},register:function(a){var b=a.getId();this.map[a.getId()]=a},unregister:function(a){delete this.map[a.getId()]},isRegistered:function(a){return this.map[a]!==undefined},get:function(a){return this.map[a]},create:function(a,c){if(a.isComponent){return a}else{if(Ext.isString(a)){return Ext.createByAlias("widget."+a)}else{var b=a.xtype||c;return Ext.createByAlias("widget."+b,a)}}},registerType:Ext.emptyFn});Ext.define("Ext.ComponentQuery",{singleton:true,uses:["Ext.ComponentManager"]},function(){var g=this,j=["var r = [],","i = 0,","it = items,","l = it.length,","c;","for (; i < l; i++) {","c = it[i];","if (c.{0}) {","r.push(c);","}","}","return r;"].join(""),e=function(o,n){return n.method.apply(this,[o].concat(n.args))},a=function(p,t){var n=[],q=0,s=p.length,r,o=t!==">";for(;q\^])\s?|\s|$)/,c=/^(#)?([\w\-]+|\*)(?:\((true|false)\))?/,b=[{re:/^\.([\w\-]+)(?:\((true|false)\))?/,method:l},{re:/^(?:[\[](?:@)?([\w\-]+)\s?(?:(=|.=)\s?['"]?(.*?)["']?)?[\]])/,method:m},{re:/^#([\w\-]+)/,method:d},{re:/^\:([\w\-]+)(?:\(((?:\{[^\}]+\})|(?:(?!\{)[^\s>\/]*?(?!\})))\))?/,method:k},{re:/^(?:\{([^\}]+)\})/,method:j}];g.Query=Ext.extend(Object,{constructor:function(n){n=n||{};Ext.apply(this,n)},execute:function(o){var q=this.operations,r=0,s=q.length,p,n;if(!o){n=Ext.ComponentManager.all.getArray()}else{if(Ext.isArray(o)){n=o}}for(;r1){for(q=0,r=s.length;q1){r=q.length;for(p=0;p]*)\>)|(?:<\/tpl>)/g,actionsRe:/\s*(elif|elseif|if|for|exec|switch|case|eval)\s*\=\s*(?:(?:["]([^"]*)["])|(?:[']([^']*)[']))\s*/g,defaultRe:/^\s*default\s*$/,elseRe:/^\s*else\s*$/});Ext.define("Ext.app.Action",{config:{scope:null,application:null,controller:null,action:null,args:[],url:undefined,data:{},title:null,beforeFilters:[],currentFilterIndex:-1},constructor:function(a){this.initConfig(a);this.getUrl()},execute:function(){this.resume()},resume:function(){var b=this.getCurrentFilterIndex()+1,c=this.getBeforeFilters(),a=this.getController(),d=c[b];if(d){this.setCurrentFilterIndex(b);d.call(a,this)}else{a[this.getAction()].apply(a,this.getArgs())}},applyUrl:function(a){if(a===null||a===undefined){a=this.urlEncode()}return a},applyController:function(a){var c=this.getApplication(),b=c.getCurrentProfile();if(Ext.isString(a)){a=c.getController(a,b?b.getNamespace():null)}return a},urlEncode:function(){var a=this.getController(),b;if(a instanceof Ext.app.Controller){b=a.$className.split(".");a=b[b.length-1]}return a+"/"+this.getAction()}});Ext.define("Ext.app.Route",{config:{conditions:{},url:null,controller:null,action:null,initialized:false},constructor:function(a){this.initConfig(a)},recognize:function(b){if(!this.getInitialized()){this.initialize()}if(this.recognizes(b)){var c=this.matchesFor(b),a=b.match(this.matcherRegex);a.shift();return Ext.applyIf(c,{controller:this.getController(),action:this.getAction(),historyUrl:b,args:a})}},initialize:function(){this.paramMatchingRegex=new RegExp(/:([0-9A-Za-z\_]*)/g);this.paramsInMatchString=this.getUrl().match(this.paramMatchingRegex)||[];this.matcherRegex=this.createMatcherRegex(this.getUrl());this.setInitialized(true)},recognizes:function(a){return this.matcherRegex.test(a)},matchesFor:function(b){var f={},e=this.paramsInMatchString,a=b.match(this.matcherRegex),d=e.length,c;a.shift();for(c=0;c0){f.timeout=setTimeout(Ext.bind(i.handleTimeout,i,[f]),l)}i.setupErrorHandling(f);i[k]=Ext.bind(i.handleResponse,i,[f],true);i.loadScript(f);return f},abort:function(b){var c=this.statics().requests,a;if(b){if(!b.id){b=c[b]}this.abort(b)}else{for(a in c){if(c.hasOwnProperty(a)){this.abort(c[a])}}}},setupErrorHandling:function(a){a.script.onerror=Ext.bind(this.handleError,this,[a])},handleAbort:function(a){a.errorType="abort";this.handleResponse(null,a)},handleError:function(a){a.errorType="error";this.handleResponse(null,a)},cleanupErrorHandling:function(a){a.script.onerror=null},handleTimeout:function(a){a.errorType="timeout";this.handleResponse(null,a)},handleResponse:function(a,b){var c=true;if(b.timeout){clearTimeout(b.timeout)}delete this[b.callbackName];delete this.statics()[b.id];this.cleanupErrorHandling(b);Ext.fly(b.script).destroy();if(b.errorType){c=false;Ext.callback(b.failure,b.scope,[b.errorType,b])}else{Ext.callback(b.success,b.scope,[a,b])}Ext.callback(b.callback,b.scope,[c,a,b.errorType,b])},createScript:function(c,d,b){var a=document.createElement("script");a.setAttribute("src",Ext.urlAppend(c,Ext.Object.toQueryString(d)));a.setAttribute("async",true);a.setAttribute("type","text/javascript");return a},loadScript:function(a){Ext.getHead().appendChild(a.script)}});Ext.define("Ext.data.Operation",{config:{synchronous:true,action:null,filters:null,sorters:null,grouper:null,start:null,limit:null,batch:null,callback:null,scope:null,resultSet:null,records:null,request:null,response:null,withCredentials:null,params:null,url:null,page:null,node:null,model:undefined,addRecords:false},started:false,running:false,complete:false,success:undefined,exception:false,error:undefined,constructor:function(a){this.initConfig(a)},applyModel:function(a){if(typeof a=="string"){a=Ext.data.ModelManager.getModel(a);if(!a){Ext.Logger.error("Model with name "+arguments[0]+" doesnt exist.")}}if(a&&!a.prototype.isModel&&Ext.isObject(a)){a=Ext.data.ModelManager.registerType(a.storeId||a.id||Ext.id(),a)}return a},getRecords:function(){var a=this.getResultSet();return this._records||(a?a.getRecords():[])},setStarted:function(){this.started=true;this.running=true},setCompleted:function(){this.complete=true;this.running=false},setSuccessful:function(){this.success=true},setException:function(a){this.exception=true;this.success=false;this.running=false;this.error=a},hasException:function(){return this.exception===true},getError:function(){return this.error},isStarted:function(){return this.started===true},isRunning:function(){return this.running===true},isComplete:function(){return this.complete===true},wasSuccessful:function(){return this.isComplete()&&this.success===true},allowWrite:function(){return this.getAction()!="read"},process:function(d,b,c,a){if(b.getSuccess()!==false){this.setResponse(a);this.setResultSet(b);this.setCompleted();this.setSuccessful()}else{return false}return this["process"+Ext.String.capitalize(d)].call(this,b,c,a)},processRead:function(d){var b=d.getRecords(),g=[],f=this.getModel(),e=b.length,c,a;for(c=0;c]+>/gi,none:function(a){return a},asText:function(a){return String(a).replace(this.stripTagsRE,"")},asUCText:function(a){return String(a).toUpperCase().replace(this.stripTagsRE,"")},asUCString:function(a){return String(a).toUpperCase()},asDate:function(a){if(!a){return 0}if(Ext.isDate(a)){return a.getTime()}return Date.parse(String(a))},asFloat:function(a){a=parseFloat(String(a).replace(/,/g,""));return isNaN(a)?0:a},asInt:function(a){a=parseInt(String(a).replace(/,/g,""),10);return isNaN(a)?0:a}});Ext.define("Ext.data.Types",{singleton:true,requires:["Ext.data.SortTypes"],stripRe:/[\$,%]/g,dashesRe:/-/g,iso8601TestRe:/\d\dT\d\d/,iso8601SplitRe:/[- :T\.Z\+]/},function(){var b=this,a=Ext.data.SortTypes;Ext.apply(b,{AUTO:{convert:function(c){return c},sortType:a.none,type:"auto"},STRING:{convert:function(c){return(c===undefined||c===null)?(this.getAllowNull()?null:""):String(c)},sortType:a.asUCString,type:"string"},INT:{convert:function(c){return(c!==undefined&&c!==null&&c!=="")?((typeof c==="number")?parseInt(c,10):parseInt(String(c).replace(b.stripRe,""),10)):(this.getAllowNull()?null:0)},sortType:a.none,type:"int"},FLOAT:{convert:function(c){return(c!==undefined&&c!==null&&c!=="")?((typeof c==="number")?c:parseFloat(String(c).replace(b.stripRe,""),10)):(this.getAllowNull()?null:0)},sortType:a.none,type:"float"},BOOL:{convert:function(c){if((c===undefined||c===null||c==="")&&this.getAllowNull()){return null}return c!=="false"&&!!c},sortType:a.none,type:"bool"},DATE:{convert:function(e){var c=this.getDateFormat(),d;if(!e){return null}if(Ext.isDate(e)){return e}if(c){if(c=="timestamp"){return new Date(e*1000)}if(c=="time"){return new Date(parseInt(e,10))}return Ext.Date.parse(e,c)}d=new Date(Date.parse(e));if(isNaN(d)){if(b.iso8601TestRe.test(e)){d=e.split(b.iso8601SplitRe);d=new Date(d[0],d[1]-1,d[2],d[3],d[4],d[5])}if(isNaN(d)){d=new Date(Date.parse(e.replace(this.dashesRe,"/")))}}return isNaN(d)?null:d},sortType:a.asDate,type:"date"}});Ext.apply(b,{BOOLEAN:this.BOOL,INTEGER:this.INT,NUMBER:this.FLOAT})});Ext.define("Ext.data.Validations",{alternateClassName:"Ext.data.validations",singleton:true,config:{presenceMessage:"must be present",lengthMessage:"is the wrong length",formatMessage:"is the wrong format",inclusionMessage:"is not included in the list of acceptable values",exclusionMessage:"is not an acceptable value",emailMessage:"is not a valid email address"},constructor:function(a){this.initConfig(a)},getMessage:function(a){var b=this["get"+a[0].toUpperCase()+a.slice(1)+"Message"];if(b){return b.call(this)}return""},emailRe:/^\s*[\w\-\+_]+(\.[\w\-\+_]+)*\@[\w\-\+_]+\.[\w\-\+_]+(\.[\w\-\+_]+)*\s*$/,presence:function(a,b){if(arguments.length===1){b=a}return !!b||b===0},length:function(b,e){if(e===undefined||e===null){return false}var d=e.length,c=b.min,a=b.max;if((c&&da)){return false}else{return true}},email:function(b,a){return Ext.data.validations.emailRe.test(a)},format:function(a,b){if(b===undefined||b===null){b=""}return !!(a.matcher&&a.matcher.test(b))},inclusion:function(a,b){return a.list&&Ext.Array.indexOf(a.list,b)!=-1},exclusion:function(a,b){return a.list&&Ext.Array.indexOf(a.list,b)==-1}});Ext.define("Ext.data.identifier.Simple",{alias:"data.identifier.simple",statics:{AUTO_ID:1},config:{prefix:"ext-record-"},constructor:function(a){this.initConfig(a)},generate:function(a){return this._prefix+this.self.AUTO_ID++}});Ext.define("Ext.data.identifier.Uuid",{extend:"Ext.data.identifier.Simple",alias:"data.identifier.uuid",isUnique:true,config:{id:undefined,salt:null,timestamp:null,version:4},applyId:function(a){if(a===undefined){return Ext.data.identifier.Uuid.Global}return a},constructor:function(){var a=this;a.callParent(arguments);a.parts=[];a.init()},reconfigure:function(a){this.setConfig(a);this.init()},generate:function(){var c=this,e=c.parts,a=c.getVersion(),b=c.getSalt(),d=c.getTimestamp();e[0]=c.toHex(d.lo,8);e[1]=c.toHex(d.hi&65535,4);e[2]=c.toHex(((d.hi>>>16)&4095)|(a<<12),4);e[3]=c.toHex(128|((c.clockSeq>>>8)&63),2)+c.toHex(c.clockSeq&255,2);e[4]=c.toHex(b.hi,4)+c.toHex(b.lo,8);if(a==4){c.init()}else{++d.lo;if(d.lo>=c.twoPow32){d.lo=0;++d.hi}}return e.join("-").toLowerCase()},init:function(){var b=this,a=b.getSalt(),c=b.getTimestamp();if(b.getVersion()==4){b.clockSeq=b.rand(0,b.twoPow14-1);if(!a){a={};b.setSalt(a)}if(!c){c={};b.setTimestamp(c)}a.lo=b.rand(0,b.twoPow32-1);a.hi=b.rand(0,b.twoPow16-1);c.lo=b.rand(0,b.twoPow32-1);c.hi=b.rand(0,b.twoPow28-1)}else{b.setSalt(b.split(b.getSalt()));b.setTimestamp(b.split(b.getTimestamp()));b.getSalt().hi|=256}},twoPow14:Math.pow(2,14),twoPow16:Math.pow(2,16),twoPow28:Math.pow(2,28),twoPow32:Math.pow(2,32),toHex:function(c,b){var a=c.toString(16);if(a.length>b){a=a.substring(a.length-b)}else{if(a.length")}for(;c");for(j in k){if(k.hasOwnProperty(j)){d.push("<",j,">",k[j],"")}}d.push("")}if(h){d.push("")}a.setXmlData(d.join(""));return a}});Ext.define("Ext.direct.RemotingMethod",{config:{name:null,params:null,formHandler:null,len:null,ordered:true},constructor:function(a){this.initConfig(a)},applyParams:function(f){if(Ext.isNumber(f)){this.setLen(f)}else{if(Ext.isArray(f)){this.setOrdered(false);var d=f.length,b=[],c,e,a;for(c=0;c0){if(a){for(c=0,d=a.length;c0){k.apply(m,l)}if(a){k.call(m,e)}if(c.length>0){k.apply(m,c)}if(b){k.call(m,e)}if(o.length>0){k.apply(m,o)}}else{for(f=0;f0){k.apply(m,l)}}if(a){k.call(m,e)}for(f=0;f0){k.apply(m,c)}}if(b){k.call(m,e)}for(f=0;f0){k.apply(m,o)}}}if(m.length===0){return this}if(!h){h=[]}d.length=0;d.push.apply(d,h);d.push(null,this);this.doFire();return this},doFire:function(){var k=this.firingListeners,c=this.firingArguments,g=c.length-2,d,f,b,o,h,n,a,j,l,e,m;this.isPausing=false;this.isPaused=false;this.isStopped=false;this.isFiring=true;for(d=0,f=k.length;d0){this.isPaused=false;this.doFire()}if(a){a.resume()}return this},isInterrupted:function(){return this.isStopped||this.isPaused},stop:function(){var a=this.connectingController;this.isStopped=true;if(a){this.connectingController=null;a.stop()}this.isFiring=false;this.listenerStacks=null;return this},pause:function(){var a=this.connectingController;this.isPausing=true;if(a){a.pause()}return this}});Ext.define("Ext.event.Event",{alternateClassName:"Ext.EventObject",isStopped:false,set:function(a,b){if(arguments.length===1&&typeof a!="string"){var c=a;for(a in c){if(c.hasOwnProperty(a)){this[a]=c[a]}}}else{this[a]=c[a]}},stopEvent:function(){return this.stopPropagation()},stopPropagation:function(){this.isStopped=true;return this}});Ext.define("Ext.event.ListenerStack",{currentOrder:"current",length:0,constructor:function(){this.listeners={before:[],current:[],after:[]};this.lateBindingMap={};return this},add:function(h,j,k,e){var a=this.lateBindingMap,g=this.getAll(e),f=g.length,b,d,c;if(typeof h=="string"&&j.isIdentifiable){c=j.getId();b=a[c];if(b){if(b[h]){return false}else{b[h]=true}}else{a[c]=b={};b[h]=true}}else{if(f>0){while(f--){d=g[f];if(d.fn===h&&d.scope===j){d.options=k;return false}}}}d=this.create(h,j,k,e);if(k&&k.prepend){delete k.prepend;g.unshift(d)}else{g.push(d)}this.length++;return true},getAt:function(b,a){return this.getAll(a)[b]},getAll:function(a){if(!a){a=this.currentOrder}return this.listeners[a]},count:function(a){return this.getAll(a).length},create:function(d,c,b,a){return{stack:this,fn:d,firingFn:false,boundFn:false,isLateBinding:typeof d=="string",scope:c,options:b||{},order:a}},remove:function(h,j,e){var g=this.getAll(e),f=g.length,b=false,a=this.lateBindingMap,d,c;if(f>0){while(f--){d=g[f];if(d.fn===h&&d.scope===j){g.splice(f,1);b=true;this.length--;if(typeof h=="string"&&j.isIdentifiable){c=j.getId();if(a[c]&&a[c][h]){delete a[c][h]}}break}}}return b}});Ext.define("Ext.event.publisher.Publisher",{targetType:"",idSelectorRegex:/^#([\w\-]+)$/i,constructor:function(){var b=this.handledEvents,a,c,e,d;a=this.handledEventsMap={};for(c=0,e=b.length;cb){this.isEnded=true;return this.getEndValue()}else{return this.getStartValue()+((a/b)*this.distance)}}});Ext.define("Ext.fx.easing.Momentum",{extend:"Ext.fx.easing.Abstract",config:{acceleration:30,friction:0,startVelocity:0},alpha:0,updateFriction:function(b){var a=Math.log(1-(b/10));this.theta=a;this.alpha=a/this.getAcceleration()},updateStartVelocity:function(a){this.velocity=a*this.getAcceleration()},updateAcceleration:function(a){this.velocity=this.getStartVelocity()*a;this.alpha=this.theta/a},getValue:function(){return this.getStartValue()-this.velocity*(1-this.getFrictionFactor())/this.theta},getFrictionFactor:function(){var a=Ext.Date.now()-this.getStartTime();return Math.exp(a*this.alpha)},getVelocity:function(){return this.getFrictionFactor()*this.velocity}});Ext.define("Ext.mixin.Mixin",{onClassExtended:function(b,e){var a=e.mixinConfig,d,f,c;if(a){d=b.superclass.mixinConfig;if(d){a=e.mixinConfig=Ext.merge({},d,a)}e.mixinId=a.id;f=a.beforeHooks;c=a.hooks||a.afterHooks;if(f||c){Ext.Function.interceptBefore(e,"onClassMixedIn",function(h){var g=this.prototype;if(f){Ext.Object.each(f,function(j,i){h.override(i,function(){if(g[j].apply(this,arguments)!==false){return this.callOverridden(arguments)}})})}if(c){Ext.Object.each(c,function(j,i){h.override(i,function(){var k=this.callOverridden(arguments);g[j].apply(this,arguments);return k})})}})}}}});Ext.define("Ext.mixin.Selectable",{extend:"Ext.mixin.Mixin",mixinConfig:{id:"selectable",hooks:{updateStore:"updateStore"}},config:{disableSelection:null,mode:"SINGLE",allowDeselect:false,lastSelected:null,lastFocused:null,deselectOnContainerClick:true},modes:{SINGLE:true,SIMPLE:true,MULTI:true},selectableEventHooks:{addrecords:"onSelectionStoreAdd",removerecords:"onSelectionStoreRemove",updaterecord:"onSelectionStoreUpdate",load:"refreshSelection",refresh:"refreshSelection"},constructor:function(){this.selected=new Ext.util.MixedCollection();this.callParent(arguments)},applyMode:function(a){a=a?a.toUpperCase():"SINGLE";return this.modes[a]?a:"SINGLE"},updateStore:function(a,c){var b=this,d=Ext.apply({},b.selectableEventHooks,{scope:b});if(c&&Ext.isObject(c)&&c.isStore){if(c.autoDestroy){c.destroy()}else{c.un(d)}}if(a){a.on(d);b.refreshSelection()}},selectAll:function(a){var e=this,c=e.getStore().getRange(),d=c.length,b=0;for(;bg){e=g;g=c;c=e}for(d=c;d<=g;d++){a.push(b.getAt(d))}this.doMultiSelect(a,h)},select:function(c,e,b){var d=this,a;if(d.getDisableSelection()){return}if(typeof c==="number"){c=[d.getStore().getAt(c)]}if(!c){return}if(d.getMode()=="SINGLE"&&c){a=c.length?c[0]:c;d.doSingleSelect(a,b)}else{d.doMultiSelect(c,e,b)}},doSingleSelect:function(a,b){var d=this,c=d.selected;if(d.getDisableSelection()){return}if(d.isSelected(a)){return}if(c.getCount()>0){d.deselect(d.getLastSelected(),b)}c.add(a);d.setLastSelected(a);d.onItemSelect(a,b);d.setLastFocused(a);if(!b){d.fireSelectionChange([a])}},doMultiSelect:function(a,j,h){if(a===null||this.getDisableSelection()){return}a=!Ext.isArray(a)?[a]:a;var f=this,b=f.selected,e=a.length,g=false,c=0,d;if(!j&&b.getCount()>0){g=true;f.deselect(f.getSelection(),true)}for(;c0},refreshSelection:function(){var b=this,a=b.getSelection();b.deselectAll(true);if(a.length){b.select(a,false,true)}},onSelectionStoreRemove:function(c,b){var g=this,e=g.selected,f=b.length,a,d;if(g.getDisableSelection()){return}for(d=0;d0)?a[0]:b;return this.fromTouch(c)},fromTouch:function(a){return new this(a.pageX,a.pageY)},from:function(a){if(!a){return new this(0,0)}if(!(a instanceof this)){return new this(a.x,a.y)}return a}},constructor:function(a,b){if(typeof a=="undefined"){a=0}if(typeof b=="undefined"){b=0}this.x=a;this.y=b;return this},clone:function(){return new this.self(this.x,this.y)},copy:function(){return this.clone.apply(this,arguments)},copyFrom:function(a){this.x=a.x;this.y=a.y;return this},toString:function(){return"Point["+this.x+","+this.y+"]"},equals:function(a){return(this.x===a.x&&this.y===a.y)},isCloseTo:function(c,b){if(typeof b=="number"){b={x:b};b.y=b.x}var a=c.x,f=c.y,e=b.x,d=b.y;return(this.x<=a+e&&this.x>=a-e&&this.y<=f+d&&this.y>=f-d)},isWithin:function(){return this.isCloseTo.apply(this,arguments)},translate:function(a,b){this.x+=a;this.y+=b;return this},roundedEquals:function(a){return(Math.round(this.x)===Math.round(a.x)&&Math.round(this.y)===Math.round(a.y))},getDistanceTo:function(b){var c=this.x-b.x,a=this.y-b.y;return Math.sqrt(c*c+a*a)},getAngleTo:function(b){var c=this.x-b.x,a=this.y-b.y;return Math.atan2(a,c)*this.radianToDegreeConstant}});Ext.define("Ext.util.Region",{statics:{getRegion:function(a){return Ext.fly(a).getPageBox(true)},from:function(a){return new this(a.top,a.right,a.bottom,a.left)}},constructor:function(d,f,a,c){var e=this;e.top=d;e[1]=d;e.right=f;e.bottom=a;e.left=c;e[0]=c},contains:function(b){var a=this;return(b.left>=a.left&&b.right<=a.right&&b.top>=a.top&&b.bottom<=a.bottom)},intersect:function(g){var f=this,d=Math.max(f.top,g.top),e=Math.min(f.right,g.right),a=Math.min(f.bottom,g.bottom),c=Math.max(f.left,g.left);if(a>d&&e>c){return new Ext.util.Region(d,e,a,c)}else{return false}},union:function(g){var f=this,d=Math.min(f.top,g.top),e=Math.max(f.right,g.right),a=Math.max(f.bottom,g.bottom),c=Math.min(f.left,g.left);return new Ext.util.Region(d,e,a,c)},constrainTo:function(b){var a=this,c=Ext.util.Numbers.constrain;a.top=c(a.top,b.top,b.bottom);a.bottom=c(a.bottom,b.top,b.bottom);a.left=c(a.left,b.left,b.right);a.right=c(a.right,b.left,b.right);return a},adjust:function(d,f,a,c){var e=this;e.top+=d;e.left+=c;e.right+=f;e.bottom+=a;return e},getOutOfBoundOffset:function(a,b){if(!Ext.isObject(a)){if(a=="x"){return this.getOutOfBoundOffsetX(b)}else{return this.getOutOfBoundOffsetY(b)}}else{b=a;var c=new Ext.util.Offset();c.x=this.getOutOfBoundOffsetX(b.x);c.y=this.getOutOfBoundOffsetY(b.y);return c}},getOutOfBoundOffsetX:function(a){if(a<=this.left){return this.left-a}else{if(a>=this.right){return this.right-a}}return 0},getOutOfBoundOffsetY:function(a){if(a<=this.top){return this.top-a}else{if(a>=this.bottom){return this.bottom-a}}return 0},isOutOfBound:function(a,b){if(!Ext.isObject(a)){if(a=="x"){return this.isOutOfBoundX(b)}else{return this.isOutOfBoundY(b)}}else{b=a;return(this.isOutOfBoundX(b.x)||this.isOutOfBoundY(b.y))}},isOutOfBoundX:function(a){return(athis.right)},isOutOfBoundY:function(a){return(athis.bottom)},restrict:function(b,d,a){if(Ext.isObject(b)){var c;a=d;d=b;if(d.copy){c=d.copy()}else{c={x:d.x,y:d.y}}c.x=this.restrictX(d.x,a);c.y=this.restrictY(d.y,a);return c}else{if(b=="x"){return this.restrictX(d,a)}else{return this.restrictY(d,a)}}},restrictX:function(b,a){if(!a){a=1}if(b<=this.left){b-=(b-this.left)*a}else{if(b>=this.right){b-=(b-this.right)*a}}return b},restrictY:function(b,a){if(!a){a=1}if(b<=this.top){b-=(b-this.top)*a}else{if(b>=this.bottom){b-=(b-this.bottom)*a}}return b},getSize:function(){return{width:this.right-this.left,height:this.bottom-this.top}},copy:function(){return new Ext.util.Region(this.top,this.right,this.bottom,this.left)},toString:function(){return"Region["+this.top+","+this.right+","+this.bottom+","+this.left+"]"},translateBy:function(a){this.left+=a.x;this.right+=a.x;this.top+=a.y;this.bottom+=a.y;return this},round:function(){this.top=Math.round(this.top);this.right=Math.round(this.right);this.bottom=Math.round(this.bottom);this.left=Math.round(this.left);return this},equals:function(a){return(this.top==a.top&&this.right==a.right&&this.bottom==a.bottom&&this.left==a.left)}});Ext.define("Ext.util.Sorter",{isSorter:true,config:{property:null,sorterFn:null,root:null,transform:null,direction:"ASC",id:undefined},constructor:function(a){this.initConfig(a)},applyId:function(a){if(!a){a=this.getProperty();if(!a){a=Ext.id(null,"ext-sorter-")}}return a},createSortFunction:function(b){var c=this,a=c.getDirection().toUpperCase()=="DESC"?-1:1;return function(e,d){return a*b.call(c,e,d)}},defaultSortFn:function(e,c){var g=this,f=g._transform,b=g._root,d,a,h=g._property;if(b!==null){e=e[b];c=c[b]}d=e[h];a=c[h];if(f){d=f(d);a=f(a)}return d>a?1:(d -1 || Ext.isDate(values) ? values : ""'}else{if(e=="#"){c="xindex"}else{if(e.substr(0,7)=="parent."){c=e}else{if((e.indexOf(".")!==-1)&&(e.indexOf("-")===-1)){c="values."+e}else{c="values['"+e+"']"}}}}if(f){c="("+c+f+")"}if(g&&this.useFormat){d=d?","+d:"";if(g.substr(0,5)!="this."){g="fm."+g+"("}else{g+="("}}else{d="";g="("+c+" === undefined ? '' : "}return g+c+d+")"},evalTpl:function($){eval($);return $},newLineRe:/\r\n|\r|\n/g,aposRe:/[']/g,intRe:/^\s*(\d+)\s*$/,tagRe:/([\w-\.\#]+)(?:\:([\w\.]*)(?:\((.*?)?\))?)?(\s?[\+\-\*\/]\s?[\d\.\+\-\*\/\(\)]+)?/},function(){var a=this.prototype;a.fnArgs="out,values,parent,xindex,xcount";a.callFn=".call(this,"+a.fnArgs+")"});Ext.define("Ext.data.Field",{requires:["Ext.data.Types","Ext.data.SortTypes"],alias:"data.field",isField:true,config:{name:null,type:"auto",convert:undefined,dateFormat:null,allowNull:true,defaultValue:undefined,mapping:null,sortType:undefined,sortDir:"ASC",allowBlank:true,persist:true,encode:null,decode:null,bubbleEvents:"action"},constructor:function(a){if(Ext.isString(a)){a={name:a}}this.initConfig(a)},applyType:function(c){var b=Ext.data.Types,a=b.AUTO;if(c){if(Ext.isString(c)){return b[c.toUpperCase()]||a}else{return c}}return a},updateType:function(a,b){var c=this.getConvert();if(b&&c===b.convert){this.setConvert(a.convert)}},applySortType:function(d){var c=Ext.data.SortTypes,a=this.getType(),b=a.sortType;if(d){if(Ext.isString(d)){return c[d]||b}else{return d}}return b},applyConvert:function(b){var a=this.getType().convert;if(b&&b!==a){this._hasCustomConvert=true;return b}else{this._hasCustomConvert=false;return a}},hasCustomConvert:function(){return this._hasCustomConvert}});Ext.define("Ext.data.identifier.Sequential",{extend:"Ext.data.identifier.Simple",alias:"data.identifier.sequential",config:{prefix:"",seed:1},constructor:function(){var a=this;a.callParent(arguments);a.parts=[a.getPrefix(),""]},generate:function(b){var c=this,d=c.parts,a=c.getSeed()+1;c.setSeed(a);d[1]=a;return d.join("")}});Ext.define("Ext.data.writer.Json",{extend:"Ext.data.writer.Writer",alternateClassName:"Ext.data.JsonWriter",alias:"writer.json",config:{rootProperty:undefined,encode:false,allowSingle:true,encodeRequest:false},applyRootProperty:function(a){if(!a&&(this.getEncode()||this.getEncodeRequest())){a="data"}return a},writeRecords:function(d,e){var a=this.getRootProperty(),f=d.getParams(),b=this.getAllowSingle(),c;if(this.getAllowSingle()&&e&&e.length==1){e=e[0]}if(this.getEncodeRequest()){c=d.getJsonData()||{};if(e&&(e.length||(b&&Ext.isObject(e)))){c[a]=e}d.setJsonData(Ext.apply(c,f||{}));d.setParams(null);d.setMethod("POST");return d}if(!e||!(e.length||(b&&Ext.isObject(e)))){return d}if(this.getEncode()){if(a){f[a]=Ext.encode(e)}else{}}else{c=d.getJsonData()||{};if(a){c[a]=e}else{c=e}d.setJsonData(c)}return d}});Ext.define("Ext.event.Dispatcher",{requires:["Ext.event.ListenerStack","Ext.event.Controller"],statics:{getInstance:function(){if(!this.instance){this.instance=new this()}return this.instance},setInstance:function(a){this.instance=a;return this}},config:{publishers:{}},wildcard:"*",constructor:function(a){this.listenerStacks={};this.activePublishers={};this.publishersCache={};this.noActivePublishers=[];this.controller=null;this.initConfig(a);return this},getListenerStack:function(e,g,c,b){var d=this.listenerStacks,f=d[e],a;b=Boolean(b);if(!f){if(b){d[e]=f={}}else{return null}}f=f[g];if(!f){if(b){d[e][g]=f={}}else{return null}}a=f[c];if(!a){if(b){f[c]=a=new Ext.event.ListenerStack()}else{return null}}return a},getController:function(d,f,c,b){var a=this.controller,e={targetType:d,target:f,eventName:c};if(!a){this.controller=a=new Ext.event.Controller()}if(a.isFiring){a=new Ext.event.Controller()}a.setInfo(e);if(b&&a!==b){a.connect(b)}return a},applyPublishers:function(c){var a,b;this.publishersCache={};for(a in c){if(c.hasOwnProperty(a)){b=c[a];this.registerPublisher(b)}}return c},registerPublisher:function(b){var a=this.activePublishers,c=b.getTargetType(),d=a[c];if(!d){a[c]=d=[]}d.push(b);b.setDispatcher(this);return this},getCachedActivePublishers:function(c,b){var a=this.publishersCache,d;if((d=a[c])&&(d=d[b])){return d}return null},cacheActivePublishers:function(c,b,d){var a=this.publishersCache;if(!a[c]){a[c]={}}a[c][b]=d;return d},getActivePublishers:function(f,b){var g,a,c,e,d;if((g=this.getCachedActivePublishers(f,b))){return g}a=this.activePublishers[f];if(a){g=[];for(c=0,e=a.length;c0}return false},addListener:function(d,e,a){var f=this.getActivePublishers(d,a),c=f.length,b;if(c>0){for(b=0;b0){for(b=0;b0){for(b=0;b0)){return true}delete d[f];if(--d.$length===0){delete this.subscribers[a]}return true},onBeforeComponentRenderedChange:function(b,d,g){var f=this.eventNames,c=g?f.painted:f.erased,e=this.getSubscribers(c),a;if(e&&e.$length>0){this.renderedQueue[d.getId()]=a=[];this.publish(e,d,c,a)}},onBeforeComponentHiddenChange:function(c,d){var f=this.eventNames,b=d?f.erased:f.painted,e=this.getSubscribers(b),a;if(e&&e.$length>0){this.hiddenQueue[c.getId()]=a=[];this.publish(e,c,b,a)}},onComponentRenderedChange:function(b,c){var d=this.renderedQueue,e=c.getId(),a;if(!d.hasOwnProperty(e)){return}a=d[e];delete d[e];if(a.length>0){this.dispatchQueue(a)}},onComponentHiddenChange:function(c){var b=this.hiddenQueue,d=c.getId(),a;if(!b.hasOwnProperty(d)){return}a=b[d];delete b[d];if(a.length>0){this.dispatchQueue(a)}},dispatchQueue:function(g){var l=this.dispatcher,a=this.targetType,b=this.eventNames,e=g.slice(),f=e.length,c,k,h,d,j;g.length=0;if(f>0){for(c=0;c0)){return true}delete c[i];c.$length--}else{if(!d.hasOwnProperty(i)||(!j&&--d[i]>0)){return true}delete d[i];d.$length--}}else{if(g===this.SELECTOR_ALL){if(j){a.all=0}else{a.all--}}else{if(!b.hasOwnProperty(g)||(!j&&--b[g]>0)){return true}delete b[g];Ext.Array.remove(b,g)}}a.$length--;return true},getElementTarget:function(a){if(a.nodeType!==1){a=a.parentNode;if(!a||a.nodeType!==1){return null}}return a},getBubblingTargets:function(b){var a=[];if(!b){return a}do{a[a.length]=b;b=b.parentNode}while(b&&b.nodeType===1);return a},dispatch:function(c,a,b){b.push(b[0].target);this.callParent(arguments)},publish:function(b,a,c){var d=this.getSubscribers(b),e;if(d.$length===0||!this.doPublish(d,b,a,c)){e=this.getSubscribers("*");if(e.$length>0){this.doPublish(e,b,a,c)}}return this},doPublish:function(f,h,x,u){var r=f.id,g=f.className,b=f.selector,p=r.$length>0,a=g.$length>0,l=b.length>0,o=f.all>0,y={},e=[u],q=false,m=this.classNameSplitRegex,v,k,t,d,z,n,c,w,s;for(v=0,k=x.length;v0){c=a.slice(0);a.length=0;for(b=0;b0){this.processEvent(this.mergeEvents(d));d.length=0}this.processEvent(e)}}if(d.length>0){this.processEvent(this.mergeEvents(d));d.length=0}}},mergeEvents:function(c){var b=[],f=c.length,a,e,d;d=c[f-1];if(f===1){return d}for(a=0;ah){for(d=0;dh){return}}for(d=0;da){this.end(d)}}},onTouchEnd:function(a){this.end(a)},start:function(){if(!this.isTracking){this.isTracking=true;this.isStarted=false}},end:function(a){if(this.isTracking){this.isTracking=false;if(this.isStarted){this.isStarted=false;this.fireEnd(a)}}}});Ext.define("Ext.event.recognizer.Pinch",{extend:"Ext.event.recognizer.MultiTouch",requiredTouchesCount:2,handledEvents:["pinchstart","pinch","pinchend"],startDistance:0,lastTouches:null,onTouchMove:function(c){if(!this.isTracking){return}var b=Array.prototype.slice.call(c.touches),d,a,f;d=b[0].point;a=b[1].point;f=d.getDistanceTo(a);if(f===0){return}if(!this.isStarted){this.isStarted=true;this.startDistance=f;this.fire("pinchstart",c,b,{touches:b,distance:f,scale:1})}else{this.fire("pinch",c,b,{touches:b,distance:f,scale:f/this.startDistance})}this.lastTouches=b},fireEnd:function(a){this.fire("pinchend",a,this.lastTouches)},fail:function(){return this.callParent(arguments)}});Ext.define("Ext.event.recognizer.Rotate",{extend:"Ext.event.recognizer.MultiTouch",requiredTouchesCount:2,handledEvents:["rotatestart","rotate","rotateend"],startAngle:0,lastTouches:null,lastAngle:null,onTouchMove:function(h){if(!this.isTracking){return}var g=Array.prototype.slice.call(h.touches),b=this.lastAngle,d,f,c,a,i,j;d=g[0].point;f=g[1].point;c=d.getAngleTo(f);if(b!==null){j=Math.abs(b-c);a=c+360;i=c-360;if(Math.abs(a-b)1){return this.fail(this.self.NOT_SINGLE_TOUCH)}}});Ext.define("Ext.event.recognizer.DoubleTap",{extend:"Ext.event.recognizer.SingleTouch",config:{maxDuration:300},handledEvents:["singletap","doubletap"],singleTapTimer:null,onTouchStart:function(a){if(this.callParent(arguments)===false){return false}this.startTime=a.time;clearTimeout(this.singleTapTimer)},onTouchMove:function(){return this.fail(this.self.TOUCH_MOVED)},onEnd:function(g){var c=this,b=this.getMaxDuration(),h=g.changedTouches[0],f=g.time,a=this.lastTapTime,d;this.lastTapTime=f;if(a){d=f-a;if(d<=b){this.lastTapTime=0;this.fire("doubletap",g,[h],{touch:h,duration:d});return}}if(f-this.startTime>b){this.fireSingleTap(g,h)}else{this.singleTapTimer=setTimeout(function(){c.fireSingleTap(g,h)},b)}},fireSingleTap:function(a,b){this.fire("singletap",a,[b],{touch:b})}});Ext.define("Ext.event.recognizer.Drag",{extend:"Ext.event.recognizer.SingleTouch",isStarted:false,startPoint:null,previousPoint:null,lastPoint:null,handledEvents:["dragstart","drag","dragend"],onTouchStart:function(b){var c,a;if(this.callParent(arguments)===false){if(this.isStarted&&this.lastMoveEvent!==null){this.onTouchEnd(this.lastMoveEvent)}return false}this.startTouches=c=b.changedTouches;this.startTouch=a=c[0];this.startPoint=a.point},onTouchMove:function(d){var c=d.changedTouches,f=c[0],a=f.point,b=d.time;if(this.lastPoint){this.previousPoint=this.lastPoint}if(this.lastTime){this.previousTime=this.lastTime}this.lastTime=b;this.lastPoint=a;this.lastMoveEvent=d;if(!this.isStarted){this.isStarted=true;this.startTime=b;this.previousTime=b;this.previousPoint=this.startPoint;this.fire("dragstart",d,this.startTouches,this.getInfo(d,this.startTouch))}else{this.fire("drag",d,c,this.getInfo(d,f))}},onTouchEnd:function(c){if(this.isStarted){var b=c.changedTouches,d=b[0],a=d.point;this.isStarted=false;this.lastPoint=a;this.fire("dragend",c,b,this.getInfo(c,d));this.startTime=0;this.previousTime=0;this.lastTime=0;this.startPoint=null;this.previousPoint=null;this.lastPoint=null;this.lastMoveEvent=null}},getInfo:function(j,i){var d=j.time,a=this.startPoint,f=this.previousPoint,b=this.startTime,k=this.previousTime,l=this.lastPoint,h=l.x-a.x,g=l.y-a.y,c={touch:i,startX:a.x,startY:a.y,previousX:f.x,previousY:f.y,pageX:l.x,pageY:l.y,deltaX:h,deltaY:g,absDeltaX:Math.abs(h),absDeltaY:Math.abs(g),previousDeltaX:l.x-f.x,previousDeltaY:l.y-f.y,time:d,startTime:b,previousTime:k,deltaTime:d-b,previousDeltaTime:d-k};return c}});Ext.define("Ext.event.recognizer.LongPress",{extend:"Ext.event.recognizer.SingleTouch",inheritableStatics:{DURATION_NOT_ENOUGH:32},config:{minDuration:1000},handledEvents:["longpress"],fireLongPress:function(a){var b=a.changedTouches[0];this.fire("longpress",a,[b],{touch:b,duration:this.getMinDuration()});this.isLongPress=true},onTouchStart:function(b){var a=this;if(this.callParent(arguments)===false){return false}this.isLongPress=false;this.timer=setTimeout(function(){a.fireLongPress(b)},this.getMinDuration())},onTouchMove:function(){return this.fail(this.self.TOUCH_MOVED)},onTouchEnd:function(){if(!this.isLongPress){return this.fail(this.self.DURATION_NOT_ENOUGH)}},fail:function(){clearTimeout(this.timer);return this.callParent(arguments)}},function(){this.override({handledEvents:["longpress","taphold"],fire:function(a){if(a==="longpress"){var b=Array.prototype.slice.call(arguments);b[0]="taphold";this.fire.apply(this,b)}return this.callOverridden(arguments)}})});Ext.define("Ext.event.recognizer.Tap",{handledEvents:["tap"],extend:"Ext.event.recognizer.SingleTouch",onTouchMove:function(){return this.fail(this.self.TOUCH_MOVED)},onTouchEnd:function(a){var b=a.changedTouches[0];this.fire("tap",a,[b])}},function(){});(function(){function b(d){var c=Array.prototype.slice.call(arguments,1);return d.replace(/\{(\d+)\}/g,function(e,f){return c[f]})}Ext.DateExtras={now:Date.now||function(){return +new Date()},getElapsed:function(d,c){return Math.abs(d-(c||new Date()))},useStrict:false,formatCodeToRegex:function(d,c){var e=a.parseCodes[d];if(e){e=typeof e=="function"?e():e;a.parseCodes[d]=e}return e?Ext.applyIf({c:e.c?b(e.c,c||"{0}"):e.c},e):{g:0,c:null,s:Ext.String.escapeRegex(d)}},parseFunctions:{MS:function(d,c){var e=new RegExp("\\/Date\\(([-+])?(\\d+)(?:[+-]\\d{4})?\\)\\/");var f=(d||"").match(e);return f?new Date(((f[1]||"")+f[2])*1):null}},parseRegexes:[],formatFunctions:{MS:function(){return"\\/Date("+this.getTime()+")\\/"}},y2kYear:50,MILLI:"ms",SECOND:"s",MINUTE:"mi",HOUR:"h",DAY:"d",MONTH:"mo",YEAR:"y",defaults:{},dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNumbers:{Jan:0,Feb:1,Mar:2,Apr:3,May:4,Jun:5,Jul:6,Aug:7,Sep:8,Oct:9,Nov:10,Dec:11},defaultFormat:"m/d/Y",getShortMonthName:function(c){return a.monthNames[c].substring(0,3)},getShortDayName:function(c){return a.dayNames[c].substring(0,3)},getMonthNumber:function(c){return a.monthNumbers[c.substring(0,1).toUpperCase()+c.substring(1,3).toLowerCase()]},formatCodes:{d:"Ext.String.leftPad(this.getDate(), 2, '0')",D:"Ext.Date.getShortDayName(this.getDay())",j:"this.getDate()",l:"Ext.Date.dayNames[this.getDay()]",N:"(this.getDay() ? this.getDay() : 7)",S:"Ext.Date.getSuffix(this)",w:"this.getDay()",z:"Ext.Date.getDayOfYear(this)",W:"Ext.String.leftPad(Ext.Date.getWeekOfYear(this), 2, '0')",F:"Ext.Date.monthNames[this.getMonth()]",m:"Ext.String.leftPad(this.getMonth() + 1, 2, '0')",M:"Ext.Date.getShortMonthName(this.getMonth())",n:"(this.getMonth() + 1)",t:"Ext.Date.getDaysInMonth(this)",L:"(Ext.Date.isLeapYear(this) ? 1 : 0)",o:"(this.getFullYear() + (Ext.Date.getWeekOfYear(this) == 1 && this.getMonth() > 0 ? +1 : (Ext.Date.getWeekOfYear(this) >= 52 && this.getMonth() < 11 ? -1 : 0)))",Y:"Ext.String.leftPad(this.getFullYear(), 4, '0')",y:"('' + this.getFullYear()).substring(2, 4)",a:"(this.getHours() < 12 ? 'am' : 'pm')",A:"(this.getHours() < 12 ? 'AM' : 'PM')",g:"((this.getHours() % 12) ? this.getHours() % 12 : 12)",G:"this.getHours()",h:"Ext.String.leftPad((this.getHours() % 12) ? this.getHours() % 12 : 12, 2, '0')",H:"Ext.String.leftPad(this.getHours(), 2, '0')",i:"Ext.String.leftPad(this.getMinutes(), 2, '0')",s:"Ext.String.leftPad(this.getSeconds(), 2, '0')",u:"Ext.String.leftPad(this.getMilliseconds(), 3, '0')",O:"Ext.Date.getGMTOffset(this)",P:"Ext.Date.getGMTOffset(this, true)",T:"Ext.Date.getTimezone(this)",Z:"(this.getTimezoneOffset() * -60)",c:function(){for(var j="Y-m-dTH:i:sP",g=[],f=0,d=j.length;f= 0 && y >= 0){","v = Ext.Date.add(new Date(y < 100 ? 100 : y, 0, 1, h, i, s, ms), Ext.Date.YEAR, y < 100 ? y - 100 : 0);","v = !strict? v : (strict === true && (z <= 364 || (Ext.Date.isLeapYear(v) && z <= 365))? Ext.Date.add(v, Ext.Date.DAY, z) : null);","}else if(strict === true && !Ext.Date.isValid(y, m + 1, d, h, i, s, ms)){","v = null;","}else{","v = Ext.Date.add(new Date(y < 100 ? 100 : y, m, d, h, i, s, ms), Ext.Date.YEAR, y < 100 ? y - 100 : 0);","}","}","}","if(v){","if(zz != null){","v = Ext.Date.add(v, Ext.Date.SECOND, -v.getTimezoneOffset() * 60 - zz);","}else if(o){","v = Ext.Date.add(v, Ext.Date.MINUTE, -v.getTimezoneOffset() + (sn == '+'? -1 : 1) * (hr * 60 + mn));","}","}","return v;"].join("\n");return function(l){var e=a.parseRegexes.length,m=1,f=[],k=[],j=false,d="";for(var h=0;h Ext.Date.y2kYear ? 1900 + ty : 2000 + ty;\n",s:"(\\d{1,2})"},a:{g:1,c:"if (/(am)/i.test(results[{0}])) {\nif (!h || h == 12) { h = 0; }\n} else { if (!h || h < 12) { h = (h || 0) + 12; }}",s:"(am|pm|AM|PM)"},A:{g:1,c:"if (/(am)/i.test(results[{0}])) {\nif (!h || h == 12) { h = 0; }\n} else { if (!h || h < 12) { h = (h || 0) + 12; }}",s:"(AM|PM|am|pm)"},g:function(){return a.formatCodeToRegex("G")},G:{g:1,c:"h = parseInt(results[{0}], 10);\n",s:"(\\d{1,2})"},h:function(){return a.formatCodeToRegex("H")},H:{g:1,c:"h = parseInt(results[{0}], 10);\n",s:"(\\d{2})"},i:{g:1,c:"i = parseInt(results[{0}], 10);\n",s:"(\\d{2})"},s:{g:1,c:"s = parseInt(results[{0}], 10);\n",s:"(\\d{2})"},u:{g:1,c:"ms = results[{0}]; ms = parseInt(ms, 10)/Math.pow(10, ms.length - 3);\n",s:"(\\d+)"},O:{g:1,c:["o = results[{0}];","var sn = o.substring(0,1),","hr = o.substring(1,3)*1 + Math.floor(o.substring(3,5) / 60),","mn = o.substring(3,5) % 60;","o = ((-12 <= (hr*60 + mn)/60) && ((hr*60 + mn)/60 <= 14))? (sn + Ext.String.leftPad(hr, 2, '0') + Ext.String.leftPad(mn, 2, '0')) : null;\n"].join("\n"),s:"([+-]\\d{4})"},P:{g:1,c:["o = results[{0}];","var sn = o.substring(0,1),","hr = o.substring(1,3)*1 + Math.floor(o.substring(4,6) / 60),","mn = o.substring(4,6) % 60;","o = ((-12 <= (hr*60 + mn)/60) && ((hr*60 + mn)/60 <= 14))? (sn + Ext.String.leftPad(hr, 2, '0') + Ext.String.leftPad(mn, 2, '0')) : null;\n"].join("\n"),s:"([+-]\\d{2}:\\d{2})"},T:{g:0,c:null,s:"[A-Z]{1,4}"},Z:{g:1,c:"zz = results[{0}] * 1;\nzz = (-43200 <= zz && zz <= 50400)? zz : null;\n",s:"([+-]?\\d{1,5})"},c:function(){var e=[],c=[a.formatCodeToRegex("Y",1),a.formatCodeToRegex("m",2),a.formatCodeToRegex("d",3),a.formatCodeToRegex("h",4),a.formatCodeToRegex("i",5),a.formatCodeToRegex("s",6),{c:"ms = results[7] || '0'; ms = parseInt(ms, 10)/Math.pow(10, ms.length - 3);\n"},{c:["if(results[8]) {","if(results[8] == 'Z'){","zz = 0;","}else if (results[8].indexOf(':') > -1){",a.formatCodeToRegex("P",8).c,"}else{",a.formatCodeToRegex("O",8).c,"}","}"].join("\n")}];for(var f=0,d=c.length;f0?"-":"+")+Ext.String.leftPad(Math.floor(Math.abs(e)/60),2,"0")+(d?":":"")+Ext.String.leftPad(Math.abs(e%60),2,"0")},getDayOfYear:function(f){var e=0,h=Ext.Date.clone(f),c=f.getMonth(),g;for(g=0,h.setDate(1),h.setMonth(0);g28){e=Math.min(e,Ext.Date.getLastDateOfMonth(Ext.Date.add(Ext.Date.getFirstDateOfMonth(g),"mo",h)).getDate())}i.setDate(e);i.setMonth(g.getMonth()+h);break;case Ext.Date.YEAR:i.setFullYear(g.getFullYear()+h);break}return i},between:function(d,f,c){var e=d.getTime();return f.getTime()<=e&&e<=c.getTime()}};var a=Ext.DateExtras;Ext.apply(Ext.Date,a)})();Ext.define("Ext.fx.Easing",{requires:["Ext.fx.easing.Linear"],constructor:function(a){return Ext.factory(a,Ext.fx.easing.Linear,null,"easing")}});Ext.define("Ext.fx.easing.BoundMomentum",{extend:"Ext.fx.easing.Abstract",requires:["Ext.fx.easing.Momentum","Ext.fx.easing.Bounce"],config:{momentum:null,bounce:null,minMomentumValue:0,maxMomentumValue:0,minVelocity:0.01,startVelocity:0},applyMomentum:function(a,b){return Ext.factory(a,Ext.fx.easing.Momentum,b)},applyBounce:function(a,b){return Ext.factory(a,Ext.fx.easing.Bounce,b)},updateStartTime:function(a){this.getMomentum().setStartTime(a);this.callParent(arguments)},updateStartVelocity:function(a){this.getMomentum().setStartVelocity(a)},updateStartValue:function(a){this.getMomentum().setStartValue(a)},reset:function(){this.lastValue=null;this.isBouncingBack=false;this.isOutOfBound=false;return this.callParent(arguments)},getValue:function(){var a=this.getMomentum(),j=this.getBounce(),e=a.getStartVelocity(),f=e>0?1:-1,g=this.getMinMomentumValue(),d=this.getMaxMomentumValue(),c=(f==1)?d:g,h=this.lastValue,i,b;if(e===0){return this.getStartValue()}if(!this.isOutOfBound){i=a.getValue();b=a.getVelocity();if(Math.abs(b)=g&&i<=d){return i}this.isOutOfBound=true;j.setStartTime(Ext.Date.now()).setStartVelocity(b).setStartValue(c)}i=j.getValue();if(!this.isEnded){if(!this.isBouncingBack){if(h!==null){if((f==1&&ih)){this.isBouncingBack=true}}}else{if(Math.round(i)==c){this.isEnded=true}}}this.lastValue=i;return i}});Ext.define("Ext.fx.easing.EaseIn",{extend:"Ext.fx.easing.Linear",alias:"easing.ease-in",config:{exponent:4,duration:1500},getValue:function(){var c=Ext.Date.now()-this.getStartTime(),g=this.getDuration(),b=this.getStartValue(),a=this.getEndValue(),h=this.distance,e=c/g,d=Math.pow(e,this.getExponent()),f=b+(d*h);if(c>=g){this.isEnded=true;return a}return f}});Ext.define("Ext.fx.easing.EaseOut",{extend:"Ext.fx.easing.Linear",alias:"easing.ease-out",config:{exponent:4,duration:1500},getValue:function(){var f=Ext.Date.now()-this.getStartTime(),d=this.getDuration(),b=this.getStartValue(),h=this.getEndValue(),a=this.distance,c=f/d,g=1-c,e=1-Math.pow(g,this.getExponent()),i=b+(e*a);if(f>=d){this.isEnded=true;return h}return i}});Ext.define("Ext.mixin.Filterable",{extend:"Ext.mixin.Mixin",requires:["Ext.util.Filter"],mixinConfig:{id:"filterable"},config:{filters:null,filterRoot:null},dirtyFilterFn:false,filterFn:null,filtered:false,applyFilters:function(a,b){if(!b){b=this.createFiltersCollection()}b.clear();this.filtered=false;this.dirtyFilterFn=true;if(a){this.addFilters(a)}return b},createFiltersCollection:function(){this._filters=Ext.create("Ext.util.Collection",function(a){return a.getId()});return this._filters},addFilter:function(a){this.addFilters([a])},addFilters:function(b){var a=this.getFilters();return this.insertFilters(a?a.length:0,b)},insertFilter:function(a,b){return this.insertFilters(a,[b])},insertFilters:function(h,c){if(!Ext.isArray(c)){c=[c]}var j=c.length,a=this.getFilterRoot(),d=this.getFilters(),e=[],f,g,b;if(!d){d=this.createFiltersCollection()}for(g=0;g=200&&a<300)||a==304||(a==0&&d.responseText.length>0),b=false;if(!c){switch(a){case 12002:case 12029:case 12030:case 12031:case 12152:case 13030:b=true;break}}return{success:c,isException:b}},createResponse:function(c){var g=c.xhr,a={},h,d,i,e,f,b;if(c.timedout||c.aborted){c.success=false;h=[]}else{h=g.getAllResponseHeaders().replace(this.lineBreakRe,"\n").split("\n")}d=h.length;while(d--){i=h[d];e=i.indexOf(":");if(e>=0){f=i.substr(0,e).toLowerCase();if(i.charAt(e+1)==" "){++e}a[f]=i.substr(e+1)}}c.xhr=null;delete c.xhr;b={request:c,requestId:c.id,status:g.status,statusText:g.statusText,getResponseHeader:function(j){return a[j.toLowerCase()]},getAllResponseHeaders:function(){return a},responseText:g.responseText,responseXML:g.responseXML};g=null;return b},createException:function(a){return{request:a,requestId:a.id,status:a.aborted?-1:0,statusText:a.aborted?"transaction aborted":"communication failure",aborted:a.aborted,timedout:a.timedout}}});Ext.define("Ext.Ajax",{extend:"Ext.data.Connection",singleton:true,autoAbort:false});Ext.define("Ext.data.reader.Reader",{requires:["Ext.data.ResultSet"],alternateClassName:["Ext.data.Reader","Ext.data.DataReader"],mixins:["Ext.mixin.Observable"],isReader:true,config:{idProperty:undefined,clientIdProperty:"clientId",totalProperty:"total",successProperty:"success",messageProperty:null,rootProperty:"",implicitIncludes:true,model:undefined},constructor:function(a){this.initConfig(a)},fieldCount:0,applyModel:function(a){if(typeof a=="string"){a=Ext.data.ModelManager.getModel(a);if(!a){Ext.Logger.error("Model with name "+arguments[0]+" doesnt exist.")}}if(a&&!a.prototype.isModel&&Ext.isObject(a)){a=Ext.data.ModelManager.registerType(a.storeId||a.id||Ext.id(),a)}return a},applyIdProperty:function(a){if(!a&&this.getModel()){a=this.getModel().getIdProperty()}return a},updateModel:function(a){if(a){if(!this.getIdProperty()){this.setIdProperty(a.getIdProperty())}this.buildExtractors()}},createAccessor:Ext.emptyFn,createFieldAccessExpression:function(){return"undefined"},buildExtractors:function(){if(!this.getModel()){return}var b=this,c=b.getTotalProperty(),a=b.getSuccessProperty(),d=b.getMessageProperty();if(c){b.getTotal=b.createAccessor(c)}if(a){b.getSuccess=b.createAccessor(a)}if(d){b.getMessage=b.createAccessor(d)}b.extractRecordData=b.buildRecordDataExtractor()},buildRecordDataExtractor:function(){var k=this,e=k.getModel(),g=e.getFields(),j=g.length,a=[],h=k.getModel().getClientIdProperty(),f="__field",b=["var me = this,\n"," fields = me.getModel().getFields(),\n"," idProperty = me.getIdProperty(),\n",' idPropertyIsFn = (typeof idProperty == "function"),'," value,\n"," internalId"],d,l,c,m;g=g.items;for(d=0;d=0){return Ext.functionFactory("obj","var value; try {value = obj"+(b>0?".":"")+c+"} catch(e) {}; return value;")}}return function(d){return d[c]}}}(),createFieldAccessExpression:function(g,b,c){var f=this,h=f.objectRe,e=(g.getMapping()!==null),a=e?g.getMapping():g.getName(),i,d;if(typeof a==="function"){i=b+".getMapping()("+c+", this)"}else{if(f.getUseSimpleAccessors()===true||((d=String(a).search(h))<0)){if(!e||isNaN(a)){a='"'+a+'"'}i=c+"["+a+"]"}else{i=c+(d>0?".":"")+a}}return i}});Ext.define("Ext.data.proxy.Proxy",{extend:"Ext.Evented",alias:"proxy.proxy",alternateClassName:["Ext.data.DataProxy","Ext.data.Proxy"],requires:["Ext.data.reader.Json","Ext.data.writer.Json","Ext.data.Batch","Ext.data.Operation"],config:{batchOrder:"create,update,destroy",batchActions:true,model:null,reader:{type:"json"},writer:{type:"json"}},isProxy:true,applyModel:function(a){if(typeof a=="string"){a=Ext.data.ModelManager.getModel(a);if(!a){Ext.Logger.error("Model with name "+arguments[0]+" doesnt exist.")}}if(a&&!a.prototype.isModel&&Ext.isObject(a)){a=Ext.data.ModelManager.registerType(a.storeId||a.id||Ext.id(),a)}return a},updateModel:function(b){if(b){var a=this.getReader();if(a&&!a.getModel()){a.setModel(b)}}},applyReader:function(b,a){return Ext.factory(b,Ext.data.Reader,a,"reader")},updateReader:function(a){if(a){var b=this.getModel();if(!b){b=a.getModel();if(b){this.setModel(b)}}else{a.setModel(b)}if(a.onMetaChange){a.onMetaChange=Ext.Function.createSequence(a.onMetaChange,this.onMetaChange,this)}}},onMetaChange:function(b){var a=this.getReader().getModel();if(!this.getModel()&&a){this.setModel(a)}this.fireEvent("metachange",this,b)},applyWriter:function(b,a){return Ext.factory(b,Ext.data.Writer,a,"writer")},create:Ext.emptyFn,read:Ext.emptyFn,update:Ext.emptyFn,destroy:Ext.emptyFn,onDestroy:function(){Ext.destroy(this.getReader(),this.getWriter())},batch:function(e,f){var g=this,d=g.getBatchActions(),c=this.getModel(),b,a;if(e.operations===undefined){e={operations:e,batch:{listeners:f}}}if(e.batch){if(e.batch.isBatch){e.batch.setProxy(g)}else{e.batch.proxy=g}}else{e.batch={proxy:g,listeners:e.listeners||{}}}if(!b){b=new Ext.data.Batch(e.batch)}b.on("complete",Ext.bind(g.onBatchComplete,g,[e],0));Ext.each(g.getBatchOrder().split(","),function(h){a=e.operations[h];if(a){if(d){b.add(new Ext.data.Operation({action:h,records:a,model:c}))}else{Ext.each(a,function(i){b.add(new Ext.data.Operation({action:h,records:[i],model:c}))})}}},g);b.start();return b},onBatchComplete:function(a,b){var c=a.scope||this;if(b.hasException){if(Ext.isFunction(a.failure)){Ext.callback(a.failure,c,[b,a])}}else{if(Ext.isFunction(a.success)){Ext.callback(a.success,c,[b,a])}}if(Ext.isFunction(a.callback)){Ext.callback(a.callback,c,[b,a])}}},function(){});Ext.define("Ext.data.proxy.Client",{extend:"Ext.data.proxy.Proxy",alternateClassName:"Ext.proxy.ClientProxy",clear:function(){}});Ext.define("Ext.data.proxy.Memory",{extend:"Ext.data.proxy.Client",alias:"proxy.memory",alternateClassName:"Ext.data.MemoryProxy",isMemoryProxy:true,config:{data:[]},finishOperation:function(b,f,d){if(b){var c=0,e=b.getRecords(),a=e.length;for(c;c0){if(o){h[e]=m[0].getProperty();h[b]=m[0].getDirection()}else{h[e]=n.encodeSorters(m)}}if(c&&f&&f.length>0){h[c]=n.encodeFilters(f)}return h},buildUrl:function(c){var b=this,a=b.getUrl(c);if(b.getNoCache()){a=Ext.urlAppend(a,Ext.String.format("{0}={1}",b.getCacheString(),Ext.Date.now()))}return a},getUrl:function(a){return a?a.getUrl()||this.getApi()[a.getAction()]||this._url:this._url},doRequest:function(a,c,b){},afterRequest:Ext.emptyFn});Ext.define("Ext.data.proxy.JsonP",{extend:"Ext.data.proxy.Server",alternateClassName:"Ext.data.ScriptTagProxy",alias:["proxy.jsonp","proxy.scripttag"],requires:["Ext.data.JsonP"],config:{defaultWriterType:"base",callbackKey:"callback",recordParam:"records",autoAppendParams:true},doRequest:function(a,f,b){var d=this,c=d.buildRequest(a),e=c.getParams();c.setConfig({callbackKey:d.getCallbackKey(),timeout:d.getTimeout(),scope:d,callback:d.createRequestCallback(c,a,f,b)});if(d.getAutoAppendParams()){c.setParams({})}c.setJsonP(Ext.data.JsonP.request(c.getCurrentConfig()));c.setParams(e);a.setStarted();d.lastRequest=c;return c},createRequestCallback:function(d,a,e,b){var c=this;return function(h,f,g){delete c.lastRequest;c.processResponse(h,a,d,f,e,b)}},setException:function(b,a){b.setException(b.getRequest().getJsonP().errorType)},buildUrl:function(f){var h=this,a=h.callParent(arguments),e=Ext.apply({},f.getParams()),c=e.filters,d,b,g,j;delete e.filters;if(h.getAutoAppendParams()){a=Ext.urlAppend(a,Ext.Object.toQueryString(e))}if(c&&c.length){for(g=0;g1){this.endAnimationCounter=0;this.fireEvent("animationend",this)}},applyInAnimation:function(b,a){return Ext.factory(b,Ext.fx.Animation,a)},applyOutAnimation:function(b,a){return Ext.factory(b,Ext.fx.Animation,a)},updateInAnimation:function(a){a.setScope(this)},updateOutAnimation:function(a){a.setScope(this)},onActiveItemChange:function(a,e,h,i,d){var b=this.getInAnimation(),g=this.getOutAnimation(),f,c;if(e&&h&&h.isPainted()){f=e.renderElement;c=h.renderElement;b.setElement(f);g.setElement(c);g.setOnBeforeEnd(function(j,k){if(k||Ext.Animator.hasRunningAnimations(j)){d.firingArguments[1]=null;d.firingArguments[2]=null}});g.setOnEnd(function(){d.resume()});f.dom.style.setProperty("visibility","hidden","!important");e.show();Ext.Animator.run([g,b]);d.pause()}}});Ext.define("Ext.fx.layout.card.Cover",{extend:"Ext.fx.layout.card.Style",alias:"fx.layout.card.cover",config:{reverse:null,inAnimation:{before:{"z-index":100},after:{"z-index":0},type:"slide",easing:"ease-out"},outAnimation:{easing:"ease-out",from:{opacity:0.99},to:{opacity:1},out:true}},updateReverse:function(a){this.getInAnimation().setReverse(a);this.getOutAnimation().setReverse(a)}});Ext.define("Ext.fx.layout.card.Cube",{extend:"Ext.fx.layout.card.Style",alias:"fx.layout.card.cube",config:{reverse:null,inAnimation:{type:"cube"},outAnimation:{type:"cube",out:true}}});Ext.define("Ext.fx.layout.card.Fade",{extend:"Ext.fx.layout.card.Style",alias:"fx.layout.card.fade",config:{reverse:null,inAnimation:{type:"fade",easing:"ease-out"},outAnimation:{type:"fade",easing:"ease-out",out:true}}});Ext.define("Ext.fx.layout.card.Flip",{extend:"Ext.fx.layout.card.Style",alias:"fx.layout.card.flip",config:{duration:500,inAnimation:{type:"flip",half:true,easing:"ease-out",before:{"backface-visibility":"hidden"},after:{"backface-visibility":null}},outAnimation:{type:"flip",half:true,easing:"ease-in",before:{"backface-visibility":"hidden"},after:{"backface-visibility":null},out:true}},updateDuration:function(d){var c=d/2,b=this.getInAnimation(),a=this.getOutAnimation();b.setDelay(c);b.setDuration(c);a.setDuration(c)}});Ext.define("Ext.fx.layout.card.Pop",{extend:"Ext.fx.layout.card.Style",alias:"fx.layout.card.pop",config:{duration:500,inAnimation:{type:"pop",easing:"ease-out"},outAnimation:{type:"pop",easing:"ease-in",out:true}},updateDuration:function(d){var c=d/2,b=this.getInAnimation(),a=this.getOutAnimation();b.setDelay(c);b.setDuration(c);a.setDuration(c)}});Ext.define("Ext.fx.layout.card.Reveal",{extend:"Ext.fx.layout.card.Style",alias:"fx.layout.card.reveal",config:{inAnimation:{easing:"ease-out",from:{opacity:0.99},to:{opacity:1}},outAnimation:{before:{"z-index":100},after:{"z-index":0},type:"slide",easing:"ease-out",out:true}},updateReverse:function(a){this.getInAnimation().setReverse(a);this.getOutAnimation().setReverse(a)}});Ext.define("Ext.fx.layout.card.Slide",{extend:"Ext.fx.layout.card.Style",alias:"fx.layout.card.slide",config:{inAnimation:{type:"slide",easing:"ease-out"},outAnimation:{type:"slide",easing:"ease-out",out:true}},updateReverse:function(a){this.getInAnimation().setReverse(a);this.getOutAnimation().setReverse(a)}});Ext.define("Ext.fx.layout.Card",{requires:["Ext.fx.layout.card.Slide","Ext.fx.layout.card.Cover","Ext.fx.layout.card.Reveal","Ext.fx.layout.card.Fade","Ext.fx.layout.card.Flip","Ext.fx.layout.card.Pop","Ext.fx.layout.card.Scroll"],constructor:function(b){var a=Ext.fx.layout.card.Abstract,c;if(!b){return null}if(typeof b=="string"){c=b;b={}}else{if(b.type){c=b.type}}b.elementBox=false;if(c){if(Ext.os.is.Android2){if(c!="fade"){c="scroll"}}else{if(c==="slide"&&Ext.browser.is.ChromeMobile){c="scroll"}}a=Ext.ClassManager.getByAlias("fx.layout.card."+c)}return Ext.factory(b,a)}});Ext.define("Ext.fx.runner.Css",{extend:"Ext.Evented",requires:["Ext.fx.Animation"],prefixedProperties:{transform:true,"transform-origin":true,perspective:true,"transform-style":true,transition:true,"transition-property":true,"transition-duration":true,"transition-timing-function":true,"transition-delay":true,animation:true,"animation-name":true,"animation-duration":true,"animation-iteration-count":true,"animation-direction":true,"animation-timing-function":true,"animation-delay":true},lengthProperties:{top:true,right:true,bottom:true,left:true,width:true,height:true,"max-height":true,"max-width":true,"min-height":true,"min-width":true,"margin-bottom":true,"margin-left":true,"margin-right":true,"margin-top":true,"padding-bottom":true,"padding-left":true,"padding-right":true,"padding-top":true,"border-bottom-width":true,"border-left-width":true,"border-right-width":true,"border-spacing":true,"border-top-width":true,"border-width":true,"outline-width":true,"letter-spacing":true,"line-height":true,"text-indent":true,"word-spacing":true,"font-size":true,translate:true,translateX:true,translateY:true,translateZ:true,translate3d:true},durationProperties:{"transition-duration":true,"transition-delay":true,"animation-duration":true,"animation-delay":true},angleProperties:{rotate:true,rotateX:true,rotateY:true,rotateZ:true,skew:true,skewX:true,skewY:true},lengthUnitRegex:/([a-z%]*)$/,DEFAULT_UNIT_LENGTH:"px",DEFAULT_UNIT_ANGLE:"deg",DEFAULT_UNIT_DURATION:"ms",formattedNameCache:{},constructor:function(){var a=Ext.feature.has.Css3dTransforms;if(a){this.transformMethods=["translateX","translateY","translateZ","rotate","rotateX","rotateY","rotateZ","skewX","skewY","scaleX","scaleY","scaleZ"]}else{this.transformMethods=["translateX","translateY","rotate","skewX","skewY","scaleX","scaleY"]}this.vendorPrefix=Ext.browser.getStyleDashPrefix();this.ruleStylesCache={};return this},getStyleSheet:function(){var c=this.styleSheet,a,b;if(!c){a=document.createElement("style");a.type="text/css";(document.head||document.getElementsByTagName("head")[0]).appendChild(a);b=document.styleSheets;this.styleSheet=c=b[b.length-1]}return c},applyRules:function(i){var g=this.getStyleSheet(),k=this.ruleStylesCache,j=g.cssRules,c,e,h,b,d,a,f;for(c in i){e=i[c];h=k[c];if(h===undefined){d=j.length;g.insertRule(c+"{}",d);h=k[c]=j.item(d).style}b=h.$cache;if(!b){b=h.$cache={}}for(a in e){f=this.formatValue(e[a],a);a=this.formatName(a);if(b[a]!==f){b[a]=f;if(f===null){h.removeProperty(a)}else{h.setProperty(a,f,"important")}}}}return this},applyStyles:function(d){var g,c,f,b,a,e;for(g in d){c=document.getElementById(g);if(!c){return this}f=c.style;b=d[g];for(a in b){e=this.formatValue(b[a],a);a=this.formatName(a);if(e===null){f.removeProperty(a)}else{f.setProperty(a,e,"important")}}}return this},formatName:function(b){var a=this.formattedNameCache,c=a[b];if(!c){if(this.prefixedProperties[b]){c=this.vendorPrefix+b}else{c=b}a[b]=c}return c},formatValue:function(j,b){var g=typeof j,l=this.DEFAULT_UNIT_LENGTH,e,a,d,f,c,k,h;if(g=="string"){if(this.lengthProperties[b]){h=j.match(this.lengthUnitRegex)[1];if(h.length>0){}else{return j+l}}return j}else{if(g=="number"){if(j==0){return"0"}if(this.lengthProperties[b]){return j+l}if(this.angleProperties[b]){return j+this.DEFAULT_UNIT_ANGLE}if(this.durationProperties[b]){return j+this.DEFAULT_UNIT_DURATION}}else{if(b==="transform"){e=this.transformMethods;c=[];for(d=0,f=e.length;d0)?k.join(", "):"none"}}}}return j}});Ext.define("Ext.fx.runner.CssTransition",{extend:"Ext.fx.runner.Css",listenersAttached:false,constructor:function(){this.runningAnimationsData={};return this.callParent(arguments)},attachListeners:function(){this.listenersAttached=true;this.getEventDispatcher().addListener("element","*","transitionend","onTransitionEnd",this)},onTransitionEnd:function(b){var a=b.target,c=a.id;if(c&&this.runningAnimationsData.hasOwnProperty(c)){this.refreshRunningAnimationsData(Ext.get(a),[b.browserEvent.propertyName])}},onAnimationEnd:function(g,f,d,j,n){var c=g.getId(),k=this.runningAnimationsData[c],o={},m={},b,h,e,l,a;d.un("stop","onAnimationStop",this);if(k){b=k.nameMap}o[c]=m;if(f.onBeforeEnd){f.onBeforeEnd.call(f.scope||this,g,j)}d.fireEvent("animationbeforeend",d,g,j);this.fireEvent("animationbeforeend",this,d,g,j);if(n||(!j&&!f.preserveEndState)){h=f.toPropertyNames;for(e=0,l=h.length;e0},refreshRunningAnimationsData:function(d,k,t,p){var g=d.getId(),q=this.runningAnimationsData,a=q[g];if(!a){return}var m=a.nameMap,s=a.nameList,b=a.sessions,f,h,e,u,l,c,r,o,n=false;t=Boolean(t);p=Boolean(p);if(!b){return this}f=b.length;if(f===0){return this}if(p){a.nameMap={};s.length=0;for(l=0;l");d.close();this.testElement=c=d.createElement("div");c.style.setProperty("position","absolute","!important");d.body.appendChild(c);this.testElementComputedStyle=window.getComputedStyle(c)}return c},getCssStyleValue:function(b,e){var d=this.getTestElement(),a=this.testElementComputedStyle,c=d.style;c.setProperty(b,e);e=a.getPropertyValue(b);c.removeProperty(b);return e},run:function(p){var F=this,h=this.lengthProperties,x={},E={},G={},d,s,y,e,u,I,v,q,r,a,A,z,o,B,l,t,g,C,H,k,f,w,n,c,D,b,m;if(!this.listenersAttached){this.attachListeners()}p=Ext.Array.from(p);for(A=0,o=p.length;A0){this.refreshRunningAnimationsData(d,Ext.Array.merge(I,v),true,G.replacePrevious)}c=a.nameMap;D=a.nameList;t={};for(z=0;z0){I=Ext.Array.difference(D,I);v=Ext.Array.merge(I,v);y["transition-property"]=I}E[s]=e=Ext.Object.chain(e);e["transition-property"]=v;e["transition-duration"]=G.duration;e["transition-timing-function"]=G.easing;e["transition-delay"]=G.delay;B.startTime=Date.now()}r=this.$className;this.applyStyles(x);q=function(i){if(i.data===r&&i.source===window){window.removeEventListener("message",q,false);F.applyStyles(E)}};window.addEventListener("message",q,false);window.postMessage(r,"*")},onAnimationStop:function(d){var f=this.runningAnimationsData,h,a,g,b,c,e;for(h in f){if(f.hasOwnProperty(h)){a=f[h];g=a.sessions;for(b=0,c=g.length;b component"})},reapply:function(){this.container.innerElement.addCls(this.cls);this.updatePack(this.getPack());this.updateAlign(this.getAlign())},unapply:function(){this.container.innerElement.removeCls(this.cls);this.updatePack(null);this.updateAlign(null)},doItemAdd:function(d,b){this.callParent(arguments);if(d.isInnerItem()){var c=d.getConfig(this.sizePropertyName),a=d.config;if(!c&&("flex" in a)){this.setItemFlex(d,a.flex)}}},doItemRemove:function(a){if(a.isInnerItem()){this.setItemFlex(a,null)}this.callParent(arguments)},onItemSizeChange:function(a){this.setItemFlex(a,null)},doItemCenteredChange:function(b,a){if(a){this.setItemFlex(b,null)}this.callParent(arguments)},doItemFloatingChange:function(a,b){if(b){this.setItemFlex(a,null)}this.callParent(arguments)},doItemDockedChange:function(a,b){if(b){this.setItemFlex(a,null)}this.callParent(arguments)},redrawContainer:function(){var a=this.container,b=a.renderElement.dom.parentNode;if(b&&b.nodeType!==11){a.innerElement.redraw()}},setItemFlex:function(c,a){var b=c.element,d=this.flexItemCls;if(a){b.addCls(d)}else{if(b.hasCls(d)){this.redrawContainer();b.removeCls(d)}}b.dom.style.webkitBoxFlex=a},convertPosition:function(a){if(this.positionMap.hasOwnProperty(a)){return this.positionMap[a]}return a},applyAlign:function(a){return this.convertPosition(a)},updateAlign:function(a){this.container.innerElement.dom.style.webkitBoxAlign=a},applyPack:function(a){return this.convertPosition(a)},updatePack:function(a){this.container.innerElement.dom.style.webkitBoxPack=a}});Ext.define("Ext.layout.Fit",{extend:"Ext.layout.Default",alternateClassName:"Ext.layout.FitLayout",alias:"layout.fit",cls:Ext.baseCSSPrefix+"layout-fit",itemCls:Ext.baseCSSPrefix+"layout-fit-item",constructor:function(a){this.callParent(arguments);this.apply()},apply:function(){this.container.innerElement.addCls(this.cls)},reapply:function(){this.apply()},unapply:function(){this.container.innerElement.removeCls(this.cls)},doItemAdd:function(b,a){if(b.isInnerItem()){b.addCls(this.itemCls)}this.callParent(arguments)},doItemRemove:function(a){if(a.isInnerItem()){a.removeCls(this.itemCls)}this.callParent(arguments)}});Ext.define("Ext.layout.Card",{extend:"Ext.layout.Fit",alternateClassName:"Ext.layout.CardLayout",isCard:true,requires:["Ext.fx.layout.Card"],alias:"layout.card",cls:Ext.baseCSSPrefix+"layout-card",itemCls:Ext.baseCSSPrefix+"layout-card-item",constructor:function(){this.callParent(arguments);this.container.onInitialized(this.onContainerInitialized,this)},applyAnimation:function(a){return new Ext.fx.layout.Card(a)},updateAnimation:function(b,a){if(b&&b.isAnimation){b.setLayout(this)}if(a){a.destroy()}},doItemAdd:function(b,a){if(b.isInnerItem()){b.hide()}this.callParent(arguments)},getInnerItemsContainer:function(){var a=this.innerItemsContainer;if(!a){this.innerItemsContainer=a=Ext.Element.create({className:this.cls+"-container"});this.container.innerElement.append(a)}return a},doItemRemove:function(c,a,b){this.callParent(arguments);if(!b&&c.isInnerItem()){c.show()}},onContainerInitialized:function(a){var b=a.getActiveItem();if(b){b.show()}a.on("activeitemchange","onContainerActiveItemChange",this)},onContainerActiveItemChange:function(a){this.relayEvent(arguments,"doActiveItemChange")},doActiveItemChange:function(b,c,a){if(a){a.hide()}if(c){c.show()}},doItemDockedChange:function(b,c){var a=b.element;if(c){a.removeCls(this.itemCls)}else{a.addCls(this.itemCls)}this.callParent(arguments)}});Ext.define("Ext.layout.HBox",{extend:"Ext.layout.AbstractBox",alternateClassName:"Ext.layout.HBoxLayout",alias:"layout.hbox",sizePropertyName:"width",sizeChangeEventName:"widthchange",cls:Ext.baseCSSPrefix+"layout-hbox"});Ext.define("Ext.layout.VBox",{extend:"Ext.layout.AbstractBox",alternateClassName:"Ext.layout.VBoxLayout",alias:"layout.vbox",sizePropertyName:"height",sizeChangeEventName:"heightchange",cls:Ext.baseCSSPrefix+"layout-vbox"});Ext.define("Ext.layout.Layout",{requires:["Ext.layout.Fit","Ext.layout.Card","Ext.layout.HBox","Ext.layout.VBox"],constructor:function(a,b){var c=Ext.layout.Default,d,e;if(typeof b=="string"){d=b;b={}}else{if("type" in b){d=b.type}}if(d){c=Ext.ClassManager.getByAlias("layout."+d)}return new c(a,b)}});Ext.define("Ext.mixin.Sortable",{extend:"Ext.mixin.Mixin",requires:["Ext.util.Sorter"],mixinConfig:{id:"sortable"},config:{sorters:null,defaultSortDirection:"ASC",sortRoot:null},dirtySortFn:false,sortFn:null,sorted:false,applySorters:function(a,b){if(!b){b=this.createSortersCollection()}b.clear();this.sorted=false;if(a){this.addSorters(a)}return b},createSortersCollection:function(){this._sorters=Ext.create("Ext.util.Collection",function(a){return a.getId()});return this._sorters},addSorter:function(b,a){this.addSorters([b],a)},addSorters:function(c,a){var b=this.getSorters();return this.insertSorters(b?b.length:0,c,a)},insertSorter:function(a,c,b){return this.insertSorters(a,[c],b)},insertSorters:function(e,h,a){if(!Ext.isArray(h)){h=[h]}var f=h.length,j=a||this.getDefaultSortDirection(),c=this.getSortRoot(),k=this.getSorters(),l=[],g,b,m,d;if(!k){k=this.createSortersCollection()}for(b=0;b>1;f=d(e,b[c]);if(f>=0){h=c+1}else{if(f<0){a=c-1}}}return h}});Ext.define("Ext.util.AbstractMixedCollection",{requires:["Ext.util.Filter"],mixins:{observable:"Ext.mixin.Observable"},constructor:function(b,a){var c=this;c.items=[];c.map={};c.keys=[];c.length=0;c.allowFunctions=b===true;if(a){c.getKey=a}c.mixins.observable.constructor.call(c)},allowFunctions:false,add:function(b,e){var d=this,f=e,c=b,a;if(arguments.length==1){f=c;c=d.getKey(f)}if(typeof c!="undefined"&&c!==null){a=d.map[c];if(typeof a!="undefined"){return d.replace(c,f)}d.map[c]=f}d.length++;d.items.push(f);d.keys.push(c);d.fireEvent("add",d.length-1,f,c);return f},getKey:function(a){return a.id},replace:function(c,e){var d=this,a,b;if(arguments.length==1){e=arguments[0];c=d.getKey(e)}a=d.map[c];if(typeof c=="undefined"||c===null||typeof a=="undefined"){return d.add(c,e)}b=d.indexOfKey(c);d.items[b]=e;d.map[c]=e;d.fireEvent("replace",c,a,e);return e},addAll:function(f){var e=this,d=0,b,a,c;if(arguments.length>1||Ext.isArray(f)){b=arguments.length>1?arguments:f;for(a=b.length;d=d.length){return d.add(c,f)}d.length++;Ext.Array.splice(d.items,a,0,f);if(typeof c!="undefined"&&c!==null){d.map[c]=f}Ext.Array.splice(d.keys,a,0,c);d.fireEvent("add",a,f,c);return f},remove:function(a){return this.removeAt(this.indexOf(a))},removeAll:function(a){Ext.each(a||[],function(b){this.remove(b)},this);return this},removeAt:function(a){var c=this,d,b;if(a=0){c.length--;d=c.items[a];Ext.Array.erase(c.items,a,1);b=c.keys[a];if(typeof b!="undefined"){delete c.map[b]}Ext.Array.erase(c.keys,a,1);c.fireEvent("remove",d,b);return d}return false},removeAtKey:function(a){return this.removeAt(this.indexOfKey(a))},getCount:function(){return this.length},indexOf:function(a){return Ext.Array.indexOf(this.items,a)},indexOfKey:function(a){return Ext.Array.indexOf(this.keys,a)},get:function(b){var d=this,a=d.map[b],c=a!==undefined?a:(typeof b=="number")?d.items[b]:undefined;return typeof c!="function"||d.allowFunctions?c:null},getAt:function(a){return this.items[a]},getByKey:function(a){return this.map[a]},contains:function(a){return Ext.Array.contains(this.items,a)},containsKey:function(a){return typeof this.map[a]!="undefined"},clear:function(){var a=this;a.length=0;a.items=[];a.keys=[];a.map={};a.fireEvent("clear")},first:function(){return this.items[0]},last:function(){return this.items[this.length-1]},sum:function(g,b,h,a){var c=this.extractValues(g,b),f=c.length,e=0,d;h=h||0;a=(a||a===0)?a:f-1;for(d=h;d<=a;d++){e+=c[d]}return e},collect:function(j,e,g){var k=this.extractValues(j,e),a=k.length,b={},c=[],h,f,d;for(d=0;d=a;d--){b[b.length]=c[d]}}return b},filter:function(d,c,f,a){var b=[],e;if(Ext.isString(d)){b.push(Ext.create("Ext.util.Filter",{property:d,value:c,anyMatch:f,caseSensitive:a}))}else{if(Ext.isArray(d)||d instanceof Ext.util.Filter){b=b.concat(d)}}e=function(g){var m=true,n=b.length,h;for(h=0;h=e.length||(a&&e.getAutoSort())){return e.add(d,f)}if(typeof d!="undefined"&&d!==null){if(typeof g[d]!="undefined"){e.replace(d,f);return false}g[d]=f}this.all.push(f);if(b&&this.getAutoFilter()&&this.mixins.filterable.isFiltered.call(e,f)){return null}e.length++;Ext.Array.splice(e.items,c,0,f);Ext.Array.splice(e.keys,c,0,d);e.dirtyIndices=true;return f},insertAll:function(g,d){if(g>=this.items.length||(this.sorted&&this.getAutoSort())){return this.addAll(d)}var s=this,h=this.filtered,a=this.sorted,b=this.all,m=this.items,l=this.keys,r=this.map,n=this.getAutoFilter(),o=this.getAutoSort(),t=[],j=[],f=[],c=this.mixins.filterable,e=false,k,u,p,q;if(a&&this.getAutoSort()){}if(Ext.isObject(d)){for(u in d){if(d.hasOwnProperty(u)){j.push(m[u]);t.push(u)}}}else{j=d;k=d.length;for(p=0;p=0){e=a[b];c=f[b];if(typeof c!="undefined"){delete g.map[c]}Ext.Array.erase(a,b,1);Ext.Array.erase(f,b,1);Ext.Array.remove(d,e);delete g.indices[c];g.length--;this.dirtyIndices=true;return e}return false},removeAtKey:function(a){return this.removeAt(this.indexOfKey(a))},getCount:function(){return this.length},indexOf:function(b){if(this.dirtyIndices){this.updateIndices()}var a=this.indices[this.getKey(b)];return(a===undefined)?-1:a},indexOfKey:function(b){if(this.dirtyIndices){this.updateIndices()}var a=this.indices[b];return(a===undefined)?-1:a},updateIndices:function(){var a=this.items,e=a.length,f=this.indices={},c,d,b;for(c=0;c=a;d--){b[b.length]=c[d]}}return b},findIndexBy:function(d,c,h){var g=this,f=g.keys,a=g.items,b=h||0,e=a.length;for(;b1){for(c=a.length;ba){if(d){var e=c.substr(0,a-2),b=Math.max(e.lastIndexOf(" "),e.lastIndexOf("."),e.lastIndexOf("!"),e.lastIndexOf("?"));if(b!=-1&&b>=(a-15)){return e.substr(0,b)+"..."}}return c.substr(0,a-3)+"..."}return c},escapeRegex:function(a){return a.replace(Ext.util.Format.escapeRegexRe,"\\$1")},escape:function(a){return a.replace(Ext.util.Format.escapeRe,"\\$1")},toggle:function(b,c,a){return b==c?a:c},trim:function(a){return a.replace(Ext.util.Format.trimRe,"")},leftPad:function(d,b,c){var a=String(d);c=c||" ";while(a.length/g,">").replace(/").replace(/</g,"<").replace(/"/g,'"').replace(/&/g,"&")},date:function(b,c){var a=b;if(!b){return""}if(!Ext.isDate(b)){a=new Date(Date.parse(b));if(isNaN(a)){if(this.iso8601TestRe.test(b)){a=b.split(this.iso8601SplitRe);a=new Date(a[0],a[1]-1,a[2],a[3],a[4],a[5])}if(isNaN(a)){a=new Date(Date.parse(b.replace(this.dashesRe,"/")))}}b=a}return Ext.Date.format(b,c||Ext.util.Format.defaultDateFormat)}});Ext.define("Ext.Template",{requires:["Ext.dom.Helper","Ext.util.Format"],inheritableStatics:{from:function(b,a){b=Ext.getDom(b);return new this(b.value||b.innerHTML,a||"")}},constructor:function(d){var f=this,b=arguments,a=[],c=0,e=b.length,g;f.initialConfig={};if(e>1){for(;cf)?1:((ba?1:(d0},isExpandable:function(){var a=this;if(a.get("expandable")){return !(a.isLeaf()||(a.isLoaded()&&!a.hasChildNodes()))}return false},appendChild:function(b,j,h){var f=this,c,e,d,g,a;if(Ext.isArray(b)){for(c=0,e=b.length;c0){Ext.Array.sort(d,f);for(c=0;cMath.max(c,b)||jMath.max(a,q)||eMath.max(p,n)||eMath.max(k,h)){return null}return new Ext.util.Point(j,e)},toString:function(){return this.point1.toString()+" "+this.point2.toString()}});Ext.define("Ext.util.SizeMonitor",{extend:"Ext.Evented",config:{element:null,detectorCls:Ext.baseCSSPrefix+"size-change-detector",callback:Ext.emptyFn,scope:null,args:[]},constructor:function(d){this.initConfig(d);this.doFireSizeChangeEvent=Ext.Function.bind(this.doFireSizeChangeEvent,this);var g=this,e=this.getElement().dom,b=this.getDetectorCls(),c=Ext.Element.create({classList:[b,b+"-expand"],children:[{}]},true),h=Ext.Element.create({classList:[b,b+"-shrink"],children:[{}]},true),a=function(i){g.onDetectorScroll("expand",i)},f=function(i){g.onDetectorScroll("shrink",i)};e.appendChild(c);e.appendChild(h);this.detectors={expand:c,shrink:h};this.position={expand:{left:0,top:0},shrink:{left:0,top:0}};this.listeners={expand:a,shrink:f};this.refresh();c.addEventListener("scroll",a,true);h.addEventListener("scroll",f,true)},applyElement:function(a){if(a){return Ext.get(a)}},updateElement:function(a){a.on("destroy","destroy",this)},refreshPosition:function(b){var e=this.detectors[b],a=this.position[b],d,c;a.left=d=e.scrollWidth-e.offsetWidth;a.top=c=e.scrollHeight-e.offsetHeight;e.scrollLeft=d;e.scrollTop=c},refresh:function(){this.refreshPosition("expand");this.refreshPosition("shrink")},onDetectorScroll:function(b){var c=this.detectors[b],a=this.position[b];if(c.scrollLeft!==a.left||c.scrollTop!==a.top){this.refresh();this.fireSizeChangeEvent()}},fireSizeChangeEvent:function(){clearTimeout(this.sizeChangeThrottleTimer);this.sizeChangeThrottleTimer=setTimeout(this.doFireSizeChangeEvent,1)},doFireSizeChangeEvent:function(){this.getCallback().apply(this.getScope(),this.getArgs())},destroyDetector:function(a){var c=this.detectors[a],b=this.listeners[a];c.removeEventListener("scroll",b,true);Ext.removeNode(c)},destroy:function(){this.callParent(arguments);this.destroyDetector("expand");this.destroyDetector("shrink");delete this.listeners;delete this.detectors}});Ext.define("Ext.event.publisher.ComponentSize",{extend:"Ext.event.publisher.Publisher",requires:["Ext.ComponentManager","Ext.util.SizeMonitor"],targetType:"component",handledEvents:["resize"],constructor:function(){this.callParent(arguments);this.sizeMonitors={}},subscribe:function(g){var c=g.match(this.idSelectorRegex),f=this.subscribers,a=this.sizeMonitors,d=this.dispatcher,e=this.targetType,b;if(!c){return false}if(!f.hasOwnProperty(g)){f[g]=0;d.addListener(e,g,"painted","onComponentPainted",this,null,"before");b=Ext.ComponentManager.get(c[1]);a[g]=new Ext.util.SizeMonitor({element:b.element,callback:this.onComponentSizeChange,scope:this,args:[this,g]})}f[g]++;return true},unsubscribe:function(h,b,e){var c=h.match(this.idSelectorRegex),g=this.subscribers,d=this.dispatcher,f=this.targetType,a=this.sizeMonitors;if(!c){return false}if(!g.hasOwnProperty(h)||(!e&&--g[h]>0)){return true}a[h].destroy();delete a[h];d.removeListener(f,h,"painted","onComponentPainted",this,"before");delete g[h];return true},onComponentPainted:function(b){var c=b.getObservableId(),a=this.sizeMonitors[c];a.refresh()},onComponentSizeChange:function(a,b){this.dispatcher.doDispatchEvent(this.targetType,b,"resize",[a])}});Ext.define("Ext.util.Sortable",{isSortable:true,defaultSortDirection:"ASC",requires:["Ext.util.Sorter"],initSortable:function(){var a=this,b=a.sorters;a.sorters=Ext.create("Ext.util.AbstractMixedCollection",false,function(c){return c.id||c.property});if(b){a.sorters.addAll(a.decodeSorters(b))}},sort:function(g,f,c,e){var d=this,h,b,a;if(Ext.isArray(g)){e=c;c=f;a=g}else{if(Ext.isObject(g)){e=c;c=f;a=[g]}else{if(Ext.isString(g)){h=d.sorters.get(g);if(!h){h={property:g,direction:f};a=[h]}else{if(f===undefined){h.toggle()}else{h.setDirection(f)}}}}}if(a&&a.length){a=d.decodeSorters(a);if(Ext.isString(c)){if(c==="prepend"){g=d.sorters.clone().items;d.sorters.clear();d.sorters.addAll(a);d.sorters.addAll(g)}else{d.sorters.addAll(a)}}else{d.sorters.clear();d.sorters.addAll(a)}if(e!==false){d.onBeforeSort(a)}}if(e!==false){g=d.sorters.items;if(g.length){b=function(l,k){var j=g[0].sort(l,k),n=g.length,m;for(m=1;me?1:(f0){g=f.data.items;r=g.length;for(k=0;k0){b.create=e;f=true}if(c.length>0){b.update=c;f=true}if(a.length>0){b.destroy=a;f=true}if(f&&d.fireEvent("beforesync",this,b)!==false){d.getProxy().batch({operations:b,listeners:d.getBatchListeners()})}return{added:e,updated:c,removed:a}},first:function(){return this.data.first()},last:function(){return this.data.last()},sum:function(e){var d=0,c=0,b=this.data.items,a=b.length;for(;c0){c=b[0].get(f)}for(;d0){a=c[0].get(f)}for(;da){a=e}}return a},average:function(e){var c=0,b=this.data.items,a=b.length,d=0;if(b.length>0){for(;ce){return 1}else{if(fa.data.index)?1:-1},applyFilters:function(b){var a=this;return function(c){return a.isVisible(c)}},applyProxy:function(a){},applyNode:function(a){if(a){a=Ext.data.NodeInterface.decorate(a)}return a},updateNode:function(a,c){if(c&&!c.isDestroyed){c.un({append:"onNodeAppend",insert:"onNodeInsert",remove:"onNodeRemove",load:"onNodeLoad",scope:this});c.unjoin(this)}if(a){a.on({scope:this,append:"onNodeAppend",insert:"onNodeInsert",remove:"onNodeRemove",load:"onNodeLoad"});a.join(this);var b=[];if(a.childNodes.length){b=b.concat(this.retrieveChildNodes(a))}if(this.getRootVisible()){b.push(a)}else{if(a.isLoaded()||a.isLoading()){a.set("expanded",true)}}this.data.clear();this.fireEvent("clear",this);this.suspendEvents();this.add(b);this.resumeEvents();this.fireEvent("refresh",this,this.data)}},retrieveChildNodes:function(a){var d=this.getNode(),b=this.getRecursive(),c=[],e=a;if(!a.childNodes.length||(!b&&a!==d)){return c}if(!b){return a.childNodes}while(e){if(e._added){delete e._added;if(e===a){break}else{e=e.nextSibling||e.parentNode}}else{if(e!==a){c.push(e)}if(e.firstChild){e._added=true;e=e.firstChild}else{e=e.nextSibling||e.parentNode}}}return c},isVisible:function(b){var a=b.parentNode;if(!this.getRecursive()&&a!==this.getNode()){return false}while(a){if(!a.isExpanded()){return false}if(a===this.getNode()){break}a=a.parentNode}return true}});Ext.define("Ext.data.TreeStore",{extend:"Ext.data.NodeStore",alias:"store.tree",config:{root:undefined,clearOnLoad:true,nodeParam:"node",defaultRootId:"root",defaultRootProperty:"children",recursive:true},applyProxy:function(){return Ext.data.Store.prototype.applyProxy.apply(this,arguments)},applyRoot:function(a){var b=this;a=a||{};a=Ext.apply({},a);if(!a.isModel){Ext.applyIf(a,{id:b.getStoreId()+"-"+b.getDefaultRootId(),text:"Root",allowDrag:false});a=Ext.data.ModelManager.create(a,b.getModel())}Ext.data.NodeInterface.decorate(a);a.set(a.raw);return a},handleTreeInsertionIndex:function(a,b,d,c){if(b.parentNode){b.parentNode.sort(d.getSortFn(),true,true)}return this.callParent(arguments)},handleTreeSort:function(a,b){if(this._sorting){return a}this._sorting=true;this.getNode().sort(b.getSortFn(),true,true);delete this._sorting;return this.callParent(arguments)},updateRoot:function(a,b){if(b){b.unBefore({expand:"onNodeBeforeExpand",scope:this});b.unjoin(this)}a.onBefore({expand:"onNodeBeforeExpand",scope:this});this.onNodeAppend(null,a);this.setNode(a);if(!a.isLoaded()&&!a.isLoading()&&a.isExpanded()){this.load({node:a})}this.fireEvent("rootchange",this,a,b)},getNodeById:function(a){return this.data.getByKey(a)},onNodeBeforeExpand:function(b,a,c){if(b.isLoading()){c.pause();this.on("load",function(){c.resume()},this,{single:true})}else{if(!b.isLoaded()){c.pause();this.load({node:b,callback:function(){c.resume()}})}}},onNodeAppend:function(n,c){var l=this.getProxy(),j=l.getReader(),b=this.getModel(),g=c.raw,d=[],a=j.getRootProperty(),m,h,f,k,e;if(!c.isLeaf()){m=j.getRoot(g);if(m){h=j.extractData(m);for(f=0,k=h.length;f0){this.sendRequest(b==1?a[0]:a);this.callBuffer=[]}}});Ext.define("Ext.util.TapRepeater",{requires:["Ext.DateExtras"],mixins:{observable:"Ext.mixin.Observable"},config:{el:null,accelerate:true,interval:10,delay:250,preventDefault:true,stopDefault:false,timer:0,pressCls:null},constructor:function(a){var b=this;b.initConfig(a)},updateEl:function(c,b){var a={touchstart:"onTouchStart",touchend:"onTouchEnd",tap:"eventOptions",scope:this};if(b){b.un(a)}c.on(a)},eventOptions:function(a){if(this.getPreventDefault()){a.preventDefault()}if(this.getStopDefault()){a.stopEvent()}},destroy:function(){this.clearListeners();Ext.destroy(this.el)},onTouchStart:function(c){var b=this,a=b.getPressCls();clearTimeout(b.getTimer());if(a){b.getEl().addCls(a)}b.tapStartTime=new Date();b.fireEvent("touchstart",b,c);b.fireEvent("tap",b,c);if(b.getAccelerate()){b.delay=400}b.setTimer(Ext.defer(b.tap,b.getDelay()||b.getInterval(),b,[c]))},tap:function(b){var a=this;a.fireEvent("tap",a,b);a.setTimer(Ext.defer(a.tap,a.getAccelerate()?a.easeOutExpo(Ext.Date.getElapsed(a.tapStartTime),400,-390,12000):a.getInterval(),a,[b]))},easeOutExpo:function(e,a,g,f){return(e==f)?a+g:g*(-Math.pow(2,-10*e/f)+1)+a},onTouchEnd:function(b){var a=this;clearTimeout(a.getTimer());a.getEl().removeCls(a.getPressCls());a.fireEvent("touchend",a,b)}});Ext.define("Ext.util.translatable.Abstract",{extend:"Ext.Evented",requires:["Ext.fx.easing.Linear"],config:{element:null,easing:null,easingX:null,easingY:null,fps:60},constructor:function(a){var b;this.doAnimationFrame=Ext.Function.bind(this.doAnimationFrame,this);this.x=0;this.y=0;this.activeEasingX=null;this.activeEasingY=null;this.initialConfig=a;if(a&&a.element){b=a.element;this.setElement(b)}},applyElement:function(a){if(!a){return}return Ext.get(a)},updateElement:function(a){this.initConfig(this.initialConfig);this.refresh()},factoryEasing:function(a){return Ext.factory(a,Ext.fx.easing.Linear,null,"easing")},applyEasing:function(a){if(!this.getEasingX()){this.setEasingX(this.factoryEasing(a))}if(!this.getEasingY()){this.setEasingY(this.factoryEasing(a))}},applyEasingX:function(a){return this.factoryEasing(a)},applyEasingY:function(a){return this.factoryEasing(a)},updateFps:function(a){this.animationInterval=1000/a},doTranslate:function(a,b){if(typeof a=="number"){this.x=a}if(typeof b=="number"){this.y=b}return this},translate:function(a,c,b){if(!this.getElement().dom){return}if(Ext.isObject(a)){throw new Error()}this.stopAnimation();if(b){return this.translateAnimated(a,c,b)}return this.doTranslate(a,c)},animate:function(b,a){this.activeEasingX=b;this.activeEasingY=a;this.isAnimating=true;this.animationTimer=setInterval(this.doAnimationFrame,this.animationInterval);this.fireEvent("animationstart",this,this.x,this.y);return this},translateAnimated:function(b,g,e){if(Ext.isObject(b)){throw new Error()}if(!Ext.isObject(e)){e={}}var d=Ext.Date.now(),f=e.easing,c=(typeof b=="number")?(e.easingX||this.getEasingX()||f||true):null,a=(typeof g=="number")?(e.easingY||this.getEasingY()||f||true):null;if(c){c=this.factoryEasing(c);c.setStartTime(d);c.setStartValue(this.x);c.setEndValue(b);if("duration" in e){c.setDuration(e.duration)}}if(a){a=this.factoryEasing(a);a.setStartTime(d);a.setStartValue(this.y);a.setEndValue(g);if("duration" in e){a.setDuration(e.duration)}}return this.animate(c,a)},doAnimationFrame:function(){var c=this.activeEasingX,b=this.activeEasingY,d=this.getElement(),a,e;if(!this.isAnimating||!d.dom){return}if(c===null&&b===null){this.stopAnimation();return}if(c!==null){this.x=a=Math.round(c.getValue());if(c.isEnded){this.activeEasingX=null;this.fireEvent("axisanimationend",this,"x",a)}}else{a=this.x}if(b!==null){this.y=e=Math.round(b.getValue());if(b.isEnded){this.activeEasingY=null;this.fireEvent("axisanimationend",this,"y",e)}}else{e=this.y}this.doTranslate(a,e);this.fireEvent("animationframe",this,a,e)},stopAnimation:function(){if(!this.isAnimating){return}this.activeEasingX=null;this.activeEasingY=null;this.isAnimating=false;clearInterval(this.animationTimer);this.fireEvent("animationend",this,this.x,this.y)},refresh:function(){this.translate(this.x,this.y)}});Ext.define("Ext.util.translatable.CssTransform",{extend:"Ext.util.translatable.Abstract",doTranslate:function(a,c){var b=this.getElement().dom.style;if(typeof a!="number"){a=this.x}if(typeof c!="number"){c=this.y}b.webkitTransform="translate3d("+a+"px, "+c+"px, 0px)";return this.callParent(arguments)},destroy:function(){var a=this.getElement();if(a&&!a.isDestroyed){a.dom.style.webkitTransform=null}this.callParent(arguments)}});Ext.define("Ext.util.translatable.ScrollPosition",{extend:"Ext.util.translatable.Abstract",wrapperWidth:0,wrapperHeight:0,baseCls:"x-translatable",config:{useWrapper:true},getWrapper:function(){var e=this.wrapper,c=this.baseCls,b=this.getElement(),d,a;if(!e){a=b.getParent();if(!a){return null}if(this.getUseWrapper()){e=b.wrap({className:c+"-wrapper"},true)}else{e=a.dom}e.appendChild(Ext.Element.create({className:c+"-stretcher"},true));this.nestedStretcher=d=Ext.Element.create({className:c+"-nested-stretcher"},true);b.appendChild(d);b.addCls(c);a.addCls(c+"-container");this.container=a;this.wrapper=e;this.refresh()}return e},doTranslate:function(a,c){var b=this.getWrapper();if(b){if(typeof a=="number"){b.scrollLeft=this.wrapperWidth-a}if(typeof c=="number"){b.scrollTop=this.wrapperHeight-c}}return this.callParent(arguments)},refresh:function(){var a=this.getWrapper();if(a){this.wrapperWidth=a.offsetWidth;this.wrapperHeight=a.offsetHeight;this.callParent(arguments)}},destroy:function(){var b=this.getElement(),a=this.baseCls;if(this.wrapper){if(this.getUseWrapper()){b.unwrap()}this.container.removeCls(a+"-container");b.removeCls(a);b.removeChild(this.nestedStretcher)}this.callParent(arguments)}});Ext.define("Ext.util.Translatable",{requires:["Ext.util.translatable.CssTransform","Ext.util.translatable.ScrollPosition"],constructor:function(a){var c=Ext.util.translatable,e=c.CssTransform,d=c.ScrollPosition,b;if(typeof a=="object"&&"translationMethod" in a){if(a.translationMethod==="scrollposition"){b=d}else{if(a.translationMethod==="csstransform"){b=e}}}if(!b){if(Ext.os.is.Android2||Ext.browser.is.ChromeMobile){b=d}else{b=e}}return new b(a)}});Ext.define("Ext.behavior.Translatable",{extend:"Ext.behavior.Behavior",requires:["Ext.util.Translatable"],constructor:function(){this.listeners={painted:"onComponentPainted",scope:this};this.callParent(arguments)},onComponentPainted:function(){this.translatable.refresh()},setConfig:function(c){var a=this.translatable,b=this.component;if(c){if(!a){this.translatable=a=new Ext.util.Translatable(c);a.setElement(b.renderElement);a.on("destroy","onTranslatableDestroy",this);if(b.isPainted()){this.onComponentPainted(b)}b.on(this.listeners)}else{if(Ext.isObject(c)){a.setConfig(c)}}}else{if(a){a.destroy()}}return this},getTranslatable:function(){return this.translatable},onTranslatableDestroy:function(){var a=this.component;delete this.translatable;a.un(this.listeners)},onComponentDestroy:function(){var a=this.translatable;if(a){a.destroy()}}});Ext.define("Ext.scroll.Scroller",{extend:"Ext.Evented",requires:["Ext.fx.easing.BoundMomentum","Ext.fx.easing.EaseOut","Ext.util.SizeMonitor","Ext.util.Translatable"],config:{element:null,direction:"auto",translationMethod:"auto",fps:"auto",disabled:null,directionLock:false,momentumEasing:{momentum:{acceleration:30,friction:0.5},bounce:{acceleration:30,springTension:0.3},minVelocity:1},bounceEasing:{duration:400},outOfBoundRestrictFactor:0.5,startMomentumResetTime:300,maxAbsoluteVelocity:6,containerSize:"auto",containerScrollSize:"auto",size:"auto",autoRefresh:true,initialOffset:{x:0,y:0},slotSnapSize:{x:0,y:0},slotSnapOffset:{x:0,y:0},slotSnapEasing:{duration:150}},cls:Ext.baseCSSPrefix+"scroll-scroller",containerCls:Ext.baseCSSPrefix+"scroll-container",dragStartTime:0,dragEndTime:0,isDragging:false,isAnimating:false,constructor:function(a){var b=a&&a.element;this.doAnimationFrame=Ext.Function.bind(this.doAnimationFrame,this);this.stopAnimation=Ext.Function.bind(this.stopAnimation,this);this.listeners={scope:this,touchstart:"onTouchStart",touchend:"onTouchEnd",dragstart:"onDragStart",drag:"onDrag",dragend:"onDragEnd"};this.minPosition={x:0,y:0};this.startPosition={x:0,y:0};this.size={x:0,y:0};this.position={x:0,y:0};this.velocity={x:0,y:0};this.isAxisEnabledFlags={x:false,y:false};this.flickStartPosition={x:0,y:0};this.flickStartTime={x:0,y:0};this.lastDragPosition={x:0,y:0};this.dragDirection={x:0,y:0};this.initialConfig=a;if(b){this.setElement(b)}return this},applyElement:function(a){if(!a){return}return Ext.get(a)},updateElement:function(a){this.initialize();a.addCls(this.cls);if(!this.getDisabled()){this.attachListeneners()}this.onConfigUpdate(["containerSize","size"],"refreshMaxPosition");this.on("maxpositionchange","snapToBoundary");this.on("minpositionchange","snapToBoundary");return this},getTranslatable:function(){if(!this.hasOwnProperty("translatable")){var a=this.getBounceEasing();this.translatable=new Ext.util.Translatable({translationMethod:this.getTranslationMethod(),element:this.getElement(),easingX:a.x,easingY:a.y,useWrapper:false,listeners:{animationframe:"onAnimationFrame",animationend:"onAnimationEnd",axisanimationend:"onAxisAnimationEnd",scope:this}})}return this.translatable},updateFps:function(a){if(a!=="auto"){this.getTranslatable().setFps(a)}},attachListeneners:function(){this.getContainer().on(this.listeners)},detachListeners:function(){this.getContainer().un(this.listeners)},updateDisabled:function(a){if(a){this.detachListeners()}else{this.attachListeneners()}},updateInitialOffset:function(c){if(typeof c=="number"){c={x:c,y:c}}var b=this.position,a,d;b.x=a=c.x;b.y=d=c.y;this.getTranslatable().doTranslate(-a,-d)},applyDirection:function(a){var e=this.getMinPosition(),d=this.getMaxPosition(),c,b;this.givenDirection=a;if(a==="auto"){c=d.x>e.x;b=d.y>e.y;if(c&&b){a="both"}else{if(c){a="horizontal"}else{a="vertical"}}}return a},updateDirection:function(b){var a=this.isAxisEnabledFlags;a.x=(b==="both"||b==="horizontal");a.y=(b==="both"||b==="vertical")},isAxisEnabled:function(a){this.getDirection();return this.isAxisEnabledFlags[a]},applyMomentumEasing:function(b){var a=Ext.fx.easing.BoundMomentum;return{x:Ext.factory(b,a),y:Ext.factory(b,a)}},applyBounceEasing:function(b){var a=Ext.fx.easing.EaseOut;return{x:Ext.factory(b,a),y:Ext.factory(b,a)}},applySlotSnapEasing:function(b){var a=Ext.fx.easing.EaseOut;return{x:Ext.factory(b,a),y:Ext.factory(b,a)}},getMinPosition:function(){var a=this.minPosition;if(!a){this.minPosition=a={x:0,y:0};this.fireEvent("minpositionchange",this,a)}return a},getMaxPosition:function(){var c=this.maxPosition,a,b;if(!c){a=this.getSize();b=this.getContainerSize();this.maxPosition=c={x:Math.max(0,a.x-b.x),y:Math.max(0,a.y-b.y)};this.fireEvent("maxpositionchange",this,c)}return c},refreshMaxPosition:function(){this.maxPosition=null;this.getMaxPosition()},applyContainerSize:function(b){var c=this.getContainer().dom,a,d;if(!c){return}this.givenContainerSize=b;if(b==="auto"){a=c.offsetWidth;d=c.offsetHeight}else{a=b.x;d=b.y}return{x:a,y:d}},applySize:function(b){var c=this.getElement().dom,a,d;if(!c){return}this.givenSize=b;if(b==="auto"){a=c.offsetWidth;d=c.offsetHeight}else{a=b.x;d=b.y}return{x:a,y:d}},applyContainerScrollSize:function(b){var c=this.getContainer().dom,a,d;if(!c){return}this.givenContainerScrollSize=b;if(b==="auto"){a=c.scrollWidth;d=c.scrollHeight}else{a=b.x;d=b.y}return{x:a,y:d}},updateAutoRefresh:function(b){var c=Ext.util.SizeMonitor,a;if(b){this.sizeMonitors={element:new c({element:this.getElement(),callback:this.doRefresh,scope:this}),container:new c({element:this.getContainer(),callback:this.doRefresh,scope:this})}}else{a=this.sizeMonitors;if(a){a.element.destroy();a.container.destroy()}}},applySlotSnapSize:function(a){if(typeof a=="number"){return{x:a,y:a}}return a},applySlotSnapOffset:function(a){if(typeof a=="number"){return{x:a,y:a}}return a},getContainer:function(){var a=this.container;if(!a){this.container=a=this.getElement().getParent();a.addCls(this.containerCls)}return a},doRefresh:function(){this.stopAnimation();this.getTranslatable().refresh();this.setSize(this.givenSize);this.setContainerSize(this.givenContainerSize);this.setContainerScrollSize(this.givenContainerScrollSize);this.setDirection(this.givenDirection);this.fireEvent("refresh",this)},refresh:function(){var a=this.sizeMonitors;if(a){a.element.refresh();a.container.refresh()}this.doRefresh();return this},scrollTo:function(c,h,g){var b=this.getTranslatable(),a=this.position,d=false,f,e;if(this.isAxisEnabled("x")){if(typeof c!="number"){c=a.x}else{if(a.x!==c){a.x=c;d=true}}f=-c}if(this.isAxisEnabled("y")){if(typeof h!="number"){h=a.y}else{if(a.y!==h){a.y=h;d=true}}e=-h}if(d){if(g!==undefined){b.translateAnimated(f,e,g)}else{this.fireEvent("scroll",this,a.x,a.y);b.doTranslate(f,e)}}return this},scrollToTop:function(b){var a=this.getInitialOffset();return this.scrollTo(a.x,a.y,b)},scrollToEnd:function(a){return this.scrollTo(0,this.getSize().y-this.getContainerSize().y,a)},scrollBy:function(b,d,c){var a=this.position;b=(typeof b=="number")?b+a.x:null;d=(typeof d=="number")?d+a.y:null;return this.scrollTo(b,d,c)},onTouchStart:function(){this.isTouching=true;this.stopAnimation()},onTouchEnd:function(){var a=this.position;this.isTouching=false;if(!this.isDragging&&this.snapToSlot()){this.fireEvent("scrollstart",this,a.x,a.y)}},onDragStart:function(l){var o=this.getDirection(),g=l.absDeltaX,f=l.absDeltaY,j=this.getDirectionLock(),i=this.startPosition,d=this.flickStartPosition,k=this.flickStartTime,h=this.lastDragPosition,c=this.position,b=this.dragDirection,n=c.x,m=c.y,a=Ext.Date.now();this.isDragging=true;if(j&&o!=="both"){if((o==="horizontal"&&g>f)||(o==="vertical"&&f>g)){l.stopPropagation()}else{this.isDragging=false;return}}h.x=n;h.y=m;d.x=n;d.y=m;i.x=n;i.y=m;k.x=a;k.y=a;b.x=0;b.y=0;this.dragStartTime=a;this.isDragging=true;this.fireEvent("scrollstart",this,n,m)},onAxisDrag:function(i,q){if(!this.isAxisEnabled(i)){return}var h=this.flickStartPosition,l=this.flickStartTime,j=this.lastDragPosition,e=this.dragDirection,g=this.position[i],k=this.getMinPosition()[i],o=this.getMaxPosition()[i],d=this.startPosition[i],p=j[i],n=d-q,c=e[i],m=this.getOutOfBoundRestrictFactor(),f=this.getStartMomentumResetTime(),b=Ext.Date.now(),a;if(no){a=n-o;n=o+a*m}}if(n>p){e[i]=1}else{if(nf){h[i]=g;l[i]=b}j[i]=n},onDrag:function(b){if(!this.isDragging){return}var a=this.lastDragPosition;this.onAxisDrag("x",b.deltaX);this.onAxisDrag("y",b.deltaY);this.scrollTo(a.x,a.y)},onDragEnd:function(c){var b,a;if(!this.isDragging){return}this.dragEndTime=Ext.Date.now();this.onDrag(c);this.isDragging=false;b=this.getAnimationEasing("x");a=this.getAnimationEasing("y");if(b||a){this.getTranslatable().animate(b,a)}else{this.onScrollEnd()}},getAnimationEasing:function(g){if(!this.isAxisEnabled(g)){return null}var e=this.position[g],f=this.flickStartPosition[g],k=this.flickStartTime[g],c=this.getMinPosition()[g],j=this.getMaxPosition()[g],a=this.getMaxAbsoluteVelocity(),d=null,b=this.dragEndTime,l,i,h;if(ej){d=j}}if(d!==null){l=this.getBounceEasing()[g];l.setConfig({startTime:b,startValue:-e,endValue:-d});return l}h=b-k;if(h===0){return null}i=(e-f)/(b-k);if(i===0){return null}if(i<-a){i=-a}else{if(i>a){i=a}}l=this.getMomentumEasing()[g];l.setConfig({startTime:b,startValue:-e,startVelocity:-i,minMomentumValue:-j,maxMomentumValue:0});return l},onAnimationFrame:function(c,b,d){var a=this.position;a.x=-b;a.y=-d;this.fireEvent("scroll",this,a.x,a.y)},onAxisAnimationEnd:function(a){},onAnimationEnd:function(){this.snapToBoundary();this.onScrollEnd()},stopAnimation:function(){this.getTranslatable().stopAnimation()},onScrollEnd:function(){var a=this.position;if(this.isTouching||!this.snapToSlot()){this.fireEvent("scrollend",this,a.x,a.y)}},snapToSlot:function(){var b=this.getSnapPosition("x"),a=this.getSnapPosition("y"),c=this.getSlotSnapEasing();if(b!==null||a!==null){this.scrollTo(b,a,{easingX:c.x,easingY:c.y});return true}return false},getSnapPosition:function(c){var g=this.getSlotSnapSize()[c],d=null,a,f,e,b;if(g!==0&&this.isAxisEnabled(c)){a=this.position[c];f=this.getSlotSnapOffset()[c];e=this.getMaxPosition()[c];b=(a-f)%g;if(b!==0){if(Math.abs(b)>g/2){d=a+((b>0)?g-b:b-g);if(d>e){d=a-b}}else{d=a-b}}}return d},snapToBoundary:function(){var g=this.position,c=this.getMinPosition(),f=this.getMaxPosition(),e=c.x,d=c.y,b=f.x,a=f.y,i=Math.round(g.x),h=Math.round(g.y);if(ib){i=b}}if(ha){h=a}}this.scrollTo(i,h)},destroy:function(){var b=this.getElement(),a=this.sizeMonitors;if(a){a.element.destroy();a.container.destroy()}if(b&&!b.isDestroyed){b.removeCls(this.cls);this.getContainer().removeCls(this.containerCls)}Ext.destroy(this.translatable);this.callParent(arguments)}},function(){});Ext.define("Ext.util.Draggable",{isDraggable:true,mixins:["Ext.mixin.Observable"],requires:["Ext.util.SizeMonitor","Ext.util.Translatable"],config:{cls:Ext.baseCSSPrefix+"draggable",draggingCls:Ext.baseCSSPrefix+"dragging",element:null,constraint:"container",disabled:null,direction:"both",initialOffset:{x:0,y:0},translatable:{}},DIRECTION_BOTH:"both",DIRECTION_VERTICAL:"vertical",DIRECTION_HORIZONTAL:"horizontal",defaultConstraint:{min:{x:-Infinity,y:-Infinity},max:{x:Infinity,y:Infinity}},sizeMonitor:null,containerSizeMonitor:null,constructor:function(a){var b;this.extraConstraint={};this.initialConfig=a;this.offset={x:0,y:0};this.listeners={dragstart:"onDragStart",drag:"onDrag",dragend:"onDragEnd",scope:this};if(a&&a.element){b=a.element;delete a.element;this.setElement(b)}return this},applyElement:function(a){if(!a){return}return Ext.get(a)},updateElement:function(a){a.on(this.listeners);this.sizeMonitor=new Ext.util.SizeMonitor({element:a,callback:this.doRefresh,scope:this});this.initConfig(this.initialConfig)},updateInitialOffset:function(b){if(typeof b=="number"){b={x:b,y:b}}var c=this.offset,a,d;c.x=a=b.x;c.y=d=b.y;this.getTranslatable().doTranslate(a,d)},updateCls:function(a){this.getElement().addCls(a)},applyTranslatable:function(a,b){a=Ext.factory(a,Ext.util.Translatable,b);a.setElement(this.getElement());return a},setExtraConstraint:function(a){this.extraConstraint=a||{};this.refreshConstraint();return this},addExtraConstraint:function(a){Ext.merge(this.extraConstraint,a);this.refreshConstraint();return this},applyConstraint:function(a){this.currentConstraint=a;if(!a){a=this.defaultConstraint}if(a==="container"){return Ext.merge(this.getContainerConstraint(),this.extraConstraint)}return Ext.merge({},this.extraConstraint,a)},updateConstraint:function(){this.refreshOffset()},getContainerConstraint:function(){var b=this.getContainer(),c=this.getElement();if(!b||!c.dom){return this.defaultConstraint}var h=c.dom,g=b.dom,d=h.offsetWidth,a=h.offsetHeight,f=g.offsetWidth,e=g.offsetHeight;return{min:{x:0,y:0},max:{x:f-d,y:e-a}}},getContainer:function(){var a=this.container;if(!a){a=this.getElement().getParent();if(a){this.containerSizeMonitor=new Ext.util.SizeMonitor({element:a,callback:this.doRefresh,scope:this});this.container=a;a.on("destroy","onContainerDestroy",this)}}return a},onContainerDestroy:function(){delete this.container;delete this.containerSizeMonitor},detachListeners:function(){this.getElement().un(this.listeners)},isAxisEnabled:function(a){var b=this.getDirection();if(a==="x"){return(b===this.DIRECTION_BOTH||b===this.DIRECTION_HORIZONTAL)}return(b===this.DIRECTION_BOTH||b===this.DIRECTION_VERTICAL)},onDragStart:function(a){if(this.getDisabled()){return false}var b=this.offset;this.fireAction("dragstart",[this,a,b.x,b.y],this.initDragStart)},initDragStart:function(b,c,a,d){this.dragStartOffset={x:a,y:d};this.isDragging=true;this.getElement().addCls(this.getDraggingCls())},onDrag:function(b){if(!this.isDragging){return}var a=this.dragStartOffset;this.fireAction("drag",[this,b,a.x+b.deltaX,a.y+b.deltaY],this.doDrag)},doDrag:function(b,c,a,d){b.setOffset(a,d)},onDragEnd:function(a){if(!this.isDragging){return}this.onDrag(a);this.isDragging=false;this.getElement().removeCls(this.getDraggingCls());this.fireEvent("dragend",this,a,this.offset.x,this.offset.y)},setOffset:function(i,h,b){var f=this.offset,a=this.getConstraint(),e=a.min,c=a.max,d=Math.min,g=Math.max;if(this.isAxisEnabled("x")&&typeof i=="number"){i=d(g(i,e.x),c.x)}else{i=f.x}if(this.isAxisEnabled("y")&&typeof h=="number"){h=d(g(h,e.y),c.y)}else{h=f.y}f.x=i;f.y=h;this.getTranslatable().translate(i,h,b)},getOffset:function(){return this.offset},refreshConstraint:function(){this.setConstraint(this.currentConstraint)},refreshOffset:function(){var a=this.offset;this.setOffset(a.x,a.y)},doRefresh:function(){this.refreshConstraint();this.getTranslatable().refresh();this.refreshOffset()},refresh:function(){if(this.sizeMonitor){this.sizeMonitor.refresh()}if(this.containerSizeMonitor){this.containerSizeMonitor.refresh()}this.doRefresh()},enable:function(){return this.setDisabled(false)},disable:function(){return this.setDisabled(true)},destroy:function(){var a=this.getTranslatable();Ext.destroy(this.containerSizeMonitor,this.sizeMonitor);delete this.sizeMonitor;delete this.containerSizeMonitor;var b=this.getElement();if(b&&!b.isDestroyed){b.removeCls(this.getCls())}this.detachListeners();if(a){a.destroy()}}},function(){});Ext.define("Ext.behavior.Draggable",{extend:"Ext.behavior.Behavior",requires:["Ext.util.Draggable"],constructor:function(){this.listeners={painted:"onComponentPainted",scope:this};this.callParent(arguments)},onComponentPainted:function(){this.draggable.refresh()},setConfig:function(c){var a=this.draggable,b=this.component;if(c){if(!a){b.setTranslatable(true);this.draggable=a=new Ext.util.Draggable(c);a.setTranslatable(b.getTranslatable());a.setElement(b.renderElement);a.on("destroy","onDraggableDestroy",this);if(b.isPainted()){this.onComponentPainted(b)}b.on(this.listeners)}else{if(Ext.isObject(c)){a.setConfig(c)}}}else{if(a){a.destroy()}}return this},getDraggable:function(){return this.draggable},onDraggableDestroy:function(){var a=this.component;delete this.draggable;a.un(this.listeners)},onComponentDestroy:function(){var a=this.draggable;if(a){a.destroy()}}});(function(a){Ext.define("Ext.Component",{extend:"Ext.AbstractComponent",alternateClassName:"Ext.lib.Component",mixins:["Ext.mixin.Traversable"],requires:["Ext.ComponentManager","Ext.XTemplate","Ext.dom.Element","Ext.behavior.Translatable","Ext.behavior.Draggable"],xtype:"component",observableType:"component",cachedConfig:{baseCls:null,cls:null,floatingCls:null,hiddenCls:a+"item-hidden",ui:null,margin:null,padding:null,border:null,styleHtmlCls:a+"html",styleHtmlContent:null},eventedConfig:{left:null,top:null,right:null,bottom:null,width:null,height:null,minWidth:null,minHeight:null,maxWidth:null,maxHeight:null,docked:null,centered:null,hidden:null,disabled:null},config:{style:null,html:null,draggable:null,translatable:null,renderTo:null,zIndex:null,tpl:null,enterAnimation:null,exitAnimation:null,showAnimation:null,hideAnimation:null,tplWriteMode:"overwrite",data:null,disabledCls:a+"item-disabled",contentEl:null,itemId:undefined,record:null,plugins:null},listenerOptionsRegex:/^(?:delegate|single|delay|buffer|args|prepend|element)$/,alignmentRegex:/^([a-z]+)-([a-z]+)(\?)?$/,isComponent:true,floating:false,rendered:false,dockPositions:{top:true,right:true,bottom:true,left:true},innerElement:null,element:null,template:[],constructor:function(c){var d=this,b=d.config,e;d.onInitializedListeners=[];d.initialConfig=c;if(c!==undefined&&"id" in c){e=c.id}else{if("id" in b){e=b.id}else{e=d.getId()}}d.id=e;d.setId(e);Ext.ComponentManager.register(d);d.initElement();d.initConfig(d.initialConfig);d.initialize();d.triggerInitialized();if(d.config.fullscreen){d.fireEvent("fullscreen",d)}d.fireEvent("initialize",d)},beforeInitConfig:function(b){this.beforeInitialize.apply(this,arguments)},beforeInitialize:Ext.emptyFn,initialize:Ext.emptyFn,getTemplate:function(){return this.template},getElementConfig:function(){return{reference:"element",children:this.getTemplate()}},triggerInitialized:function(){var c=this.onInitializedListeners,d=c.length,e,b;if(!this.initialized){this.initialized=true;if(d>0){for(b=0;b0){c.pressedTimeout=setTimeout(function(){delete c.pressedTimeout;if(a){a.addCls(b)}},d)}else{a.addCls(b)}}},onRelease:function(a){this.fireAction("release",[this,a],"doRelease")},doRelease:function(a,b){if(!a.getDisabled()){if(a.hasOwnProperty("pressedTimeout")){clearTimeout(a.pressedTimeout);delete a.pressedTimeout}else{a.element.removeCls(a.getPressedCls())}}},onTap:function(a){if(this.getDisabled()){return false}this.fireAction("tap",[this,a],"doTap")},doTap:function(c,d){var b=c.getHandler(),a=c.getScope()||c;if(!b){return}if(typeof b=="string"){b=a[b]}d.preventDefault();b.apply(a,arguments)}},function(){});Ext.define("Ext.Decorator",{extend:"Ext.Component",isDecorator:true,config:{component:{}},statics:{generateProxySetter:function(a){return function(c){var b=this.getComponent();b[a].call(b,c);return this}},generateProxyGetter:function(a){return function(){var b=this.getComponent();return b[a].call(b)}}},onClassExtended:function(c,e){if(!e.hasOwnProperty("proxyConfig")){return}var f=Ext.Class,i=e.proxyConfig,d=e.config;e.config=(d)?Ext.applyIf(d,i):i;var b,h,g,a;for(b in i){if(i.hasOwnProperty(b)){h=f.getConfigNameMap(b);g=h.set;a=h.get;e[g]=this.generateProxySetter(g);e[a]=this.generateProxyGetter(a)}}},applyComponent:function(a){return Ext.factory(a,Ext.Component)},updateComponent:function(a,b){if(b){if(this.isRendered()&&b.setRendered(false)){b.fireAction("renderedchange",[this,b,false],"doUnsetComponent",this,{args:[b]})}else{this.doUnsetComponent(b)}}if(a){if(this.isRendered()&&a.setRendered(true)){a.fireAction("renderedchange",[this,a,true],"doSetComponent",this,{args:[a]})}else{this.doSetComponent(a)}}},doUnsetComponent:function(a){if(a.renderElement.dom){this.innerElement.dom.removeChild(a.renderElement.dom)}},doSetComponent:function(a){if(a.renderElement.dom){this.innerElement.dom.appendChild(a.renderElement.dom)}},setRendered:function(b){var a;if(this.callParent(arguments)){a=this.getComponent();if(a){a.setRendered(b)}return true}return false},setDisabled:function(a){this.callParent(arguments);this.getComponent().setDisabled(a)},destroy:function(){Ext.destroy(this.getComponent());this.callParent()}});Ext.define("Ext.Img",{extend:"Ext.Component",xtype:["image","img"],config:{src:null,baseCls:Ext.baseCSSPrefix+"img",mode:"background"},beforeInitialize:function(){var a=this;a.onLoad=Ext.Function.bind(a.onLoad,a);a.onError=Ext.Function.bind(a.onError,a)},initialize:function(){var a=this;a.callParent();a.relayEvents(a.renderElement,"*");a.element.on({tap:"onTap",scope:a})},hide:function(){this.callParent();this.hiddenSrc=this.hiddenSrc||this.getSrc();this.setSrc(null)},show:function(){this.callParent();if(this.hiddenSrc){this.setSrc(this.hiddenSrc);delete this.hiddenSrc}},updateMode:function(a){if(a==="background"){if(this.imageElement){this.imageElement.destroy();delete this.imageElement;this.updateSrc(this.getSrc())}}else{this.imageElement=this.element.createChild({tag:"img"})}},onTap:function(a){this.fireEvent("tap",this,a)},onAfterRender:function(){this.updateSrc(this.getSrc())},updateSrc:function(a){var b=this,c;if(b.getMode()==="background"){c=this.imageObject||new Image()}else{c=b.imageElement.dom}this.imageObject=c;c.setAttribute("src",Ext.isString(a)?a:"");c.addEventListener("load",b.onLoad,false);c.addEventListener("error",b.onError,false)},detachListeners:function(){var a=this.imageObject;if(a){a.removeEventListener("load",this.onLoad,false);a.removeEventListener("error",this.onError,false)}},onLoad:function(a){this.detachListeners();if(this.getMode()==="background"){this.element.dom.style.backgroundImage='url("'+this.imageObject.src+'")'}this.fireEvent("load",this,a)},onError:function(a){this.detachListeners();this.fireEvent("error",this,a)},doSetWidth:function(b){var a=(this.getMode()==="background")?this.element:this.imageElement;a.setWidth(b);this.callParent(arguments)},doSetHeight:function(b){var a=(this.getMode()==="background")?this.element:this.imageElement;a.setHeight(b);this.callParent(arguments)},destroy:function(){this.detachListeners();Ext.destroy(this.imageObject);delete this.imageObject;this.callParent()}});Ext.define("Ext.Label",{extend:"Ext.Component",xtype:"label",config:{}});Ext.define("Ext.Map",{extend:"Ext.Component",xtype:"map",requires:["Ext.util.Geolocation"],isMap:true,config:{baseCls:Ext.baseCSSPrefix+"map",useCurrentLocation:false,map:null,geo:null,mapOptions:{}},constructor:function(){this.callParent(arguments);this.element.setVisibilityMode(Ext.Element.OFFSETS);if(!(window.google||{}).maps){this.setHtml("Google Maps API is required")}},initialize:function(){this.callParent();this.on({painted:"doResize",scope:this});this.element.on("touchstart","onTouchStart",this)},onTouchStart:function(a){a.makeUnpreventable()},applyMapOptions:function(a){return Ext.merge({},this.options,a)},updateMapOptions:function(d){var a=this,c=(window.google||{}).maps,b=this.getMap();if(c&&b){b.setOptions(d)}if(d.center&&!a.isPainted()){a.un("painted","setMapCenter",this);a.on("painted","setMapCenter",this,{delay:150,single:true,args:[d.center]})}},getMapOptions:function(){return Ext.merge({},this.options||this.getInitialConfig("mapOptions"))},updateUseCurrentLocation:function(a){this.setGeo(a);if(!a){this.renderMap()}},applyGeo:function(a){return Ext.factory(a,Ext.util.Geolocation,this.getGeo())},updateGeo:function(b,a){var c={locationupdate:"onGeoUpdate",locationerror:"onGeoError",scope:this};if(a){a.un(c)}if(b){b.on(c);b.updateLocation()}},doResize:function(){var b=(window.google||{}).maps,a=this.getMap();if(b&&a){b.event.trigger(a,"resize")}},renderMap:function(){var d=this,f=(window.google||{}).maps,b=d.element,a=d.getMapOptions(),e=d.getMap(),c;if(f){if(Ext.os.is.iPad){Ext.merge({navigationControlOptions:{style:f.NavigationControlStyle.ZOOM_PAN}},a)}a=Ext.merge({zoom:12,mapTypeId:f.MapTypeId.ROADMAP},a);if(!a.hasOwnProperty("center")){a.center=new f.LatLng(37.381592,-122.135672)}if(b.dom.firstChild){Ext.fly(b.dom.firstChild).destroy()}if(e){f.event.clearInstanceListeners(e)}d.setMap(new f.Map(b.dom,a));e=d.getMap();c=f.event;c.addListener(e,"zoom_changed",Ext.bind(d.onZoomChange,d));c.addListener(e,"maptypeid_changed",Ext.bind(d.onTypeChange,d));c.addListener(e,"center_changed",Ext.bind(d.onCenterChange,d));d.fireEvent("maprender",d,e)}},onGeoUpdate:function(a){if(a){this.setMapCenter(new google.maps.LatLng(a.getLatitude(),a.getLongitude()))}},onGeoError:Ext.emptyFn,setMapCenter:function(d){var a=this,c=a.getMap(),b=(window.google||{}).maps;if(b){if(!a.isPainted()){a.un("painted","setMapCenter",this);a.on("painted","setMapCenter",this,{delay:150,single:true,args:[d]});return}d=d||new b.LatLng(37.381592,-122.135672);if(d&&!(d instanceof b.LatLng)&&"longitude" in d){d=new b.LatLng(d.latitude,d.longitude)}if(!c){a.renderMap();c=a.getMap()}if(c&&d instanceof b.LatLng){c.panTo(d)}else{this.options=Ext.apply(this.getMapOptions(),{center:d})}}},onZoomChange:function(){var a=this.getMapOptions(),c=this.getMap(),b;b=(c&&c.getZoom)?c.getZoom():a.zoom||10;this.options=Ext.apply(a,{zoom:b});this.fireEvent("zoomchange",this,c,b)},onTypeChange:function(){var b=this.getMapOptions(),c=this.getMap(),a;a=(c&&c.getMapTypeId)?c.getMapTypeId():b.mapTypeId;this.options=Ext.apply(b,{mapTypeId:a});this.fireEvent("typechange",this,c,a)},onCenterChange:function(){var b=this.getMapOptions(),c=this.getMap(),a;a=(c&&c.getCenter)?c.getCenter():b.center;this.options=Ext.apply(b,{center:a});this.fireEvent("centerchange",this,c,a)},destroy:function(){Ext.destroy(this.getGeo());var a=this.getMap();if(a&&(window.google||{}).maps){google.maps.event.clearInstanceListeners(a)}this.callParent()}},function(){});Ext.define("Ext.Mask",{extend:"Ext.Component",xtype:"mask",config:{baseCls:Ext.baseCSSPrefix+"mask",transparent:false,top:0,left:0,right:0,bottom:0},initialize:function(){this.callParent();this.on({painted:"onPainted",erased:"onErased"})},onPainted:function(){this.element.on("*","onEvent",this)},onErased:function(){this.element.un("*","onEvent",this)},onEvent:function(b){var a=arguments[arguments.length-1];if(a.info.eventName==="tap"){this.fireEvent("tap",this,b);return false}if(b&&b.stopEvent){b.stopEvent()}return false},updateTransparent:function(a){this[a?"addCls":"removeCls"](this.getBaseCls()+"-transparent")}});Ext.define("Ext.LoadMask",{extend:"Ext.Mask",xtype:"loadmask",config:{message:"Loading...",messageCls:Ext.baseCSSPrefix+"mask-message",indicator:true,listeners:{painted:"onPainted",erased:"onErased"}},getTemplate:function(){var a=Ext.baseCSSPrefix;return[{reference:"innerElement",cls:a+"mask-inner",children:[{reference:"indicatorElement",cls:a+"loading-spinner-outer",children:[{cls:a+"loading-spinner",children:[{tag:"span",cls:a+"loading-top"},{tag:"span",cls:a+"loading-right"},{tag:"span",cls:a+"loading-bottom"},{tag:"span",cls:a+"loading-left"}]}]},{reference:"messageElement"}]}]},updateMessage:function(a){this.messageElement.setHtml(a)},updateMessageCls:function(b,a){this.messageElement.replaceCls(a,b)},updateIndicator:function(a){this[a?"removeCls":"addCls"](Ext.baseCSSPrefix+"indicator-hidden")},onPainted:function(){this.getParent().on({scope:this,resize:this.refreshPosition});this.refreshPosition()},onErased:function(){this.getParent().un({scope:this,resize:this.refreshPosition})},refreshPosition:function(){var c=this.getParent(),d=c.getScrollable(),a=(d)?d.getScroller():null,f=(a)?a.position:{x:0,y:0},e=c.element.getSize(),b=this.element.getSize();this.innerElement.setStyle({marginTop:Math.round(e.height-b.height+(f.y*2))+"px",marginLeft:Math.round(e.width-b.width+f.x)+"px"})}},function(){});Ext.define("Ext.Media",{extend:"Ext.Component",xtype:"media",config:{url:"",enableControls:Ext.os.is.Android?false:true,autoResume:false,autoPause:true,preload:true,loop:false,media:null,volume:1,muted:false},initialize:function(){var a=this;a.callParent();a.on({scope:a,activate:a.onActivate,deactivate:a.onDeactivate});a.addMediaListener({canplay:"onCanPlay",play:"onPlay",pause:"onPause",ended:"onEnd",volumechange:"onVolumeChange",timeupdate:"onTimeUpdate"})},addMediaListener:function(d,b){var c=this,e=c.media.dom,f=Ext.Function.bind;if(!Ext.isObject(d)){var a=d;d={};d[a]=b}Ext.Object.each(d,function(h,g){if(typeof g!=="function"){g=c[g]}if(typeof g=="function"){g=f(g,c);e.addEventListener(h,g)}})},onPlay:function(){this.fireEvent("play",this)},onCanPlay:function(){this.fireEvent("canplay",this)},onPause:function(){this.fireEvent("pause",this,this.getCurrentTime())},onEnd:function(){this.fireEvent("ended",this,this.getCurrentTime())},onVolumeChange:function(){this.fireEvent("volumechange",this,this.media.dom.volume)},onTimeUpdate:function(){this.fireEvent("timeupdate",this,this.getCurrentTime())},isPlaying:function(){return !Boolean(this.media.dom.paused)},onActivate:function(){var a=this;if(a.getAutoResume()&&!a.isPlaying()){a.play()}},onDeactivate:function(){var a=this;if(a.getAutoResume()&&a.isPlaying()){a.pause()}},updateUrl:function(a){var b=this.media.dom;b.src=a;if("load" in b){b.load()}if(this.isPlaying()){this.play()}},updateEnableControls:function(a){this.media.dom.controls=a?"controls":false},updateLoop:function(a){this.media.dom.loop=a?"loop":false},play:function(){var a=this.media.dom;if("play" in a){a.play();setTimeout(function(){a.play()},10)}},pause:function(){var a=this.media.dom;if("pause" in a){a.pause()}},toggle:function(){if(this.isPlaying()){this.pause()}else{this.play()}},stop:function(){var a=this;a.setCurrentTime(0);a.fireEvent("stop",a);a.pause()},updateVolume:function(a){this.media.dom.volume=a},updateMuted:function(a){this.fireEvent("mutedchange",this,a);this.media.dom.muted=a},getCurrentTime:function(){return this.media.dom.currentTime},setCurrentTime:function(a){this.media.dom.currentTime=a;return a},getDuration:function(){return this.media.dom.duration},destroy:function(){var a=this;Ext.Object.each(event,function(c,b){if(typeof b!=="function"){b=a[b]}if(typeof b=="function"){b=bind(b,a);dom.removeEventListener(c,b)}})}});Ext.define("Ext.Audio",{extend:"Ext.Media",xtype:"audio",config:{cls:Ext.baseCSSPrefix+"audio"},onActivate:function(){var a=this;a.callParent();if(Ext.os.is.Phone){a.element.show()}},onDeactivate:function(){var a=this;a.callParent();if(Ext.os.is.Phone){a.element.hide()}},template:[{reference:"media",preload:"auto",tag:"audio",cls:Ext.baseCSSPrefix+"component"}]});Ext.define("Ext.Spacer",{extend:"Ext.Component",alias:"widget.spacer",config:{},constructor:function(a){a=a||{};if(!a.width){a.flex=1}this.callParent([a])}});Ext.define("Ext.Title",{extend:"Ext.Component",xtype:"title",config:{baseCls:"x-title",title:""},updateTitle:function(a){this.setHtml(a)}});Ext.define("Ext.Video",{extend:"Ext.Media",xtype:"video",config:{posterUrl:null,cls:Ext.baseCSSPrefix+"video"},template:[{reference:"ghost",classList:[Ext.baseCSSPrefix+"video-ghost"]},{tag:"video",reference:"media",classList:[Ext.baseCSSPrefix+"media"]}],initialize:function(){var a=this;a.callParent();a.media.hide();a.onBefore({erased:"onErased",scope:a});a.ghost.on({tap:"onGhostTap",scope:a});a.media.on({pause:"onPause",scope:a});if(Ext.os.is.Android4||Ext.os.is.iPad){this.isInlineVideo=true}},applyUrl:function(a){return[].concat(a)},updateUrl:function(f){var c=this,e=c.media,g=f.length,d=e.query("source"),b=d.length,a;for(a=0;a0){a.pop().destroy()}},setActiveIndex:function(b){var e=this.indicators,d=this.activeIndex,a=e[d],f=e[b],c=this.getBaseCls();if(a){a.removeCls(c,null,"active")}if(f){f.addCls(c,null,"active")}this.activeIndex=b;return this},onTap:function(f){var g=f.touch,a=this.element.getPageBox(),d=a.left+(a.width/2),b=a.top+(a.height/2),c=this.getDirection();if((c==="horizontal"&&g.pageX>=d)||(c==="vertical"&&g.pageY>=b)){this.fireEvent("next",this)}else{this.fireEvent("previous",this)}},destroy:function(){var d=this.indicators,b,c,a;for(b=0,c=d.length;bd.bottom||a.yd.right||a.x div",scope:this})},initialize:function(){this.callParent();this.doInitialize()},updateBaseCls:function(a,b){var c=this;c.callParent([a+"-container",b])},onItemTouchStart:function(d){var b=this,c=d.getTarget(),a=b.getViewItems().indexOf(c);Ext.get(c).on({touchmove:"onItemTouchMove",scope:b,single:true});b.fireEvent("itemtouchstart",b,Ext.get(c),a,d)},onItemTouchEnd:function(d){var b=this,c=d.getTarget(),a=b.getViewItems().indexOf(c);Ext.get(c).un({touchmove:"onItemTouchMove",scope:b});b.fireEvent("itemtouchend",b,Ext.get(c),a,d)},onItemTouchMove:function(d){var b=this,c=d.getTarget(),a=b.getViewItems().indexOf(c);b.fireEvent("itemtouchmove",b,Ext.get(c),a,d)},onItemTap:function(d){var b=this,c=d.getTarget(),a=b.getViewItems().indexOf(c);b.fireEvent("itemtap",b,Ext.get(c),a,d)},onItemTapHold:function(d){var b=this,c=d.getTarget(),a=b.getViewItems().indexOf(c);b.fireEvent("itemtaphold",b,Ext.get(c),a,d)},onItemDoubleTap:function(d){var b=this,c=d.getTarget(),a=b.getViewItems().indexOf(c);b.fireEvent("itemdoubletap",b,Ext.get(c),a,d)},onItemSingleTap:function(d){var b=this,c=d.getTarget(),a=b.getViewItems().indexOf(c);b.fireEvent("itemsingletap",b,Ext.get(c),a,d)},onItemSwipe:function(d){var b=this,c=d.getTarget(),a=b.getViewItems().indexOf(c);b.fireEvent("itemswipe",b,Ext.get(c),a,d)},updateListItem:function(b,d){var c=this,a=c.dataview,e=a.prepareData(b.getData(true),a.getStore().indexOf(b),b);d.innerHTML=c.dataview.getItemTpl().apply(e)},addListItem:function(e,c){var h=this,d=h.dataview,a=d.prepareData(c.getData(true),d.getStore().indexOf(c),c),b=h.element,i=b.dom.childNodes,g=i.length,f;f=Ext.Element.create(this.getItemElementConfig(e,a));if(!g||e==g){f.appendTo(b)}else{f.insertBefore(i[e])}},getItemElementConfig:function(c,e){var b=this.dataview,d=b.getItemCls(),a=b.getBaseCls()+"-item";if(d){a+=" "+d}return{cls:a,html:b.getItemTpl().apply(e)}},doRemoveItemCls:function(a){var d=this.getViewItems(),c=d.length,b=0;for(;b=0;b--){c=a[f+b];c.parentNode.removeChild(c)}if(d.getViewItems().length==0){this.dataview.showEmptyText()}},moveItemsFromCache:function(d){var g=this,b=g.dataview,c=b.getStore(),f=d.length,e,a;if(f){b.hideEmptyText()}for(e=0;eh._tmpIndex?1:-1});for(e=0;e(?:[\s]*)|(?:\s*))([\w\-]+)$/i,handledEvents:["*"],getSubscribers:function(b,a){var d=this.subscribers,c=d[b];if(!c&&a){c=d[b]={type:{$length:0},selector:[],$length:0}}return c},subscribe:function(g,f){if(this.idSelectorRegex.test(g)){return false}var e=g.match(this.optimizedSelectorRegex),a=this.getSubscribers(f,true),k=a.type,c=a.selector,d,i,j,b,h;if(e!==null){d=e[1];i=e[2].indexOf(">")===-1;j=e[3];b=k[j];if(!b){k[j]=b={descendents:{$length:0},children:{$length:0},$length:0}}h=i?b.descendents:b.children;if(h.hasOwnProperty(d)){h[d]++;return true}h[d]=1;h.$length++;b.$length++;k.$length++}else{if(c.hasOwnProperty(g)){c[g]++;return true}c[g]=1;c.push(g)}a.$length++;return true},unsubscribe:function(g,f,k){var a=this.getSubscribers(f);if(!a){return false}var e=g.match(this.optimizedSelectorRegex),l=a.type,c=a.selector,d,i,j,b,h;k=Boolean(k);if(e!==null){d=e[1];i=e[2].indexOf(">")===-1;j=e[3];b=l[j];if(!b){return true}h=i?b.descendents:b.children;if(!h.hasOwnProperty(d)||(!k&&--h[d]>0)){return true}delete h[d];h.$length--;b.$length--;l.$length--}else{if(!c.hasOwnProperty(g)||(!k&&--c[g]>0)){return true}delete c[g];Ext.Array.remove(c,g)}if(--a.$length===0){delete this.subscribers[f]}return true},notify:function(d,a){var c=this.getSubscribers(a),e,b;if(!c||c.$length===0){return false}e=d.substr(1);b=Ext.ComponentManager.get(e);if(b){this.dispatcher.doAddListener(this.targetType,d,a,"publish",this,{args:[a,b]},"before")}},matchesSelector:function(b,a){return Ext.ComponentQuery.is(b,a)},dispatch:function(d,b,c,a){this.dispatcher.doDispatchEvent(this.targetType,d,b,c,null,a)},publish:function(g,k){var e=this.getSubscribers(g);if(!e){return}var p=arguments[arguments.length-1],o=e.type,b=e.selector,d=Array.prototype.slice.call(arguments,2,-2),l=k.xtypesChain,s,n,t,a,m,v,r,u,h,f,q,c;for(u=0,h=l.length;u0){s=e.descendents;if(s.$length>0){if(!a){a=k.getAncestorIds()}for(q=0,c=a.length;q0){if(!t){if(a){t=a[0]}else{v=k.getParent();if(v){t=v.getId()}}}if(t){if(n.hasOwnProperty(t)){this.dispatch("#"+t+" > "+f,g,d,p)}}}}}h=b.length;if(h>0){for(u=0;uf){d=e}}c.setValue(d);d=c.getValue();c.fireEvent("spin",c,d,g);c.fireEvent("spin"+g,c,d)},doSetDisabled:function(a){Ext.Component.prototype.doSetDisabled.apply(this,arguments)},setDisabled:function(){Ext.Component.prototype.setDisabled.apply(this,arguments)},reset:function(){this.setValue(this.getDefaultValue())},destroy:function(){var a=this;Ext.destroy(a.downRepeater,a.upRepeater,a.spinDownButton,a.spinUpButton);a.callParent(arguments)}},function(){});Ext.define("Ext.field.TextAreaInput",{extend:"Ext.field.Input",xtype:"textareainput",tag:"textarea"});Ext.define("Ext.field.TextArea",{extend:"Ext.field.Text",xtype:"textareafield",requires:["Ext.field.TextAreaInput"],alternateClassName:"Ext.form.TextArea",config:{ui:"textarea",autoCapitalize:false,component:{xtype:"textareainput"},maxRows:null},updateMaxRows:function(a){this.getComponent().setMaxRows(a)},doSetHeight:function(a){this.callParent(arguments);var b=this.getComponent();b.input.setHeight(a)},doSetWidth:function(b){this.callParent(arguments);var a=this.getComponent();a.input.setWidth(b)},doKeyUp:function(a){var b=a.getValue();a[b?"showClearIcon":"hideClearIcon"]()}});Ext.define("Ext.field.Url",{extend:"Ext.field.Text",xtype:"urlfield",alternateClassName:"Ext.form.Url",config:{autoCapitalize:false,component:{type:"url"}}});Ext.define("Ext.plugin.ListPaging",{extend:"Ext.Component",alias:"plugin.listpaging",config:{autoPaging:false,loadMoreText:"Load More...",noMoreRecordsText:"No More Records",loadTpl:['
','','','','',"
",'
{message}
'].join(""),loadMoreCmp:{xtype:"component",baseCls:Ext.baseCSSPrefix+"list-paging"},loadMoreCmpAdded:false,loadingCls:Ext.baseCSSPrefix+"loading",list:null,scroller:null,loading:false},init:function(c){var a=c.getScrollable().getScroller(),b=c.getStore();this.setList(c);this.setScroller(a);this.bindStore(c.getStore());if(b){this.disableDataViewMask(b)}c.updateStore=Ext.Function.createInterceptor(c.updateStore,this.bindStore,this);if(this.getAutoPaging()){a.on({scrollend:this.onScrollEnd,scope:this})}},bindStore:function(a,b){if(b){b.un({load:this.onStoreLoad,beforeload:this.onStoreBeforeLoad,scope:this})}if(a){a.on({load:this.onStoreLoad,beforeload:this.onStoreBeforeLoad,scope:this})}},disableDataViewMask:function(a){var b=this.getList();if(a.isAutoLoading()){b.setLoadingText(null)}else{a.on({load:{single:true,fn:function(){b.setLoadingText(null)}}})}},applyLoadTpl:function(a){return(Ext.isObject(a)&&a.isTemplate)?a:new Ext.XTemplate(a)},applyLoadMoreCmp:function(a){a=Ext.merge(a,{html:this.getLoadTpl().apply({cssPrefix:Ext.baseCSSPrefix,message:this.getLoadMoreText()}),listeners:{tap:{fn:this.loadNextPage,scope:this,element:"element"}}});return Ext.factory(a,Ext.Component,this.getLoadMoreCmp())},onScrollEnd:function(b,a,c){if(!this.getLoading()&&c>=b.maxPosition.y){this.loadNextPage()}},updateLoading:function(a){var b=this.getLoadMoreCmp(),c=this.getLoadingCls();if(a){b.addCls(c)}else{b.removeCls(c)}},onStoreBeforeLoad:function(a){if(a.getCount()===0){this.getLoadMoreCmp().hide()}},onStoreLoad:function(a){var d=this.addLoadMoreCmp(),b=this.getLoadTpl(),c=this.storeFullyLoaded()?this.getNoMoreRecordsText():this.getLoadMoreText();this.getLoadMoreCmp().show();this.setLoading(false);if(this.scrollY){this.getScroller().scrollTo(null,this.scrollY);delete this.scrollY}d.setHtml(b.apply({cssPrefix:Ext.baseCSSPrefix,message:c}))},addLoadMoreCmp:function(){var b=this.getList(),a=this.getLoadMoreCmp();if(!this.getLoadMoreCmpAdded()){b.add(a);b.fireEvent("loadmorecmpadded",this,b);this.setLoadMoreCmpAdded(true)}return a},storeFullyLoaded:function(){var a=this.getList().getStore(),b=a.getTotalCount();return b!==null?a.getTotalCount()<=(a.currentPage*a.getPageSize()):false},loadNextPage:function(){var a=this;if(!a.storeFullyLoaded()){a.setLoading(true);a.scrollY=a.getScroller().position.y;a.getList().getStore().nextPage({addRecords:true})}}});Ext.define("Ext.plugin.PullRefresh",{extend:"Ext.Component",alias:"plugin.pullrefresh",requires:["Ext.DateExtras"],config:{list:null,pullRefreshText:"Pull down to refresh...",releaseRefreshText:"Release to refresh...",loadingText:"Loading...",snappingAnimationDuration:150,refreshFn:null,pullTpl:['
','
','
','','','','',"
",'
','

{message}

','
Last Updated: {lastUpdated:date("m/d/Y h:iA")}
',"
","
"].join("")},isRefreshing:false,currentViewState:"",initialize:function(){this.callParent();this.on({painted:"onPainted",scope:this})},init:function(f){var d=this,b=f.getStore(),e=d.getPullTpl(),c=d.element,a=f.getScrollable().getScroller();d.setList(f);d.lastUpdated=new Date();f.insert(0,d);if(b){if(b.isAutoLoading()){f.setLoadingText(null)}else{b.on({load:{single:true,fn:function(){f.setLoadingText(null)}}})}}e.overwrite(c,{message:d.getPullRefreshText(),lastUpdated:d.lastUpdated},true);d.loadingElement=c.getFirstChild();d.messageEl=c.down(".x-list-pullrefresh-message");d.updatedEl=c.down(".x-list-pullrefresh-updated > span");d.maxScroller=a.getMaxPosition();a.on({maxpositionchange:d.setMaxScroller,scroll:d.onScrollChange,scope:d})},fetchLatest:function(){var b=this.getList().getStore(),c=b.getProxy(),a;a=Ext.create("Ext.data.Operation",{page:1,start:0,model:b.getModel(),limit:b.getPageSize(),action:"read",filters:b.getRemoteFilter()?b.getFilters():[]});c.read(a,this.onLatestFetched,this)},onLatestFetched:function(d){var j=this.getList().getStore(),b=j.getData(),c=d.getRecords(),a=c.length,g=[],h,f,e;for(e=0;ethis.maxScroller.y){this.onBounceBottom(c)}},applyPullTpl:function(a){return(Ext.isObject(a)&&a.isTemplate)?a:new Ext.XTemplate(a)},onBounceTop:function(d){var b=this,c=b.getList(),a=c.getScrollable().getScroller();if(!b.isReleased){if(!b.isRefreshing&&-d>=b.pullHeight+10){b.isRefreshing=true;b.setViewState("release");a.getContainer().onBefore({dragend:"onScrollerDragEnd",single:true,scope:b})}else{if(b.isRefreshing&&-d=1){a=Math.round((f-1)*b);e=this.applyLength(d-a);a=d-e;this.updateLength(e);g=c+a}else{g=c*f}}this.setOffset(g)},setOffset:function(c){var a=this.getAxis(),b=this.element.dom.style;c=Math.round(c);if(a==="x"){b.webkitTransform="translate3d("+c+"px, 0, 0)"}else{b.webkitTransform="translate3d(0, "+c+"px, 0)"}}});Ext.define("Ext.scroll.indicator.Default",{extend:"Ext.scroll.indicator.Abstract",config:{cls:"default"},setOffset:function(c){var b=this.getAxis(),a=this.element.dom.style;if(b==="x"){a.webkitTransform="translate3d("+c+"px, 0, 0)"}else{a.webkitTransform="translate3d(0, "+c+"px, 0)"}},applyLength:function(a){return Math.round(Math.max(0,a))},updateValue:function(f){var b=this.barLength,c=this.gapLength,d=this.getLength(),e,g,a;if(f<=0){g=0;this.updateLength(this.applyLength(d+f*b))}else{if(f>=1){a=Math.round((f-1)*b);e=this.applyLength(d-a);a=d-e;this.updateLength(e);g=c+a}else{g=c*f}}this.setOffset(g)}});Ext.define("Ext.scroll.indicator.ScrollPosition",{extend:"Ext.scroll.indicator.Abstract",config:{cls:"scrollposition"},getElementConfig:function(){var a=this.callParent(arguments);a.children.unshift({className:"x-scroll-bar-stretcher"});return a},updateValue:function(a){if(this.gapLength===0){if(a>1){a=a-1}this.setOffset(this.barLength*a)}else{this.setOffset(this.gapLength*a)}},setLength:function(e){var c=this.getAxis(),a=this.barLength,d=this.barElement.dom,b=this.element;this.callParent(arguments);if(c==="x"){d.scrollLeft=a;b.setLeft(a)}else{d.scrollTop=a;b.setTop(a)}},setOffset:function(d){var b=this.getAxis(),a=this.barLength,c=this.barElement.dom;d=a-d;if(b==="x"){c.scrollLeft=d}else{c.scrollTop=d}}});Ext.define("Ext.scroll.Indicator",{requires:["Ext.scroll.indicator.Default","Ext.scroll.indicator.ScrollPosition","Ext.scroll.indicator.CssTransform"],alternateClassName:"Ext.util.Indicator",constructor:function(a){if(Ext.os.is.Android2||Ext.browser.is.ChromeMobile){return new Ext.scroll.indicator.ScrollPosition(a)}else{if(Ext.os.is.iOS){return new Ext.scroll.indicator.CssTransform(a)}else{return new Ext.scroll.indicator.Default(a)}}}});Ext.define("Ext.scroll.View",{extend:"Ext.Evented",alternateClassName:"Ext.util.ScrollView",requires:["Ext.scroll.Scroller","Ext.scroll.Indicator"],config:{indicatorsUi:"dark",element:null,scroller:{},indicators:{x:{axis:"x"},y:{axis:"y"}},indicatorsHidingDelay:100,cls:Ext.baseCSSPrefix+"scroll-view"},processConfig:function(c){if(!c){return null}if(typeof c=="string"){c={direction:c}}c=Ext.merge({},c);var a=c.scroller,b;if(!a){c.scroller=a={}}for(b in c){if(c.hasOwnProperty(b)){if(!this.hasConfig(b)){a[b]=c[b];delete c[b]}}}return c},constructor:function(a){a=this.processConfig(a);this.useIndicators={x:true,y:true};this.doHideIndicators=Ext.Function.bind(this.doHideIndicators,this);this.initConfig(a)},setConfig:function(a){return this.callParent([this.processConfig(a)])},updateIndicatorsUi:function(a){var b=this.getIndicators();b.x.setUi(a);b.y.setUi(a)},applyScroller:function(a,b){return Ext.factory(a,Ext.scroll.Scroller,b)},applyIndicators:function(b,d){var a=Ext.scroll.Indicator,c=this.useIndicators;if(!b){b={}}if(!b.x){c.x=false;b.x={}}if(!b.y){c.y=false;b.y={}}return{x:Ext.factory(b.x,a,d&&d.x),y:Ext.factory(b.y,a,d&&d.y)}},updateIndicators:function(a){this.indicatorsGrid=Ext.Element.create({className:"x-scroll-bar-grid-wrapper",children:[{className:"x-scroll-bar-grid",children:[{children:[{},{children:[a.y.barElement]}]},{children:[{children:[a.x.barElement]},{}]}]}]})},updateScroller:function(a){a.on({scope:this,scrollstart:"onScrollStart",scroll:"onScroll",scrollend:"onScrollEnd",refresh:"refreshIndicators"})},isAxisEnabled:function(a){return this.getScroller().isAxisEnabled(a)&&this.useIndicators[a]},applyElement:function(a){if(a){return Ext.get(a)}},updateElement:function(c){var b=c.getFirstChild().getFirstChild(),a=this.getScroller();c.addCls(this.getCls());c.insertFirst(this.indicatorsGrid);a.setElement(b);this.refreshIndicators();return this},showIndicators:function(){var a=this.getIndicators();if(this.hasOwnProperty("indicatorsHidingTimer")){clearTimeout(this.indicatorsHidingTimer);delete this.indicatorsHidingTimer}if(this.isAxisEnabled("x")){a.x.show()}if(this.isAxisEnabled("y")){a.y.show()}},hideIndicators:function(){var a=this.getIndicatorsHidingDelay();if(a>0){this.indicatorsHidingTimer=setTimeout(this.doHideIndicators,a)}else{this.doHideIndicators()}},doHideIndicators:function(){var a=this.getIndicators();if(this.isAxisEnabled("x")){a.x.hide()}if(this.isAxisEnabled("y")){a.y.hide()}},onScrollStart:function(){this.onScroll.apply(this,arguments);this.showIndicators()},onScrollEnd:function(){this.hideIndicators()},onScroll:function(b,a,c){this.setIndicatorValue("x",a);this.setIndicatorValue("y",c)},setIndicatorValue:function(b,f){if(!this.isAxisEnabled(b)){return this}var a=this.getScroller(),c=a.getMaxPosition()[b],e=a.getContainerSize()[b],d;if(c===0){d=f/e;if(f>=0){d+=1}}else{if(f>c){d=1+((f-c)/e)}else{if(f<0){d=f/e}else{d=f/c}}}this.getIndicators()[b].setValue(d)},refreshIndicator:function(d){if(!this.isAxisEnabled(d)){return this}var a=this.getScroller(),b=this.getIndicators()[d],e=a.getContainerSize()[d],f=a.getSize()[d],c=e/f;b.setRatio(c);b.refresh()},refresh:function(){return this.getScroller().refresh()},refreshIndicators:function(){var a=this.getIndicators();a.x.setActive(this.isAxisEnabled("x"));a.y.setActive(this.isAxisEnabled("y"));this.refreshIndicator("x");this.refreshIndicator("y")},destroy:function(){var a=this.getElement(),b=this.getIndicators();if(a&&!a.isDestroyed){a.removeCls(this.getCls())}b.x.destroy();b.y.destroy();Ext.destroy(this.getScroller(),this.indicatorsGrid);delete this.indicatorsGrid;this.callParent(arguments)}});Ext.define("Ext.behavior.Scrollable",{extend:"Ext.behavior.Behavior",requires:["Ext.scroll.View"],constructor:function(){this.listeners={painted:"onComponentPainted",scope:this};this.callParent(arguments)},onComponentPainted:function(){this.scrollView.refresh()},setConfig:function(d){var b=this.scrollView,c=this.component,e,a;if(d){if(!b){this.scrollView=b=new Ext.scroll.View(d);b.on("destroy","onScrollViewDestroy",this);c.setUseBodyElement(true);this.scrollerElement=a=c.innerElement;this.scrollContainer=a.wrap();this.scrollViewElement=e=c.bodyElement;b.setElement(e);if(c.isPainted()){this.onComponentPainted(c)}c.on(this.listeners)}else{if(Ext.isString(d)||Ext.isObject(d)){b.setConfig(d)}}}else{if(b){b.destroy()}}return this},getScrollView:function(){return this.scrollView},onScrollViewDestroy:function(){var b=this.component,a=this.scrollerElement;if(!a.isDestroyed){this.scrollerElement.unwrap()}this.scrollContainer.destroy();b.un(this.listeners);delete this.scrollerElement;delete this.scrollView;delete this.scrollContainer},onComponentDestroy:function(){var a=this.scrollView;if(a){a.destroy()}}});Ext.define("Ext.Container",{extend:"Ext.Component",alternateClassName:"Ext.lib.Container",requires:["Ext.layout.Layout","Ext.ItemCollection","Ext.behavior.Scrollable","Ext.Mask"],xtype:"container",eventedConfig:{activeItem:0},config:{layout:null,control:{},defaults:null,items:null,autoDestroy:true,defaultType:null,scrollable:null,useBodyElement:null,masked:null,modal:null,hideOnMaskTap:null},isContainer:true,delegateListeners:{delegate:"> component",centeredchange:"onItemCenteredChange",dockedchange:"onItemDockedChange",floatingchange:"onItemFloatingChange"},constructor:function(a){var b=this;b._items=b.items=new Ext.ItemCollection();b.innerItems=[];b.onItemAdd=b.onFirstItemAdd;b.callParent(arguments)},getElementConfig:function(){return{reference:"element",className:"x-container",children:[{reference:"innerElement",className:"x-inner"}]}},applyMasked:function(a,b){b=Ext.factory(a,Ext.Mask,b);if(b){this.add(b)}return b},mask:function(a){this.setMasked(a||true)},unmask:function(){this.setMasked(false)},applyModal:function(a,b){if(!a&&!b){return}return Ext.factory(a,Ext.Mask,b)},updateModal:function(c,a){var b={painted:"refreshModalMask",erased:"destroyModalMask"};if(c){this.on(b);c.on("destroy","onModalDestroy",this);if(this.getTop()===null&&this.getBottom()===null&&this.getRight()===null&&this.getLeft()===null&&!this.getCentered()){this.setTop(0);this.setLeft(0)}if(this.isPainted()){this.refreshModalMask()}}else{if(a){a.un("destroy","onModalDestroy",this);this.un(b)}}},onModalDestroy:function(){this.setModal(null)},refreshModalMask:function(){var b=this.getModal(),a=this.getParent();if(!this.painted){this.painted=true;if(b){a.insertBefore(b,this);b.setZIndex(this.getZIndex()-1);if(this.getHideOnMaskTap()){b.on("tap","hide",this,{single:true})}}}},destroyModalMask:function(){var b=this.getModal(),a=this.getParent();if(this.painted){this.painted=false;if(b){b.un("tap","hide",this);a.remove(b,false)}}},updateZIndex:function(b){var a=this.getModal();this.callParent(arguments);if(a){a.setZIndex(b-1)}},updateBaseCls:function(a,b){var c=this,d=c.getUi();if(a){this.element.addCls(a);this.innerElement.addCls(a,null,"inner");if(d){this.element.addCls(a,null,d)}}if(b){this.element.removeCls(b);this.innerElement.removeCls(a,null,"inner");if(d){this.element.removeCls(b,null,d)}}},updateUseBodyElement:function(a){if(a){this.bodyElement=this.innerElement.wrap({cls:"x-body"});this.referenceList.push("bodyElement")}},applyItems:function(a,b){if(a){this.getDefaultType();this.getDefaults();if(this.initialized&&b.length>0){this.removeAll()}this.add(a)}},applyControl:function(c){var a,b,e,d;for(a in c){d=c[a];for(b in d){e=d[b];if(Ext.isObject(e)){e.delegate=a}}d.delegate=a;this.addListener(d)}return c},onFirstItemAdd:function(){delete this.onItemAdd;this.setLayout(new Ext.layout.Layout(this,this.getLayout()||"default"));if(this.innerHtmlElement&&!this.getHtml()){this.innerHtmlElement.destroy();delete this.innerHtmlElement}this.on(this.delegateListeners);return this.onItemAdd.apply(this,arguments)},updateDefaultType:function(a){this.defaultItemClass=Ext.ClassManager.getByAlias("widget."+a)},applyDefaults:function(a){if(a){this.factoryItem=this.factoryItemWithDefaults;return a}},factoryItem:function(a){return Ext.factory(a,this.defaultItemClass)},factoryItemWithDefaults:function(c){var b=this,d=b.getDefaults(),a;if(!d){return Ext.factory(c,b.defaultItemClass)}if(c.isComponent){a=c;if(d&&c.isInnerItem()&&!b.has(a)){a.setConfig(d,true)}}else{if(d&&!c.ignoreDefaults){if(!(c.hasOwnProperty("left")&&c.hasOwnProperty("right")&&c.hasOwnProperty("top")&&c.hasOwnProperty("bottom")&&c.hasOwnProperty("docked")&&c.hasOwnProperty("centered"))){c=Ext.mergeIf({},c,d)}}a=Ext.factory(c,b.defaultItemClass)}return a},add:function(a){var e=this,b,d,c,f;a=Ext.Array.from(a);d=a.length;for(b=0;b0&&c.isInnerItem()){f=c}}if(f){this.setActiveItem(f)}return c},doAdd:function(d){var c=this,a=c.getItems(),b;if(!a.has(d)){b=a.length;a.add(d);if(d.isInnerItem()){c.insertInner(d)}d.setParent(c);c.onItemAdd(d,b)}},remove:function(d,b){var c=this,a=c.indexOf(d),e=c.getInnerItems();if(b===undefined){b=c.getAutoDestroy()}if(a!==-1){if(!c.removingAll&&e.length>1&&d===c.getActiveItem()){c.on({activeitemchange:"doRemove",scope:c,single:true,order:"after",args:[d,a,b]});c.doResetActiveItem(e.indexOf(d))}else{c.doRemove(d,a,b);if(e.length===0){c.setActiveItem(null)}}}return c},doResetActiveItem:function(a){if(a===0){this.setActiveItem(1)}else{this.setActiveItem(0)}},doRemove:function(d,a,b){var c=this;c.items.remove(d);if(d.isInnerItem()){c.removeInner(d)}c.onItemRemove(d,a,b);d.setParent(null);if(b){d.destroy()}},removeAll:function(c,f){var a=this.items,e=a.length,b=0,d;if(c===undefined){c=this.getAutoDestroy()}f=Boolean(f);this.removingAll=true;for(;b=0;b--){c.insert(a,d[b])}return c}d=this.factoryItem(d);this.doInsert(a,d);return d},doInsert:function(d,f){var e=this,b=e.items,c=b.length,a,g;g=f.isInnerItem();if(d>c){d=c}if(b[d-1]===f){return e}a=e.indexOf(f);if(a!==-1){if(a "+a)[0]||null},down:function(a){return this.query(a)[0]||null},destroy:function(){var a=this.getModal();if(a){a.destroy()}this.removeAll(true,true);Ext.destroy(this.getScrollable(),this.bodyElement);this.callParent()}},function(){this.addMember("defaultItemClass",this)});Ext.define("Ext.Panel",{extend:"Ext.Container",requires:["Ext.util.LineSegment"],alternateClassName:"Ext.lib.Panel",xtype:"panel",isPanel:true,config:{baseCls:Ext.baseCSSPrefix+"panel",bodyPadding:null,bodyMargin:null,bodyBorder:null},getElementConfig:function(){var a=this.callParent();a.children.push({reference:"tipElement",className:"x-anchor",hidden:true});return a},applyBodyPadding:function(a){if(a===true){a=5}if(a){a=Ext.dom.Element.unitizeBox(a)}return a},updateBodyPadding:function(a){this.element.setStyle("padding",a)},applyBodyMargin:function(a){if(a===true){a=5}if(a){a=Ext.dom.Element.unitizeBox(a)}return a},updateBodyMargin:function(a){this.element.setStyle("margin",a)},applyBodyBorder:function(a){if(a===true){a=1}if(a){a=Ext.dom.Element.unitizeBox(a)}return a},updateBodyBorder:function(a){this.element.setStyle("border-width",a)},alignTo:function(m){var w=this.tipElement;w.hide();if(this.currentTipPosition){w.removeCls("x-anchor-"+this.currentTipPosition)}this.callParent(arguments);var f=Ext.util.LineSegment,d=m.isComponent?m.renderElement:m,a=this.renderElement,n=d.getPageBox(),k=a.getPageBox(),b=k.left,t=k.top,C=k.right,h=k.bottom,j=b+(k.width/2),i=t+(k.height/2),o={x:b,y:t},l={x:C,y:t},B={x:b,y:h},D={x:C,y:h},y={x:j,y:i},s=n.left+(n.width/2),q=n.top+(n.height/2),v={x:s,y:q},c=new f(y,v),g=0,A=0,e,z,r,p,x,u;w.setVisibility(false);w.show();e=w.getSize();z=e.width;r=e.height;if(c.intersects(new f(o,l))){x=Math.min(Math.max(s,b),C-(z/2));u=t;A=r+10;p="top"}else{if(c.intersects(new f(o,B))){x=b;u=Math.min(Math.max(q+(z/2),t),h);g=r+10;p="left"}else{if(c.intersects(new f(B,D))){x=Math.min(Math.max(s,b),C-(z/2));u=h;A=-r-10;p="bottom"}else{if(c.intersects(new f(l,D))){x=C;u=Math.min(Math.max(q-(z/2),t),h);g=-r-10;p="right"}}}}if(x||u){this.currentTipPosition=p;w.addCls("x-anchor-"+p);w.setLeft(x-b);w.setTop(u-t);w.setVisibility(true);this.setLeft(this.getLeft()+g);this.setTop(this.getTop()+A)}}});Ext.define("Ext.SegmentedButton",{extend:"Ext.Container",xtype:"segmentedbutton",requires:["Ext.Button"],config:{baseCls:Ext.baseCSSPrefix+"segmentedbutton",pressedCls:Ext.baseCSSPrefix+"button-pressed",allowMultiple:false,allowDepress:null,pressedButtons:[],layout:{type:"hbox",align:"stretch"},defaultType:"button"},initialize:function(){var a=this;a.callParent();a.on({delegate:"> button",scope:a,tap:"onButtonRelease"});a.onAfter({delegate:"> button",scope:a,hiddenchange:"onButtonHiddenChange"})},updateAllowMultiple:function(){if(!this.initialized&&!this.getInitialConfig().hasOwnProperty("allowDepress")){this.setAllowDepress(true)}},applyItems:function(){var e=this,f=[],d,b,c,a;e.callParent(arguments);a=this.getItems();d=a.length;for(b=0;b=0;b--){c=a.items[b];if(!c.isHidden()){c.addCls(e+"last");break}}},applyPressedButtons:function(a){var e=this,f=[],c,d,b;if(Ext.isArray(a)){d=a.length;for(b=0;bm){c.renderElement.setWidth(m)}}var j=this.spacer.renderElement.getPageBox(),k=f.getPageBox(),g=k.width-j.width,d=k.left,i=k.right,b,l,e;if(g>0){f.setWidth(j.width);b=g/2;d+=b;i-=b}l=j.left-d;e=i-j.right;if(l>0){f.setLeft(l)}else{if(e>0){f.setLeft(-e)}}f.repaint()},updateTitle:function(a){this.titleComponent.setTitle(a);if(this.isPainted()){this.refreshTitlePosition()}}});Ext.define("Ext.Toolbar",{extend:"Ext.Container",xtype:"toolbar",requires:["Ext.Button","Ext.Title","Ext.Spacer"],isToolbar:true,config:{baseCls:Ext.baseCSSPrefix+"toolbar",ui:"dark",title:null,defaultType:"button",layout:{type:"hbox",align:"center"}},constructor:function(a){a=a||{};if(a.docked=="left"||a.docked=="right"){a.layout={type:"vbox",align:"stretch"}}this.callParent([a])},applyTitle:function(a){if(typeof a=="string"){a={title:a,centered:true}}return Ext.factory(a,Ext.Title,this.getTitle())},updateTitle:function(b,a){if(b){this.add(b);this.getLayout().setItemFlex(b,1)}if(a){a.destroy()}},showTitle:function(){var a=this.getTitle();if(a){a.show()}},hideTitle:function(){var a=this.getTitle();if(a){a.hide()}}},function(){});Ext.define("Ext.MessageBox",{extend:"Ext.Sheet",requires:["Ext.Toolbar","Ext.field.Text","Ext.field.TextArea"],config:{ui:"dark",baseCls:Ext.baseCSSPrefix+"msgbox",iconCls:null,showAnimation:{type:"popIn",duration:250,easing:"ease-out"},hideAnimation:{type:"popOut",duration:250,easing:"ease-out"},zIndex:10,defaultTextHeight:75,title:null,buttons:null,message:null,prompt:null,layout:{type:"vbox",pack:"center"}},statics:{OK:{text:"OK",itemId:"ok",ui:"action"},YES:{text:"Yes",itemId:"yes",ui:"action"},NO:{text:"No",itemId:"no"},CANCEL:{text:"Cancel",itemId:"cancel"},INFO:Ext.baseCSSPrefix+"msgbox-info",WARNING:Ext.baseCSSPrefix+"msgbox-warning",QUESTION:Ext.baseCSSPrefix+"msgbox-question",ERROR:Ext.baseCSSPrefix+"msgbox-error",OKCANCEL:[{text:"Cancel",itemId:"cancel"},{text:"OK",itemId:"ok",ui:"action"}],YESNOCANCEL:[{text:"Cancel",itemId:"cancel"},{text:"No",itemId:"no"},{text:"Yes",itemId:"yes",ui:"action"}],YESNO:[{text:"No",itemId:"no"},{text:"Yes",itemId:"yes",ui:"action"}]},constructor:function(a){a=a||{};if(a.hasOwnProperty("promptConfig")){Ext.applyIf(a,{prompt:a.promptConfig});delete a.promptConfig}if(a.hasOwnProperty("multiline")||a.hasOwnProperty("multiLine")){a.prompt=a.prompt||{};Ext.applyIf(a.prompt,{multiLine:a.multiline||a.multiLine});delete a.multiline;delete a.multiLine}this.defaultAllowedConfig={};var e=["ui","showAnimation","hideAnimation","title","message","prompt","iconCls","buttons","defaultTextHeight"],d=e.length,b,c;for(b=0;b=a-c&&b<=a+c)},onDragStart:function(f){var d=this.getDirection(),b=f.absDeltaX,a=f.absDeltaY,c=this.getDirectionLock();this.isDragging=true;if(c){if((d==="horizontal"&&b>a)||(d==="vertical"&&a>b)){f.stopPropagation()}else{this.isDragging=false;return}}if(this.isAnimating){this.getActiveCarouselItem().getTranslatable().stopAnimation()}this.dragStartOffset=this.offset;this.dragDirection=0},onDrag:function(j){if(!this.isDragging){return}var k=this.dragStartOffset,l=this.getDirection(),m=l==="horizontal"?j.deltaX:j.deltaY,a=this.offset,i=this.flickStartTime,c=this.dragDirection,b=Ext.Date.now(),h=this.getActiveIndex(),f=this.getMaxItemIndex(),d=c,g;if((h===0&&m>0)||(h===f&&m<0)){m*=0.5}g=k+m;if(g>a){c=1}else{if(g300){this.flickStartOffset=a;this.flickStartTime=b}this.dragDirection=c;this.setOffset(g)},onDragEnd:function(j){if(!this.isDragging){return}this.onDrag(j);this.isDragging=false;var a=Ext.Date.now(),i=this.itemLength,g=i/2,f=this.offset,m=this.getActiveIndex(),c=this.getMaxItemIndex(),h=0,l=f-this.flickStartOffset,b=a-this.flickStartTime,k=this.getIndicator(),d;if(b>0&&Math.abs(l)>=10){d=l/b;if(Math.abs(d)>=1){if(d<0&&m0&&m>0){h=1}}}}if(h===0){if(m0&&f>g){h=1}}}if(k){k.setActiveIndex(m-h)}this.animationDirection=h;this.setOffsetAnimated(h*i)},applyAnimation:function(a){a.easing=Ext.factory(a.easing,Ext.fx.easing.EaseOut);return a},updateDirection:function(b){var a=this.getIndicator();this.currentAxis=(b==="horizontal")?"x":"y";if(a){a.setDirection(b)}},setOffset:function(e){var k=this.orderedCarouselItems,c=this.getBufferSize(),g=k[c],j=this.itemLength,d=this.currentAxis,a,h,b,f;this.offset=e;e+=this.itemOffset;if(g){g.translateAxis(d,e);for(f=1,b=0;f<=c;f++){h=k[c-f];if(h){b+=j;h.translateAxis(d,e-b)}}for(f=1,b=0;f<=c;f++){a=k[c+f];if(a){b+=j;a.translateAxis(d,e+b)}}}return this},setOffsetAnimated:function(c){var b=this.orderedCarouselItems[this.getBufferSize()],a=this.getIndicator();if(a){a.setActiveIndex(this.getActiveIndex()-this.animationDirection)}this.offset=c;c+=this.itemOffset;if(b){this.isAnimating=true;b.getTranslatable().on(this.animationListeners);b.translateAxis(this.currentAxis,c,this.getAnimation())}return this},onActiveItemAnimationFrame:function(k){var j=this.orderedCarouselItems,c=this.getBufferSize(),h=this.itemLength,d=this.currentAxis,e=k[d],g,a,f,b;for(f=1,b=0;f<=c;f++){g=j[c-f];if(g){b+=h;g.translateAxis(d,e-b)}}for(f=1,b=0;f<=c;f++){a=j[c+f];if(a){b+=h;a.translateAxis(d,e+b)}}},onActiveItemAnimationEnd:function(b){var c=this.getActiveIndex(),a=this.animationDirection,e=this.currentAxis,f=b[e],d=this.itemLength,g;this.isAnimating=false;b.un(this.animationListeners);if(a===-1){g=d+f}else{if(a===1){g=f-d}else{g=f}}g-=this.itemOffset;this.offset=g;this.setActiveItem(c-a)},refresh:function(){this.refreshSizing();this.refreshActiveItem()},refreshSizing:function(){var a=this.element,b=this.getItemLength(),c,d;if(this.getDirection()==="horizontal"){d=a.getWidth()}else{d=a.getHeight()}this.hiddenTranslation=-d;if(b===null){b=d;c=0}else{c=(d-b)/2}this.itemLength=b;this.itemOffset=c},refreshOffset:function(){this.setOffset(this.offset)},refreshActiveItem:function(){this.doSetActiveItem(this.getActiveItem())},getActiveIndex:function(){return this.activeIndex},refreshActiveIndex:function(){this.activeIndex=this.getInnerItemIndex(this.getActiveItem())},refreshCarouselItems:function(){var a=this.carouselItems,b,d,c;for(b=0,d=a.length;b0){for(f=1;f<=c;f++){h=q-f;if(h>=0){a=this.getInnerItemAt(h);b=a.getId();o[b]=a;p[b]=c-f}else{break}}}if(qb){this.setActiveItem(b)}else{this.rebuildInnerIndexes(a);this.refreshActiveItem()}}},rebuildInnerIndexes:function(n){var c=this.innerIndexToItem,g=this.innerIdToIndex,j=this.innerItems.slice(),h=j.length,b=this.getBufferSize(),d=this.getMaxItemIndex(),l=[],e,k,f,a,m;if(n===undefined){this.innerIndexToItem=c={};this.innerIdToIndex=g={};for(e=0;e=0&&e<=d){if(c.hasOwnProperty(e)){Ext.Array.remove(j,c[e]);continue}l.push(e)}}for(e=0,h=l.length;e ."+Ext.baseCSSPrefix+"data-item",scope:this})},initialize:function(){this.callParent();this.doInitialize()},onItemTouchStart:function(d){var b=this,c=d.getTarget(),a=Ext.getCmp(c.id);a.on({touchmove:"onItemTouchMove",scope:b,single:true});b.fireEvent("itemtouchstart",b,a,b.indexOf(a),d)},onItemTouchMove:function(d){var b=this,c=d.getTarget(),a=Ext.getCmp(c.id);b.fireEvent("itemtouchmove",b,a,b.indexOf(a),d)},onItemTouchEnd:function(d){var b=this,c=d.getTarget(),a=Ext.getCmp(c.id);a.un({touchmove:"onItemTouchMove",scope:b});b.fireEvent("itemtouchend",b,a,b.indexOf(a),d)},onItemTap:function(d){var b=this,c=d.getTarget(),a=Ext.getCmp(c.id);b.fireEvent("itemtap",b,a,b.indexOf(a),d)},onItemTapHold:function(d){var b=this,c=d.getTarget(),a=Ext.getCmp(c.id);b.fireEvent("itemtaphold",b,a,b.indexOf(a),d)},onItemSingleTap:function(d){var b=this,c=d.getTarget(),a=Ext.getCmp(c.id);b.fireEvent("itemsingletap",b,a,b.indexOf(a),d)},onItemDoubleTap:function(d){var b=this,c=d.getTarget(),a=Ext.getCmp(c.id);b.fireEvent("itemdoubletap",b,a,b.indexOf(a),d)},onItemSwipe:function(d){var b=this,c=d.getTarget(),a=Ext.getCmp(c.id);b.fireEvent("itemswipe",b,a,b.indexOf(a),d)},moveItemsToCache:function(j,k){var h=this,c=h.dataview,a=c.getMaxItemCache(),g=h.getViewItems(),f=h.itemCache,e=f.length,l=c.getPressedCls(),d=c.getSelectedCls(),b=k-j,m;for(;b>=0;b--){m=g[j+b];if(e!==a){h.remove(m,false);m.removeCls([l,d]);f.push(m);e++}else{m.destroy()}}if(h.getViewItems().length==0){this.dataview.showEmptyText()}},moveItemsFromCache:function(b){var l=this,e=l.dataview,m=e.getStore(),k=b.length,a=e.getDefaultType(),h=e.getItemConfig(),g=l.itemCache,f=g.length,j=[],c,n,d;if(k){e.hideEmptyText()}for(c=0;ci._tmpIndex?1:-1});for(c=0;c{text}",pressedCls:"x-item-pressed",itemCls:null,selectedCls:"x-item-selected",triggerEvent:"itemtap",triggerCtEvent:"tap",deselectOnContainerClick:true,scrollable:true,inline:null,pressedDelay:100,loadingText:"Loading...",useComponents:null,itemConfig:{},maxItemCache:20,defaultType:"dataitem",scrollToTopOnRefresh:true},constructor:function(a){var b=this;b.hasLoadedStore=false;b.mixins.selectable.constructor.apply(b,arguments);b.callParent(arguments)},updateItemCls:function(c,b){var a=this.container;if(a){if(b){a.doRemoveItemCls(b)}if(c){a.doAddItemCls(c)}}},storeEventHooks:{beforeload:"onBeforeLoad",load:"onLoad",refresh:"refresh",addrecords:"onStoreAdd",removerecords:"onStoreRemove",updaterecord:"onStoreUpdate"},initialize:function(){this.callParent();var b=this,a;b.on(b.getTriggerCtEvent(),b.onContainerTrigger,b);a=b.container=this.add(new Ext.dataview[b.getUseComponents()?"component":"element"].Container({baseCls:this.getBaseCls()}));a.dataview=b;b.on(b.getTriggerEvent(),b.onItemTrigger,b);a.on({itemtouchstart:"onItemTouchStart",itemtouchend:"onItemTouchEnd",itemtap:"onItemTap",itemtaphold:"onItemTapHold",itemtouchmove:"onItemTouchMove",itemsingletap:"onItemSingleTap",itemdoubletap:"onItemDoubleTap",itemswipe:"onItemSwipe",scope:b});if(this.getStore()){this.refresh()}},applyInline:function(a){if(Ext.isObject(a)){a=Ext.apply({},a)}return a},updateInline:function(c,b){var a=this.getBaseCls();if(b){this.removeCls([a+"-inlineblock",a+"-nowrap"])}if(c){this.addCls(a+"-inlineblock");if(Ext.isObject(c)&&c.wrap===false){this.addCls(a+"-nowrap")}else{this.removeCls(a+"-nowrap")}}},prepareData:function(c,b,a){c.xindex=b+1;return c},onContainerTrigger:function(b){var a=this;if(b.target!=a.element.dom){return}if(a.getDeselectOnContainerClick()&&a.getStore()){a.deselectAll()}},onItemTrigger:function(b,a){this.selectWithEvent(this.getStore().getAt(a))},doAddPressedCls:function(a){var c=this,b=c.container.getViewItems()[c.getStore().indexOf(a)];if(Ext.isElement(b)){b=Ext.get(b)}if(b){b.addCls(c.getPressedCls())}},onItemTouchStart:function(b,h,d,g){var f=this,c=f.getStore(),a=c&&c.getAt(d);f.fireAction("itemtouchstart",[f,d,h,a,g],"doItemTouchStart")},doItemTouchStart:function(c,b,e,a){var d=c.getPressedDelay();if(a){if(d>0){c.pressedTimeout=Ext.defer(c.doAddPressedCls,d,c,[a])}else{c.doAddPressedCls(a)}}},onItemTouchEnd:function(b,h,d,g){var f=this,c=f.getStore(),a=c&&c.getAt(d);if(this.hasOwnProperty("pressedTimeout")){clearTimeout(this.pressedTimeout);delete this.pressedTimeout}if(a&&h){h.removeCls(f.getPressedCls())}f.fireEvent("itemtouchend",f,d,h,a,g)},onItemTouchMove:function(b,h,d,g){var f=this,c=f.getStore(),a=c&&c.getAt(d);if(f.hasOwnProperty("pressedTimeout")){clearTimeout(f.pressedTimeout);delete f.pressedTimeout}if(a&&h){h.removeCls(f.getPressedCls())}f.fireEvent("itemtouchmove",f,d,h,a,g)},onItemTap:function(b,h,d,g){var f=this,c=f.getStore(),a=c&&c.getAt(d);f.fireEvent("itemtap",f,d,h,a,g)},onItemTapHold:function(b,h,d,g){var f=this,c=f.getStore(),a=c&&c.getAt(d);f.fireEvent("itemtaphold",f,d,h,a,g)},onItemSingleTap:function(b,h,d,g){var f=this,c=f.getStore(),a=c&&c.getAt(d);f.fireEvent("itemsingletap",f,d,h,a,g)},onItemDoubleTap:function(b,h,d,g){var f=this,c=f.getStore(),a=c&&c.getAt(d);f.fireEvent("itemdoubletap",f,d,h,a,g)},onItemSwipe:function(b,h,d,g){var f=this,c=f.getStore(),a=c&&c.getAt(d);f.fireEvent("itemswipe",f,d,h,a,g)},onItemSelect:function(a,b){var c=this;if(b){c.doItemSelect(c,a)}else{c.fireAction("select",[c,a],"doItemSelect")}},doItemSelect:function(c,a){if(c.container&&!c.isDestroyed){var b=c.container.getViewItems()[c.getStore().indexOf(a)];if(Ext.isElement(b)){b=Ext.get(b)}if(b){b.removeCls(c.getPressedCls());b.addCls(c.getSelectedCls())}}},onItemDeselect:function(a,b){var c=this;if(c.container&&!c.isDestroyed){if(b){c.doItemDeselect(c,a)}else{c.fireAction("deselect",[c,a,b],"doItemDeselect")}}},doItemDeselect:function(c,a){var b=c.container.getViewItems()[c.getStore().indexOf(a)];if(Ext.isElement(b)){b=Ext.get(b)}if(b){b.removeCls([c.getPressedCls(),c.getSelectedCls()])}},updateData:function(b){var a=this.getStore();if(!a){this.setStore(Ext.create("Ext.data.Store",{data:b}))}else{a.add(b)}},applyStore:function(b){var d=this,e=Ext.apply({},d.storeEventHooks,{scope:d}),c,a;if(b){b=Ext.data.StoreManager.lookup(b);if(b&&Ext.isObject(b)&&b.isStore){b.on(e);c=b.getProxy();if(c){a=c.getReader();if(a){a.on("exception","handleException",this)}}}}return b},handleException:function(){this.setMasked(false)},updateStore:function(b,e){var d=this,f=Ext.apply({},d.storeEventHooks,{scope:d}),c,a;if(e&&Ext.isObject(e)&&e.isStore){if(e.autoDestroy){e.destroy()}else{e.un(f);c=e.getProxy();if(c){a=c.getReader();if(a){a.un("exception","handleException",this)}}}}if(b){if(b.isLoaded()){this.hasLoadedStore=true}if(b.isLoading()){d.onBeforeLoad()}if(d.container){d.refresh()}}},onBeforeLoad:function(){var b=this.getScrollable();if(b){b.getScroller().stopAnimation()}var a=this.getLoadingText();if(a){this.setMasked({xtype:"loadmask",message:a});if(b){b.getScroller().setDisabled(true)}}this.hideEmptyText()},updateEmptyText:function(c,d){var b=this,a;if(d&&b.emptyTextCmp){b.remove(b.emptyTextCmp,true);delete b.emptyTextCmp}if(c){b.emptyTextCmp=b.add({xtype:"component",cls:b.getBaseCls()+"-emptytext",html:c,hidden:true});a=b.getStore();if(a&&b.hasLoadedStore&&!a.getCount()){this.showEmptyText()}}},onLoad:function(a){var b=this.getScrollable();this.hasLoadedStore=true;this.setMasked(false);if(b){b.getScroller().setDisabled(false)}if(!a.getCount()){this.showEmptyText()}},refresh:function(){var b=this,a=b.container;if(!b.getStore()){if(!b.hasLoadedStore&&!b.getDeferEmptyText()){b.showEmptyText()}return}if(a){b.fireAction("refresh",[b],"doRefresh")}},applyItemTpl:function(a){return(Ext.isObject(a)&&a.isTemplate)?a:new Ext.XTemplate(a)},onAfterRender:function(){var a=this;a.callParent(arguments);a.updateStore(a.getStore())},getViewItems:function(){return this.container.getViewItems()},doRefresh:function(f){var a=f.container,j=f.getStore(),b=j.getRange(),e=a.getViewItems(),h=b.length,l=e.length,c=h-l,g=f.getScrollable(),d,k;if(this.getScrollToTopOnRefresh()&&g){g.getScroller().scrollToTop()}if(h<1){f.onStoreClear();return}if(c<0){a.moveItemsToCache(l+c,l-1);e=a.getViewItems();l=e.length}else{if(c>0){a.moveItemsFromCache(j.getRange(l))}}for(d=0;dh.y){c=g;break}f=g}return{current:f,next:c}},doRefreshHeaders:function(){if(!this.getGrouped()||!this.container){return false}var l=this.findGroupHeaderIndices(),f=l.length,g=this.container.getViewItems(),j=this.pinHeaderInfo={offsets:[]},a=j.offsets,h=this.getScrollable(),e,k,b,d,c;if(f){for(b=0;bd.offset)||(f&&h0&&d.offset-h<=c){var k=c-(d.offset-h);this.translateHeader(k)}else{this.translateHeader(null)}},translateHeaderTransform:function(a){this.header.renderElement.dom.style.webkitTransform=(a===null)?null:"translate3d(0px, -"+a+"px, 0px)"},translateHeaderCssPosition:function(a){this.header.renderElement.dom.style.top=(a===null)?null:"-"+Math.round(a)+"px"},setActiveGroup:function(b){var a=this,c=a.header;if(c){if(b&&b.header){if(!a.activeGroup||a.activeGroup.header!=b.header){c.show();if(c.element){c.setHtml(b.header.innerHTML)}}}else{if(c&&c.element){c.hide()}}}this.activeGroup=b},onIndex:function(o,c){var r=this,s=c.toLowerCase(),b=r.getStore(),q=b.getGroups(),f=q.length,h=r.getScrollable(),n,e,m,g,k,p;if(h){n=r.getScrollable().getScroller()}else{return}for(m=0;ms){g=e;break}else{g=e}}if(h&&g){p=r.container.getViewItems()[b.indexOf(g.children[0])];n.stopAnimation();var l=n.getContainerSize().y,j=n.getSize().y,d=j-l,a=(p.offsetTop>d)?d:p.offsetTop;n.scrollTo(0,a)}},applyOnItemDisclosure:function(a){if(Ext.isFunction(a)){return{scope:this,handler:a}}return a},handleItemDisclosure:function(f){var d=this,c=f.getTarget().parentNode,b=d.container.getViewItems().indexOf(c),a=d.getStore().getAt(b);d.fireAction("disclose",[d,a,c,b,f],"doDisclose")},doDisclose:function(f,a,d,c,g){var b=f.getOnItemDisclosure();if(b&&b.handler){b.handler.call(b.scope||f,a,d,c,g)}},findGroupHeaderIndices:function(){if(!this.getGrouped()){return[]}var h=this,k=h.getStore();if(!k){return[]}var b=h.container,d=k.getGroups(),m=d.length,g=b.getViewItems(),c=[],l=b.footerClsShortCache,e,a,f,n,j;b.doRemoveHeaders();b.doRemoveFooterCls();if(g.length){for(e=0;e class="x-list-item-leaf">'+a.getItemTextTpl(b)+""},this.getListConfig())}},function(){});Ext.define("Ext.form.FieldSet",{extend:"Ext.Container",alias:"widget.fieldset",requires:["Ext.Title"],config:{baseCls:Ext.baseCSSPrefix+"form-fieldset",title:null,instructions:null},applyTitle:function(a){if(typeof a=="string"){a={title:a}}Ext.applyIf(a,{docked:"top",baseCls:this.getBaseCls()+"-title"});return Ext.factory(a,Ext.Title,this.getTitle())},updateTitle:function(b,a){if(b){this.add(b)}if(a){this.remove(a)}},applyInstructions:function(a){if(typeof a=="string"){a={title:a}}Ext.applyIf(a,{docked:"bottom",baseCls:this.getBaseCls()+"-instructions"});return Ext.factory(a,Ext.Title,this.getInstructions())},updateInstructions:function(b,a){if(b){this.add(b)}if(a){this.remove(a)}}});Ext.define("Ext.form.Panel",{alternateClassName:"Ext.form.FormPanel",extend:"Ext.Panel",xtype:"formpanel",requires:["Ext.XTemplate","Ext.field.Checkbox","Ext.Ajax"],config:{baseCls:Ext.baseCSSPrefix+"form",standardSubmit:false,url:null,baseParams:null,submitOnAction:false,record:null,method:"post",scrollable:{translationMethod:"scrollposition"}},getElementConfig:function(){var a=this.callParent();a.tag="form";return a},initialize:function(){var a=this;a.callParent();a.element.on({submit:"onSubmit",scope:a})},updateRecord:function(c){var a,b,d;if(c&&(a=c.fields)){b=this.getValues();for(d in b){if(b.hasOwnProperty(d)&&a.containsKey(d)){c.set(d,b[d])}}}return this},setRecord:function(a){var b=this;if(a&&a.data){b.setValues(a.data)}b._record=a;return this},onSubmit:function(b){var a=this;if(b&&!a.getStandardSubmit()){b.stopEvent()}else{this.submit()}},updateSubmitOnAction:function(a){if(a){this.on({action:"onFieldAction",scope:this})}else{this.un({action:"onFieldAction",scope:this})}},onFieldAction:function(a){if(this.getSubmitOnAction()){a.blur();this.submit()}},submit:function(a){var c=this,b=c.element.dom||{},d;a=Ext.apply({url:c.getUrl()||b.action,submit:false,method:c.getMethod()||b.method||"post",autoAbort:false,params:null,waitMsg:null,headers:null,success:null,failure:null},a||{});d=c.getValues(c.getStandardSubmit()||!a.submitDisabled);return c.fireAction("beforesubmit",[c,d,a],"doBeforeSubmit")},doBeforeSubmit:function(f,h,b){var e=f.element.dom||{};if(f.getStandardSubmit()){if(b.url&&Ext.isEmpty(e.action)){e.action=b.url}var a=this.query("spinnerfield"),d=a.length,c,g;for(c=0;c1;d.doChangeView(c,a,false)},onViewRemove:function(c){var d=this,b=d.backButtonStack,a;d.endAnimation();b.pop();a=b.length>1;d.doChangeView(c,a,true)},doChangeView:function(k,c,g){var r=this,o=r.leftBox,e=o.element,f=r.titleComponent,m=f.element,n=r.getBackButton(),l=r.getTitleText(),h=r.getBackButtonText(),q=r.getAnimation()&&k.getLayout().getAnimation(),p=q&&q.isAnimation&&k.isPainted(),d,i,a,j,b;if(p){i=r.createProxy(o.element);e.setStyle("opacity","0");n.setText(h);n[c?"show":"hide"]();a=r.createProxy(f.element.getParent());m.setStyle("opacity","0");r.setTitle(l);r.refreshTitlePosition();d=r.measureView(i,a,g);j=d.left;b=d.title;r.isAnimating=true;r.animate(e,j.element);r.animate(m,b.element,function(){m.setLeft(d.titleLeft);r.isAnimating=false});if(Ext.os.is.Android2&&!this.getAndroid2Transforms()){i.ghost.destroy();a.ghost.destroy()}else{r.animate(i.ghost,j.ghost);r.animate(a.ghost,b.ghost,function(){i.ghost.destroy();a.ghost.destroy()})}}else{if(c){n.setText(h);n.show()}else{n.hide()}r.setTitle(l)}},measureView:function(e,u,k){var w=this,j=w.element,v=w.leftBox.element,p=w.titleComponent.element,l=Math.min(j.getWidth()/3,200),q=v.getWidth(),c=j.getX(),m=j.getWidth(),n=p.getX(),d=p.getLeft(),s=p.getWidth(),r=e.x,t=e.width,a=e.left,h=Ext.os.is.Android2&&!this.getAndroid2Transforms(),i,b,f,x,o,g;g=c-r-t;if(k){i=g;b=Math.min(n-t,l)}else{b=g;i=Math.min(n-c,l)}if(h){f={element:{from:{left:i,opacity:1},to:{left:0,opacity:1}}}}else{f={element:{from:{transform:{translateX:i},opacity:0},to:{transform:{translateX:0},opacity:1}},ghost:{to:{transform:{translateX:b},opacity:0}}}}g=c-n+q;if((a+s)>n){o=c-n-s}if(k){p.setLeft(0);b=c+m;if(o!==undefined){i=o}else{i=g}}else{i=m-n;if(o!==undefined){b=o}else{b=g}}if(h){x={element:{from:{left:i,opacity:1},to:{left:d,opacity:1}}}}else{x={element:{from:{transform:{translateX:i},opacity:0},to:{transform:{translateX:d},opacity:1}},ghost:{to:{transform:{translateX:b},opacity:0}}}}return{left:f,title:x,titleLeft:d}},animate:function(b,a,e){var c=this,d;b.setLeft(0);a=Ext.apply(a,{element:b,easing:"ease-in-out",duration:c.getAnimation().duration});d=new Ext.fx.Animation(a);d.on("animationend",function(){if(e){e.call(c)}},c);Ext.Animator.run(d);c.activeAnimations.push(d)},endAnimation:function(){var a=this.activeAnimations,d,b,c;if(a){c=a.length;for(b=0;b0){if(b&&b.isAnimation){b.setReverse(true)}a.setActiveItem(d-1);a.getNavigationBar().onViewRemove(a,c[d],d)}},doRemove:function(){var a=this.getLayout().getAnimation();if(a&&a.isAnimation){a.setReverse(false)}this.callParent(arguments)},onItemAdd:function(b,a){this.doItemLayoutAdd(b,a);if(!this.isItemsInitializing&&b.isInnerItem()){this.setActiveItem(b);this.getNavigationBar().onViewAdd(this,b,a)}if(this.initialized){this.fireEvent("add",this,b,a)}},reset:function(){return this.pop(this.getInnerItems().length)}});Ext.define("Ext.picker.Slot",{extend:"Ext.dataview.DataView",xtype:"pickerslot",alternateClassName:"Ext.Picker.Slot",requires:["Ext.XTemplate","Ext.data.Store","Ext.Component","Ext.data.StoreManager"],isSlot:true,config:{title:null,showTitle:true,cls:Ext.baseCSSPrefix+"picker-slot",name:null,value:null,flex:1,align:"left",displayField:"text",valueField:"value",scrollable:{direction:"vertical",indicators:false,momentumEasing:{minVelocity:2},slotSnapEasing:{duration:100}}},constructor:function(){this.selectedIndex=0;this.callParent(arguments)},applyTitle:function(a){if(a){a=Ext.create("Ext.Component",{cls:Ext.baseCSSPrefix+"picker-slot-title",docked:"top",html:a})}return a},updateTitle:function(b,a){if(b){this.add(b);this.setupBar()}if(a){this.remove(a)}},updateShowTitle:function(a){var b=this.getTitle();if(b){b[a?"show":"hide"]();this.setupBar()}},updateDisplayField:function(a){this.setItemTpl('
'+Ext.baseCSSPrefix+'picker-invalid">{'+a+"}
")},updateAlign:function(a,c){var b=this.element;b.addCls(Ext.baseCSSPrefix+"picker-"+a);b.removeCls(Ext.baseCSSPrefix+"picker-"+c)},applyData:function(d){var f=[],c=d&&d.length,a,b,e;if(d&&Ext.isArray(d)&&c){for(a=0;a0){c[0].addCls(b+"first");c[c.length-1].addCls(b+"last")}this.updateUseTitles(this.getUseTitles())},onDoneButtonTap:function(){var a=this._value,b=this.getValue(true);if(b!=a){this.fireEvent("change",this,b)}this.hide()},onCancelButtonTap:function(){this.fireEvent("cancel",this);this.hide()},onSlotPick:function(a){this.fireEvent("pick",this,this.getValue(true),a)},onShow:function(){if(!this.isHidden()){this.setValue(this._value)}},setValue:function(k,a){var f=this,d=f.getInnerItems(),e=d.length,j,h,c,b,g;if(!k){k={};for(b=0;b{'+this.getDisplayField()+":htmlEncode}",listeners:{select:this.onListSelect,itemtap:this.onListTap,scope:this}}},a))}return this.listPanel},onMaskTap:function(){if(this.getDisabled()){return false}this.showPicker();return false},showPicker:function(){var b=this.getStore();if(!b||b.getCount()===0){return}if(this.getReadOnly()){return}this.isFocused=true;if(this.getUsePicker()){var e=this.getPhonePicker(),d=this.getName(),h={};h[d]=this.record.get(this.getValueField());e.setValue(h);if(!e.getParent()){Ext.Viewport.add(e)}e.show()}else{var f=this.getTabletPicker(),g=f.down("list"),b=g.getStore(),c=b.find(this.getValueField(),this.getValue(),null,null,null,true),a=b.getAt((c==-1)?0:c);if(!f.getParent()){Ext.Viewport.add(f)}f.showBy(this.getComponent());g.select(a,null,true)}},onListSelect:function(c,a){var b=this;if(a){b.setValue(a)}},onListTap:function(){this.listPanel.hide({type:"fade",out:true,scope:this})},onPickerChange:function(d,f){var e=this,g=f[e.getName()],b=e.getStore(),c=b.find(e.getValueField(),g,null,null,null,true),a=b.getAt(c);e.setValue(a)},onChange:function(f,h,e){var g=this,b=g.getStore(),d=(b)?b.find(g.getDisplayField(),e):-1,c=g.getValueField(),a=(b)?b.getAt(d):null,e=(a)?a.get(c):null;g.fireEvent("change",g,g.getValue(),e)},updateOptions:function(b){var a=this.getStore();if(!a){this.setStore(true);a=this._store}if(!b){a.clearData()}else{a.setData(b);this.onStoreDataChanged(a)}},applyStore:function(a){if(a===true){a=Ext.create("Ext.data.Store",{fields:[this.getValueField(),this.getDisplayField()]})}if(a){a=Ext.data.StoreManager.lookup(a);a.on({scope:this,addrecords:this.onStoreDataChanged,removerecords:this.onStoreDataChanged,updaterecord:this.onStoreDataChanged,refresh:this.onStoreDataChanged})}return a},updateStore:function(a){if(a){this.onStoreDataChanged(a)}},onStoreDataChanged:function(a){var c=this.getInitialConfig(),b=this.getValue();if(Ext.isDefined(b)){this.updateValue(this.applyValue(b))}if(this.getValue()===null){if(c.hasOwnProperty("value")){this.setValue(c.value)}if(this.getValue()===null){if(a.getCount()>0){this.setValue(a.getAt(0))}}}},doSetDisabled:function(a){Ext.Component.prototype.doSetDisabled.apply(this,arguments)},setDisabled:function(){Ext.Component.prototype.setDisabled.apply(this,arguments)},reset:function(){var b=this.getStore(),a=(this.originalValue)?this.originalValue:b.getAt(0);if(b&&a){this.setValue(a)}return this},onFocus:function(a){this.fireEvent("focus",this,a);this.isFocused=true;this.showPicker()},destroy:function(){this.callParent(arguments);Ext.destroy(this.listPanel,this.picker,this.hiddenField)}});Ext.define("Ext.picker.Date",{extend:"Ext.picker.Picker",xtype:"datepicker",alternateClassName:"Ext.DatePicker",requires:["Ext.DateExtras"],config:{yearFrom:1980,yearTo:new Date().getFullYear(),monthText:"Month",dayText:"Day",yearText:"Year",slotOrder:["month","day","year"]},initialize:function(){this.callParent();this.on({scope:this,delegate:"> slot",slotpick:this.onSlotPick})},setValue:function(b,a){if(Ext.isDate(b)){b={day:b.getDate(),month:b.getMonth()+1,year:b.getFullYear()}}this.callParent([b,a])},getValue:function(k){var h={},e=this.getItems().items,d=e.length,a,g,c,f,j,b;for(b=0;bf){e=m;m=f;f=e}for(d=m;d<=f;d++){g.push({text:d,value:d})}a=this.getDaysInMonth(1,new Date().getFullYear());for(d=0;d thumb",dragstart:"onThumbDragStart",drag:"onThumbDrag",dragend:"onThumbDragEnd"});this.on({painted:"refresh",resize:"refresh"})},factoryThumb:function(){return Ext.factory(this.getThumbConfig(),Ext.slider.Thumb)},getThumbs:function(){return this.innerItems},getThumb:function(a){if(typeof a!="number"){a=0}return this.innerItems[a]},refreshOffsetValueRatio:function(){var b=this.getMaxValue()-this.getMinValue(),a=this.elementWidth-this.thumbWidth;this.offsetValueRatio=a/b},refreshElementWidth:function(){this.elementWidth=this.element.dom.offsetWidth;var a=this.getThumb(0);if(a){this.thumbWidth=a.getElementWidth()}},refresh:function(){this.refreshElementWidth();this.refreshValue()},setActiveThumb:function(b){var a=this.activeThumb;if(a&&a!==b){a.setZIndex(null)}this.activeThumb=b;b.setZIndex(2);return this},onThumbDragStart:function(a,b){if(b.absDeltaX<=b.absDeltaY){return false}else{b.stopPropagation()}if(this.getAllowThumbsOverlapping()){this.setActiveThumb(a)}this.dragStartValue=this.getValue()[this.getThumbIndex(a)];this.fireEvent("dragstart",this,a,this.dragStartValue,b)},onThumbDrag:function(c,g,a){var d=this.getThumbIndex(c),f=this.offsetValueRatio,b=this.constrainValue(a/f);g.stopPropagation();this.setIndexValue(d,b);this.fireEvent("drag",this,c,this.getValue(),g);return false},setIndexValue:function(d,g,f){var c=this.getThumb(d),b=this.getValue(),e=this.offsetValueRatio,a=c.getDraggable();a.setOffset(g*e,null,f);b[d]=g},onThumbDragEnd:function(a,f){this.refreshThumbConstraints(a);var c=this.getThumbIndex(a),d=this.getValue()[c],b=this.dragStartValue;this.fireEvent("dragend",this,a,this.getValue(),f);if(b!==d){this.fireEvent("change",this,a,d,b)}},getThumbIndex:function(a){return this.getThumbs().indexOf(a)},refreshThumbConstraints:function(d){var b=this.getAllowThumbsOverlapping(),a=d.getDraggable().getOffset().x,c=this.getThumbs(),e=this.getThumbIndex(d),g=c[e-1],h=c[e+1],f=this.thumbWidth;if(g){g.getDraggable().addExtraConstraint({max:{x:a-((b)?0:f)}})}if(h){h.getDraggable().addExtraConstraint({min:{x:a+((b)?0:f)}})}},onTap:function(j){if(this.isDisabled()){return}var k=Ext.get(j.target);if(!k||k.hasCls("x-thumb")){return}var n=j.touch.point.x,h=this.element,c=h.getX(),d=n-c-(this.thumbWidth/2),o=this.constrainValue(d/this.offsetValueRatio),r=this.getValue(),q=Infinity,m=r.length,g,f,l,p,b,a;if(m===1){p=0}else{for(g=0;g=(a/2)){e+=(c>0)?a:-a}e=Math.max(d,e);e=Math.min(f,e);return e},setThumbsCount:function(e){var a=this.getThumbs(),f=a.length,c,d,b;if(f>e){for(c=0,d=f-e;c0,b=d.getMaxValueCls(),e=d.getMinValueCls();this.element.addCls(g?b:e);this.element.removeCls(g?e:b)},toggle:function(){var a=this.getValue();this.setValue((a==1)?0:1);return this},onTap:function(){if(this.isDisabled()){return}var b=this.getValue(),c=(b==1)?0:1,a=this.getThumb(0);this.setIndexValue(0,c,this.getAnimation());this.refreshThumbConstraints(a);this.fireEvent("change",this,a,c,b)}});Ext.define("Ext.field.Toggle",{extend:"Ext.field.Slider",xtype:"togglefield",alternateClassName:"Ext.form.Toggle",requires:["Ext.slider.Toggle"],config:{cls:"x-toggle-field"},proxyConfig:{minValueCls:"x-toggle-off",maxValueCls:"x-toggle-on"},applyComponent:function(a){return Ext.factory(a,Ext.slider.Toggle)},setValue:function(a){if(a===true){a=1}this.getComponent().setValue(a);return this},getValue:function(){return(this.getComponent().getValue()==1)?1:0},toggle:function(){this.getComponent().toggle();return this}});Ext.define("Ext.tab.Tab",{extend:"Ext.Button",xtype:"tab",alternateClassName:"Ext.Tab",isTab:true,config:{baseCls:Ext.baseCSSPrefix+"tab",pressedCls:Ext.baseCSSPrefix+"tab-pressed",activeCls:Ext.baseCSSPrefix+"tab-active",active:false,title:" "},template:[{tag:"span",reference:"badgeElement",hidden:true},{tag:"span",className:Ext.baseCSSPrefix+"button-icon",reference:"iconElement",style:"visibility: hidden !important"},{tag:"span",reference:"textElement",hidden:true}],updateTitle:function(a){this.setText(a)},hideIconElement:function(){this.iconElement.dom.style.setProperty("visibility","hidden","!important")},showIconElement:function(){this.iconElement.dom.style.setProperty("visibility","visible","!important")},updateActive:function(c,b){var a=this.getActiveCls();if(c&&!b){this.element.addCls(a);this.fireEvent("activate",this)}else{if(b){this.element.removeCls(a);this.fireEvent("deactivate",this)}}}},function(){this.override({activate:function(){this.setActive(true)},deactivate:function(){this.setActive(false)}})});Ext.define("Ext.tab.Bar",{extend:"Ext.Toolbar",alternateClassName:"Ext.TabBar",xtype:"tabbar",requires:["Ext.tab.Tab"],config:{baseCls:Ext.baseCSSPrefix+"tabbar",defaultType:"tab",layout:{type:"hbox",align:"middle"}},eventedConfig:{activeTab:null},initialize:function(){var a=this;a.callParent();a.on({tap:"onTabTap",delegate:"> tab",scope:a})},onTabTap:function(a){this.setActiveTab(a)},applyActiveTab:function(b,c){if(!b&&b!==0){return}var a=this.parseActiveTab(b);if(!a){return}return a},doSetDocked:function(a){var c=this.getLayout(),b=a=="bottom"?"center":"left";if(c.isLayout){c.setPack(b)}else{c.pack=(c&&c.pack)?c.pack:b}},doSetActiveTab:function(b,a){if(b){b.setActive(true)}if(a){a.setActive(false)}},parseActiveTab:function(a){if(typeof a=="number"){return this.getInnerItems()[a]}else{if(typeof a=="string"){a=Ext.getCmp(a)}}return a}});Ext.define("Ext.tab.Panel",{extend:"Ext.Container",xtype:"tabpanel",alternateClassName:"Ext.TabPanel",requires:["Ext.tab.Bar"],config:{ui:"dark",tabBar:true,tabBarPosition:"top",layout:{type:"card",animation:{type:"slide",direction:"left"}},cls:Ext.baseCSSPrefix+"tabpanel"},delegateListeners:{delegate:"> component",centeredchange:"onItemCenteredChange",dockedchange:"onItemDockedChange",floatingchange:"onItemFloatingChange",disabledchange:"onItemDisabledChange"},initialize:function(){this.callParent();this.on({order:"before",activetabchange:"doTabChange",delegate:"> tabbar",scope:this})},applyScrollable:function(){return false},updateUi:function(a,b){this.callParent(arguments);if(this.initialized){this.getTabBar().setUi(a)}},doSetActiveItem:function(d,j){if(d){var f=this.getInnerItems(),g=f.indexOf(j),i=f.indexOf(d),e=g>i,c=this.getLayout().getAnimation(),b=this.getTabBar(),h=b.parseActiveTab(g),a=b.parseActiveTab(i);if(c&&c.setReverse){c.setReverse(e)}this.callParent(arguments);if(i!=-1){this.forcedChange=true;b.setActiveTab(i);this.forcedChange=false;if(h){h.setActive(false)}if(a){a.setActive(true)}}}},doTabChange:function(a,d){var b=this.getActiveItem(),c;this.setActiveItem(a.indexOf(d));c=this.getActiveItem();return this.forcedChange||b!==c},applyTabBar:function(a){if(a===true){a={}}if(a){Ext.applyIf(a,{ui:this.getUi(),docked:this.getTabBarPosition()})}return Ext.factory(a,Ext.tab.Bar,this.getTabBar())},updateTabBar:function(a){if(a){this.add(a);this.setTabBarPosition(a.getDocked())}},updateTabBarPosition:function(b){var a=this.getTabBar();if(a){a.setDocked(b)}},onItemAdd:function(e){var k=this;if(!e.isInnerItem()){return k.callParent(arguments)}var c=k.getTabBar(),o=e.getInitialConfig(),d=o.tab||{},g=(e.getTitle)?e.getTitle():o.title,i=(e.getIconCls)?e.getIconCls():o.iconCls,j=(e.getHidden)?e.getHidden():o.hidden,n=(e.getDisabled)?e.getDisabled():o.disabled,p=(e.getBadgeText)?e.getBadgeText():o.badgeText,b=k.getInnerItems(),h=b.indexOf(e),l=c.getItems(),a=c.getActiveTab(),m=(l.length>=b.length)&&l.getAt(h),f;if(g&&!d.title){d.title=g}if(i&&!d.iconCls){d.iconCls=i}if(j&&!d.hidden){d.hidden=j}if(n&&!d.disabled){d.disabled=n}if(p&&!d.badgeText){d.badgeText=p}f=Ext.factory(d,Ext.tab.Tab,m);if(!m){c.insert(h,f)}e.tab=f;k.callParent(arguments);if(!a&&a!==0){c.setActiveTab(c.getActiveItem())}},onItemDisabledChange:function(a,b){if(a&&a.tab){a.tab.setDisabled(b)}},onItemRemove:function(b,a){this.getTabBar().remove(b.tab,this.getAutoDestroy());this.callParent(arguments)}},function(){});Ext.define("Ext.table.Cell",{extend:"Ext.Container",xtype:"tablecell",config:{baseCls:"x-table-cell"},getElementConfig:function(){var a=this.callParent();a.children.length=0;return a}});Ext.define("Ext.table.Row",{extend:"Ext.table.Cell",xtype:"tablerow",config:{baseCls:"x-table-row",defaultType:"tablecell"}});Ext.define("Ext.table.Table",{extend:"Ext.Container",requires:["Ext.table.Row"],xtype:"table",config:{baseCls:"x-table",defaultType:"tablerow"},cachedConfig:{fixedLayout:false},fixedLayoutCls:"x-table-fixed",updateFixedLayout:function(a){this.innerElement[a?"addCls":"removeCls"](this.fixedLayoutCls)}});Ext.define("Ext.viewport.Default",{extend:"Ext.Container",xtype:"viewport",PORTRAIT:"portrait",LANDSCAPE:"landscape",requires:["Ext.LoadMask"],config:{autoMaximize:false,autoBlurInput:true,preventPanning:true,preventZooming:false,autoRender:true,layout:"card",width:"100%",height:"100%"},isReady:false,isViewport:true,isMaximizing:false,id:"ext-viewport",isInputRegex:/^(input|textarea|select|a)$/i,focusedElement:null,fullscreenItemCls:Ext.baseCSSPrefix+"fullscreen",constructor:function(a){var b=Ext.Function.bind;this.doPreventPanning=b(this.doPreventPanning,this);this.doPreventZooming=b(this.doPreventZooming,this);this.doBlurInput=b(this.doBlurInput,this);this.maximizeOnEvents=["ready","orientationchange"];this.orientation=this.determineOrientation();this.windowWidth=this.getWindowWidth();this.windowHeight=this.getWindowHeight();this.windowOuterHeight=this.getWindowOuterHeight();if(!this.stretchHeights){this.stretchHeights={}}this.callParent([a]);if(this.supportsOrientation()){this.addWindowListener("orientationchange",b(this.onOrientationChange,this))}else{this.addWindowListener("resize",b(this.onResize,this))}document.addEventListener("focus",b(this.onElementFocus,this),true);document.addEventListener("blur",b(this.onElementBlur,this),true);Ext.onDocumentReady(this.onDomReady,this);this.on("ready",this.onReady,this,{single:true});this.getEventDispatcher().addListener("component","*","fullscreen","onItemFullscreenChange",this);return this},onDomReady:function(){this.isReady=true;this.updateSize();this.fireEvent("ready",this)},onReady:function(){if(this.getAutoRender()){this.render()}},onElementFocus:function(a){this.focusedElement=a.target},onElementBlur:function(){this.focusedElement=null},render:function(){if(!this.rendered){var a=Ext.getBody(),b=Ext.baseCSSPrefix,h=[],d=Ext.os,g=d.name.toLowerCase(),f=Ext.browser.name.toLowerCase(),e=d.version.getMajor(),c=this.getOrientation();this.renderTo(a);h.push(b+d.deviceType.toLowerCase());if(d.is.iPad){h.push(b+"ipad")}h.push(b+g);h.push(b+f);if(e){h.push(b+g+"-"+e)}if(d.is.BlackBerry){h.push(b+"bb")}if(Ext.browser.is.Standalone){h.push(b+"standalone")}h.push(b+c);a.addCls(h)}},applyAutoBlurInput:function(a){var b=(Ext.feature.has.Touch)?"touchstart":"mousedown";if(a){this.addWindowListener(b,this.doBlurInput,false)}else{this.removeWindowListener(b,this.doBlurInput,false)}return a},applyAutoMaximize:function(a){if(Ext.browser.is.WebView){a=false}if(a){this.on("ready","doAutoMaximizeOnReady",this,{single:true});this.on("orientationchange","doAutoMaximizeOnOrientationChange",this)}else{this.un("ready","doAutoMaximizeOnReady",this);this.un("orientationchange","doAutoMaximizeOnOrientationChange",this)}return a},applyPreventPanning:function(a){if(a){this.addWindowListener("touchmove",this.doPreventPanning,false)}else{this.removeWindowListener("touchmove",this.doPreventPanning,false)}return a},applyPreventZooming:function(a){var b=(Ext.feature.has.Touch)?"touchstart":"mousedown";if(a){this.addWindowListener(b,this.doPreventZooming,false)}else{this.removeWindowListener(b,this.doPreventZooming,false)}return a},doAutoMaximizeOnReady:function(){var a=arguments[arguments.length-1];a.pause();this.isMaximizing=true;this.on("maximize",function(){this.isMaximizing=false;this.updateSize();a.resume();this.fireEvent("ready",this)},this,{single:true});this.maximize()},doAutoMaximizeOnOrientationChange:function(){var a=arguments[arguments.length-1],b=a.firingArguments;a.pause();this.isMaximizing=true;this.on("maximize",function(){this.isMaximizing=false;this.updateSize();b[1]=this.windowWidth;b[2]=this.windowHeight;a.resume()},this,{single:true});this.maximize()},doBlurInput:function(b){var a=b.target,c=this.focusedElement;if(c&&!this.isInputRegex.test(a.tagName)){delete this.focusedElement;c.blur()}},doPreventPanning:function(a){a.preventDefault()},doPreventZooming:function(b){if("button" in b&&b.button!==0){return}var a=b.target;if(a&&a.nodeType===1&&!this.isInputRegex.test(a.tagName)){b.preventDefault()}},addWindowListener:function(b,c,a){window.addEventListener(b,c,Boolean(a))},removeWindowListener:function(b,c,a){window.removeEventListener(b,c,Boolean(a))},doAddListener:function(a,d,c,b){if(a==="ready"&&this.isReady&&!this.isMaximizing){d.call(c);return this}this.mixins.observable.doAddListener.apply(this,arguments)},supportsOrientation:function(){return Ext.feature.has.Orientation},onResize:function(){var c=this.windowWidth,f=this.windowHeight,e=this.getWindowWidth(),a=this.getWindowHeight(),d=this.getOrientation(),b=this.determineOrientation();if((c!==e||f!==a)&&d!==b){this.fireOrientationChangeEvent(b,d)}},onOrientationChange:function(){var b=this.getOrientation(),a=this.determineOrientation();if(a!==b){this.fireOrientationChangeEvent(a,b)}},fireOrientationChangeEvent:function(b,c){var a=Ext.baseCSSPrefix;Ext.getBody().replaceCls(a+c,a+b);this.orientation=b;this.updateSize();this.fireEvent("orientationchange",this,b,this.windowWidth,this.windowHeight)},updateSize:function(b,a){this.windowWidth=b!==undefined?b:this.getWindowWidth();this.windowHeight=a!==undefined?a:this.getWindowHeight();return this},waitUntil:function(h,e,g,a,f){if(!a){a=50}if(!f){f=2000}var c=this,b=0;setTimeout(function d(){b+=a;if(h.call(c)===true){if(e){e.call(c)}}else{if(b>=f){if(g){g.call(c)}}else{setTimeout(d,a)}}},a)},maximize:function(){this.fireMaximizeEvent()},fireMaximizeEvent:function(){this.updateSize();this.fireEvent("maximize",this)},doSetHeight:function(a){Ext.getBody().setHeight(a);this.callParent(arguments)},doSetWidth:function(a){Ext.getBody().setWidth(a);this.callParent(arguments)},scrollToTop:function(){window.scrollTo(0,-1)},getWindowWidth:function(){return window.innerWidth},getWindowHeight:function(){return window.innerHeight},getWindowOuterHeight:function(){return window.outerHeight},getWindowOrientation:function(){return window.orientation},getOrientation:function(){return this.orientation},getSize:function(){return{width:this.windowWidth,height:this.windowHeight}},determineOrientation:function(){var b=this.PORTRAIT,a=this.LANDSCAPE;if(this.supportsOrientation()){if(this.getWindowOrientation()%180===0){return b}return a}else{if(this.getWindowHeight()>=this.getWindowWidth()){return b}return a}},onItemFullscreenChange:function(a){a.addCls(this.fullscreenItemCls);this.add(a)}});Ext.define("Ext.viewport.Android",{extend:"Ext.viewport.Default",constructor:function(){this.on("orientationchange","doFireOrientationChangeEvent",this,{prepend:true});this.on("orientationchange","hideKeyboardIfNeeded",this,{prepend:true});return this.callParent(arguments)},getDummyInput:function(){var a=this.dummyInput,c=this.focusedElement,b=Ext.fly(c).getPageBox();if(!a){this.dummyInput=a=document.createElement("input");a.style.position="absolute";a.style.opacity="0";document.body.appendChild(a)}a.style.left=b.left+"px";a.style.top=b.top+"px";a.style.display="";return a},doBlurInput:function(c){var b=c.target,d=this.focusedElement,a;if(d&&!this.isInputRegex.test(b.tagName)){a=this.getDummyInput();delete this.focusedElement;a.focus();setTimeout(function(){a.style.display="none"},100)}},hideKeyboardIfNeeded:function(){var a=arguments[arguments.length-1],b=this.focusedElement;if(b){delete this.focusedElement;a.pause();if(Ext.os.version.lt("4")){b.style.display="none"}else{b.blur()}setTimeout(function(){b.style.display="";a.resume()},1000)}},doFireOrientationChangeEvent:function(){var a=arguments[arguments.length-1];this.orientationChanging=true;a.pause();this.waitUntil(function(){return this.getWindowOuterHeight()!==this.windowOuterHeight},function(){this.windowOuterHeight=this.getWindowOuterHeight();this.updateSize();a.firingArguments[1]=this.windowWidth;a.firingArguments[2]=this.windowHeight;a.resume();this.orientationChanging=false},function(){});return this},applyAutoMaximize:function(a){a=this.callParent(arguments);this.on("add","fixSize",this,{single:true});if(!a){this.on("ready","fixSize",this,{single:true});this.onAfter("orientationchange","doFixSize",this)}else{this.un("ready","fixSize",this);this.unAfter("orientationchange","doFixSize",this)}},fixSize:function(){this.doFixSize()},doFixSize:function(){this.setHeight(this.getWindowHeight())},getActualWindowOuterHeight:function(){return Math.round(this.getWindowOuterHeight()/window.devicePixelRatio)},maximize:function(){var c=this.stretchHeights,b=this.orientation,a;a=c[b];if(!a){c[b]=a=this.getActualWindowOuterHeight()}if(!this.addressBarHeight){this.addressBarHeight=a-this.getWindowHeight()}this.setHeight(a);var d=Ext.Function.bind(this.isHeightMaximized,this,[a]);this.scrollToTop();this.waitUntil(d,this.fireMaximizeEvent,this.fireMaximizeEvent)},isHeightMaximized:function(a){this.scrollToTop();return this.getWindowHeight()===a}},function(){if(!Ext.os.is.Android){return}var a=Ext.os.version,b=Ext.browser.userAgent,c=/(htc|desire|incredible|ADR6300)/i.test(b)&&a.lt("2.3");if(c){this.override({constructor:function(d){if(!d){d={}}d.autoMaximize=false;this.watchDogTick=Ext.Function.bind(this.watchDogTick,this);setInterval(this.watchDogTick,1000);return this.callParent([d])},watchDogTick:function(){this.watchDogLastTick=Ext.Date.now()},doPreventPanning:function(){var e=Ext.Date.now(),f=this.watchDogLastTick,d=e-f;if(d>=2000){return}return this.callParent(arguments)},doPreventZooming:function(){var e=Ext.Date.now(),f=this.watchDogLastTick,d=e-f;if(d>=2000){return}return this.callParent(arguments)}})}if(a.match("2")){this.override({onReady:function(){this.addWindowListener("resize",Ext.Function.bind(this.onWindowResize,this));this.callParent(arguments)},scrollToTop:function(){document.body.scrollTop=100},onWindowResize:function(){var e=this.windowWidth,g=this.windowHeight,f=this.getWindowWidth(),d=this.getWindowHeight();if(this.getAutoMaximize()&&!this.isMaximizing&&!this.orientationChanging&&window.scrollY===0&&e===f&&d=g-this.addressBarHeight)||!this.focusedElement)){this.scrollToTop()}},fixSize:function(){var d=this.getOrientation(),f=window.outerHeight,g=window.outerWidth,e;if(d==="landscape"&&(f=g)){e=this.getActualWindowOuterHeight()}else{e=this.getWindowHeight()}this.waitUntil(function(){return e>this.getWindowHeight()},this.doFixSize,this.doFixSize,50,1000)}})}else{if(a.gtEq("3.1")){this.override({isHeightMaximized:function(d){this.scrollToTop();return this.getWindowHeight()===d-1}})}else{if(a.match("3")){this.override({isHeightMaximized:function(){this.scrollToTop();return true}})}}}if(a.gtEq("4")){this.override({doBlurInput:Ext.emptyFn})}});Ext.define("Ext.viewport.Ios",{extend:"Ext.viewport.Default",isFullscreen:function(){return this.isHomeScreen()},isHomeScreen:function(){return window.navigator.standalone===true},constructor:function(){this.callParent(arguments);if(this.getAutoMaximize()&&!this.isFullscreen()){this.addWindowListener("touchstart",Ext.Function.bind(this.onTouchStart,this))}},maximize:function(){if(this.isFullscreen()){return this.callParent()}var c=this.stretchHeights,b=this.orientation,d=this.getWindowHeight(),a=c[b];if(window.scrollY>0){this.scrollToTop();if(!a){c[b]=a=this.getWindowHeight()}this.setHeight(a);this.fireMaximizeEvent()}else{if(!a){a=this.getScreenHeight()}this.setHeight(a);this.waitUntil(function(){this.scrollToTop();return d!==this.getWindowHeight()},function(){if(!c[b]){a=c[b]=this.getWindowHeight();this.setHeight(a)}this.fireMaximizeEvent()},function(){a=c[b]=this.getWindowHeight();this.setHeight(a);this.fireMaximizeEvent()},50,1000)}},getScreenHeight:function(){return window.screen[this.orientation===this.PORTRAIT?"height":"width"]},onElementFocus:function(){if(this.getAutoMaximize()&&!this.isFullscreen()){clearTimeout(this.scrollToTopTimer)}this.callParent(arguments)},onElementBlur:function(){if(this.getAutoMaximize()&&!this.isFullscreen()){this.scrollToTopTimer=setTimeout(this.scrollToTop,500)}this.callParent(arguments)},onTouchStart:function(){if(this.focusedElement===null){this.scrollToTop()}},scrollToTop:function(){window.scrollTo(0,0)}},function(){if(!Ext.os.is.iOS){return}if(Ext.os.version.lt("3.2")){this.override({constructor:function(){var a=this.stretchHeights={};a[this.PORTRAIT]=416;a[this.LANDSCAPE]=268;return this.callOverridden(arguments)}})}if(Ext.os.version.lt("5")){this.override({fieldMaskClsTest:"-field-mask",doPreventZooming:function(b){var a=b.target;if(a&&a.nodeType===1&&!this.isInputRegex.test(a.tagName)&&a.className.indexOf(this.fieldMaskClsTest)==-1){b.preventDefault()}}})}if(Ext.os.is.iPad){this.override({isFullscreen:function(){return true}})}});Ext.define("Ext.viewport.Viewport",{requires:["Ext.viewport.Ios","Ext.viewport.Android"],constructor:function(b){var c=Ext.os.name,d,a;switch(c){case"Android":d="Android";break;case"iOS":d="Ios";break;default:d="Default"}a=Ext.create("Ext.viewport."+d,b);return a}});Ext.define("Ext.event.recognizer.Swipe",{extend:"Ext.event.recognizer.SingleTouch",handledEvents:["swipe"],inheritableStatics:{MAX_OFFSET_EXCEEDED:16,MAX_DURATION_EXCEEDED:17,DISTANCE_NOT_ENOUGH:18},config:{minDistance:80,maxOffset:35,maxDuration:1000},onTouchStart:function(a){if(this.callParent(arguments)===false){return false}var b=a.changedTouches[0];this.startTime=a.time;this.isHorizontal=true;this.isVertical=true;this.startX=b.pageX;this.startY=b.pageY},onTouchMove:function(f){var h=f.changedTouches[0],b=h.pageX,g=h.pageY,c=Math.abs(b-this.startX),a=Math.abs(g-this.startY),d=f.time;if(d-this.startTime>this.getMaxDuration()){return this.fail(this.self.MAX_DURATION_EXCEEDED)}if(this.isVertical&&c>this.getMaxOffset()){this.isVertical=false}if(this.isHorizontal&&a>this.getMaxOffset()){this.isHorizontal=false}if(!this.isHorizontal&&!this.isVertical){return this.fail(this.self.MAX_OFFSET_EXCEEDED)}},onTouchEnd:function(i){if(this.onTouchMove(i)===false){return false}var h=i.changedTouches[0],l=h.pageX,j=h.pageY,g=l-this.startX,f=j-this.startY,c=Math.abs(g),b=Math.abs(f),m=this.getMinDistance(),d=i.time-this.startTime,k,a;if(this.isVertical&&bc){return this.fail(this.self.MAX_DURATION_EXCEEDED)}if(a>b){return this.fail(this.self.MAX_OFFSET_EXCEEDED)}},onTouchEnd:function(f){if(this.onTouchMove(f)!==false){var i=f.changedTouches[0],a=i.pageX,b=a-this.startX,h=Math.abs(b),d=f.time-this.startTime,g=this.getMinDistance(),c;if(h *{height:100%;width:100%;position:absolute}.x-video-ghost{-webkit-background-size:100% auto;background:black url() center center no-repeat}audio{width:100%}.x-panel,.x-msgbox,.x-panel-body{position:relative}.x-panel.x-floating,.x-msgbox.x-floating,.x-form.x-floating{padding:6px;-webkit-border-radius:0.3em;border-radius:0.3em;-webkit-box-shadow:rgba(0, 0, 0, 0.8) 0 0.2em 0.6em;background-color:#03111a;background-image:none}.x-panel.x-floating.x-floating-light,.x-msgbox.x-floating.x-floating-light,.x-form.x-floating.x-floating-light{background-color:#1985d0;background-image:none}.x-panel.x-floating > .x-panel-inner,.x-panel.x-floating .x-scroll-view,.x-panel.x-floating .x-body,.x-msgbox.x-floating > .x-panel-inner,.x-msgbox.x-floating .x-scroll-view,.x-msgbox.x-floating .x-body,.x-form.x-floating > .x-panel-inner,.x-form.x-floating .x-scroll-view,.x-form.x-floating .x-body{background-color:#fff;-webkit-border-radius:0.3em;border-radius:0.3em}.x-anchor{width:1.631em;height:0.7em;position:absolute;left:0;top:0;z-index:1;-webkit-mask:0 0 url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACMAAAAPCAYAAABut3YUAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAPZJREFUeNpi/PX7LwOFwAyIG6HseiA+Ra5BjBQ6xg+IVwAxJ5T/HYgjgHgTOYYxUeCQUiBeh+QQBih7HVSOLiHDDMSTgTiTgLrpQJwLxH9p5RhOaLT4EakeFF3RQPyF2o6RhkaBGYkheRmIPYH4KbXSjC4QnyTDIch6danhGCcgPgwNGXKBNNQMb0ocEwXE24GYn4FyADJjI76Ej88x7UC8FIjZGKgHQDlxGtRsZmISMMjy+dBQoSXYBC0gv+NyDD80xzgx0AeAqg4fIH6NHk0qQHyMjg6B1WvHYDkNFjIgwS1ALMowMOAjEAeBHINe2Q0U+AUQYACQ10C2QNhRogAAAABJRU5ErkJggg==') no-repeat;-webkit-mask-size:1.631em 0.7em;overflow:hidden;background-color:#03111a;-webkit-transform-origin:0% 0%}.x-anchor.x-anchor-top{margin-left:-0.816em;margin-top:-0.7em}.x-anchor.x-anchor-bottom{-webkit-transform:rotate(180deg);margin-left:0.816em;margin-top:0.6em}.x-anchor.x-anchor-left{-webkit-transform:rotate(270deg);margin-left:-0.7em;margin-top:-0.1em}.x-anchor.x-anchor-right{-webkit-transform:rotate(90deg);margin-left:0.7em;margin-top:0}.x-floating.x-panel-light:after{background-color:#1985d0}.x-button{-webkit-background-clip:padding;background-clip:padding-box;-webkit-border-radius:0.4em;border-radius:0.4em;display:-webkit-box;display:box;-webkit-box-align:center;box-align:center;min-height:1.8em;padding:.3em .6em;position:relative;overflow:hidden;-webkit-user-select:none}.x-button,.x-toolbar .x-button{border:1px solid #999999;border-top-color:#a6a6a6;color:black}.x-button.x-button-back:before,.x-button.x-button-forward:before,.x-toolbar .x-button.x-button-back:before,.x-toolbar .x-button.x-button-forward:before{background:#999999}.x-button,.x-button.x-button-back:after,.x-button.x-button-forward:after,.x-toolbar .x-button,.x-toolbar .x-button.x-button-back:after,.x-toolbar .x-button.x-button-forward:after{background-color:#ccc;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ffffff), color-stop(2%, #dedede), color-stop(100%, #bababa));background-image:-webkit-linear-gradient(#ffffff,#dedede 2%,#bababa);background-image:linear-gradient(#ffffff,#dedede 2%,#bababa)}.x-button .x-button-icon.x-icon-mask,.x-toolbar .x-button .x-button-icon.x-icon-mask{background-color:black;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #4d4d4d), color-stop(2%, #121212), color-stop(100%, #000000));background-image:-webkit-linear-gradient(#4d4d4d,#121212 2%,#000000);background-image:linear-gradient(#4d4d4d,#121212 2%,#000000)}.x-button.x-button-pressing,.x-button.x-button-pressing:after,.x-button.x-button-pressed,.x-button.x-button-pressed:after,.x-button.x-button-active,.x-button.x-button-active:after,.x-toolbar .x-button.x-button-pressing,.x-toolbar .x-button.x-button-pressing:after,.x-toolbar .x-button.x-button-pressed,.x-toolbar .x-button.x-button-pressed:after,.x-toolbar .x-button.x-button-active,.x-toolbar .x-button.x-button-active:after{background-color:#c4c4c4;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ababab), color-stop(10%, #b8b8b8), color-stop(65%, #c4c4c4), color-stop(100%, #c6c6c6));background-image:-webkit-linear-gradient(#ababab,#b8b8b8 10%,#c4c4c4 65%,#c6c6c6);background-image:linear-gradient(#ababab,#b8b8b8 10%,#c4c4c4 65%,#c6c6c6)}.x-button .x-button-icon{width:2.1em;height:2.1em;background-repeat:no-repeat;background-position:center;display:block}.x-button .x-button-icon.x-icon-mask{width:1.3em;height:1.3em;-webkit-mask-size:1.3em}.x-button.x-item-disabled .x-button-label,.x-button.x-item-disabled .x-hasbadge .x-badge,.x-hasbadge .x-button.x-item-disabled .x-badge,.x-button.x-item-disabled .x-button-icon{opacity:.5}.x-button-round,.x-button.x-button-action-round,.x-button.x-button-confirm-round,.x-button.x-button-decline-round{-webkit-border-radius:0.9em;border-radius:0.9em;padding:0.1em 0.9em}.x-iconalign-left,.x-icon-align-right{-webkit-box-orient:horizontal;box-orient:horizontal}.x-iconalign-top,.x-iconalign-bottom{-webkit-box-orient:vertical;box-orient:vertical}.x-iconalign-bottom,.x-iconalign-right{-webkit-box-direction:reverse;box-direction:reverse}.x-iconalign-center{-webkit-box-pack:center;box-pack:center}.x-iconalign-left .x-button-label,.x-iconalign-left .x-hasbadge .x-badge,.x-hasbadge .x-iconalign-left .x-badge{margin-left:0.3em}.x-iconalign-right .x-button-label,.x-iconalign-right .x-hasbadge .x-badge,.x-hasbadge .x-iconalign-right .x-badge{margin-right:0.3em}.x-iconalign-top .x-button-label,.x-iconalign-top .x-hasbadge .x-badge,.x-hasbadge .x-iconalign-top .x-badge{margin-top:0.3em}.x-iconalign-bottom .x-button-label,.x-iconalign-bottom .x-hasbadge .x-badge,.x-hasbadge .x-iconalign-bottom .x-badge{margin-bottom:0.3em}.x-button-label,.x-hasbadge .x-badge{-webkit-box-flex:1;box-flex:1;-webkit-box-align:center;box-align:center;white-space:nowrap;text-overflow:ellipsis;text-align:center;font-weight:bold;line-height:1.2em;display:block;overflow:hidden}.x-toolbar .x-button{margin:0 .2em;padding:.3em .6em}.x-toolbar .x-button .x-button-label,.x-toolbar .x-button .x-hasbadge .x-badge,.x-hasbadge .x-toolbar .x-button .x-badge{font-size:.7em}.x-button-small,.x-button.x-button-action-small,.x-button.x-button-confirm-small,.x-button.x-button-decline-small,.x-toolbar .x-button-small,.x-toolbar .x-button.x-button-action-small,.x-toolbar .x-button.x-button-confirm-small,.x-toolbar .x-button.x-button-decline-small{-webkit-border-radius:0.3em;border-radius:0.3em;padding:.2em .4em;min-height:0}.x-button-small .x-button-label,.x-button.x-button-action-small .x-button-label,.x-button.x-button-confirm-small .x-button-label,.x-button.x-button-decline-small .x-button-label,.x-button-small .x-hasbadge .x-badge,.x-hasbadge .x-button-small .x-badge,.x-button.x-button-action-small .x-hasbadge .x-badge,.x-hasbadge .x-button.x-button-action-small .x-badge,.x-button.x-button-confirm-small .x-hasbadge .x-badge,.x-hasbadge .x-button.x-button-confirm-small .x-badge,.x-button.x-button-decline-small .x-hasbadge .x-badge,.x-hasbadge .x-button.x-button-decline-small .x-badge,.x-toolbar .x-button-small .x-button-label,.x-toolbar .x-button.x-button-action-small .x-button-label,.x-toolbar .x-button.x-button-confirm-small .x-button-label,.x-toolbar .x-button.x-button-decline-small .x-button-label,.x-toolbar .x-button-small .x-hasbadge .x-badge,.x-hasbadge .x-toolbar .x-button-small .x-badge,.x-toolbar .x-button.x-button-action-small .x-hasbadge .x-badge,.x-hasbadge .x-toolbar .x-button.x-button-action-small .x-badge,.x-toolbar .x-button.x-button-confirm-small .x-hasbadge .x-badge,.x-hasbadge .x-toolbar .x-button.x-button-confirm-small .x-badge,.x-toolbar .x-button.x-button-decline-small .x-hasbadge .x-badge,.x-hasbadge .x-toolbar .x-button.x-button-decline-small .x-badge{font-size:.6em}.x-button-small .x-button-icon,.x-button.x-button-action-small .x-button-icon,.x-button.x-button-confirm-small .x-button-icon,.x-button.x-button-decline-small .x-button-icon,.x-toolbar .x-button-small .x-button-icon,.x-toolbar .x-button.x-button-action-small .x-button-icon,.x-toolbar .x-button.x-button-confirm-small .x-button-icon,.x-toolbar .x-button.x-button-decline-small .x-button-icon{width:.75em;height:.75em}.x-button-forward,.x-button-back{position:relative;overflow:visible;height:1.8em;z-index:1}.x-button-forward:before,.x-button-forward:after,.x-button-back:before,.x-button-back:after{content:"";position:absolute;width:0.773em;height:1.8em;top:-0.1em;left:auto;z-index:2;-webkit-mask:0.145em 0 url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAABGCAYAAADb7SQ4AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAiNJREFUeNrEWb9LQlEUvj5BcHoQvMnVKXD1D3CLwqBJbHJsazQaWoSCxgbHJiMIAiNok6AhCDdXVycnJ8EQOgeOYaG+d39998KH+HyP753zzjnfd325xfdSgVeV8B6BScuEV0IRSbxHeCMk/AVFXCA8ScQKSXxPqK0fQBBfE5r/D+Y8VzUT9jb94DPimqRYIYkrhGcpKhhxIqTxrpNcExdlQJTTTnRJnCc8ykhUSOIOoZ71ZFfEZ4S2zgUu+rguxZRHEnPbfKRVsOtUl0RtYpOLTYljIS2Z3nVk2DY9SbNCEt8RDm0rUpe4La1jvXSqmtum72raZI24KuNQIYl/nSGSOJb0Jq61M0pxhjwK9304hUjHGSKILzc5Q5drUzttdYY+I97pDH1FzG0zNFUb04gTG4kzJS5kdYauiZtZnaFr4ooKsCIVaDHxKAQxt1NBnGIVHfGCcEQYh3jGU8KBfMKLiyM+lgzAq/qT0ArVTg+Ei1B9fEPoovV4fcfQd2HedScX39GprwGTNjJn0maTELN6IuSzECLB6T5x2eM66jQgnIeSxa60GnS3uL56tr7b1Ai0JPVwYi6yho2U2lgfKym19VxjMRHzEGbvS9K+RBPzetGVUpf29lZHSl2/DMnLvwh1ZMQrKW3Ic4fvJOZS6ZMQW5hpmpT63DvtlFLfm7bBNruM2C2yXb7y3U6ZpRS5P/4jpUjihRTbCJ3q1eL3GMMfAQYAJmB6SBO619IAAAAASUVORK5CYII=') no-repeat;-webkit-mask-size:0.773em 1.8em;overflow:hidden}.x-button-back,.x-toolbar .x-button-back{margin-left:0.828em;padding-left:.4em}.x-button-back:before,.x-toolbar .x-button-back:before{left:-0.693em}.x-button-back:after,.x-toolbar .x-button-back:after{left:-0.628em}.x-button-forward,.x-toolbar .x-button-forward{margin-right:0.828em;padding-right:.4em}.x-button-forward:before,.x-button-forward:after,.x-toolbar .x-button-forward:before,.x-toolbar .x-button-forward:after{-webkit-mask:-0.145em 0 url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAABGCAYAAADb7SQ4AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAXlJREFUaN7lmTFqAlEQhh8EhFSCYJXW1law9QAewMrWAwQWAmmtbPcGHiCQ1gPYCla2QsDKSsgmQecvFqImu2/fzry/2OLb9mt23vwz47Kvn5MwEFxM8DkLB6HHEIOd0GGIwUpoMcRgyRKDOUsMJizxpzBiiMFR6DPEeZl1GWKwFh4ZYvAmPDDEqmVWVQxmLPG3MGaIVcosVAz2whNDDDZCmyEG7yFlpiEGKUsMEpb4XKXMtMXeiVVb7J1YLcRgW1ZmVuLSxGopLkys1mLwwhL/mVhjie8Sayxx3kp7DPFVYo0tzhNriyEGU5Z40TjxtDE/F6WcDowHBE/msDFNImG0xZQRBAonDCvxhhH2vKZIZ9Ds+7EDfaWFnKZ4xhja5owxdcnYCAQv1p1Gi4sprn08cZbDt6ZYZasXIn5mLFHTjLCvVt1V+4rVt/M+4r3FPaJMbHaBKRKb3pyKxKZXtv/Er4yjZpRL6q042u34tzh4xV9H/FHnqBHKBQeEd6aqqwD6AAAAAElFTkSuQmCC') no-repeat}.x-button-forward:before,.x-toolbar .x-button-forward:before{right:-0.693em}.x-button-forward:after,.x-toolbar .x-button-forward:after{right:-0.628em}.x-button.x-button-plain,.x-toolbar .x-button.x-button-plain{background:none;border:0 none;-webkit-border-radius:none;border-radius:none;min-height:0;text-shadow:none;line-height:auto;height:auto;padding:0.5em}.x-button.x-button-plain > *,.x-toolbar .x-button.x-button-plain > *{overflow:visible}.x-button.x-button-plain .x-button-icon,.x-toolbar .x-button.x-button-plain .x-button-icon{-webkit-mask-size:1.4em;width:1.4em;height:1.4em}.x-button.x-button-plain.x-button-pressing,.x-button.x-button-plain.x-button-pressed,.x-toolbar .x-button.x-button-plain.x-button-pressing,.x-toolbar .x-button.x-button-plain.x-button-pressed{background:none;background-image:-webkit-gradient(radial, 50% 50%, 0, 50% 50%, 24, color-stop(0%, rgba(182,225,255,0.7)), color-stop(100%, rgba(182,225,255,0)));background-image:-webkit-radial-gradient(rgba(182,225,255,0.7),rgba(182,225,255,0) 24px);background-image:radial-gradient(rgba(182,225,255,0.7),rgba(182,225,255,0) 24px)}.x-button.x-button-plain.x-button-pressing .x-button-icon.x-button-mask,.x-button.x-button-plain.x-button-pressed .x-button-icon.x-button-mask,.x-toolbar .x-button.x-button-plain.x-button-pressing .x-button-icon.x-button-mask,.x-toolbar .x-button.x-button-plain.x-button-pressed .x-button-icon.x-button-mask{background-color:#fff;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #e6e6e6), color-stop(10%, #f2f2f2), color-stop(65%, #ffffff), color-stop(100%, #ffffff));background-image:-webkit-linear-gradient(#e6e6e6,#f2f2f2 10%,#ffffff 65%,#ffffff);background-image:linear-gradient(#e6e6e6,#f2f2f2 10%,#ffffff 65%,#ffffff)}.x-segmentedbutton .x-button{margin:0;-webkit-border-radius:0;border-radius:0}.x-segmentedbutton .x-button.x-first{-webkit-border-top-left-radius:0.4em;border-top-left-radius:0.4em;-webkit-border-bottom-left-radius:0.4em;border-bottom-left-radius:0.4em}.x-segmentedbutton .x-button.x-last{-webkit-border-top-right-radius:0.4em;border-top-right-radius:0.4em;-webkit-border-bottom-right-radius:0.4em;border-bottom-right-radius:0.4em}.x-segmentedbutton .x-button:not(:first-child){border-left:0}.x-hasbadge{overflow:visible}.x-hasbadge .x-badge{-webkit-background-clip:padding;background-clip:padding-box;-webkit-border-radius:0.2em;border-radius:0.2em;padding:.1em .3em;z-index:2;text-shadow:rgba(0, 0, 0, 0.5) 0 -0.08em 0;-webkit-box-shadow:rgba(0, 0, 0, 0.5) 0 0.1em 0.1em;box-shadow:rgba(0, 0, 0, 0.5) 0 0.1em 0.1em;overflow:hidden;color:#ffcccc;border:1px solid #990000;position:absolute;width:auto;min-width:2em;line-height:1.2em;font-size:.6em;right:0px;top:-0.2em;max-width:95%;background-color:#cc0000;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ff6666), color-stop(2%, #f00000), color-stop(100%, #a80000));background-image:-webkit-linear-gradient(#ff6666,#f00000 2%,#a80000);background-image:linear-gradient(#ff6666,#f00000 2%,#a80000);display:inline-block}.x-tab .x-button-icon.action,.x-button .x-button-icon.x-icon-mask.action{-webkit-mask-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAFI0lEQVRoBe2YW4hVVRjHZ0yzq6lFEaMlE0PShYRAJIl6iEqKHnqI6WJB0IvdICkfEk0aIyo0KFCph8giCitI7CkoohQL7SoZDaQmXSgKo4uWNf1+zt7DOXvOOXuvvc85bc+cD36ssy/r+77/Xmt9e+3TOzIy0jORbNJEEqvWruBOH/HuCHdHuMOeQOmmdO+ozaA5oxXPunSC2Re4MbgCNiB6vvqbKbx0giNxp9BeBU/BIJqnRecLN2UVrLDj4GIYgscRfSltYSuzYMUdA/0wCI8ieglM5XduK7vgWJhTegGshucRfQHkyj1XpziLNrfmOh2ug1dhMaJn0gbZZDpNpsexQb2y3azfKXCAwns4W5dMd7m2B2ANLCT/x/A/nKknN5mUhWFp1g4Z7vM14jrbBZvgEwi1tAdkDEf3ZrgI0S/RrkP4IdqGpuA+cJo0yw7iyNfJmzAcMrokfjp93HC4XrPYCdzkgPXDPPqvJN7eRh0VrBWqfKMuev6k3Qzr4SP4HWqOFIkZ73iYA/NhLpwPZ4LLS+FZzUp+GtwAA/heS/sGwv+irWnXc9bdTRF20/8eOBWmEKwnCectOrPhSlgF2+Bb+Bl+AxP8B/6FvLn8Td8fYQXMSubgsVZU8Cv4mAeNhC7k+jLYCopzrRURlvZA9P8WLIJJlcI5zi1Ypw+Dr4oqp3EAzlsbLCjfg1PeEUxLtlnXXU4/wQboq8gpl2BHx2l5UuyosuW8I6rQb8Bp1iwRefy4VN6FReaopU3pX7jnhwSO7MmVIiNnJ3L+DtgHCm3ltA0RH4/26rhKk1tdu4kr7yeuHkKgU3rMqI5ncfAQDIKbg14oi1nJv4OvTShthC9LjmTyGB8XwhZw+oQ8+Xbc68C8AOboK6+YYPpfDV+B06YdAkJiuMtzhvrOP1JYafMLpu/Z8CmEJNGOe60fz0J/cjZmWcP0G2+sWZ/aUnCqhFosOq7gyf6uOT888th+Ot0HmxF7MOkgt2AcXQNLkg5rHPv+dffjVvPX6PdeWtf7MJhUssD578ZtEGL6sY4MIfTjeh1zCWZ0Z+DwQXAkapkjtzviPdoPYB+JuJVMNfy7QQkR7MbGPfRaYhi7ruUSjLcbwe1k0tw2vgivwy6C70/ekPE4JK+N+HySWDuz+A5xXOnvlsqD6Lf/QjwBnxNc4a02YwzBeuIdyBosWDDT7RKcn1MRYA+/V8ImAv9Rcb5VP53ufoQ8AB8S0+PMFiwYz5fDzCjCF7SLCbojOm514zZ3HViYLIZVxmD4h8B0rtWtFXkEn4tTv22thPe2SawVeDs8TTz/NqoyhLqDGoC7wervt3lNCxKMY/fIc+BLuJXgn9G20pyuVuA1sJF4vt7GjHx8nZnT7XAXzIXnoK4FCcbLVHAqLW+DWF8v78Aq2EY8v7zGDK2+EmfBI3AtTAPNTU1dCxXs/a6ht+t6bM4FNykvw/0IdYSrDLHu8iyeQ7Cg6mLKQahgd0pbSOJwit/cl6Np6p+BrxGn6hNUp1z3m/tOWAH+DrIgwSTQcBcTFLnOzcRwSjZ6j/vdvQyCxRrSanu0mWvZqp3LjkbBuYTGnSac4CxreCQqJPFD+r/bhq+dtOSyCO7DyWzIcm9avKLXXb+FcskiYjlBfB0lP9KLJp+nv6N7ZL+cp7N9sgg+L6/zMvabcEWrK7iM07CZOXVHuJlPs4y+rNJ74JkyJpczp62N+vWOfpw0uqWzrnXXcGeN53g13REe/0w660x3hDtrPMer+Q9LNCcV91c+jgAAAABJRU5ErkJggg==')}.x-tab .x-button-icon.add,.x-button .x-button-icon.x-icon-mask.add{-webkit-mask-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAABqUlEQVRoBe2awWnDUBBE843B4NxcQSAFOC4lJeTkoxtJDykgvRhcgCFNJCFgIs+ChEHSJX93YT6ZD4ssmR3NztNFH5Wu6+6iVynlEZpbp+4J3s5OjWm7DRxZuMMCdUB9oyzNmrJe01hEejMtM5exIh6bCI3JbFkDT27EckEDs5DI8iHCWcmy6IowC4ksHyKclSyLrgizkMjyIcJZybLoijALiSwfIpyVLItuOGFso/xiuEvAgJdeK0DqJrHEhtsTTh9ul9y/ChR2KE+Y1ruDt2ccI7d6PszcK+oFFblWELt3Cn6i/8epMW5/W+LKGrUZ/0NwboF5QxuPsfY8dmOxJs41cBOYHCZF2BFeE60i3AQmh0kRdoTXRKsIN4HJYVKEHeE10frvCNvr4RH1HojH3rGHr3hqA7VdkxPKvuKJ3AA4hn7BM3xxA5N71Fdv1gz/tax3P+hFHmsJwM/8wraMadqOh5GuXda76rVqNWb7wgeevQvRRQ1MBCPFiginxEokKsJEMFKsiHBKrESiIkwEI8WKCKfESiQqwkQwUqyIcEqsRKIiTAQjxcoVrP83/9czD9EAAAAASUVORK5CYII=')}.x-tab .x-button-icon.arrow_down,.x-button .x-button-icon.x-icon-mask.arrow_down{-webkit-mask-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpGRTdGMTE3NDA3MjA2ODExOTJDQUMyNUQwRUE4NjdEQiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoxQTFBMDFDQ0I5NEYxMURGQUU1RjlGMEFERUNDQTVEMCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoyMkRCMDIxMkI5NEUxMURGQUU1RjlGMEFERUNDQTVEMCIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IE1hY2ludG9zaCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjMwRTE0QzVBNDIyMjY4MTFCQ0ZCOTAzOTcwNzcyRkVCIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkZFN0YxMTc0MDcyMDY4MTE5MkNBQzI1RDBFQTg2N0RCIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+HfrH/AAAAeVJREFUeNrs2cFHBGEUAPA3zYqIiIhOnTpFRHSKrp26RqeuEV077R/QqWtE166dOkVERHRa9hQRnZalFcv0Hk/W1Mx+38z3vvlm5j3eZW+/9+abne+9KEkSaFPMQMtCwQpWsIIVrGAFK1jBClawgo2ik/4hiqJGwLKuvfpIc5xSkWqYr5hzU1s/mRNxXTPsJ+ZqluvXlwOmSj3XBDvG3M1rpAmYYoUrFzr4ZNqTawqm2MH8Dhh7ZXJUbcAUx4FinzBnJcAUl4FhP/jIgRSYKvkYCJaO2LbNv08RMMUy5nsA4COTLy0XYIqtil9iF6aflq7AwBWuAvuQ9ZKSBgNX2ieWjtKSzeXBNZgqfe8J+4W5aXtbcg0GrvibB/BhkeuhBJhigzsghT0veh+WAlMcCGHvMOMQwcCdcIntYy6WmXhIg2PuiAvsEHO97IhHGgzckb4D8L6LmZYPMHBnhiWwXVdDPF9g4A4Vwd66nFr6BAN3ygbbw1yoMzjmjplgB5hrrufSvsHAHesZDOD2JAbxVYCBOzfIAZ9JbR6qAgN3cPwP9kZy1VIlGLiTdluCmoOBO/pnS9Bk8DzmS3pL4BMcpZEe1qX0GI/atC4dQYXRMa1MU0IX4gpWsIIVrGAFK1jBCnYUPwIMAPUPAyFL+nRdAAAAAElFTkSuQmCC')}.x-tab .x-button-icon.arrow_left,.x-button .x-button-icon.x-icon-mask.arrow_left{-webkit-mask-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpGRTdGMTE3NDA3MjA2ODExOTJDQUMyNUQwRUE4NjdEQiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpGMDZEQTFBREFDOTMxMURGOEQ2MUVDMjM0MzY2NTBDQSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpGMDZEQTFBQ0FDOTMxMURGOEQ2MUVDMjM0MzY2NTBDQSIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IE1hY2ludG9zaCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkFGQzJEMjQxRjIyMDY4MTE4QTZEQzUxMDg5Q0Y0RTRFIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkZFN0YxMTc0MDcyMDY4MTE5MkNBQzI1RDBFQTg2N0RCIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+FXGmxAAAAghJREFUeNrsm09ERFEUxt+rxBAxqyFm1SqiRYpMSpFapUVaRGpTRIpIbWLaFJEoRZtilChRWiRKsyklilYRERERERGZvsN57Wfmvnnnznkfv+WM+bn3e/ePN24mk3E0pcRRllC42FOWy4dc1w30R+fz3LFthEs1TelZ0KlBuAIcgmRgHS5gqlm2RsNTmqbvrUlZycLT4BhUiliWfEwEbII+UeuwT4nzqNZq2Gm1gTu/ZaUIj4NTEBW7tTTY1zUwKH4vbaive6BBw2kpAa6DkA1CeBicgZhVx8McUg5WWNi+83CWiXFfE9ZeAGQR6ukBqJKyu/Gzw7TcXEiS9UuYbiWWeU8ckXYqMT2lozyFW6SeOU0K1/FhPS75RsHUlKbj3KV0WRPC1Nd5sCuxr6anNPV12zFwk2jLCCdtk81XeAIsahL+BVOgH3xrEPayA5rAixZhyj2oB2ktwpR30A5WtQh7vR4DQ+BHg7CXLdAMXrUIU26411dahClvoBVsaBF2uMsjYFRCrwt5a7kOOnjUVQg7vE43cr9VCDu8I6Nep7QIO7z3HgCTvHYXvbCXJe71hxZhyjmv1w9ahCnP/DDb1yLs9boXzGgR9rIAusCnFmHKCff6UYsw5Ymlj7QIU75AN5gz9YVuLu8eB/S+dA+v1+l83pe2Sfg/BRe2OeGfPELhUDgUtip/AgwAw4tbozZtKFwAAAAASUVORK5CYII=')}.x-tab .x-button-icon.arrow_right,.x-button .x-button-icon.x-icon-mask.arrow_right{-webkit-mask-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpGRTdGMTE3NDA3MjA2ODExOTJDQUMyNUQwRUE4NjdEQiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpGMDZEQTFCMUFDOTMxMURGOEQ2MUVDMjM0MzY2NTBDQSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpGMDZEQTFCMEFDOTMxMURGOEQ2MUVDMjM0MzY2NTBDQSIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IE1hY2ludG9zaCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkFGQzJEMjQxRjIyMDY4MTE4QTZEQzUxMDg5Q0Y0RTRFIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkZFN0YxMTc0MDcyMDY4MTE5MkNBQzI1RDBFQTg2N0RCIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+xvZexwAAAhhJREFUeNrsm8FHRFEUxu9rxhARsxqiVauYXWoTpTYtUkRqlWkz0WaiTW2iNi3atGhTm4k2E5GYSJRaZcZQtIqIISIiYhgyfZdv/oF59913X+cdfst5733u+c495743XqvVUpKiSwmLWPB/j2QnP/I8L9SH9lN3/KxwQlpKT4FtaR7eAhegR1LRmgEVMCCpSg+CGtNczLbUC8pgQ9I+rCv3LiiBbkmNxwJ93S+p08qCRzAhqbVMg2tQkNRLa1/vg6ILvrY5POTAXdi+tj0tDbOYjUoaDzPgBuQlzcMpcEhSkg4A8lztjBTBin6u0d8iBOvoYwXPSRGsuEcXuWcnJAhuR4G+TksRrGOMfXhWimDFjqzCyUuE4LavS5yxExIEt0OfopRN+DpKbx6MHAtHSfAeWPN7kWQEhDbAMjg1cTHXBdfBLHiSUKXvwZBJsS4LPgCT4NP0hV1L6SZYAcdB3cAlwe9gDlQlTEsP9Gs16Bu5IPgIjIOP/34AoP26Ss82bd00LA/r1Vzk1mM1whCsfTrPpsJ62E7pE/q1HpaPbAn+Betgib1xaGEjpb+Ywrcu7H9BC35m8//mSncTZEqfgRGXxAYpeJNp3FCOhemU/ub+euXqzGlS8AuYBq8unyiYSulLNv9OizUleIcr+6MiEF4n3x7ze2n9OkSfE5/bfmg/30v7ERxaWBcc5Yj/5BELjgXHgiMVfwIMAGPkXbHq6ClAAAAAAElFTkSuQmCC')}.x-tab .x-button-icon.arrow_up,.x-button .x-button-icon.x-icon-mask.arrow_up{-webkit-mask-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpGRTdGMTE3NDA3MjA2ODExOTJDQUMyNUQwRUE4NjdEQiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpDQUZBQUM3NEFDOTMxMURGOEQ2MUVDMjM0MzY2NTBDQSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpDQUZBQUM3M0FDOTMxMURGOEQ2MUVDMjM0MzY2NTBDQSIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IE1hY2ludG9zaCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkFGQzJEMjQxRjIyMDY4MTE4QTZEQzUxMDg5Q0Y0RTRFIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkZFN0YxMTc0MDcyMDY4MTE5MkNBQzI1RDBFQTg2N0RCIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+ar3jxgAAAbFJREFUeNrs2j9ExGEcx/H71YmmpoiIaIq4KSKi6dabbo1oiqamm1qboimiNZpuuikiIqLppiPipqYjIuLp+/D95vy6X/frfr/n730e3sst53XP9x7u+V2ilKpM05qpTNkCGGCAAQYYYIABBhhggAEGeNSqpl9IkiQKWNbvfBc7PDdNIz1PPVK7Trd+OMPrRr8l9Uat2nT9+CyCW4yVnnnHowTXqa8UWHcdI3iNGozASscxgReo7h9YxTtfjwXcHoOVBjwJQYNPcmKlLk9EkODGP7FSO0TwOvU+IVjxZAQD1iPZK4CVGiGAZ6lOCVjFE7LhO/i0JKzUK3KImQY3S8ZKHZ4cr8A16sMQWPHkeANepF4MYqWmD2A9arcWsIonqOYafGYJK73yRDkB71nGSnd5r4jKBG9Sn47AunOb4CWq7xAr7dsA61G69wCreMK2TIMvPMFKfZ44I+ADz7DSQ9YhVgS87fiQGtdlmeBlvkNWnndYBljfGT8FgJVDbKco+CoQrBp6mrEyKfgoMOyvpxlZ4CT9vcXj0shWNe8nE8vCfzwABhhggAEGGGCATa1vAQYAZekAmr8OukgAAAAASUVORK5CYII=')}.x-tab .x-button-icon.compose,.x-button .x-button-icon.x-icon-mask.compose{-webkit-mask-image:url('data:image/png;base64,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')}.x-tab .x-button-icon.delete,.x-button .x-button-icon.x-icon-mask.delete{-webkit-mask-image:url('data:image/png;base64,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')}.x-tab .x-button-icon.organize,.x-button .x-button-icon.x-icon-mask.organize{-webkit-mask-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAEdUlEQVRoBe2aS2xMURjHjbbqUaLoI7RChQUiGo9YaEqkoolIkCASSki68dixsLIVYmHbkJA03UgkFRI2QgRBKl4RgtJFK0jUI+o5fv/p68ztmUlHzpzO9PZLfjP3fOfcO9//fOeee+69E4lGo6PCZKPDJFZaQyc4N1mGI5FIMfUVkAfZMPaVwE54yqn6i+8BllQwravgAEyEv5DppsQ8gYPw3hqsJi0bNJ4El0GZzSa6iHcbjLbpsp7DDGX5V8ByyDbLJ+CdUGQLPNGQnkzj3TDFspN68BNkwhDPIY5poG/T1lBYR+LOkuW4uSeR4KXssN48grF9h20NdeukYLRL96Y6vAD2wCwwbQyFvXARPpoVA85fKnXiN4HtvP2Gf0tPG3XWUKNYT4E6PxjvD3x1EDHPZZvgxTTSDBc8gMrKbql5gKHeJh7NM6/AFu91/EVmjHGTFmN+HA3qYSoE7SuO8+zcEawY4vJdfr8Z/ljiqMS3AV2RvjpTPc7V0A623rqJv8RsnynbxDUXXieJuy/LfRmmEzSd7wKtroL2Hcc5BL4LVmRCmbheEIfmHduVQ1muQV/3BN2bJZyqaANbdm/jL+xtm4nfxKcsP08Q/zX8MxV3TDXqx+PYBGUQNHVAI9AsYrsuB9sPVflDT5xH+O7OZn8kK9msJf6G3ooFOOr66+O2NOVL6A7oP/njmmREQcN5LGhy1cLJtBwK++FSLqrVSGvPcrCZGu8DZTqTBSs+zUkarTZTUrerYh50gHYY7rSpRxZCCYTByvouS2FQK42hE9w7S/tKsOaIt/AGfoMWO3OgFLyYb8FaGByHl6C1r27jlsAh8HaN14LD1+x8jN/KNVdqlAvhgq8YfJ/DLYjVUDatk8J905HObd+Cf1rEaHTp5sSL+RacaKWWyO+8E3wLdi4g1QOOCE61x7Kt/UiGsy1jqcY7kuFUeyzF9ok6WA8ZvJjLtbQWEI/hXpLIW4N1rLyiPHV5hP9MsM4or2V7hlH+702XghWE3gAcTRKN3mjY7AZOdZbNCnAug4wTrNXSItCrmmYSZ3tGTNVAo+1nvCLOyLyeT9WC7WlqXNtUCq7vlpTlGkQMeG+Vio9j6NbxMOjtn8u7udjzaJcH1H3uLViVikCzLftqEtsKbeAyNh3LuWAdVM+yr8JsU8hgt9mvGh6ATousEKwgdcvXCMWDFap2mOYBTWK6b3YtNvYDrs9hM0i9BTgB+YMRTbvp0AS6bzaP43I7LUPaDFBvHPVmIy+ZaOp1+TkJX8Dc3/V22gUrYF1jN4L1r0T4NSPXg+sZ2dZZXgRr5m6BymCW8en6rc54BrYAXfu8CFbQmoQ0c1eYoilXw0NQp7gWZzueN8H68S44DbG/IPA9H66AL7FR12tpYk9qetOwGfSaVjcMNVAFie6iqHJv6bws2YaUfLpctYP+S5WoTVr8vjOMvphN4FN4N69Dybs6yw+OCLZ0yrByhS7DmrRaoQE0Kw5707JOf/UvH/ZKewTG/kscFrHSGbpzOHSC/wHSRhVOrpN3ggAAAABJRU5ErkJggg==')}.x-tab .x-button-icon.refresh,.x-button .x-button-icon.x-icon-mask.refresh{-webkit-mask-image:url('data:image/png;base64,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')}.x-tab .x-button-icon.reply,.x-button .x-button-icon.x-icon-mask.reply{-webkit-mask-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAES0lEQVRoBe2ZSWgUQRSGM24YTdSo4AYRTcxBEZJDJCoigrtGg6CIgihqogfRgEERguhB40UP6kHw4kEET4J4E9wPAdeg4ALigjuKcSMuMX7/mAmdSU/SXdM9PTPpBx/T3al67/31urq6K5G2trac3mR9epNYaQ0FZ3vFwwqHFc6yEQhv6SwraBc5YYW7DEmWXUhZhSORSC7UwKIgxzAlghE5CZFHoAEKgxTcz8/gCI3gfzHsh6l+xnLq2zfBaC0miXpYDvmgu+kXBGqeC0aohK2D7TAF+kPamKeCETseZdugGgZDSp4RxHFsnghGqKo4H/aB5uoASEtLWjBiZ6KsFlaAHlJpbUkJRmwl6rTcFKW1SktyRoIROhofdbARhlr8OTkMdBPNlWCE6iG0AA5AqRN1Nm1cxbTpn9Qlx8ERO4pIG0Br6yDDqH3pV4kvPdRewCd4C+/ZPdWx7xZxsk1LgqvIZDeUeZzRT/xJ8Dt4BQ/gGjSSVzO/3psEJ4JoY+A4fATNvVTwhjh34RSshMGJ8jO5biuWIJqrc6AJ/kIqhNrF+EFs3fqHYRoMMxFp7dNFME5Hwi5QMLskgrqmgb8M+hgZYRXh5riTYBxpFM9CUKKcxlWOSyHPjVi1jQqmYy7shQ/gNGjQ7f6Q6yWY7UY07XNK4CK0QtAiTOK/J29tLOQ7EU67nIGgtfU1mARMhz6a3zegtCfRHXOYxhXtndJBgGkOT9FQ1Z3oDsFqhBXAFngJpkGD7veN3NclEt1JcKwRHaaD3niCTt40vh6+q2N6rL+2gtUA03p8FL6AaeAg++ntsNwqNqor/kL8OZ2WgF71vEpeq8FvC36uDveJM8qqyenHwzg67oE1MAxMTeLOQyNod0SDqO2hCaDVIma6u3R9OAxq/9WxW9PT+wRsQ7RiE7Gbj4f4v9F8Fujxb1ptfR2tj/cbf04bfbbqZWgsFEM5LITNcBLc3HF6iM2IxXAlWJ0wJXEQfoFb4RJcEwtu8kv/PCiEGdAAevFQJbvL5Rh/j351uRbcLloVmA83ewgUn0TSgq2DRGzloVt9E9yDFoiPqfOvUBHN3erA7TFOtG6fBqdfVp4KtuZLDqr8DrgDdqIPcb2/UYXjAmmu1cLDBIGswX0THMuJHIrgDGglsMZu4nxI0oItgcbjUHP7MyRaanwXrHywvlAFj8E6v+dqZ8MTI9BzHO2DtaC9KY1wIEYurXCO4JrbjyA6CvzO80wwznS3tMAFDpfBKdArnkY4ECOXqwTWUqZvA1mJp4L/+4wKf8ZxDeyE26AlLBBD9HUC14GWr8mezWEc2/oiiNZM/TumGbRLkdQ6nChOT9eJWw3ffakwjjuMRF5wUg9b4QnE5hOHKTVNsSuO3qW9SosN/Yn4KmAQbnnl040f4pelVLCb5Pxq6/st7Vfipn5DwaYjlyn9wgpnSqVM8wwrbDpymdIvrHCmVMo0z15X4X9rh8wHLEjawQAAAABJRU5ErkJggg==')}.x-tab .x-button-icon.search,.x-button .x-button-icon.x-icon-mask.search{-webkit-mask-image:url('data:image/png;base64,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')}.x-tab .x-button-icon.settings,.x-button .x-button-icon.x-icon-mask.settings{-webkit-mask-image:url('data:image/png;base64,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')}.x-tab .x-button-icon.star,.x-button .x-button-icon.x-icon-mask.star{-webkit-mask-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAFfUlEQVRoBd2aXahVRRTHz/Ujv+2mZRGZB7W6mtpFikC7+UWUZiqBD0JPFdRL1EMFPfjoU4baS0FUD/UWZBEVShA+BCpmWApRSkgllNpDmZWZt9//eOay72afvWfWOTPn3rvgz8yeWbPW+s/XmT379AwODtZSSQ+CryVgA/gVfIx/pelEhFMBVlvBOaBeFo6Cean8y09KsnMg932TqCOs9M2UhMfhMJVsxtHcAmcbmekLCsqjFKUkvAYG1xSwmEHZqoLyKEVJCDOCNxH9HUCbVl6mULAuXxjrOQlhgl8Bbi0h0Uen3FBS37GqVIQHiHh2SdR16jTlo0t0woycpuxiUDSdHcFeMv3uIWYanTDB3wIWVZBQHP10zuQKvbarUxDWT1HRz1E++Ds99fLtgp6jEmbExhPNcs+IbkZPiCpRCRP5TPCQJ4MJ6A3QSUqjSWzC2ozuC4j+fnSnB+gHq8YmvJKIJgVEpRPX9QH6waqxCa8PjEhHT981H2j6qno0wqzF63BhOUxsom3Zb7aJqGsUjTAONFJlpysXQz7VuXpavrBTzzEJaz1adlzNjHs6RTBvJyZhjZTF/kTaWZZCnlvhsyWgQkPZQpagzsX1bFlAXjGtDdAPUu1p3PPQhCCXkdwG/mta0PWLds060AuAnqtEOjpdbQR3VymX1P9F3UfgGJA9X9F92c/ADaQ2P8V0DJ4/kDbeYKaSvgI2AN0+OGJK1VAbSIhTOXEOybYll2kte77yD4rqrHyb85S9Cl4HtReAyI11/A7HpRq5PSD6oR0f3Rad+H7S1DvV7UgS+tc1cU3n3V/AWJ/SX8BxVuMinow2rNNjlPQVeH0GFg378kDBfLAPXARjZbTPwmUXmOG+bgz71EKFfqKeAUWfREZbJxyCxyOOqEuHER4qrNUWovwy0CFktBHV4eNZMNvxyaaFhKWAaBt/HJwEo4W0luSKLMF8viVhp4iBeeBd8CcYqcQ1qi+CKS7uVmklYdcQY0+C42Ckkf6EmO51cVal3oRlCFkCdKgfCWtbo7obDO3AVWQbHHyUsjo40E6uq9cvQbdG+wN892fj8s0HjXDWKA51/t4JUo72H/jTDtybjSUkbyYsJ0gdfAtSjfTn+JoWQjCv2+57a4M1QaQSvZvrMsIs7RJejGcdUlLJUhzpZsYsZsJcCen6ZwCE3IaYA2021OfUdU3fJltmwni7Fvh+KDMF16KR3ux0lWuSdgjPxeNdJq/tNdKNqJaSSUyEmVK6JNPomtqbIh3eSKNsEmvAarfJ5LEzjbbR59MtpqyEb8eZjpndkhtxvNri3Er4YZxpx+yW6Jdhi8V5MOHm+n0QZ9afo0u0fQO8A5S3iPaQ1cTSG9w4f/SqesZBH/gRWI6T+gyyxfkgvw2cMdrS+/lTzpZvGnyWxsnTwHLRd4R2a/OBqQyoztKBe/P2qp6DCBOUptKHhuA+pU1fq2Co0/F0L9CVaghxXTbWW9ktKg8lrFfCrwODeh/9wgu1bEDo6OT2Fvgb+JLWq+nQEsnaa5UPJbwKBxc8A9KXPG1O3u+u6E4F24GvD3XMDjCxFcF8uTdhjGpHfwn49L42lCeAdyDZwGi3HpwAPr6+Q29htn1ZPoSwfuz3ewShXVcBNz62lzkvq6O9DjZHgQ9p72kdQljvob9VBPAN9Q+UEQmpw5b+Sf8e0FotI/4a9ZN8bIcQXlnh9AD1y3ychuhgU0tpJyhb14epn+ljN+Sk9S9G1ct50d8SdgF9x9EO3lHB5hXwPEYfA8dbGD9LuWZBtfj0inSQWUDTKzu1dAB5Dkz2tdOOHn70LvwVyMag/FYwzse295Rukq5j+G1wEOib66PAy5FPMD46+NPmqTV7CpwGGvkJPm2l8z8GWDNDloqpGQAAAABJRU5ErkJggg==')}.x-tab .x-button-icon.trash,.x-button .x-button-icon.x-icon-mask.trash{-webkit-mask-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAFBElEQVRoBe2aS4gdRRRA8+L/m0QIJkYNLlQUNOAvigpRcCEIcSsiCLoLLoILcaM7QVBX4koRshDxt9CFKCoiuvGDCP5QkxCiJhInRo2Ovzie80gPNWX1dL3uesM09IUz3V1169a9daur+031aG5ubkUpGY1GK7G1Dq4Cz9vKiIY74Sv8+72tkWQ7Ay4Bxo+Hu2E3/AuOZBf+ov2TsL6Ef5WNUsGazXvgEHQJMm77N/aeg3Mrh7seOweMM2bWYH+B2OES1/9g9w0oEnSngHHCYO+FGSgRXJ0NM/0idA565BRpKyxSt9J2B5xWY+Mw5Udq6uqKT6XimESlmX4d7sTnA4n6rKJjs7QSSgTrSno7nJyodtFyGr4AP4G6TeLIHweb4A44C0LR1xtgCzwP7aTtIkBvLlSfQjwNZyl7FNa0sU077V4DX0Js25X7cRjPzDb2Nd5FnK7xPbGXskdwxsxOLLRzdnwIj8GvkQFnypqobKLLrgGnOjMzP6cqJijzfn0NXPljmXRNWNC+dcBHM7HA2NELp10nwbaz5iC4OsdidTyrYp3a68ZFi7XJFfNsOBGcUmFnPpbiBWkVZefT7g+OXcTF0EUsFPtaje0Lw0LOzfoM49B4Gy36WMKwK+WDcC2cAmGwXK7YAAYdym9c+NiIdUOdnHODc6DjpPioix9LBvwtPE3QOzjWi7MjBS0M8CGY1huUA1ISg/4cNqXiqcqSwVqJ3AQ/QEmnpm3LR+IzsLYKMD4mA6bBOfAKuFpO28nS9v0Bcxckn9V1Ad9Pg2m/H5cONLT3Mf5fFGfX63hBQG8s7/LXxcdV0nvjMtgKp0MojuaroM60xYB8Z78ZTog6c515B1ylXey+ARe3/0tqFNCy0RjrkdvgOwhH0TeiB2A1uMBNGx9Ta+FZiP34mrIrQR39cECSUzqZYYIcR0mjJtmFwmHUvdenLjwmnUl7Eh05+LP40fjvoGTACYN1Rc6CecGhM7lw2lt+AA7Fg4fOespXgYO0j3pvnXmh3rY+/52+vrXtRSd841rQJ/WV1JVX9eNj14DnjeHnJVw8DBeAnX8A2ynfXwXN+cWUPQUOjNl6i7Jt1I9nCOe+1V0NT4AB/wkvw31QRIoFjDfnwRXgfVbJGZzsry44boTNUGVjlvOToPpV5FvbjXApKE7VLZ6UkpWlDGHH+96pV93/4TSsujGA8MeF51Xw6njuO3soKTth/UTnJQOeqONFlKsBW0SlfdVyDLh9NBkth4AzBqnXKkOGe52+DOeHDGcMUq9Vhgz3On0Zzg8ZzhikXqsMGe51+jKcHzKcMUi9Vhky3Ov0ZTg/ZDhjkHqtMmS41+nLcH7IcMYg9VplOWY4/Md88cEtHbDOVg5Xx9jpsM9Yx52JeAcw1ontTXRdcm9pFz3vBveHdNJN6YPVRhrnivtMlruZ5g7DFxBuXLut8j7sA/d43Yr5CIpJsYAJ7DN2/27Bsw1gwAb3I8wLOp+g4w6+nw/6HddOyszqWDg/Qv2bXFwH4+1SyhyUYtI1YLc85wXn/ORAagWdPVRKUqh3AJwtdTLeWq2rbCoP76cm3bjeLG6ELjZim03XJujyJqXF6rtmeDvGNzMN/ajEAZi2rKOD67t00jVgN7+3dnFgqdsu5XRc6tiS/eUGvBTTNengBIVZPuYG7LcYPjdluYk++bTw++pGyQ34bSy9B35Vs5zEYGfgJfg+x7H/ADoy2VfnrtXoAAAAAElFTkSuQmCC')}.x-tab .x-button-icon.maps,.x-button .x-button-icon.x-icon-mask.maps{-webkit-mask-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAADl0lEQVRoBe2b24tNURzHjfutXEPycDAltwhJbuMSJUqSB/HiES/+AK9ePc6T8uCFkImQW5KGkdwSxYyMGkZu45bbDOPzyZyTrJnjnDkGrVm/+szas2bv397f33ftPS+/Vdba2toj5igj0NcfRkG/3qWIJdcIrs/AO6gDq7cKPkOjUNAmxr8ePJsix8NUWAvLoapowSQawIUzYCZUwAqohF3QAjtgGTyCy5x/nfEu1MNDCmAxuiS4Vy8ST4DZMB9WwiTIRUGC26q1gKtWwyyYBsPB5aLIL5CNTxzotDeWTeA5DUKuO4xXoQbxHpcUbSIzJFkDi0EzdLYnBNGuYJJ4ch+YAhvB5TAORsKvib4x97vwPpk2FjJuhibu85zxAlyCangBLRQib06u68t5vk4uVYVqgO+oqy9v5ASTRLd0LQNLYB24bAfBnw5zikX0HtuhGW5ANY9ylvEBvIY3FOArcz7rWHCpboBFMAxyGjguKIZy1jzYCqfAD5BLslB8J3dCP/AdOgo+fKHXd3Sebh+EctCMieBK6Oj8QuYrXZ7roQr88PiSD4b/IVyyfhB9jQy/uppTUijYhANLytJ1F/sxzL7POpg97vQdFfwVTNYtQsHdKpLg2O1ODieHI6tAWtKRGRrISQ4HJYlsIjkcmaGBnORwUJLIJpLDkRkayEkOByWJbCI5HJmhgZzkcFCSyCaSw5EZGshJDgcliWwiORyZoYGc5HBQksgmksORGRrISQ4HJYlsIjkcmaGBnORwUJLIJpLDkRkayEkOByWJbKLbOVx0r3E7httIbttwNvzddt//JWxIfQynYX8pgu2TbgBbjw9Ds53sNHJv49gOehu5bUe2DfjXojDVpWG/9iu4CEegBp7xfO+LFfyGC5+AiQ7BFXj/c8s+xw+Z24PwvYwKnQxLoQLccGEB7Hsu9t5ckjcU2QjuozgA5+Apz9PCmItCbvqWs2vhJpwBl8ZrEuVtOebPtiWLbf2ymyL0ZVT8XJgDbgHIgFsPOhPmr4d7oAnHue9txg6jI8EfueIaHIOrcAuafieSc/IG19vw7TYD6UEBbE4vhwxMB7cizIYhYPT6MeR+WjBFPoCToEgF1hb6bD8LNpHLwT0L56EOGkhUchc6edoNcruvQWoQ7/6GMTAa3E2zACxGNjRhH9wHV4zP9oGxqCjj7C0wA06Ay/YliRT/T4MCuGnEfQ4feJ5mfvdfaG+OXSWdju+VpAoIK3D9tAAAAABJRU5ErkJggg==')}.x-tab .x-button-icon.locate,.x-button .x-button-icon.x-icon-mask.locate{-webkit-mask-image:url('data:image/png;base64,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')}.x-tab .x-button-icon.home,.x-button .x-button-icon.x-icon-mask.home{-webkit-mask-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAEK0lEQVRoBe2Zy28NURzHe/vwqEepYkFIQzxWaCOC2HhELEgQImhXIrqyIEXikVQi+gdIwx9AItg1NiJELMSGhKQbobY2VY9Srfp8m5lmTO/cOXN7Zu656f0ln8zMnTNnft/z+505j5sbGxurmk5WPZ3ESuu0E1xbigjncrka3jsbftClIvsU5RZ65aLK5Lj/C75SzSjHWCuJYLxqhPXwBgYhylq4sRaixChDP8EzGIJ4UwNnCR6tgFswANegKer93LsLim4herm/JKqO8O+ZRdhL42acOwunYAacg2Hu3ePYj3Ph1A1fU2ySmZSZeCiTjxaC1LAboRs6QGJl8+AKXIU1kLqlHmHEqlFboQv2gD40QdPHqx3qKdtJkD8Hb9o+TzXCXmT1cboB+cT6evTVPgIXeWYl6DoVSy3COF2Hx0rjTthp4L0a/4xXrofn33OeqH8avKMqFcE4O4uXb4ULsNfEEa+M0v00LIIuCKc/P03NrAtGrD5Iiuh10Dia1JTOR0EZsjjpw3HlrQpGbD0v3AzFig36e4CLkeAPNs6tCUbsHBxS+mpsLSayYT2KtLBqVgQjdgFe7QP1u9VWPbRc2ZQFe2LV5zSBWG7ZP+vVTUkwYhvx6DicB+fFqvWKFuyJ1QxJ00It48rCNNgnNi+N23hQaVw2YiU0cYQRq9Q9CJdBKV1q02zMeEaWSDBil1L5JTgBDeCCzcUJ8cXImfACOeqayjbBffgDfqu6cPyJP3dgVZTvwd9jdzuoSFmgicRDGAYXRIZ9+I5fPbA6KC7feUHBVKD5rJZ1EutaZMOiv+HjbWjJJ9T/LVIwDyqyh+ApuC7WFy/RCk4r5HyRwWNewRSW2N3wGv6CX2E5HBWcB9AaFOqfTxJMQa1lNewosqNQDiLDPmqv+hFsgzpfrI7/CeamVjwnQZEtV7G+eEX6MeyHGl/0hGB+1MJdYt+B/1C5H9UdX8J2qJ6IMBfz4Ri8hXIXGfZfmdoLWr5W1zJ7ktg2aId18BuiTHNvDVUumQSNxDikLSdtBzdok0yCD8MyiLNmCqhxXBL9An+egNI3yqRT9z+O92FO/O2UuOMuymoqF06bUl53489MQw21Gm8lWmkRa6R/oVaMfT6lAmrsUVMNRa2HU3I8k2orgjNp5hK+ZLwPp/x+fR+0ONfMp9BfJ+qLmulpyze1zMtC8AACbkI/xAneQZkO0JiZimUheAjPn0MfxAnWVo3RiEG5oiwLwXJsmGFDK5iCxrCnGZNSOzVLra+EPDZ9T6EMCFVZ3KWpI8XV7uBTFcEOBsWqS5UIW21OByurRNjBoFh1qRJhq83pYGWVCDsYFKsuVSJstTkdrGz8L0VTv1i+NVF2CyTJDC0LX7E8HIx7D/Vrb3wDaLvY1D5QsI/6jXZUEwk29cDlckki5bIOY9+mneB/GfbU3e4Ey5kAAAAASUVORK5CYII=')}.x-button.x-button-action,.x-toolbar .x-button.x-button-action,.x-button.x-button-action-round,.x-toolbar .x-button.x-button-action-round,.x-button.x-button-action-small,.x-toolbar .x-button.x-button-action-small{border:1px solid #002f50;border-top-color:#003e6a;color:white}.x-button.x-button-action.x-button-back:before,.x-button.x-button-action.x-button-forward:before,.x-toolbar .x-button.x-button-action.x-button-back:before,.x-toolbar .x-button.x-button-action.x-button-forward:before,.x-button.x-button-action-round.x-button-back:before,.x-button.x-button-action-round.x-button-forward:before,.x-toolbar .x-button.x-button-action-round.x-button-back:before,.x-toolbar .x-button.x-button-action-round.x-button-forward:before,.x-button.x-button-action-small.x-button-back:before,.x-button.x-button-action-small.x-button-forward:before,.x-toolbar .x-button.x-button-action-small.x-button-back:before,.x-toolbar .x-button.x-button-action-small.x-button-forward:before{background:#002f50}.x-button.x-button-action,.x-button.x-button-action.x-button-back:after,.x-button.x-button-action.x-button-forward:after,.x-toolbar .x-button.x-button-action,.x-toolbar .x-button.x-button-action.x-button-back:after,.x-toolbar .x-button.x-button-action.x-button-forward:after,.x-button.x-button-action-round,.x-button.x-button-action-round.x-button-back:after,.x-button.x-button-action-round.x-button-forward:after,.x-toolbar .x-button.x-button-action-round,.x-toolbar .x-button.x-button-action-round.x-button-back:after,.x-toolbar .x-button.x-button-action-round.x-button-forward:after,.x-button.x-button-action-small,.x-button.x-button-action-small.x-button-back:after,.x-button.x-button-action-small.x-button-forward:after,.x-toolbar .x-button.x-button-action-small,.x-toolbar .x-button.x-button-action-small.x-button-back:after,.x-toolbar .x-button.x-button-action-small.x-button-forward:after{background-color:#006bb6;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #50b7ff), color-stop(2%, #0080da), color-stop(100%, #005692));background-image:-webkit-linear-gradient(#50b7ff,#0080da 2%,#005692);background-image:linear-gradient(#50b7ff,#0080da 2%,#005692)}.x-button.x-button-action .x-button-icon.x-icon-mask,.x-toolbar .x-button.x-button-action .x-button-icon.x-icon-mask,.x-button.x-button-action-round .x-button-icon.x-icon-mask,.x-toolbar .x-button.x-button-action-round .x-button-icon.x-icon-mask,.x-button.x-button-action-small .x-button-icon.x-icon-mask,.x-toolbar .x-button.x-button-action-small .x-button-icon.x-icon-mask{background-color:white;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ffffff), color-stop(2%, #ffffff), color-stop(100%, #dbf0ff));background-image:-webkit-linear-gradient(#ffffff,#ffffff 2%,#dbf0ff);background-image:linear-gradient(#ffffff,#ffffff 2%,#dbf0ff)}.x-button.x-button-action.x-button-pressing,.x-button.x-button-action.x-button-pressing:after,.x-button.x-button-action.x-button-pressed,.x-button.x-button-action.x-button-pressed:after,.x-button.x-button-action.x-button-active,.x-button.x-button-action.x-button-active:after,.x-toolbar .x-button.x-button-action.x-button-pressing,.x-toolbar .x-button.x-button-action.x-button-pressing:after,.x-toolbar .x-button.x-button-action.x-button-pressed,.x-toolbar .x-button.x-button-action.x-button-pressed:after,.x-toolbar .x-button.x-button-action.x-button-active,.x-toolbar .x-button.x-button-action.x-button-active:after,.x-button.x-button-action-round.x-button-pressing,.x-button.x-button-action-round.x-button-pressing:after,.x-button.x-button-action-round.x-button-pressed,.x-button.x-button-action-round.x-button-pressed:after,.x-button.x-button-action-round.x-button-active,.x-button.x-button-action-round.x-button-active:after,.x-toolbar .x-button.x-button-action-round.x-button-pressing,.x-toolbar .x-button.x-button-action-round.x-button-pressing:after,.x-toolbar .x-button.x-button-action-round.x-button-pressed,.x-toolbar .x-button.x-button-action-round.x-button-pressed:after,.x-toolbar .x-button.x-button-action-round.x-button-active,.x-toolbar .x-button.x-button-action-round.x-button-active:after,.x-button.x-button-action-small.x-button-pressing,.x-button.x-button-action-small.x-button-pressing:after,.x-button.x-button-action-small.x-button-pressed,.x-button.x-button-action-small.x-button-pressed:after,.x-button.x-button-action-small.x-button-active,.x-button.x-button-action-small.x-button-active:after,.x-toolbar .x-button.x-button-action-small.x-button-pressing,.x-toolbar .x-button.x-button-action-small.x-button-pressing:after,.x-toolbar .x-button.x-button-action-small.x-button-pressed,.x-toolbar .x-button.x-button-action-small.x-button-pressed:after,.x-toolbar .x-button.x-button-action-small.x-button-active,.x-toolbar .x-button.x-button-action-small.x-button-active:after{background-color:#0062a7;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #004474), color-stop(10%, #00538d), color-stop(65%, #0062a7), color-stop(100%, #0064a9));background-image:-webkit-linear-gradient(#004474,#00538d 10%,#0062a7 65%,#0064a9);background-image:linear-gradient(#004474,#00538d 10%,#0062a7 65%,#0064a9)}.x-button.x-button-confirm,.x-toolbar .x-button.x-button-confirm,.x-button.x-button-confirm-round,.x-toolbar .x-button.x-button-confirm-round,.x-button.x-button-confirm-small,.x-toolbar .x-button.x-button-confirm-small{border:1px solid #263501;border-top-color:#374e02;color:white}.x-button.x-button-confirm.x-button-back:before,.x-button.x-button-confirm.x-button-forward:before,.x-toolbar .x-button.x-button-confirm.x-button-back:before,.x-toolbar .x-button.x-button-confirm.x-button-forward:before,.x-button.x-button-confirm-round.x-button-back:before,.x-button.x-button-confirm-round.x-button-forward:before,.x-toolbar .x-button.x-button-confirm-round.x-button-back:before,.x-toolbar .x-button.x-button-confirm-round.x-button-forward:before,.x-button.x-button-confirm-small.x-button-back:before,.x-button.x-button-confirm-small.x-button-forward:before,.x-toolbar .x-button.x-button-confirm-small.x-button-back:before,.x-toolbar .x-button.x-button-confirm-small.x-button-forward:before{background:#263501}.x-button.x-button-confirm,.x-button.x-button-confirm.x-button-back:after,.x-button.x-button-confirm.x-button-forward:after,.x-toolbar .x-button.x-button-confirm,.x-toolbar .x-button.x-button-confirm.x-button-back:after,.x-toolbar .x-button.x-button-confirm.x-button-forward:after,.x-button.x-button-confirm-round,.x-button.x-button-confirm-round.x-button-back:after,.x-button.x-button-confirm-round.x-button-forward:after,.x-toolbar .x-button.x-button-confirm-round,.x-toolbar .x-button.x-button-confirm-round.x-button-back:after,.x-toolbar .x-button.x-button-confirm-round.x-button-forward:after,.x-button.x-button-confirm-small,.x-button.x-button-confirm-small.x-button-back:after,.x-button.x-button-confirm-small.x-button-forward:after,.x-toolbar .x-button.x-button-confirm-small,.x-toolbar .x-button.x-button-confirm-small.x-button-back:after,.x-toolbar .x-button.x-button-confirm-small.x-button-forward:after{background-color:#6c9804;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #c2fa3b), color-stop(2%, #85bb05), color-stop(100%, #547503));background-image:-webkit-linear-gradient(#c2fa3b,#85bb05 2%,#547503);background-image:linear-gradient(#c2fa3b,#85bb05 2%,#547503)}.x-button.x-button-confirm .x-button-icon.x-icon-mask,.x-toolbar .x-button.x-button-confirm .x-button-icon.x-icon-mask,.x-button.x-button-confirm-round .x-button-icon.x-icon-mask,.x-toolbar .x-button.x-button-confirm-round .x-button-icon.x-icon-mask,.x-button.x-button-confirm-small .x-button-icon.x-icon-mask,.x-toolbar .x-button.x-button-confirm-small .x-button-icon.x-icon-mask{background-color:white;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ffffff), color-stop(2%, #ffffff), color-stop(100%, #f4fedc));background-image:-webkit-linear-gradient(#ffffff,#ffffff 2%,#f4fedc);background-image:linear-gradient(#ffffff,#ffffff 2%,#f4fedc)}.x-button.x-button-confirm.x-button-pressing,.x-button.x-button-confirm.x-button-pressing:after,.x-button.x-button-confirm.x-button-pressed,.x-button.x-button-confirm.x-button-pressed:after,.x-button.x-button-confirm.x-button-active,.x-button.x-button-confirm.x-button-active:after,.x-toolbar .x-button.x-button-confirm.x-button-pressing,.x-toolbar .x-button.x-button-confirm.x-button-pressing:after,.x-toolbar .x-button.x-button-confirm.x-button-pressed,.x-toolbar .x-button.x-button-confirm.x-button-pressed:after,.x-toolbar .x-button.x-button-confirm.x-button-active,.x-toolbar .x-button.x-button-confirm.x-button-active:after,.x-button.x-button-confirm-round.x-button-pressing,.x-button.x-button-confirm-round.x-button-pressing:after,.x-button.x-button-confirm-round.x-button-pressed,.x-button.x-button-confirm-round.x-button-pressed:after,.x-button.x-button-confirm-round.x-button-active,.x-button.x-button-confirm-round.x-button-active:after,.x-toolbar .x-button.x-button-confirm-round.x-button-pressing,.x-toolbar .x-button.x-button-confirm-round.x-button-pressing:after,.x-toolbar .x-button.x-button-confirm-round.x-button-pressed,.x-toolbar .x-button.x-button-confirm-round.x-button-pressed:after,.x-toolbar .x-button.x-button-confirm-round.x-button-active,.x-toolbar .x-button.x-button-confirm-round.x-button-active:after,.x-button.x-button-confirm-small.x-button-pressing,.x-button.x-button-confirm-small.x-button-pressing:after,.x-button.x-button-confirm-small.x-button-pressed,.x-button.x-button-confirm-small.x-button-pressed:after,.x-button.x-button-confirm-small.x-button-active,.x-button.x-button-confirm-small.x-button-active:after,.x-toolbar .x-button.x-button-confirm-small.x-button-pressing,.x-toolbar .x-button.x-button-confirm-small.x-button-pressing:after,.x-toolbar .x-button.x-button-confirm-small.x-button-pressed,.x-toolbar .x-button.x-button-confirm-small.x-button-pressed:after,.x-toolbar .x-button.x-button-confirm-small.x-button-active,.x-toolbar .x-button.x-button-confirm-small.x-button-active:after{background-color:#628904;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #3e5702), color-stop(10%, #507003), color-stop(65%, #628904), color-stop(100%, #648c04));background-image:-webkit-linear-gradient(#3e5702,#507003 10%,#628904 65%,#648c04);background-image:linear-gradient(#3e5702,#507003 10%,#628904 65%,#648c04)}.x-button.x-button-decline,.x-toolbar .x-button.x-button-decline,.x-button.x-button-decline-round,.x-toolbar .x-button.x-button-decline-round,.x-button.x-button-decline-small,.x-toolbar .x-button.x-button-decline-small{border:1px solid #630303;border-top-color:#7c0303;color:white}.x-button.x-button-decline.x-button-back:before,.x-button.x-button-decline.x-button-forward:before,.x-toolbar .x-button.x-button-decline.x-button-back:before,.x-toolbar .x-button.x-button-decline.x-button-forward:before,.x-button.x-button-decline-round.x-button-back:before,.x-button.x-button-decline-round.x-button-forward:before,.x-toolbar .x-button.x-button-decline-round.x-button-back:before,.x-toolbar .x-button.x-button-decline-round.x-button-forward:before,.x-button.x-button-decline-small.x-button-back:before,.x-button.x-button-decline-small.x-button-forward:before,.x-toolbar .x-button.x-button-decline-small.x-button-back:before,.x-toolbar .x-button.x-button-decline-small.x-button-forward:before{background:#630303}.x-button.x-button-decline,.x-button.x-button-decline.x-button-back:after,.x-button.x-button-decline.x-button-forward:after,.x-toolbar .x-button.x-button-decline,.x-toolbar .x-button.x-button-decline.x-button-back:after,.x-toolbar .x-button.x-button-decline.x-button-forward:after,.x-button.x-button-decline-round,.x-button.x-button-decline-round.x-button-back:after,.x-button.x-button-decline-round.x-button-forward:after,.x-toolbar .x-button.x-button-decline-round,.x-toolbar .x-button.x-button-decline-round.x-button-back:after,.x-toolbar .x-button.x-button-decline-round.x-button-forward:after,.x-button.x-button-decline-small,.x-button.x-button-decline-small.x-button-back:after,.x-button.x-button-decline-small.x-button-forward:after,.x-toolbar .x-button.x-button-decline-small,.x-toolbar .x-button.x-button-decline-small.x-button-back:after,.x-toolbar .x-button.x-button-decline-small.x-button-forward:after{background-color:#c70505;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #fb6a6a), color-stop(2%, #ea0606), color-stop(100%, #a40404));background-image:-webkit-linear-gradient(#fb6a6a,#ea0606 2%,#a40404);background-image:linear-gradient(#fb6a6a,#ea0606 2%,#a40404)}.x-button.x-button-decline .x-button-icon.x-icon-mask,.x-toolbar .x-button.x-button-decline .x-button-icon.x-icon-mask,.x-button.x-button-decline-round .x-button-icon.x-icon-mask,.x-toolbar .x-button.x-button-decline-round .x-button-icon.x-icon-mask,.x-button.x-button-decline-small .x-button-icon.x-icon-mask,.x-toolbar .x-button.x-button-decline-small .x-button-icon.x-icon-mask{background-color:white;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ffffff), color-stop(2%, #ffffff), color-stop(100%, #fedcdc));background-image:-webkit-linear-gradient(#ffffff,#ffffff 2%,#fedcdc);background-image:linear-gradient(#ffffff,#ffffff 2%,#fedcdc)}.x-button.x-button-decline.x-button-pressing,.x-button.x-button-decline.x-button-pressing:after,.x-button.x-button-decline.x-button-pressed,.x-button.x-button-decline.x-button-pressed:after,.x-button.x-button-decline.x-button-active,.x-button.x-button-decline.x-button-active:after,.x-toolbar .x-button.x-button-decline.x-button-pressing,.x-toolbar .x-button.x-button-decline.x-button-pressing:after,.x-toolbar .x-button.x-button-decline.x-button-pressed,.x-toolbar .x-button.x-button-decline.x-button-pressed:after,.x-toolbar .x-button.x-button-decline.x-button-active,.x-toolbar .x-button.x-button-decline.x-button-active:after,.x-button.x-button-decline-round.x-button-pressing,.x-button.x-button-decline-round.x-button-pressing:after,.x-button.x-button-decline-round.x-button-pressed,.x-button.x-button-decline-round.x-button-pressed:after,.x-button.x-button-decline-round.x-button-active,.x-button.x-button-decline-round.x-button-active:after,.x-toolbar .x-button.x-button-decline-round.x-button-pressing,.x-toolbar .x-button.x-button-decline-round.x-button-pressing:after,.x-toolbar .x-button.x-button-decline-round.x-button-pressed,.x-toolbar .x-button.x-button-decline-round.x-button-pressed:after,.x-toolbar .x-button.x-button-decline-round.x-button-active,.x-toolbar .x-button.x-button-decline-round.x-button-active:after,.x-button.x-button-decline-small.x-button-pressing,.x-button.x-button-decline-small.x-button-pressing:after,.x-button.x-button-decline-small.x-button-pressed,.x-button.x-button-decline-small.x-button-pressed:after,.x-button.x-button-decline-small.x-button-active,.x-button.x-button-decline-small.x-button-active:after,.x-toolbar .x-button.x-button-decline-small.x-button-pressing,.x-toolbar .x-button.x-button-decline-small.x-button-pressing:after,.x-toolbar .x-button.x-button-decline-small.x-button-pressed,.x-toolbar .x-button.x-button-decline-small.x-button-pressed:after,.x-toolbar .x-button.x-button-decline-small.x-button-active,.x-toolbar .x-button.x-button-decline-small.x-button-active:after{background-color:#b80505;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #860303), color-stop(10%, #9f0404), color-stop(65%, #b80505), color-stop(100%, #ba0505));background-image:-webkit-linear-gradient(#860303,#9f0404 10%,#b80505 65%,#ba0505);background-image:linear-gradient(#860303,#9f0404 10%,#b80505 65%,#ba0505)}.x-sheet,.x-sheet-action{padding:0.7em;border-top:1px solid #092e47;height:auto;background-color:rgba(3, 17, 26, 0.9);background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, rgba(20,104,162,0.9)), color-stop(2%, rgba(7,37,58,0.9)), color-stop(100%, rgba(0,0,0,0.9)));background-image:-webkit-linear-gradient(rgba(20,104,162,0.9),rgba(7,37,58,0.9) 2%,rgba(0,0,0,0.9));background-image:linear-gradient(rgba(20,104,162,0.9),rgba(7,37,58,0.9) 2%,rgba(0,0,0,0.9));-webkit-border-radius:0;border-radius:0}.x-sheet-inner > .x-button,.x-sheet-action-inner > .x-button{margin-bottom:0.5em}.x-sheet-inner > .x-button:last-child,.x-sheet-action-inner > .x-button:last-child{margin-bottom:0}.x-sheet.x-picker{padding:0}.x-sheet.x-picker .x-sheet-inner{position:relative;background-color:#fff;-webkit-border-radius:0.4em;border-radius:0.4em;-webkit-background-clip:padding;background-clip:padding-box;overflow:hidden;margin:0.7em}.x-sheet.x-picker .x-sheet-inner:before,.x-sheet.x-picker .x-sheet-inner:after{z-index:1;content:"";position:absolute;width:100%;height:30%;top:0;left:0}.x-sheet.x-picker .x-sheet-inner:before{top:auto;-webkit-border-bottom-left-radius:0.4em;border-bottom-left-radius:0.4em;-webkit-border-bottom-right-radius:0.4em;border-bottom-right-radius:0.4em;bottom:0;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ffffff), color-stop(100%, #bbbbbb));background-image:-webkit-linear-gradient(#ffffff,#bbbbbb);background-image:linear-gradient(#ffffff,#bbbbbb)}.x-sheet.x-picker .x-sheet-inner:after{-webkit-border-top-left-radius:0.4em;border-top-left-radius:0.4em;-webkit-border-top-right-radius:0.4em;border-top-right-radius:0.4em;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #bbbbbb), color-stop(100%, #ffffff));background-image:-webkit-linear-gradient(#bbbbbb,#ffffff);background-image:linear-gradient(#bbbbbb,#ffffff)}.x-sheet.x-picker .x-sheet-inner .x-picker-slot .x-body{border-left:1px solid #999999;border-right:1px solid #ACACAC}.x-sheet.x-picker .x-sheet-inner .x-picker-slot.x-first .x-body{border-left:0}.x-sheet.x-picker .x-sheet-inner .x-picker-slot.x-last .x-body{border-left:0;border-right:0}.x-picker-slot .x-scroll-view{z-index:2;position:relative;-webkit-box-shadow:rgba(0, 0, 0, 0.4) -1px 0 1px}.x-picker-slot .x-scroll-view:first-child{-webkit-box-shadow:none}.x-picker-mask{position:absolute;top:0;left:0;right:0;bottom:0;z-index:3;display:-webkit-box;display:box;-webkit-box-align:stretch;box-align:stretch;-webkit-box-orient:vertical;box-orient:vertical;-webkit-box-pack:center;box-pack:center;pointer-events:none}.x-picker-bar{border-top:0.12em solid #006bb6;border-bottom:0.12em solid #006bb6;height:2.5em;background-color:rgba(13, 148, 242, 0.3);background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, rgba(158,212,250,0.3)), color-stop(2%, rgba(47,163,244,0.3)), color-stop(100%, rgba(11,127,208,0.3)));background-image:-webkit-linear-gradient(rgba(158,212,250,0.3),rgba(47,163,244,0.3) 2%,rgba(11,127,208,0.3));background-image:linear-gradient(rgba(158,212,250,0.3),rgba(47,163,244,0.3) 2%,rgba(11,127,208,0.3));-webkit-box-shadow:rgba(0, 0, 0, 0.2) 0 0.2em 0.2em}.x-use-titles .x-picker-bar{margin-top:1.5em}.x-picker-slot-title{height:1.5em;position:relative;z-index:2;background-color:#1295f1;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #a2d6f9), color-stop(2%, #34a4f3), color-stop(100%, #0d81d2));background-image:-webkit-linear-gradient(#a2d6f9,#34a4f3 2%,#0d81d2);background-image:linear-gradient(#a2d6f9,#34a4f3 2%,#0d81d2);border-top:1px solid #1295f1;border-bottom:1px solid #095b94;-webkit-box-shadow:0px 0.1em 0.3em rgba(0, 0, 0, 0.3);padding:0.2em 1.02em}.x-picker-slot-title > div{font-weight:bold;font-size:0.8em;color:#113b59;text-shadow:rgba(255, 255, 255, 0.25) 0 0.08em 0}.x-picker-slot .x-dataview-inner{width:100%}.x-picker-slot .x-dataview-item{vertical-align:middle;height:2.5em;line-height:2.5em;font-weight:bold;padding:0 10px}.x-picker-slot .x-picker-item{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.x-picker-right{text-align:right}.x-picker-center{text-align:center}.x-picker-left{text-align:left}.x-tabbar.x-docked-top{border-bottom-width:.1em;border-bottom-style:solid;height:2.6em;padding:0 .8em}.x-tabbar.x-docked-top .x-tab{padding:0.4em 0.8em;height:1.8em;-webkit-border-radius:0.9em;border-radius:0.9em}.x-tabbar.x-docked-top .x-button-label,.x-tabbar.x-docked-top .x-hasbadge .x-badge,.x-hasbadge .x-tabbar.x-docked-top .x-badge{font-size:.8em;line-height:1.2em;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}.x-tabbar.x-docked-bottom{border-top-width:.1em;border-top-style:solid;height:3em;padding:0}.x-tabbar.x-docked-bottom .x-tab{-webkit-border-radius:0.25em;border-radius:0.25em;min-width:3.3em;position:relative;padding-top:.2em}.x-tabbar.x-docked-bottom .x-tab .x-button-icon{-webkit-mask-size:1.65em;width:1.65em;height:1.65em;display:block;margin:0 auto;position:relative}.x-tabbar.x-docked-bottom .x-tab .x-button-label,.x-tabbar.x-docked-bottom .x-tab .x-hasbadge .x-badge,.x-hasbadge .x-tabbar.x-docked-bottom .x-tab .x-badge{margin:0;padding:.1em 0 .2em 0;font-size:9px;line-height:12px;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}.x-tab .x-button-icon.bookmarks,.x-button .x-button-icon.x-icon-mask.bookmarks{-webkit-mask-image:url('data:image/png;base64,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')}.x-tab .x-button-icon.download,.x-button .x-button-icon.x-icon-mask.download{-webkit-mask-image:url('data:image/png;base64,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')}.x-tab .x-button-icon.favorites,.x-button .x-button-icon.x-icon-mask.favorites{-webkit-mask-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAFfUlEQVRoBd2aXahVRRTHz/Ujv+2mZRGZB7W6mtpFikC7+UWUZiqBD0JPFdRL1EMFPfjoU4baS0FUD/UWZBEVShA+BCpmWApRSkgllNpDmZWZt9//eOay72afvWfWOTPn3rvgz8yeWbPW+s/XmT379AwODtZSSQ+CryVgA/gVfIx/pelEhFMBVlvBOaBeFo6Cean8y09KsnMg932TqCOs9M2UhMfhMJVsxtHcAmcbmekLCsqjFKUkvAYG1xSwmEHZqoLyKEVJCDOCNxH9HUCbVl6mULAuXxjrOQlhgl8Bbi0h0Uen3FBS37GqVIQHiHh2SdR16jTlo0t0woycpuxiUDSdHcFeMv3uIWYanTDB3wIWVZBQHP10zuQKvbarUxDWT1HRz1E++Ds99fLtgp6jEmbExhPNcs+IbkZPiCpRCRP5TPCQJ4MJ6A3QSUqjSWzC2ozuC4j+fnSnB+gHq8YmvJKIJgVEpRPX9QH6waqxCa8PjEhHT981H2j6qno0wqzF63BhOUxsom3Zb7aJqGsUjTAONFJlpysXQz7VuXpavrBTzzEJaz1adlzNjHs6RTBvJyZhjZTF/kTaWZZCnlvhsyWgQkPZQpagzsX1bFlAXjGtDdAPUu1p3PPQhCCXkdwG/mta0PWLds060AuAnqtEOjpdbQR3VymX1P9F3UfgGJA9X9F92c/ADaQ2P8V0DJ4/kDbeYKaSvgI2AN0+OGJK1VAbSIhTOXEOybYll2kte77yD4rqrHyb85S9Cl4HtReAyI11/A7HpRq5PSD6oR0f3Rad+H7S1DvV7UgS+tc1cU3n3V/AWJ/SX8BxVuMinow2rNNjlPQVeH0GFg378kDBfLAPXARjZbTPwmUXmOG+bgz71EKFfqKeAUWfREZbJxyCxyOOqEuHER4qrNUWovwy0CFktBHV4eNZMNvxyaaFhKWAaBt/HJwEo4W0luSKLMF8viVhp4iBeeBd8CcYqcQ1qi+CKS7uVmklYdcQY0+C42Ckkf6EmO51cVal3oRlCFkCdKgfCWtbo7obDO3AVWQbHHyUsjo40E6uq9cvQbdG+wN892fj8s0HjXDWKA51/t4JUo72H/jTDtybjSUkbyYsJ0gdfAtSjfTn+JoWQjCv2+57a4M1QaQSvZvrMsIs7RJejGcdUlLJUhzpZsYsZsJcCen6ZwCE3IaYA2021OfUdU3fJltmwni7Fvh+KDMF16KR3ux0lWuSdgjPxeNdJq/tNdKNqJaSSUyEmVK6JNPomtqbIh3eSKNsEmvAarfJ5LEzjbbR59MtpqyEb8eZjpndkhtxvNri3Er4YZxpx+yW6Jdhi8V5MOHm+n0QZ9afo0u0fQO8A5S3iPaQ1cTSG9w4f/SqesZBH/gRWI6T+gyyxfkgvw2cMdrS+/lTzpZvGnyWxsnTwHLRd4R2a/OBqQyoztKBe/P2qp6DCBOUptKHhuA+pU1fq2Co0/F0L9CVaghxXTbWW9ktKg8lrFfCrwODeh/9wgu1bEDo6OT2Fvgb+JLWq+nQEsnaa5UPJbwKBxc8A9KXPG1O3u+u6E4F24GvD3XMDjCxFcF8uTdhjGpHfwn49L42lCeAdyDZwGi3HpwAPr6+Q29htn1ZPoSwfuz3ewShXVcBNz62lzkvq6O9DjZHgQ9p72kdQljvob9VBPAN9Q+UEQmpw5b+Sf8e0FotI/4a9ZN8bIcQXlnh9AD1y3ychuhgU0tpJyhb14epn+ljN+Sk9S9G1ct50d8SdgF9x9EO3lHB5hXwPEYfA8dbGD9LuWZBtfj0inSQWUDTKzu1dAB5Dkz2tdOOHn70LvwVyMag/FYwzse295Rukq5j+G1wEOib66PAy5FPMD46+NPmqTV7CpwGGvkJPm2l8z8GWDNDloqpGQAAAABJRU5ErkJggg==')}.x-tab .x-button-icon.info,.x-button .x-button-icon.x-icon-mask.info{-webkit-mask-image:url('data:image/png;base64,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')}.x-tab .x-button-icon.more,.x-button .x-button-icon.x-icon-mask.more{-webkit-mask-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAADJ0lEQVRoBe2YS2sUQRSFp5MgvmLU+CAMiBJFDBHcCeoPEFciuHMjroMK4lZBcONG0JW60U1UEgRx59IXuNMoKEElKL7GRwyIqNHxO0N66FT3UNU9IHRNFXz0VNW5t+vW6RcT1ev1Sie1rk4qVrWGgn13PDgcHPZsB8Il7ZmhqXKCw6kt8WwgOOyZoalygsOpLfFsIDjsmaGpcoLDqS3xbCA47JmhqXKCw6kt8Wyg6XAURV2wEy7BM5iFtzAKu2BB0dqJ7YEtcBYmQblfwzjshUVt5O4mfhjOwwQodw3GYA8snpd77n9pFXMYvoP+qDaZZewcVKXPAzE64Qn4CmZe9f/AFSiSu4e4IzANrXJfZ24gXjO/KxEcg9+QFZQcU/CSONh2RKsraMQhr85xE/psOeN5tCr2APyA5Bqzfl9D06tYtX3wC7KE5pg2ZX98UtsR7XZo5ayZW/1DENnyzi18CO1nyMqTNXYcrTapcitHkBLJiZW2RaGRuxcg6+Stxu6i73fI3Y3uZM7cU+hXQeVvzsBP6Dc5LupxztzaiEGH3AvR3S+Qe4dc0D2cp/Uj1oPI1pR7g030n+erWlTe9pMA3cu2Jre+2ERtzBdZe01BL3Ke9Al6vQZsTbfKQ5vImH9PXxtqa3qVPbWJjHk94J6r4DPGhK17A8EHm4j7UAWP2nTG/GX6NWMs1SW3rrCroLeLaxtDqDdG4368zbHVkzM5Polus+2hEs+j7YNxx9zv0FkfhoncvegvOuZ+iW6rYhtfTXTWgV7OyeLM3w+Y3xaf0PVIzAqwFf0IzW7XnLGOmLUg58y1JvsTzA83Y5o/eLcyMQISJAN0z56G9bE275HYNXAU7kAy9xv6p2Bj3pyxntjVcBDuQTL3FH19Dg/FWh0bXzUMNhsf23JkOQzCK9B1P4NY39OFG3kjgpeB8g/AR/gG0+3mJkeF9Lp9lkIVZkDfC1r3vPs8VTAir1uRd1mpNyQUXGr7HBYfHHbYpFJLgsOlts9h8cFhh00qtSQ4XGr7HBYfHHbYpFJLgsOlts9h8cFhh00qtSQ4XGr7HBYfHHbYpFJLOs7hf5j4Vg3iLoGkAAAAAElFTkSuQmCC')}.x-tab .x-button-icon.time,.x-button .x-button-icon.x-icon-mask.time{-webkit-mask-image:url('data:image/png;base64,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')}.x-tab .x-button-icon.user,.x-button .x-button-icon.x-icon-mask.user{-webkit-mask-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAEWElEQVRoBe2aS0gVYRiGO1lmF8nQQlETutGFokAiqEV0ISKwgmrdMtzUpnW7drWKbFGbQAKpJIhuUGIUFUkW0T1Jq4V2U4ui7GLPexpDD+ecuX1jHqcPHseZ+f9vvnf++e8n0d/fPyZONjZOYqU1doLHRV3CiURCz5gMxTANJsJg+8XJJ+iBt9BHNdO1SCwRZR1GbAFRl8F8WAFLoRwGLME/ffAM7kETvIYPxPWDo7lFIhiheURaCVtgBywHXXOzbhJcggZoRvR7twy+76uELSEAtQsqySPwGdQN+KWDPHuh2DI2+TIVm3T455M9G0Bk6ktRvd4NBZaiTQUT3AQnSNW/VAFBzl/iZw0kq56FcOtuaQHB7QIv9ZVkrqZ2YA9Mck3pMYGZYKeh2sBz1SJb2mqcmfk0E0xQ6l9rwNoKcWjm11JwEYFVW6t1/K218mspeB5B5VsFluKnIuU88Kml4PGBo3DPqBGZiVkKNgvKRFkGJ5aCv2Z4xoi6bCm4DWUaXERhZhMJS8FfolDq+DSbRFgKjrIOa8poYpaCTQKK2sl/wSHfcFSNlll1sSzhn7ys3pAvLFP275lu+L1uKVhBPfYbgMf0zz2mc01mKfgbT7vi+kT/CeT3sv9s6XNYCtbg4CJ0pX9U4Kv3yXk3cO6UjGaCWX5Rg/UArqY8I8yp1qdPQ08YJ4Pzmgl2nCqwc2DVyKjunuddqkE0MVPBBKYSuQ7tJtEhFj9apDczU8FOVB0ctZiuHYUw9obMjbxErW2bmblgApTQengVIkq1B83QEsJH2qzmgp2n3ObYCEGndZ3krbcuXcUWiWACldCjoA0yv6a8J6HJb0Yv6SMRrAcj+gmHA+B3aneDPHXk/8jR3LR3a2rOfnAlTmfDVPDb6Khrq8bPDI5PoRPxZpMSk+1SgtOKpTa8l8BC0JaLmAkloA1xr/aOhJqEtINGWeqW7jjHXrQHbRdw4WxSJf8L8Aeh2m1QaWoBfiUsA61PTwGtUYeZ1qlP1zhan3YraBSnz/0mdAUVHqiEESoxKs0a2AxloJIMI5DsWU0vQH2z2oZToAnFI7+fu2/BiF3PgzbCKqgC1bXhNH3S6rba4BocR7TquifzLBih5XjcCSrROaAGKbJWHt9uJuGq67fgAki4zrNaVsGIzCP3dNgE20B1VJ+uro8UUz3Xr39UvxugCeEZl3UzCkZsBZn1+W6HRaB6qtZ4pJp2PtTna+58DFoR3sVxqHFxyM8euFsIW6EeXoDeoPrBXEEbAlpqqoN1kD9YY6rYxSQ4DGoE9KOSXBGZLk4NYB7CfigZEP1XMBfVEJ0BJUznIFevaSBzEEolOimYkyo4AfocclVYtrjViB0C9SzJEdE+jrn+CWcTrHvdUKuRUSm0gPrZ0W7tGjjMhTiIVWFWSbAGEnGxhAT/y+HhsL9oiVWFjo3FqnRVqrETrG5pFmiSEAuTYC3TFMVCLSIzTg9H6wuIXR2OneDfMJq1NmzzbS8AAAAASUVORK5CYII=')}.x-tab .x-button-icon.team,.x-button .x-button-icon.x-icon-mask.team{-webkit-mask-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAFI0lEQVRoBe2ZSYgdVRSG+yUmnagRQYU4NbZKNLYKWTgg4gQOaDYqJIIGl4LixhBwoy50LSIiulEjCkpAUBBRURpdGceFMQ7YtgkOJE4xTjGa9vuedUl1Vd2qevSrFqvrwJ97695zzj3/PXd6nd7MzMzIQpJFC4msXDvCbc94l+Euwy2bgW5JtyyhOTpdhnNT0rKGLsMtS2iOTpfh3JS0rOGQ+eLT6/VWMNYJ4NjUmN9T/xLs4WfqvPxO7TU9DkTdNmvBbeAskJ7kv/n+AjwKXiSW7yibFQk3BSIPZHdTl5xZzML238DDYFlTsQS/jZF1AGQ1mAZZkkXfe9FbGwJrqmz6lL4cEmOgjhyO0jq2gGVj0hhhAl9M1FeB3gDRn4Pu/5NwQnJ0ALKqrgKHDmgzkHpjGR4oioPKP1H96+Dn8GvpKyLqneV5Lp0XgnHggTMFJjlYPqAcpnyLsz/LHBLL0fRfCzwbvNN3gLeI5WXKaik7DbF2/20A28HPYF+CPZQfg9tj9vS5h18DRSdyrO0j9FeW+PQenwTe138AJ+d34OPFa215zDa0l15LOLgamM0DIBukbQ60JjhLl7RL+HWQtSv7jhLGz1FgM3DJZ30Yy69gYzqGonrVHr4eJ+OgB7Ji2xi4lGUW8+PsD0vOwNGNwInMirF42K0nlmXZzvR3LNARDN3fx6WVI3VJF50Fzvr7EZtY8zQdLtUiOYXGIrJpXUmvTDdk61HCKEqiagD9SSwnLCeX3RYwSJafRd/zoUj2FzVm2hyzMJ6gV0Y46Myl/BzjeqfnyMg36G5NJqpoTPvnLGWEnS0f9lVStL/7NgT/C5XNoHTW6XesV4En/1wlGo+Oo4QJ1ivoxxqju+fKCG2lf1uFH7P3eEl2K8xndRt3VKKEE4sPKWOHiCreg28TaPR1RN/X6GwEO0GReJ3cg95kUWeqzT8W6KtMpujcVaZQRfgFjL8qcbCDvndi/Zz0h4Hr6L8JHBHRW0L7DejdAU6K6Nj8CfBQi4mH4xYmrmy1sXlK/gCAAyfkQaAT91kWj9HW/6tJ8MO3NmeC+4CHlqdu1q7o25Xk5Hqynw+WBp+hpO1K4JItsnfr5GyCbSirCHstnQpcKulBXMK+o1frCPGgWAomwL2gLsm0z3S9ny38XARWgEXJOI7xNMiS9ns9MN5ZCQhEQ1lIGCOXmZf4ZeAW8C4IAblv3wBXAIn6sjkZ3Arc80FvGKW/nu4H/nhZDiR0IngI+LYPY3i43gWuAeNgFBQSn0UYJZejRH3CPQ8cMDi19Jp6AviuVfd48ADwRZXWG3Z9J/6fApeAJUm2TYRE02OZjPfA3WAM9HVDdvt2iXHI1HkoPQd2g7SjUHef+NyU7AXgFRD65qOcZrybQXgFmtUDIDu2xE3CBuCWWBxIU+8vk9MozdQukDUO3x4qm5IJOp36ZyW6waaJci/jrkviWEV9qiQOdd8Ebr/+T0fKkYvBp6AqOB2fnQz0SA39Kn9z6Z9mfPeze/UlUOXrB3Q2AW36a77KwP7tYCwh7Mupjk1TOmZuNInlyZqxuN8n3ItrQF1xryvRl9W/3Y3/60QGCTGF71h5JB0Tbn7vsDqyP6Vkva5dymxoVQ+lIE6+3+lJCH3Zcp+E78y2Fny7Evw7kstC8YA7BtQZRP1hiwTDKnuGun8aSiekaDxXwrbG/zOtaOT/ss3MLSjpCLc93V2Guwy3bAa6Jd2yhObodBnOTUnLGroMtyyhOTpdhnNT0rKGfwD3f6JVZi/xSQAAAABJRU5ErkJggg==')}.x-tabbar-light{background-color:#2583c4;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #97c9eb), color-stop(2%, #3495d9), color-stop(100%, #1f6fa6));background-image:-webkit-linear-gradient(#97c9eb,#3495d9 2%,#1f6fa6);background-image:linear-gradient(#97c9eb,#3495d9 2%,#1f6fa6);border-top-color:#2175af;border-bottom-color:#195884}.x-tabbar-light .x-tab{color:#c1dff4}.x-tabbar-light .x-tab-active{color:white;border-bottom:1px solid #278bd1}.x-tabbar-light .x-tab-pressed{color:white}.x-tabbar-light.x-docked-bottom .x-tab{text-shadow:rgba(0, 0, 0, 0.5) 0 -0.08em 0}.x-tabbar-light.x-docked-bottom .x-tab .x-button-icon{background-color:#6cb2e3;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ecf5fc), color-stop(2%, #8ac2e9), color-stop(100%, #4da3de));background-image:-webkit-linear-gradient(#ecf5fc,#8ac2e9 2%,#4da3de);background-image:linear-gradient(#ecf5fc,#8ac2e9 2%,#4da3de)}.x-tabbar-light.x-docked-bottom .x-tab-active{background-color:#2175af;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #195884), color-stop(10%, #1d6699), color-stop(65%, #2175af), color-stop(100%, #2176b1));background-image:-webkit-linear-gradient(#195884,#1d6699 10%,#2175af 65%,#2176b1);background-image:linear-gradient(#195884,#1d6699 10%,#2175af 65%,#2176b1);text-shadow:rgba(255, 255, 255, 0.25) 0 0.08em 0;-webkit-box-shadow:#1d6699 0 0 0.25em inset;box-shadow:#1d6699 0 0 0.25em inset}.x-tabbar-light.x-docked-bottom .x-tab-active .x-button-icon{background-color:#1da2ff;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #b6e1ff), color-stop(2%, #41b1ff), color-stop(100%, #0093f8));background-image:-webkit-linear-gradient(#b6e1ff,#41b1ff 2%,#0093f8);background-image:linear-gradient(#b6e1ff,#41b1ff 2%,#0093f8)}.x-tabbar-light.x-docked-top .x-tab-active{background-color:#2175af;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #195884), color-stop(10%, #1d6699), color-stop(65%, #2175af), color-stop(100%, #2176b1));background-image:-webkit-linear-gradient(#195884,#1d6699 10%,#2175af 65%,#2176b1);background-image:linear-gradient(#195884,#1d6699 10%,#2175af 65%,#2176b1);color:white}.x-tabbar-dark{background-color:#0e4b75;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #359ee7), color-stop(2%, #125f95), color-stop(100%, #0a3655));background-image:-webkit-linear-gradient(#359ee7,#125f95 2%,#0a3655);background-image:linear-gradient(#359ee7,#125f95 2%,#0a3655);border-top-color:#0b3c5e;border-bottom-color:#061f31}.x-tabbar-dark .x-tab{color:#63b4ec}.x-tabbar-dark .x-tab-active{color:white;border-bottom:1px solid #105483}.x-tabbar-dark .x-tab-pressed{color:white}.x-tabbar-dark.x-docked-bottom .x-tab{text-shadow:rgba(0, 0, 0, 0.5) 0 -0.08em 0}.x-tabbar-dark.x-docked-bottom .x-tab .x-button-icon{background-color:#1985d0;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #90caf2), color-stop(2%, #2897e5), color-stop(100%, #1571b0));background-image:-webkit-linear-gradient(#90caf2,#2897e5 2%,#1571b0);background-image:linear-gradient(#90caf2,#2897e5 2%,#1571b0)}.x-tabbar-dark.x-docked-bottom .x-tab-active{background-color:#0b3c5e;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #061f31), color-stop(10%, #092e47), color-stop(65%, #0b3c5e), color-stop(100%, #0c3e60));background-image:-webkit-linear-gradient(#061f31,#092e47 10%,#0b3c5e 65%,#0c3e60);background-image:linear-gradient(#061f31,#092e47 10%,#0b3c5e 65%,#0c3e60);text-shadow:rgba(0, 0, 0, 0.5) 0 -0.08em 0;-webkit-box-shadow:#092e47 0 0 0.25em inset;box-shadow:#092e47 0 0 0.25em inset}.x-tabbar-dark.x-docked-bottom .x-tab-active .x-button-icon{background-color:#50b7ff;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #e9f6ff), color-stop(2%, #74c6ff), color-stop(100%, #2ca9ff));background-image:-webkit-linear-gradient(#e9f6ff,#74c6ff 2%,#2ca9ff);background-image:linear-gradient(#e9f6ff,#74c6ff 2%,#2ca9ff)}.x-tabbar-dark.x-docked-top .x-tab-active{background-color:#0b3c5e;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #061f31), color-stop(10%, #092e47), color-stop(65%, #0b3c5e), color-stop(100%, #0c3e60));background-image:-webkit-linear-gradient(#061f31,#092e47 10%,#0b3c5e 65%,#0c3e60);background-image:linear-gradient(#061f31,#092e47 10%,#0b3c5e 65%,#0c3e60);color:white}.x-tabbar-neutral{background-color:#e0e0e0;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ffffff), color-stop(2%, #f2f2f2), color-stop(100%, #cecece));background-image:-webkit-linear-gradient(#ffffff,#f2f2f2 2%,#cecece);background-image:linear-gradient(#ffffff,#f2f2f2 2%,#cecece);border-top-color:#d3d3d3;border-bottom-color:#bababa}.x-tabbar-neutral .x-tab{color:#7a7a7a}.x-tabbar-neutral .x-tab-active{color:black;border-bottom:1px solid #e8e8e8}.x-tabbar-neutral .x-tab-pressed{color:black}.x-tabbar-neutral.x-docked-bottom .x-tab{text-shadow:rgba(255, 255, 255, 0.25) 0 0.08em 0}.x-tabbar-neutral.x-docked-bottom .x-tab .x-button-icon{background-color:#adadad;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #fafafa), color-stop(2%, #bfbfbf), color-stop(100%, #9b9b9b));background-image:-webkit-linear-gradient(#fafafa,#bfbfbf 2%,#9b9b9b);background-image:linear-gradient(#fafafa,#bfbfbf 2%,#9b9b9b)}.x-tabbar-neutral.x-docked-bottom .x-tab-active{background-color:#d3d3d3;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #bababa), color-stop(10%, #c7c7c7), color-stop(65%, #d3d3d3), color-stop(100%, #d5d5d5));background-image:-webkit-linear-gradient(#bababa,#c7c7c7 10%,#d3d3d3 65%,#d5d5d5);background-image:linear-gradient(#bababa,#c7c7c7 10%,#d3d3d3 65%,#d5d5d5);text-shadow:rgba(255, 255, 255, 0.25) 0 0.08em 0;-webkit-box-shadow:#c7c7c7 0 0 0.25em inset;box-shadow:#c7c7c7 0 0 0.25em inset}.x-tabbar-neutral.x-docked-bottom .x-tab-active .x-button-icon{background-color:#7a7a7a;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #c7c7c7), color-stop(2%, #8c8c8c), color-stop(100%, #686868));background-image:-webkit-linear-gradient(#c7c7c7,#8c8c8c 2%,#686868);background-image:linear-gradient(#c7c7c7,#8c8c8c 2%,#686868)}.x-tabbar-neutral.x-docked-top .x-tab-active{background-color:#d3d3d3;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #bababa), color-stop(10%, #c7c7c7), color-stop(65%, #d3d3d3), color-stop(100%, #d5d5d5));background-image:-webkit-linear-gradient(#bababa,#c7c7c7 10%,#d3d3d3 65%,#d5d5d5);background-image:linear-gradient(#bababa,#c7c7c7 10%,#d3d3d3 65%,#d5d5d5);color:black}.x-tab.x-item-disabled span.x-button-label,.x-tab.x-item-disabled .x-hasbadge span.x-badge,.x-hasbadge .x-tab.x-item-disabled span.x-badge,.x-tab.x-item-disabled .x-button-icon{filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=50);opacity:0.5}.x-tab.x-draggable{filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=70);opacity:0.7}.x-tab{-webkit-user-select:none;overflow:visible !important}.x-toolbar{padding:0 0.2em;overflow:hidden;position:relative;height:2.6em}.x-toolbar > *{z-index:1}.x-toolbar.x-docked-top{border-bottom:.1em solid}.x-toolbar.x-docked-bottom{border-top:.1em solid}.x-toolbar.x-docked-left{width:7em;height:auto;padding:0.2em;border-right:.1em solid}.x-toolbar.x-docked-right{width:7em;height:auto;padding:0.2em;border-left:.1em solid}.x-title{line-height:2.1em;font-size:1.2em;text-align:center;font-weight:bold;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0 0.3em;max-width:100%}.x-title .x-innerhtml{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 .3em}.x-toolbar-dark{background-color:#1468a2;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #63b4ec), color-stop(2%, #177cc2), color-stop(100%, #105483));background-image:-webkit-linear-gradient(#63b4ec,#177cc2 2%,#105483);background-image:linear-gradient(#63b4ec,#177cc2 2%,#105483);border-color:black}.x-toolbar-dark .x-title{color:white;text-shadow:rgba(0, 0, 0, 0.5) 0 -0.08em 0}.x-toolbar-dark.x-docked-top{border-bottom-color:black}.x-toolbar-dark.x-docked-bottom{border-top-color:black}.x-toolbar-dark.x-docked-left{border-right-color:black}.x-toolbar-dark.x-docked-right{border-left-color:black}.x-toolbar-dark .x-button,.x-toolbar .x-toolbar-dark .x-button,.x-toolbar-dark .x-field-select .x-component-outer,.x-toolbar .x-toolbar-dark .x-field-select .x-component-outer,.x-toolbar-dark .x-field-select .x-component-outer:before,.x-toolbar .x-toolbar-dark .x-field-select .x-component-outer:before{border:1px solid #061f31;border-top-color:#092e47;color:white}.x-toolbar-dark .x-button.x-button-back:before,.x-toolbar-dark .x-button.x-button-forward:before,.x-toolbar .x-toolbar-dark .x-button.x-button-back:before,.x-toolbar .x-toolbar-dark .x-button.x-button-forward:before,.x-toolbar-dark .x-field-select .x-component-outer.x-button-back:before,.x-toolbar-dark .x-field-select .x-component-outer.x-button-forward:before,.x-toolbar .x-toolbar-dark .x-field-select .x-component-outer.x-button-back:before,.x-toolbar .x-toolbar-dark .x-field-select .x-component-outer.x-button-forward:before,.x-toolbar-dark .x-field-select .x-component-outer:before.x-button-back:before,.x-toolbar-dark .x-field-select .x-component-outer:before.x-button-forward:before,.x-toolbar .x-toolbar-dark .x-field-select .x-component-outer:before.x-button-back:before,.x-toolbar .x-toolbar-dark .x-field-select .x-component-outer:before.x-button-forward:before{background:#061f31}.x-toolbar-dark .x-button,.x-toolbar-dark .x-button.x-button-back:after,.x-toolbar-dark .x-button.x-button-forward:after,.x-toolbar .x-toolbar-dark .x-button,.x-toolbar .x-toolbar-dark .x-button.x-button-back:after,.x-toolbar .x-toolbar-dark .x-button.x-button-forward:after,.x-toolbar-dark .x-field-select .x-component-outer,.x-toolbar-dark .x-field-select .x-component-outer.x-button-back:after,.x-toolbar-dark .x-field-select .x-component-outer.x-button-forward:after,.x-toolbar .x-toolbar-dark .x-field-select .x-component-outer,.x-toolbar .x-toolbar-dark .x-field-select .x-component-outer.x-button-back:after,.x-toolbar .x-toolbar-dark .x-field-select .x-component-outer.x-button-forward:after,.x-toolbar-dark .x-field-select .x-component-outer:before,.x-toolbar-dark .x-field-select .x-component-outer:before.x-button-back:after,.x-toolbar-dark .x-field-select .x-component-outer:before.x-button-forward:after,.x-toolbar .x-toolbar-dark .x-field-select .x-component-outer:before,.x-toolbar .x-toolbar-dark .x-field-select .x-component-outer:before.x-button-back:after,.x-toolbar .x-toolbar-dark .x-field-select .x-component-outer:before.x-button-forward:after{background-color:#11598c;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #4ca9e9), color-stop(2%, #156eac), color-stop(100%, #0d456c));background-image:-webkit-linear-gradient(#4ca9e9,#156eac 2%,#0d456c);background-image:linear-gradient(#4ca9e9,#156eac 2%,#0d456c)}.x-toolbar-dark .x-button .x-button-icon.x-icon-mask,.x-toolbar .x-toolbar-dark .x-button .x-button-icon.x-icon-mask,.x-toolbar-dark .x-field-select .x-component-outer .x-button-icon.x-icon-mask,.x-toolbar .x-toolbar-dark .x-field-select .x-component-outer .x-button-icon.x-icon-mask,.x-toolbar-dark .x-field-select .x-component-outer:before .x-button-icon.x-icon-mask,.x-toolbar .x-toolbar-dark .x-field-select .x-component-outer:before .x-button-icon.x-icon-mask{background-color:white;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ffffff), color-stop(2%, #ffffff), color-stop(100%, #dff0fb));background-image:-webkit-linear-gradient(#ffffff,#ffffff 2%,#dff0fb);background-image:linear-gradient(#ffffff,#ffffff 2%,#dff0fb)}.x-toolbar-dark .x-button.x-button-pressing,.x-toolbar-dark .x-button.x-button-pressing:after,.x-toolbar-dark .x-button.x-button-pressed,.x-toolbar-dark .x-button.x-button-pressed:after,.x-toolbar-dark .x-button.x-button-active,.x-toolbar-dark .x-button.x-button-active:after,.x-toolbar .x-toolbar-dark .x-button.x-button-pressing,.x-toolbar .x-toolbar-dark .x-button.x-button-pressing:after,.x-toolbar .x-toolbar-dark .x-button.x-button-pressed,.x-toolbar .x-toolbar-dark .x-button.x-button-pressed:after,.x-toolbar .x-toolbar-dark .x-button.x-button-active,.x-toolbar .x-toolbar-dark .x-button.x-button-active:after,.x-toolbar-dark .x-field-select .x-component-outer.x-button-pressing,.x-toolbar-dark .x-field-select .x-component-outer.x-button-pressing:after,.x-toolbar-dark .x-field-select .x-component-outer.x-button-pressed,.x-toolbar-dark .x-field-select .x-component-outer.x-button-pressed:after,.x-toolbar-dark .x-field-select .x-component-outer.x-button-active,.x-toolbar-dark .x-field-select .x-component-outer.x-button-active:after,.x-toolbar .x-toolbar-dark .x-field-select .x-component-outer.x-button-pressing,.x-toolbar .x-toolbar-dark .x-field-select .x-component-outer.x-button-pressing:after,.x-toolbar .x-toolbar-dark .x-field-select .x-component-outer.x-button-pressed,.x-toolbar .x-toolbar-dark .x-field-select .x-component-outer.x-button-pressed:after,.x-toolbar .x-toolbar-dark .x-field-select .x-component-outer.x-button-active,.x-toolbar .x-toolbar-dark .x-field-select .x-component-outer.x-button-active:after,.x-toolbar-dark .x-field-select .x-component-outer:before.x-button-pressing,.x-toolbar-dark .x-field-select .x-component-outer:before.x-button-pressing:after,.x-toolbar-dark .x-field-select .x-component-outer:before.x-button-pressed,.x-toolbar-dark .x-field-select .x-component-outer:before.x-button-pressed:after,.x-toolbar-dark .x-field-select .x-component-outer:before.x-button-active,.x-toolbar-dark .x-field-select .x-component-outer:before.x-button-active:after,.x-toolbar .x-toolbar-dark .x-field-select .x-component-outer:before.x-button-pressing,.x-toolbar .x-toolbar-dark .x-field-select .x-component-outer:before.x-button-pressing:after,.x-toolbar .x-toolbar-dark .x-field-select .x-component-outer:before.x-button-pressed,.x-toolbar .x-toolbar-dark .x-field-select .x-component-outer:before.x-button-pressed:after,.x-toolbar .x-toolbar-dark .x-field-select .x-component-outer:before.x-button-active,.x-toolbar .x-toolbar-dark .x-field-select .x-component-outer:before.x-button-active:after{background-color:#0f517e;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #0a3351), color-stop(10%, #0c4267), color-stop(65%, #0f517e), color-stop(100%, #0f5280));background-image:-webkit-linear-gradient(#0a3351,#0c4267 10%,#0f517e 65%,#0f5280);background-image:linear-gradient(#0a3351,#0c4267 10%,#0f517e 65%,#0f5280)}.x-toolbar-dark .x-form-label{color:white;text-shadow:rgba(0, 0, 0, 0.5) 0 -0.08em 0}.x-toolbar-light{background-color:#1985d0;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #90caf2), color-stop(2%, #2897e5), color-stop(100%, #1571b0));background-image:-webkit-linear-gradient(#90caf2,#2897e5 2%,#1571b0);background-image:linear-gradient(#90caf2,#2897e5 2%,#1571b0);border-color:black}.x-toolbar-light .x-title{color:white;text-shadow:rgba(0, 0, 0, 0.5) 0 -0.08em 0}.x-toolbar-light.x-docked-top{border-bottom-color:black}.x-toolbar-light.x-docked-bottom{border-top-color:black}.x-toolbar-light.x-docked-left{border-right-color:black}.x-toolbar-light.x-docked-right{border-left-color:black}.x-toolbar-light .x-button,.x-toolbar .x-toolbar-light .x-button,.x-toolbar-light .x-field-select .x-component-outer,.x-toolbar .x-toolbar-light .x-field-select .x-component-outer,.x-toolbar-light .x-field-select .x-component-outer:before,.x-toolbar .x-toolbar-light .x-field-select .x-component-outer:before{border:1px solid #0b3c5e;border-top-color:#0e4b75;color:white}.x-toolbar-light .x-button.x-button-back:before,.x-toolbar-light .x-button.x-button-forward:before,.x-toolbar .x-toolbar-light .x-button.x-button-back:before,.x-toolbar .x-toolbar-light .x-button.x-button-forward:before,.x-toolbar-light .x-field-select .x-component-outer.x-button-back:before,.x-toolbar-light .x-field-select .x-component-outer.x-button-forward:before,.x-toolbar .x-toolbar-light .x-field-select .x-component-outer.x-button-back:before,.x-toolbar .x-toolbar-light .x-field-select .x-component-outer.x-button-forward:before,.x-toolbar-light .x-field-select .x-component-outer:before.x-button-back:before,.x-toolbar-light .x-field-select .x-component-outer:before.x-button-forward:before,.x-toolbar .x-toolbar-light .x-field-select .x-component-outer:before.x-button-back:before,.x-toolbar .x-toolbar-light .x-field-select .x-component-outer:before.x-button-forward:before{background:#0b3c5e}.x-toolbar-light .x-button,.x-toolbar-light .x-button.x-button-back:after,.x-toolbar-light .x-button.x-button-forward:after,.x-toolbar .x-toolbar-light .x-button,.x-toolbar .x-toolbar-light .x-button.x-button-back:after,.x-toolbar .x-toolbar-light .x-button.x-button-forward:after,.x-toolbar-light .x-field-select .x-component-outer,.x-toolbar-light .x-field-select .x-component-outer.x-button-back:after,.x-toolbar-light .x-field-select .x-component-outer.x-button-forward:after,.x-toolbar .x-toolbar-light .x-field-select .x-component-outer,.x-toolbar .x-toolbar-light .x-field-select .x-component-outer.x-button-back:after,.x-toolbar .x-toolbar-light .x-field-select .x-component-outer.x-button-forward:after,.x-toolbar-light .x-field-select .x-component-outer:before,.x-toolbar-light .x-field-select .x-component-outer:before.x-button-back:after,.x-toolbar-light .x-field-select .x-component-outer:before.x-button-forward:after,.x-toolbar .x-toolbar-light .x-field-select .x-component-outer:before,.x-toolbar .x-toolbar-light .x-field-select .x-component-outer:before.x-button-back:after,.x-toolbar .x-toolbar-light .x-field-select .x-component-outer:before.x-button-forward:after{background-color:#1676b9;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #7abfef), color-stop(2%, #1a8bd9), color-stop(100%, #126299));background-image:-webkit-linear-gradient(#7abfef,#1a8bd9 2%,#126299);background-image:linear-gradient(#7abfef,#1a8bd9 2%,#126299)}.x-toolbar-light .x-button .x-button-icon.x-icon-mask,.x-toolbar .x-toolbar-light .x-button .x-button-icon.x-icon-mask,.x-toolbar-light .x-field-select .x-component-outer .x-button-icon.x-icon-mask,.x-toolbar .x-toolbar-light .x-field-select .x-component-outer .x-button-icon.x-icon-mask,.x-toolbar-light .x-field-select .x-component-outer:before .x-button-icon.x-icon-mask,.x-toolbar .x-toolbar-light .x-field-select .x-component-outer:before .x-button-icon.x-icon-mask{background-color:white;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ffffff), color-stop(2%, #ffffff), color-stop(100%, #dff0fb));background-image:-webkit-linear-gradient(#ffffff,#ffffff 2%,#dff0fb);background-image:linear-gradient(#ffffff,#ffffff 2%,#dff0fb)}.x-toolbar-light .x-button.x-button-pressing,.x-toolbar-light .x-button.x-button-pressing:after,.x-toolbar-light .x-button.x-button-pressed,.x-toolbar-light .x-button.x-button-pressed:after,.x-toolbar-light .x-button.x-button-active,.x-toolbar-light .x-button.x-button-active:after,.x-toolbar .x-toolbar-light .x-button.x-button-pressing,.x-toolbar .x-toolbar-light .x-button.x-button-pressing:after,.x-toolbar .x-toolbar-light .x-button.x-button-pressed,.x-toolbar .x-toolbar-light .x-button.x-button-pressed:after,.x-toolbar .x-toolbar-light .x-button.x-button-active,.x-toolbar .x-toolbar-light .x-button.x-button-active:after,.x-toolbar-light .x-field-select .x-component-outer.x-button-pressing,.x-toolbar-light .x-field-select .x-component-outer.x-button-pressing:after,.x-toolbar-light .x-field-select .x-component-outer.x-button-pressed,.x-toolbar-light .x-field-select .x-component-outer.x-button-pressed:after,.x-toolbar-light .x-field-select .x-component-outer.x-button-active,.x-toolbar-light .x-field-select .x-component-outer.x-button-active:after,.x-toolbar .x-toolbar-light .x-field-select .x-component-outer.x-button-pressing,.x-toolbar .x-toolbar-light .x-field-select .x-component-outer.x-button-pressing:after,.x-toolbar .x-toolbar-light .x-field-select .x-component-outer.x-button-pressed,.x-toolbar .x-toolbar-light .x-field-select .x-component-outer.x-button-pressed:after,.x-toolbar .x-toolbar-light .x-field-select .x-component-outer.x-button-active,.x-toolbar .x-toolbar-light .x-field-select .x-component-outer.x-button-active:after,.x-toolbar-light .x-field-select .x-component-outer:before.x-button-pressing,.x-toolbar-light .x-field-select .x-component-outer:before.x-button-pressing:after,.x-toolbar-light .x-field-select .x-component-outer:before.x-button-pressed,.x-toolbar-light .x-field-select .x-component-outer:before.x-button-pressed:after,.x-toolbar-light .x-field-select .x-component-outer:before.x-button-active,.x-toolbar-light .x-field-select .x-component-outer:before.x-button-active:after,.x-toolbar .x-toolbar-light .x-field-select .x-component-outer:before.x-button-pressing,.x-toolbar .x-toolbar-light .x-field-select .x-component-outer:before.x-button-pressing:after,.x-toolbar .x-toolbar-light .x-field-select .x-component-outer:before.x-button-pressed,.x-toolbar .x-toolbar-light .x-field-select .x-component-outer:before.x-button-pressed:after,.x-toolbar .x-toolbar-light .x-field-select .x-component-outer:before.x-button-active,.x-toolbar .x-toolbar-light .x-field-select .x-component-outer:before.x-button-active:after{background-color:#156eac;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #0f517e), color-stop(10%, #125f95), color-stop(65%, #156eac), color-stop(100%, #156fae));background-image:-webkit-linear-gradient(#0f517e,#125f95 10%,#156eac 65%,#156fae);background-image:linear-gradient(#0f517e,#125f95 10%,#156eac 65%,#156fae)}.x-toolbar-light .x-form-label{color:white;text-shadow:rgba(0, 0, 0, 0.5) 0 -0.08em 0}.x-toolbar-neutral{background-color:#e0e0e0;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ffffff), color-stop(2%, #f2f2f2), color-stop(100%, #cecece));background-image:-webkit-linear-gradient(#ffffff,#f2f2f2 2%,#cecece);background-image:linear-gradient(#ffffff,#f2f2f2 2%,#cecece);border-color:#616161}.x-toolbar-neutral .x-title{color:black;text-shadow:rgba(255, 255, 255, 0.25) 0 0.08em 0}.x-toolbar-neutral.x-docked-top{border-bottom-color:#616161}.x-toolbar-neutral.x-docked-bottom{border-top-color:#616161}.x-toolbar-neutral.x-docked-left{border-right-color:#616161}.x-toolbar-neutral.x-docked-right{border-left-color:#616161}.x-toolbar-neutral .x-button,.x-toolbar .x-toolbar-neutral .x-button,.x-toolbar-neutral .x-field-select .x-component-outer,.x-toolbar .x-toolbar-neutral .x-field-select .x-component-outer,.x-toolbar-neutral .x-field-select .x-component-outer:before,.x-toolbar .x-toolbar-neutral .x-field-select .x-component-outer:before{border:1px solid #a0a0a0;border-top-color:#adadad;color:black}.x-toolbar-neutral .x-button.x-button-back:before,.x-toolbar-neutral .x-button.x-button-forward:before,.x-toolbar .x-toolbar-neutral .x-button.x-button-back:before,.x-toolbar .x-toolbar-neutral .x-button.x-button-forward:before,.x-toolbar-neutral .x-field-select .x-component-outer.x-button-back:before,.x-toolbar-neutral .x-field-select .x-component-outer.x-button-forward:before,.x-toolbar .x-toolbar-neutral .x-field-select .x-component-outer.x-button-back:before,.x-toolbar .x-toolbar-neutral .x-field-select .x-component-outer.x-button-forward:before,.x-toolbar-neutral .x-field-select .x-component-outer:before.x-button-back:before,.x-toolbar-neutral .x-field-select .x-component-outer:before.x-button-forward:before,.x-toolbar .x-toolbar-neutral .x-field-select .x-component-outer:before.x-button-back:before,.x-toolbar .x-toolbar-neutral .x-field-select .x-component-outer:before.x-button-forward:before{background:#a0a0a0}.x-toolbar-neutral .x-button,.x-toolbar-neutral .x-button.x-button-back:after,.x-toolbar-neutral .x-button.x-button-forward:after,.x-toolbar .x-toolbar-neutral .x-button,.x-toolbar .x-toolbar-neutral .x-button.x-button-back:after,.x-toolbar .x-toolbar-neutral .x-button.x-button-forward:after,.x-toolbar-neutral .x-field-select .x-component-outer,.x-toolbar-neutral .x-field-select .x-component-outer.x-button-back:after,.x-toolbar-neutral .x-field-select .x-component-outer.x-button-forward:after,.x-toolbar .x-toolbar-neutral .x-field-select .x-component-outer,.x-toolbar .x-toolbar-neutral .x-field-select .x-component-outer.x-button-back:after,.x-toolbar .x-toolbar-neutral .x-field-select .x-component-outer.x-button-forward:after,.x-toolbar-neutral .x-field-select .x-component-outer:before,.x-toolbar-neutral .x-field-select .x-component-outer:before.x-button-back:after,.x-toolbar-neutral .x-field-select .x-component-outer:before.x-button-forward:after,.x-toolbar .x-toolbar-neutral .x-field-select .x-component-outer:before,.x-toolbar .x-toolbar-neutral .x-field-select .x-component-outer:before.x-button-back:after,.x-toolbar .x-toolbar-neutral .x-field-select .x-component-outer:before.x-button-forward:after{background-color:#d3d3d3;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ffffff), color-stop(2%, #e5e5e5), color-stop(100%, #c1c1c1));background-image:-webkit-linear-gradient(#ffffff,#e5e5e5 2%,#c1c1c1);background-image:linear-gradient(#ffffff,#e5e5e5 2%,#c1c1c1)}.x-toolbar-neutral .x-button .x-button-icon.x-icon-mask,.x-toolbar .x-toolbar-neutral .x-button .x-button-icon.x-icon-mask,.x-toolbar-neutral .x-field-select .x-component-outer .x-button-icon.x-icon-mask,.x-toolbar .x-toolbar-neutral .x-field-select .x-component-outer .x-button-icon.x-icon-mask,.x-toolbar-neutral .x-field-select .x-component-outer:before .x-button-icon.x-icon-mask,.x-toolbar .x-toolbar-neutral .x-field-select .x-component-outer:before .x-button-icon.x-icon-mask{background-color:black;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #4d4d4d), color-stop(2%, #121212), color-stop(100%, #000000));background-image:-webkit-linear-gradient(#4d4d4d,#121212 2%,#000000);background-image:linear-gradient(#4d4d4d,#121212 2%,#000000)}.x-toolbar-neutral .x-button.x-button-pressing,.x-toolbar-neutral .x-button.x-button-pressing:after,.x-toolbar-neutral .x-button.x-button-pressed,.x-toolbar-neutral .x-button.x-button-pressed:after,.x-toolbar-neutral .x-button.x-button-active,.x-toolbar-neutral .x-button.x-button-active:after,.x-toolbar .x-toolbar-neutral .x-button.x-button-pressing,.x-toolbar .x-toolbar-neutral .x-button.x-button-pressing:after,.x-toolbar .x-toolbar-neutral .x-button.x-button-pressed,.x-toolbar .x-toolbar-neutral .x-button.x-button-pressed:after,.x-toolbar .x-toolbar-neutral .x-button.x-button-active,.x-toolbar .x-toolbar-neutral .x-button.x-button-active:after,.x-toolbar-neutral .x-field-select .x-component-outer.x-button-pressing,.x-toolbar-neutral .x-field-select .x-component-outer.x-button-pressing:after,.x-toolbar-neutral .x-field-select .x-component-outer.x-button-pressed,.x-toolbar-neutral .x-field-select .x-component-outer.x-button-pressed:after,.x-toolbar-neutral .x-field-select .x-component-outer.x-button-active,.x-toolbar-neutral .x-field-select .x-component-outer.x-button-active:after,.x-toolbar .x-toolbar-neutral .x-field-select .x-component-outer.x-button-pressing,.x-toolbar .x-toolbar-neutral .x-field-select .x-component-outer.x-button-pressing:after,.x-toolbar .x-toolbar-neutral .x-field-select .x-component-outer.x-button-pressed,.x-toolbar .x-toolbar-neutral .x-field-select .x-component-outer.x-button-pressed:after,.x-toolbar .x-toolbar-neutral .x-field-select .x-component-outer.x-button-active,.x-toolbar .x-toolbar-neutral .x-field-select .x-component-outer.x-button-active:after,.x-toolbar-neutral .x-field-select .x-component-outer:before.x-button-pressing,.x-toolbar-neutral .x-field-select .x-component-outer:before.x-button-pressing:after,.x-toolbar-neutral .x-field-select .x-component-outer:before.x-button-pressed,.x-toolbar-neutral .x-field-select .x-component-outer:before.x-button-pressed:after,.x-toolbar-neutral .x-field-select .x-component-outer:before.x-button-active,.x-toolbar-neutral .x-field-select .x-component-outer:before.x-button-active:after,.x-toolbar .x-toolbar-neutral .x-field-select .x-component-outer:before.x-button-pressing,.x-toolbar .x-toolbar-neutral .x-field-select .x-component-outer:before.x-button-pressing:after,.x-toolbar .x-toolbar-neutral .x-field-select .x-component-outer:before.x-button-pressed,.x-toolbar .x-toolbar-neutral .x-field-select .x-component-outer:before.x-button-pressed:after,.x-toolbar .x-toolbar-neutral .x-field-select .x-component-outer:before.x-button-active,.x-toolbar .x-toolbar-neutral .x-field-select .x-component-outer:before.x-button-active:after{background-color:#cccccc;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #b2b2b2), color-stop(10%, #bfbfbf), color-stop(65%, #cccccc), color-stop(100%, #cdcdcd));background-image:-webkit-linear-gradient(#b2b2b2,#bfbfbf 10%,#cccccc 65%,#cdcdcd);background-image:linear-gradient(#b2b2b2,#bfbfbf 10%,#cccccc 65%,#cdcdcd)}.x-toolbar-neutral .x-form-label{color:black;text-shadow:rgba(255, 255, 255, 0.25) 0 0.08em 0}.x-navigation-bar .x-container{overflow:visible}.x-spinner .x-input-el,.x-field-select .x-input-el{-webkit-text-fill-color:#000;-webkit-opacity:1}.x-spinner.x-item-disabled .x-input-el,.x-field-select.x-item-disabled .x-input-el{-webkit-text-fill-color:currentcolor}.x-toolbar .x-field-select .x-input-el{-webkit-text-fill-color:#fff}.x-toolbar .x-field-select.x-item-disabled .x-input-el{-webkit-text-fill-color:rgba(255, 255, 255, 0.6)}.x-toolbar .x-form-field-container{padding:0 .3em}.x-toolbar .x-field{width:13em;margin:.5em;min-height:0;border-bottom:0;background:transparent}.x-toolbar .x-field .x-clear-icon{background-size:50% 50%;right:-0.8em;margin-top:-1.06em}.x-toolbar .x-field-input{padding-right:1.6em !important}.x-toolbar .x-field-textarea .x-component-outer,.x-toolbar .x-field-text .x-component-outer,.x-toolbar .x-field-number .x-component-outer,.x-toolbar .x-field-search .x-component-outer{-webkit-border-radius:0.3em;border-radius:0.3em;background-color:white;-webkit-box-shadow:inset rgba(0, 0, 0, 0.5) 0 0.1em 0, inset rgba(0, 0, 0, 0.5) 0 -0.1em 0, inset rgba(0, 0, 0, 0.5) 0.1em 0 0, inset rgba(0, 0, 0, 0.5) -0.1em 0 0, inset rgba(0, 0, 0, 0.5) 0 0.15em 0.4em}.x-toolbar .x-form-label{background:transparent;border:0;padding:0;line-height:1.4em}.x-toolbar .x-form-field{height:1.6em;color:#6e6e6e;background:transparent;min-height:0;-webkit-appearance:none;padding:0em .3em;margin:0}.x-toolbar .x-form-field:focus{color:black}.x-toolbar .x-field-select .x-component-outer,.x-toolbar .x-field-search .x-component-outer{-webkit-border-radius:0.8em;border-radius:0.8em}.x-toolbar .x-field-search .x-field-input{background-position:.5em 50%}.x-toolbar .x-field-select{-webkit-box-shadow:none}.x-toolbar .x-field-select .x-form-field{height:1.4em}.x-toolbar .x-field-select{background:transparent}.x-toolbar .x-field-select .x-component-outer:after{right:.4em}.x-toolbar .x-field-select.x-item-disabled .x-component-outer:after{opacity:.6}.x-toolbar .x-field-select .x-component-outer:before{width:3em;border-left:none;-webkit-border-top-right-radius:0.8em;border-top-right-radius:0.8em;-webkit-border-bottom-right-radius:0.8em;border-bottom-right-radius:0.8em;-webkit-mask:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAABCAYAAACc0f2yAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAADJJREFUeNpi/P//PwMjIyMbAwMDOxRzAjEXFHMDMQ8a5kXC6HLcSHo5kcwEmU9TABBgAOcTBAFcRiSpAAAAAElFTkSuQmCC');-webkit-mask-position:right top;-webkit-mask-repeat:repeat-y;-webkit-mask-size:3em 0.05em}.x-toolbar .x-field-select .x-input-text{color:#fff}.x-android .x-field-search .x-field-input{padding-left:.2em !important;padding-right:2.2em !important}.x-indexbar-wrapper{-webkit-box-pack:end !important;box-pack:end !important;pointer-events:none}.x-indexbar-vertical{width:1.1em;-webkit-box-orient:vertical;box-orient:vertical;margin-right:8px}.x-indexbar-horizontal{height:1.1em;-webkit-box-orient:horizontal;box-orient:horizontal;margin-bottom:8px}.x-indexbar{pointer-events:auto;z-index:2;padding:.3em 0;min-height:0 !important;height:auto !important;-webkit-box-flex:0 !important}.x-indexbar > div{color:#155988;font-size:0.6em;text-align:center;line-height:1.1em;font-weight:bold;display:block}.x-phone.x-landscape .x-indexbar > div{font-size:0.38em;line-height:1em}.x-indexbar-pressed{-webkit-border-radius:0.55em;border-radius:0.55em;background-color:rgba(143, 155, 163, 0.8)}.x-list{position:relative;background-color:#f7f7f7}.x-list .x-list-inner{width:100%}.x-list .x-list-disclosure{position:absolute;bottom:0.44em;right:0.44em}.x-list .x-list-disclosure{overflow:visible;-webkit-mask:0 0 url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpFNkNCM0JGNTZFMjI2ODExQkNGQjkwMzk3MDc3MkZFQiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo3M0MzQUU1QUFDQkQxMURGOEQ2MUVDMjM0MzY2NTBDQSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo3M0MzQUU1OUFDQkQxMURGOEQ2MUVDMjM0MzY2NTBDQSIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IE1hY2ludG9zaCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkU3Q0IzQkY1NkUyMjY4MTFCQ0ZCOTAzOTcwNzcyRkVCIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkU2Q0IzQkY1NkUyMjY4MTFCQ0ZCOTAzOTcwNzcyRkVCIi8+IDwvcmRmOkRlc2NyaXB0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') no-repeat;-webkit-mask-size:1.7em;background-color:#006bb6;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #50b7ff), color-stop(2%, #0080da), color-stop(100%, #005692));background-image:-webkit-linear-gradient(#50b7ff,#0080da 2%,#005692);background-image:linear-gradient(#50b7ff,#0080da 2%,#005692);width:1.7em;height:1.7em}.x-list.x-list-indexed .x-list-disclosure{margin-right:1em}.x-list .x-item-selected .x-list-disclosure{background:#fff none}.x-list .x-list-item{position:relative;color:black}.x-list .x-list-item .x-list-item-label{min-height:2.6em;padding:0.65em 0.8em}.x-list .x-list-item.x-item-pressed .x-list-item-label{background:#b6e1ff none}.x-list .x-list-item.x-item-selected .x-list-item-label{background-color:#006bb6;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #50b7ff), color-stop(2%, #0080da), color-stop(100%, #005692));background-image:-webkit-linear-gradient(#50b7ff,#0080da 2%,#005692);background-image:linear-gradient(#50b7ff,#0080da 2%,#005692);color:white;text-shadow:rgba(0, 0, 0, 0.5) 0 -0.08em 0}.x-list-header{position:relative}.x-list-header-swap{position:absolute;left:0;width:100%;z-index:1}.x-ios .x-list-header-swap{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}.x-list-normal .x-list-header{background-color:#5ab5f5;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #eaf6fe), color-stop(2%, #7cc4f7), color-stop(100%, #38a6f3));background-image:-webkit-linear-gradient(#eaf6fe,#7cc4f7 2%,#38a6f3);background-image:linear-gradient(#eaf6fe,#7cc4f7 2%,#38a6f3);color:#0a6aac;text-shadow:rgba(255, 255, 255, 0.25) 0 0.08em 0;border-top:1px solid #5ab5f5;border-bottom:1px solid #0d87dc;font-weight:bold;font-size:0.8em;padding:0.2em 1.02em;text-shadow:rgba(255, 255, 255, 0.25) 0 0.08em 0}.x-list-normal .x-list-item .x-list-item-label{border-top:1px solid #dedede}.x-list-normal .x-list-item:last-child .x-list-item-label{border-bottom:1px solid #dedede}.x-list-normal .x-list-item:first-child .x-list-item-label{border-top:0}.x-list-normal .x-list-item.x-item-pressed .x-list-item-label{border-top-color:#b6e1ff;background-color:#b6e1ff}.x-list-normal .x-list-item.x-item-selected .x-list-item-label{border-top-color:#006bb6;border-bottom-color:#003e6a}.x-list-round .x-scroll-view{background-color:#EEEEEE !important}.x-list-round .x-list-disclosure{overflow:hidden;-webkit-mask:0 0 url('data:image/png;base64,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') no-repeat;-webkit-mask-size:1.5em;background-color:#419cdb;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #c1dff4), color-stop(2%, #5face1), color-stop(100%, #278bd1));background-image:-webkit-linear-gradient(#c1dff4,#5face1 2%,#278bd1);background-image:linear-gradient(#c1dff4,#5face1 2%,#278bd1);width:1.5em;height:1.5em;bottom:0.5em}.x-list-round .x-list-header{color:#777;font-size:1em;font-weight:bold;padding-left:26px;line-height:1.7em;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #eeeeee), color-stop(30%, rgba(238,238,238,0.9)), color-stop(100%, rgba(238,238,238,0.4)));background-image:-webkit-linear-gradient(top, #eeeeee,rgba(238,238,238,0.9) 30%,rgba(238,238,238,0.4));background-image:linear-gradient(top, #eeeeee,rgba(238,238,238,0.9) 30%,rgba(238,238,238,0.4))}.x-list-round .x-list-container{padding:13px 13px 0 13px}.x-list-round .x-list-container .x-list-header{padding-left:13px;background-image:none}.x-list-round.x-list-ungrouped .x-list-item-label,.x-list-round.x-list-grouped .x-list-item-label{border:solid #DDDDDD;border-width:1px 1px 0 1px;background:#fff}.x-list-round.x-list-ungrouped .x-list-item:first-child .x-list-item-label{-webkit-border-top-left-radius:0.4em;border-top-left-radius:0.4em;-webkit-border-top-right-radius:0.4em;border-top-right-radius:0.4em}.x-list-round.x-list-ungrouped .x-list-item:last-child{margin-bottom:13px}.x-list-round.x-list-ungrouped .x-list-item:last-child .x-list-item-label{-webkit-border-bottom-left-radius:0.4em;border-bottom-left-radius:0.4em;-webkit-border-bottom-right-radius:0.4em;border-bottom-right-radius:0.4em;border-width:1px}.x-list-round.x-list-grouped .x-list-header-item .x-list-item-label{-webkit-border-top-left-radius:0.4em;border-top-left-radius:0.4em;-webkit-border-top-right-radius:0.4em;border-top-right-radius:0.4em}.x-list-round.x-list-grouped .x-list-footer-item{margin-bottom:13px}.x-list-round.x-list-grouped .x-list-footer-item .x-list-item-label{border-width:1px;-webkit-border-bottom-left-radius:0.4em;border-bottom-left-radius:0.4em;-webkit-border-bottom-right-radius:0.4em;border-bottom-right-radius:0.4em}.x-dataview-inlineblock .x-dataview-item{display:inline-block !important}.x-dataview-nowrap .x-dataview-container{white-space:nowrap !important}.x-list-inlineblock .x-list-item{display:inline-block !important}.x-list-nowrap .x-list-inner{width:auto}.x-list-nowrap .x-list-container{white-space:nowrap !important}.x-list-paging{height:50px}.x-list-paging .x-loading-spinner{display:none;margin:auto}.x-list-paging .x-list-paging-msg{text-align:center;color:#006bb6;padding-top:10px;-webkit-border-radius:6px;border-radius:6px}.x-list-paging.x-loading .x-loading-spinner{display:block}.x-list-paging.x-loading .x-list-paging-msg{display:none}.x-list-pullrefresh{display:-webkit-box;display:box;-webkit-box-orient:horizontal;box-orient:horizontal;-webkit-box-align:center;box-align:center;-webkit-box-pack:center;box-pack:center;position:absolute;top:-5em;left:0;width:100%;height:4.5em}.x-list-pullrefresh .x-loading-spinner{display:none}.x-list-pullrefresh-arrow{width:2.5em;height:4.5em;background:center center url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAA8CAYAAAAUufjgAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAjFJREFUeNrsmU8oREEYwOexdtNuKBfFwdVhCyfuysnFiXISS+1BLopyUpKLXETkRLaUi1LK3Q2lpPbiQLnIn03a/Hm+z86Ttv0zM++bfbOar36Hbad5v535Zp7v47iuy0wOpyoEHccRHV9L9NxPkUE/bhKCOKiOSPAdn69DsJ5I8E2HYA0QJRJ8Bb50CDYRCT7pEMQD0kwk+CByUFQEW4gE73UIhoA2IsFb4ENEMCQ5MdU1IxwygpT3oKNLMGyyYFVscdhusc8tDpu+xRG7xf95BW0O2kNiV1AgIvaQ2BzUJNgJNJYZGyUU7OG1cal4Bi68oqkDPszy2teEwJp5Cdyu/lZ1g8CwIYJ7wEF+2YmrNw90Byx3BizgKhaqizEP1wg7CLLxCEzy/CtauMeBlQDyEfNuGrgU6SyM8F9SyVgHdmRaH6tAb4XkToEp2d4M5mOK0TWMigU2koa8vJMRZPxEb2ss2LEVPMpPLlMRxBgDZjQJLgNbxb6Uab9tAn3EcifAeKkBMoLY+j0GWonk7oB+lmsFkwhidAGHBPmIeTcAnJcbKCuIMQEs+hScAzZEBqoIYuzyFVCJI36lMJ2CDfxibZeUu+EX/4uMIFP8ZyLejxkgK0hG5a8kP4IYSZbr1IuQVHmAX0HGX4VuGfZVJ6cQxPd1uoRcWqDW0SroFVzZAnJZ/h0LWhAjUUAw4XdSSsH8fExRTEgtGAOuOTETBb16Jk412e+bxOSwglYw6PgWYABvLk8P7zGJFwAAAABJRU5ErkJggg==') no-repeat;background-size:2em 3em;-webkit-transform:rotate(0deg);transform:rotate(0deg)}.x-list-pullrefresh-release .x-list-pullrefresh-arrow{-webkit-transform:rotate(-180deg);transform:rotate(-180deg)}.x-list-pullrefresh-wrap{width:20em;font-size:0.7em}.x-list-pullrefresh-message{font-weight:bold;font-size:1.3em;margin-bottom:0.1em;text-align:center}.x-list-pullrefresh-updated{text-align:center}html,body{width:100%;height:100%}.x-translatable{position:absolute;top:100%;left:100%;z-index:1}.x-translatable-container{position:relative}.x-translatable-wrapper{width:100%;height:100%;position:absolute;overflow:hidden}.x-translatable-stretcher{width:300%;height:300%;position:absolute;visibility:hidden;z-index:-1}.x-translatable-nested-stretcher{width:100%;height:100%;left:100%;top:100%;position:absolute;visibility:hidden;z-index:-1}.x-layout-fit,.x-layout-card{position:relative;overflow:hidden}.x-layout-fit-item,.x-layout-card-item{position:absolute !important;width:100%;height:100%}.x-layout-hbox,.x-layout-vbox{display:-webkit-box}.x-layout-hbox > *,.x-layout-vbox > *{-webkit-box-flex:0}.x-layout-hbox{-webkit-box-orient:horizontal}.x-layout-vbox{-webkit-box-orient:vertical}.x-layout-hbox > .x-layout-box-item{width:0 !important}.x-layout-vbox > .x-layout-box-item{height:0 !important}.x-table-inner{display:table !important;width:100%;height:100%}.x-table-inner.x-table-fixed{table-layout:fixed !important}.x-table-row{display:table-row !important}.x-table-row > *{display:table-cell !important;vertical-align:middle}.x-container,.x-body{display:-webkit-box}.x-body{overflow:hidden;-webkit-box-flex:1;min-width:100%;min-height:100%}.x-body > .x-inner,.x-container > .x-inner{-webkit-box-flex:1;min-width:100%;min-height:100%;position:relative}.x-docking-horizontal{display:-webkit-box;-webkit-box-flex:1;-webkit-box-orient:horizontal;min-width:100%;min-height:100%}.x-docking-vertical{display:-webkit-box;-webkit-box-flex:1;-webkit-box-orient:vertical;min-width:100%;min-height:100%}.x-centered{position:absolute !important;width:100%;height:100%;display:-webkit-box;-webkit-box-align:center;-webkit-box-pack:center}.x-floating{position:absolute !important}.x-centered > *{position:relative !important;-webkit-box-flex:0 !important}.x-size-change-detector{visibility:hidden;position:absolute;left:0;top:0;z-index:-1;width:100%;height:100%;overflow:hidden}.x-size-change-detector > *{visibility:hidden}.x-size-change-detector-shrink > *{width:200%;height:200%}.x-size-change-detector-expand > *{width:100000px;height:100000px}.x-scroll-view{position:relative;display:block}.x-scroll-container{position:absolute;overflow:hidden;width:100%;height:100%}.x-scroll-scroller{position:absolute;min-width:100%;min-height:100%}.x-ios .x-scroll-scroller{-webkit-transform:translate3d(0, 0, 0)}.x-scroll-stretcher{position:absolute;visibility:hidden}.x-scroll-bar-grid-wrapper{position:absolute;width:100%;height:100%}.x-scroll-bar-grid{display:table;width:100%;height:100%}.x-scroll-bar-grid > *{display:table-row}.x-scroll-bar-grid > * > *{display:table-cell}.x-scroll-bar-grid > :first-child > :first-child{width:100%;height:100%}.x-scroll-bar-grid > :first-child > :nth-child(2){padding:3px 3px 0 0}.x-scroll-bar-grid > :nth-child(2) > :first-child{padding:0 0 3px 3px}.x-scroll-bar{position:relative;overflow:hidden}.x-scroll-bar-stretcher{position:absolute;visibility:hidden;width:100%;height:100%}.x-scroll-bar-x{width:100%}.x-scroll-bar-x > .x-scroll-bar-stretcher{width:300%}.x-scroll-bar-x.active{height:6px}.x-scroll-bar-y{height:100%}.x-scroll-bar-y > .x-scroll-bar-stretcher{height:300%}.x-scroll-bar-y.active{width:6px}.x-scroll-indicator{background:#333;position:absolute;z-index:2;opacity:0.5}.x-scroll-indicator.default{-webkit-border-top-left-radius:3px;border-top-left-radius:3px;-webkit-border-top-right-radius:3px;border-top-right-radius:3px;-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px;-webkit-border-bottom-right-radius:3px;border-bottom-right-radius:3px}.x-list-light .x-scroll-indicator,.x-dataview-light .x-scroll-indicator{background:#fff;opacity:1}.x-scroll-indicator-x{height:100%}.x-scroll-indicator-y{width:100%}.x-scroll-indicator.csstransform{background:none}.x-scroll-indicator.csstransform > *{position:absolute;background-color:#333}.x-scroll-indicator.csstransform > :nth-child(2){-webkit-transform-origin:0% 0%;background:none;content:url(data:image/bmp;base64,Qk08AAAAAAAAADYAAAAoAAAAAQAAAAEAAAABABAAAAAAAAYAAAASCwAAEgsAAAAAAAAAAAAAxhgAAAAA)}.x-scroll-indicator.csstransform.x-scroll-indicator-light > *{background-color:#eee}.x-scroll-indicator.csstransform.x-scroll-indicator-light > :nth-child(2){content:url(data:image/bmp;base64,Qk08AAAAAAAAADYAAAAoAAAAAQAAAAEAAAABABAAAAAAAAYAAAASCwAAEgsAAAAAAAAAAAAAvXcAAAAA)}.x-scroll-indicator.csstransform.x-scroll-indicator-y > *{width:100%}.x-scroll-indicator.csstransform.x-scroll-indicator-y > :first-child{height:3px;-webkit-border-top-left-radius:3px;border-top-left-radius:3px;-webkit-border-top-right-radius:3px;border-top-right-radius:3px}.x-scroll-indicator.csstransform.x-scroll-indicator-y > :nth-child(2){height:1px}.x-scroll-indicator.csstransform.x-scroll-indicator-y > :last-child{height:3px;-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px;-webkit-border-bottom-right-radius:3px;border-bottom-right-radius:3px}.x-scroll-indicator.csstransform.x-scroll-indicator-x > *{height:100%}.x-scroll-indicator.csstransform.x-scroll-indicator-x > :first-child{width:3px;-webkit-border-top-left-radius:3px;border-top-left-radius:3px;-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px}.x-scroll-indicator.csstransform.x-scroll-indicator-x > :nth-child(2){width:1px}.x-scroll-indicator.csstransform.x-scroll-indicator-x > :last-child{width:3px;-webkit-border-top-right-radius:3px;border-top-right-radius:3px;-webkit-border-bottom-right-radius:3px;border-bottom-right-radius:3px}.x-carousel{position:relative;overflow:hidden}.x-carousel-item{position:absolute;width:100%;height:100%}.x-carousel-item > *{position:absolute;width:100%;height:100%}.x-carousel-indicator{padding:0;-webkit-border-radius:0;border-radius:0;-webkit-box-shadow:none;background-color:transparent;background-image:none}.x-carousel-indicator{-webkit-box-flex:1;display:-webkit-box;display:box;-webkit-box-pack:center;box-pack:center;-webkit-box-align:center;box-align:center}.x-carousel-indicator span{display:block;width:0.5em;height:0.5em;-webkit-border-radius:0.25em;border-radius:0.25em;margin:0.2em}.x-carousel-indicator-horizontal{height:1.5em;width:100%}.x-carousel-indicator-vertical{-webkit-box-orient:vertical;box-orient:vertical;width:1.5em;height:100%}.x-carousel-indicator-light span{background-color:rgba(255, 255, 255, 0.1);background-image:none}.x-carousel-indicator-light span.x-carousel-indicator-active{background-color:rgba(255, 255, 255, 0.3);background-image:none}.x-carousel-indicator-dark span{background-color:rgba(0, 0, 0, 0.1);background-image:none}.x-carousel-indicator-dark span.x-carousel-indicator-active{background-color:rgba(0, 0, 0, 0.3);background-image:none}.x-form .x-scroll-container{background-color:#eeeeee}.x-form .x-scroll-container > .x-inner{padding:1em}.x-form-label{text-shadow:#fff 0 1px 1px;color:#333333;text-shadow:rgba(255, 255, 255, 0.25) 0 0.08em 0;padding:0.6em;display:none !important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background-color:#f7f7f7}.x-form-label span{font-size:.8em;font-weight:bold}.x-field{min-height:2.5em;background:#fff}.x-field .x-field-input{position:relative}.x-field .x-field-input,.x-field .x-input-el{width:100%}.x-field.x-field-labeled .x-form-label{display:block !important}.x-field:last-child{border-bottom:0}.x-label-align-left .x-component-outer,.x-label-align-right .x-component-outer{-webkit-box-flex:1;box-flex:1}.x-label-align-left:first-child .x-form-label{-webkit-border-top-left-radius:0.4em;border-top-left-radius:0.4em}.x-label-align-left:last-child .x-form-label{-webkit-border-bottom-left-radius:0.4em;border-bottom-left-radius:0.4em}.x-label-align-right{-webkit-box-direction:reverse;box-direction:reverse}.x-label-align-right:first-child .x-form-label{-webkit-border-top-right-radius:0.4em;border-top-right-radius:0.4em}.x-label-align-right:last-child{border-bottom:0}.x-label-align-right:last-child .x-form-label{-webkit-border-bottom-right-radius:0.4em;border-bottom-right-radius:0.4em}.x-label-align-top,.x-label-align-bottom{-webkit-box-orient:vertical;box-orient:vertical}.x-label-align-top:first-child .x-form-label{-webkit-border-top-left-radius:0.4em;border-top-left-radius:0.4em;-webkit-border-top-right-radius:0.4em;border-top-right-radius:0.4em}.x-label-align-bottom:last-child .x-form-label{-webkit-border-bottom-left-radius:0.4em;border-bottom-left-radius:0.4em;-webkit-border-bottom-right-radius:0.4em;border-bottom-right-radius:0.4em}.x-input-el{padding:.4em;min-height:2.5em;display:block;border-width:0;background:transparent;-webkit-appearance:none}.x-field-mask{position:absolute;top:0;right:0;bottom:0;left:0}.x-field-required label:after,.x-field-required .x-form-label:after{content:"*";display:inline}.x-item-disabled label:after,.x-item-disabled .x-form-label:after{color:#666 !important}.x-field-textarea textarea{min-height:6em;padding-top:.5em}.x-checkmark-base,.x-field .x-input-radio:after,.x-field .x-input-checkbox:after,.x-field .x-input-radio:checked:after,.x-field .x-input-checkbox:checked:after,.x-field.x-item-disabled .x-input-radio:checked:after,.x-field.x-item-disabled .x-input-checkbox:checked:after,.x-select-overlay .x-item-selected .x-list-item-label:before,.x-select-overlay .x-item-selected .x-list-item-label:after{content:"";position:absolute;width:1.4em;height:1.4em;top:50%;left:auto;right:1.1em;-webkit-mask-size:1.4em;-webkit-mask-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAE+klEQVRoBe2aS28URxRGsY0h2FmwCQuEWLHjvUNgZAQ4PMwrEkIRIGEgySKwB8QvYIvEP+ANO0CwsJAA88wGBEKBZJUVQkJCQrwJ5nxN31Z5pnpc7e4ZT9vT0peqqanquqfurVvlIW3Dw8NTJtPTPplgxdoCnugeb3m45eEJtgJTJwJPGw8cP8V6TfmC4/Z/H9uEAAZsIdqHZiMBn2UNbvigSw8M2AIAD6PtqBPpmYe+8t1NoL9GLfYf3bTKKhiWo9PoA9KV0dUgn/tRh8tXWg/Hnj0KUB8yz1JNnjXUuhFd264A/f0O7dKXpQ7EIiTPfkKuVyvrSlx3US+KPF26cMbwxeg8Gg3W4LWHFd6rUUepQprQnI/Rh9A25AtjmqseHVkK7w59UxpgYFdg7wH0CwqFpWvyrKI23GZ7OWluwgqwOnqOobVoWh4Tm97DwCpBHUFp2TiUX3v5QVMnLQzMmqAsUVWWyta3UX/TAmOcwjjk6KmE830W7GbU0ZTAGKYEJdj3yAcQ2qYw1jmsG9e0KF8122UDw/SHwFX0EYWC+fpZGG/hPcn1sqk8jGHas+dQ6KXCB6o2g91IPfKsObZpgDGsqAT1hXdpz25A7QZqZU1gBsxFSh5zbEA9yniOU5R5PSvvCnYTSsLYtdkLTGf9uKdD/gS6gI6jPndgUXXe24OKSFAK4zsoSVA+G6uAGaC758/oBrIs+Zb6rbg9up35Xpa1jffpUqEEldezysbJ0VPLjhHADOpEfUiw2gtuUtAKDiGtYNXeqDWJ7zveYQnqM3V3nqx1s2s97xmRoLzzWqMgkLLaTVQJa0ZoJe+hXjRmaMYKVlslr2dlp5wgu4PsiTyszmg5qgVr0CqvoZW2WFlKxhV5gxJsdIMKtYH+Eew6yksoNLy0soJeFzqR+vEI9gx6h9wFzFoPSlA+25g3SlChnnUNU3grkWmxRg0n+ihBnUR5w9j2bCbPGjzzR3sgbc+6gL66TV4zkTHHEqSfZSzr+94V0mbzKUF1GkSWknG5QktGyoj7qBdVeZo2S1Ch2yUNXOMVUcEJyrcQjOeP4vzQCu9BpBtOck5T70HybN4w1iJcR7ouem9QPjhfG+On7EBPUNrKhrYLWp7+FS1FCjtdKvJ6VvM/Q9o2uWC1AHq60QB6hELh0voJ+im6iHReF+FZwe5HP/g8lrXNzuEfeeFu9C9Kg8nSrr9lBZ9ljK/v37xjL5qRFSytf3K15KXy9EH0D/JN3ui2Qj1rC5AAq4FnJvoDPUSNBnTnUy4YQF1maFHlCOAYuouJFN6PkWtEo+ryrH5sL2TPVi5UFXAMrfDegxrtae3ZfWh6paFFffYCx9BKZLtQo/a0YLXIhSUo3yKlAsfQ8vSBBkALtrCjxwdqbTWBY2glst9REee0Lw/ULUEZpFuOChxD1yuRybNbUV0SlAtq9SDgGFp7ushEJlhdKuqWoAzSLYOBHeidGPkc+cIztE2wA6iuCcoFtXom4Bha4f0nGmv2FqyOnoaFscFG9rsfQusYq0T2G8qayASrbdEdOlfR/TJ72AzAaHla5/QD9BnVCucvfK/fjZXtx8WzZneu/+WBf53XOb0G6XetHjQXyfv2vKLyH7qLLqMhJn5DOW5PLmBZDfRUilloGUoD/ovvXgIrT4/rkxt4XK0fw+TtYxhT6iEt4FK7L8D4locDFqnUXSadh78Bx5bEl2CLG+8AAAAASUVORK5CYII=');margin-top:-0.7em}.x-field .x-input-radio,.x-field .x-input-checkbox{position:relative}.x-field .x-input-radio:after,.x-field .x-input-checkbox:after{background-color:#dddddd}.x-field .x-input-radio:checked:after,.x-field .x-input-checkbox:checked:after{background-color:#006bb6}.x-field.x-item-disabled .x-input-radio:checked:after,.x-field.x-item-disabled .x-input-checkbox:checked:after{background-color:#9abad1}.x-spinner .x-component-outer{display:-webkit-box;display:box}.x-spinner .x-component-outer > *{width:auto}.x-spinner .x-field-input{-webkit-box-flex:1}.x-spinner .x-field-input .x-input-el{-webkit-text-fill-color:#000;width:100%;text-align:center}.x-spinner .x-field-input input::-webkit-outer-spin-button,.x-spinner .x-field-input input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.x-spinner.x-item-disabled .x-input-el{-webkit-text-fill-color:#B3B3B3}.x-spinner.x-item-disabled .x-spinner-button{color:#aaa !important}.x-spinner.x-item-disabled .x-spinner-button,.x-toolbar .x-spinner.x-item-disabled .x-spinner-button{border:1px solid #c4c4c4;border-top-color:#d0d0d0;color:black}.x-spinner.x-item-disabled .x-spinner-button.x-button-back:before,.x-spinner.x-item-disabled .x-spinner-button.x-button-forward:before,.x-toolbar .x-spinner.x-item-disabled .x-spinner-button.x-button-back:before,.x-toolbar .x-spinner.x-item-disabled .x-spinner-button.x-button-forward:before{background:#c4c4c4}.x-spinner.x-item-disabled .x-spinner-button,.x-spinner.x-item-disabled .x-spinner-button.x-button-back:after,.x-spinner.x-item-disabled .x-spinner-button.x-button-forward:after,.x-toolbar .x-spinner.x-item-disabled .x-spinner-button,.x-toolbar .x-spinner.x-item-disabled .x-spinner-button.x-button-back:after,.x-toolbar .x-spinner.x-item-disabled .x-spinner-button.x-button-forward:after{background-color:#f7f7f7;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ffffff), color-stop(2%, #ffffff), color-stop(100%, #e5e5e5));background-image:-webkit-linear-gradient(#ffffff,#ffffff 2%,#e5e5e5);background-image:linear-gradient(#ffffff,#ffffff 2%,#e5e5e5)}.x-spinner.x-item-disabled .x-spinner-button .x-button-icon.x-icon-mask,.x-toolbar .x-spinner.x-item-disabled .x-spinner-button .x-button-icon.x-icon-mask{background-color:black;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #4d4d4d), color-stop(2%, #121212), color-stop(100%, #000000));background-image:-webkit-linear-gradient(#4d4d4d,#121212 2%,#000000);background-image:linear-gradient(#4d4d4d,#121212 2%,#000000)}.x-spinner.x-item-disabled .x-spinner-button.x-button-pressing,.x-spinner.x-item-disabled .x-spinner-button.x-button-pressing:after,.x-spinner.x-item-disabled .x-spinner-button.x-button-pressed,.x-spinner.x-item-disabled .x-spinner-button.x-button-pressed:after,.x-spinner.x-item-disabled .x-spinner-button.x-button-active,.x-spinner.x-item-disabled .x-spinner-button.x-button-active:after,.x-toolbar .x-spinner.x-item-disabled .x-spinner-button.x-button-pressing,.x-toolbar .x-spinner.x-item-disabled .x-spinner-button.x-button-pressing:after,.x-toolbar .x-spinner.x-item-disabled .x-spinner-button.x-button-pressed,.x-toolbar .x-spinner.x-item-disabled .x-spinner-button.x-button-pressed:after,.x-toolbar .x-spinner.x-item-disabled .x-spinner-button.x-button-active,.x-toolbar .x-spinner.x-item-disabled .x-spinner-button.x-button-active:after{background-color:#efefef;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #d5d5d5), color-stop(10%, #e2e2e2), color-stop(65%, #efefef), color-stop(100%, #f0f0f0));background-image:-webkit-linear-gradient(#d5d5d5,#e2e2e2 10%,#efefef 65%,#f0f0f0);background-image:linear-gradient(#d5d5d5,#e2e2e2 10%,#efefef 65%,#f0f0f0)}.x-spinner .x-spinner-button{margin-top:.25em;margin-bottom:.25em;width:2em;padding:.23em 0 .27em;font-weight:bold;text-align:center;border:1px solid #dddddd !important;-webkit-border-radius:1em;border-radius:1em}.x-spinner .x-spinner-button,.x-toolbar .x-spinner .x-spinner-button{border:1px solid #b7b7b7;border-top-color:#c4c4c4;color:black}.x-spinner .x-spinner-button.x-button-back:before,.x-spinner .x-spinner-button.x-button-forward:before,.x-toolbar .x-spinner .x-spinner-button.x-button-back:before,.x-toolbar .x-spinner .x-spinner-button.x-button-forward:before{background:#b7b7b7}.x-spinner .x-spinner-button,.x-spinner .x-spinner-button.x-button-back:after,.x-spinner .x-spinner-button.x-button-forward:after,.x-toolbar .x-spinner .x-spinner-button,.x-toolbar .x-spinner .x-spinner-button.x-button-back:after,.x-toolbar .x-spinner .x-spinner-button.x-button-forward:after{background-color:#eaeaea;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ffffff), color-stop(2%, #fcfcfc), color-stop(100%, #d8d8d8));background-image:-webkit-linear-gradient(#ffffff,#fcfcfc 2%,#d8d8d8);background-image:linear-gradient(#ffffff,#fcfcfc 2%,#d8d8d8)}.x-spinner .x-spinner-button .x-button-icon.x-icon-mask,.x-toolbar .x-spinner .x-spinner-button .x-button-icon.x-icon-mask{background-color:black;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #4d4d4d), color-stop(2%, #121212), color-stop(100%, #000000));background-image:-webkit-linear-gradient(#4d4d4d,#121212 2%,#000000);background-image:linear-gradient(#4d4d4d,#121212 2%,#000000)}.x-spinner .x-spinner-button.x-button-pressing,.x-spinner .x-spinner-button.x-button-pressing:after,.x-spinner .x-spinner-button.x-button-pressed,.x-spinner .x-spinner-button.x-button-pressed:after,.x-spinner .x-spinner-button.x-button-active,.x-spinner .x-spinner-button.x-button-active:after,.x-toolbar .x-spinner .x-spinner-button.x-button-pressing,.x-toolbar .x-spinner .x-spinner-button.x-button-pressing:after,.x-toolbar .x-spinner .x-spinner-button.x-button-pressed,.x-toolbar .x-spinner .x-spinner-button.x-button-pressed:after,.x-toolbar .x-spinner .x-spinner-button.x-button-active,.x-toolbar .x-spinner .x-spinner-button.x-button-active:after{background-color:#e2e2e2;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #c9c9c9), color-stop(10%, #d5d5d5), color-stop(65%, #e2e2e2), color-stop(100%, #e3e3e3));background-image:-webkit-linear-gradient(#c9c9c9,#d5d5d5 10%,#e2e2e2 65%,#e3e3e3);background-image:linear-gradient(#c9c9c9,#d5d5d5 10%,#e2e2e2 65%,#e3e3e3)}.x-spinner .x-spinner-button-down{margin-left:.25em}.x-spinner .x-spinner-button-up{margin-right:.25em}.x-spinner.x-field-grouped-buttons .x-input-el{text-align:left}.x-spinner.x-field-grouped-buttons .x-spinner-button-down{margin-right:.5em}.x-android .x-spinner-button{padding:.40em 0 .11em !important}.x-phone .x-select-overlay{min-width:14em;min-height:12.5em}.x-select-overlay{min-width:18em;min-height:22em}.x-select-overlay .x-list-item-label{height:2.6em}.x-select-overlay .x-list-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.x-select-overlay .x-item-selected .x-list-label{margin-right:2.6em}.x-select-overlay .x-item-selected .x-list-item-label:before{background-color:rgba(0, 0, 0, 0.3);margin-top:-0.8em}.x-select-overlay .x-item-selected .x-list-item-label:after{background-color:#dddddd}.x-slider-field .x-component-outer,.x-toggle-field .x-component-outer{padding:0.6em}.x-slider,.x-toggle{position:relative;height:2.2em;min-height:0;min-width:0}.x-slider > *,.x-toggle > *{position:absolute;width:100%;height:100%}.x-slider.x-item-disabled{opacity:.6}.x-thumb{position:absolute;height:2.2em;width:2.2em}.x-thumb:before{content:"";position:absolute;width:1.85em;height:1.85em;top:0.175em;left:0.175em;border:1px solid #919191;-webkit-border-radius:0.925em;border-radius:0.925em;background-color:#dddddd;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ffffff), color-stop(2%, #efefef), color-stop(100%, #cbcbcb));background-image:-webkit-linear-gradient(#ffffff,#efefef 2%,#cbcbcb);background-image:linear-gradient(#ffffff,#efefef 2%,#cbcbcb);-webkit-background-clip:padding;background-clip:padding-box}.x-thumb.x-dragging{opacity:1}.x-thumb.x-dragging:before{background-color:#d0d0d0;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ffffff), color-stop(2%, #e2e2e2), color-stop(100%, #bebebe));background-image:-webkit-linear-gradient(#ffffff,#e2e2e2 2%,#bebebe);background-image:linear-gradient(#ffffff,#e2e2e2 2%,#bebebe)}.x-slider:after{content:"";position:absolute;width:auto;height:0.8em;top:0.737em;left:0;right:0;margin:0 0.925em;background-color:#dddddd;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #c4c4c4), color-stop(10%, #d0d0d0), color-stop(65%, #dddddd), color-stop(100%, #dedede));background-image:-webkit-linear-gradient(#c4c4c4,#d0d0d0 10%,#dddddd 65%,#dedede);background-image:linear-gradient(#c4c4c4,#d0d0d0 10%,#dddddd 65%,#dedede);border:0.1em solid rgba(0, 0, 0, 0.1);border-bottom:0;-webkit-box-shadow:rgba(255, 255, 255, 0.7) 0 0.1em 0;-webkit-border-radius:0.4em;border-radius:0.4em}.x-toggle{width:4.4em;-webkit-border-radius:1.1em;border-radius:1.1em;overflow:hidden;border:1px solid #b7b7b7;background-color:#ddd;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #c4c4c4), color-stop(10%, #d0d0d0), color-stop(65%, #dddddd), color-stop(100%, #dedede));background-image:-webkit-linear-gradient(#c4c4c4,#d0d0d0 10%,#dddddd 65%,#dedede);background-image:linear-gradient(#c4c4c4,#d0d0d0 10%,#dddddd 65%,#dedede);-webkit-box-flex:0}.x-toggle .x-thumb.x-dragging{opacity:1}.x-toggle .x-thumb:before{top:0.175em}.x-toggle-on{background-color:#92cf00;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #6e9c00), color-stop(10%, #80b500), color-stop(65%, #92cf00), color-stop(100%, #94d200));background-image:-webkit-linear-gradient(#6e9c00,#80b500 10%,#92cf00 65%,#94d200);background-image:linear-gradient(#6e9c00,#80b500 10%,#92cf00 65%,#94d200)}input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none}.x-field-number input::-webkit-outer-spin-button,.x-field-number input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.x-field-search .x-field-input{position:relative}.x-field-search .x-field-input:before{content:"";position:absolute;width:0.86em;height:0.86em;top:50%;left:0.5em;-webkit-mask-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAGdElEQVRoBdWaa4ycUxjHd9rpbm2bqKhiUavbVZdo0LCyLl3iHhGEkkZsKBYJX4RISHwQIYIPNJoQlUjTuCakUZ9oVGRF0GywslvqbgkpDarqsn7/6XsmM5n38pzzvtudeZL/nplznvM8z//cz5ktTU5OtuWRUqk0i/qdoAN0gcXgP+CkzIcx8APYBXbi82/SaZFSKGGILiTibnA+GADHgbkgSXZT8CF4GwyDEXxvI92r4k0Yoj1EeAG4CvSDEggRkX8VbID4lhADQXXUwxZgfAF4CGwFmgdFYQJb68HJljjy6mSSJZAZ4CLwESiKZJydb7A/CGblJZVWP5UwzueBB8AfIC7IovO0mK0B89KCzlOWSBinWoBeAkWTstiT3948xJLqxhLG2Xzw4jSRdQ0yiv/upMBD8xsI40Rzdu00k3WknyeO+aHk4urFEb4TJ/80CWEdYB4BhS1kdfswe+zpGNf80RYUIr9QSdgOdNCYCfaLcABpqFxBbymu3FIlDFkdD18B5wRYHaHOJvAeGCU4fa8IdnXUPAaoMZeDk4CvfEKFM7CrhswnbpxjZQX4C7j5Y0m1d64EXc5OWoqeFsPLwTvAYt/p/Iv+6jTb1rLKHMbYgWCjZxCb0T/e6qhWj3o6hz8HRMSRykp17l5WayfksyN8oafzTegfHOLQ1aG+blc6ZGQRdeVawB4GlWno7Pim1G9rB08AZzgrfRfdw3wdxelHvl/38K01Itc2Rf22Q8BPIIuoynXQL/SQj71DwcfA4n8nev1xjWfN0yGjD2gxsYh6432LolWHQL9F91Gj/j7oacUPFhE+11hbLxbrCFBzqWh5A4PDRqN90RZqVK9XE+ET67MSv41D9s3E0nwFX1Ndu4RFjkZpjkUxTkeEdTDIEvXqW1lKoeU0pOavXj10OsuSI1CYnaWUVC7COvpliR7f9CQzlaK5/LPBQRc6mstBIsIW0WXiO4tiDh35mIr1oS4kK2ENOctwqzPu+SX0MdDLjZWw9Pb1suyv7EPYR7cuEithLRLL6moW/0VriaVRtT1qTQkSER411Cyjc4pBL4/KEirPNRj4FZ3gXy5EWM+vWaIhtJQNf2GWYkg5dtWzui9bhuqn6OkVNUhE+ANjTZG91Kjrq6bDxHnGStqvcxHWsU5bQpZ0orCK3rDs21m2quXY6+DLTWBBNTP9wxbOKZZ4E63omLYZWG4r0nkQtOtwVASwdYeH723o9uTxS/3Ks+ytHk5/R3cI5LqIK2hEDw86XVkb+wV0Z+YiHDnWCjnu4Vj3Ug3DzhDn1NPacTX4HljJ6gFPr5e5RpZ74tFz6l0ezhWk5tFTYJFPEOjrLKxhrEazktWR8zVQ9vEVp1ttLYyplyeANQinN0ydIXBUnAOXR7nsrwAbgatrTbX3nu1s5Ul1oKgIRsZYMR/jy72gY0+u6a8OJMJX1P+C9MsaqDcPAseCHtANQkRTwHIoybZd21qR0Q2k1pZP0tNJSIubLhxJOr75egO/sjbekM/VIe0qY1RDb6p//PYl6/QniO0sF2tI2kBYRpBTgVrUOWqm9DPiGgghW+GWVBGj/UCvEM1E1sWinr4sKfa0/NgedhUwqsVITzvOUTOl6gxv0qmERRw5HOi/bHz2zb3VMHp28hremYQj0rq23QhGwFSQ0ZVPu8NvAfa3Use8kJkI1wzxxRhfDcYDAotrKF0GngYnRA17D599f7KVXcVzmoszLfUi7AxhfBG4GKwFPudhBacnmpfBStDwnzrkrQIhpDW8L3ExJqXV/wBA2Vs4WelquT9Qzy8FvdHnDlKR01RQ8OrJMaAp8TnYQUA7SBsEm6pzPXgcyI6PaCG7Hdu6VcVLUkuE5ONBR8ByDGb42sPGteBPEDcV0vK0ZZ2Z5C9oSCcZKzqfwO8OJK2FbCAunqYmrICRQaA3rLRejSvTWtGwTzc94Yj0DQS/O4C05nQd6VYhrIVMpEN6Wqv3crBngY4b582aR9DXgJCFTPt05T+AtKq2jNARzxLs/UBbnY/0onwLO97sXPuwj8cidQn8OuytAe0edjUyuluqh2vIPcNnPS1rIbOKfkRf0pKEGdqSJyFwM/AZ3j+2JGHXpZDWWf4+sMvlpaTal7e3xLYEsdQ4ITIIsras29AppxrKctRM5ZDRLUvv13GnLl1p5yjellylCb5BolvWkRQMgT6g6apXmnVgPWQrc/1/boJCaHVWyukAAAAASUVORK5CYII=');-webkit-mask-size:.86em;background-color:#ccc;-webkit-mask-repeat:no-repeat;margin-top:-0.43em}.x-field-search .x-field-input .x-form-field{margin-left:1.0em}.x-field-input .x-clear-icon{display:none;background:url('data:image/png;base64,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') no-repeat;background-position:center center;background-size:55% 55%;width:2.2em;height:2.2em;margin:.5em;margin-top:-1.1em;position:absolute;top:50%;right:-0.5em}.x-field-clearable .x-clear-icon{display:block}.x-field-clearable .x-field-input{padding-right:2.2em}.x-android .x-input-el{-webkit-text-fill-color:#000}.x-android .x-empty .x-input-el{-webkit-text-fill-color:#A9A9A9}.x-item-disabled .x-form-label span,.x-item-disabled input,.x-item-disabled .x-input-el,.x-item-disabled .x-spinner-body,.x-item-disabled select,.x-item-disabled textarea,.x-item-disabled .x-field-clear-container{color:#b3b3b3;-webkit-text-fill-color:#b3b3b3;pointer-events:none}.x-form-fieldset{margin:0 0 1.5em}.x-form-fieldset .x-form-label{border-top:1px solid white}.x-form-fieldset .x-form-fieldset-inner{border:1px solid #dddddd;background:#fff;padding:0;-webkit-border-radius:0.4em;border-radius:0.4em;overflow:hidden}.x-form-fieldset .x-field{border-bottom:1px solid #dddddd;background:transparent}.x-form-fieldset .x-field:first-child{-webkit-border-top-left-radius:0.4em;border-top-left-radius:0.4em;-webkit-border-top-right-radius:0.4em;border-top-right-radius:0.4em}.x-form-fieldset .x-field:last-child{border-bottom:0;-webkit-border-bottom-left-radius:0.4em;border-bottom-left-radius:0.4em;-webkit-border-bottom-right-radius:0.4em;border-bottom-right-radius:0.4em}.x-form-fieldset-title{text-shadow:#fff 0 1px 1px;color:#333333;margin:1em 0.7em 0.3em;color:#333333;font-weight:bold;white-space:nowrap}.x-form-fieldset-instructions{text-shadow:#fff 0 1px 1px;color:#333333;color:gray;margin:1em 0.7em 0.3em;font-size:.8em;text-align:center}.x-selectmark-base,.x-field-select .x-component-outer:after{content:"";position:absolute;width:1em;height:1em;top:50%;left:auto;right:0.7em;-webkit-mask-size:1em;-webkit-mask-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpGRTdGMTE3NDA3MjA2ODExOTJDQUMyNUQwRUE4NjdEQiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoxQTFBMDFDQ0I5NEYxMURGQUU1RjlGMEFERUNDQTVEMCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoyMkRCMDIxMkI5NEUxMURGQUU1RjlGMEFERUNDQTVEMCIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IE1hY2ludG9zaCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjMwRTE0QzVBNDIyMjY4MTFCQ0ZCOTAzOTcwNzcyRkVCIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkZFN0YxMTc0MDcyMDY4MTE5MkNBQzI1RDBFQTg2N0RCIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+HfrH/AAAAeVJREFUeNrs2cFHBGEUAPA3zYqIiIhOnTpFRHSKrp26RqeuEV077R/QqWtE166dOkVERHRa9hQRnZalFcv0Hk/W1Mx+38z3vvlm5j3eZW+/9+abne+9KEkSaFPMQMtCwQpWsIIVrGAFK1jBClawgo2ik/4hiqJGwLKuvfpIc5xSkWqYr5hzU1s/mRNxXTPsJ+ZqluvXlwOmSj3XBDvG3M1rpAmYYoUrFzr4ZNqTawqm2MH8Dhh7ZXJUbcAUx4FinzBnJcAUl4FhP/jIgRSYKvkYCJaO2LbNv08RMMUy5nsA4COTLy0XYIqtil9iF6aflq7AwBWuAvuQ9ZKSBgNX2ieWjtKSzeXBNZgqfe8J+4W5aXtbcg0GrvibB/BhkeuhBJhigzsghT0veh+WAlMcCGHvMOMQwcCdcIntYy6WmXhIg2PuiAvsEHO97IhHGgzckb4D8L6LmZYPMHBnhiWwXVdDPF9g4A4Vwd66nFr6BAN3ygbbw1yoMzjmjplgB5hrrufSvsHAHesZDOD2JAbxVYCBOzfIAZ9JbR6qAgN3cPwP9kZy1VIlGLiTdluCmoOBO/pnS9Bk8DzmS3pL4BMcpZEe1qX0GI/atC4dQYXRMa1MU0IX4gpWsIIVrGAFK1jBCnYUPwIMAPUPAyFL+nRdAAAAAElFTkSuQmCC');margin-top:-0.5em}.x-field-select{position:relative}.x-field-select .x-component-outer:after{background-color:#dddddd;z-index:2}.x-field-select .x-component-outer:before,.x-field-select .x-component-outer:after{pointer-events:none;position:absolute;display:block}.x-field-select .x-component-outer:before{content:"";position:absolute;width:4em;height:auto;top:0;left:auto;right:0;bottom:0;-webkit-border-top-right-radius:0.4em;border-top-right-radius:0.4em;-webkit-border-bottom-right-radius:0.4em;border-bottom-right-radius:0.4em;background:-webkit-gradient(linear, 0% 0%, 100% 0%, from(rgba(255, 255, 255, 0)), color-stop(0.5, white));z-index:1}.x-msgbox{min-width:15em;max-width:20em;padding:0.8em;margin:.5em;-webkit-box-shadow:rgba(0, 0, 0, 0.4) 0 0.1em 0.5em;-webkit-border-radius:0.3em;border-radius:0.3em;border:0.15em solid #1985d0}.x-msgbox .x-icon{margin-left:1.3em}.x-msgbox .x-title{font-size:.9em;line-height:1.4em}.x-msgbox .x-body{background:transparent !important}.x-msgbox .x-toolbar{background:transparent none;-webkit-box-shadow:none}.x-msgbox .x-toolbar.x-docked-top{border-bottom:0;height:1.3em}.x-msgbox .x-toolbar.x-docked-bottom{border-top:0}.x-msgbox .x-field{min-height:2em;background:#fff;-webkit-border-radius:0.2em;border-radius:0.2em}.x-msgbox .x-form-field{min-height:1.5em;padding-right:0 !important;-webkit-appearance:none}.x-msgbox .x-field-input{padding-right:2.2em}.x-msgbox-text{text-align:center;padding:6px 0;line-height:1.4em}.x-msgbox-buttons{padding:0.4em 0;height:auto}.x-msgbox-buttons .x-button{min-width:4.5em}.x-msgbox-buttons .x-button-normal span{opacity:.7}.x-msgbox-dark .x-msgbox-text{color:rgba(190, 224, 247, 0.9);text-shadow:rgba(0, 0, 0, 0.5) 0 -0.08em 0}.x-msgbox-dark .x-msgbox-input{background-color:rgba(190, 224, 247, 0.9);background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, rgba(144,202,242,0.9)), color-stop(10%, rgba(167,213,244,0.9)), color-stop(65%, rgba(190,224,247,0.9)), color-stop(100%, rgba(192,225,247,0.9)));background-image:-webkit-linear-gradient(rgba(144,202,242,0.9),rgba(167,213,244,0.9) 10%,rgba(190,224,247,0.9) 65%,rgba(192,225,247,0.9));background-image:linear-gradient(rgba(144,202,242,0.9),rgba(167,213,244,0.9) 10%,rgba(190,224,247,0.9) 65%,rgba(192,225,247,0.9));border:0.1em solid rgba(25, 133, 208, 0.9)}.x-loading-spinner{font-size:250%;height:1em;width:1em;position:relative;-webkit-transform-origin:0.5em 0.5em}.x-loading-spinner > span,.x-loading-spinner > span:before,.x-loading-spinner > span:after{display:block;position:absolute;width:0.1em;height:0.25em;top:0;-webkit-transform-origin:0.05em 0.5em;-webkit-border-radius:0.05em;border-radius:0.05em;content:" "}.x-loading-spinner > span.x-loading-top{background-color:rgba(170, 170, 170, 0.99)}.x-loading-spinner > span.x-loading-top::after{background-color:rgba(170, 170, 170, 0.9)}.x-loading-spinner > span.x-loading-left::before{background-color:rgba(170, 170, 170, 0.8)}.x-loading-spinner > span.x-loading-left{background-color:rgba(170, 170, 170, 0.7)}.x-loading-spinner > span.x-loading-left::after{background-color:rgba(170, 170, 170, 0.6)}.x-loading-spinner > span.x-loading-bottom::before{background-color:rgba(170, 170, 170, 0.5)}.x-loading-spinner > span.x-loading-bottom{background-color:rgba(170, 170, 170, 0.4)}.x-loading-spinner > span.x-loading-bottom::after{background-color:rgba(170, 170, 170, 0.35)}.x-loading-spinner > span.x-loading-right::before{background-color:rgba(170, 170, 170, 0.3)}.x-loading-spinner > span.x-loading-right{background-color:rgba(170, 170, 170, 0.25)}.x-loading-spinner > span.x-loading-right::after{background-color:rgba(170, 170, 170, 0.2)}.x-loading-spinner > span.x-loading-top::before{background-color:rgba(170, 170, 170, 0.15)}.x-loading-spinner > span{left:50%;margin-left:-0.05em}.x-loading-spinner > span.x-loading-top{-webkit-transform:rotate(0deg);-moz-transform:rotate(0deg)}.x-loading-spinner > span.x-loading-right{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg)}.x-loading-spinner > span.x-loading-bottom{-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg)}.x-loading-spinner > span.x-loading-left{-webkit-transform:rotate(270deg);-moz-transform:rotate(270deg)}.x-loading-spinner > span::before{-webkit-transform:rotate(30deg);-moz-transform:rotate(30deg)}.x-loading-spinner > span::after{-webkit-transform:rotate(-30deg);-moz-transform:rotate(-30deg)}.x-loading-spinner{-webkit-animation-name:x-loading-spinner-rotate;-webkit-animation-duration:.5s;-webkit-animation-iteration-count:infinite;-webkit-animation-timing-function:linear}@-webkit-keyframes x-loading-spinner-rotate{0%{-webkit-transform:rotate(0deg)}8.32%{-webkit-transform:rotate(0deg)}8.33%{-webkit-transform:rotate(30deg)}16.65%{-webkit-transform:rotate(30deg)}16.66%{-webkit-transform:rotate(60deg)}24.99%{-webkit-transform:rotate(60deg)}25%{-webkit-transform:rotate(90deg)}33.32%{-webkit-transform:rotate(90deg)}33.33%{-webkit-transform:rotate(120deg)}41.65%{-webkit-transform:rotate(120deg)}41.66%{-webkit-transform:rotate(150deg)}49.99%{-webkit-transform:rotate(150deg)}50%{-webkit-transform:rotate(180deg)}58.32%{-webkit-transform:rotate(180deg)}58.33%{-webkit-transform:rotate(210deg)}66.65%{-webkit-transform:rotate(210deg)}66.66%{-webkit-transform:rotate(240deg)}74.99%{-webkit-transform:rotate(240deg)}75%{-webkit-transform:rotate(270deg)}83.32%{-webkit-transform:rotate(270deg)}83.33%{-webkit-transform:rotate(300deg)}91.65%{-webkit-transform:rotate(300deg)}91.66%{-webkit-transform:rotate(330deg)}100%{-webkit-transform:rotate(330deg)}} diff --git a/sencha/examples/subscribe/app.js b/sencha/examples/subscribe/app.js new file mode 100644 index 000000000..ea7239b4e --- /dev/null +++ b/sencha/examples/subscribe/app.js @@ -0,0 +1,69 @@ +var pubnub = PUBNUB({ + publish_key : 'demo', + subscribe_key : 'demo', + ssl : false, + origin : 'pubsub.pubnub.com' +}); + + +Ext.application({ + launch: function () { + var myStore = Ext.create('Ext.data.Store', { + storeId: 'list', + fields: ['txt'] + }); // create() + + Ext.create('Ext.List', { + fullscreen: true, + store: 'list', + itemTpl: '{txt}', + items: [{ + xtype: 'titlebar', + docked: 'top', + items: [ + { + xtype: 'textfield', + label: 'Channel', + name: 'channel', + id: 'channel', + align: 'left', + }, + { + text: 'Subscribe', + align: 'left', + handler: function () { + var channel = Ext.getCmp('channel').getValue() || 'sencha-demo-channel'; + myStore.removeAll(); + pubnub.subscribe({ + channel: channel, + callback: function(message){ + myStore.insert(0,{txt : JSON.stringify(message)}); + } + }); + } + }, + { + xtype: 'textfield', + label: 'Message', + name: 'message', + id: 'message', + align: 'right' + }, + { + text: 'Publish', + align: 'right', + handler: function () { + var channel = Ext.getCmp('channel').getValue() || 'sencha-demo-channel'; + var message = Ext.getCmp('message').getValue() || 'default-dummy-message'; + pubnub.publish({ + channel: channel, + message: message + }); + } + } + ] + }] + }); + } +}); + diff --git a/sencha/examples/subscribe/index.html b/sencha/examples/subscribe/index.html new file mode 100644 index 000000000..5573f1f14 --- /dev/null +++ b/sencha/examples/subscribe/index.html @@ -0,0 +1,65 @@ + + + + + history + + + + + + + + +
+
+
+
+
+ + diff --git a/sencha/examples/subscribe/sencha-touch-all.js b/sencha/examples/subscribe/sencha-touch-all.js new file mode 100644 index 000000000..3b08d5862 --- /dev/null +++ b/sencha/examples/subscribe/sencha-touch-all.js @@ -0,0 +1,32 @@ +/* +This file is part of Sencha Touch 2.0 + +Copyright (c) 2011-2012 Sencha Inc + +Contact: http://www.sencha.com/contact + +Commercial Usage +Licensees holding valid commercial licenses may use this file in accordance with the Commercial +Software License Agreement provided with the Software or, alternatively, in accordance with the +terms contained in a written agreement between you and Sencha. + +If you are unsure which license is appropriate for your use, please contact the sales department +at http://www.sencha.com/contact. + +Build date: 2012-06-04 15:34:28 (d81f71da2d56f5f71419dc892fbc85685098c6b7) +*/ +/* + +This file is part of Sencha Touch 2 + +Copyright (c) 2012 Sencha Inc + +Contact: http://www.sencha.com/contact + +Commercial Usage +Licensees holding valid commercial licenses may use this file in accordance with the Commercial Software License Agreement provided with the Software or, alternatively, in accordance with the terms contained in a written agreement between you and Sencha. + +If you are unsure which license is appropriate for your use, please contact the sales department at http://www.sencha.com/contact. + +*/ +(function(){var global=this,objectPrototype=Object.prototype,toString=objectPrototype.toString,enumerables=true,enumerablesTest={toString:1},emptyFn=function(){},i;if(typeof Ext==="undefined"){global.Ext={}}Ext.global=global;for(i in enumerablesTest){enumerables=null}if(enumerables){enumerables=["hasOwnProperty","valueOf","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","constructor"]}Ext.enumerables=enumerables;Ext.apply=function(object,config,defaults){if(defaults){Ext.apply(object,defaults)}if(object&&config&&typeof config==="object"){var i,j,k;for(i in config){object[i]=config[i]}if(enumerables){for(j=enumerables.length;j--;){k=enumerables[j];if(config.hasOwnProperty(k)){object[k]=config[k]}}}}return object};Ext.buildSettings=Ext.apply({baseCSSPrefix:"x-",scopeResetCSS:false},Ext.buildSettings||{});Ext.apply(Ext,{emptyFn:emptyFn,baseCSSPrefix:Ext.buildSettings.baseCSSPrefix,applyIf:function(object,config){var property;if(object){for(property in config){if(object[property]===undefined){object[property]=config[property]}}}return object},iterate:function(object,fn,scope){if(Ext.isEmpty(object)){return}if(scope===undefined){scope=object}if(Ext.isIterable(object)){Ext.Array.each.call(Ext.Array,object,fn,scope)}else{Ext.Object.each.call(Ext.Object,object,fn,scope)}}});Ext.apply(Ext,{extend:function(){var objectConstructor=objectPrototype.constructor,inlineOverrides=function(o){for(var m in o){if(!o.hasOwnProperty(m)){continue}this[m]=o[m]}};return function(subclass,superclass,overrides){if(Ext.isObject(superclass)){overrides=superclass;superclass=subclass;subclass=overrides.constructor!==objectConstructor?overrides.constructor:function(){superclass.apply(this,arguments)}}var F=function(){},subclassProto,superclassProto=superclass.prototype;F.prototype=superclassProto;subclassProto=subclass.prototype=new F();subclassProto.constructor=subclass;subclass.superclass=superclassProto;if(superclassProto.constructor===objectConstructor){superclassProto.constructor=superclass}subclass.override=function(overrides){Ext.override(subclass,overrides)};subclassProto.override=inlineOverrides;subclassProto.proto=subclassProto;subclass.override(overrides);subclass.extend=function(o){return Ext.extend(subclass,o)};return subclass}}(),override:function(cls,overrides){if(cls.$isClass){return cls.override(overrides)}else{Ext.apply(cls.prototype,overrides)}}});Ext.apply(Ext,{valueFrom:function(value,defaultValue,allowBlank){return Ext.isEmpty(value,allowBlank)?defaultValue:value},typeOf:function(value){if(value===null){return"null"}var type=typeof value;if(type==="undefined"||type==="string"||type==="number"||type==="boolean"){return type}var typeToString=toString.call(value);switch(typeToString){case"[object Array]":return"array";case"[object Date]":return"date";case"[object Boolean]":return"boolean";case"[object Number]":return"number";case"[object RegExp]":return"regexp"}if(type==="function"){return"function"}if(type==="object"){if(value.nodeType!==undefined){if(value.nodeType===3){return(/\S/).test(value.nodeValue)?"textnode":"whitespace"}else{return"element"}}return"object"}},isEmpty:function(value,allowEmptyString){return(value===null)||(value===undefined)||(!allowEmptyString?value==="":false)||(Ext.isArray(value)&&value.length===0)},isArray:("isArray" in Array)?Array.isArray:function(value){return toString.call(value)==="[object Array]"},isDate:function(value){return toString.call(value)==="[object Date]"},isObject:(toString.call(null)==="[object Object]")?function(value){return value!==null&&value!==undefined&&toString.call(value)==="[object Object]"&&value.ownerDocument===undefined}:function(value){return toString.call(value)==="[object Object]"},isSimpleObject:function(value){return value instanceof Object&&value.constructor===Object},isPrimitive:function(value){var type=typeof value;return type==="string"||type==="number"||type==="boolean"},isFunction:(typeof document!=="undefined"&&typeof document.getElementsByTagName("body")==="function")?function(value){return toString.call(value)==="[object Function]"}:function(value){return typeof value==="function"},isNumber:function(value){return typeof value==="number"&&isFinite(value)},isNumeric:function(value){return !isNaN(parseFloat(value))&&isFinite(value)},isString:function(value){return typeof value==="string"},isBoolean:function(value){return typeof value==="boolean"},isElement:function(value){return value?value.nodeType===1:false},isTextNode:function(value){return value?value.nodeName==="#text":false},isDefined:function(value){return typeof value!=="undefined"},isIterable:function(value){return(value&&typeof value!=="string")?value.length!==undefined:false}});Ext.apply(Ext,{clone:function(item){if(item===null||item===undefined){return item}if(item.nodeType&&item.cloneNode){return item.cloneNode(true)}var type=toString.call(item);if(type==="[object Date]"){return new Date(item.getTime())}var i,j,k,clone,key;if(type==="[object Array]"){i=item.length;clone=[];while(i--){clone[i]=Ext.clone(item[i])}}else{if(type==="[object Object]"&&item.constructor===Object){clone={};for(key in item){clone[key]=Ext.clone(item[key])}if(enumerables){for(j=enumerables.length;j--;){k=enumerables[j];clone[k]=item[k]}}}}return clone||item},getUniqueGlobalNamespace:function(){var uniqueGlobalNamespace=this.uniqueGlobalNamespace;if(uniqueGlobalNamespace===undefined){var i=0;do{uniqueGlobalNamespace="ExtBox"+(++i)}while(Ext.global[uniqueGlobalNamespace]!==undefined);Ext.global[uniqueGlobalNamespace]=Ext;this.uniqueGlobalNamespace=uniqueGlobalNamespace}return uniqueGlobalNamespace},functionFactory:function(){var args=Array.prototype.slice.call(arguments),ln=args.length;if(ln>0){args[ln-1]="var Ext=window."+this.getUniqueGlobalNamespace()+";"+args[ln-1]}return Function.prototype.constructor.apply(Function.prototype,args)},globalEval:("execScript" in global)?function(code){global.execScript(code)}:function(code){(function(){eval(code)})()},});Ext.type=Ext.typeOf})();(function(){var a="4.1.0",b;Ext.Version=b=Ext.extend(Object,{constructor:function(d){var c=this.toNumber,f,e;if(d instanceof b){return d}this.version=this.shortVersion=String(d).toLowerCase().replace(/_/g,".").replace(/[\-+]/g,"");e=this.version.search(/([^\d\.])/);if(e!==-1){this.release=this.version.substr(e,d.length);this.shortVersion=this.version.substr(0,e)}this.shortVersion=this.shortVersion.replace(/[^\d]/g,"");f=this.version.split(".");this.major=c(f.shift());this.minor=c(f.shift());this.patch=c(f.shift());this.build=c(f.shift());return this},toNumber:function(c){c=parseInt(c||0,10);if(isNaN(c)){c=0}return c},toString:function(){return this.version},valueOf:function(){return this.version},getMajor:function(){return this.major||0},getMinor:function(){return this.minor||0},getPatch:function(){return this.patch||0},getBuild:function(){return this.build||0},getRelease:function(){return this.release||""},isGreaterThan:function(c){return b.compare(this.version,c)===1},isGreaterThanOrEqual:function(c){return b.compare(this.version,c)>=0},isLessThan:function(c){return b.compare(this.version,c)===-1},isLessThanOrEqual:function(c){return b.compare(this.version,c)<=0},equals:function(c){return b.compare(this.version,c)===0},match:function(c){c=String(c);return this.version.substr(0,c.length)===c},toArray:function(){return[this.getMajor(),this.getMinor(),this.getPatch(),this.getBuild(),this.getRelease()]},getShortVersion:function(){return this.shortVersion},gt:function(){return this.isGreaterThan.apply(this,arguments)},lt:function(){return this.isLessThan.apply(this,arguments)},gtEq:function(){return this.isGreaterThanOrEqual.apply(this,arguments)},ltEq:function(){return this.isLessThanOrEqual.apply(this,arguments)}});Ext.apply(b,{releaseValueMap:{dev:-6,alpha:-5,a:-5,beta:-4,b:-4,rc:-3,"#":-2,p:-1,pl:-1},getComponentValue:function(c){return !c?0:(isNaN(c)?this.releaseValueMap[c]||c:parseInt(c,10))},compare:function(g,f){var d,e,c;g=new b(g).toArray();f=new b(f).toArray();for(c=0;ce){return 1}}}return 0}});Ext.apply(Ext,{versions:{},lastRegisteredVersion:null,setVersion:function(d,c){Ext.versions[d]=new b(c);Ext.lastRegisteredVersion=Ext.versions[d];return this},getVersion:function(c){if(c===undefined){return Ext.lastRegisteredVersion}return Ext.versions[c]},deprecate:function(c,e,f,d){if(b.compare(Ext.getVersion(c),e)<1){f.call(d)}}});Ext.setVersion("core",a)})();Ext.String={trimRegex:/^[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u2028\u2029\u202f\u205f\u3000]+|[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u2028\u2029\u202f\u205f\u3000]+$/g,escapeRe:/('|\\)/g,formatRe:/\{(\d+)\}/g,escapeRegexRe:/([-.*+?^${}()|[\]\/\\])/g,htmlEncode:(function(){var d={"&":"&",">":">","<":"<",'"':"""},b=[],c,a;for(c in d){b.push(c)}a=new RegExp("("+b.join("|")+")","g");return function(e){return(!e)?e:String(e).replace(a,function(g,f){return d[f]})}})(),htmlDecode:(function(){var d={"&":"&",">":">","<":"<",""":'"'},b=[],c,a;for(c in d){b.push(c)}a=new RegExp("("+b.join("|")+"|&#[0-9]{1,5};)","g");return function(e){return(!e)?e:String(e).replace(a,function(g,f){if(f in d){return d[f]}else{return String.fromCharCode(parseInt(f.substr(2),10))}})}})(),urlAppend:function(b,a){if(!Ext.isEmpty(a)){return b+(b.indexOf("?")===-1?"?":"&")+a}return b},trim:function(a){return a.replace(Ext.String.trimRegex,"")},capitalize:function(a){return a.charAt(0).toUpperCase()+a.substr(1)},ellipsis:function(c,a,d){if(c&&c.length>a){if(d){var e=c.substr(0,a-2),b=Math.max(e.lastIndexOf(" "),e.lastIndexOf("."),e.lastIndexOf("!"),e.lastIndexOf("?"));if(b!==-1&&b>=(a-15)){return e.substr(0,b)+"..."}}return c.substr(0,a-3)+"..."}return c},escapeRegex:function(a){return a.replace(Ext.String.escapeRegexRe,"\\$1")},escape:function(a){return a.replace(Ext.String.escapeRe,"\\$1")},toggle:function(b,c,a){return b===c?a:c},leftPad:function(b,c,d){var a=String(b);d=d||" ";while(a.lengthH){for(C=e;C--;){F[z+C]=F[H+C]}}}if(J&&G===B){F.length=B;F.push.apply(F,I)}else{F.length=B+J;for(C=0;C-1;y--){if(A.call(z||C[y],C[y],y,C)===false){return y}}}return true},forEach:i?function(z,y,e){return z.forEach(y,e)}:function(B,z,y){var e=0,A=B.length;for(;ee){e=z}}}return e},mean:function(e){return e.length>0?a.sum(e)/e.length:undefined},sum:function(B){var y=0,e,A,z;for(e=0,A=B.length;e=c){f+=c}else{if(b*2<-c){f-=c}}}return Ext.Number.constrain(f,d,g)},toFixed:function(d,b){if(a){b=b||0;var c=Math.pow(10,b);return(Math.round(d*c)/c).toFixed(b)}return d.toFixed(b)},from:function(c,b){if(isFinite(c)){c=parseFloat(c)}return !isNaN(c)?c:b}}})();Ext.num=function(){return Ext.Number.from.apply(this,arguments)};(function(){var a=function(){};var b=Ext.Object={chain:function(d){a.prototype=d;var c=new a();a.prototype=null;return c},toQueryObjects:function(e,j,d){var c=b.toQueryObjects,h=[],f,g;if(Ext.isArray(j)){for(f=0,g=j.length;f0){h=n.split("=");v=decodeURIComponent(h[0]);m=(h[1]!==undefined)?decodeURIComponent(h[1]):"";if(!q){if(t.hasOwnProperty(v)){if(!Ext.isArray(t[v])){t[v]=[t[v]]}t[v].push(m)}else{t[v]=m}}else{g=v.match(/(\[):?([^\]]*)\]/g);s=v.match(/^([^\[]+)/);v=s[0];k=[];if(g===null){t[v]=m;continue}for(o=0,c=g.length;o0){return setTimeout(e,c)}e();return 0},createSequence:function(b,c,a){if(!c){return b}else{return function(){var d=b.apply(this,arguments);c.apply(a||this,arguments);return d}}},createBuffered:function(e,b,d,c){var a;return function(){if(!d){d=this}if(!c){c=Array.prototype.slice.call(arguments)}if(a){clearTimeout(a);a=null}a=setTimeout(function(){e.apply(d,c)},b)}},createThrottled:function(e,b,d){var f,a,c,h,g=function(){e.apply(d||this,c);f=new Date().getTime()};return function(){a=new Date().getTime()-f;c=arguments;clearTimeout(h);if(!f||(a>=b)){g()}else{h=setTimeout(g,b-a)}}},interceptBefore:function(b,a,c){var d=b[a]||Ext.emptyFn;return b[a]=function(){var e=c.apply(this,arguments);d.apply(this,arguments);return e}},interceptAfter:function(b,a,c){var d=b[a]||Ext.emptyFn;return b[a]=function(){d.apply(this,arguments);return c.apply(this,arguments)}}};Ext.defer=Ext.Function.alias(Ext.Function,"defer");Ext.pass=Ext.Function.alias(Ext.Function,"pass");Ext.bind=Ext.Function.alias(Ext.Function,"bind");Ext.JSON=new (function(){var useHasOwn=!!{}.hasOwnProperty,isNative=function(){var useNative=null;return function(){if(useNative===null){useNative=Ext.USE_NATIVE_JSON&&window.JSON&&JSON.toString()=="[object JSON]"}return useNative}}(),pad=function(n){return n<10?"0"+n:n},doDecode=function(json){return eval("("+json+")")},doEncode=function(o){if(!Ext.isDefined(o)||o===null){return"null"}else{if(Ext.isArray(o)){return encodeArray(o)}else{if(Ext.isDate(o)){return Ext.JSON.encodeDate(o)}else{if(Ext.isString(o)){return encodeString(o)}else{if(typeof o=="number"){return isFinite(o)?String(o):"null"}else{if(Ext.isBoolean(o)){return String(o)}else{if(Ext.isObject(o)){return encodeObject(o)}else{if(typeof o==="function"){return"null"}}}}}}}}return"undefined"},m={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\","\x0b":"\\u000b"},charToReplace=/[\\\"\x00-\x1f\x7f-\uffff]/g,encodeString=function(s){return'"'+s.replace(charToReplace,function(a){var c=m[a];return typeof c==="string"?c:"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)})+'"'},encodeArray=function(o){var a=["[",""],len=o.length,i;for(i=0;i0){for(d=0;d0){if(l===k){return n[l]}m=n[l];k=k.substring(l.length+1)}if(m.length>0){m+="/"}return m.replace(/\/\.\//g,"/")+k.replace(/\./g,"/")+".js"},getPrefix:function(l){var n=this.config.paths,m,k="";if(n.hasOwnProperty(l)){return l}for(m in n){if(n.hasOwnProperty(m)&&m+"."===l.substring(0,m.length+1)){if(m.length>k.length){k=m}}}return k},require:function(m,l,k,n){if(l){l.call(k)}},syncRequire:function(){},exclude:function(l){var k=this;return{require:function(o,n,m){return k.require(o,n,m,l)},syncRequire:function(o,n,m){return k.syncRequire(o,n,m,l)}}},onReady:function(n,m,o,k){var l;if(o!==false&&Ext.onDocumentReady){l=n;n=function(){Ext.onDocumentReady(l,m,k)}}n.call(m)}};Ext.apply(b,{documentHead:typeof document!="undefined"&&(document.head||document.getElementsByTagName("head")[0]),isLoading:false,queue:[],isClassFileLoaded:{},isFileLoaded:{},readyListeners:[],optionalRequires:[],requiresMap:{},numPendingFiles:0,numLoadedFiles:0,hasFileLoadError:false,classNameToFilePathMap:{},syncModeEnabled:false,scriptElements:{},refreshQueue:function(){var k=this.queue,q=k.length,n,p,l,o,m;if(q===0){this.triggerReady();return}for(n=0;nthis.numLoadedFiles){continue}l=0;do{if(a.isCreated(o[l])){f(o,l,1)}else{l++}}while(l=200&&n<300)||n==304||(n==0&&q.length>0)){Ext.globalEval(q+"\n//@ sourceURL="+l);s.call(w)}else{}u=null}},syncRequire:function(){var k=this.syncModeEnabled;if(!k){this.syncModeEnabled=true}this.require.apply(this,arguments);if(!k){this.syncModeEnabled=false}this.refreshQueue()},require:function(F,t,n,q){var v={},m={},y=this.queue,C=this.classNameToFilePathMap,A=this.isClassFileLoaded,s=[],H=[],E=[],l=[],r,G,x,w,k,p,D,B,z,u,o;if(q){q=h(q);for(B=0,u=q.length;B0){s=a.getNamesByExpression(k);for(z=0,o=s.length;z0){r=function(){var K=[],J,L,I;for(J=0,L=l.length;J0){H=a.getNamesByExpression(w);o=H.length;for(z=0;z0){if(!this.config.enabled){throw new Error("Ext.Loader is not enabled, so dependencies cannot be resolved dynamically. Missing required class"+((E.length>1)?"es":"")+": "+E.join(", "))}}else{r.call(n);return this}G=this.syncModeEnabled;if(!G){y.push({requires:E.slice(),callback:r,scope:n})}u=E.length;for(B=0;B=2){if("1496x2048" in r){e(r["1496x2048"],"(orientation: landscape)")}if("1536x2008" in r){e(r["1536x2008"],"(orientation: portrait)")}}else{if("748x1024" in r){e(r["748x1024"],"(orientation: landscape)")}if("768x1004" in r){e(r["768x1004"],"(orientation: portrait)")}}}else{if(o>=2&&Ext.os.version.gtEq("4.3")){e(r["640x920"])}else{e(r["320x460"])}}},application:function(b){var a=b.name,e,d,c;if(!b){b={}}if(!Ext.Loader.config.paths[a]){Ext.Loader.setPath(a,b.appFolder||"app")}c=Ext.Array.from(b.requires);b.requires=["Ext.app.Application"];e=b.onReady;d=b.scope;b.onReady=function(){b.requires=c;new Ext.app.Application(b);if(e){e.call(d)}};Ext.setup(b)},factoryConfig:function(a,l){var g=Ext.isSimpleObject(a);if(g&&a.xclass){var f=a.xclass;delete a.xclass;Ext.require(f,function(){Ext.factoryConfig(a,function(i){l(Ext.create(f,i))})});return}var d=Ext.isArray(a),m=[],k,j,c,e;if(g||d){if(g){for(k in a){if(a.hasOwnProperty(k)){j=a[k];if(Ext.isSimpleObject(j)||Ext.isArray(j)){m.push(k)}}}}else{for(c=0,e=a.length;c=e){l(a);return}k=m[c];j=a[k];Ext.factoryConfig(j,h)}b();return}l(a)},factory:function(b,e,a,f){var d=Ext.ClassManager,c;if(!b||b.isInstance){if(a&&a!==b){a.destroy()}return b}if(f){if(typeof b=="string"){return d.instantiateByAlias(f+"."+b)}else{if(Ext.isObject(b)&&"type" in b){return d.instantiateByAlias(f+"."+b.type,b)}}}if(b===true){return a||d.instantiate(e)}if("xtype" in b){c=d.instantiateByAlias("widget."+b.xtype,b)}else{if("xclass" in b){c=d.instantiate(b.xclass,b)}}if(c){if(a){a.destroy()}return c}if(a){return a.setConfig(b)}return d.instantiate(e,b)},deprecateClassMember:function(b,c,a,d){return this.deprecateProperty(b.prototype,c,a,d)},deprecateClassMembers:function(b,c){var d=b.prototype,e,a;for(e in c){if(c.hasOwnProperty(e)){a=c[e];this.deprecateProperty(d,e,a)}}},deprecateProperty:function(b,c,a,d){if(!d){d="'"+c+"' is deprecated"}if(a){d+=", please use '"+a+"' instead"}if(a){Ext.Object.defineProperty(b,c,{get:function(){return this[a]},set:function(e){this[a]=e},configurable:true})}},deprecatePropertyValue:function(b,a,d,c){Ext.Object.defineProperty(b,a,{get:function(){return d},configurable:true})},deprecateMethod:function(b,a,d,c){b[a]=function(){if(d){return d.apply(this,arguments)}}},deprecateClassMethod:function(a,b,h,d){if(typeof b!="string"){var g,f;for(g in b){if(b.hasOwnProperty(g)){f=b[g];Ext.deprecateClassMethod(a,g,f)}}return}var c=typeof h=="string",e;if(!d){d="'"+b+"()' is deprecated, please use '"+(c?h:h.name)+"()' instead"}if(c){e=function(){return this[h].apply(this,arguments)}}else{e=function(){return h.apply(this,arguments)}}if(b in a.prototype){Ext.Object.defineProperty(a.prototype,b,{value:null,writable:true,configurable:true})}a.addMember(b,e)},isReady:false,readyListeners:[],triggerReady:function(){var b=Ext.readyListeners,a,c,d;if(!Ext.isReady){Ext.isReady=true;for(a=0,c=b.length;a0){return b+Ext.String.capitalize(a)}return a}},function(){var a=Ext.browser=new this(Ext.global.navigator.userAgent)});Ext.define("Ext.env.OS",{requires:["Ext.Version"],statics:{names:{ios:"iOS",android:"Android",webos:"webOS",blackberry:"BlackBerry",rimTablet:"RIMTablet",mac:"MacOS",win:"Windows",linux:"Linux",bada:"Bada",other:"Other"},prefixes:{ios:"i(?:Pad|Phone|Pod)(?:.*)CPU(?: iPhone)? OS ",android:"(Android |HTC_|Silk/)",blackberry:"BlackBerry(?:.*)Version/",rimTablet:"RIM Tablet OS ",webos:"(?:webOS|hpwOS)/",bada:"Bada/"}},is:Ext.emptyFn,name:null,version:null,setFlag:function(a,b){if(typeof b=="undefined"){b=true}this.is[a]=b;this.is[a.toLowerCase()]=b;return this},constructor:function(m,b){var k=this.statics(),j=k.names,c=k.prefixes,a,h="",d,g,f,l,e;e=this.is=function(i){return this.is[i]===true};for(d in c){if(c.hasOwnProperty(d)){g=c[d];f=m.match(new RegExp("(?:"+g+")([^\\s;]+)"));if(f){a=j[d];if(f[1]&&(f[1]=="HTC_"||f[1]=="Silk/")){h=new Ext.Version("2.3")}else{h=new Ext.Version(f[f.length-1])}break}}}if(!a){a=j[(m.toLowerCase().match(/mac|win|linux/)||["other"])[0]];h=new Ext.Version("")}this.name=a;this.version=h;if(b){this.setFlag(b)}this.setFlag(a);if(h){this.setFlag(a+(h.getMajor()||""));this.setFlag(a+h.getShortVersion())}for(d in j){if(j.hasOwnProperty(d)){l=j[d];if(!e.hasOwnProperty(a)){this.setFlag(l,(a===l))}}}return this}},function(){var a=Ext.global.navigator,e=a.userAgent,b,g,d;Ext.os=b=new this(e,a.platform);g=b.name;var c=window.location.search.match(/deviceType=(Tablet|Phone)/),f=window.deviceType;if(c&&c[1]){d=c[1]}else{if(f==="iPhone"){d="Phone"}else{if(f==="iPad"){d="Tablet"}else{if(!b.is.Android&&!b.is.iOS&&/Windows|Linux|MacOS/.test(g)){d="Desktop"}else{if(b.is.iPad||b.is.Android3||(b.is.Android4&&e.search(/mobile/i)==-1)){d="Tablet"}else{d="Phone"}}}}}b.setFlag(d,true);b.deviceType=d});Ext.define("Ext.env.Feature",{requires:["Ext.env.Browser","Ext.env.OS"],constructor:function(){this.testElements={};this.has=function(a){return !!this.has[a]};return this},getTestElement:function(a,b){if(a===undefined){a="div"}else{if(typeof a!=="string"){return a}}if(b){return document.createElement(a)}if(!this.testElements[a]){this.testElements[a]=document.createElement(a)}return this.testElements[a]},isStyleSupported:function(c,b){var d=this.getTestElement(b).style,a=Ext.String.capitalize(c);if(typeof d[c]!=="undefined"||typeof d[Ext.browser.getStylePrefix(c)+a]!=="undefined"){return true}return false},isEventSupported:function(c,a){if(a===undefined){a=window}var e=this.getTestElement(a),b="on"+c.toLowerCase(),d=(b in e);if(!d){if(e.setAttribute&&e.removeAttribute){e.setAttribute(b,"");d=typeof e[b]==="function";if(typeof e[b]!=="undefined"){e[b]=undefined}e.removeAttribute(b)}}return d},getSupportedPropertyName:function(b,a){var c=Ext.browser.getVendorProperyName(a);if(c in b){return c}else{if(a in b){return a}}return null},registerTest:Ext.Function.flexSetter(function(a,b){this.has[a]=b.call(this);return this})},function(){Ext.feature=new this;var a=Ext.feature.has;Ext.feature.registerTest({Canvas:function(){var b=this.getTestElement("canvas");return !!(b&&b.getContext&&b.getContext("2d"))},Svg:function(){var b=document;return !!(b.createElementNS&&!!b.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect)},Vml:function(){var c=this.getTestElement(),b=false;c.innerHTML="";b=(c.childNodes.length===1);c.innerHTML="";return b},Touch:function(){return this.isEventSupported("touchstart")&&!(Ext.os&&Ext.os.name.match(/Windows|MacOS|Linux/))},Orientation:function(){return("orientation" in window)&&this.isEventSupported("orientationchange")},OrientationChange:function(){return this.isEventSupported("orientationchange")},DeviceMotion:function(){return this.isEventSupported("devicemotion")},Geolocation:function(){return"geolocation" in window.navigator},SqlDatabase:function(){return"openDatabase" in window},WebSockets:function(){return"WebSocket" in window},Range:function(){return !!document.createRange},CreateContextualFragment:function(){var b=!!document.createRange?document.createRange():false;return b&&!!b.createContextualFragment},History:function(){return("history" in window&&"pushState" in window.history)},CssTransforms:function(){return this.isStyleSupported("transform")},Css3dTransforms:function(){return this.has("CssTransforms")&&this.isStyleSupported("perspective")&&!Ext.os.is.Android2},CssAnimations:function(){return this.isStyleSupported("animationName")},CssTransitions:function(){return this.isStyleSupported("transitionProperty")},Audio:function(){return !!this.getTestElement("audio").canPlayType},Video:function(){return !!this.getTestElement("video").canPlayType},ClassList:function(){return"classList" in this.getTestElement()}})});Ext.define("Ext.dom.Query",{select:function(h,b){var g=[],d,f,e,c,a;b=b||document;if(typeof b=="string"){b=document.getElementById(b)}h=h.split(",");for(f=0,c=h.length;f")}else{c.push(">");if((h=d.tpl)){h.applyOut(d.tplData,c)}if((h=d.html)){c.push(h)}if((h=d.cn||d.children)){g.generateMarkup(h,c)}f=g.closeTags;c.push(f[a]||(f[a]=""))}}}return c},generateStyles:function(e,c){var b=c||[],d;for(d in e){if(e.hasOwnProperty(d)){b.push(this.decamelizeName(d),":",e[d],";")}}return c||b.join("")},markup:function(a){if(typeof a=="string"){return a}var b=this.generateMarkup(a,[]);return b.join("")},applyStyles:function(a,b){Ext.fly(a).applyStyles(b)},createContextualFragment:function(c){var f=document.createElement("div"),a=document.createDocumentFragment(),b=0,d,e;f.innerHTML=c;e=f.childNodes;d=e.length;for(;b0){this.id=b=a.id}else{a.id=b=this.mixins.identifiable.getUniqueId.call(this)}this.self.cache[b]=this}return b},setId:function(c){var a=this.id,b=this.self.cache;if(a){delete b[a]}this.dom.id=c;this.id=c;b[c]=this;return this},setHtml:function(a){this.dom.innerHTML=a},getHtml:function(){return this.dom.innerHTML},setText:function(a){this.dom.textContent=a},redraw:function(){var b=this.dom,a=b.style;a.display="none";b.offsetHeight;a.display=""},isPainted:function(){var a=this.dom;return Boolean(a&&a.offsetParent)},set:function(a,b){var e=this.dom,c,d;for(c in a){if(a.hasOwnProperty(c)){d=a[c];if(c=="style"){this.applyStyles(d)}else{if(c=="cls"){e.className=d}else{if(b!==false){if(d===undefined){e.removeAttribute(c)}else{e.setAttribute(c,d)}}else{e[c]=d}}}}}return this},is:function(a){return Ext.DomQuery.is(this.dom,a)},getValue:function(b){var a=this.dom.value;return b?parseInt(a,10):a},getAttribute:function(a,b){var c=this.dom;return c.getAttributeNS(b,a)||c.getAttribute(b+":"+a)||c.getAttribute(a)||c[a]},destroy:function(){this.isDestroyed=true;var a=Ext.Element.cache,b=this.dom;if(b&&b.parentNode&&b.tagName!="BODY"){b.parentNode.removeChild(b)}delete a[this.id];delete this.dom}},function(a){Ext.elements=Ext.cache=a.cache;this.addStatics({Fly:new Ext.Class({extend:a,constructor:function(b){this.dom=b}}),_flyweights:{},fly:function(e,c){var f=null,d=a._flyweights,b;c=c||"_global";e=Ext.getDom(e);if(e){f=d[c]||(d[c]=new a.Fly());f.dom=e;f.isSynchronized=false;b=Ext.cache[e.id];if(b&&b.isElement){b.isSynchronized=false}}return f}});Ext.get=function(b){return a.get.call(a,b)};Ext.fly=function(){return a.fly.apply(a,arguments)};Ext.ClassManager.onCreated(function(){a.mixin("observable",Ext.mixin.Observable)},null,"Ext.mixin.Observable")});Ext.dom.Element.addStatics({numberRe:/\d+$/,unitRe:/\d+(px|em|%|en|ex|pt|in|cm|mm|pc)$/i,camelRe:/(-[a-z])/gi,cssRe:/([a-z0-9-]+)\s*:\s*([^;\s]+(?:\s*[^;\s]+)*);?/gi,opacityRe:/alpha\(opacity=(.*)\)/i,propertyCache:{},defaultUnit:"px",borders:{l:"border-left-width",r:"border-right-width",t:"border-top-width",b:"border-bottom-width"},paddings:{l:"padding-left",r:"padding-right",t:"padding-top",b:"padding-bottom"},margins:{l:"margin-left",r:"margin-right",t:"margin-top",b:"margin-bottom"},addUnits:function(b,a){if(b===""||b=="auto"||b===undefined||b===null){return b||""}if(Ext.isNumber(b)||this.numberRe.test(b)){return b+(a||this.defaultUnit||"px")}else{if(!this.unitRe.test(b)){return b||""}}return b},isAncestor:function(b,d){var a=false;b=Ext.getDom(b);d=Ext.getDom(d);if(b&&d){if(b.contains){return b.contains(d)}else{if(b.compareDocumentPosition){return !!(b.compareDocumentPosition(d)&16)}else{while((d=d.parentNode)){a=d==b||a}}}}return a},parseBox:function(b){if(typeof b!="string"){b=b.toString()}var c=b.split(" "),a=c.length;if(a==1){c[1]=c[2]=c[3]=c[0]}else{if(a==2){c[2]=c[0];c[3]=c[1]}else{if(a==3){c[3]=c[1]}}}return{top:c[0]||0,right:c[1]||0,bottom:c[2]||0,left:c[3]||0}},unitizeBox:function(c,a){var b=this;c=b.parseBox(c);return b.addUnits(c.top,a)+" "+b.addUnits(c.right,a)+" "+b.addUnits(c.bottom,a)+" "+b.addUnits(c.left,a)},camelReplaceFn:function(b,c){return c.charAt(1).toUpperCase()},normalize:function(a){return this.propertyCache[a]||(this.propertyCache[a]=a.replace(this.camelRe,this.camelReplaceFn))},fromPoint:function(a,b){return Ext.get(document.elementFromPoint(a,b))},parseStyles:function(c){var a={},b=this.cssRe,d;if(c){b.lastIndex=0;while((d=b.exec(c))){a[d[1]]=d[2]}}return a}});Ext.dom.Element.addMembers({appendChild:function(a){this.dom.appendChild(Ext.getDom(a));return this},removeChild:function(a){this.dom.removeChild(Ext.getDom(a));return this},append:function(){this.appendChild.apply(this,arguments)},appendTo:function(a){Ext.getDom(a).appendChild(this.dom);return this},insertBefore:function(a){a=Ext.getDom(a);a.parentNode.insertBefore(this.dom,a);return this},insertAfter:function(a){a=Ext.getDom(a);a.parentNode.insertBefore(this.dom,a.nextSibling);return this},insertFirst:function(b){var a=Ext.getDom(b),d=this.dom,c=d.firstChild;if(!c){d.appendChild(a)}else{d.insertBefore(a,c)}return this},insertSibling:function(e,c,d){var f=this,b,a=(c||"before").toLowerCase()=="after",g;if(Ext.isArray(e)){g=f;Ext.each(e,function(h){b=Ext.fly(g,"_internal").insertSibling(h,c,d);if(a){g=b}});return b}e=e||{};if(e.nodeType||e.dom){b=f.dom.parentNode.insertBefore(Ext.getDom(e),a?f.dom.nextSibling:f.dom);if(!d){b=Ext.get(b)}}else{if(a&&!f.dom.nextSibling){b=Ext.core.DomHelper.append(f.dom.parentNode,e,!d)}else{b=Ext.core.DomHelper[a?"insertAfter":"insertBefore"](f.dom,e,!d)}}return b},replace:function(a){a=Ext.get(a);this.insertBefore(a);a.remove();return this},replaceWith:function(a){var b=this;if(a.nodeType||a.dom||typeof a=="string"){a=Ext.get(a);b.dom.parentNode.insertBefore(a,b.dom)}else{a=Ext.core.DomHelper.insertBefore(b.dom,a)}delete Ext.cache[b.id];Ext.removeNode(b.dom);b.id=Ext.id(b.dom=a);Ext.dom.Element.addToCache(b.isFlyweight?new Ext.dom.Element(b.dom):b);return b},createChild:function(b,a,c){b=b||{tag:"div"};if(a){return Ext.core.DomHelper.insertBefore(a,b,c!==true)}else{return Ext.core.DomHelper[!this.dom.firstChild?"insertFirst":"append"](this.dom,b,c!==true)}},wrap:function(b,c){var e=this.dom,f=this.self.create(b,c),d=(c)?f:f.dom,a=e.parentNode;if(a){a.insertBefore(d,e)}d.appendChild(e);return f},wrapAllChildren:function(a){var d=this.dom,b=d.childNodes,e=this.self.create(a),c=e.dom;while(b.length>0){c.appendChild(d.firstChild)}d.appendChild(c);return e},unwrapAllChildren:function(){var c=this.dom,b=c.childNodes,a=c.parentNode;if(a){while(b.length>0){a.insertBefore(c,c.firstChild)}this.destroy()}},unwrap:function(){var c=this.dom,a=c.parentNode,b;if(a){b=a.parentNode;b.insertBefore(c,a);b.removeChild(a)}else{b=document.createDocumentFragment();b.appendChild(c)}return this},insertHtml:function(b,c,a){var d=Ext.core.DomHelper.insertHtml(b,this.dom,c);return a?Ext.get(d):d}});Ext.dom.Element.override({getX:function(a){return this.getXY(a)[0]},getY:function(a){return this.getXY(a)[1]},getXY:function(){var a=window.webkitConvertPointFromNodeToPage;if(a){return function(){var b=a(this.dom,new WebKitPoint(0,0));return[b.x,b.y]}}else{return function(){var c=this.dom.getBoundingClientRect(),b=Math.round;return[b(c.left+window.pageXOffset),b(c.top+window.pageYOffset)]}}}(),getOffsetsTo:function(a){var c=this.getXY(),b=Ext.fly(a,"_internal").getXY();return[c[0]-b[0],c[1]-b[1]]},setX:function(a){return this.setXY([a,this.getY()])},setY:function(a){return this.setXY([this.getX(),a])},setXY:function(d){var b=this;if(arguments.length>1){d=[d,arguments[1]]}var c=b.translatePoints(d),a=b.dom.style;for(d in c){if(!c.hasOwnProperty(d)){continue}if(!isNaN(c[d])){a[d]=c[d]+"px"}}return b},getLeft:function(){return parseInt(this.getStyle("left"),10)||0},getRight:function(){return parseInt(this.getStyle("right"),10)||0},getTop:function(){return parseInt(this.getStyle("top"),10)||0},getBottom:function(){return parseInt(this.getStyle("bottom"),10)||0},translatePoints:function(a,g){g=isNaN(a[1])?g:a[1];a=isNaN(a[0])?a:a[0];var d=this,e=d.isStyle("position","relative"),f=d.getXY(),b=parseInt(d.getStyle("left"),10),c=parseInt(d.getStyle("top"),10);b=!isNaN(b)?b:(e?0:d.dom.offsetLeft);c=!isNaN(c)?c:(e?0:d.dom.offsetTop);return{left:(a-f[0]+b),top:(g-f[1]+c)}},setBox:function(d){var c=this,b=d.width,a=d.height,f=d.top,e=d.left;if(e!==undefined){c.setLeft(e)}if(f!==undefined){c.setTop(f)}if(b!==undefined){c.setWidth(b)}if(a!==undefined){c.setHeight(a)}return this},getBox:function(g,j){var h=this,e=h.dom,c=e.offsetWidth,k=e.offsetHeight,n,f,d,a,m,i;if(!j){n=h.getXY()}else{if(g){n=[0,0]}else{n=[parseInt(h.getStyle("left"),10)||0,parseInt(h.getStyle("top"),10)||0]}}if(!g){f={x:n[0],y:n[1],0:n[0],1:n[1],width:c,height:k}}else{d=h.getBorderWidth.call(h,"l")+h.getPadding.call(h,"l");a=h.getBorderWidth.call(h,"r")+h.getPadding.call(h,"r");m=h.getBorderWidth.call(h,"t")+h.getPadding.call(h,"t");i=h.getBorderWidth.call(h,"b")+h.getPadding.call(h,"b");f={x:n[0]+d,y:n[1]+m,0:n[0]+d,1:n[1]+m,width:c-(d+a),height:k-(m+i)}}f.left=f.x;f.top=f.y;f.right=f.x+f.width;f.bottom=f.y+f.height;return f},getPageBox:function(e){var g=this,c=g.dom,j=c.offsetWidth,f=c.offsetHeight,m=g.getXY(),k=m[1],a=m[0]+j,i=m[1]+f,d=m[0];if(!c){return new Ext.util.Region()}if(e){return new Ext.util.Region(k,a,i,d)}else{return{left:d,top:k,width:j,height:f,right:a,bottom:i}}}});Ext.dom.Element.addMembers({WIDTH:"width",HEIGHT:"height",MIN_WIDTH:"min-width",MIN_HEIGHT:"min-height",MAX_WIDTH:"max-width",MAX_HEIGHT:"max-height",TOP:"top",RIGHT:"right",BOTTOM:"bottom",LEFT:"left",VISIBILITY:1,DISPLAY:2,OFFSETS:3,SEPARATOR:"-",trimRe:/^\s+|\s+$/g,wordsRe:/\w/g,spacesRe:/\s+/,styleSplitRe:/\s*(?::|;)\s*/,transparentRe:/^(?:transparent|(?:rgba[(](?:\s*\d+\s*[,]){3}\s*0\s*[)]))$/i,classNameSplitRegex:/[\s]+/,borders:{t:"border-top-width",r:"border-right-width",b:"border-bottom-width",l:"border-left-width"},paddings:{t:"padding-top",r:"padding-right",b:"padding-bottom",l:"padding-left"},margins:{t:"margin-top",r:"margin-right",b:"margin-bottom",l:"margin-left"},defaultUnit:"px",isSynchronized:false,synchronize:function(){var g=this.dom,a={},d=g.className,f,c,e,b;if(d.length>0){f=g.className.split(this.classNameSplitRegex);for(c=0,e=f.length;c0?a:0},getWidth:function(a){var c=this.dom,b=a?(c.clientWidth-this.getPadding("lr")):c.offsetWidth;return b>0?b:0},getBorderWidth:function(a){return this.addStyles(a,this.borders)},getPadding:function(a){return this.addStyles(a,this.paddings)},applyStyles:function(d){if(d){var e=this.dom,c,b,a;if(typeof d=="function"){d=d.call()}c=typeof d;if(c=="string"){d=Ext.util.Format.trim(d).split(this.styleSplitRe);for(b=0,a=d.length;b "+a,c.dom);return b?d:Ext.get(d)},parent:function(a,b){return this.matchNode("parentNode","parentNode",a,b)},next:function(a,b){return this.matchNode("nextSibling","nextSibling",a,b)},prev:function(a,b){return this.matchNode("previousSibling","previousSibling",a,b)},first:function(a,b){return this.matchNode("nextSibling","firstChild",a,b)},last:function(a,b){return this.matchNode("previousSibling","lastChild",a,b)},matchNode:function(b,e,a,c){if(!this.dom){return null}var d=this.dom[e];while(d){if(d.nodeType==1&&(!a||Ext.DomQuery.is(d,a))){return !c?Ext.get(d):d}d=d[b]}return null},isAncestor:function(a){return this.self.isAncestor.call(this.self,this.dom,a)}});Ext.define("Ext.dom.CompositeElementLite",{alternateClassName:["Ext.CompositeElementLite","Ext.CompositeElement"],requires:["Ext.dom.Element"],statics:{importElementMethods:function(){}},constructor:function(b,a){this.elements=[];this.add(b,a);this.el=new Ext.dom.Element.Fly()},isComposite:true,getElement:function(a){return this.el.attach(a).synchronize()},transformElement:function(a){return Ext.getDom(a)},getCount:function(){return this.elements.length},add:function(c,a){var e=this.elements,b,d;if(!c){return this}if(typeof c=="string"){c=Ext.dom.Element.selectorFunction(c,a)}else{if(c.isComposite){c=c.elements}else{if(!Ext.isIterable(c)){c=[c]}}}for(b=0,d=c.length;b-1){c=Ext.getDom(c);if(a){f=this.elements[b];f.parentNode.insertBefore(c,f);Ext.removeNode(f)}Ext.Array.splice(this.elements,b,1,c)}return this},clear:function(){this.elements=[]},addElements:function(c,a){if(!c){return this}if(typeof c=="string"){c=Ext.dom.Element.selectorFunction(c,a)}var b=this.elements;Ext.each(c,function(d){b.push(Ext.get(d))});return this},first:function(){return this.item(0)},last:function(){return this.item(this.getCount()-1)},contains:function(a){return this.indexOf(a)!=-1},removeElement:function(c,e){var b=this,d=this.elements,a;Ext.each(c,function(f){if((a=(d[f]||d[f=b.indexOf(f)]))){if(e){if(a.dom){a.remove()}else{Ext.removeNode(a)}}Ext.Array.erase(d,f,1)}});return this}},function(){var a=Ext.dom.Element,d=a.prototype,c=this.prototype,b;for(b in d){if(typeof d[b]=="function"){(function(e){c[e]=c[e]||function(){return this.invoke(e,arguments)}}).call(c,b)}}c.on=c.addListener;if(Ext.DomQuery){a.selectorFunction=Ext.DomQuery.select}a.select=function(e,f){var g;if(typeof e=="string"){g=a.selectorFunction(e,f)}else{if(e.length!==undefined){g=e}else{}}return new Ext.CompositeElementLite(g)};Ext.select=function(){return a.select.apply(a,arguments)}});Ext.define("Ext.ComponentManager",{alternateClassName:"Ext.ComponentMgr",singleton:true,constructor:function(){var a={};this.all={map:a,getArray:function(){var b=[],c;for(c in a){b.push(a[c])}return b}};this.map=a},register:function(a){var b=a.getId();this.map[a.getId()]=a},unregister:function(a){delete this.map[a.getId()]},isRegistered:function(a){return this.map[a]!==undefined},get:function(a){return this.map[a]},create:function(a,c){if(a.isComponent){return a}else{if(Ext.isString(a)){return Ext.createByAlias("widget."+a)}else{var b=a.xtype||c;return Ext.createByAlias("widget."+b,a)}}},registerType:Ext.emptyFn});Ext.define("Ext.ComponentQuery",{singleton:true,uses:["Ext.ComponentManager"]},function(){var g=this,j=["var r = [],","i = 0,","it = items,","l = it.length,","c;","for (; i < l; i++) {","c = it[i];","if (c.{0}) {","r.push(c);","}","}","return r;"].join(""),e=function(o,n){return n.method.apply(this,[o].concat(n.args))},a=function(p,t){var n=[],q=0,s=p.length,r,o=t!==">";for(;q\^])\s?|\s|$)/,c=/^(#)?([\w\-]+|\*)(?:\((true|false)\))?/,b=[{re:/^\.([\w\-]+)(?:\((true|false)\))?/,method:l},{re:/^(?:[\[](?:@)?([\w\-]+)\s?(?:(=|.=)\s?['"]?(.*?)["']?)?[\]])/,method:m},{re:/^#([\w\-]+)/,method:d},{re:/^\:([\w\-]+)(?:\(((?:\{[^\}]+\})|(?:(?!\{)[^\s>\/]*?(?!\})))\))?/,method:k},{re:/^(?:\{([^\}]+)\})/,method:j}];g.Query=Ext.extend(Object,{constructor:function(n){n=n||{};Ext.apply(this,n)},execute:function(o){var q=this.operations,r=0,s=q.length,p,n;if(!o){n=Ext.ComponentManager.all.getArray()}else{if(Ext.isArray(o)){n=o}}for(;r1){for(q=0,r=s.length;q1){r=q.length;for(p=0;p]*)\>)|(?:<\/tpl>)/g,actionsRe:/\s*(elif|elseif|if|for|exec|switch|case|eval)\s*\=\s*(?:(?:["]([^"]*)["])|(?:[']([^']*)[']))\s*/g,defaultRe:/^\s*default\s*$/,elseRe:/^\s*else\s*$/});Ext.define("Ext.app.Action",{config:{scope:null,application:null,controller:null,action:null,args:[],url:undefined,data:{},title:null,beforeFilters:[],currentFilterIndex:-1},constructor:function(a){this.initConfig(a);this.getUrl()},execute:function(){this.resume()},resume:function(){var b=this.getCurrentFilterIndex()+1,c=this.getBeforeFilters(),a=this.getController(),d=c[b];if(d){this.setCurrentFilterIndex(b);d.call(a,this)}else{a[this.getAction()].apply(a,this.getArgs())}},applyUrl:function(a){if(a===null||a===undefined){a=this.urlEncode()}return a},applyController:function(a){var c=this.getApplication(),b=c.getCurrentProfile();if(Ext.isString(a)){a=c.getController(a,b?b.getNamespace():null)}return a},urlEncode:function(){var a=this.getController(),b;if(a instanceof Ext.app.Controller){b=a.$className.split(".");a=b[b.length-1]}return a+"/"+this.getAction()}});Ext.define("Ext.app.Route",{config:{conditions:{},url:null,controller:null,action:null,initialized:false},constructor:function(a){this.initConfig(a)},recognize:function(b){if(!this.getInitialized()){this.initialize()}if(this.recognizes(b)){var c=this.matchesFor(b),a=b.match(this.matcherRegex);a.shift();return Ext.applyIf(c,{controller:this.getController(),action:this.getAction(),historyUrl:b,args:a})}},initialize:function(){this.paramMatchingRegex=new RegExp(/:([0-9A-Za-z\_]*)/g);this.paramsInMatchString=this.getUrl().match(this.paramMatchingRegex)||[];this.matcherRegex=this.createMatcherRegex(this.getUrl());this.setInitialized(true)},recognizes:function(a){return this.matcherRegex.test(a)},matchesFor:function(b){var f={},e=this.paramsInMatchString,a=b.match(this.matcherRegex),d=e.length,c;a.shift();for(c=0;c0){f.timeout=setTimeout(Ext.bind(i.handleTimeout,i,[f]),l)}i.setupErrorHandling(f);i[k]=Ext.bind(i.handleResponse,i,[f],true);i.loadScript(f);return f},abort:function(b){var c=this.statics().requests,a;if(b){if(!b.id){b=c[b]}this.abort(b)}else{for(a in c){if(c.hasOwnProperty(a)){this.abort(c[a])}}}},setupErrorHandling:function(a){a.script.onerror=Ext.bind(this.handleError,this,[a])},handleAbort:function(a){a.errorType="abort";this.handleResponse(null,a)},handleError:function(a){a.errorType="error";this.handleResponse(null,a)},cleanupErrorHandling:function(a){a.script.onerror=null},handleTimeout:function(a){a.errorType="timeout";this.handleResponse(null,a)},handleResponse:function(a,b){var c=true;if(b.timeout){clearTimeout(b.timeout)}delete this[b.callbackName];delete this.statics()[b.id];this.cleanupErrorHandling(b);Ext.fly(b.script).destroy();if(b.errorType){c=false;Ext.callback(b.failure,b.scope,[b.errorType,b])}else{Ext.callback(b.success,b.scope,[a,b])}Ext.callback(b.callback,b.scope,[c,a,b.errorType,b])},createScript:function(c,d,b){var a=document.createElement("script");a.setAttribute("src",Ext.urlAppend(c,Ext.Object.toQueryString(d)));a.setAttribute("async",true);a.setAttribute("type","text/javascript");return a},loadScript:function(a){Ext.getHead().appendChild(a.script)}});Ext.define("Ext.data.Operation",{config:{synchronous:true,action:null,filters:null,sorters:null,grouper:null,start:null,limit:null,batch:null,callback:null,scope:null,resultSet:null,records:null,request:null,response:null,withCredentials:null,params:null,url:null,page:null,node:null,model:undefined,addRecords:false},started:false,running:false,complete:false,success:undefined,exception:false,error:undefined,constructor:function(a){this.initConfig(a)},applyModel:function(a){if(typeof a=="string"){a=Ext.data.ModelManager.getModel(a);if(!a){Ext.Logger.error("Model with name "+arguments[0]+" doesnt exist.")}}if(a&&!a.prototype.isModel&&Ext.isObject(a)){a=Ext.data.ModelManager.registerType(a.storeId||a.id||Ext.id(),a)}return a},getRecords:function(){var a=this.getResultSet();return this._records||(a?a.getRecords():[])},setStarted:function(){this.started=true;this.running=true},setCompleted:function(){this.complete=true;this.running=false},setSuccessful:function(){this.success=true},setException:function(a){this.exception=true;this.success=false;this.running=false;this.error=a},hasException:function(){return this.exception===true},getError:function(){return this.error},isStarted:function(){return this.started===true},isRunning:function(){return this.running===true},isComplete:function(){return this.complete===true},wasSuccessful:function(){return this.isComplete()&&this.success===true},allowWrite:function(){return this.getAction()!="read"},process:function(d,b,c,a){if(b.getSuccess()!==false){this.setResponse(a);this.setResultSet(b);this.setCompleted();this.setSuccessful()}else{return false}return this["process"+Ext.String.capitalize(d)].call(this,b,c,a)},processRead:function(d){var b=d.getRecords(),g=[],f=this.getModel(),e=b.length,c,a;for(c=0;c]+>/gi,none:function(a){return a},asText:function(a){return String(a).replace(this.stripTagsRE,"")},asUCText:function(a){return String(a).toUpperCase().replace(this.stripTagsRE,"")},asUCString:function(a){return String(a).toUpperCase()},asDate:function(a){if(!a){return 0}if(Ext.isDate(a)){return a.getTime()}return Date.parse(String(a))},asFloat:function(a){a=parseFloat(String(a).replace(/,/g,""));return isNaN(a)?0:a},asInt:function(a){a=parseInt(String(a).replace(/,/g,""),10);return isNaN(a)?0:a}});Ext.define("Ext.data.Types",{singleton:true,requires:["Ext.data.SortTypes"],stripRe:/[\$,%]/g,dashesRe:/-/g,iso8601TestRe:/\d\dT\d\d/,iso8601SplitRe:/[- :T\.Z\+]/},function(){var b=this,a=Ext.data.SortTypes;Ext.apply(b,{AUTO:{convert:function(c){return c},sortType:a.none,type:"auto"},STRING:{convert:function(c){return(c===undefined||c===null)?(this.getAllowNull()?null:""):String(c)},sortType:a.asUCString,type:"string"},INT:{convert:function(c){return(c!==undefined&&c!==null&&c!=="")?((typeof c==="number")?parseInt(c,10):parseInt(String(c).replace(b.stripRe,""),10)):(this.getAllowNull()?null:0)},sortType:a.none,type:"int"},FLOAT:{convert:function(c){return(c!==undefined&&c!==null&&c!=="")?((typeof c==="number")?c:parseFloat(String(c).replace(b.stripRe,""),10)):(this.getAllowNull()?null:0)},sortType:a.none,type:"float"},BOOL:{convert:function(c){if((c===undefined||c===null||c==="")&&this.getAllowNull()){return null}return c!=="false"&&!!c},sortType:a.none,type:"bool"},DATE:{convert:function(e){var c=this.getDateFormat(),d;if(!e){return null}if(Ext.isDate(e)){return e}if(c){if(c=="timestamp"){return new Date(e*1000)}if(c=="time"){return new Date(parseInt(e,10))}return Ext.Date.parse(e,c)}d=new Date(Date.parse(e));if(isNaN(d)){if(b.iso8601TestRe.test(e)){d=e.split(b.iso8601SplitRe);d=new Date(d[0],d[1]-1,d[2],d[3],d[4],d[5])}if(isNaN(d)){d=new Date(Date.parse(e.replace(this.dashesRe,"/")))}}return isNaN(d)?null:d},sortType:a.asDate,type:"date"}});Ext.apply(b,{BOOLEAN:this.BOOL,INTEGER:this.INT,NUMBER:this.FLOAT})});Ext.define("Ext.data.Validations",{alternateClassName:"Ext.data.validations",singleton:true,config:{presenceMessage:"must be present",lengthMessage:"is the wrong length",formatMessage:"is the wrong format",inclusionMessage:"is not included in the list of acceptable values",exclusionMessage:"is not an acceptable value",emailMessage:"is not a valid email address"},constructor:function(a){this.initConfig(a)},getMessage:function(a){var b=this["get"+a[0].toUpperCase()+a.slice(1)+"Message"];if(b){return b.call(this)}return""},emailRe:/^\s*[\w\-\+_]+(\.[\w\-\+_]+)*\@[\w\-\+_]+\.[\w\-\+_]+(\.[\w\-\+_]+)*\s*$/,presence:function(a,b){if(arguments.length===1){b=a}return !!b||b===0},length:function(b,e){if(e===undefined||e===null){return false}var d=e.length,c=b.min,a=b.max;if((c&&da)){return false}else{return true}},email:function(b,a){return Ext.data.validations.emailRe.test(a)},format:function(a,b){if(b===undefined||b===null){b=""}return !!(a.matcher&&a.matcher.test(b))},inclusion:function(a,b){return a.list&&Ext.Array.indexOf(a.list,b)!=-1},exclusion:function(a,b){return a.list&&Ext.Array.indexOf(a.list,b)==-1}});Ext.define("Ext.data.identifier.Simple",{alias:"data.identifier.simple",statics:{AUTO_ID:1},config:{prefix:"ext-record-"},constructor:function(a){this.initConfig(a)},generate:function(a){return this._prefix+this.self.AUTO_ID++}});Ext.define("Ext.data.identifier.Uuid",{extend:"Ext.data.identifier.Simple",alias:"data.identifier.uuid",isUnique:true,config:{id:undefined,salt:null,timestamp:null,version:4},applyId:function(a){if(a===undefined){return Ext.data.identifier.Uuid.Global}return a},constructor:function(){var a=this;a.callParent(arguments);a.parts=[];a.init()},reconfigure:function(a){this.setConfig(a);this.init()},generate:function(){var c=this,e=c.parts,a=c.getVersion(),b=c.getSalt(),d=c.getTimestamp();e[0]=c.toHex(d.lo,8);e[1]=c.toHex(d.hi&65535,4);e[2]=c.toHex(((d.hi>>>16)&4095)|(a<<12),4);e[3]=c.toHex(128|((c.clockSeq>>>8)&63),2)+c.toHex(c.clockSeq&255,2);e[4]=c.toHex(b.hi,4)+c.toHex(b.lo,8);if(a==4){c.init()}else{++d.lo;if(d.lo>=c.twoPow32){d.lo=0;++d.hi}}return e.join("-").toLowerCase()},init:function(){var b=this,a=b.getSalt(),c=b.getTimestamp();if(b.getVersion()==4){b.clockSeq=b.rand(0,b.twoPow14-1);if(!a){a={};b.setSalt(a)}if(!c){c={};b.setTimestamp(c)}a.lo=b.rand(0,b.twoPow32-1);a.hi=b.rand(0,b.twoPow16-1);c.lo=b.rand(0,b.twoPow32-1);c.hi=b.rand(0,b.twoPow28-1)}else{b.setSalt(b.split(b.getSalt()));b.setTimestamp(b.split(b.getTimestamp()));b.getSalt().hi|=256}},twoPow14:Math.pow(2,14),twoPow16:Math.pow(2,16),twoPow28:Math.pow(2,28),twoPow32:Math.pow(2,32),toHex:function(c,b){var a=c.toString(16);if(a.length>b){a=a.substring(a.length-b)}else{if(a.length")}for(;c");for(j in k){if(k.hasOwnProperty(j)){d.push("<",j,">",k[j],"")}}d.push("")}if(h){d.push("")}a.setXmlData(d.join(""));return a}});Ext.define("Ext.direct.RemotingMethod",{config:{name:null,params:null,formHandler:null,len:null,ordered:true},constructor:function(a){this.initConfig(a)},applyParams:function(f){if(Ext.isNumber(f)){this.setLen(f)}else{if(Ext.isArray(f)){this.setOrdered(false);var d=f.length,b=[],c,e,a;for(c=0;c0){if(a){for(c=0,d=a.length;c0){k.apply(m,l)}if(a){k.call(m,e)}if(c.length>0){k.apply(m,c)}if(b){k.call(m,e)}if(o.length>0){k.apply(m,o)}}else{for(f=0;f0){k.apply(m,l)}}if(a){k.call(m,e)}for(f=0;f0){k.apply(m,c)}}if(b){k.call(m,e)}for(f=0;f0){k.apply(m,o)}}}if(m.length===0){return this}if(!h){h=[]}d.length=0;d.push.apply(d,h);d.push(null,this);this.doFire();return this},doFire:function(){var k=this.firingListeners,c=this.firingArguments,g=c.length-2,d,f,b,o,h,n,a,j,l,e,m;this.isPausing=false;this.isPaused=false;this.isStopped=false;this.isFiring=true;for(d=0,f=k.length;d0){this.isPaused=false;this.doFire()}if(a){a.resume()}return this},isInterrupted:function(){return this.isStopped||this.isPaused},stop:function(){var a=this.connectingController;this.isStopped=true;if(a){this.connectingController=null;a.stop()}this.isFiring=false;this.listenerStacks=null;return this},pause:function(){var a=this.connectingController;this.isPausing=true;if(a){a.pause()}return this}});Ext.define("Ext.event.Event",{alternateClassName:"Ext.EventObject",isStopped:false,set:function(a,b){if(arguments.length===1&&typeof a!="string"){var c=a;for(a in c){if(c.hasOwnProperty(a)){this[a]=c[a]}}}else{this[a]=c[a]}},stopEvent:function(){return this.stopPropagation()},stopPropagation:function(){this.isStopped=true;return this}});Ext.define("Ext.event.ListenerStack",{currentOrder:"current",length:0,constructor:function(){this.listeners={before:[],current:[],after:[]};this.lateBindingMap={};return this},add:function(h,j,k,e){var a=this.lateBindingMap,g=this.getAll(e),f=g.length,b,d,c;if(typeof h=="string"&&j.isIdentifiable){c=j.getId();b=a[c];if(b){if(b[h]){return false}else{b[h]=true}}else{a[c]=b={};b[h]=true}}else{if(f>0){while(f--){d=g[f];if(d.fn===h&&d.scope===j){d.options=k;return false}}}}d=this.create(h,j,k,e);if(k&&k.prepend){delete k.prepend;g.unshift(d)}else{g.push(d)}this.length++;return true},getAt:function(b,a){return this.getAll(a)[b]},getAll:function(a){if(!a){a=this.currentOrder}return this.listeners[a]},count:function(a){return this.getAll(a).length},create:function(d,c,b,a){return{stack:this,fn:d,firingFn:false,boundFn:false,isLateBinding:typeof d=="string",scope:c,options:b||{},order:a}},remove:function(h,j,e){var g=this.getAll(e),f=g.length,b=false,a=this.lateBindingMap,d,c;if(f>0){while(f--){d=g[f];if(d.fn===h&&d.scope===j){g.splice(f,1);b=true;this.length--;if(typeof h=="string"&&j.isIdentifiable){c=j.getId();if(a[c]&&a[c][h]){delete a[c][h]}}break}}}return b}});Ext.define("Ext.event.publisher.Publisher",{targetType:"",idSelectorRegex:/^#([\w\-]+)$/i,constructor:function(){var b=this.handledEvents,a,c,e,d;a=this.handledEventsMap={};for(c=0,e=b.length;cb){this.isEnded=true;return this.getEndValue()}else{return this.getStartValue()+((a/b)*this.distance)}}});Ext.define("Ext.fx.easing.Momentum",{extend:"Ext.fx.easing.Abstract",config:{acceleration:30,friction:0,startVelocity:0},alpha:0,updateFriction:function(b){var a=Math.log(1-(b/10));this.theta=a;this.alpha=a/this.getAcceleration()},updateStartVelocity:function(a){this.velocity=a*this.getAcceleration()},updateAcceleration:function(a){this.velocity=this.getStartVelocity()*a;this.alpha=this.theta/a},getValue:function(){return this.getStartValue()-this.velocity*(1-this.getFrictionFactor())/this.theta},getFrictionFactor:function(){var a=Ext.Date.now()-this.getStartTime();return Math.exp(a*this.alpha)},getVelocity:function(){return this.getFrictionFactor()*this.velocity}});Ext.define("Ext.mixin.Mixin",{onClassExtended:function(b,e){var a=e.mixinConfig,d,f,c;if(a){d=b.superclass.mixinConfig;if(d){a=e.mixinConfig=Ext.merge({},d,a)}e.mixinId=a.id;f=a.beforeHooks;c=a.hooks||a.afterHooks;if(f||c){Ext.Function.interceptBefore(e,"onClassMixedIn",function(h){var g=this.prototype;if(f){Ext.Object.each(f,function(j,i){h.override(i,function(){if(g[j].apply(this,arguments)!==false){return this.callOverridden(arguments)}})})}if(c){Ext.Object.each(c,function(j,i){h.override(i,function(){var k=this.callOverridden(arguments);g[j].apply(this,arguments);return k})})}})}}}});Ext.define("Ext.mixin.Selectable",{extend:"Ext.mixin.Mixin",mixinConfig:{id:"selectable",hooks:{updateStore:"updateStore"}},config:{disableSelection:null,mode:"SINGLE",allowDeselect:false,lastSelected:null,lastFocused:null,deselectOnContainerClick:true},modes:{SINGLE:true,SIMPLE:true,MULTI:true},selectableEventHooks:{addrecords:"onSelectionStoreAdd",removerecords:"onSelectionStoreRemove",updaterecord:"onSelectionStoreUpdate",load:"refreshSelection",refresh:"refreshSelection"},constructor:function(){this.selected=new Ext.util.MixedCollection();this.callParent(arguments)},applyMode:function(a){a=a?a.toUpperCase():"SINGLE";return this.modes[a]?a:"SINGLE"},updateStore:function(a,c){var b=this,d=Ext.apply({},b.selectableEventHooks,{scope:b});if(c&&Ext.isObject(c)&&c.isStore){if(c.autoDestroy){c.destroy()}else{c.un(d)}}if(a){a.on(d);b.refreshSelection()}},selectAll:function(a){var e=this,c=e.getStore().getRange(),d=c.length,b=0;for(;bg){e=g;g=c;c=e}for(d=c;d<=g;d++){a.push(b.getAt(d))}this.doMultiSelect(a,h)},select:function(c,e,b){var d=this,a;if(d.getDisableSelection()){return}if(typeof c==="number"){c=[d.getStore().getAt(c)]}if(!c){return}if(d.getMode()=="SINGLE"&&c){a=c.length?c[0]:c;d.doSingleSelect(a,b)}else{d.doMultiSelect(c,e,b)}},doSingleSelect:function(a,b){var d=this,c=d.selected;if(d.getDisableSelection()){return}if(d.isSelected(a)){return}if(c.getCount()>0){d.deselect(d.getLastSelected(),b)}c.add(a);d.setLastSelected(a);d.onItemSelect(a,b);d.setLastFocused(a);if(!b){d.fireSelectionChange([a])}},doMultiSelect:function(a,j,h){if(a===null||this.getDisableSelection()){return}a=!Ext.isArray(a)?[a]:a;var f=this,b=f.selected,e=a.length,g=false,c=0,d;if(!j&&b.getCount()>0){g=true;f.deselect(f.getSelection(),true)}for(;c0},refreshSelection:function(){var b=this,a=b.getSelection();b.deselectAll(true);if(a.length){b.select(a,false,true)}},onSelectionStoreRemove:function(c,b){var g=this,e=g.selected,f=b.length,a,d;if(g.getDisableSelection()){return}for(d=0;d0)?a[0]:b;return this.fromTouch(c)},fromTouch:function(a){return new this(a.pageX,a.pageY)},from:function(a){if(!a){return new this(0,0)}if(!(a instanceof this)){return new this(a.x,a.y)}return a}},constructor:function(a,b){if(typeof a=="undefined"){a=0}if(typeof b=="undefined"){b=0}this.x=a;this.y=b;return this},clone:function(){return new this.self(this.x,this.y)},copy:function(){return this.clone.apply(this,arguments)},copyFrom:function(a){this.x=a.x;this.y=a.y;return this},toString:function(){return"Point["+this.x+","+this.y+"]"},equals:function(a){return(this.x===a.x&&this.y===a.y)},isCloseTo:function(c,b){if(typeof b=="number"){b={x:b};b.y=b.x}var a=c.x,f=c.y,e=b.x,d=b.y;return(this.x<=a+e&&this.x>=a-e&&this.y<=f+d&&this.y>=f-d)},isWithin:function(){return this.isCloseTo.apply(this,arguments)},translate:function(a,b){this.x+=a;this.y+=b;return this},roundedEquals:function(a){return(Math.round(this.x)===Math.round(a.x)&&Math.round(this.y)===Math.round(a.y))},getDistanceTo:function(b){var c=this.x-b.x,a=this.y-b.y;return Math.sqrt(c*c+a*a)},getAngleTo:function(b){var c=this.x-b.x,a=this.y-b.y;return Math.atan2(a,c)*this.radianToDegreeConstant}});Ext.define("Ext.util.Region",{statics:{getRegion:function(a){return Ext.fly(a).getPageBox(true)},from:function(a){return new this(a.top,a.right,a.bottom,a.left)}},constructor:function(d,f,a,c){var e=this;e.top=d;e[1]=d;e.right=f;e.bottom=a;e.left=c;e[0]=c},contains:function(b){var a=this;return(b.left>=a.left&&b.right<=a.right&&b.top>=a.top&&b.bottom<=a.bottom)},intersect:function(g){var f=this,d=Math.max(f.top,g.top),e=Math.min(f.right,g.right),a=Math.min(f.bottom,g.bottom),c=Math.max(f.left,g.left);if(a>d&&e>c){return new Ext.util.Region(d,e,a,c)}else{return false}},union:function(g){var f=this,d=Math.min(f.top,g.top),e=Math.max(f.right,g.right),a=Math.max(f.bottom,g.bottom),c=Math.min(f.left,g.left);return new Ext.util.Region(d,e,a,c)},constrainTo:function(b){var a=this,c=Ext.util.Numbers.constrain;a.top=c(a.top,b.top,b.bottom);a.bottom=c(a.bottom,b.top,b.bottom);a.left=c(a.left,b.left,b.right);a.right=c(a.right,b.left,b.right);return a},adjust:function(d,f,a,c){var e=this;e.top+=d;e.left+=c;e.right+=f;e.bottom+=a;return e},getOutOfBoundOffset:function(a,b){if(!Ext.isObject(a)){if(a=="x"){return this.getOutOfBoundOffsetX(b)}else{return this.getOutOfBoundOffsetY(b)}}else{b=a;var c=new Ext.util.Offset();c.x=this.getOutOfBoundOffsetX(b.x);c.y=this.getOutOfBoundOffsetY(b.y);return c}},getOutOfBoundOffsetX:function(a){if(a<=this.left){return this.left-a}else{if(a>=this.right){return this.right-a}}return 0},getOutOfBoundOffsetY:function(a){if(a<=this.top){return this.top-a}else{if(a>=this.bottom){return this.bottom-a}}return 0},isOutOfBound:function(a,b){if(!Ext.isObject(a)){if(a=="x"){return this.isOutOfBoundX(b)}else{return this.isOutOfBoundY(b)}}else{b=a;return(this.isOutOfBoundX(b.x)||this.isOutOfBoundY(b.y))}},isOutOfBoundX:function(a){return(athis.right)},isOutOfBoundY:function(a){return(athis.bottom)},restrict:function(b,d,a){if(Ext.isObject(b)){var c;a=d;d=b;if(d.copy){c=d.copy()}else{c={x:d.x,y:d.y}}c.x=this.restrictX(d.x,a);c.y=this.restrictY(d.y,a);return c}else{if(b=="x"){return this.restrictX(d,a)}else{return this.restrictY(d,a)}}},restrictX:function(b,a){if(!a){a=1}if(b<=this.left){b-=(b-this.left)*a}else{if(b>=this.right){b-=(b-this.right)*a}}return b},restrictY:function(b,a){if(!a){a=1}if(b<=this.top){b-=(b-this.top)*a}else{if(b>=this.bottom){b-=(b-this.bottom)*a}}return b},getSize:function(){return{width:this.right-this.left,height:this.bottom-this.top}},copy:function(){return new Ext.util.Region(this.top,this.right,this.bottom,this.left)},toString:function(){return"Region["+this.top+","+this.right+","+this.bottom+","+this.left+"]"},translateBy:function(a){this.left+=a.x;this.right+=a.x;this.top+=a.y;this.bottom+=a.y;return this},round:function(){this.top=Math.round(this.top);this.right=Math.round(this.right);this.bottom=Math.round(this.bottom);this.left=Math.round(this.left);return this},equals:function(a){return(this.top==a.top&&this.right==a.right&&this.bottom==a.bottom&&this.left==a.left)}});Ext.define("Ext.util.Sorter",{isSorter:true,config:{property:null,sorterFn:null,root:null,transform:null,direction:"ASC",id:undefined},constructor:function(a){this.initConfig(a)},applyId:function(a){if(!a){a=this.getProperty();if(!a){a=Ext.id(null,"ext-sorter-")}}return a},createSortFunction:function(b){var c=this,a=c.getDirection().toUpperCase()=="DESC"?-1:1;return function(e,d){return a*b.call(c,e,d)}},defaultSortFn:function(e,c){var g=this,f=g._transform,b=g._root,d,a,h=g._property;if(b!==null){e=e[b];c=c[b]}d=e[h];a=c[h];if(f){d=f(d);a=f(a)}return d>a?1:(d -1 || Ext.isDate(values) ? values : ""'}else{if(e=="#"){c="xindex"}else{if(e.substr(0,7)=="parent."){c=e}else{if((e.indexOf(".")!==-1)&&(e.indexOf("-")===-1)){c="values."+e}else{c="values['"+e+"']"}}}}if(f){c="("+c+f+")"}if(g&&this.useFormat){d=d?","+d:"";if(g.substr(0,5)!="this."){g="fm."+g+"("}else{g+="("}}else{d="";g="("+c+" === undefined ? '' : "}return g+c+d+")"},evalTpl:function($){eval($);return $},newLineRe:/\r\n|\r|\n/g,aposRe:/[']/g,intRe:/^\s*(\d+)\s*$/,tagRe:/([\w-\.\#]+)(?:\:([\w\.]*)(?:\((.*?)?\))?)?(\s?[\+\-\*\/]\s?[\d\.\+\-\*\/\(\)]+)?/},function(){var a=this.prototype;a.fnArgs="out,values,parent,xindex,xcount";a.callFn=".call(this,"+a.fnArgs+")"});Ext.define("Ext.data.Field",{requires:["Ext.data.Types","Ext.data.SortTypes"],alias:"data.field",isField:true,config:{name:null,type:"auto",convert:undefined,dateFormat:null,allowNull:true,defaultValue:undefined,mapping:null,sortType:undefined,sortDir:"ASC",allowBlank:true,persist:true,encode:null,decode:null,bubbleEvents:"action"},constructor:function(a){if(Ext.isString(a)){a={name:a}}this.initConfig(a)},applyType:function(c){var b=Ext.data.Types,a=b.AUTO;if(c){if(Ext.isString(c)){return b[c.toUpperCase()]||a}else{return c}}return a},updateType:function(a,b){var c=this.getConvert();if(b&&c===b.convert){this.setConvert(a.convert)}},applySortType:function(d){var c=Ext.data.SortTypes,a=this.getType(),b=a.sortType;if(d){if(Ext.isString(d)){return c[d]||b}else{return d}}return b},applyConvert:function(b){var a=this.getType().convert;if(b&&b!==a){this._hasCustomConvert=true;return b}else{this._hasCustomConvert=false;return a}},hasCustomConvert:function(){return this._hasCustomConvert}});Ext.define("Ext.data.identifier.Sequential",{extend:"Ext.data.identifier.Simple",alias:"data.identifier.sequential",config:{prefix:"",seed:1},constructor:function(){var a=this;a.callParent(arguments);a.parts=[a.getPrefix(),""]},generate:function(b){var c=this,d=c.parts,a=c.getSeed()+1;c.setSeed(a);d[1]=a;return d.join("")}});Ext.define("Ext.data.writer.Json",{extend:"Ext.data.writer.Writer",alternateClassName:"Ext.data.JsonWriter",alias:"writer.json",config:{rootProperty:undefined,encode:false,allowSingle:true,encodeRequest:false},applyRootProperty:function(a){if(!a&&(this.getEncode()||this.getEncodeRequest())){a="data"}return a},writeRecords:function(d,e){var a=this.getRootProperty(),f=d.getParams(),b=this.getAllowSingle(),c;if(this.getAllowSingle()&&e&&e.length==1){e=e[0]}if(this.getEncodeRequest()){c=d.getJsonData()||{};if(e&&(e.length||(b&&Ext.isObject(e)))){c[a]=e}d.setJsonData(Ext.apply(c,f||{}));d.setParams(null);d.setMethod("POST");return d}if(!e||!(e.length||(b&&Ext.isObject(e)))){return d}if(this.getEncode()){if(a){f[a]=Ext.encode(e)}else{}}else{c=d.getJsonData()||{};if(a){c[a]=e}else{c=e}d.setJsonData(c)}return d}});Ext.define("Ext.event.Dispatcher",{requires:["Ext.event.ListenerStack","Ext.event.Controller"],statics:{getInstance:function(){if(!this.instance){this.instance=new this()}return this.instance},setInstance:function(a){this.instance=a;return this}},config:{publishers:{}},wildcard:"*",constructor:function(a){this.listenerStacks={};this.activePublishers={};this.publishersCache={};this.noActivePublishers=[];this.controller=null;this.initConfig(a);return this},getListenerStack:function(e,g,c,b){var d=this.listenerStacks,f=d[e],a;b=Boolean(b);if(!f){if(b){d[e]=f={}}else{return null}}f=f[g];if(!f){if(b){d[e][g]=f={}}else{return null}}a=f[c];if(!a){if(b){f[c]=a=new Ext.event.ListenerStack()}else{return null}}return a},getController:function(d,f,c,b){var a=this.controller,e={targetType:d,target:f,eventName:c};if(!a){this.controller=a=new Ext.event.Controller()}if(a.isFiring){a=new Ext.event.Controller()}a.setInfo(e);if(b&&a!==b){a.connect(b)}return a},applyPublishers:function(c){var a,b;this.publishersCache={};for(a in c){if(c.hasOwnProperty(a)){b=c[a];this.registerPublisher(b)}}return c},registerPublisher:function(b){var a=this.activePublishers,c=b.getTargetType(),d=a[c];if(!d){a[c]=d=[]}d.push(b);b.setDispatcher(this);return this},getCachedActivePublishers:function(c,b){var a=this.publishersCache,d;if((d=a[c])&&(d=d[b])){return d}return null},cacheActivePublishers:function(c,b,d){var a=this.publishersCache;if(!a[c]){a[c]={}}a[c][b]=d;return d},getActivePublishers:function(f,b){var g,a,c,e,d;if((g=this.getCachedActivePublishers(f,b))){return g}a=this.activePublishers[f];if(a){g=[];for(c=0,e=a.length;c0}return false},addListener:function(d,e,a){var f=this.getActivePublishers(d,a),c=f.length,b;if(c>0){for(b=0;b0){for(b=0;b0){for(b=0;b0)){return true}delete d[f];if(--d.$length===0){delete this.subscribers[a]}return true},onBeforeComponentRenderedChange:function(b,d,g){var f=this.eventNames,c=g?f.painted:f.erased,e=this.getSubscribers(c),a;if(e&&e.$length>0){this.renderedQueue[d.getId()]=a=[];this.publish(e,d,c,a)}},onBeforeComponentHiddenChange:function(c,d){var f=this.eventNames,b=d?f.erased:f.painted,e=this.getSubscribers(b),a;if(e&&e.$length>0){this.hiddenQueue[c.getId()]=a=[];this.publish(e,c,b,a)}},onComponentRenderedChange:function(b,c){var d=this.renderedQueue,e=c.getId(),a;if(!d.hasOwnProperty(e)){return}a=d[e];delete d[e];if(a.length>0){this.dispatchQueue(a)}},onComponentHiddenChange:function(c){var b=this.hiddenQueue,d=c.getId(),a;if(!b.hasOwnProperty(d)){return}a=b[d];delete b[d];if(a.length>0){this.dispatchQueue(a)}},dispatchQueue:function(g){var l=this.dispatcher,a=this.targetType,b=this.eventNames,e=g.slice(),f=e.length,c,k,h,d,j;g.length=0;if(f>0){for(c=0;c0)){return true}delete c[i];c.$length--}else{if(!d.hasOwnProperty(i)||(!j&&--d[i]>0)){return true}delete d[i];d.$length--}}else{if(g===this.SELECTOR_ALL){if(j){a.all=0}else{a.all--}}else{if(!b.hasOwnProperty(g)||(!j&&--b[g]>0)){return true}delete b[g];Ext.Array.remove(b,g)}}a.$length--;return true},getElementTarget:function(a){if(a.nodeType!==1){a=a.parentNode;if(!a||a.nodeType!==1){return null}}return a},getBubblingTargets:function(b){var a=[];if(!b){return a}do{a[a.length]=b;b=b.parentNode}while(b&&b.nodeType===1);return a},dispatch:function(c,a,b){b.push(b[0].target);this.callParent(arguments)},publish:function(b,a,c){var d=this.getSubscribers(b),e;if(d.$length===0||!this.doPublish(d,b,a,c)){e=this.getSubscribers("*");if(e.$length>0){this.doPublish(e,b,a,c)}}return this},doPublish:function(f,h,x,u){var r=f.id,g=f.className,b=f.selector,p=r.$length>0,a=g.$length>0,l=b.length>0,o=f.all>0,y={},e=[u],q=false,m=this.classNameSplitRegex,v,k,t,d,z,n,c,w,s;for(v=0,k=x.length;v0){c=a.slice(0);a.length=0;for(b=0;b0){this.processEvent(this.mergeEvents(d));d.length=0}this.processEvent(e)}}if(d.length>0){this.processEvent(this.mergeEvents(d));d.length=0}}},mergeEvents:function(c){var b=[],f=c.length,a,e,d;d=c[f-1];if(f===1){return d}for(a=0;ah){for(d=0;dh){return}}for(d=0;da){this.end(d)}}},onTouchEnd:function(a){this.end(a)},start:function(){if(!this.isTracking){this.isTracking=true;this.isStarted=false}},end:function(a){if(this.isTracking){this.isTracking=false;if(this.isStarted){this.isStarted=false;this.fireEnd(a)}}}});Ext.define("Ext.event.recognizer.Pinch",{extend:"Ext.event.recognizer.MultiTouch",requiredTouchesCount:2,handledEvents:["pinchstart","pinch","pinchend"],startDistance:0,lastTouches:null,onTouchMove:function(c){if(!this.isTracking){return}var b=Array.prototype.slice.call(c.touches),d,a,f;d=b[0].point;a=b[1].point;f=d.getDistanceTo(a);if(f===0){return}if(!this.isStarted){this.isStarted=true;this.startDistance=f;this.fire("pinchstart",c,b,{touches:b,distance:f,scale:1})}else{this.fire("pinch",c,b,{touches:b,distance:f,scale:f/this.startDistance})}this.lastTouches=b},fireEnd:function(a){this.fire("pinchend",a,this.lastTouches)},fail:function(){return this.callParent(arguments)}});Ext.define("Ext.event.recognizer.Rotate",{extend:"Ext.event.recognizer.MultiTouch",requiredTouchesCount:2,handledEvents:["rotatestart","rotate","rotateend"],startAngle:0,lastTouches:null,lastAngle:null,onTouchMove:function(h){if(!this.isTracking){return}var g=Array.prototype.slice.call(h.touches),b=this.lastAngle,d,f,c,a,i,j;d=g[0].point;f=g[1].point;c=d.getAngleTo(f);if(b!==null){j=Math.abs(b-c);a=c+360;i=c-360;if(Math.abs(a-b)1){return this.fail(this.self.NOT_SINGLE_TOUCH)}}});Ext.define("Ext.event.recognizer.DoubleTap",{extend:"Ext.event.recognizer.SingleTouch",config:{maxDuration:300},handledEvents:["singletap","doubletap"],singleTapTimer:null,onTouchStart:function(a){if(this.callParent(arguments)===false){return false}this.startTime=a.time;clearTimeout(this.singleTapTimer)},onTouchMove:function(){return this.fail(this.self.TOUCH_MOVED)},onEnd:function(g){var c=this,b=this.getMaxDuration(),h=g.changedTouches[0],f=g.time,a=this.lastTapTime,d;this.lastTapTime=f;if(a){d=f-a;if(d<=b){this.lastTapTime=0;this.fire("doubletap",g,[h],{touch:h,duration:d});return}}if(f-this.startTime>b){this.fireSingleTap(g,h)}else{this.singleTapTimer=setTimeout(function(){c.fireSingleTap(g,h)},b)}},fireSingleTap:function(a,b){this.fire("singletap",a,[b],{touch:b})}});Ext.define("Ext.event.recognizer.Drag",{extend:"Ext.event.recognizer.SingleTouch",isStarted:false,startPoint:null,previousPoint:null,lastPoint:null,handledEvents:["dragstart","drag","dragend"],onTouchStart:function(b){var c,a;if(this.callParent(arguments)===false){if(this.isStarted&&this.lastMoveEvent!==null){this.onTouchEnd(this.lastMoveEvent)}return false}this.startTouches=c=b.changedTouches;this.startTouch=a=c[0];this.startPoint=a.point},onTouchMove:function(d){var c=d.changedTouches,f=c[0],a=f.point,b=d.time;if(this.lastPoint){this.previousPoint=this.lastPoint}if(this.lastTime){this.previousTime=this.lastTime}this.lastTime=b;this.lastPoint=a;this.lastMoveEvent=d;if(!this.isStarted){this.isStarted=true;this.startTime=b;this.previousTime=b;this.previousPoint=this.startPoint;this.fire("dragstart",d,this.startTouches,this.getInfo(d,this.startTouch))}else{this.fire("drag",d,c,this.getInfo(d,f))}},onTouchEnd:function(c){if(this.isStarted){var b=c.changedTouches,d=b[0],a=d.point;this.isStarted=false;this.lastPoint=a;this.fire("dragend",c,b,this.getInfo(c,d));this.startTime=0;this.previousTime=0;this.lastTime=0;this.startPoint=null;this.previousPoint=null;this.lastPoint=null;this.lastMoveEvent=null}},getInfo:function(j,i){var d=j.time,a=this.startPoint,f=this.previousPoint,b=this.startTime,k=this.previousTime,l=this.lastPoint,h=l.x-a.x,g=l.y-a.y,c={touch:i,startX:a.x,startY:a.y,previousX:f.x,previousY:f.y,pageX:l.x,pageY:l.y,deltaX:h,deltaY:g,absDeltaX:Math.abs(h),absDeltaY:Math.abs(g),previousDeltaX:l.x-f.x,previousDeltaY:l.y-f.y,time:d,startTime:b,previousTime:k,deltaTime:d-b,previousDeltaTime:d-k};return c}});Ext.define("Ext.event.recognizer.LongPress",{extend:"Ext.event.recognizer.SingleTouch",inheritableStatics:{DURATION_NOT_ENOUGH:32},config:{minDuration:1000},handledEvents:["longpress"],fireLongPress:function(a){var b=a.changedTouches[0];this.fire("longpress",a,[b],{touch:b,duration:this.getMinDuration()});this.isLongPress=true},onTouchStart:function(b){var a=this;if(this.callParent(arguments)===false){return false}this.isLongPress=false;this.timer=setTimeout(function(){a.fireLongPress(b)},this.getMinDuration())},onTouchMove:function(){return this.fail(this.self.TOUCH_MOVED)},onTouchEnd:function(){if(!this.isLongPress){return this.fail(this.self.DURATION_NOT_ENOUGH)}},fail:function(){clearTimeout(this.timer);return this.callParent(arguments)}},function(){this.override({handledEvents:["longpress","taphold"],fire:function(a){if(a==="longpress"){var b=Array.prototype.slice.call(arguments);b[0]="taphold";this.fire.apply(this,b)}return this.callOverridden(arguments)}})});Ext.define("Ext.event.recognizer.Tap",{handledEvents:["tap"],extend:"Ext.event.recognizer.SingleTouch",onTouchMove:function(){return this.fail(this.self.TOUCH_MOVED)},onTouchEnd:function(a){var b=a.changedTouches[0];this.fire("tap",a,[b])}},function(){});(function(){function b(d){var c=Array.prototype.slice.call(arguments,1);return d.replace(/\{(\d+)\}/g,function(e,f){return c[f]})}Ext.DateExtras={now:Date.now||function(){return +new Date()},getElapsed:function(d,c){return Math.abs(d-(c||new Date()))},useStrict:false,formatCodeToRegex:function(d,c){var e=a.parseCodes[d];if(e){e=typeof e=="function"?e():e;a.parseCodes[d]=e}return e?Ext.applyIf({c:e.c?b(e.c,c||"{0}"):e.c},e):{g:0,c:null,s:Ext.String.escapeRegex(d)}},parseFunctions:{MS:function(d,c){var e=new RegExp("\\/Date\\(([-+])?(\\d+)(?:[+-]\\d{4})?\\)\\/");var f=(d||"").match(e);return f?new Date(((f[1]||"")+f[2])*1):null}},parseRegexes:[],formatFunctions:{MS:function(){return"\\/Date("+this.getTime()+")\\/"}},y2kYear:50,MILLI:"ms",SECOND:"s",MINUTE:"mi",HOUR:"h",DAY:"d",MONTH:"mo",YEAR:"y",defaults:{},dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNumbers:{Jan:0,Feb:1,Mar:2,Apr:3,May:4,Jun:5,Jul:6,Aug:7,Sep:8,Oct:9,Nov:10,Dec:11},defaultFormat:"m/d/Y",getShortMonthName:function(c){return a.monthNames[c].substring(0,3)},getShortDayName:function(c){return a.dayNames[c].substring(0,3)},getMonthNumber:function(c){return a.monthNumbers[c.substring(0,1).toUpperCase()+c.substring(1,3).toLowerCase()]},formatCodes:{d:"Ext.String.leftPad(this.getDate(), 2, '0')",D:"Ext.Date.getShortDayName(this.getDay())",j:"this.getDate()",l:"Ext.Date.dayNames[this.getDay()]",N:"(this.getDay() ? this.getDay() : 7)",S:"Ext.Date.getSuffix(this)",w:"this.getDay()",z:"Ext.Date.getDayOfYear(this)",W:"Ext.String.leftPad(Ext.Date.getWeekOfYear(this), 2, '0')",F:"Ext.Date.monthNames[this.getMonth()]",m:"Ext.String.leftPad(this.getMonth() + 1, 2, '0')",M:"Ext.Date.getShortMonthName(this.getMonth())",n:"(this.getMonth() + 1)",t:"Ext.Date.getDaysInMonth(this)",L:"(Ext.Date.isLeapYear(this) ? 1 : 0)",o:"(this.getFullYear() + (Ext.Date.getWeekOfYear(this) == 1 && this.getMonth() > 0 ? +1 : (Ext.Date.getWeekOfYear(this) >= 52 && this.getMonth() < 11 ? -1 : 0)))",Y:"Ext.String.leftPad(this.getFullYear(), 4, '0')",y:"('' + this.getFullYear()).substring(2, 4)",a:"(this.getHours() < 12 ? 'am' : 'pm')",A:"(this.getHours() < 12 ? 'AM' : 'PM')",g:"((this.getHours() % 12) ? this.getHours() % 12 : 12)",G:"this.getHours()",h:"Ext.String.leftPad((this.getHours() % 12) ? this.getHours() % 12 : 12, 2, '0')",H:"Ext.String.leftPad(this.getHours(), 2, '0')",i:"Ext.String.leftPad(this.getMinutes(), 2, '0')",s:"Ext.String.leftPad(this.getSeconds(), 2, '0')",u:"Ext.String.leftPad(this.getMilliseconds(), 3, '0')",O:"Ext.Date.getGMTOffset(this)",P:"Ext.Date.getGMTOffset(this, true)",T:"Ext.Date.getTimezone(this)",Z:"(this.getTimezoneOffset() * -60)",c:function(){for(var j="Y-m-dTH:i:sP",g=[],f=0,d=j.length;f= 0 && y >= 0){","v = Ext.Date.add(new Date(y < 100 ? 100 : y, 0, 1, h, i, s, ms), Ext.Date.YEAR, y < 100 ? y - 100 : 0);","v = !strict? v : (strict === true && (z <= 364 || (Ext.Date.isLeapYear(v) && z <= 365))? Ext.Date.add(v, Ext.Date.DAY, z) : null);","}else if(strict === true && !Ext.Date.isValid(y, m + 1, d, h, i, s, ms)){","v = null;","}else{","v = Ext.Date.add(new Date(y < 100 ? 100 : y, m, d, h, i, s, ms), Ext.Date.YEAR, y < 100 ? y - 100 : 0);","}","}","}","if(v){","if(zz != null){","v = Ext.Date.add(v, Ext.Date.SECOND, -v.getTimezoneOffset() * 60 - zz);","}else if(o){","v = Ext.Date.add(v, Ext.Date.MINUTE, -v.getTimezoneOffset() + (sn == '+'? -1 : 1) * (hr * 60 + mn));","}","}","return v;"].join("\n");return function(l){var e=a.parseRegexes.length,m=1,f=[],k=[],j=false,d="";for(var h=0;h Ext.Date.y2kYear ? 1900 + ty : 2000 + ty;\n",s:"(\\d{1,2})"},a:{g:1,c:"if (/(am)/i.test(results[{0}])) {\nif (!h || h == 12) { h = 0; }\n} else { if (!h || h < 12) { h = (h || 0) + 12; }}",s:"(am|pm|AM|PM)"},A:{g:1,c:"if (/(am)/i.test(results[{0}])) {\nif (!h || h == 12) { h = 0; }\n} else { if (!h || h < 12) { h = (h || 0) + 12; }}",s:"(AM|PM|am|pm)"},g:function(){return a.formatCodeToRegex("G")},G:{g:1,c:"h = parseInt(results[{0}], 10);\n",s:"(\\d{1,2})"},h:function(){return a.formatCodeToRegex("H")},H:{g:1,c:"h = parseInt(results[{0}], 10);\n",s:"(\\d{2})"},i:{g:1,c:"i = parseInt(results[{0}], 10);\n",s:"(\\d{2})"},s:{g:1,c:"s = parseInt(results[{0}], 10);\n",s:"(\\d{2})"},u:{g:1,c:"ms = results[{0}]; ms = parseInt(ms, 10)/Math.pow(10, ms.length - 3);\n",s:"(\\d+)"},O:{g:1,c:["o = results[{0}];","var sn = o.substring(0,1),","hr = o.substring(1,3)*1 + Math.floor(o.substring(3,5) / 60),","mn = o.substring(3,5) % 60;","o = ((-12 <= (hr*60 + mn)/60) && ((hr*60 + mn)/60 <= 14))? (sn + Ext.String.leftPad(hr, 2, '0') + Ext.String.leftPad(mn, 2, '0')) : null;\n"].join("\n"),s:"([+-]\\d{4})"},P:{g:1,c:["o = results[{0}];","var sn = o.substring(0,1),","hr = o.substring(1,3)*1 + Math.floor(o.substring(4,6) / 60),","mn = o.substring(4,6) % 60;","o = ((-12 <= (hr*60 + mn)/60) && ((hr*60 + mn)/60 <= 14))? (sn + Ext.String.leftPad(hr, 2, '0') + Ext.String.leftPad(mn, 2, '0')) : null;\n"].join("\n"),s:"([+-]\\d{2}:\\d{2})"},T:{g:0,c:null,s:"[A-Z]{1,4}"},Z:{g:1,c:"zz = results[{0}] * 1;\nzz = (-43200 <= zz && zz <= 50400)? zz : null;\n",s:"([+-]?\\d{1,5})"},c:function(){var e=[],c=[a.formatCodeToRegex("Y",1),a.formatCodeToRegex("m",2),a.formatCodeToRegex("d",3),a.formatCodeToRegex("h",4),a.formatCodeToRegex("i",5),a.formatCodeToRegex("s",6),{c:"ms = results[7] || '0'; ms = parseInt(ms, 10)/Math.pow(10, ms.length - 3);\n"},{c:["if(results[8]) {","if(results[8] == 'Z'){","zz = 0;","}else if (results[8].indexOf(':') > -1){",a.formatCodeToRegex("P",8).c,"}else{",a.formatCodeToRegex("O",8).c,"}","}"].join("\n")}];for(var f=0,d=c.length;f0?"-":"+")+Ext.String.leftPad(Math.floor(Math.abs(e)/60),2,"0")+(d?":":"")+Ext.String.leftPad(Math.abs(e%60),2,"0")},getDayOfYear:function(f){var e=0,h=Ext.Date.clone(f),c=f.getMonth(),g;for(g=0,h.setDate(1),h.setMonth(0);g28){e=Math.min(e,Ext.Date.getLastDateOfMonth(Ext.Date.add(Ext.Date.getFirstDateOfMonth(g),"mo",h)).getDate())}i.setDate(e);i.setMonth(g.getMonth()+h);break;case Ext.Date.YEAR:i.setFullYear(g.getFullYear()+h);break}return i},between:function(d,f,c){var e=d.getTime();return f.getTime()<=e&&e<=c.getTime()}};var a=Ext.DateExtras;Ext.apply(Ext.Date,a)})();Ext.define("Ext.fx.Easing",{requires:["Ext.fx.easing.Linear"],constructor:function(a){return Ext.factory(a,Ext.fx.easing.Linear,null,"easing")}});Ext.define("Ext.fx.easing.BoundMomentum",{extend:"Ext.fx.easing.Abstract",requires:["Ext.fx.easing.Momentum","Ext.fx.easing.Bounce"],config:{momentum:null,bounce:null,minMomentumValue:0,maxMomentumValue:0,minVelocity:0.01,startVelocity:0},applyMomentum:function(a,b){return Ext.factory(a,Ext.fx.easing.Momentum,b)},applyBounce:function(a,b){return Ext.factory(a,Ext.fx.easing.Bounce,b)},updateStartTime:function(a){this.getMomentum().setStartTime(a);this.callParent(arguments)},updateStartVelocity:function(a){this.getMomentum().setStartVelocity(a)},updateStartValue:function(a){this.getMomentum().setStartValue(a)},reset:function(){this.lastValue=null;this.isBouncingBack=false;this.isOutOfBound=false;return this.callParent(arguments)},getValue:function(){var a=this.getMomentum(),j=this.getBounce(),e=a.getStartVelocity(),f=e>0?1:-1,g=this.getMinMomentumValue(),d=this.getMaxMomentumValue(),c=(f==1)?d:g,h=this.lastValue,i,b;if(e===0){return this.getStartValue()}if(!this.isOutOfBound){i=a.getValue();b=a.getVelocity();if(Math.abs(b)=g&&i<=d){return i}this.isOutOfBound=true;j.setStartTime(Ext.Date.now()).setStartVelocity(b).setStartValue(c)}i=j.getValue();if(!this.isEnded){if(!this.isBouncingBack){if(h!==null){if((f==1&&ih)){this.isBouncingBack=true}}}else{if(Math.round(i)==c){this.isEnded=true}}}this.lastValue=i;return i}});Ext.define("Ext.fx.easing.EaseIn",{extend:"Ext.fx.easing.Linear",alias:"easing.ease-in",config:{exponent:4,duration:1500},getValue:function(){var c=Ext.Date.now()-this.getStartTime(),g=this.getDuration(),b=this.getStartValue(),a=this.getEndValue(),h=this.distance,e=c/g,d=Math.pow(e,this.getExponent()),f=b+(d*h);if(c>=g){this.isEnded=true;return a}return f}});Ext.define("Ext.fx.easing.EaseOut",{extend:"Ext.fx.easing.Linear",alias:"easing.ease-out",config:{exponent:4,duration:1500},getValue:function(){var f=Ext.Date.now()-this.getStartTime(),d=this.getDuration(),b=this.getStartValue(),h=this.getEndValue(),a=this.distance,c=f/d,g=1-c,e=1-Math.pow(g,this.getExponent()),i=b+(e*a);if(f>=d){this.isEnded=true;return h}return i}});Ext.define("Ext.mixin.Filterable",{extend:"Ext.mixin.Mixin",requires:["Ext.util.Filter"],mixinConfig:{id:"filterable"},config:{filters:null,filterRoot:null},dirtyFilterFn:false,filterFn:null,filtered:false,applyFilters:function(a,b){if(!b){b=this.createFiltersCollection()}b.clear();this.filtered=false;this.dirtyFilterFn=true;if(a){this.addFilters(a)}return b},createFiltersCollection:function(){this._filters=Ext.create("Ext.util.Collection",function(a){return a.getId()});return this._filters},addFilter:function(a){this.addFilters([a])},addFilters:function(b){var a=this.getFilters();return this.insertFilters(a?a.length:0,b)},insertFilter:function(a,b){return this.insertFilters(a,[b])},insertFilters:function(h,c){if(!Ext.isArray(c)){c=[c]}var j=c.length,a=this.getFilterRoot(),d=this.getFilters(),e=[],f,g,b;if(!d){d=this.createFiltersCollection()}for(g=0;g=200&&a<300)||a==304||(a==0&&d.responseText.length>0),b=false;if(!c){switch(a){case 12002:case 12029:case 12030:case 12031:case 12152:case 13030:b=true;break}}return{success:c,isException:b}},createResponse:function(c){var g=c.xhr,a={},h,d,i,e,f,b;if(c.timedout||c.aborted){c.success=false;h=[]}else{h=g.getAllResponseHeaders().replace(this.lineBreakRe,"\n").split("\n")}d=h.length;while(d--){i=h[d];e=i.indexOf(":");if(e>=0){f=i.substr(0,e).toLowerCase();if(i.charAt(e+1)==" "){++e}a[f]=i.substr(e+1)}}c.xhr=null;delete c.xhr;b={request:c,requestId:c.id,status:g.status,statusText:g.statusText,getResponseHeader:function(j){return a[j.toLowerCase()]},getAllResponseHeaders:function(){return a},responseText:g.responseText,responseXML:g.responseXML};g=null;return b},createException:function(a){return{request:a,requestId:a.id,status:a.aborted?-1:0,statusText:a.aborted?"transaction aborted":"communication failure",aborted:a.aborted,timedout:a.timedout}}});Ext.define("Ext.Ajax",{extend:"Ext.data.Connection",singleton:true,autoAbort:false});Ext.define("Ext.data.reader.Reader",{requires:["Ext.data.ResultSet"],alternateClassName:["Ext.data.Reader","Ext.data.DataReader"],mixins:["Ext.mixin.Observable"],isReader:true,config:{idProperty:undefined,clientIdProperty:"clientId",totalProperty:"total",successProperty:"success",messageProperty:null,rootProperty:"",implicitIncludes:true,model:undefined},constructor:function(a){this.initConfig(a)},fieldCount:0,applyModel:function(a){if(typeof a=="string"){a=Ext.data.ModelManager.getModel(a);if(!a){Ext.Logger.error("Model with name "+arguments[0]+" doesnt exist.")}}if(a&&!a.prototype.isModel&&Ext.isObject(a)){a=Ext.data.ModelManager.registerType(a.storeId||a.id||Ext.id(),a)}return a},applyIdProperty:function(a){if(!a&&this.getModel()){a=this.getModel().getIdProperty()}return a},updateModel:function(a){if(a){if(!this.getIdProperty()){this.setIdProperty(a.getIdProperty())}this.buildExtractors()}},createAccessor:Ext.emptyFn,createFieldAccessExpression:function(){return"undefined"},buildExtractors:function(){if(!this.getModel()){return}var b=this,c=b.getTotalProperty(),a=b.getSuccessProperty(),d=b.getMessageProperty();if(c){b.getTotal=b.createAccessor(c)}if(a){b.getSuccess=b.createAccessor(a)}if(d){b.getMessage=b.createAccessor(d)}b.extractRecordData=b.buildRecordDataExtractor()},buildRecordDataExtractor:function(){var k=this,e=k.getModel(),g=e.getFields(),j=g.length,a=[],h=k.getModel().getClientIdProperty(),f="__field",b=["var me = this,\n"," fields = me.getModel().getFields(),\n"," idProperty = me.getIdProperty(),\n",' idPropertyIsFn = (typeof idProperty == "function"),'," value,\n"," internalId"],d,l,c,m;g=g.items;for(d=0;d=0){return Ext.functionFactory("obj","var value; try {value = obj"+(b>0?".":"")+c+"} catch(e) {}; return value;")}}return function(d){return d[c]}}}(),createFieldAccessExpression:function(g,b,c){var f=this,h=f.objectRe,e=(g.getMapping()!==null),a=e?g.getMapping():g.getName(),i,d;if(typeof a==="function"){i=b+".getMapping()("+c+", this)"}else{if(f.getUseSimpleAccessors()===true||((d=String(a).search(h))<0)){if(!e||isNaN(a)){a='"'+a+'"'}i=c+"["+a+"]"}else{i=c+(d>0?".":"")+a}}return i}});Ext.define("Ext.data.proxy.Proxy",{extend:"Ext.Evented",alias:"proxy.proxy",alternateClassName:["Ext.data.DataProxy","Ext.data.Proxy"],requires:["Ext.data.reader.Json","Ext.data.writer.Json","Ext.data.Batch","Ext.data.Operation"],config:{batchOrder:"create,update,destroy",batchActions:true,model:null,reader:{type:"json"},writer:{type:"json"}},isProxy:true,applyModel:function(a){if(typeof a=="string"){a=Ext.data.ModelManager.getModel(a);if(!a){Ext.Logger.error("Model with name "+arguments[0]+" doesnt exist.")}}if(a&&!a.prototype.isModel&&Ext.isObject(a)){a=Ext.data.ModelManager.registerType(a.storeId||a.id||Ext.id(),a)}return a},updateModel:function(b){if(b){var a=this.getReader();if(a&&!a.getModel()){a.setModel(b)}}},applyReader:function(b,a){return Ext.factory(b,Ext.data.Reader,a,"reader")},updateReader:function(a){if(a){var b=this.getModel();if(!b){b=a.getModel();if(b){this.setModel(b)}}else{a.setModel(b)}if(a.onMetaChange){a.onMetaChange=Ext.Function.createSequence(a.onMetaChange,this.onMetaChange,this)}}},onMetaChange:function(b){var a=this.getReader().getModel();if(!this.getModel()&&a){this.setModel(a)}this.fireEvent("metachange",this,b)},applyWriter:function(b,a){return Ext.factory(b,Ext.data.Writer,a,"writer")},create:Ext.emptyFn,read:Ext.emptyFn,update:Ext.emptyFn,destroy:Ext.emptyFn,onDestroy:function(){Ext.destroy(this.getReader(),this.getWriter())},batch:function(e,f){var g=this,d=g.getBatchActions(),c=this.getModel(),b,a;if(e.operations===undefined){e={operations:e,batch:{listeners:f}}}if(e.batch){if(e.batch.isBatch){e.batch.setProxy(g)}else{e.batch.proxy=g}}else{e.batch={proxy:g,listeners:e.listeners||{}}}if(!b){b=new Ext.data.Batch(e.batch)}b.on("complete",Ext.bind(g.onBatchComplete,g,[e],0));Ext.each(g.getBatchOrder().split(","),function(h){a=e.operations[h];if(a){if(d){b.add(new Ext.data.Operation({action:h,records:a,model:c}))}else{Ext.each(a,function(i){b.add(new Ext.data.Operation({action:h,records:[i],model:c}))})}}},g);b.start();return b},onBatchComplete:function(a,b){var c=a.scope||this;if(b.hasException){if(Ext.isFunction(a.failure)){Ext.callback(a.failure,c,[b,a])}}else{if(Ext.isFunction(a.success)){Ext.callback(a.success,c,[b,a])}}if(Ext.isFunction(a.callback)){Ext.callback(a.callback,c,[b,a])}}},function(){});Ext.define("Ext.data.proxy.Client",{extend:"Ext.data.proxy.Proxy",alternateClassName:"Ext.proxy.ClientProxy",clear:function(){}});Ext.define("Ext.data.proxy.Memory",{extend:"Ext.data.proxy.Client",alias:"proxy.memory",alternateClassName:"Ext.data.MemoryProxy",isMemoryProxy:true,config:{data:[]},finishOperation:function(b,f,d){if(b){var c=0,e=b.getRecords(),a=e.length;for(c;c0){if(o){h[e]=m[0].getProperty();h[b]=m[0].getDirection()}else{h[e]=n.encodeSorters(m)}}if(c&&f&&f.length>0){h[c]=n.encodeFilters(f)}return h},buildUrl:function(c){var b=this,a=b.getUrl(c);if(b.getNoCache()){a=Ext.urlAppend(a,Ext.String.format("{0}={1}",b.getCacheString(),Ext.Date.now()))}return a},getUrl:function(a){return a?a.getUrl()||this.getApi()[a.getAction()]||this._url:this._url},doRequest:function(a,c,b){},afterRequest:Ext.emptyFn});Ext.define("Ext.data.proxy.JsonP",{extend:"Ext.data.proxy.Server",alternateClassName:"Ext.data.ScriptTagProxy",alias:["proxy.jsonp","proxy.scripttag"],requires:["Ext.data.JsonP"],config:{defaultWriterType:"base",callbackKey:"callback",recordParam:"records",autoAppendParams:true},doRequest:function(a,f,b){var d=this,c=d.buildRequest(a),e=c.getParams();c.setConfig({callbackKey:d.getCallbackKey(),timeout:d.getTimeout(),scope:d,callback:d.createRequestCallback(c,a,f,b)});if(d.getAutoAppendParams()){c.setParams({})}c.setJsonP(Ext.data.JsonP.request(c.getCurrentConfig()));c.setParams(e);a.setStarted();d.lastRequest=c;return c},createRequestCallback:function(d,a,e,b){var c=this;return function(h,f,g){delete c.lastRequest;c.processResponse(h,a,d,f,e,b)}},setException:function(b,a){b.setException(b.getRequest().getJsonP().errorType)},buildUrl:function(f){var h=this,a=h.callParent(arguments),e=Ext.apply({},f.getParams()),c=e.filters,d,b,g,j;delete e.filters;if(h.getAutoAppendParams()){a=Ext.urlAppend(a,Ext.Object.toQueryString(e))}if(c&&c.length){for(g=0;g1){this.endAnimationCounter=0;this.fireEvent("animationend",this)}},applyInAnimation:function(b,a){return Ext.factory(b,Ext.fx.Animation,a)},applyOutAnimation:function(b,a){return Ext.factory(b,Ext.fx.Animation,a)},updateInAnimation:function(a){a.setScope(this)},updateOutAnimation:function(a){a.setScope(this)},onActiveItemChange:function(a,e,h,i,d){var b=this.getInAnimation(),g=this.getOutAnimation(),f,c;if(e&&h&&h.isPainted()){f=e.renderElement;c=h.renderElement;b.setElement(f);g.setElement(c);g.setOnBeforeEnd(function(j,k){if(k||Ext.Animator.hasRunningAnimations(j)){d.firingArguments[1]=null;d.firingArguments[2]=null}});g.setOnEnd(function(){d.resume()});f.dom.style.setProperty("visibility","hidden","!important");e.show();Ext.Animator.run([g,b]);d.pause()}}});Ext.define("Ext.fx.layout.card.Cover",{extend:"Ext.fx.layout.card.Style",alias:"fx.layout.card.cover",config:{reverse:null,inAnimation:{before:{"z-index":100},after:{"z-index":0},type:"slide",easing:"ease-out"},outAnimation:{easing:"ease-out",from:{opacity:0.99},to:{opacity:1},out:true}},updateReverse:function(a){this.getInAnimation().setReverse(a);this.getOutAnimation().setReverse(a)}});Ext.define("Ext.fx.layout.card.Cube",{extend:"Ext.fx.layout.card.Style",alias:"fx.layout.card.cube",config:{reverse:null,inAnimation:{type:"cube"},outAnimation:{type:"cube",out:true}}});Ext.define("Ext.fx.layout.card.Fade",{extend:"Ext.fx.layout.card.Style",alias:"fx.layout.card.fade",config:{reverse:null,inAnimation:{type:"fade",easing:"ease-out"},outAnimation:{type:"fade",easing:"ease-out",out:true}}});Ext.define("Ext.fx.layout.card.Flip",{extend:"Ext.fx.layout.card.Style",alias:"fx.layout.card.flip",config:{duration:500,inAnimation:{type:"flip",half:true,easing:"ease-out",before:{"backface-visibility":"hidden"},after:{"backface-visibility":null}},outAnimation:{type:"flip",half:true,easing:"ease-in",before:{"backface-visibility":"hidden"},after:{"backface-visibility":null},out:true}},updateDuration:function(d){var c=d/2,b=this.getInAnimation(),a=this.getOutAnimation();b.setDelay(c);b.setDuration(c);a.setDuration(c)}});Ext.define("Ext.fx.layout.card.Pop",{extend:"Ext.fx.layout.card.Style",alias:"fx.layout.card.pop",config:{duration:500,inAnimation:{type:"pop",easing:"ease-out"},outAnimation:{type:"pop",easing:"ease-in",out:true}},updateDuration:function(d){var c=d/2,b=this.getInAnimation(),a=this.getOutAnimation();b.setDelay(c);b.setDuration(c);a.setDuration(c)}});Ext.define("Ext.fx.layout.card.Reveal",{extend:"Ext.fx.layout.card.Style",alias:"fx.layout.card.reveal",config:{inAnimation:{easing:"ease-out",from:{opacity:0.99},to:{opacity:1}},outAnimation:{before:{"z-index":100},after:{"z-index":0},type:"slide",easing:"ease-out",out:true}},updateReverse:function(a){this.getInAnimation().setReverse(a);this.getOutAnimation().setReverse(a)}});Ext.define("Ext.fx.layout.card.Slide",{extend:"Ext.fx.layout.card.Style",alias:"fx.layout.card.slide",config:{inAnimation:{type:"slide",easing:"ease-out"},outAnimation:{type:"slide",easing:"ease-out",out:true}},updateReverse:function(a){this.getInAnimation().setReverse(a);this.getOutAnimation().setReverse(a)}});Ext.define("Ext.fx.layout.Card",{requires:["Ext.fx.layout.card.Slide","Ext.fx.layout.card.Cover","Ext.fx.layout.card.Reveal","Ext.fx.layout.card.Fade","Ext.fx.layout.card.Flip","Ext.fx.layout.card.Pop","Ext.fx.layout.card.Scroll"],constructor:function(b){var a=Ext.fx.layout.card.Abstract,c;if(!b){return null}if(typeof b=="string"){c=b;b={}}else{if(b.type){c=b.type}}b.elementBox=false;if(c){if(Ext.os.is.Android2){if(c!="fade"){c="scroll"}}else{if(c==="slide"&&Ext.browser.is.ChromeMobile){c="scroll"}}a=Ext.ClassManager.getByAlias("fx.layout.card."+c)}return Ext.factory(b,a)}});Ext.define("Ext.fx.runner.Css",{extend:"Ext.Evented",requires:["Ext.fx.Animation"],prefixedProperties:{transform:true,"transform-origin":true,perspective:true,"transform-style":true,transition:true,"transition-property":true,"transition-duration":true,"transition-timing-function":true,"transition-delay":true,animation:true,"animation-name":true,"animation-duration":true,"animation-iteration-count":true,"animation-direction":true,"animation-timing-function":true,"animation-delay":true},lengthProperties:{top:true,right:true,bottom:true,left:true,width:true,height:true,"max-height":true,"max-width":true,"min-height":true,"min-width":true,"margin-bottom":true,"margin-left":true,"margin-right":true,"margin-top":true,"padding-bottom":true,"padding-left":true,"padding-right":true,"padding-top":true,"border-bottom-width":true,"border-left-width":true,"border-right-width":true,"border-spacing":true,"border-top-width":true,"border-width":true,"outline-width":true,"letter-spacing":true,"line-height":true,"text-indent":true,"word-spacing":true,"font-size":true,translate:true,translateX:true,translateY:true,translateZ:true,translate3d:true},durationProperties:{"transition-duration":true,"transition-delay":true,"animation-duration":true,"animation-delay":true},angleProperties:{rotate:true,rotateX:true,rotateY:true,rotateZ:true,skew:true,skewX:true,skewY:true},lengthUnitRegex:/([a-z%]*)$/,DEFAULT_UNIT_LENGTH:"px",DEFAULT_UNIT_ANGLE:"deg",DEFAULT_UNIT_DURATION:"ms",formattedNameCache:{},constructor:function(){var a=Ext.feature.has.Css3dTransforms;if(a){this.transformMethods=["translateX","translateY","translateZ","rotate","rotateX","rotateY","rotateZ","skewX","skewY","scaleX","scaleY","scaleZ"]}else{this.transformMethods=["translateX","translateY","rotate","skewX","skewY","scaleX","scaleY"]}this.vendorPrefix=Ext.browser.getStyleDashPrefix();this.ruleStylesCache={};return this},getStyleSheet:function(){var c=this.styleSheet,a,b;if(!c){a=document.createElement("style");a.type="text/css";(document.head||document.getElementsByTagName("head")[0]).appendChild(a);b=document.styleSheets;this.styleSheet=c=b[b.length-1]}return c},applyRules:function(i){var g=this.getStyleSheet(),k=this.ruleStylesCache,j=g.cssRules,c,e,h,b,d,a,f;for(c in i){e=i[c];h=k[c];if(h===undefined){d=j.length;g.insertRule(c+"{}",d);h=k[c]=j.item(d).style}b=h.$cache;if(!b){b=h.$cache={}}for(a in e){f=this.formatValue(e[a],a);a=this.formatName(a);if(b[a]!==f){b[a]=f;if(f===null){h.removeProperty(a)}else{h.setProperty(a,f,"important")}}}}return this},applyStyles:function(d){var g,c,f,b,a,e;for(g in d){c=document.getElementById(g);if(!c){return this}f=c.style;b=d[g];for(a in b){e=this.formatValue(b[a],a);a=this.formatName(a);if(e===null){f.removeProperty(a)}else{f.setProperty(a,e,"important")}}}return this},formatName:function(b){var a=this.formattedNameCache,c=a[b];if(!c){if(this.prefixedProperties[b]){c=this.vendorPrefix+b}else{c=b}a[b]=c}return c},formatValue:function(j,b){var g=typeof j,l=this.DEFAULT_UNIT_LENGTH,e,a,d,f,c,k,h;if(g=="string"){if(this.lengthProperties[b]){h=j.match(this.lengthUnitRegex)[1];if(h.length>0){}else{return j+l}}return j}else{if(g=="number"){if(j==0){return"0"}if(this.lengthProperties[b]){return j+l}if(this.angleProperties[b]){return j+this.DEFAULT_UNIT_ANGLE}if(this.durationProperties[b]){return j+this.DEFAULT_UNIT_DURATION}}else{if(b==="transform"){e=this.transformMethods;c=[];for(d=0,f=e.length;d0)?k.join(", "):"none"}}}}return j}});Ext.define("Ext.fx.runner.CssTransition",{extend:"Ext.fx.runner.Css",listenersAttached:false,constructor:function(){this.runningAnimationsData={};return this.callParent(arguments)},attachListeners:function(){this.listenersAttached=true;this.getEventDispatcher().addListener("element","*","transitionend","onTransitionEnd",this)},onTransitionEnd:function(b){var a=b.target,c=a.id;if(c&&this.runningAnimationsData.hasOwnProperty(c)){this.refreshRunningAnimationsData(Ext.get(a),[b.browserEvent.propertyName])}},onAnimationEnd:function(g,f,d,j,n){var c=g.getId(),k=this.runningAnimationsData[c],o={},m={},b,h,e,l,a;d.un("stop","onAnimationStop",this);if(k){b=k.nameMap}o[c]=m;if(f.onBeforeEnd){f.onBeforeEnd.call(f.scope||this,g,j)}d.fireEvent("animationbeforeend",d,g,j);this.fireEvent("animationbeforeend",this,d,g,j);if(n||(!j&&!f.preserveEndState)){h=f.toPropertyNames;for(e=0,l=h.length;e0},refreshRunningAnimationsData:function(d,k,t,p){var g=d.getId(),q=this.runningAnimationsData,a=q[g];if(!a){return}var m=a.nameMap,s=a.nameList,b=a.sessions,f,h,e,u,l,c,r,o,n=false;t=Boolean(t);p=Boolean(p);if(!b){return this}f=b.length;if(f===0){return this}if(p){a.nameMap={};s.length=0;for(l=0;l");d.close();this.testElement=c=d.createElement("div");c.style.setProperty("position","absolute","!important");d.body.appendChild(c);this.testElementComputedStyle=window.getComputedStyle(c)}return c},getCssStyleValue:function(b,e){var d=this.getTestElement(),a=this.testElementComputedStyle,c=d.style;c.setProperty(b,e);e=a.getPropertyValue(b);c.removeProperty(b);return e},run:function(p){var F=this,h=this.lengthProperties,x={},E={},G={},d,s,y,e,u,I,v,q,r,a,A,z,o,B,l,t,g,C,H,k,f,w,n,c,D,b,m;if(!this.listenersAttached){this.attachListeners()}p=Ext.Array.from(p);for(A=0,o=p.length;A0){this.refreshRunningAnimationsData(d,Ext.Array.merge(I,v),true,G.replacePrevious)}c=a.nameMap;D=a.nameList;t={};for(z=0;z0){I=Ext.Array.difference(D,I);v=Ext.Array.merge(I,v);y["transition-property"]=I}E[s]=e=Ext.Object.chain(e);e["transition-property"]=v;e["transition-duration"]=G.duration;e["transition-timing-function"]=G.easing;e["transition-delay"]=G.delay;B.startTime=Date.now()}r=this.$className;this.applyStyles(x);q=function(i){if(i.data===r&&i.source===window){window.removeEventListener("message",q,false);F.applyStyles(E)}};window.addEventListener("message",q,false);window.postMessage(r,"*")},onAnimationStop:function(d){var f=this.runningAnimationsData,h,a,g,b,c,e;for(h in f){if(f.hasOwnProperty(h)){a=f[h];g=a.sessions;for(b=0,c=g.length;b component"})},reapply:function(){this.container.innerElement.addCls(this.cls);this.updatePack(this.getPack());this.updateAlign(this.getAlign())},unapply:function(){this.container.innerElement.removeCls(this.cls);this.updatePack(null);this.updateAlign(null)},doItemAdd:function(d,b){this.callParent(arguments);if(d.isInnerItem()){var c=d.getConfig(this.sizePropertyName),a=d.config;if(!c&&("flex" in a)){this.setItemFlex(d,a.flex)}}},doItemRemove:function(a){if(a.isInnerItem()){this.setItemFlex(a,null)}this.callParent(arguments)},onItemSizeChange:function(a){this.setItemFlex(a,null)},doItemCenteredChange:function(b,a){if(a){this.setItemFlex(b,null)}this.callParent(arguments)},doItemFloatingChange:function(a,b){if(b){this.setItemFlex(a,null)}this.callParent(arguments)},doItemDockedChange:function(a,b){if(b){this.setItemFlex(a,null)}this.callParent(arguments)},redrawContainer:function(){var a=this.container,b=a.renderElement.dom.parentNode;if(b&&b.nodeType!==11){a.innerElement.redraw()}},setItemFlex:function(c,a){var b=c.element,d=this.flexItemCls;if(a){b.addCls(d)}else{if(b.hasCls(d)){this.redrawContainer();b.removeCls(d)}}b.dom.style.webkitBoxFlex=a},convertPosition:function(a){if(this.positionMap.hasOwnProperty(a)){return this.positionMap[a]}return a},applyAlign:function(a){return this.convertPosition(a)},updateAlign:function(a){this.container.innerElement.dom.style.webkitBoxAlign=a},applyPack:function(a){return this.convertPosition(a)},updatePack:function(a){this.container.innerElement.dom.style.webkitBoxPack=a}});Ext.define("Ext.layout.Fit",{extend:"Ext.layout.Default",alternateClassName:"Ext.layout.FitLayout",alias:"layout.fit",cls:Ext.baseCSSPrefix+"layout-fit",itemCls:Ext.baseCSSPrefix+"layout-fit-item",constructor:function(a){this.callParent(arguments);this.apply()},apply:function(){this.container.innerElement.addCls(this.cls)},reapply:function(){this.apply()},unapply:function(){this.container.innerElement.removeCls(this.cls)},doItemAdd:function(b,a){if(b.isInnerItem()){b.addCls(this.itemCls)}this.callParent(arguments)},doItemRemove:function(a){if(a.isInnerItem()){a.removeCls(this.itemCls)}this.callParent(arguments)}});Ext.define("Ext.layout.Card",{extend:"Ext.layout.Fit",alternateClassName:"Ext.layout.CardLayout",isCard:true,requires:["Ext.fx.layout.Card"],alias:"layout.card",cls:Ext.baseCSSPrefix+"layout-card",itemCls:Ext.baseCSSPrefix+"layout-card-item",constructor:function(){this.callParent(arguments);this.container.onInitialized(this.onContainerInitialized,this)},applyAnimation:function(a){return new Ext.fx.layout.Card(a)},updateAnimation:function(b,a){if(b&&b.isAnimation){b.setLayout(this)}if(a){a.destroy()}},doItemAdd:function(b,a){if(b.isInnerItem()){b.hide()}this.callParent(arguments)},getInnerItemsContainer:function(){var a=this.innerItemsContainer;if(!a){this.innerItemsContainer=a=Ext.Element.create({className:this.cls+"-container"});this.container.innerElement.append(a)}return a},doItemRemove:function(c,a,b){this.callParent(arguments);if(!b&&c.isInnerItem()){c.show()}},onContainerInitialized:function(a){var b=a.getActiveItem();if(b){b.show()}a.on("activeitemchange","onContainerActiveItemChange",this)},onContainerActiveItemChange:function(a){this.relayEvent(arguments,"doActiveItemChange")},doActiveItemChange:function(b,c,a){if(a){a.hide()}if(c){c.show()}},doItemDockedChange:function(b,c){var a=b.element;if(c){a.removeCls(this.itemCls)}else{a.addCls(this.itemCls)}this.callParent(arguments)}});Ext.define("Ext.layout.HBox",{extend:"Ext.layout.AbstractBox",alternateClassName:"Ext.layout.HBoxLayout",alias:"layout.hbox",sizePropertyName:"width",sizeChangeEventName:"widthchange",cls:Ext.baseCSSPrefix+"layout-hbox"});Ext.define("Ext.layout.VBox",{extend:"Ext.layout.AbstractBox",alternateClassName:"Ext.layout.VBoxLayout",alias:"layout.vbox",sizePropertyName:"height",sizeChangeEventName:"heightchange",cls:Ext.baseCSSPrefix+"layout-vbox"});Ext.define("Ext.layout.Layout",{requires:["Ext.layout.Fit","Ext.layout.Card","Ext.layout.HBox","Ext.layout.VBox"],constructor:function(a,b){var c=Ext.layout.Default,d,e;if(typeof b=="string"){d=b;b={}}else{if("type" in b){d=b.type}}if(d){c=Ext.ClassManager.getByAlias("layout."+d)}return new c(a,b)}});Ext.define("Ext.mixin.Sortable",{extend:"Ext.mixin.Mixin",requires:["Ext.util.Sorter"],mixinConfig:{id:"sortable"},config:{sorters:null,defaultSortDirection:"ASC",sortRoot:null},dirtySortFn:false,sortFn:null,sorted:false,applySorters:function(a,b){if(!b){b=this.createSortersCollection()}b.clear();this.sorted=false;if(a){this.addSorters(a)}return b},createSortersCollection:function(){this._sorters=Ext.create("Ext.util.Collection",function(a){return a.getId()});return this._sorters},addSorter:function(b,a){this.addSorters([b],a)},addSorters:function(c,a){var b=this.getSorters();return this.insertSorters(b?b.length:0,c,a)},insertSorter:function(a,c,b){return this.insertSorters(a,[c],b)},insertSorters:function(e,h,a){if(!Ext.isArray(h)){h=[h]}var f=h.length,j=a||this.getDefaultSortDirection(),c=this.getSortRoot(),k=this.getSorters(),l=[],g,b,m,d;if(!k){k=this.createSortersCollection()}for(b=0;b>1;f=d(e,b[c]);if(f>=0){h=c+1}else{if(f<0){a=c-1}}}return h}});Ext.define("Ext.util.AbstractMixedCollection",{requires:["Ext.util.Filter"],mixins:{observable:"Ext.mixin.Observable"},constructor:function(b,a){var c=this;c.items=[];c.map={};c.keys=[];c.length=0;c.allowFunctions=b===true;if(a){c.getKey=a}c.mixins.observable.constructor.call(c)},allowFunctions:false,add:function(b,e){var d=this,f=e,c=b,a;if(arguments.length==1){f=c;c=d.getKey(f)}if(typeof c!="undefined"&&c!==null){a=d.map[c];if(typeof a!="undefined"){return d.replace(c,f)}d.map[c]=f}d.length++;d.items.push(f);d.keys.push(c);d.fireEvent("add",d.length-1,f,c);return f},getKey:function(a){return a.id},replace:function(c,e){var d=this,a,b;if(arguments.length==1){e=arguments[0];c=d.getKey(e)}a=d.map[c];if(typeof c=="undefined"||c===null||typeof a=="undefined"){return d.add(c,e)}b=d.indexOfKey(c);d.items[b]=e;d.map[c]=e;d.fireEvent("replace",c,a,e);return e},addAll:function(f){var e=this,d=0,b,a,c;if(arguments.length>1||Ext.isArray(f)){b=arguments.length>1?arguments:f;for(a=b.length;d=d.length){return d.add(c,f)}d.length++;Ext.Array.splice(d.items,a,0,f);if(typeof c!="undefined"&&c!==null){d.map[c]=f}Ext.Array.splice(d.keys,a,0,c);d.fireEvent("add",a,f,c);return f},remove:function(a){return this.removeAt(this.indexOf(a))},removeAll:function(a){Ext.each(a||[],function(b){this.remove(b)},this);return this},removeAt:function(a){var c=this,d,b;if(a=0){c.length--;d=c.items[a];Ext.Array.erase(c.items,a,1);b=c.keys[a];if(typeof b!="undefined"){delete c.map[b]}Ext.Array.erase(c.keys,a,1);c.fireEvent("remove",d,b);return d}return false},removeAtKey:function(a){return this.removeAt(this.indexOfKey(a))},getCount:function(){return this.length},indexOf:function(a){return Ext.Array.indexOf(this.items,a)},indexOfKey:function(a){return Ext.Array.indexOf(this.keys,a)},get:function(b){var d=this,a=d.map[b],c=a!==undefined?a:(typeof b=="number")?d.items[b]:undefined;return typeof c!="function"||d.allowFunctions?c:null},getAt:function(a){return this.items[a]},getByKey:function(a){return this.map[a]},contains:function(a){return Ext.Array.contains(this.items,a)},containsKey:function(a){return typeof this.map[a]!="undefined"},clear:function(){var a=this;a.length=0;a.items=[];a.keys=[];a.map={};a.fireEvent("clear")},first:function(){return this.items[0]},last:function(){return this.items[this.length-1]},sum:function(g,b,h,a){var c=this.extractValues(g,b),f=c.length,e=0,d;h=h||0;a=(a||a===0)?a:f-1;for(d=h;d<=a;d++){e+=c[d]}return e},collect:function(j,e,g){var k=this.extractValues(j,e),a=k.length,b={},c=[],h,f,d;for(d=0;d=a;d--){b[b.length]=c[d]}}return b},filter:function(d,c,f,a){var b=[],e;if(Ext.isString(d)){b.push(Ext.create("Ext.util.Filter",{property:d,value:c,anyMatch:f,caseSensitive:a}))}else{if(Ext.isArray(d)||d instanceof Ext.util.Filter){b=b.concat(d)}}e=function(g){var m=true,n=b.length,h;for(h=0;h=e.length||(a&&e.getAutoSort())){return e.add(d,f)}if(typeof d!="undefined"&&d!==null){if(typeof g[d]!="undefined"){e.replace(d,f);return false}g[d]=f}this.all.push(f);if(b&&this.getAutoFilter()&&this.mixins.filterable.isFiltered.call(e,f)){return null}e.length++;Ext.Array.splice(e.items,c,0,f);Ext.Array.splice(e.keys,c,0,d);e.dirtyIndices=true;return f},insertAll:function(g,d){if(g>=this.items.length||(this.sorted&&this.getAutoSort())){return this.addAll(d)}var s=this,h=this.filtered,a=this.sorted,b=this.all,m=this.items,l=this.keys,r=this.map,n=this.getAutoFilter(),o=this.getAutoSort(),t=[],j=[],f=[],c=this.mixins.filterable,e=false,k,u,p,q;if(a&&this.getAutoSort()){}if(Ext.isObject(d)){for(u in d){if(d.hasOwnProperty(u)){j.push(m[u]);t.push(u)}}}else{j=d;k=d.length;for(p=0;p=0){e=a[b];c=f[b];if(typeof c!="undefined"){delete g.map[c]}Ext.Array.erase(a,b,1);Ext.Array.erase(f,b,1);Ext.Array.remove(d,e);delete g.indices[c];g.length--;this.dirtyIndices=true;return e}return false},removeAtKey:function(a){return this.removeAt(this.indexOfKey(a))},getCount:function(){return this.length},indexOf:function(b){if(this.dirtyIndices){this.updateIndices()}var a=this.indices[this.getKey(b)];return(a===undefined)?-1:a},indexOfKey:function(b){if(this.dirtyIndices){this.updateIndices()}var a=this.indices[b];return(a===undefined)?-1:a},updateIndices:function(){var a=this.items,e=a.length,f=this.indices={},c,d,b;for(c=0;c=a;d--){b[b.length]=c[d]}}return b},findIndexBy:function(d,c,h){var g=this,f=g.keys,a=g.items,b=h||0,e=a.length;for(;b1){for(c=a.length;ba){if(d){var e=c.substr(0,a-2),b=Math.max(e.lastIndexOf(" "),e.lastIndexOf("."),e.lastIndexOf("!"),e.lastIndexOf("?"));if(b!=-1&&b>=(a-15)){return e.substr(0,b)+"..."}}return c.substr(0,a-3)+"..."}return c},escapeRegex:function(a){return a.replace(Ext.util.Format.escapeRegexRe,"\\$1")},escape:function(a){return a.replace(Ext.util.Format.escapeRe,"\\$1")},toggle:function(b,c,a){return b==c?a:c},trim:function(a){return a.replace(Ext.util.Format.trimRe,"")},leftPad:function(d,b,c){var a=String(d);c=c||" ";while(a.length/g,">").replace(/").replace(/</g,"<").replace(/"/g,'"').replace(/&/g,"&")},date:function(b,c){var a=b;if(!b){return""}if(!Ext.isDate(b)){a=new Date(Date.parse(b));if(isNaN(a)){if(this.iso8601TestRe.test(b)){a=b.split(this.iso8601SplitRe);a=new Date(a[0],a[1]-1,a[2],a[3],a[4],a[5])}if(isNaN(a)){a=new Date(Date.parse(b.replace(this.dashesRe,"/")))}}b=a}return Ext.Date.format(b,c||Ext.util.Format.defaultDateFormat)}});Ext.define("Ext.Template",{requires:["Ext.dom.Helper","Ext.util.Format"],inheritableStatics:{from:function(b,a){b=Ext.getDom(b);return new this(b.value||b.innerHTML,a||"")}},constructor:function(d){var f=this,b=arguments,a=[],c=0,e=b.length,g;f.initialConfig={};if(e>1){for(;cf)?1:((ba?1:(d0},isExpandable:function(){var a=this;if(a.get("expandable")){return !(a.isLeaf()||(a.isLoaded()&&!a.hasChildNodes()))}return false},appendChild:function(b,j,h){var f=this,c,e,d,g,a;if(Ext.isArray(b)){for(c=0,e=b.length;c0){Ext.Array.sort(d,f);for(c=0;cMath.max(c,b)||jMath.max(a,q)||eMath.max(p,n)||eMath.max(k,h)){return null}return new Ext.util.Point(j,e)},toString:function(){return this.point1.toString()+" "+this.point2.toString()}});Ext.define("Ext.util.SizeMonitor",{extend:"Ext.Evented",config:{element:null,detectorCls:Ext.baseCSSPrefix+"size-change-detector",callback:Ext.emptyFn,scope:null,args:[]},constructor:function(d){this.initConfig(d);this.doFireSizeChangeEvent=Ext.Function.bind(this.doFireSizeChangeEvent,this);var g=this,e=this.getElement().dom,b=this.getDetectorCls(),c=Ext.Element.create({classList:[b,b+"-expand"],children:[{}]},true),h=Ext.Element.create({classList:[b,b+"-shrink"],children:[{}]},true),a=function(i){g.onDetectorScroll("expand",i)},f=function(i){g.onDetectorScroll("shrink",i)};e.appendChild(c);e.appendChild(h);this.detectors={expand:c,shrink:h};this.position={expand:{left:0,top:0},shrink:{left:0,top:0}};this.listeners={expand:a,shrink:f};this.refresh();c.addEventListener("scroll",a,true);h.addEventListener("scroll",f,true)},applyElement:function(a){if(a){return Ext.get(a)}},updateElement:function(a){a.on("destroy","destroy",this)},refreshPosition:function(b){var e=this.detectors[b],a=this.position[b],d,c;a.left=d=e.scrollWidth-e.offsetWidth;a.top=c=e.scrollHeight-e.offsetHeight;e.scrollLeft=d;e.scrollTop=c},refresh:function(){this.refreshPosition("expand");this.refreshPosition("shrink")},onDetectorScroll:function(b){var c=this.detectors[b],a=this.position[b];if(c.scrollLeft!==a.left||c.scrollTop!==a.top){this.refresh();this.fireSizeChangeEvent()}},fireSizeChangeEvent:function(){clearTimeout(this.sizeChangeThrottleTimer);this.sizeChangeThrottleTimer=setTimeout(this.doFireSizeChangeEvent,1)},doFireSizeChangeEvent:function(){this.getCallback().apply(this.getScope(),this.getArgs())},destroyDetector:function(a){var c=this.detectors[a],b=this.listeners[a];c.removeEventListener("scroll",b,true);Ext.removeNode(c)},destroy:function(){this.callParent(arguments);this.destroyDetector("expand");this.destroyDetector("shrink");delete this.listeners;delete this.detectors}});Ext.define("Ext.event.publisher.ComponentSize",{extend:"Ext.event.publisher.Publisher",requires:["Ext.ComponentManager","Ext.util.SizeMonitor"],targetType:"component",handledEvents:["resize"],constructor:function(){this.callParent(arguments);this.sizeMonitors={}},subscribe:function(g){var c=g.match(this.idSelectorRegex),f=this.subscribers,a=this.sizeMonitors,d=this.dispatcher,e=this.targetType,b;if(!c){return false}if(!f.hasOwnProperty(g)){f[g]=0;d.addListener(e,g,"painted","onComponentPainted",this,null,"before");b=Ext.ComponentManager.get(c[1]);a[g]=new Ext.util.SizeMonitor({element:b.element,callback:this.onComponentSizeChange,scope:this,args:[this,g]})}f[g]++;return true},unsubscribe:function(h,b,e){var c=h.match(this.idSelectorRegex),g=this.subscribers,d=this.dispatcher,f=this.targetType,a=this.sizeMonitors;if(!c){return false}if(!g.hasOwnProperty(h)||(!e&&--g[h]>0)){return true}a[h].destroy();delete a[h];d.removeListener(f,h,"painted","onComponentPainted",this,"before");delete g[h];return true},onComponentPainted:function(b){var c=b.getObservableId(),a=this.sizeMonitors[c];a.refresh()},onComponentSizeChange:function(a,b){this.dispatcher.doDispatchEvent(this.targetType,b,"resize",[a])}});Ext.define("Ext.util.Sortable",{isSortable:true,defaultSortDirection:"ASC",requires:["Ext.util.Sorter"],initSortable:function(){var a=this,b=a.sorters;a.sorters=Ext.create("Ext.util.AbstractMixedCollection",false,function(c){return c.id||c.property});if(b){a.sorters.addAll(a.decodeSorters(b))}},sort:function(g,f,c,e){var d=this,h,b,a;if(Ext.isArray(g)){e=c;c=f;a=g}else{if(Ext.isObject(g)){e=c;c=f;a=[g]}else{if(Ext.isString(g)){h=d.sorters.get(g);if(!h){h={property:g,direction:f};a=[h]}else{if(f===undefined){h.toggle()}else{h.setDirection(f)}}}}}if(a&&a.length){a=d.decodeSorters(a);if(Ext.isString(c)){if(c==="prepend"){g=d.sorters.clone().items;d.sorters.clear();d.sorters.addAll(a);d.sorters.addAll(g)}else{d.sorters.addAll(a)}}else{d.sorters.clear();d.sorters.addAll(a)}if(e!==false){d.onBeforeSort(a)}}if(e!==false){g=d.sorters.items;if(g.length){b=function(l,k){var j=g[0].sort(l,k),n=g.length,m;for(m=1;me?1:(f0){g=f.data.items;r=g.length;for(k=0;k0){b.create=e;f=true}if(c.length>0){b.update=c;f=true}if(a.length>0){b.destroy=a;f=true}if(f&&d.fireEvent("beforesync",this,b)!==false){d.getProxy().batch({operations:b,listeners:d.getBatchListeners()})}return{added:e,updated:c,removed:a}},first:function(){return this.data.first()},last:function(){return this.data.last()},sum:function(e){var d=0,c=0,b=this.data.items,a=b.length;for(;c0){c=b[0].get(f)}for(;d0){a=c[0].get(f)}for(;da){a=e}}return a},average:function(e){var c=0,b=this.data.items,a=b.length,d=0;if(b.length>0){for(;ce){return 1}else{if(fa.data.index)?1:-1},applyFilters:function(b){var a=this;return function(c){return a.isVisible(c)}},applyProxy:function(a){},applyNode:function(a){if(a){a=Ext.data.NodeInterface.decorate(a)}return a},updateNode:function(a,c){if(c&&!c.isDestroyed){c.un({append:"onNodeAppend",insert:"onNodeInsert",remove:"onNodeRemove",load:"onNodeLoad",scope:this});c.unjoin(this)}if(a){a.on({scope:this,append:"onNodeAppend",insert:"onNodeInsert",remove:"onNodeRemove",load:"onNodeLoad"});a.join(this);var b=[];if(a.childNodes.length){b=b.concat(this.retrieveChildNodes(a))}if(this.getRootVisible()){b.push(a)}else{if(a.isLoaded()||a.isLoading()){a.set("expanded",true)}}this.data.clear();this.fireEvent("clear",this);this.suspendEvents();this.add(b);this.resumeEvents();this.fireEvent("refresh",this,this.data)}},retrieveChildNodes:function(a){var d=this.getNode(),b=this.getRecursive(),c=[],e=a;if(!a.childNodes.length||(!b&&a!==d)){return c}if(!b){return a.childNodes}while(e){if(e._added){delete e._added;if(e===a){break}else{e=e.nextSibling||e.parentNode}}else{if(e!==a){c.push(e)}if(e.firstChild){e._added=true;e=e.firstChild}else{e=e.nextSibling||e.parentNode}}}return c},isVisible:function(b){var a=b.parentNode;if(!this.getRecursive()&&a!==this.getNode()){return false}while(a){if(!a.isExpanded()){return false}if(a===this.getNode()){break}a=a.parentNode}return true}});Ext.define("Ext.data.TreeStore",{extend:"Ext.data.NodeStore",alias:"store.tree",config:{root:undefined,clearOnLoad:true,nodeParam:"node",defaultRootId:"root",defaultRootProperty:"children",recursive:true},applyProxy:function(){return Ext.data.Store.prototype.applyProxy.apply(this,arguments)},applyRoot:function(a){var b=this;a=a||{};a=Ext.apply({},a);if(!a.isModel){Ext.applyIf(a,{id:b.getStoreId()+"-"+b.getDefaultRootId(),text:"Root",allowDrag:false});a=Ext.data.ModelManager.create(a,b.getModel())}Ext.data.NodeInterface.decorate(a);a.set(a.raw);return a},handleTreeInsertionIndex:function(a,b,d,c){if(b.parentNode){b.parentNode.sort(d.getSortFn(),true,true)}return this.callParent(arguments)},handleTreeSort:function(a,b){if(this._sorting){return a}this._sorting=true;this.getNode().sort(b.getSortFn(),true,true);delete this._sorting;return this.callParent(arguments)},updateRoot:function(a,b){if(b){b.unBefore({expand:"onNodeBeforeExpand",scope:this});b.unjoin(this)}a.onBefore({expand:"onNodeBeforeExpand",scope:this});this.onNodeAppend(null,a);this.setNode(a);if(!a.isLoaded()&&!a.isLoading()&&a.isExpanded()){this.load({node:a})}this.fireEvent("rootchange",this,a,b)},getNodeById:function(a){return this.data.getByKey(a)},onNodeBeforeExpand:function(b,a,c){if(b.isLoading()){c.pause();this.on("load",function(){c.resume()},this,{single:true})}else{if(!b.isLoaded()){c.pause();this.load({node:b,callback:function(){c.resume()}})}}},onNodeAppend:function(n,c){var l=this.getProxy(),j=l.getReader(),b=this.getModel(),g=c.raw,d=[],a=j.getRootProperty(),m,h,f,k,e;if(!c.isLeaf()){m=j.getRoot(g);if(m){h=j.extractData(m);for(f=0,k=h.length;f0){this.sendRequest(b==1?a[0]:a);this.callBuffer=[]}}});Ext.define("Ext.util.TapRepeater",{requires:["Ext.DateExtras"],mixins:{observable:"Ext.mixin.Observable"},config:{el:null,accelerate:true,interval:10,delay:250,preventDefault:true,stopDefault:false,timer:0,pressCls:null},constructor:function(a){var b=this;b.initConfig(a)},updateEl:function(c,b){var a={touchstart:"onTouchStart",touchend:"onTouchEnd",tap:"eventOptions",scope:this};if(b){b.un(a)}c.on(a)},eventOptions:function(a){if(this.getPreventDefault()){a.preventDefault()}if(this.getStopDefault()){a.stopEvent()}},destroy:function(){this.clearListeners();Ext.destroy(this.el)},onTouchStart:function(c){var b=this,a=b.getPressCls();clearTimeout(b.getTimer());if(a){b.getEl().addCls(a)}b.tapStartTime=new Date();b.fireEvent("touchstart",b,c);b.fireEvent("tap",b,c);if(b.getAccelerate()){b.delay=400}b.setTimer(Ext.defer(b.tap,b.getDelay()||b.getInterval(),b,[c]))},tap:function(b){var a=this;a.fireEvent("tap",a,b);a.setTimer(Ext.defer(a.tap,a.getAccelerate()?a.easeOutExpo(Ext.Date.getElapsed(a.tapStartTime),400,-390,12000):a.getInterval(),a,[b]))},easeOutExpo:function(e,a,g,f){return(e==f)?a+g:g*(-Math.pow(2,-10*e/f)+1)+a},onTouchEnd:function(b){var a=this;clearTimeout(a.getTimer());a.getEl().removeCls(a.getPressCls());a.fireEvent("touchend",a,b)}});Ext.define("Ext.util.translatable.Abstract",{extend:"Ext.Evented",requires:["Ext.fx.easing.Linear"],config:{element:null,easing:null,easingX:null,easingY:null,fps:60},constructor:function(a){var b;this.doAnimationFrame=Ext.Function.bind(this.doAnimationFrame,this);this.x=0;this.y=0;this.activeEasingX=null;this.activeEasingY=null;this.initialConfig=a;if(a&&a.element){b=a.element;this.setElement(b)}},applyElement:function(a){if(!a){return}return Ext.get(a)},updateElement:function(a){this.initConfig(this.initialConfig);this.refresh()},factoryEasing:function(a){return Ext.factory(a,Ext.fx.easing.Linear,null,"easing")},applyEasing:function(a){if(!this.getEasingX()){this.setEasingX(this.factoryEasing(a))}if(!this.getEasingY()){this.setEasingY(this.factoryEasing(a))}},applyEasingX:function(a){return this.factoryEasing(a)},applyEasingY:function(a){return this.factoryEasing(a)},updateFps:function(a){this.animationInterval=1000/a},doTranslate:function(a,b){if(typeof a=="number"){this.x=a}if(typeof b=="number"){this.y=b}return this},translate:function(a,c,b){if(!this.getElement().dom){return}if(Ext.isObject(a)){throw new Error()}this.stopAnimation();if(b){return this.translateAnimated(a,c,b)}return this.doTranslate(a,c)},animate:function(b,a){this.activeEasingX=b;this.activeEasingY=a;this.isAnimating=true;this.animationTimer=setInterval(this.doAnimationFrame,this.animationInterval);this.fireEvent("animationstart",this,this.x,this.y);return this},translateAnimated:function(b,g,e){if(Ext.isObject(b)){throw new Error()}if(!Ext.isObject(e)){e={}}var d=Ext.Date.now(),f=e.easing,c=(typeof b=="number")?(e.easingX||this.getEasingX()||f||true):null,a=(typeof g=="number")?(e.easingY||this.getEasingY()||f||true):null;if(c){c=this.factoryEasing(c);c.setStartTime(d);c.setStartValue(this.x);c.setEndValue(b);if("duration" in e){c.setDuration(e.duration)}}if(a){a=this.factoryEasing(a);a.setStartTime(d);a.setStartValue(this.y);a.setEndValue(g);if("duration" in e){a.setDuration(e.duration)}}return this.animate(c,a)},doAnimationFrame:function(){var c=this.activeEasingX,b=this.activeEasingY,d=this.getElement(),a,e;if(!this.isAnimating||!d.dom){return}if(c===null&&b===null){this.stopAnimation();return}if(c!==null){this.x=a=Math.round(c.getValue());if(c.isEnded){this.activeEasingX=null;this.fireEvent("axisanimationend",this,"x",a)}}else{a=this.x}if(b!==null){this.y=e=Math.round(b.getValue());if(b.isEnded){this.activeEasingY=null;this.fireEvent("axisanimationend",this,"y",e)}}else{e=this.y}this.doTranslate(a,e);this.fireEvent("animationframe",this,a,e)},stopAnimation:function(){if(!this.isAnimating){return}this.activeEasingX=null;this.activeEasingY=null;this.isAnimating=false;clearInterval(this.animationTimer);this.fireEvent("animationend",this,this.x,this.y)},refresh:function(){this.translate(this.x,this.y)}});Ext.define("Ext.util.translatable.CssTransform",{extend:"Ext.util.translatable.Abstract",doTranslate:function(a,c){var b=this.getElement().dom.style;if(typeof a!="number"){a=this.x}if(typeof c!="number"){c=this.y}b.webkitTransform="translate3d("+a+"px, "+c+"px, 0px)";return this.callParent(arguments)},destroy:function(){var a=this.getElement();if(a&&!a.isDestroyed){a.dom.style.webkitTransform=null}this.callParent(arguments)}});Ext.define("Ext.util.translatable.ScrollPosition",{extend:"Ext.util.translatable.Abstract",wrapperWidth:0,wrapperHeight:0,baseCls:"x-translatable",config:{useWrapper:true},getWrapper:function(){var e=this.wrapper,c=this.baseCls,b=this.getElement(),d,a;if(!e){a=b.getParent();if(!a){return null}if(this.getUseWrapper()){e=b.wrap({className:c+"-wrapper"},true)}else{e=a.dom}e.appendChild(Ext.Element.create({className:c+"-stretcher"},true));this.nestedStretcher=d=Ext.Element.create({className:c+"-nested-stretcher"},true);b.appendChild(d);b.addCls(c);a.addCls(c+"-container");this.container=a;this.wrapper=e;this.refresh()}return e},doTranslate:function(a,c){var b=this.getWrapper();if(b){if(typeof a=="number"){b.scrollLeft=this.wrapperWidth-a}if(typeof c=="number"){b.scrollTop=this.wrapperHeight-c}}return this.callParent(arguments)},refresh:function(){var a=this.getWrapper();if(a){this.wrapperWidth=a.offsetWidth;this.wrapperHeight=a.offsetHeight;this.callParent(arguments)}},destroy:function(){var b=this.getElement(),a=this.baseCls;if(this.wrapper){if(this.getUseWrapper()){b.unwrap()}this.container.removeCls(a+"-container");b.removeCls(a);b.removeChild(this.nestedStretcher)}this.callParent(arguments)}});Ext.define("Ext.util.Translatable",{requires:["Ext.util.translatable.CssTransform","Ext.util.translatable.ScrollPosition"],constructor:function(a){var c=Ext.util.translatable,e=c.CssTransform,d=c.ScrollPosition,b;if(typeof a=="object"&&"translationMethod" in a){if(a.translationMethod==="scrollposition"){b=d}else{if(a.translationMethod==="csstransform"){b=e}}}if(!b){if(Ext.os.is.Android2||Ext.browser.is.ChromeMobile){b=d}else{b=e}}return new b(a)}});Ext.define("Ext.behavior.Translatable",{extend:"Ext.behavior.Behavior",requires:["Ext.util.Translatable"],constructor:function(){this.listeners={painted:"onComponentPainted",scope:this};this.callParent(arguments)},onComponentPainted:function(){this.translatable.refresh()},setConfig:function(c){var a=this.translatable,b=this.component;if(c){if(!a){this.translatable=a=new Ext.util.Translatable(c);a.setElement(b.renderElement);a.on("destroy","onTranslatableDestroy",this);if(b.isPainted()){this.onComponentPainted(b)}b.on(this.listeners)}else{if(Ext.isObject(c)){a.setConfig(c)}}}else{if(a){a.destroy()}}return this},getTranslatable:function(){return this.translatable},onTranslatableDestroy:function(){var a=this.component;delete this.translatable;a.un(this.listeners)},onComponentDestroy:function(){var a=this.translatable;if(a){a.destroy()}}});Ext.define("Ext.scroll.Scroller",{extend:"Ext.Evented",requires:["Ext.fx.easing.BoundMomentum","Ext.fx.easing.EaseOut","Ext.util.SizeMonitor","Ext.util.Translatable"],config:{element:null,direction:"auto",translationMethod:"auto",fps:"auto",disabled:null,directionLock:false,momentumEasing:{momentum:{acceleration:30,friction:0.5},bounce:{acceleration:30,springTension:0.3},minVelocity:1},bounceEasing:{duration:400},outOfBoundRestrictFactor:0.5,startMomentumResetTime:300,maxAbsoluteVelocity:6,containerSize:"auto",containerScrollSize:"auto",size:"auto",autoRefresh:true,initialOffset:{x:0,y:0},slotSnapSize:{x:0,y:0},slotSnapOffset:{x:0,y:0},slotSnapEasing:{duration:150}},cls:Ext.baseCSSPrefix+"scroll-scroller",containerCls:Ext.baseCSSPrefix+"scroll-container",dragStartTime:0,dragEndTime:0,isDragging:false,isAnimating:false,constructor:function(a){var b=a&&a.element;this.doAnimationFrame=Ext.Function.bind(this.doAnimationFrame,this);this.stopAnimation=Ext.Function.bind(this.stopAnimation,this);this.listeners={scope:this,touchstart:"onTouchStart",touchend:"onTouchEnd",dragstart:"onDragStart",drag:"onDrag",dragend:"onDragEnd"};this.minPosition={x:0,y:0};this.startPosition={x:0,y:0};this.size={x:0,y:0};this.position={x:0,y:0};this.velocity={x:0,y:0};this.isAxisEnabledFlags={x:false,y:false};this.flickStartPosition={x:0,y:0};this.flickStartTime={x:0,y:0};this.lastDragPosition={x:0,y:0};this.dragDirection={x:0,y:0};this.initialConfig=a;if(b){this.setElement(b)}return this},applyElement:function(a){if(!a){return}return Ext.get(a)},updateElement:function(a){this.initialize();a.addCls(this.cls);if(!this.getDisabled()){this.attachListeneners()}this.onConfigUpdate(["containerSize","size"],"refreshMaxPosition");this.on("maxpositionchange","snapToBoundary");this.on("minpositionchange","snapToBoundary");return this},getTranslatable:function(){if(!this.hasOwnProperty("translatable")){var a=this.getBounceEasing();this.translatable=new Ext.util.Translatable({translationMethod:this.getTranslationMethod(),element:this.getElement(),easingX:a.x,easingY:a.y,useWrapper:false,listeners:{animationframe:"onAnimationFrame",animationend:"onAnimationEnd",axisanimationend:"onAxisAnimationEnd",scope:this}})}return this.translatable},updateFps:function(a){if(a!=="auto"){this.getTranslatable().setFps(a)}},attachListeneners:function(){this.getContainer().on(this.listeners)},detachListeners:function(){this.getContainer().un(this.listeners)},updateDisabled:function(a){if(a){this.detachListeners()}else{this.attachListeneners()}},updateInitialOffset:function(c){if(typeof c=="number"){c={x:c,y:c}}var b=this.position,a,d;b.x=a=c.x;b.y=d=c.y;this.getTranslatable().doTranslate(-a,-d)},applyDirection:function(a){var e=this.getMinPosition(),d=this.getMaxPosition(),c,b;this.givenDirection=a;if(a==="auto"){c=d.x>e.x;b=d.y>e.y;if(c&&b){a="both"}else{if(c){a="horizontal"}else{a="vertical"}}}return a},updateDirection:function(b){var a=this.isAxisEnabledFlags;a.x=(b==="both"||b==="horizontal");a.y=(b==="both"||b==="vertical")},isAxisEnabled:function(a){this.getDirection();return this.isAxisEnabledFlags[a]},applyMomentumEasing:function(b){var a=Ext.fx.easing.BoundMomentum;return{x:Ext.factory(b,a),y:Ext.factory(b,a)}},applyBounceEasing:function(b){var a=Ext.fx.easing.EaseOut;return{x:Ext.factory(b,a),y:Ext.factory(b,a)}},applySlotSnapEasing:function(b){var a=Ext.fx.easing.EaseOut;return{x:Ext.factory(b,a),y:Ext.factory(b,a)}},getMinPosition:function(){var a=this.minPosition;if(!a){this.minPosition=a={x:0,y:0};this.fireEvent("minpositionchange",this,a)}return a},getMaxPosition:function(){var c=this.maxPosition,a,b;if(!c){a=this.getSize();b=this.getContainerSize();this.maxPosition=c={x:Math.max(0,a.x-b.x),y:Math.max(0,a.y-b.y)};this.fireEvent("maxpositionchange",this,c)}return c},refreshMaxPosition:function(){this.maxPosition=null;this.getMaxPosition()},applyContainerSize:function(b){var c=this.getContainer().dom,a,d;if(!c){return}this.givenContainerSize=b;if(b==="auto"){a=c.offsetWidth;d=c.offsetHeight}else{a=b.x;d=b.y}return{x:a,y:d}},applySize:function(b){var c=this.getElement().dom,a,d;if(!c){return}this.givenSize=b;if(b==="auto"){a=c.offsetWidth;d=c.offsetHeight}else{a=b.x;d=b.y}return{x:a,y:d}},applyContainerScrollSize:function(b){var c=this.getContainer().dom,a,d;if(!c){return}this.givenContainerScrollSize=b;if(b==="auto"){a=c.scrollWidth;d=c.scrollHeight}else{a=b.x;d=b.y}return{x:a,y:d}},updateAutoRefresh:function(b){var c=Ext.util.SizeMonitor,a;if(b){this.sizeMonitors={element:new c({element:this.getElement(),callback:this.doRefresh,scope:this}),container:new c({element:this.getContainer(),callback:this.doRefresh,scope:this})}}else{a=this.sizeMonitors;if(a){a.element.destroy();a.container.destroy()}}},applySlotSnapSize:function(a){if(typeof a=="number"){return{x:a,y:a}}return a},applySlotSnapOffset:function(a){if(typeof a=="number"){return{x:a,y:a}}return a},getContainer:function(){var a=this.container;if(!a){this.container=a=this.getElement().getParent();a.addCls(this.containerCls)}return a},doRefresh:function(){this.stopAnimation();this.getTranslatable().refresh();this.setSize(this.givenSize);this.setContainerSize(this.givenContainerSize);this.setContainerScrollSize(this.givenContainerScrollSize);this.setDirection(this.givenDirection);this.fireEvent("refresh",this)},refresh:function(){var a=this.sizeMonitors;if(a){a.element.refresh();a.container.refresh()}this.doRefresh();return this},scrollTo:function(c,h,g){var b=this.getTranslatable(),a=this.position,d=false,f,e;if(this.isAxisEnabled("x")){if(typeof c!="number"){c=a.x}else{if(a.x!==c){a.x=c;d=true}}f=-c}if(this.isAxisEnabled("y")){if(typeof h!="number"){h=a.y}else{if(a.y!==h){a.y=h;d=true}}e=-h}if(d){if(g!==undefined){b.translateAnimated(f,e,g)}else{this.fireEvent("scroll",this,a.x,a.y);b.doTranslate(f,e)}}return this},scrollToTop:function(b){var a=this.getInitialOffset();return this.scrollTo(a.x,a.y,b)},scrollToEnd:function(a){return this.scrollTo(0,this.getSize().y-this.getContainerSize().y,a)},scrollBy:function(b,d,c){var a=this.position;b=(typeof b=="number")?b+a.x:null;d=(typeof d=="number")?d+a.y:null;return this.scrollTo(b,d,c)},onTouchStart:function(){this.isTouching=true;this.stopAnimation()},onTouchEnd:function(){var a=this.position;this.isTouching=false;if(!this.isDragging&&this.snapToSlot()){this.fireEvent("scrollstart",this,a.x,a.y)}},onDragStart:function(l){var o=this.getDirection(),g=l.absDeltaX,f=l.absDeltaY,j=this.getDirectionLock(),i=this.startPosition,d=this.flickStartPosition,k=this.flickStartTime,h=this.lastDragPosition,c=this.position,b=this.dragDirection,n=c.x,m=c.y,a=Ext.Date.now();this.isDragging=true;if(j&&o!=="both"){if((o==="horizontal"&&g>f)||(o==="vertical"&&f>g)){l.stopPropagation()}else{this.isDragging=false;return}}h.x=n;h.y=m;d.x=n;d.y=m;i.x=n;i.y=m;k.x=a;k.y=a;b.x=0;b.y=0;this.dragStartTime=a;this.isDragging=true;this.fireEvent("scrollstart",this,n,m)},onAxisDrag:function(i,q){if(!this.isAxisEnabled(i)){return}var h=this.flickStartPosition,l=this.flickStartTime,j=this.lastDragPosition,e=this.dragDirection,g=this.position[i],k=this.getMinPosition()[i],o=this.getMaxPosition()[i],d=this.startPosition[i],p=j[i],n=d-q,c=e[i],m=this.getOutOfBoundRestrictFactor(),f=this.getStartMomentumResetTime(),b=Ext.Date.now(),a;if(no){a=n-o;n=o+a*m}}if(n>p){e[i]=1}else{if(nf){h[i]=g;l[i]=b}j[i]=n},onDrag:function(b){if(!this.isDragging){return}var a=this.lastDragPosition;this.onAxisDrag("x",b.deltaX);this.onAxisDrag("y",b.deltaY);this.scrollTo(a.x,a.y)},onDragEnd:function(c){var b,a;if(!this.isDragging){return}this.dragEndTime=Ext.Date.now();this.onDrag(c);this.isDragging=false;b=this.getAnimationEasing("x");a=this.getAnimationEasing("y");if(b||a){this.getTranslatable().animate(b,a)}else{this.onScrollEnd()}},getAnimationEasing:function(g){if(!this.isAxisEnabled(g)){return null}var e=this.position[g],f=this.flickStartPosition[g],k=this.flickStartTime[g],c=this.getMinPosition()[g],j=this.getMaxPosition()[g],a=this.getMaxAbsoluteVelocity(),d=null,b=this.dragEndTime,l,i,h;if(ej){d=j}}if(d!==null){l=this.getBounceEasing()[g];l.setConfig({startTime:b,startValue:-e,endValue:-d});return l}h=b-k;if(h===0){return null}i=(e-f)/(b-k);if(i===0){return null}if(i<-a){i=-a}else{if(i>a){i=a}}l=this.getMomentumEasing()[g];l.setConfig({startTime:b,startValue:-e,startVelocity:-i,minMomentumValue:-j,maxMomentumValue:0});return l},onAnimationFrame:function(c,b,d){var a=this.position;a.x=-b;a.y=-d;this.fireEvent("scroll",this,a.x,a.y)},onAxisAnimationEnd:function(a){},onAnimationEnd:function(){this.snapToBoundary();this.onScrollEnd()},stopAnimation:function(){this.getTranslatable().stopAnimation()},onScrollEnd:function(){var a=this.position;if(this.isTouching||!this.snapToSlot()){this.fireEvent("scrollend",this,a.x,a.y)}},snapToSlot:function(){var b=this.getSnapPosition("x"),a=this.getSnapPosition("y"),c=this.getSlotSnapEasing();if(b!==null||a!==null){this.scrollTo(b,a,{easingX:c.x,easingY:c.y});return true}return false},getSnapPosition:function(c){var g=this.getSlotSnapSize()[c],d=null,a,f,e,b;if(g!==0&&this.isAxisEnabled(c)){a=this.position[c];f=this.getSlotSnapOffset()[c];e=this.getMaxPosition()[c];b=(a-f)%g;if(b!==0){if(Math.abs(b)>g/2){d=a+((b>0)?g-b:b-g);if(d>e){d=a-b}}else{d=a-b}}}return d},snapToBoundary:function(){var g=this.position,c=this.getMinPosition(),f=this.getMaxPosition(),e=c.x,d=c.y,b=f.x,a=f.y,i=Math.round(g.x),h=Math.round(g.y);if(ib){i=b}}if(ha){h=a}}this.scrollTo(i,h)},destroy:function(){var b=this.getElement(),a=this.sizeMonitors;if(a){a.element.destroy();a.container.destroy()}if(b&&!b.isDestroyed){b.removeCls(this.cls);this.getContainer().removeCls(this.containerCls)}Ext.destroy(this.translatable);this.callParent(arguments)}},function(){});Ext.define("Ext.util.Draggable",{isDraggable:true,mixins:["Ext.mixin.Observable"],requires:["Ext.util.SizeMonitor","Ext.util.Translatable"],config:{cls:Ext.baseCSSPrefix+"draggable",draggingCls:Ext.baseCSSPrefix+"dragging",element:null,constraint:"container",disabled:null,direction:"both",initialOffset:{x:0,y:0},translatable:{}},DIRECTION_BOTH:"both",DIRECTION_VERTICAL:"vertical",DIRECTION_HORIZONTAL:"horizontal",defaultConstraint:{min:{x:-Infinity,y:-Infinity},max:{x:Infinity,y:Infinity}},sizeMonitor:null,containerSizeMonitor:null,constructor:function(a){var b;this.extraConstraint={};this.initialConfig=a;this.offset={x:0,y:0};this.listeners={dragstart:"onDragStart",drag:"onDrag",dragend:"onDragEnd",scope:this};if(a&&a.element){b=a.element;delete a.element;this.setElement(b)}return this},applyElement:function(a){if(!a){return}return Ext.get(a)},updateElement:function(a){a.on(this.listeners);this.sizeMonitor=new Ext.util.SizeMonitor({element:a,callback:this.doRefresh,scope:this});this.initConfig(this.initialConfig)},updateInitialOffset:function(b){if(typeof b=="number"){b={x:b,y:b}}var c=this.offset,a,d;c.x=a=b.x;c.y=d=b.y;this.getTranslatable().doTranslate(a,d)},updateCls:function(a){this.getElement().addCls(a)},applyTranslatable:function(a,b){a=Ext.factory(a,Ext.util.Translatable,b);a.setElement(this.getElement());return a},setExtraConstraint:function(a){this.extraConstraint=a||{};this.refreshConstraint();return this},addExtraConstraint:function(a){Ext.merge(this.extraConstraint,a);this.refreshConstraint();return this},applyConstraint:function(a){this.currentConstraint=a;if(!a){a=this.defaultConstraint}if(a==="container"){return Ext.merge(this.getContainerConstraint(),this.extraConstraint)}return Ext.merge({},this.extraConstraint,a)},updateConstraint:function(){this.refreshOffset()},getContainerConstraint:function(){var b=this.getContainer(),c=this.getElement();if(!b||!c.dom){return this.defaultConstraint}var h=c.dom,g=b.dom,d=h.offsetWidth,a=h.offsetHeight,f=g.offsetWidth,e=g.offsetHeight;return{min:{x:0,y:0},max:{x:f-d,y:e-a}}},getContainer:function(){var a=this.container;if(!a){a=this.getElement().getParent();if(a){this.containerSizeMonitor=new Ext.util.SizeMonitor({element:a,callback:this.doRefresh,scope:this});this.container=a;a.on("destroy","onContainerDestroy",this)}}return a},onContainerDestroy:function(){delete this.container;delete this.containerSizeMonitor},detachListeners:function(){this.getElement().un(this.listeners)},isAxisEnabled:function(a){var b=this.getDirection();if(a==="x"){return(b===this.DIRECTION_BOTH||b===this.DIRECTION_HORIZONTAL)}return(b===this.DIRECTION_BOTH||b===this.DIRECTION_VERTICAL)},onDragStart:function(a){if(this.getDisabled()){return false}var b=this.offset;this.fireAction("dragstart",[this,a,b.x,b.y],this.initDragStart)},initDragStart:function(b,c,a,d){this.dragStartOffset={x:a,y:d};this.isDragging=true;this.getElement().addCls(this.getDraggingCls())},onDrag:function(b){if(!this.isDragging){return}var a=this.dragStartOffset;this.fireAction("drag",[this,b,a.x+b.deltaX,a.y+b.deltaY],this.doDrag)},doDrag:function(b,c,a,d){b.setOffset(a,d)},onDragEnd:function(a){if(!this.isDragging){return}this.onDrag(a);this.isDragging=false;this.getElement().removeCls(this.getDraggingCls());this.fireEvent("dragend",this,a,this.offset.x,this.offset.y)},setOffset:function(i,h,b){var f=this.offset,a=this.getConstraint(),e=a.min,c=a.max,d=Math.min,g=Math.max;if(this.isAxisEnabled("x")&&typeof i=="number"){i=d(g(i,e.x),c.x)}else{i=f.x}if(this.isAxisEnabled("y")&&typeof h=="number"){h=d(g(h,e.y),c.y)}else{h=f.y}f.x=i;f.y=h;this.getTranslatable().translate(i,h,b)},getOffset:function(){return this.offset},refreshConstraint:function(){this.setConstraint(this.currentConstraint)},refreshOffset:function(){var a=this.offset;this.setOffset(a.x,a.y)},doRefresh:function(){this.refreshConstraint();this.getTranslatable().refresh();this.refreshOffset()},refresh:function(){if(this.sizeMonitor){this.sizeMonitor.refresh()}if(this.containerSizeMonitor){this.containerSizeMonitor.refresh()}this.doRefresh()},enable:function(){return this.setDisabled(false)},disable:function(){return this.setDisabled(true)},destroy:function(){var a=this.getTranslatable();Ext.destroy(this.containerSizeMonitor,this.sizeMonitor);delete this.sizeMonitor;delete this.containerSizeMonitor;var b=this.getElement();if(b&&!b.isDestroyed){b.removeCls(this.getCls())}this.detachListeners();if(a){a.destroy()}}},function(){});Ext.define("Ext.behavior.Draggable",{extend:"Ext.behavior.Behavior",requires:["Ext.util.Draggable"],constructor:function(){this.listeners={painted:"onComponentPainted",scope:this};this.callParent(arguments)},onComponentPainted:function(){this.draggable.refresh()},setConfig:function(c){var a=this.draggable,b=this.component;if(c){if(!a){b.setTranslatable(true);this.draggable=a=new Ext.util.Draggable(c);a.setTranslatable(b.getTranslatable());a.setElement(b.renderElement);a.on("destroy","onDraggableDestroy",this);if(b.isPainted()){this.onComponentPainted(b)}b.on(this.listeners)}else{if(Ext.isObject(c)){a.setConfig(c)}}}else{if(a){a.destroy()}}return this},getDraggable:function(){return this.draggable},onDraggableDestroy:function(){var a=this.component;delete this.draggable;a.un(this.listeners)},onComponentDestroy:function(){var a=this.draggable;if(a){a.destroy()}}});(function(a){Ext.define("Ext.Component",{extend:"Ext.AbstractComponent",alternateClassName:"Ext.lib.Component",mixins:["Ext.mixin.Traversable"],requires:["Ext.ComponentManager","Ext.XTemplate","Ext.dom.Element","Ext.behavior.Translatable","Ext.behavior.Draggable"],xtype:"component",observableType:"component",cachedConfig:{baseCls:null,cls:null,floatingCls:null,hiddenCls:a+"item-hidden",ui:null,margin:null,padding:null,border:null,styleHtmlCls:a+"html",styleHtmlContent:null},eventedConfig:{left:null,top:null,right:null,bottom:null,width:null,height:null,minWidth:null,minHeight:null,maxWidth:null,maxHeight:null,docked:null,centered:null,hidden:null,disabled:null},config:{style:null,html:null,draggable:null,translatable:null,renderTo:null,zIndex:null,tpl:null,enterAnimation:null,exitAnimation:null,showAnimation:null,hideAnimation:null,tplWriteMode:"overwrite",data:null,disabledCls:a+"item-disabled",contentEl:null,itemId:undefined,record:null,plugins:null},listenerOptionsRegex:/^(?:delegate|single|delay|buffer|args|prepend|element)$/,alignmentRegex:/^([a-z]+)-([a-z]+)(\?)?$/,isComponent:true,floating:false,rendered:false,dockPositions:{top:true,right:true,bottom:true,left:true},innerElement:null,element:null,template:[],constructor:function(c){var d=this,b=d.config,e;d.onInitializedListeners=[];d.initialConfig=c;if(c!==undefined&&"id" in c){e=c.id}else{if("id" in b){e=b.id}else{e=d.getId()}}d.id=e;d.setId(e);Ext.ComponentManager.register(d);d.initElement();d.initConfig(d.initialConfig);d.initialize();d.triggerInitialized();if(d.config.fullscreen){d.fireEvent("fullscreen",d)}d.fireEvent("initialize",d)},beforeInitConfig:function(b){this.beforeInitialize.apply(this,arguments)},beforeInitialize:Ext.emptyFn,initialize:Ext.emptyFn,getTemplate:function(){return this.template},getElementConfig:function(){return{reference:"element",children:this.getTemplate()}},triggerInitialized:function(){var c=this.onInitializedListeners,d=c.length,e,b;if(!this.initialized){this.initialized=true;if(d>0){for(b=0;b0){c.pressedTimeout=setTimeout(function(){delete c.pressedTimeout;if(a){a.addCls(b)}},d)}else{a.addCls(b)}}},onRelease:function(a){this.fireAction("release",[this,a],"doRelease")},doRelease:function(a,b){if(!a.getDisabled()){if(a.hasOwnProperty("pressedTimeout")){clearTimeout(a.pressedTimeout);delete a.pressedTimeout}else{a.element.removeCls(a.getPressedCls())}}},onTap:function(a){if(this.getDisabled()){return false}this.fireAction("tap",[this,a],"doTap")},doTap:function(c,d){var b=c.getHandler(),a=c.getScope()||c;if(!b){return}if(typeof b=="string"){b=a[b]}d.preventDefault();b.apply(a,arguments)}},function(){});Ext.define("Ext.Decorator",{extend:"Ext.Component",isDecorator:true,config:{component:{}},statics:{generateProxySetter:function(a){return function(c){var b=this.getComponent();b[a].call(b,c);return this}},generateProxyGetter:function(a){return function(){var b=this.getComponent();return b[a].call(b)}}},onClassExtended:function(c,e){if(!e.hasOwnProperty("proxyConfig")){return}var f=Ext.Class,i=e.proxyConfig,d=e.config;e.config=(d)?Ext.applyIf(d,i):i;var b,h,g,a;for(b in i){if(i.hasOwnProperty(b)){h=f.getConfigNameMap(b);g=h.set;a=h.get;e[g]=this.generateProxySetter(g);e[a]=this.generateProxyGetter(a)}}},applyComponent:function(a){return Ext.factory(a,Ext.Component)},updateComponent:function(a,b){if(b){if(this.isRendered()&&b.setRendered(false)){b.fireAction("renderedchange",[this,b,false],"doUnsetComponent",this,{args:[b]})}else{this.doUnsetComponent(b)}}if(a){if(this.isRendered()&&a.setRendered(true)){a.fireAction("renderedchange",[this,a,true],"doSetComponent",this,{args:[a]})}else{this.doSetComponent(a)}}},doUnsetComponent:function(a){if(a.renderElement.dom){this.innerElement.dom.removeChild(a.renderElement.dom)}},doSetComponent:function(a){if(a.renderElement.dom){this.innerElement.dom.appendChild(a.renderElement.dom)}},setRendered:function(b){var a;if(this.callParent(arguments)){a=this.getComponent();if(a){a.setRendered(b)}return true}return false},setDisabled:function(a){this.callParent(arguments);this.getComponent().setDisabled(a)},destroy:function(){Ext.destroy(this.getComponent());this.callParent()}});Ext.define("Ext.Img",{extend:"Ext.Component",xtype:["image","img"],config:{src:null,baseCls:Ext.baseCSSPrefix+"img",mode:"background"},beforeInitialize:function(){var a=this;a.onLoad=Ext.Function.bind(a.onLoad,a);a.onError=Ext.Function.bind(a.onError,a)},initialize:function(){var a=this;a.callParent();a.relayEvents(a.renderElement,"*");a.element.on({tap:"onTap",scope:a})},hide:function(){this.callParent();this.hiddenSrc=this.hiddenSrc||this.getSrc();this.setSrc(null)},show:function(){this.callParent();if(this.hiddenSrc){this.setSrc(this.hiddenSrc);delete this.hiddenSrc}},updateMode:function(a){if(a==="background"){if(this.imageElement){this.imageElement.destroy();delete this.imageElement;this.updateSrc(this.getSrc())}}else{this.imageElement=this.element.createChild({tag:"img"})}},onTap:function(a){this.fireEvent("tap",this,a)},onAfterRender:function(){this.updateSrc(this.getSrc())},updateSrc:function(a){var b=this,c;if(b.getMode()==="background"){c=this.imageObject||new Image()}else{c=b.imageElement.dom}this.imageObject=c;c.setAttribute("src",Ext.isString(a)?a:"");c.addEventListener("load",b.onLoad,false);c.addEventListener("error",b.onError,false)},detachListeners:function(){var a=this.imageObject;if(a){a.removeEventListener("load",this.onLoad,false);a.removeEventListener("error",this.onError,false)}},onLoad:function(a){this.detachListeners();if(this.getMode()==="background"){this.element.dom.style.backgroundImage='url("'+this.imageObject.src+'")'}this.fireEvent("load",this,a)},onError:function(a){this.detachListeners();this.fireEvent("error",this,a)},doSetWidth:function(b){var a=(this.getMode()==="background")?this.element:this.imageElement;a.setWidth(b);this.callParent(arguments)},doSetHeight:function(b){var a=(this.getMode()==="background")?this.element:this.imageElement;a.setHeight(b);this.callParent(arguments)},destroy:function(){this.detachListeners();Ext.destroy(this.imageObject);delete this.imageObject;this.callParent()}});Ext.define("Ext.Label",{extend:"Ext.Component",xtype:"label",config:{}});Ext.define("Ext.Map",{extend:"Ext.Component",xtype:"map",requires:["Ext.util.Geolocation"],isMap:true,config:{baseCls:Ext.baseCSSPrefix+"map",useCurrentLocation:false,map:null,geo:null,mapOptions:{}},constructor:function(){this.callParent(arguments);this.element.setVisibilityMode(Ext.Element.OFFSETS);if(!(window.google||{}).maps){this.setHtml("Google Maps API is required")}},initialize:function(){this.callParent();this.on({painted:"doResize",scope:this});this.element.on("touchstart","onTouchStart",this)},onTouchStart:function(a){a.makeUnpreventable()},applyMapOptions:function(a){return Ext.merge({},this.options,a)},updateMapOptions:function(d){var a=this,c=(window.google||{}).maps,b=this.getMap();if(c&&b){b.setOptions(d)}if(d.center&&!a.isPainted()){a.un("painted","setMapCenter",this);a.on("painted","setMapCenter",this,{delay:150,single:true,args:[d.center]})}},getMapOptions:function(){return Ext.merge({},this.options||this.getInitialConfig("mapOptions"))},updateUseCurrentLocation:function(a){this.setGeo(a);if(!a){this.renderMap()}},applyGeo:function(a){return Ext.factory(a,Ext.util.Geolocation,this.getGeo())},updateGeo:function(b,a){var c={locationupdate:"onGeoUpdate",locationerror:"onGeoError",scope:this};if(a){a.un(c)}if(b){b.on(c);b.updateLocation()}},doResize:function(){var b=(window.google||{}).maps,a=this.getMap();if(b&&a){b.event.trigger(a,"resize")}},renderMap:function(){var d=this,f=(window.google||{}).maps,b=d.element,a=d.getMapOptions(),e=d.getMap(),c;if(f){if(Ext.os.is.iPad){Ext.merge({navigationControlOptions:{style:f.NavigationControlStyle.ZOOM_PAN}},a)}a=Ext.merge({zoom:12,mapTypeId:f.MapTypeId.ROADMAP},a);if(!a.hasOwnProperty("center")){a.center=new f.LatLng(37.381592,-122.135672)}if(b.dom.firstChild){Ext.fly(b.dom.firstChild).destroy()}if(e){f.event.clearInstanceListeners(e)}d.setMap(new f.Map(b.dom,a));e=d.getMap();c=f.event;c.addListener(e,"zoom_changed",Ext.bind(d.onZoomChange,d));c.addListener(e,"maptypeid_changed",Ext.bind(d.onTypeChange,d));c.addListener(e,"center_changed",Ext.bind(d.onCenterChange,d));d.fireEvent("maprender",d,e)}},onGeoUpdate:function(a){if(a){this.setMapCenter(new google.maps.LatLng(a.getLatitude(),a.getLongitude()))}},onGeoError:Ext.emptyFn,setMapCenter:function(d){var a=this,c=a.getMap(),b=(window.google||{}).maps;if(b){if(!a.isPainted()){a.un("painted","setMapCenter",this);a.on("painted","setMapCenter",this,{delay:150,single:true,args:[d]});return}d=d||new b.LatLng(37.381592,-122.135672);if(d&&!(d instanceof b.LatLng)&&"longitude" in d){d=new b.LatLng(d.latitude,d.longitude)}if(!c){a.renderMap();c=a.getMap()}if(c&&d instanceof b.LatLng){c.panTo(d)}else{this.options=Ext.apply(this.getMapOptions(),{center:d})}}},onZoomChange:function(){var a=this.getMapOptions(),c=this.getMap(),b;b=(c&&c.getZoom)?c.getZoom():a.zoom||10;this.options=Ext.apply(a,{zoom:b});this.fireEvent("zoomchange",this,c,b)},onTypeChange:function(){var b=this.getMapOptions(),c=this.getMap(),a;a=(c&&c.getMapTypeId)?c.getMapTypeId():b.mapTypeId;this.options=Ext.apply(b,{mapTypeId:a});this.fireEvent("typechange",this,c,a)},onCenterChange:function(){var b=this.getMapOptions(),c=this.getMap(),a;a=(c&&c.getCenter)?c.getCenter():b.center;this.options=Ext.apply(b,{center:a});this.fireEvent("centerchange",this,c,a)},destroy:function(){Ext.destroy(this.getGeo());var a=this.getMap();if(a&&(window.google||{}).maps){google.maps.event.clearInstanceListeners(a)}this.callParent()}},function(){});Ext.define("Ext.Mask",{extend:"Ext.Component",xtype:"mask",config:{baseCls:Ext.baseCSSPrefix+"mask",transparent:false,top:0,left:0,right:0,bottom:0},initialize:function(){this.callParent();this.on({painted:"onPainted",erased:"onErased"})},onPainted:function(){this.element.on("*","onEvent",this)},onErased:function(){this.element.un("*","onEvent",this)},onEvent:function(b){var a=arguments[arguments.length-1];if(a.info.eventName==="tap"){this.fireEvent("tap",this,b);return false}if(b&&b.stopEvent){b.stopEvent()}return false},updateTransparent:function(a){this[a?"addCls":"removeCls"](this.getBaseCls()+"-transparent")}});Ext.define("Ext.LoadMask",{extend:"Ext.Mask",xtype:"loadmask",config:{message:"Loading...",messageCls:Ext.baseCSSPrefix+"mask-message",indicator:true,listeners:{painted:"onPainted",erased:"onErased"}},getTemplate:function(){var a=Ext.baseCSSPrefix;return[{reference:"innerElement",cls:a+"mask-inner",children:[{reference:"indicatorElement",cls:a+"loading-spinner-outer",children:[{cls:a+"loading-spinner",children:[{tag:"span",cls:a+"loading-top"},{tag:"span",cls:a+"loading-right"},{tag:"span",cls:a+"loading-bottom"},{tag:"span",cls:a+"loading-left"}]}]},{reference:"messageElement"}]}]},updateMessage:function(a){this.messageElement.setHtml(a)},updateMessageCls:function(b,a){this.messageElement.replaceCls(a,b)},updateIndicator:function(a){this[a?"removeCls":"addCls"](Ext.baseCSSPrefix+"indicator-hidden")},onPainted:function(){this.getParent().on({scope:this,resize:this.refreshPosition});this.refreshPosition()},onErased:function(){this.getParent().un({scope:this,resize:this.refreshPosition})},refreshPosition:function(){var c=this.getParent(),d=c.getScrollable(),a=(d)?d.getScroller():null,f=(a)?a.position:{x:0,y:0},e=c.element.getSize(),b=this.element.getSize();this.innerElement.setStyle({marginTop:Math.round(e.height-b.height+(f.y*2))+"px",marginLeft:Math.round(e.width-b.width+f.x)+"px"})}},function(){});Ext.define("Ext.Media",{extend:"Ext.Component",xtype:"media",config:{url:"",enableControls:Ext.os.is.Android?false:true,autoResume:false,autoPause:true,preload:true,loop:false,media:null,volume:1,muted:false},initialize:function(){var a=this;a.callParent();a.on({scope:a,activate:a.onActivate,deactivate:a.onDeactivate});a.addMediaListener({canplay:"onCanPlay",play:"onPlay",pause:"onPause",ended:"onEnd",volumechange:"onVolumeChange",timeupdate:"onTimeUpdate"})},addMediaListener:function(d,b){var c=this,e=c.media.dom,f=Ext.Function.bind;if(!Ext.isObject(d)){var a=d;d={};d[a]=b}Ext.Object.each(d,function(h,g){if(typeof g!=="function"){g=c[g]}if(typeof g=="function"){g=f(g,c);e.addEventListener(h,g)}})},onPlay:function(){this.fireEvent("play",this)},onCanPlay:function(){this.fireEvent("canplay",this)},onPause:function(){this.fireEvent("pause",this,this.getCurrentTime())},onEnd:function(){this.fireEvent("ended",this,this.getCurrentTime())},onVolumeChange:function(){this.fireEvent("volumechange",this,this.media.dom.volume)},onTimeUpdate:function(){this.fireEvent("timeupdate",this,this.getCurrentTime())},isPlaying:function(){return !Boolean(this.media.dom.paused)},onActivate:function(){var a=this;if(a.getAutoResume()&&!a.isPlaying()){a.play()}},onDeactivate:function(){var a=this;if(a.getAutoResume()&&a.isPlaying()){a.pause()}},updateUrl:function(a){var b=this.media.dom;b.src=a;if("load" in b){b.load()}if(this.isPlaying()){this.play()}},updateEnableControls:function(a){this.media.dom.controls=a?"controls":false},updateLoop:function(a){this.media.dom.loop=a?"loop":false},play:function(){var a=this.media.dom;if("play" in a){a.play();setTimeout(function(){a.play()},10)}},pause:function(){var a=this.media.dom;if("pause" in a){a.pause()}},toggle:function(){if(this.isPlaying()){this.pause()}else{this.play()}},stop:function(){var a=this;a.setCurrentTime(0);a.fireEvent("stop",a);a.pause()},updateVolume:function(a){this.media.dom.volume=a},updateMuted:function(a){this.fireEvent("mutedchange",this,a);this.media.dom.muted=a},getCurrentTime:function(){return this.media.dom.currentTime},setCurrentTime:function(a){this.media.dom.currentTime=a;return a},getDuration:function(){return this.media.dom.duration},destroy:function(){var a=this;Ext.Object.each(event,function(c,b){if(typeof b!=="function"){b=a[b]}if(typeof b=="function"){b=bind(b,a);dom.removeEventListener(c,b)}})}});Ext.define("Ext.Audio",{extend:"Ext.Media",xtype:"audio",config:{cls:Ext.baseCSSPrefix+"audio"},onActivate:function(){var a=this;a.callParent();if(Ext.os.is.Phone){a.element.show()}},onDeactivate:function(){var a=this;a.callParent();if(Ext.os.is.Phone){a.element.hide()}},template:[{reference:"media",preload:"auto",tag:"audio",cls:Ext.baseCSSPrefix+"component"}]});Ext.define("Ext.Spacer",{extend:"Ext.Component",alias:"widget.spacer",config:{},constructor:function(a){a=a||{};if(!a.width){a.flex=1}this.callParent([a])}});Ext.define("Ext.Title",{extend:"Ext.Component",xtype:"title",config:{baseCls:"x-title",title:""},updateTitle:function(a){this.setHtml(a)}});Ext.define("Ext.Video",{extend:"Ext.Media",xtype:"video",config:{posterUrl:null,cls:Ext.baseCSSPrefix+"video"},template:[{reference:"ghost",classList:[Ext.baseCSSPrefix+"video-ghost"]},{tag:"video",reference:"media",classList:[Ext.baseCSSPrefix+"media"]}],initialize:function(){var a=this;a.callParent();a.media.hide();a.onBefore({erased:"onErased",scope:a});a.ghost.on({tap:"onGhostTap",scope:a});a.media.on({pause:"onPause",scope:a});if(Ext.os.is.Android4||Ext.os.is.iPad){this.isInlineVideo=true}},applyUrl:function(a){return[].concat(a)},updateUrl:function(f){var c=this,e=c.media,g=f.length,d=e.query("source"),b=d.length,a;for(a=0;a0){a.pop().destroy()}},setActiveIndex:function(b){var e=this.indicators,d=this.activeIndex,a=e[d],f=e[b],c=this.getBaseCls();if(a){a.removeCls(c,null,"active")}if(f){f.addCls(c,null,"active")}this.activeIndex=b;return this},onTap:function(f){var g=f.touch,a=this.element.getPageBox(),d=a.left+(a.width/2),b=a.top+(a.height/2),c=this.getDirection();if((c==="horizontal"&&g.pageX>=d)||(c==="vertical"&&g.pageY>=b)){this.fireEvent("next",this)}else{this.fireEvent("previous",this)}},destroy:function(){var d=this.indicators,b,c,a;for(b=0,c=d.length;bd.bottom||a.yd.right||a.x div",scope:this})},initialize:function(){this.callParent();this.doInitialize()},updateBaseCls:function(a,b){var c=this;c.callParent([a+"-container",b])},onItemTouchStart:function(d){var b=this,c=d.getTarget(),a=b.getViewItems().indexOf(c);Ext.get(c).on({touchmove:"onItemTouchMove",scope:b,single:true});b.fireEvent("itemtouchstart",b,Ext.get(c),a,d)},onItemTouchEnd:function(d){var b=this,c=d.getTarget(),a=b.getViewItems().indexOf(c);Ext.get(c).un({touchmove:"onItemTouchMove",scope:b});b.fireEvent("itemtouchend",b,Ext.get(c),a,d)},onItemTouchMove:function(d){var b=this,c=d.getTarget(),a=b.getViewItems().indexOf(c);b.fireEvent("itemtouchmove",b,Ext.get(c),a,d)},onItemTap:function(d){var b=this,c=d.getTarget(),a=b.getViewItems().indexOf(c);b.fireEvent("itemtap",b,Ext.get(c),a,d)},onItemTapHold:function(d){var b=this,c=d.getTarget(),a=b.getViewItems().indexOf(c);b.fireEvent("itemtaphold",b,Ext.get(c),a,d)},onItemDoubleTap:function(d){var b=this,c=d.getTarget(),a=b.getViewItems().indexOf(c);b.fireEvent("itemdoubletap",b,Ext.get(c),a,d)},onItemSingleTap:function(d){var b=this,c=d.getTarget(),a=b.getViewItems().indexOf(c);b.fireEvent("itemsingletap",b,Ext.get(c),a,d)},onItemSwipe:function(d){var b=this,c=d.getTarget(),a=b.getViewItems().indexOf(c);b.fireEvent("itemswipe",b,Ext.get(c),a,d)},updateListItem:function(b,d){var c=this,a=c.dataview,e=a.prepareData(b.getData(true),a.getStore().indexOf(b),b);d.innerHTML=c.dataview.getItemTpl().apply(e)},addListItem:function(e,c){var h=this,d=h.dataview,a=d.prepareData(c.getData(true),d.getStore().indexOf(c),c),b=h.element,i=b.dom.childNodes,g=i.length,f;f=Ext.Element.create(this.getItemElementConfig(e,a));if(!g||e==g){f.appendTo(b)}else{f.insertBefore(i[e])}},getItemElementConfig:function(c,e){var b=this.dataview,d=b.getItemCls(),a=b.getBaseCls()+"-item";if(d){a+=" "+d}return{cls:a,html:b.getItemTpl().apply(e)}},doRemoveItemCls:function(a){var d=this.getViewItems(),c=d.length,b=0;for(;b=0;b--){c=a[f+b];c.parentNode.removeChild(c)}if(d.getViewItems().length==0){this.dataview.showEmptyText()}},moveItemsFromCache:function(d){var g=this,b=g.dataview,c=b.getStore(),f=d.length,e,a;if(f){b.hideEmptyText()}for(e=0;eh._tmpIndex?1:-1});for(e=0;e(?:[\s]*)|(?:\s*))([\w\-]+)$/i,handledEvents:["*"],getSubscribers:function(b,a){var d=this.subscribers,c=d[b];if(!c&&a){c=d[b]={type:{$length:0},selector:[],$length:0}}return c},subscribe:function(g,f){if(this.idSelectorRegex.test(g)){return false}var e=g.match(this.optimizedSelectorRegex),a=this.getSubscribers(f,true),k=a.type,c=a.selector,d,i,j,b,h;if(e!==null){d=e[1];i=e[2].indexOf(">")===-1;j=e[3];b=k[j];if(!b){k[j]=b={descendents:{$length:0},children:{$length:0},$length:0}}h=i?b.descendents:b.children;if(h.hasOwnProperty(d)){h[d]++;return true}h[d]=1;h.$length++;b.$length++;k.$length++}else{if(c.hasOwnProperty(g)){c[g]++;return true}c[g]=1;c.push(g)}a.$length++;return true},unsubscribe:function(g,f,k){var a=this.getSubscribers(f);if(!a){return false}var e=g.match(this.optimizedSelectorRegex),l=a.type,c=a.selector,d,i,j,b,h;k=Boolean(k);if(e!==null){d=e[1];i=e[2].indexOf(">")===-1;j=e[3];b=l[j];if(!b){return true}h=i?b.descendents:b.children;if(!h.hasOwnProperty(d)||(!k&&--h[d]>0)){return true}delete h[d];h.$length--;b.$length--;l.$length--}else{if(!c.hasOwnProperty(g)||(!k&&--c[g]>0)){return true}delete c[g];Ext.Array.remove(c,g)}if(--a.$length===0){delete this.subscribers[f]}return true},notify:function(d,a){var c=this.getSubscribers(a),e,b;if(!c||c.$length===0){return false}e=d.substr(1);b=Ext.ComponentManager.get(e);if(b){this.dispatcher.doAddListener(this.targetType,d,a,"publish",this,{args:[a,b]},"before")}},matchesSelector:function(b,a){return Ext.ComponentQuery.is(b,a)},dispatch:function(d,b,c,a){this.dispatcher.doDispatchEvent(this.targetType,d,b,c,null,a)},publish:function(g,k){var e=this.getSubscribers(g);if(!e){return}var p=arguments[arguments.length-1],o=e.type,b=e.selector,d=Array.prototype.slice.call(arguments,2,-2),l=k.xtypesChain,s,n,t,a,m,v,r,u,h,f,q,c;for(u=0,h=l.length;u0){s=e.descendents;if(s.$length>0){if(!a){a=k.getAncestorIds()}for(q=0,c=a.length;q0){if(!t){if(a){t=a[0]}else{v=k.getParent();if(v){t=v.getId()}}}if(t){if(n.hasOwnProperty(t)){this.dispatch("#"+t+" > "+f,g,d,p)}}}}}h=b.length;if(h>0){for(u=0;uf){d=e}}c.setValue(d);d=c.getValue();c.fireEvent("spin",c,d,g);c.fireEvent("spin"+g,c,d)},doSetDisabled:function(a){Ext.Component.prototype.doSetDisabled.apply(this,arguments)},setDisabled:function(){Ext.Component.prototype.setDisabled.apply(this,arguments)},reset:function(){this.setValue(this.getDefaultValue())},destroy:function(){var a=this;Ext.destroy(a.downRepeater,a.upRepeater,a.spinDownButton,a.spinUpButton);a.callParent(arguments)}},function(){});Ext.define("Ext.field.TextAreaInput",{extend:"Ext.field.Input",xtype:"textareainput",tag:"textarea"});Ext.define("Ext.field.TextArea",{extend:"Ext.field.Text",xtype:"textareafield",requires:["Ext.field.TextAreaInput"],alternateClassName:"Ext.form.TextArea",config:{ui:"textarea",autoCapitalize:false,component:{xtype:"textareainput"},maxRows:null},updateMaxRows:function(a){this.getComponent().setMaxRows(a)},doSetHeight:function(a){this.callParent(arguments);var b=this.getComponent();b.input.setHeight(a)},doSetWidth:function(b){this.callParent(arguments);var a=this.getComponent();a.input.setWidth(b)},doKeyUp:function(a){var b=a.getValue();a[b?"showClearIcon":"hideClearIcon"]()}});Ext.define("Ext.field.Url",{extend:"Ext.field.Text",xtype:"urlfield",alternateClassName:"Ext.form.Url",config:{autoCapitalize:false,component:{type:"url"}}});Ext.define("Ext.plugin.ListPaging",{extend:"Ext.Component",alias:"plugin.listpaging",config:{autoPaging:false,loadMoreText:"Load More...",noMoreRecordsText:"No More Records",loadTpl:['
','','','','',"
",'
{message}
'].join(""),loadMoreCmp:{xtype:"component",baseCls:Ext.baseCSSPrefix+"list-paging"},loadMoreCmpAdded:false,loadingCls:Ext.baseCSSPrefix+"loading",list:null,scroller:null,loading:false},init:function(c){var a=c.getScrollable().getScroller(),b=c.getStore();this.setList(c);this.setScroller(a);this.bindStore(c.getStore());if(b){this.disableDataViewMask(b)}c.updateStore=Ext.Function.createInterceptor(c.updateStore,this.bindStore,this);if(this.getAutoPaging()){a.on({scrollend:this.onScrollEnd,scope:this})}},bindStore:function(a,b){if(b){b.un({load:this.onStoreLoad,beforeload:this.onStoreBeforeLoad,scope:this})}if(a){a.on({load:this.onStoreLoad,beforeload:this.onStoreBeforeLoad,scope:this})}},disableDataViewMask:function(a){var b=this.getList();if(a.isAutoLoading()){b.setLoadingText(null)}else{a.on({load:{single:true,fn:function(){b.setLoadingText(null)}}})}},applyLoadTpl:function(a){return(Ext.isObject(a)&&a.isTemplate)?a:new Ext.XTemplate(a)},applyLoadMoreCmp:function(a){a=Ext.merge(a,{html:this.getLoadTpl().apply({cssPrefix:Ext.baseCSSPrefix,message:this.getLoadMoreText()}),listeners:{tap:{fn:this.loadNextPage,scope:this,element:"element"}}});return Ext.factory(a,Ext.Component,this.getLoadMoreCmp())},onScrollEnd:function(b,a,c){if(!this.getLoading()&&c>=b.maxPosition.y){this.loadNextPage()}},updateLoading:function(a){var b=this.getLoadMoreCmp(),c=this.getLoadingCls();if(a){b.addCls(c)}else{b.removeCls(c)}},onStoreBeforeLoad:function(a){if(a.getCount()===0){this.getLoadMoreCmp().hide()}},onStoreLoad:function(a){var d=this.addLoadMoreCmp(),b=this.getLoadTpl(),c=this.storeFullyLoaded()?this.getNoMoreRecordsText():this.getLoadMoreText();this.getLoadMoreCmp().show();this.setLoading(false);if(this.scrollY){this.getScroller().scrollTo(null,this.scrollY);delete this.scrollY}d.setHtml(b.apply({cssPrefix:Ext.baseCSSPrefix,message:c}))},addLoadMoreCmp:function(){var b=this.getList(),a=this.getLoadMoreCmp();if(!this.getLoadMoreCmpAdded()){b.add(a);b.fireEvent("loadmorecmpadded",this,b);this.setLoadMoreCmpAdded(true)}return a},storeFullyLoaded:function(){var a=this.getList().getStore(),b=a.getTotalCount();return b!==null?a.getTotalCount()<=(a.currentPage*a.getPageSize()):false},loadNextPage:function(){var a=this;if(!a.storeFullyLoaded()){a.setLoading(true);a.scrollY=a.getScroller().position.y;a.getList().getStore().nextPage({addRecords:true})}}});Ext.define("Ext.plugin.PullRefresh",{extend:"Ext.Component",alias:"plugin.pullrefresh",requires:["Ext.DateExtras"],config:{list:null,pullRefreshText:"Pull down to refresh...",releaseRefreshText:"Release to refresh...",loadingText:"Loading...",snappingAnimationDuration:150,refreshFn:null,pullTpl:['
','
','
','','','','',"
",'
','

{message}

','
Last Updated: {lastUpdated:date("m/d/Y h:iA")}
',"
","
"].join("")},isRefreshing:false,currentViewState:"",initialize:function(){this.callParent();this.on({painted:"onPainted",scope:this})},init:function(f){var d=this,b=f.getStore(),e=d.getPullTpl(),c=d.element,a=f.getScrollable().getScroller();d.setList(f);d.lastUpdated=new Date();f.insert(0,d);if(b){if(b.isAutoLoading()){f.setLoadingText(null)}else{b.on({load:{single:true,fn:function(){f.setLoadingText(null)}}})}}e.overwrite(c,{message:d.getPullRefreshText(),lastUpdated:d.lastUpdated},true);d.loadingElement=c.getFirstChild();d.messageEl=c.down(".x-list-pullrefresh-message");d.updatedEl=c.down(".x-list-pullrefresh-updated > span");d.maxScroller=a.getMaxPosition();a.on({maxpositionchange:d.setMaxScroller,scroll:d.onScrollChange,scope:d})},fetchLatest:function(){var b=this.getList().getStore(),c=b.getProxy(),a;a=Ext.create("Ext.data.Operation",{page:1,start:0,model:b.getModel(),limit:b.getPageSize(),action:"read",filters:b.getRemoteFilter()?b.getFilters():[]});c.read(a,this.onLatestFetched,this)},onLatestFetched:function(d){var j=this.getList().getStore(),b=j.getData(),c=d.getRecords(),a=c.length,g=[],h,f,e;for(e=0;ethis.maxScroller.y){this.onBounceBottom(c)}},applyPullTpl:function(a){return(Ext.isObject(a)&&a.isTemplate)?a:new Ext.XTemplate(a)},onBounceTop:function(d){var b=this,c=b.getList(),a=c.getScrollable().getScroller();if(!b.isReleased){if(!b.isRefreshing&&-d>=b.pullHeight+10){b.isRefreshing=true;b.setViewState("release");a.getContainer().onBefore({dragend:"onScrollerDragEnd",single:true,scope:b})}else{if(b.isRefreshing&&-d=1){a=Math.round((f-1)*b);e=this.applyLength(d-a);a=d-e;this.updateLength(e);g=c+a}else{g=c*f}}this.setOffset(g)},setOffset:function(c){var a=this.getAxis(),b=this.element.dom.style;c=Math.round(c);if(a==="x"){b.webkitTransform="translate3d("+c+"px, 0, 0)"}else{b.webkitTransform="translate3d(0, "+c+"px, 0)"}}});Ext.define("Ext.scroll.indicator.Default",{extend:"Ext.scroll.indicator.Abstract",config:{cls:"default"},setOffset:function(c){var b=this.getAxis(),a=this.element.dom.style;if(b==="x"){a.webkitTransform="translate3d("+c+"px, 0, 0)"}else{a.webkitTransform="translate3d(0, "+c+"px, 0)"}},applyLength:function(a){return Math.round(Math.max(0,a))},updateValue:function(f){var b=this.barLength,c=this.gapLength,d=this.getLength(),e,g,a;if(f<=0){g=0;this.updateLength(this.applyLength(d+f*b))}else{if(f>=1){a=Math.round((f-1)*b);e=this.applyLength(d-a);a=d-e;this.updateLength(e);g=c+a}else{g=c*f}}this.setOffset(g)}});Ext.define("Ext.scroll.indicator.ScrollPosition",{extend:"Ext.scroll.indicator.Abstract",config:{cls:"scrollposition"},getElementConfig:function(){var a=this.callParent(arguments);a.children.unshift({className:"x-scroll-bar-stretcher"});return a},updateValue:function(a){if(this.gapLength===0){if(a>1){a=a-1}this.setOffset(this.barLength*a)}else{this.setOffset(this.gapLength*a)}},setLength:function(e){var c=this.getAxis(),a=this.barLength,d=this.barElement.dom,b=this.element;this.callParent(arguments);if(c==="x"){d.scrollLeft=a;b.setLeft(a)}else{d.scrollTop=a;b.setTop(a)}},setOffset:function(d){var b=this.getAxis(),a=this.barLength,c=this.barElement.dom;d=a-d;if(b==="x"){c.scrollLeft=d}else{c.scrollTop=d}}});Ext.define("Ext.scroll.Indicator",{requires:["Ext.scroll.indicator.Default","Ext.scroll.indicator.ScrollPosition","Ext.scroll.indicator.CssTransform"],alternateClassName:"Ext.util.Indicator",constructor:function(a){if(Ext.os.is.Android2||Ext.browser.is.ChromeMobile){return new Ext.scroll.indicator.ScrollPosition(a)}else{if(Ext.os.is.iOS){return new Ext.scroll.indicator.CssTransform(a)}else{return new Ext.scroll.indicator.Default(a)}}}});Ext.define("Ext.scroll.View",{extend:"Ext.Evented",alternateClassName:"Ext.util.ScrollView",requires:["Ext.scroll.Scroller","Ext.scroll.Indicator"],config:{indicatorsUi:"dark",element:null,scroller:{},indicators:{x:{axis:"x"},y:{axis:"y"}},indicatorsHidingDelay:100,cls:Ext.baseCSSPrefix+"scroll-view"},processConfig:function(c){if(!c){return null}if(typeof c=="string"){c={direction:c}}c=Ext.merge({},c);var a=c.scroller,b;if(!a){c.scroller=a={}}for(b in c){if(c.hasOwnProperty(b)){if(!this.hasConfig(b)){a[b]=c[b];delete c[b]}}}return c},constructor:function(a){a=this.processConfig(a);this.useIndicators={x:true,y:true};this.doHideIndicators=Ext.Function.bind(this.doHideIndicators,this);this.initConfig(a)},setConfig:function(a){return this.callParent([this.processConfig(a)])},updateIndicatorsUi:function(a){var b=this.getIndicators();b.x.setUi(a);b.y.setUi(a)},applyScroller:function(a,b){return Ext.factory(a,Ext.scroll.Scroller,b)},applyIndicators:function(b,d){var a=Ext.scroll.Indicator,c=this.useIndicators;if(!b){b={}}if(!b.x){c.x=false;b.x={}}if(!b.y){c.y=false;b.y={}}return{x:Ext.factory(b.x,a,d&&d.x),y:Ext.factory(b.y,a,d&&d.y)}},updateIndicators:function(a){this.indicatorsGrid=Ext.Element.create({className:"x-scroll-bar-grid-wrapper",children:[{className:"x-scroll-bar-grid",children:[{children:[{},{children:[a.y.barElement]}]},{children:[{children:[a.x.barElement]},{}]}]}]})},updateScroller:function(a){a.on({scope:this,scrollstart:"onScrollStart",scroll:"onScroll",scrollend:"onScrollEnd",refresh:"refreshIndicators"})},isAxisEnabled:function(a){return this.getScroller().isAxisEnabled(a)&&this.useIndicators[a]},applyElement:function(a){if(a){return Ext.get(a)}},updateElement:function(c){var b=c.getFirstChild().getFirstChild(),a=this.getScroller();c.addCls(this.getCls());c.insertFirst(this.indicatorsGrid);a.setElement(b);this.refreshIndicators();return this},showIndicators:function(){var a=this.getIndicators();if(this.hasOwnProperty("indicatorsHidingTimer")){clearTimeout(this.indicatorsHidingTimer);delete this.indicatorsHidingTimer}if(this.isAxisEnabled("x")){a.x.show()}if(this.isAxisEnabled("y")){a.y.show()}},hideIndicators:function(){var a=this.getIndicatorsHidingDelay();if(a>0){this.indicatorsHidingTimer=setTimeout(this.doHideIndicators,a)}else{this.doHideIndicators()}},doHideIndicators:function(){var a=this.getIndicators();if(this.isAxisEnabled("x")){a.x.hide()}if(this.isAxisEnabled("y")){a.y.hide()}},onScrollStart:function(){this.onScroll.apply(this,arguments);this.showIndicators()},onScrollEnd:function(){this.hideIndicators()},onScroll:function(b,a,c){this.setIndicatorValue("x",a);this.setIndicatorValue("y",c)},setIndicatorValue:function(b,f){if(!this.isAxisEnabled(b)){return this}var a=this.getScroller(),c=a.getMaxPosition()[b],e=a.getContainerSize()[b],d;if(c===0){d=f/e;if(f>=0){d+=1}}else{if(f>c){d=1+((f-c)/e)}else{if(f<0){d=f/e}else{d=f/c}}}this.getIndicators()[b].setValue(d)},refreshIndicator:function(d){if(!this.isAxisEnabled(d)){return this}var a=this.getScroller(),b=this.getIndicators()[d],e=a.getContainerSize()[d],f=a.getSize()[d],c=e/f;b.setRatio(c);b.refresh()},refresh:function(){return this.getScroller().refresh()},refreshIndicators:function(){var a=this.getIndicators();a.x.setActive(this.isAxisEnabled("x"));a.y.setActive(this.isAxisEnabled("y"));this.refreshIndicator("x");this.refreshIndicator("y")},destroy:function(){var a=this.getElement(),b=this.getIndicators();if(a&&!a.isDestroyed){a.removeCls(this.getCls())}b.x.destroy();b.y.destroy();Ext.destroy(this.getScroller(),this.indicatorsGrid);delete this.indicatorsGrid;this.callParent(arguments)}});Ext.define("Ext.behavior.Scrollable",{extend:"Ext.behavior.Behavior",requires:["Ext.scroll.View"],constructor:function(){this.listeners={painted:"onComponentPainted",scope:this};this.callParent(arguments)},onComponentPainted:function(){this.scrollView.refresh()},setConfig:function(d){var b=this.scrollView,c=this.component,e,a;if(d){if(!b){this.scrollView=b=new Ext.scroll.View(d);b.on("destroy","onScrollViewDestroy",this);c.setUseBodyElement(true);this.scrollerElement=a=c.innerElement;this.scrollContainer=a.wrap();this.scrollViewElement=e=c.bodyElement;b.setElement(e);if(c.isPainted()){this.onComponentPainted(c)}c.on(this.listeners)}else{if(Ext.isString(d)||Ext.isObject(d)){b.setConfig(d)}}}else{if(b){b.destroy()}}return this},getScrollView:function(){return this.scrollView},onScrollViewDestroy:function(){var b=this.component,a=this.scrollerElement;if(!a.isDestroyed){this.scrollerElement.unwrap()}this.scrollContainer.destroy();b.un(this.listeners);delete this.scrollerElement;delete this.scrollView;delete this.scrollContainer},onComponentDestroy:function(){var a=this.scrollView;if(a){a.destroy()}}});Ext.define("Ext.Container",{extend:"Ext.Component",alternateClassName:"Ext.lib.Container",requires:["Ext.layout.Layout","Ext.ItemCollection","Ext.behavior.Scrollable","Ext.Mask"],xtype:"container",eventedConfig:{activeItem:0},config:{layout:null,control:{},defaults:null,items:null,autoDestroy:true,defaultType:null,scrollable:null,useBodyElement:null,masked:null,modal:null,hideOnMaskTap:null},isContainer:true,delegateListeners:{delegate:"> component",centeredchange:"onItemCenteredChange",dockedchange:"onItemDockedChange",floatingchange:"onItemFloatingChange"},constructor:function(a){var b=this;b._items=b.items=new Ext.ItemCollection();b.innerItems=[];b.onItemAdd=b.onFirstItemAdd;b.callParent(arguments)},getElementConfig:function(){return{reference:"element",className:"x-container",children:[{reference:"innerElement",className:"x-inner"}]}},applyMasked:function(a,b){b=Ext.factory(a,Ext.Mask,b);if(b){this.add(b)}return b},mask:function(a){this.setMasked(a||true)},unmask:function(){this.setMasked(false)},applyModal:function(a,b){if(!a&&!b){return}return Ext.factory(a,Ext.Mask,b)},updateModal:function(c,a){var b={painted:"refreshModalMask",erased:"destroyModalMask"};if(c){this.on(b);c.on("destroy","onModalDestroy",this);if(this.getTop()===null&&this.getBottom()===null&&this.getRight()===null&&this.getLeft()===null&&!this.getCentered()){this.setTop(0);this.setLeft(0)}if(this.isPainted()){this.refreshModalMask()}}else{if(a){a.un("destroy","onModalDestroy",this);this.un(b)}}},onModalDestroy:function(){this.setModal(null)},refreshModalMask:function(){var b=this.getModal(),a=this.getParent();if(!this.painted){this.painted=true;if(b){a.insertBefore(b,this);b.setZIndex(this.getZIndex()-1);if(this.getHideOnMaskTap()){b.on("tap","hide",this,{single:true})}}}},destroyModalMask:function(){var b=this.getModal(),a=this.getParent();if(this.painted){this.painted=false;if(b){b.un("tap","hide",this);a.remove(b,false)}}},updateZIndex:function(b){var a=this.getModal();this.callParent(arguments);if(a){a.setZIndex(b-1)}},updateBaseCls:function(a,b){var c=this,d=c.getUi();if(a){this.element.addCls(a);this.innerElement.addCls(a,null,"inner");if(d){this.element.addCls(a,null,d)}}if(b){this.element.removeCls(b);this.innerElement.removeCls(a,null,"inner");if(d){this.element.removeCls(b,null,d)}}},updateUseBodyElement:function(a){if(a){this.bodyElement=this.innerElement.wrap({cls:"x-body"});this.referenceList.push("bodyElement")}},applyItems:function(a,b){if(a){this.getDefaultType();this.getDefaults();if(this.initialized&&b.length>0){this.removeAll()}this.add(a)}},applyControl:function(c){var a,b,e,d;for(a in c){d=c[a];for(b in d){e=d[b];if(Ext.isObject(e)){e.delegate=a}}d.delegate=a;this.addListener(d)}return c},onFirstItemAdd:function(){delete this.onItemAdd;this.setLayout(new Ext.layout.Layout(this,this.getLayout()||"default"));if(this.innerHtmlElement&&!this.getHtml()){this.innerHtmlElement.destroy();delete this.innerHtmlElement}this.on(this.delegateListeners);return this.onItemAdd.apply(this,arguments)},updateDefaultType:function(a){this.defaultItemClass=Ext.ClassManager.getByAlias("widget."+a)},applyDefaults:function(a){if(a){this.factoryItem=this.factoryItemWithDefaults;return a}},factoryItem:function(a){return Ext.factory(a,this.defaultItemClass)},factoryItemWithDefaults:function(c){var b=this,d=b.getDefaults(),a;if(!d){return Ext.factory(c,b.defaultItemClass)}if(c.isComponent){a=c;if(d&&c.isInnerItem()&&!b.has(a)){a.setConfig(d,true)}}else{if(d&&!c.ignoreDefaults){if(!(c.hasOwnProperty("left")&&c.hasOwnProperty("right")&&c.hasOwnProperty("top")&&c.hasOwnProperty("bottom")&&c.hasOwnProperty("docked")&&c.hasOwnProperty("centered"))){c=Ext.mergeIf({},c,d)}}a=Ext.factory(c,b.defaultItemClass)}return a},add:function(a){var e=this,b,d,c,f;a=Ext.Array.from(a);d=a.length;for(b=0;b0&&c.isInnerItem()){f=c}}if(f){this.setActiveItem(f)}return c},doAdd:function(d){var c=this,a=c.getItems(),b;if(!a.has(d)){b=a.length;a.add(d);if(d.isInnerItem()){c.insertInner(d)}d.setParent(c);c.onItemAdd(d,b)}},remove:function(d,b){var c=this,a=c.indexOf(d),e=c.getInnerItems();if(b===undefined){b=c.getAutoDestroy()}if(a!==-1){if(!c.removingAll&&e.length>1&&d===c.getActiveItem()){c.on({activeitemchange:"doRemove",scope:c,single:true,order:"after",args:[d,a,b]});c.doResetActiveItem(e.indexOf(d))}else{c.doRemove(d,a,b);if(e.length===0){c.setActiveItem(null)}}}return c},doResetActiveItem:function(a){if(a===0){this.setActiveItem(1)}else{this.setActiveItem(0)}},doRemove:function(d,a,b){var c=this;c.items.remove(d);if(d.isInnerItem()){c.removeInner(d)}c.onItemRemove(d,a,b);d.setParent(null);if(b){d.destroy()}},removeAll:function(c,f){var a=this.items,e=a.length,b=0,d;if(c===undefined){c=this.getAutoDestroy()}f=Boolean(f);this.removingAll=true;for(;b=0;b--){c.insert(a,d[b])}return c}d=this.factoryItem(d);this.doInsert(a,d);return d},doInsert:function(d,f){var e=this,b=e.items,c=b.length,a,g;g=f.isInnerItem();if(d>c){d=c}if(b[d-1]===f){return e}a=e.indexOf(f);if(a!==-1){if(a "+a)[0]||null},down:function(a){return this.query(a)[0]||null},destroy:function(){var a=this.getModal();if(a){a.destroy()}this.removeAll(true,true);Ext.destroy(this.getScrollable(),this.bodyElement);this.callParent()}},function(){this.addMember("defaultItemClass",this)});Ext.define("Ext.Panel",{extend:"Ext.Container",requires:["Ext.util.LineSegment"],alternateClassName:"Ext.lib.Panel",xtype:"panel",isPanel:true,config:{baseCls:Ext.baseCSSPrefix+"panel",bodyPadding:null,bodyMargin:null,bodyBorder:null},getElementConfig:function(){var a=this.callParent();a.children.push({reference:"tipElement",className:"x-anchor",hidden:true});return a},applyBodyPadding:function(a){if(a===true){a=5}if(a){a=Ext.dom.Element.unitizeBox(a)}return a},updateBodyPadding:function(a){this.element.setStyle("padding",a)},applyBodyMargin:function(a){if(a===true){a=5}if(a){a=Ext.dom.Element.unitizeBox(a)}return a},updateBodyMargin:function(a){this.element.setStyle("margin",a)},applyBodyBorder:function(a){if(a===true){a=1}if(a){a=Ext.dom.Element.unitizeBox(a)}return a},updateBodyBorder:function(a){this.element.setStyle("border-width",a)},alignTo:function(m){var w=this.tipElement;w.hide();if(this.currentTipPosition){w.removeCls("x-anchor-"+this.currentTipPosition)}this.callParent(arguments);var f=Ext.util.LineSegment,d=m.isComponent?m.renderElement:m,a=this.renderElement,n=d.getPageBox(),k=a.getPageBox(),b=k.left,t=k.top,C=k.right,h=k.bottom,j=b+(k.width/2),i=t+(k.height/2),o={x:b,y:t},l={x:C,y:t},B={x:b,y:h},D={x:C,y:h},y={x:j,y:i},s=n.left+(n.width/2),q=n.top+(n.height/2),v={x:s,y:q},c=new f(y,v),g=0,A=0,e,z,r,p,x,u;w.setVisibility(false);w.show();e=w.getSize();z=e.width;r=e.height;if(c.intersects(new f(o,l))){x=Math.min(Math.max(s,b),C-(z/2));u=t;A=r+10;p="top"}else{if(c.intersects(new f(o,B))){x=b;u=Math.min(Math.max(q+(z/2),t),h);g=r+10;p="left"}else{if(c.intersects(new f(B,D))){x=Math.min(Math.max(s,b),C-(z/2));u=h;A=-r-10;p="bottom"}else{if(c.intersects(new f(l,D))){x=C;u=Math.min(Math.max(q-(z/2),t),h);g=-r-10;p="right"}}}}if(x||u){this.currentTipPosition=p;w.addCls("x-anchor-"+p);w.setLeft(x-b);w.setTop(u-t);w.setVisibility(true);this.setLeft(this.getLeft()+g);this.setTop(this.getTop()+A)}}});Ext.define("Ext.SegmentedButton",{extend:"Ext.Container",xtype:"segmentedbutton",requires:["Ext.Button"],config:{baseCls:Ext.baseCSSPrefix+"segmentedbutton",pressedCls:Ext.baseCSSPrefix+"button-pressed",allowMultiple:false,allowDepress:null,pressedButtons:[],layout:{type:"hbox",align:"stretch"},defaultType:"button"},initialize:function(){var a=this;a.callParent();a.on({delegate:"> button",scope:a,tap:"onButtonRelease"});a.onAfter({delegate:"> button",scope:a,hiddenchange:"onButtonHiddenChange"})},updateAllowMultiple:function(){if(!this.initialized&&!this.getInitialConfig().hasOwnProperty("allowDepress")){this.setAllowDepress(true)}},applyItems:function(){var e=this,f=[],d,b,c,a;e.callParent(arguments);a=this.getItems();d=a.length;for(b=0;b=0;b--){c=a.items[b];if(!c.isHidden()){c.addCls(e+"last");break}}},applyPressedButtons:function(a){var e=this,f=[],c,d,b;if(Ext.isArray(a)){d=a.length;for(b=0;bm){c.renderElement.setWidth(m)}}var j=this.spacer.renderElement.getPageBox(),k=f.getPageBox(),g=k.width-j.width,d=k.left,i=k.right,b,l,e;if(g>0){f.setWidth(j.width);b=g/2;d+=b;i-=b}l=j.left-d;e=i-j.right;if(l>0){f.setLeft(l)}else{if(e>0){f.setLeft(-e)}}f.repaint()},updateTitle:function(a){this.titleComponent.setTitle(a);if(this.isPainted()){this.refreshTitlePosition()}}});Ext.define("Ext.Toolbar",{extend:"Ext.Container",xtype:"toolbar",requires:["Ext.Button","Ext.Title","Ext.Spacer"],isToolbar:true,config:{baseCls:Ext.baseCSSPrefix+"toolbar",ui:"dark",title:null,defaultType:"button",layout:{type:"hbox",align:"center"}},constructor:function(a){a=a||{};if(a.docked=="left"||a.docked=="right"){a.layout={type:"vbox",align:"stretch"}}this.callParent([a])},applyTitle:function(a){if(typeof a=="string"){a={title:a,centered:true}}return Ext.factory(a,Ext.Title,this.getTitle())},updateTitle:function(b,a){if(b){this.add(b);this.getLayout().setItemFlex(b,1)}if(a){a.destroy()}},showTitle:function(){var a=this.getTitle();if(a){a.show()}},hideTitle:function(){var a=this.getTitle();if(a){a.hide()}}},function(){});Ext.define("Ext.MessageBox",{extend:"Ext.Sheet",requires:["Ext.Toolbar","Ext.field.Text","Ext.field.TextArea"],config:{ui:"dark",baseCls:Ext.baseCSSPrefix+"msgbox",iconCls:null,showAnimation:{type:"popIn",duration:250,easing:"ease-out"},hideAnimation:{type:"popOut",duration:250,easing:"ease-out"},zIndex:10,defaultTextHeight:75,title:null,buttons:null,message:null,prompt:null,layout:{type:"vbox",pack:"center"}},statics:{OK:{text:"OK",itemId:"ok",ui:"action"},YES:{text:"Yes",itemId:"yes",ui:"action"},NO:{text:"No",itemId:"no"},CANCEL:{text:"Cancel",itemId:"cancel"},INFO:Ext.baseCSSPrefix+"msgbox-info",WARNING:Ext.baseCSSPrefix+"msgbox-warning",QUESTION:Ext.baseCSSPrefix+"msgbox-question",ERROR:Ext.baseCSSPrefix+"msgbox-error",OKCANCEL:[{text:"Cancel",itemId:"cancel"},{text:"OK",itemId:"ok",ui:"action"}],YESNOCANCEL:[{text:"Cancel",itemId:"cancel"},{text:"No",itemId:"no"},{text:"Yes",itemId:"yes",ui:"action"}],YESNO:[{text:"No",itemId:"no"},{text:"Yes",itemId:"yes",ui:"action"}]},constructor:function(a){a=a||{};if(a.hasOwnProperty("promptConfig")){Ext.applyIf(a,{prompt:a.promptConfig});delete a.promptConfig}if(a.hasOwnProperty("multiline")||a.hasOwnProperty("multiLine")){a.prompt=a.prompt||{};Ext.applyIf(a.prompt,{multiLine:a.multiline||a.multiLine});delete a.multiline;delete a.multiLine}this.defaultAllowedConfig={};var e=["ui","showAnimation","hideAnimation","title","message","prompt","iconCls","buttons","defaultTextHeight"],d=e.length,b,c;for(b=0;b=a-c&&b<=a+c)},onDragStart:function(f){var d=this.getDirection(),b=f.absDeltaX,a=f.absDeltaY,c=this.getDirectionLock();this.isDragging=true;if(c){if((d==="horizontal"&&b>a)||(d==="vertical"&&a>b)){f.stopPropagation()}else{this.isDragging=false;return}}if(this.isAnimating){this.getActiveCarouselItem().getTranslatable().stopAnimation()}this.dragStartOffset=this.offset;this.dragDirection=0},onDrag:function(j){if(!this.isDragging){return}var k=this.dragStartOffset,l=this.getDirection(),m=l==="horizontal"?j.deltaX:j.deltaY,a=this.offset,i=this.flickStartTime,c=this.dragDirection,b=Ext.Date.now(),h=this.getActiveIndex(),f=this.getMaxItemIndex(),d=c,g;if((h===0&&m>0)||(h===f&&m<0)){m*=0.5}g=k+m;if(g>a){c=1}else{if(g300){this.flickStartOffset=a;this.flickStartTime=b}this.dragDirection=c;this.setOffset(g)},onDragEnd:function(j){if(!this.isDragging){return}this.onDrag(j);this.isDragging=false;var a=Ext.Date.now(),i=this.itemLength,g=i/2,f=this.offset,m=this.getActiveIndex(),c=this.getMaxItemIndex(),h=0,l=f-this.flickStartOffset,b=a-this.flickStartTime,k=this.getIndicator(),d;if(b>0&&Math.abs(l)>=10){d=l/b;if(Math.abs(d)>=1){if(d<0&&m0&&m>0){h=1}}}}if(h===0){if(m0&&f>g){h=1}}}if(k){k.setActiveIndex(m-h)}this.animationDirection=h;this.setOffsetAnimated(h*i)},applyAnimation:function(a){a.easing=Ext.factory(a.easing,Ext.fx.easing.EaseOut);return a},updateDirection:function(b){var a=this.getIndicator();this.currentAxis=(b==="horizontal")?"x":"y";if(a){a.setDirection(b)}},setOffset:function(e){var k=this.orderedCarouselItems,c=this.getBufferSize(),g=k[c],j=this.itemLength,d=this.currentAxis,a,h,b,f;this.offset=e;e+=this.itemOffset;if(g){g.translateAxis(d,e);for(f=1,b=0;f<=c;f++){h=k[c-f];if(h){b+=j;h.translateAxis(d,e-b)}}for(f=1,b=0;f<=c;f++){a=k[c+f];if(a){b+=j;a.translateAxis(d,e+b)}}}return this},setOffsetAnimated:function(c){var b=this.orderedCarouselItems[this.getBufferSize()],a=this.getIndicator();if(a){a.setActiveIndex(this.getActiveIndex()-this.animationDirection)}this.offset=c;c+=this.itemOffset;if(b){this.isAnimating=true;b.getTranslatable().on(this.animationListeners);b.translateAxis(this.currentAxis,c,this.getAnimation())}return this},onActiveItemAnimationFrame:function(k){var j=this.orderedCarouselItems,c=this.getBufferSize(),h=this.itemLength,d=this.currentAxis,e=k[d],g,a,f,b;for(f=1,b=0;f<=c;f++){g=j[c-f];if(g){b+=h;g.translateAxis(d,e-b)}}for(f=1,b=0;f<=c;f++){a=j[c+f];if(a){b+=h;a.translateAxis(d,e+b)}}},onActiveItemAnimationEnd:function(b){var c=this.getActiveIndex(),a=this.animationDirection,e=this.currentAxis,f=b[e],d=this.itemLength,g;this.isAnimating=false;b.un(this.animationListeners);if(a===-1){g=d+f}else{if(a===1){g=f-d}else{g=f}}g-=this.itemOffset;this.offset=g;this.setActiveItem(c-a)},refresh:function(){this.refreshSizing();this.refreshActiveItem()},refreshSizing:function(){var a=this.element,b=this.getItemLength(),c,d;if(this.getDirection()==="horizontal"){d=a.getWidth()}else{d=a.getHeight()}this.hiddenTranslation=-d;if(b===null){b=d;c=0}else{c=(d-b)/2}this.itemLength=b;this.itemOffset=c},refreshOffset:function(){this.setOffset(this.offset)},refreshActiveItem:function(){this.doSetActiveItem(this.getActiveItem())},getActiveIndex:function(){return this.activeIndex},refreshActiveIndex:function(){this.activeIndex=this.getInnerItemIndex(this.getActiveItem())},refreshCarouselItems:function(){var a=this.carouselItems,b,d,c;for(b=0,d=a.length;b0){for(f=1;f<=c;f++){h=q-f;if(h>=0){a=this.getInnerItemAt(h);b=a.getId();o[b]=a;p[b]=c-f}else{break}}}if(qb){this.setActiveItem(b)}else{this.rebuildInnerIndexes(a);this.refreshActiveItem()}}},rebuildInnerIndexes:function(n){var c=this.innerIndexToItem,g=this.innerIdToIndex,j=this.innerItems.slice(),h=j.length,b=this.getBufferSize(),d=this.getMaxItemIndex(),l=[],e,k,f,a,m;if(n===undefined){this.innerIndexToItem=c={};this.innerIdToIndex=g={};for(e=0;e=0&&e<=d){if(c.hasOwnProperty(e)){Ext.Array.remove(j,c[e]);continue}l.push(e)}}for(e=0,h=l.length;e ."+Ext.baseCSSPrefix+"data-item",scope:this})},initialize:function(){this.callParent();this.doInitialize()},onItemTouchStart:function(d){var b=this,c=d.getTarget(),a=Ext.getCmp(c.id);a.on({touchmove:"onItemTouchMove",scope:b,single:true});b.fireEvent("itemtouchstart",b,a,b.indexOf(a),d)},onItemTouchMove:function(d){var b=this,c=d.getTarget(),a=Ext.getCmp(c.id);b.fireEvent("itemtouchmove",b,a,b.indexOf(a),d)},onItemTouchEnd:function(d){var b=this,c=d.getTarget(),a=Ext.getCmp(c.id);a.un({touchmove:"onItemTouchMove",scope:b});b.fireEvent("itemtouchend",b,a,b.indexOf(a),d)},onItemTap:function(d){var b=this,c=d.getTarget(),a=Ext.getCmp(c.id);b.fireEvent("itemtap",b,a,b.indexOf(a),d)},onItemTapHold:function(d){var b=this,c=d.getTarget(),a=Ext.getCmp(c.id);b.fireEvent("itemtaphold",b,a,b.indexOf(a),d)},onItemSingleTap:function(d){var b=this,c=d.getTarget(),a=Ext.getCmp(c.id);b.fireEvent("itemsingletap",b,a,b.indexOf(a),d)},onItemDoubleTap:function(d){var b=this,c=d.getTarget(),a=Ext.getCmp(c.id);b.fireEvent("itemdoubletap",b,a,b.indexOf(a),d)},onItemSwipe:function(d){var b=this,c=d.getTarget(),a=Ext.getCmp(c.id);b.fireEvent("itemswipe",b,a,b.indexOf(a),d)},moveItemsToCache:function(j,k){var h=this,c=h.dataview,a=c.getMaxItemCache(),g=h.getViewItems(),f=h.itemCache,e=f.length,l=c.getPressedCls(),d=c.getSelectedCls(),b=k-j,m;for(;b>=0;b--){m=g[j+b];if(e!==a){h.remove(m,false);m.removeCls([l,d]);f.push(m);e++}else{m.destroy()}}if(h.getViewItems().length==0){this.dataview.showEmptyText()}},moveItemsFromCache:function(b){var l=this,e=l.dataview,m=e.getStore(),k=b.length,a=e.getDefaultType(),h=e.getItemConfig(),g=l.itemCache,f=g.length,j=[],c,n,d;if(k){e.hideEmptyText()}for(c=0;ci._tmpIndex?1:-1});for(c=0;c{text}",pressedCls:"x-item-pressed",itemCls:null,selectedCls:"x-item-selected",triggerEvent:"itemtap",triggerCtEvent:"tap",deselectOnContainerClick:true,scrollable:true,inline:null,pressedDelay:100,loadingText:"Loading...",useComponents:null,itemConfig:{},maxItemCache:20,defaultType:"dataitem",scrollToTopOnRefresh:true},constructor:function(a){var b=this;b.hasLoadedStore=false;b.mixins.selectable.constructor.apply(b,arguments);b.callParent(arguments)},updateItemCls:function(c,b){var a=this.container;if(a){if(b){a.doRemoveItemCls(b)}if(c){a.doAddItemCls(c)}}},storeEventHooks:{beforeload:"onBeforeLoad",load:"onLoad",refresh:"refresh",addrecords:"onStoreAdd",removerecords:"onStoreRemove",updaterecord:"onStoreUpdate"},initialize:function(){this.callParent();var b=this,a;b.on(b.getTriggerCtEvent(),b.onContainerTrigger,b);a=b.container=this.add(new Ext.dataview[b.getUseComponents()?"component":"element"].Container({baseCls:this.getBaseCls()}));a.dataview=b;b.on(b.getTriggerEvent(),b.onItemTrigger,b);a.on({itemtouchstart:"onItemTouchStart",itemtouchend:"onItemTouchEnd",itemtap:"onItemTap",itemtaphold:"onItemTapHold",itemtouchmove:"onItemTouchMove",itemsingletap:"onItemSingleTap",itemdoubletap:"onItemDoubleTap",itemswipe:"onItemSwipe",scope:b});if(this.getStore()){this.refresh()}},applyInline:function(a){if(Ext.isObject(a)){a=Ext.apply({},a)}return a},updateInline:function(c,b){var a=this.getBaseCls();if(b){this.removeCls([a+"-inlineblock",a+"-nowrap"])}if(c){this.addCls(a+"-inlineblock");if(Ext.isObject(c)&&c.wrap===false){this.addCls(a+"-nowrap")}else{this.removeCls(a+"-nowrap")}}},prepareData:function(c,b,a){c.xindex=b+1;return c},onContainerTrigger:function(b){var a=this;if(b.target!=a.element.dom){return}if(a.getDeselectOnContainerClick()&&a.getStore()){a.deselectAll()}},onItemTrigger:function(b,a){this.selectWithEvent(this.getStore().getAt(a))},doAddPressedCls:function(a){var c=this,b=c.container.getViewItems()[c.getStore().indexOf(a)];if(Ext.isElement(b)){b=Ext.get(b)}if(b){b.addCls(c.getPressedCls())}},onItemTouchStart:function(b,h,d,g){var f=this,c=f.getStore(),a=c&&c.getAt(d);f.fireAction("itemtouchstart",[f,d,h,a,g],"doItemTouchStart")},doItemTouchStart:function(c,b,e,a){var d=c.getPressedDelay();if(a){if(d>0){c.pressedTimeout=Ext.defer(c.doAddPressedCls,d,c,[a])}else{c.doAddPressedCls(a)}}},onItemTouchEnd:function(b,h,d,g){var f=this,c=f.getStore(),a=c&&c.getAt(d);if(this.hasOwnProperty("pressedTimeout")){clearTimeout(this.pressedTimeout);delete this.pressedTimeout}if(a&&h){h.removeCls(f.getPressedCls())}f.fireEvent("itemtouchend",f,d,h,a,g)},onItemTouchMove:function(b,h,d,g){var f=this,c=f.getStore(),a=c&&c.getAt(d);if(f.hasOwnProperty("pressedTimeout")){clearTimeout(f.pressedTimeout);delete f.pressedTimeout}if(a&&h){h.removeCls(f.getPressedCls())}f.fireEvent("itemtouchmove",f,d,h,a,g)},onItemTap:function(b,h,d,g){var f=this,c=f.getStore(),a=c&&c.getAt(d);f.fireEvent("itemtap",f,d,h,a,g)},onItemTapHold:function(b,h,d,g){var f=this,c=f.getStore(),a=c&&c.getAt(d);f.fireEvent("itemtaphold",f,d,h,a,g)},onItemSingleTap:function(b,h,d,g){var f=this,c=f.getStore(),a=c&&c.getAt(d);f.fireEvent("itemsingletap",f,d,h,a,g)},onItemDoubleTap:function(b,h,d,g){var f=this,c=f.getStore(),a=c&&c.getAt(d);f.fireEvent("itemdoubletap",f,d,h,a,g)},onItemSwipe:function(b,h,d,g){var f=this,c=f.getStore(),a=c&&c.getAt(d);f.fireEvent("itemswipe",f,d,h,a,g)},onItemSelect:function(a,b){var c=this;if(b){c.doItemSelect(c,a)}else{c.fireAction("select",[c,a],"doItemSelect")}},doItemSelect:function(c,a){if(c.container&&!c.isDestroyed){var b=c.container.getViewItems()[c.getStore().indexOf(a)];if(Ext.isElement(b)){b=Ext.get(b)}if(b){b.removeCls(c.getPressedCls());b.addCls(c.getSelectedCls())}}},onItemDeselect:function(a,b){var c=this;if(c.container&&!c.isDestroyed){if(b){c.doItemDeselect(c,a)}else{c.fireAction("deselect",[c,a,b],"doItemDeselect")}}},doItemDeselect:function(c,a){var b=c.container.getViewItems()[c.getStore().indexOf(a)];if(Ext.isElement(b)){b=Ext.get(b)}if(b){b.removeCls([c.getPressedCls(),c.getSelectedCls()])}},updateData:function(b){var a=this.getStore();if(!a){this.setStore(Ext.create("Ext.data.Store",{data:b}))}else{a.add(b)}},applyStore:function(b){var d=this,e=Ext.apply({},d.storeEventHooks,{scope:d}),c,a;if(b){b=Ext.data.StoreManager.lookup(b);if(b&&Ext.isObject(b)&&b.isStore){b.on(e);c=b.getProxy();if(c){a=c.getReader();if(a){a.on("exception","handleException",this)}}}}return b},handleException:function(){this.setMasked(false)},updateStore:function(b,e){var d=this,f=Ext.apply({},d.storeEventHooks,{scope:d}),c,a;if(e&&Ext.isObject(e)&&e.isStore){if(e.autoDestroy){e.destroy()}else{e.un(f);c=e.getProxy();if(c){a=c.getReader();if(a){a.un("exception","handleException",this)}}}}if(b){if(b.isLoaded()){this.hasLoadedStore=true}if(b.isLoading()){d.onBeforeLoad()}if(d.container){d.refresh()}}},onBeforeLoad:function(){var b=this.getScrollable();if(b){b.getScroller().stopAnimation()}var a=this.getLoadingText();if(a){this.setMasked({xtype:"loadmask",message:a});if(b){b.getScroller().setDisabled(true)}}this.hideEmptyText()},updateEmptyText:function(c,d){var b=this,a;if(d&&b.emptyTextCmp){b.remove(b.emptyTextCmp,true);delete b.emptyTextCmp}if(c){b.emptyTextCmp=b.add({xtype:"component",cls:b.getBaseCls()+"-emptytext",html:c,hidden:true});a=b.getStore();if(a&&b.hasLoadedStore&&!a.getCount()){this.showEmptyText()}}},onLoad:function(a){var b=this.getScrollable();this.hasLoadedStore=true;this.setMasked(false);if(b){b.getScroller().setDisabled(false)}if(!a.getCount()){this.showEmptyText()}},refresh:function(){var b=this,a=b.container;if(!b.getStore()){if(!b.hasLoadedStore&&!b.getDeferEmptyText()){b.showEmptyText()}return}if(a){b.fireAction("refresh",[b],"doRefresh")}},applyItemTpl:function(a){return(Ext.isObject(a)&&a.isTemplate)?a:new Ext.XTemplate(a)},onAfterRender:function(){var a=this;a.callParent(arguments);a.updateStore(a.getStore())},getViewItems:function(){return this.container.getViewItems()},doRefresh:function(f){var a=f.container,j=f.getStore(),b=j.getRange(),e=a.getViewItems(),h=b.length,l=e.length,c=h-l,g=f.getScrollable(),d,k;if(this.getScrollToTopOnRefresh()&&g){g.getScroller().scrollToTop()}if(h<1){f.onStoreClear();return}if(c<0){a.moveItemsToCache(l+c,l-1);e=a.getViewItems();l=e.length}else{if(c>0){a.moveItemsFromCache(j.getRange(l))}}for(d=0;dh.y){c=g;break}f=g}return{current:f,next:c}},doRefreshHeaders:function(){if(!this.getGrouped()||!this.container){return false}var l=this.findGroupHeaderIndices(),f=l.length,g=this.container.getViewItems(),j=this.pinHeaderInfo={offsets:[]},a=j.offsets,h=this.getScrollable(),e,k,b,d,c;if(f){for(b=0;bd.offset)||(f&&h0&&d.offset-h<=c){var k=c-(d.offset-h);this.translateHeader(k)}else{this.translateHeader(null)}},translateHeaderTransform:function(a){this.header.renderElement.dom.style.webkitTransform=(a===null)?null:"translate3d(0px, -"+a+"px, 0px)"},translateHeaderCssPosition:function(a){this.header.renderElement.dom.style.top=(a===null)?null:"-"+Math.round(a)+"px"},setActiveGroup:function(b){var a=this,c=a.header;if(c){if(b&&b.header){if(!a.activeGroup||a.activeGroup.header!=b.header){c.show();if(c.element){c.setHtml(b.header.innerHTML)}}}else{if(c&&c.element){c.hide()}}}this.activeGroup=b},onIndex:function(o,c){var r=this,s=c.toLowerCase(),b=r.getStore(),q=b.getGroups(),f=q.length,h=r.getScrollable(),n,e,m,g,k,p;if(h){n=r.getScrollable().getScroller()}else{return}for(m=0;ms){g=e;break}else{g=e}}if(h&&g){p=r.container.getViewItems()[b.indexOf(g.children[0])];n.stopAnimation();var l=n.getContainerSize().y,j=n.getSize().y,d=j-l,a=(p.offsetTop>d)?d:p.offsetTop;n.scrollTo(0,a)}},applyOnItemDisclosure:function(a){if(Ext.isFunction(a)){return{scope:this,handler:a}}return a},handleItemDisclosure:function(f){var d=this,c=f.getTarget().parentNode,b=d.container.getViewItems().indexOf(c),a=d.getStore().getAt(b);d.fireAction("disclose",[d,a,c,b,f],"doDisclose")},doDisclose:function(f,a,d,c,g){var b=f.getOnItemDisclosure();if(b&&b.handler){b.handler.call(b.scope||f,a,d,c,g)}},findGroupHeaderIndices:function(){if(!this.getGrouped()){return[]}var h=this,k=h.getStore();if(!k){return[]}var b=h.container,d=k.getGroups(),m=d.length,g=b.getViewItems(),c=[],l=b.footerClsShortCache,e,a,f,n,j;b.doRemoveHeaders();b.doRemoveFooterCls();if(g.length){for(e=0;e class="x-list-item-leaf">'+a.getItemTextTpl(b)+""},this.getListConfig())}},function(){});Ext.define("Ext.form.FieldSet",{extend:"Ext.Container",alias:"widget.fieldset",requires:["Ext.Title"],config:{baseCls:Ext.baseCSSPrefix+"form-fieldset",title:null,instructions:null},applyTitle:function(a){if(typeof a=="string"){a={title:a}}Ext.applyIf(a,{docked:"top",baseCls:this.getBaseCls()+"-title"});return Ext.factory(a,Ext.Title,this.getTitle())},updateTitle:function(b,a){if(b){this.add(b)}if(a){this.remove(a)}},applyInstructions:function(a){if(typeof a=="string"){a={title:a}}Ext.applyIf(a,{docked:"bottom",baseCls:this.getBaseCls()+"-instructions"});return Ext.factory(a,Ext.Title,this.getInstructions())},updateInstructions:function(b,a){if(b){this.add(b)}if(a){this.remove(a)}}});Ext.define("Ext.form.Panel",{alternateClassName:"Ext.form.FormPanel",extend:"Ext.Panel",xtype:"formpanel",requires:["Ext.XTemplate","Ext.field.Checkbox","Ext.Ajax"],config:{baseCls:Ext.baseCSSPrefix+"form",standardSubmit:false,url:null,baseParams:null,submitOnAction:false,record:null,method:"post",scrollable:{translationMethod:"scrollposition"}},getElementConfig:function(){var a=this.callParent();a.tag="form";return a},initialize:function(){var a=this;a.callParent();a.element.on({submit:"onSubmit",scope:a})},updateRecord:function(c){var a,b,d;if(c&&(a=c.fields)){b=this.getValues();for(d in b){if(b.hasOwnProperty(d)&&a.containsKey(d)){c.set(d,b[d])}}}return this},setRecord:function(a){var b=this;if(a&&a.data){b.setValues(a.data)}b._record=a;return this},onSubmit:function(b){var a=this;if(b&&!a.getStandardSubmit()){b.stopEvent()}else{this.submit()}},updateSubmitOnAction:function(a){if(a){this.on({action:"onFieldAction",scope:this})}else{this.un({action:"onFieldAction",scope:this})}},onFieldAction:function(a){if(this.getSubmitOnAction()){a.blur();this.submit()}},submit:function(a){var c=this,b=c.element.dom||{},d;a=Ext.apply({url:c.getUrl()||b.action,submit:false,method:c.getMethod()||b.method||"post",autoAbort:false,params:null,waitMsg:null,headers:null,success:null,failure:null},a||{});d=c.getValues(c.getStandardSubmit()||!a.submitDisabled);return c.fireAction("beforesubmit",[c,d,a],"doBeforeSubmit")},doBeforeSubmit:function(f,h,b){var e=f.element.dom||{};if(f.getStandardSubmit()){if(b.url&&Ext.isEmpty(e.action)){e.action=b.url}var a=this.query("spinnerfield"),d=a.length,c,g;for(c=0;c1;d.doChangeView(c,a,false)},onViewRemove:function(c){var d=this,b=d.backButtonStack,a;d.endAnimation();b.pop();a=b.length>1;d.doChangeView(c,a,true)},doChangeView:function(k,c,g){var r=this,o=r.leftBox,e=o.element,f=r.titleComponent,m=f.element,n=r.getBackButton(),l=r.getTitleText(),h=r.getBackButtonText(),q=r.getAnimation()&&k.getLayout().getAnimation(),p=q&&q.isAnimation&&k.isPainted(),d,i,a,j,b;if(p){i=r.createProxy(o.element);e.setStyle("opacity","0");n.setText(h);n[c?"show":"hide"]();a=r.createProxy(f.element.getParent());m.setStyle("opacity","0");r.setTitle(l);r.refreshTitlePosition();d=r.measureView(i,a,g);j=d.left;b=d.title;r.isAnimating=true;r.animate(e,j.element);r.animate(m,b.element,function(){m.setLeft(d.titleLeft);r.isAnimating=false});if(Ext.os.is.Android2&&!this.getAndroid2Transforms()){i.ghost.destroy();a.ghost.destroy()}else{r.animate(i.ghost,j.ghost);r.animate(a.ghost,b.ghost,function(){i.ghost.destroy();a.ghost.destroy()})}}else{if(c){n.setText(h);n.show()}else{n.hide()}r.setTitle(l)}},measureView:function(e,u,k){var w=this,j=w.element,v=w.leftBox.element,p=w.titleComponent.element,l=Math.min(j.getWidth()/3,200),q=v.getWidth(),c=j.getX(),m=j.getWidth(),n=p.getX(),d=p.getLeft(),s=p.getWidth(),r=e.x,t=e.width,a=e.left,h=Ext.os.is.Android2&&!this.getAndroid2Transforms(),i,b,f,x,o,g;g=c-r-t;if(k){i=g;b=Math.min(n-t,l)}else{b=g;i=Math.min(n-c,l)}if(h){f={element:{from:{left:i,opacity:1},to:{left:0,opacity:1}}}}else{f={element:{from:{transform:{translateX:i},opacity:0},to:{transform:{translateX:0},opacity:1}},ghost:{to:{transform:{translateX:b},opacity:0}}}}g=c-n+q;if((a+s)>n){o=c-n-s}if(k){p.setLeft(0);b=c+m;if(o!==undefined){i=o}else{i=g}}else{i=m-n;if(o!==undefined){b=o}else{b=g}}if(h){x={element:{from:{left:i,opacity:1},to:{left:d,opacity:1}}}}else{x={element:{from:{transform:{translateX:i},opacity:0},to:{transform:{translateX:d},opacity:1}},ghost:{to:{transform:{translateX:b},opacity:0}}}}return{left:f,title:x,titleLeft:d}},animate:function(b,a,e){var c=this,d;b.setLeft(0);a=Ext.apply(a,{element:b,easing:"ease-in-out",duration:c.getAnimation().duration});d=new Ext.fx.Animation(a);d.on("animationend",function(){if(e){e.call(c)}},c);Ext.Animator.run(d);c.activeAnimations.push(d)},endAnimation:function(){var a=this.activeAnimations,d,b,c;if(a){c=a.length;for(b=0;b0){if(b&&b.isAnimation){b.setReverse(true)}a.setActiveItem(d-1);a.getNavigationBar().onViewRemove(a,c[d],d)}},doRemove:function(){var a=this.getLayout().getAnimation();if(a&&a.isAnimation){a.setReverse(false)}this.callParent(arguments)},onItemAdd:function(b,a){this.doItemLayoutAdd(b,a);if(!this.isItemsInitializing&&b.isInnerItem()){this.setActiveItem(b);this.getNavigationBar().onViewAdd(this,b,a)}if(this.initialized){this.fireEvent("add",this,b,a)}},reset:function(){return this.pop(this.getInnerItems().length)}});Ext.define("Ext.picker.Slot",{extend:"Ext.dataview.DataView",xtype:"pickerslot",alternateClassName:"Ext.Picker.Slot",requires:["Ext.XTemplate","Ext.data.Store","Ext.Component","Ext.data.StoreManager"],isSlot:true,config:{title:null,showTitle:true,cls:Ext.baseCSSPrefix+"picker-slot",name:null,value:null,flex:1,align:"left",displayField:"text",valueField:"value",scrollable:{direction:"vertical",indicators:false,momentumEasing:{minVelocity:2},slotSnapEasing:{duration:100}}},constructor:function(){this.selectedIndex=0;this.callParent(arguments)},applyTitle:function(a){if(a){a=Ext.create("Ext.Component",{cls:Ext.baseCSSPrefix+"picker-slot-title",docked:"top",html:a})}return a},updateTitle:function(b,a){if(b){this.add(b);this.setupBar()}if(a){this.remove(a)}},updateShowTitle:function(a){var b=this.getTitle();if(b){b[a?"show":"hide"]();this.setupBar()}},updateDisplayField:function(a){this.setItemTpl('
'+Ext.baseCSSPrefix+'picker-invalid">{'+a+"}
")},updateAlign:function(a,c){var b=this.element;b.addCls(Ext.baseCSSPrefix+"picker-"+a);b.removeCls(Ext.baseCSSPrefix+"picker-"+c)},applyData:function(d){var f=[],c=d&&d.length,a,b,e;if(d&&Ext.isArray(d)&&c){for(a=0;a0){c[0].addCls(b+"first");c[c.length-1].addCls(b+"last")}this.updateUseTitles(this.getUseTitles())},onDoneButtonTap:function(){var a=this._value,b=this.getValue(true);if(b!=a){this.fireEvent("change",this,b)}this.hide()},onCancelButtonTap:function(){this.fireEvent("cancel",this);this.hide()},onSlotPick:function(a){this.fireEvent("pick",this,this.getValue(true),a)},onShow:function(){if(!this.isHidden()){this.setValue(this._value)}},setValue:function(k,a){var f=this,d=f.getInnerItems(),e=d.length,j,h,c,b,g;if(!k){k={};for(b=0;b{'+this.getDisplayField()+":htmlEncode}",listeners:{select:this.onListSelect,itemtap:this.onListTap,scope:this}}},a))}return this.listPanel},onMaskTap:function(){if(this.getDisabled()){return false}this.showPicker();return false},showPicker:function(){var b=this.getStore();if(!b||b.getCount()===0){return}if(this.getReadOnly()){return}this.isFocused=true;if(this.getUsePicker()){var e=this.getPhonePicker(),d=this.getName(),h={};h[d]=this.record.get(this.getValueField());e.setValue(h);if(!e.getParent()){Ext.Viewport.add(e)}e.show()}else{var f=this.getTabletPicker(),g=f.down("list"),b=g.getStore(),c=b.find(this.getValueField(),this.getValue(),null,null,null,true),a=b.getAt((c==-1)?0:c);if(!f.getParent()){Ext.Viewport.add(f)}f.showBy(this.getComponent());g.select(a,null,true)}},onListSelect:function(c,a){var b=this;if(a){b.setValue(a)}},onListTap:function(){this.listPanel.hide({type:"fade",out:true,scope:this})},onPickerChange:function(d,f){var e=this,g=f[e.getName()],b=e.getStore(),c=b.find(e.getValueField(),g,null,null,null,true),a=b.getAt(c);e.setValue(a)},onChange:function(f,h,e){var g=this,b=g.getStore(),d=(b)?b.find(g.getDisplayField(),e):-1,c=g.getValueField(),a=(b)?b.getAt(d):null,e=(a)?a.get(c):null;g.fireEvent("change",g,g.getValue(),e)},updateOptions:function(b){var a=this.getStore();if(!a){this.setStore(true);a=this._store}if(!b){a.clearData()}else{a.setData(b);this.onStoreDataChanged(a)}},applyStore:function(a){if(a===true){a=Ext.create("Ext.data.Store",{fields:[this.getValueField(),this.getDisplayField()]})}if(a){a=Ext.data.StoreManager.lookup(a);a.on({scope:this,addrecords:this.onStoreDataChanged,removerecords:this.onStoreDataChanged,updaterecord:this.onStoreDataChanged,refresh:this.onStoreDataChanged})}return a},updateStore:function(a){if(a){this.onStoreDataChanged(a)}},onStoreDataChanged:function(a){var c=this.getInitialConfig(),b=this.getValue();if(Ext.isDefined(b)){this.updateValue(this.applyValue(b))}if(this.getValue()===null){if(c.hasOwnProperty("value")){this.setValue(c.value)}if(this.getValue()===null){if(a.getCount()>0){this.setValue(a.getAt(0))}}}},doSetDisabled:function(a){Ext.Component.prototype.doSetDisabled.apply(this,arguments)},setDisabled:function(){Ext.Component.prototype.setDisabled.apply(this,arguments)},reset:function(){var b=this.getStore(),a=(this.originalValue)?this.originalValue:b.getAt(0);if(b&&a){this.setValue(a)}return this},onFocus:function(a){this.fireEvent("focus",this,a);this.isFocused=true;this.showPicker()},destroy:function(){this.callParent(arguments);Ext.destroy(this.listPanel,this.picker,this.hiddenField)}});Ext.define("Ext.picker.Date",{extend:"Ext.picker.Picker",xtype:"datepicker",alternateClassName:"Ext.DatePicker",requires:["Ext.DateExtras"],config:{yearFrom:1980,yearTo:new Date().getFullYear(),monthText:"Month",dayText:"Day",yearText:"Year",slotOrder:["month","day","year"]},initialize:function(){this.callParent();this.on({scope:this,delegate:"> slot",slotpick:this.onSlotPick})},setValue:function(b,a){if(Ext.isDate(b)){b={day:b.getDate(),month:b.getMonth()+1,year:b.getFullYear()}}this.callParent([b,a])},getValue:function(k){var h={},e=this.getItems().items,d=e.length,a,g,c,f,j,b;for(b=0;bf){e=m;m=f;f=e}for(d=m;d<=f;d++){g.push({text:d,value:d})}a=this.getDaysInMonth(1,new Date().getFullYear());for(d=0;d thumb",dragstart:"onThumbDragStart",drag:"onThumbDrag",dragend:"onThumbDragEnd"});this.on({painted:"refresh",resize:"refresh"})},factoryThumb:function(){return Ext.factory(this.getThumbConfig(),Ext.slider.Thumb)},getThumbs:function(){return this.innerItems},getThumb:function(a){if(typeof a!="number"){a=0}return this.innerItems[a]},refreshOffsetValueRatio:function(){var b=this.getMaxValue()-this.getMinValue(),a=this.elementWidth-this.thumbWidth;this.offsetValueRatio=a/b},refreshElementWidth:function(){this.elementWidth=this.element.dom.offsetWidth;var a=this.getThumb(0);if(a){this.thumbWidth=a.getElementWidth()}},refresh:function(){this.refreshElementWidth();this.refreshValue()},setActiveThumb:function(b){var a=this.activeThumb;if(a&&a!==b){a.setZIndex(null)}this.activeThumb=b;b.setZIndex(2);return this},onThumbDragStart:function(a,b){if(b.absDeltaX<=b.absDeltaY){return false}else{b.stopPropagation()}if(this.getAllowThumbsOverlapping()){this.setActiveThumb(a)}this.dragStartValue=this.getValue()[this.getThumbIndex(a)];this.fireEvent("dragstart",this,a,this.dragStartValue,b)},onThumbDrag:function(c,g,a){var d=this.getThumbIndex(c),f=this.offsetValueRatio,b=this.constrainValue(a/f);g.stopPropagation();this.setIndexValue(d,b);this.fireEvent("drag",this,c,this.getValue(),g);return false},setIndexValue:function(d,g,f){var c=this.getThumb(d),b=this.getValue(),e=this.offsetValueRatio,a=c.getDraggable();a.setOffset(g*e,null,f);b[d]=g},onThumbDragEnd:function(a,f){this.refreshThumbConstraints(a);var c=this.getThumbIndex(a),d=this.getValue()[c],b=this.dragStartValue;this.fireEvent("dragend",this,a,this.getValue(),f);if(b!==d){this.fireEvent("change",this,a,d,b)}},getThumbIndex:function(a){return this.getThumbs().indexOf(a)},refreshThumbConstraints:function(d){var b=this.getAllowThumbsOverlapping(),a=d.getDraggable().getOffset().x,c=this.getThumbs(),e=this.getThumbIndex(d),g=c[e-1],h=c[e+1],f=this.thumbWidth;if(g){g.getDraggable().addExtraConstraint({max:{x:a-((b)?0:f)}})}if(h){h.getDraggable().addExtraConstraint({min:{x:a+((b)?0:f)}})}},onTap:function(j){if(this.isDisabled()){return}var k=Ext.get(j.target);if(!k||k.hasCls("x-thumb")){return}var n=j.touch.point.x,h=this.element,c=h.getX(),d=n-c-(this.thumbWidth/2),o=this.constrainValue(d/this.offsetValueRatio),r=this.getValue(),q=Infinity,m=r.length,g,f,l,p,b,a;if(m===1){p=0}else{for(g=0;g=(a/2)){e+=(c>0)?a:-a}e=Math.max(d,e);e=Math.min(f,e);return e},setThumbsCount:function(e){var a=this.getThumbs(),f=a.length,c,d,b;if(f>e){for(c=0,d=f-e;c0,b=d.getMaxValueCls(),e=d.getMinValueCls();this.element.addCls(g?b:e);this.element.removeCls(g?e:b)},toggle:function(){var a=this.getValue();this.setValue((a==1)?0:1);return this},onTap:function(){if(this.isDisabled()){return}var b=this.getValue(),c=(b==1)?0:1,a=this.getThumb(0);this.setIndexValue(0,c,this.getAnimation());this.refreshThumbConstraints(a);this.fireEvent("change",this,a,c,b)}});Ext.define("Ext.field.Toggle",{extend:"Ext.field.Slider",xtype:"togglefield",alternateClassName:"Ext.form.Toggle",requires:["Ext.slider.Toggle"],config:{cls:"x-toggle-field"},proxyConfig:{minValueCls:"x-toggle-off",maxValueCls:"x-toggle-on"},applyComponent:function(a){return Ext.factory(a,Ext.slider.Toggle)},setValue:function(a){if(a===true){a=1}this.getComponent().setValue(a);return this},getValue:function(){return(this.getComponent().getValue()==1)?1:0},toggle:function(){this.getComponent().toggle();return this}});Ext.define("Ext.tab.Tab",{extend:"Ext.Button",xtype:"tab",alternateClassName:"Ext.Tab",isTab:true,config:{baseCls:Ext.baseCSSPrefix+"tab",pressedCls:Ext.baseCSSPrefix+"tab-pressed",activeCls:Ext.baseCSSPrefix+"tab-active",active:false,title:" "},template:[{tag:"span",reference:"badgeElement",hidden:true},{tag:"span",className:Ext.baseCSSPrefix+"button-icon",reference:"iconElement",style:"visibility: hidden !important"},{tag:"span",reference:"textElement",hidden:true}],updateTitle:function(a){this.setText(a)},hideIconElement:function(){this.iconElement.dom.style.setProperty("visibility","hidden","!important")},showIconElement:function(){this.iconElement.dom.style.setProperty("visibility","visible","!important")},updateActive:function(c,b){var a=this.getActiveCls();if(c&&!b){this.element.addCls(a);this.fireEvent("activate",this)}else{if(b){this.element.removeCls(a);this.fireEvent("deactivate",this)}}}},function(){this.override({activate:function(){this.setActive(true)},deactivate:function(){this.setActive(false)}})});Ext.define("Ext.tab.Bar",{extend:"Ext.Toolbar",alternateClassName:"Ext.TabBar",xtype:"tabbar",requires:["Ext.tab.Tab"],config:{baseCls:Ext.baseCSSPrefix+"tabbar",defaultType:"tab",layout:{type:"hbox",align:"middle"}},eventedConfig:{activeTab:null},initialize:function(){var a=this;a.callParent();a.on({tap:"onTabTap",delegate:"> tab",scope:a})},onTabTap:function(a){this.setActiveTab(a)},applyActiveTab:function(b,c){if(!b&&b!==0){return}var a=this.parseActiveTab(b);if(!a){return}return a},doSetDocked:function(a){var c=this.getLayout(),b=a=="bottom"?"center":"left";if(c.isLayout){c.setPack(b)}else{c.pack=(c&&c.pack)?c.pack:b}},doSetActiveTab:function(b,a){if(b){b.setActive(true)}if(a){a.setActive(false)}},parseActiveTab:function(a){if(typeof a=="number"){return this.getInnerItems()[a]}else{if(typeof a=="string"){a=Ext.getCmp(a)}}return a}});Ext.define("Ext.tab.Panel",{extend:"Ext.Container",xtype:"tabpanel",alternateClassName:"Ext.TabPanel",requires:["Ext.tab.Bar"],config:{ui:"dark",tabBar:true,tabBarPosition:"top",layout:{type:"card",animation:{type:"slide",direction:"left"}},cls:Ext.baseCSSPrefix+"tabpanel"},delegateListeners:{delegate:"> component",centeredchange:"onItemCenteredChange",dockedchange:"onItemDockedChange",floatingchange:"onItemFloatingChange",disabledchange:"onItemDisabledChange"},initialize:function(){this.callParent();this.on({order:"before",activetabchange:"doTabChange",delegate:"> tabbar",scope:this})},applyScrollable:function(){return false},updateUi:function(a,b){this.callParent(arguments);if(this.initialized){this.getTabBar().setUi(a)}},doSetActiveItem:function(d,j){if(d){var f=this.getInnerItems(),g=f.indexOf(j),i=f.indexOf(d),e=g>i,c=this.getLayout().getAnimation(),b=this.getTabBar(),h=b.parseActiveTab(g),a=b.parseActiveTab(i);if(c&&c.setReverse){c.setReverse(e)}this.callParent(arguments);if(i!=-1){this.forcedChange=true;b.setActiveTab(i);this.forcedChange=false;if(h){h.setActive(false)}if(a){a.setActive(true)}}}},doTabChange:function(a,d){var b=this.getActiveItem(),c;this.setActiveItem(a.indexOf(d));c=this.getActiveItem();return this.forcedChange||b!==c},applyTabBar:function(a){if(a===true){a={}}if(a){Ext.applyIf(a,{ui:this.getUi(),docked:this.getTabBarPosition()})}return Ext.factory(a,Ext.tab.Bar,this.getTabBar())},updateTabBar:function(a){if(a){this.add(a);this.setTabBarPosition(a.getDocked())}},updateTabBarPosition:function(b){var a=this.getTabBar();if(a){a.setDocked(b)}},onItemAdd:function(e){var k=this;if(!e.isInnerItem()){return k.callParent(arguments)}var c=k.getTabBar(),o=e.getInitialConfig(),d=o.tab||{},g=(e.getTitle)?e.getTitle():o.title,i=(e.getIconCls)?e.getIconCls():o.iconCls,j=(e.getHidden)?e.getHidden():o.hidden,n=(e.getDisabled)?e.getDisabled():o.disabled,p=(e.getBadgeText)?e.getBadgeText():o.badgeText,b=k.getInnerItems(),h=b.indexOf(e),l=c.getItems(),a=c.getActiveTab(),m=(l.length>=b.length)&&l.getAt(h),f;if(g&&!d.title){d.title=g}if(i&&!d.iconCls){d.iconCls=i}if(j&&!d.hidden){d.hidden=j}if(n&&!d.disabled){d.disabled=n}if(p&&!d.badgeText){d.badgeText=p}f=Ext.factory(d,Ext.tab.Tab,m);if(!m){c.insert(h,f)}e.tab=f;k.callParent(arguments);if(!a&&a!==0){c.setActiveTab(c.getActiveItem())}},onItemDisabledChange:function(a,b){if(a&&a.tab){a.tab.setDisabled(b)}},onItemRemove:function(b,a){this.getTabBar().remove(b.tab,this.getAutoDestroy());this.callParent(arguments)}},function(){});Ext.define("Ext.table.Cell",{extend:"Ext.Container",xtype:"tablecell",config:{baseCls:"x-table-cell"},getElementConfig:function(){var a=this.callParent();a.children.length=0;return a}});Ext.define("Ext.table.Row",{extend:"Ext.table.Cell",xtype:"tablerow",config:{baseCls:"x-table-row",defaultType:"tablecell"}});Ext.define("Ext.table.Table",{extend:"Ext.Container",requires:["Ext.table.Row"],xtype:"table",config:{baseCls:"x-table",defaultType:"tablerow"},cachedConfig:{fixedLayout:false},fixedLayoutCls:"x-table-fixed",updateFixedLayout:function(a){this.innerElement[a?"addCls":"removeCls"](this.fixedLayoutCls)}});Ext.define("Ext.viewport.Default",{extend:"Ext.Container",xtype:"viewport",PORTRAIT:"portrait",LANDSCAPE:"landscape",requires:["Ext.LoadMask"],config:{autoMaximize:false,autoBlurInput:true,preventPanning:true,preventZooming:false,autoRender:true,layout:"card",width:"100%",height:"100%"},isReady:false,isViewport:true,isMaximizing:false,id:"ext-viewport",isInputRegex:/^(input|textarea|select|a)$/i,focusedElement:null,fullscreenItemCls:Ext.baseCSSPrefix+"fullscreen",constructor:function(a){var b=Ext.Function.bind;this.doPreventPanning=b(this.doPreventPanning,this);this.doPreventZooming=b(this.doPreventZooming,this);this.doBlurInput=b(this.doBlurInput,this);this.maximizeOnEvents=["ready","orientationchange"];this.orientation=this.determineOrientation();this.windowWidth=this.getWindowWidth();this.windowHeight=this.getWindowHeight();this.windowOuterHeight=this.getWindowOuterHeight();if(!this.stretchHeights){this.stretchHeights={}}this.callParent([a]);if(this.supportsOrientation()){this.addWindowListener("orientationchange",b(this.onOrientationChange,this))}else{this.addWindowListener("resize",b(this.onResize,this))}document.addEventListener("focus",b(this.onElementFocus,this),true);document.addEventListener("blur",b(this.onElementBlur,this),true);Ext.onDocumentReady(this.onDomReady,this);this.on("ready",this.onReady,this,{single:true});this.getEventDispatcher().addListener("component","*","fullscreen","onItemFullscreenChange",this);return this},onDomReady:function(){this.isReady=true;this.updateSize();this.fireEvent("ready",this)},onReady:function(){if(this.getAutoRender()){this.render()}},onElementFocus:function(a){this.focusedElement=a.target},onElementBlur:function(){this.focusedElement=null},render:function(){if(!this.rendered){var a=Ext.getBody(),b=Ext.baseCSSPrefix,h=[],d=Ext.os,g=d.name.toLowerCase(),f=Ext.browser.name.toLowerCase(),e=d.version.getMajor(),c=this.getOrientation();this.renderTo(a);h.push(b+d.deviceType.toLowerCase());if(d.is.iPad){h.push(b+"ipad")}h.push(b+g);h.push(b+f);if(e){h.push(b+g+"-"+e)}if(d.is.BlackBerry){h.push(b+"bb")}if(Ext.browser.is.Standalone){h.push(b+"standalone")}h.push(b+c);a.addCls(h)}},applyAutoBlurInput:function(a){var b=(Ext.feature.has.Touch)?"touchstart":"mousedown";if(a){this.addWindowListener(b,this.doBlurInput,false)}else{this.removeWindowListener(b,this.doBlurInput,false)}return a},applyAutoMaximize:function(a){if(Ext.browser.is.WebView){a=false}if(a){this.on("ready","doAutoMaximizeOnReady",this,{single:true});this.on("orientationchange","doAutoMaximizeOnOrientationChange",this)}else{this.un("ready","doAutoMaximizeOnReady",this);this.un("orientationchange","doAutoMaximizeOnOrientationChange",this)}return a},applyPreventPanning:function(a){if(a){this.addWindowListener("touchmove",this.doPreventPanning,false)}else{this.removeWindowListener("touchmove",this.doPreventPanning,false)}return a},applyPreventZooming:function(a){var b=(Ext.feature.has.Touch)?"touchstart":"mousedown";if(a){this.addWindowListener(b,this.doPreventZooming,false)}else{this.removeWindowListener(b,this.doPreventZooming,false)}return a},doAutoMaximizeOnReady:function(){var a=arguments[arguments.length-1];a.pause();this.isMaximizing=true;this.on("maximize",function(){this.isMaximizing=false;this.updateSize();a.resume();this.fireEvent("ready",this)},this,{single:true});this.maximize()},doAutoMaximizeOnOrientationChange:function(){var a=arguments[arguments.length-1],b=a.firingArguments;a.pause();this.isMaximizing=true;this.on("maximize",function(){this.isMaximizing=false;this.updateSize();b[1]=this.windowWidth;b[2]=this.windowHeight;a.resume()},this,{single:true});this.maximize()},doBlurInput:function(b){var a=b.target,c=this.focusedElement;if(c&&!this.isInputRegex.test(a.tagName)){delete this.focusedElement;c.blur()}},doPreventPanning:function(a){a.preventDefault()},doPreventZooming:function(b){if("button" in b&&b.button!==0){return}var a=b.target;if(a&&a.nodeType===1&&!this.isInputRegex.test(a.tagName)){b.preventDefault()}},addWindowListener:function(b,c,a){window.addEventListener(b,c,Boolean(a))},removeWindowListener:function(b,c,a){window.removeEventListener(b,c,Boolean(a))},doAddListener:function(a,d,c,b){if(a==="ready"&&this.isReady&&!this.isMaximizing){d.call(c);return this}this.mixins.observable.doAddListener.apply(this,arguments)},supportsOrientation:function(){return Ext.feature.has.Orientation},onResize:function(){var c=this.windowWidth,f=this.windowHeight,e=this.getWindowWidth(),a=this.getWindowHeight(),d=this.getOrientation(),b=this.determineOrientation();if((c!==e||f!==a)&&d!==b){this.fireOrientationChangeEvent(b,d)}},onOrientationChange:function(){var b=this.getOrientation(),a=this.determineOrientation();if(a!==b){this.fireOrientationChangeEvent(a,b)}},fireOrientationChangeEvent:function(b,c){var a=Ext.baseCSSPrefix;Ext.getBody().replaceCls(a+c,a+b);this.orientation=b;this.updateSize();this.fireEvent("orientationchange",this,b,this.windowWidth,this.windowHeight)},updateSize:function(b,a){this.windowWidth=b!==undefined?b:this.getWindowWidth();this.windowHeight=a!==undefined?a:this.getWindowHeight();return this},waitUntil:function(h,e,g,a,f){if(!a){a=50}if(!f){f=2000}var c=this,b=0;setTimeout(function d(){b+=a;if(h.call(c)===true){if(e){e.call(c)}}else{if(b>=f){if(g){g.call(c)}}else{setTimeout(d,a)}}},a)},maximize:function(){this.fireMaximizeEvent()},fireMaximizeEvent:function(){this.updateSize();this.fireEvent("maximize",this)},doSetHeight:function(a){Ext.getBody().setHeight(a);this.callParent(arguments)},doSetWidth:function(a){Ext.getBody().setWidth(a);this.callParent(arguments)},scrollToTop:function(){window.scrollTo(0,-1)},getWindowWidth:function(){return window.innerWidth},getWindowHeight:function(){return window.innerHeight},getWindowOuterHeight:function(){return window.outerHeight},getWindowOrientation:function(){return window.orientation},getOrientation:function(){return this.orientation},getSize:function(){return{width:this.windowWidth,height:this.windowHeight}},determineOrientation:function(){var b=this.PORTRAIT,a=this.LANDSCAPE;if(this.supportsOrientation()){if(this.getWindowOrientation()%180===0){return b}return a}else{if(this.getWindowHeight()>=this.getWindowWidth()){return b}return a}},onItemFullscreenChange:function(a){a.addCls(this.fullscreenItemCls);this.add(a)}});Ext.define("Ext.viewport.Android",{extend:"Ext.viewport.Default",constructor:function(){this.on("orientationchange","doFireOrientationChangeEvent",this,{prepend:true});this.on("orientationchange","hideKeyboardIfNeeded",this,{prepend:true});return this.callParent(arguments)},getDummyInput:function(){var a=this.dummyInput,c=this.focusedElement,b=Ext.fly(c).getPageBox();if(!a){this.dummyInput=a=document.createElement("input");a.style.position="absolute";a.style.opacity="0";document.body.appendChild(a)}a.style.left=b.left+"px";a.style.top=b.top+"px";a.style.display="";return a},doBlurInput:function(c){var b=c.target,d=this.focusedElement,a;if(d&&!this.isInputRegex.test(b.tagName)){a=this.getDummyInput();delete this.focusedElement;a.focus();setTimeout(function(){a.style.display="none"},100)}},hideKeyboardIfNeeded:function(){var a=arguments[arguments.length-1],b=this.focusedElement;if(b){delete this.focusedElement;a.pause();if(Ext.os.version.lt("4")){b.style.display="none"}else{b.blur()}setTimeout(function(){b.style.display="";a.resume()},1000)}},doFireOrientationChangeEvent:function(){var a=arguments[arguments.length-1];this.orientationChanging=true;a.pause();this.waitUntil(function(){return this.getWindowOuterHeight()!==this.windowOuterHeight},function(){this.windowOuterHeight=this.getWindowOuterHeight();this.updateSize();a.firingArguments[1]=this.windowWidth;a.firingArguments[2]=this.windowHeight;a.resume();this.orientationChanging=false},function(){});return this},applyAutoMaximize:function(a){a=this.callParent(arguments);this.on("add","fixSize",this,{single:true});if(!a){this.on("ready","fixSize",this,{single:true});this.onAfter("orientationchange","doFixSize",this)}else{this.un("ready","fixSize",this);this.unAfter("orientationchange","doFixSize",this)}},fixSize:function(){this.doFixSize()},doFixSize:function(){this.setHeight(this.getWindowHeight())},getActualWindowOuterHeight:function(){return Math.round(this.getWindowOuterHeight()/window.devicePixelRatio)},maximize:function(){var c=this.stretchHeights,b=this.orientation,a;a=c[b];if(!a){c[b]=a=this.getActualWindowOuterHeight()}if(!this.addressBarHeight){this.addressBarHeight=a-this.getWindowHeight()}this.setHeight(a);var d=Ext.Function.bind(this.isHeightMaximized,this,[a]);this.scrollToTop();this.waitUntil(d,this.fireMaximizeEvent,this.fireMaximizeEvent)},isHeightMaximized:function(a){this.scrollToTop();return this.getWindowHeight()===a}},function(){if(!Ext.os.is.Android){return}var a=Ext.os.version,b=Ext.browser.userAgent,c=/(htc|desire|incredible|ADR6300)/i.test(b)&&a.lt("2.3");if(c){this.override({constructor:function(d){if(!d){d={}}d.autoMaximize=false;this.watchDogTick=Ext.Function.bind(this.watchDogTick,this);setInterval(this.watchDogTick,1000);return this.callParent([d])},watchDogTick:function(){this.watchDogLastTick=Ext.Date.now()},doPreventPanning:function(){var e=Ext.Date.now(),f=this.watchDogLastTick,d=e-f;if(d>=2000){return}return this.callParent(arguments)},doPreventZooming:function(){var e=Ext.Date.now(),f=this.watchDogLastTick,d=e-f;if(d>=2000){return}return this.callParent(arguments)}})}if(a.match("2")){this.override({onReady:function(){this.addWindowListener("resize",Ext.Function.bind(this.onWindowResize,this));this.callParent(arguments)},scrollToTop:function(){document.body.scrollTop=100},onWindowResize:function(){var e=this.windowWidth,g=this.windowHeight,f=this.getWindowWidth(),d=this.getWindowHeight();if(this.getAutoMaximize()&&!this.isMaximizing&&!this.orientationChanging&&window.scrollY===0&&e===f&&d=g-this.addressBarHeight)||!this.focusedElement)){this.scrollToTop()}},fixSize:function(){var d=this.getOrientation(),f=window.outerHeight,g=window.outerWidth,e;if(d==="landscape"&&(f=g)){e=this.getActualWindowOuterHeight()}else{e=this.getWindowHeight()}this.waitUntil(function(){return e>this.getWindowHeight()},this.doFixSize,this.doFixSize,50,1000)}})}else{if(a.gtEq("3.1")){this.override({isHeightMaximized:function(d){this.scrollToTop();return this.getWindowHeight()===d-1}})}else{if(a.match("3")){this.override({isHeightMaximized:function(){this.scrollToTop();return true}})}}}if(a.gtEq("4")){this.override({doBlurInput:Ext.emptyFn})}});Ext.define("Ext.viewport.Ios",{extend:"Ext.viewport.Default",isFullscreen:function(){return this.isHomeScreen()},isHomeScreen:function(){return window.navigator.standalone===true},constructor:function(){this.callParent(arguments);if(this.getAutoMaximize()&&!this.isFullscreen()){this.addWindowListener("touchstart",Ext.Function.bind(this.onTouchStart,this))}},maximize:function(){if(this.isFullscreen()){return this.callParent()}var c=this.stretchHeights,b=this.orientation,d=this.getWindowHeight(),a=c[b];if(window.scrollY>0){this.scrollToTop();if(!a){c[b]=a=this.getWindowHeight()}this.setHeight(a);this.fireMaximizeEvent()}else{if(!a){a=this.getScreenHeight()}this.setHeight(a);this.waitUntil(function(){this.scrollToTop();return d!==this.getWindowHeight()},function(){if(!c[b]){a=c[b]=this.getWindowHeight();this.setHeight(a)}this.fireMaximizeEvent()},function(){a=c[b]=this.getWindowHeight();this.setHeight(a);this.fireMaximizeEvent()},50,1000)}},getScreenHeight:function(){return window.screen[this.orientation===this.PORTRAIT?"height":"width"]},onElementFocus:function(){if(this.getAutoMaximize()&&!this.isFullscreen()){clearTimeout(this.scrollToTopTimer)}this.callParent(arguments)},onElementBlur:function(){if(this.getAutoMaximize()&&!this.isFullscreen()){this.scrollToTopTimer=setTimeout(this.scrollToTop,500)}this.callParent(arguments)},onTouchStart:function(){if(this.focusedElement===null){this.scrollToTop()}},scrollToTop:function(){window.scrollTo(0,0)}},function(){if(!Ext.os.is.iOS){return}if(Ext.os.version.lt("3.2")){this.override({constructor:function(){var a=this.stretchHeights={};a[this.PORTRAIT]=416;a[this.LANDSCAPE]=268;return this.callOverridden(arguments)}})}if(Ext.os.version.lt("5")){this.override({fieldMaskClsTest:"-field-mask",doPreventZooming:function(b){var a=b.target;if(a&&a.nodeType===1&&!this.isInputRegex.test(a.tagName)&&a.className.indexOf(this.fieldMaskClsTest)==-1){b.preventDefault()}}})}if(Ext.os.is.iPad){this.override({isFullscreen:function(){return true}})}});Ext.define("Ext.viewport.Viewport",{requires:["Ext.viewport.Ios","Ext.viewport.Android"],constructor:function(b){var c=Ext.os.name,d,a;switch(c){case"Android":d="Android";break;case"iOS":d="Ios";break;default:d="Default"}a=Ext.create("Ext.viewport."+d,b);return a}});Ext.define("Ext.event.recognizer.Swipe",{extend:"Ext.event.recognizer.SingleTouch",handledEvents:["swipe"],inheritableStatics:{MAX_OFFSET_EXCEEDED:16,MAX_DURATION_EXCEEDED:17,DISTANCE_NOT_ENOUGH:18},config:{minDistance:80,maxOffset:35,maxDuration:1000},onTouchStart:function(a){if(this.callParent(arguments)===false){return false}var b=a.changedTouches[0];this.startTime=a.time;this.isHorizontal=true;this.isVertical=true;this.startX=b.pageX;this.startY=b.pageY},onTouchMove:function(f){var h=f.changedTouches[0],b=h.pageX,g=h.pageY,c=Math.abs(b-this.startX),a=Math.abs(g-this.startY),d=f.time;if(d-this.startTime>this.getMaxDuration()){return this.fail(this.self.MAX_DURATION_EXCEEDED)}if(this.isVertical&&c>this.getMaxOffset()){this.isVertical=false}if(this.isHorizontal&&a>this.getMaxOffset()){this.isHorizontal=false}if(!this.isHorizontal&&!this.isVertical){return this.fail(this.self.MAX_OFFSET_EXCEEDED)}},onTouchEnd:function(i){if(this.onTouchMove(i)===false){return false}var h=i.changedTouches[0],l=h.pageX,j=h.pageY,g=l-this.startX,f=j-this.startY,c=Math.abs(g),b=Math.abs(f),m=this.getMinDistance(),d=i.time-this.startTime,k,a;if(this.isVertical&&bc){return this.fail(this.self.MAX_DURATION_EXCEEDED)}if(a>b){return this.fail(this.self.MAX_OFFSET_EXCEEDED)}},onTouchEnd:function(f){if(this.onTouchMove(f)!==false){var i=f.changedTouches[0],a=i.pageX,b=a-this.startX,h=Math.abs(b),d=f.time-this.startTime,g=this.getMinDistance(),c;if(h *{height:100%;width:100%;position:absolute}.x-video-ghost{-webkit-background-size:100% auto;background:black url() center center no-repeat}audio{width:100%}.x-panel,.x-msgbox,.x-panel-body{position:relative}.x-panel.x-floating,.x-msgbox.x-floating,.x-form.x-floating{padding:6px;-webkit-border-radius:0.3em;border-radius:0.3em;-webkit-box-shadow:rgba(0, 0, 0, 0.8) 0 0.2em 0.6em;background-color:#03111a;background-image:none}.x-panel.x-floating.x-floating-light,.x-msgbox.x-floating.x-floating-light,.x-form.x-floating.x-floating-light{background-color:#1985d0;background-image:none}.x-panel.x-floating > .x-panel-inner,.x-panel.x-floating .x-scroll-view,.x-panel.x-floating .x-body,.x-msgbox.x-floating > .x-panel-inner,.x-msgbox.x-floating .x-scroll-view,.x-msgbox.x-floating .x-body,.x-form.x-floating > .x-panel-inner,.x-form.x-floating .x-scroll-view,.x-form.x-floating .x-body{background-color:#fff;-webkit-border-radius:0.3em;border-radius:0.3em}.x-anchor{width:1.631em;height:0.7em;position:absolute;left:0;top:0;z-index:1;-webkit-mask:0 0 url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACMAAAAPCAYAAABut3YUAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAPZJREFUeNpi/PX7LwOFwAyIG6HseiA+Ra5BjBQ6xg+IVwAxJ5T/HYgjgHgTOYYxUeCQUiBeh+QQBih7HVSOLiHDDMSTgTiTgLrpQJwLxH9p5RhOaLT4EakeFF3RQPyF2o6RhkaBGYkheRmIPYH4KbXSjC4QnyTDIch6danhGCcgPgwNGXKBNNQMb0ocEwXE24GYn4FyADJjI76Ej88x7UC8FIjZGKgHQDlxGtRsZmISMMjy+dBQoSXYBC0gv+NyDD80xzgx0AeAqg4fIH6NHk0qQHyMjg6B1WvHYDkNFjIgwS1ALMowMOAjEAeBHINe2Q0U+AUQYACQ10C2QNhRogAAAABJRU5ErkJggg==') no-repeat;-webkit-mask-size:1.631em 0.7em;overflow:hidden;background-color:#03111a;-webkit-transform-origin:0% 0%}.x-anchor.x-anchor-top{margin-left:-0.816em;margin-top:-0.7em}.x-anchor.x-anchor-bottom{-webkit-transform:rotate(180deg);margin-left:0.816em;margin-top:0.6em}.x-anchor.x-anchor-left{-webkit-transform:rotate(270deg);margin-left:-0.7em;margin-top:-0.1em}.x-anchor.x-anchor-right{-webkit-transform:rotate(90deg);margin-left:0.7em;margin-top:0}.x-floating.x-panel-light:after{background-color:#1985d0}.x-button{-webkit-background-clip:padding;background-clip:padding-box;-webkit-border-radius:0.4em;border-radius:0.4em;display:-webkit-box;display:box;-webkit-box-align:center;box-align:center;min-height:1.8em;padding:.3em .6em;position:relative;overflow:hidden;-webkit-user-select:none}.x-button,.x-toolbar .x-button{border:1px solid #999999;border-top-color:#a6a6a6;color:black}.x-button.x-button-back:before,.x-button.x-button-forward:before,.x-toolbar .x-button.x-button-back:before,.x-toolbar .x-button.x-button-forward:before{background:#999999}.x-button,.x-button.x-button-back:after,.x-button.x-button-forward:after,.x-toolbar .x-button,.x-toolbar .x-button.x-button-back:after,.x-toolbar .x-button.x-button-forward:after{background-color:#ccc;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ffffff), color-stop(2%, #dedede), color-stop(100%, #bababa));background-image:-webkit-linear-gradient(#ffffff,#dedede 2%,#bababa);background-image:linear-gradient(#ffffff,#dedede 2%,#bababa)}.x-button .x-button-icon.x-icon-mask,.x-toolbar .x-button .x-button-icon.x-icon-mask{background-color:black;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #4d4d4d), color-stop(2%, #121212), color-stop(100%, #000000));background-image:-webkit-linear-gradient(#4d4d4d,#121212 2%,#000000);background-image:linear-gradient(#4d4d4d,#121212 2%,#000000)}.x-button.x-button-pressing,.x-button.x-button-pressing:after,.x-button.x-button-pressed,.x-button.x-button-pressed:after,.x-button.x-button-active,.x-button.x-button-active:after,.x-toolbar .x-button.x-button-pressing,.x-toolbar .x-button.x-button-pressing:after,.x-toolbar .x-button.x-button-pressed,.x-toolbar .x-button.x-button-pressed:after,.x-toolbar .x-button.x-button-active,.x-toolbar .x-button.x-button-active:after{background-color:#c4c4c4;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ababab), color-stop(10%, #b8b8b8), color-stop(65%, #c4c4c4), color-stop(100%, #c6c6c6));background-image:-webkit-linear-gradient(#ababab,#b8b8b8 10%,#c4c4c4 65%,#c6c6c6);background-image:linear-gradient(#ababab,#b8b8b8 10%,#c4c4c4 65%,#c6c6c6)}.x-button .x-button-icon{width:2.1em;height:2.1em;background-repeat:no-repeat;background-position:center;display:block}.x-button .x-button-icon.x-icon-mask{width:1.3em;height:1.3em;-webkit-mask-size:1.3em}.x-button.x-item-disabled .x-button-label,.x-button.x-item-disabled .x-hasbadge .x-badge,.x-hasbadge .x-button.x-item-disabled .x-badge,.x-button.x-item-disabled .x-button-icon{opacity:.5}.x-button-round,.x-button.x-button-action-round,.x-button.x-button-confirm-round,.x-button.x-button-decline-round{-webkit-border-radius:0.9em;border-radius:0.9em;padding:0.1em 0.9em}.x-iconalign-left,.x-icon-align-right{-webkit-box-orient:horizontal;box-orient:horizontal}.x-iconalign-top,.x-iconalign-bottom{-webkit-box-orient:vertical;box-orient:vertical}.x-iconalign-bottom,.x-iconalign-right{-webkit-box-direction:reverse;box-direction:reverse}.x-iconalign-center{-webkit-box-pack:center;box-pack:center}.x-iconalign-left .x-button-label,.x-iconalign-left .x-hasbadge .x-badge,.x-hasbadge .x-iconalign-left .x-badge{margin-left:0.3em}.x-iconalign-right .x-button-label,.x-iconalign-right .x-hasbadge .x-badge,.x-hasbadge .x-iconalign-right .x-badge{margin-right:0.3em}.x-iconalign-top .x-button-label,.x-iconalign-top .x-hasbadge .x-badge,.x-hasbadge .x-iconalign-top .x-badge{margin-top:0.3em}.x-iconalign-bottom .x-button-label,.x-iconalign-bottom .x-hasbadge .x-badge,.x-hasbadge .x-iconalign-bottom .x-badge{margin-bottom:0.3em}.x-button-label,.x-hasbadge .x-badge{-webkit-box-flex:1;box-flex:1;-webkit-box-align:center;box-align:center;white-space:nowrap;text-overflow:ellipsis;text-align:center;font-weight:bold;line-height:1.2em;display:block;overflow:hidden}.x-toolbar .x-button{margin:0 .2em;padding:.3em .6em}.x-toolbar .x-button .x-button-label,.x-toolbar .x-button .x-hasbadge .x-badge,.x-hasbadge .x-toolbar .x-button .x-badge{font-size:.7em}.x-button-small,.x-button.x-button-action-small,.x-button.x-button-confirm-small,.x-button.x-button-decline-small,.x-toolbar .x-button-small,.x-toolbar .x-button.x-button-action-small,.x-toolbar .x-button.x-button-confirm-small,.x-toolbar .x-button.x-button-decline-small{-webkit-border-radius:0.3em;border-radius:0.3em;padding:.2em .4em;min-height:0}.x-button-small .x-button-label,.x-button.x-button-action-small .x-button-label,.x-button.x-button-confirm-small .x-button-label,.x-button.x-button-decline-small .x-button-label,.x-button-small .x-hasbadge .x-badge,.x-hasbadge .x-button-small .x-badge,.x-button.x-button-action-small .x-hasbadge .x-badge,.x-hasbadge .x-button.x-button-action-small .x-badge,.x-button.x-button-confirm-small .x-hasbadge .x-badge,.x-hasbadge .x-button.x-button-confirm-small .x-badge,.x-button.x-button-decline-small .x-hasbadge .x-badge,.x-hasbadge .x-button.x-button-decline-small .x-badge,.x-toolbar .x-button-small .x-button-label,.x-toolbar .x-button.x-button-action-small .x-button-label,.x-toolbar .x-button.x-button-confirm-small .x-button-label,.x-toolbar .x-button.x-button-decline-small .x-button-label,.x-toolbar .x-button-small .x-hasbadge .x-badge,.x-hasbadge .x-toolbar .x-button-small .x-badge,.x-toolbar .x-button.x-button-action-small .x-hasbadge .x-badge,.x-hasbadge .x-toolbar .x-button.x-button-action-small .x-badge,.x-toolbar .x-button.x-button-confirm-small .x-hasbadge .x-badge,.x-hasbadge .x-toolbar .x-button.x-button-confirm-small .x-badge,.x-toolbar .x-button.x-button-decline-small .x-hasbadge .x-badge,.x-hasbadge .x-toolbar .x-button.x-button-decline-small .x-badge{font-size:.6em}.x-button-small .x-button-icon,.x-button.x-button-action-small .x-button-icon,.x-button.x-button-confirm-small .x-button-icon,.x-button.x-button-decline-small .x-button-icon,.x-toolbar .x-button-small .x-button-icon,.x-toolbar .x-button.x-button-action-small .x-button-icon,.x-toolbar .x-button.x-button-confirm-small .x-button-icon,.x-toolbar .x-button.x-button-decline-small .x-button-icon{width:.75em;height:.75em}.x-button-forward,.x-button-back{position:relative;overflow:visible;height:1.8em;z-index:1}.x-button-forward:before,.x-button-forward:after,.x-button-back:before,.x-button-back:after{content:"";position:absolute;width:0.773em;height:1.8em;top:-0.1em;left:auto;z-index:2;-webkit-mask:0.145em 0 url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAABGCAYAAADb7SQ4AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAiNJREFUeNrEWb9LQlEUvj5BcHoQvMnVKXD1D3CLwqBJbHJsazQaWoSCxgbHJiMIAiNok6AhCDdXVycnJ8EQOgeOYaG+d39998KH+HyP753zzjnfd325xfdSgVeV8B6BScuEV0IRSbxHeCMk/AVFXCA8ScQKSXxPqK0fQBBfE5r/D+Y8VzUT9jb94DPimqRYIYkrhGcpKhhxIqTxrpNcExdlQJTTTnRJnCc8ykhUSOIOoZ71ZFfEZ4S2zgUu+rguxZRHEnPbfKRVsOtUl0RtYpOLTYljIS2Z3nVk2DY9SbNCEt8RDm0rUpe4La1jvXSqmtum72raZI24KuNQIYl/nSGSOJb0Jq61M0pxhjwK9304hUjHGSKILzc5Q5drUzttdYY+I97pDH1FzG0zNFUb04gTG4kzJS5kdYauiZtZnaFr4ooKsCIVaDHxKAQxt1NBnGIVHfGCcEQYh3jGU8KBfMKLiyM+lgzAq/qT0ArVTg+Ei1B9fEPoovV4fcfQd2HedScX39GprwGTNjJn0maTELN6IuSzECLB6T5x2eM66jQgnIeSxa60GnS3uL56tr7b1Ai0JPVwYi6yho2U2lgfKym19VxjMRHzEGbvS9K+RBPzetGVUpf29lZHSl2/DMnLvwh1ZMQrKW3Ic4fvJOZS6ZMQW5hpmpT63DvtlFLfm7bBNruM2C2yXb7y3U6ZpRS5P/4jpUjihRTbCJ3q1eL3GMMfAQYAJmB6SBO619IAAAAASUVORK5CYII=') no-repeat;-webkit-mask-size:0.773em 1.8em;overflow:hidden}.x-button-back,.x-toolbar .x-button-back{margin-left:0.828em;padding-left:.4em}.x-button-back:before,.x-toolbar .x-button-back:before{left:-0.693em}.x-button-back:after,.x-toolbar .x-button-back:after{left:-0.628em}.x-button-forward,.x-toolbar .x-button-forward{margin-right:0.828em;padding-right:.4em}.x-button-forward:before,.x-button-forward:after,.x-toolbar .x-button-forward:before,.x-toolbar .x-button-forward:after{-webkit-mask:-0.145em 0 url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAABGCAYAAADb7SQ4AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAXlJREFUaN7lmTFqAlEQhh8EhFSCYJXW1law9QAewMrWAwQWAmmtbPcGHiCQ1gPYCla2QsDKSsgmQecvFqImu2/fzry/2OLb9mt23vwz47Kvn5MwEFxM8DkLB6HHEIOd0GGIwUpoMcRgyRKDOUsMJizxpzBiiMFR6DPEeZl1GWKwFh4ZYvAmPDDEqmVWVQxmLPG3MGaIVcosVAz2whNDDDZCmyEG7yFlpiEGKUsMEpb4XKXMtMXeiVVb7J1YLcRgW1ZmVuLSxGopLkys1mLwwhL/mVhjie8Sayxx3kp7DPFVYo0tzhNriyEGU5Z40TjxtDE/F6WcDowHBE/msDFNImG0xZQRBAonDCvxhhH2vKZIZ9Ds+7EDfaWFnKZ4xhja5owxdcnYCAQv1p1Gi4sprn08cZbDt6ZYZasXIn5mLFHTjLCvVt1V+4rVt/M+4r3FPaJMbHaBKRKb3pyKxKZXtv/Er4yjZpRL6q042u34tzh4xV9H/FHnqBHKBQeEd6aqqwD6AAAAAElFTkSuQmCC') no-repeat}.x-button-forward:before,.x-toolbar .x-button-forward:before{right:-0.693em}.x-button-forward:after,.x-toolbar .x-button-forward:after{right:-0.628em}.x-button.x-button-plain,.x-toolbar .x-button.x-button-plain{background:none;border:0 none;-webkit-border-radius:none;border-radius:none;min-height:0;text-shadow:none;line-height:auto;height:auto;padding:0.5em}.x-button.x-button-plain > *,.x-toolbar .x-button.x-button-plain > *{overflow:visible}.x-button.x-button-plain .x-button-icon,.x-toolbar .x-button.x-button-plain .x-button-icon{-webkit-mask-size:1.4em;width:1.4em;height:1.4em}.x-button.x-button-plain.x-button-pressing,.x-button.x-button-plain.x-button-pressed,.x-toolbar .x-button.x-button-plain.x-button-pressing,.x-toolbar .x-button.x-button-plain.x-button-pressed{background:none;background-image:-webkit-gradient(radial, 50% 50%, 0, 50% 50%, 24, color-stop(0%, rgba(182,225,255,0.7)), color-stop(100%, rgba(182,225,255,0)));background-image:-webkit-radial-gradient(rgba(182,225,255,0.7),rgba(182,225,255,0) 24px);background-image:radial-gradient(rgba(182,225,255,0.7),rgba(182,225,255,0) 24px)}.x-button.x-button-plain.x-button-pressing .x-button-icon.x-button-mask,.x-button.x-button-plain.x-button-pressed .x-button-icon.x-button-mask,.x-toolbar .x-button.x-button-plain.x-button-pressing .x-button-icon.x-button-mask,.x-toolbar .x-button.x-button-plain.x-button-pressed .x-button-icon.x-button-mask{background-color:#fff;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #e6e6e6), color-stop(10%, #f2f2f2), color-stop(65%, #ffffff), color-stop(100%, #ffffff));background-image:-webkit-linear-gradient(#e6e6e6,#f2f2f2 10%,#ffffff 65%,#ffffff);background-image:linear-gradient(#e6e6e6,#f2f2f2 10%,#ffffff 65%,#ffffff)}.x-segmentedbutton .x-button{margin:0;-webkit-border-radius:0;border-radius:0}.x-segmentedbutton .x-button.x-first{-webkit-border-top-left-radius:0.4em;border-top-left-radius:0.4em;-webkit-border-bottom-left-radius:0.4em;border-bottom-left-radius:0.4em}.x-segmentedbutton .x-button.x-last{-webkit-border-top-right-radius:0.4em;border-top-right-radius:0.4em;-webkit-border-bottom-right-radius:0.4em;border-bottom-right-radius:0.4em}.x-segmentedbutton .x-button:not(:first-child){border-left:0}.x-hasbadge{overflow:visible}.x-hasbadge .x-badge{-webkit-background-clip:padding;background-clip:padding-box;-webkit-border-radius:0.2em;border-radius:0.2em;padding:.1em .3em;z-index:2;text-shadow:rgba(0, 0, 0, 0.5) 0 -0.08em 0;-webkit-box-shadow:rgba(0, 0, 0, 0.5) 0 0.1em 0.1em;box-shadow:rgba(0, 0, 0, 0.5) 0 0.1em 0.1em;overflow:hidden;color:#ffcccc;border:1px solid #990000;position:absolute;width:auto;min-width:2em;line-height:1.2em;font-size:.6em;right:0px;top:-0.2em;max-width:95%;background-color:#cc0000;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ff6666), color-stop(2%, #f00000), color-stop(100%, #a80000));background-image:-webkit-linear-gradient(#ff6666,#f00000 2%,#a80000);background-image:linear-gradient(#ff6666,#f00000 2%,#a80000);display:inline-block}.x-tab .x-button-icon.action,.x-button .x-button-icon.x-icon-mask.action{-webkit-mask-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAFI0lEQVRoBe2YW4hVVRjHZ0yzq6lFEaMlE0PShYRAJIl6iEqKHnqI6WJB0IvdICkfEk0aIyo0KFCph8giCitI7CkoohQL7SoZDaQmXSgKo4uWNf1+zt7DOXvOOXuvvc85bc+cD36ssy/r+77/Xmt9e+3TOzIy0jORbNJEEqvWruBOH/HuCHdHuMOeQOmmdO+ozaA5oxXPunSC2Re4MbgCNiB6vvqbKbx0giNxp9BeBU/BIJqnRecLN2UVrLDj4GIYgscRfSltYSuzYMUdA/0wCI8ieglM5XduK7vgWJhTegGshucRfQHkyj1XpziLNrfmOh2ug1dhMaJn0gbZZDpNpsexQb2y3azfKXCAwns4W5dMd7m2B2ANLCT/x/A/nKknN5mUhWFp1g4Z7vM14jrbBZvgEwi1tAdkDEf3ZrgI0S/RrkP4IdqGpuA+cJo0yw7iyNfJmzAcMrokfjp93HC4XrPYCdzkgPXDPPqvJN7eRh0VrBWqfKMuev6k3Qzr4SP4HWqOFIkZ73iYA/NhLpwPZ4LLS+FZzUp+GtwAA/heS/sGwv+irWnXc9bdTRF20/8eOBWmEKwnCectOrPhSlgF2+Bb+Bl+AxP8B/6FvLn8Td8fYQXMSubgsVZU8Cv4mAeNhC7k+jLYCopzrRURlvZA9P8WLIJJlcI5zi1Ypw+Dr4oqp3EAzlsbLCjfg1PeEUxLtlnXXU4/wQboq8gpl2BHx2l5UuyosuW8I6rQb8Bp1iwRefy4VN6FReaopU3pX7jnhwSO7MmVIiNnJ3L+DtgHCm3ltA0RH4/26rhKk1tdu4kr7yeuHkKgU3rMqI5ncfAQDIKbg14oi1nJv4OvTShthC9LjmTyGB8XwhZw+oQ8+Xbc68C8AOboK6+YYPpfDV+B06YdAkJiuMtzhvrOP1JYafMLpu/Z8CmEJNGOe60fz0J/cjZmWcP0G2+sWZ/aUnCqhFosOq7gyf6uOT888th+Ot0HmxF7MOkgt2AcXQNLkg5rHPv+dffjVvPX6PdeWtf7MJhUssD578ZtEGL6sY4MIfTjeh1zCWZ0Z+DwQXAkapkjtzviPdoPYB+JuJVMNfy7QQkR7MbGPfRaYhi7ruUSjLcbwe1k0tw2vgivwy6C70/ekPE4JK+N+HySWDuz+A5xXOnvlsqD6Lf/QjwBnxNc4a02YwzBeuIdyBosWDDT7RKcn1MRYA+/V8ImAv9Rcb5VP53ufoQ8AB8S0+PMFiwYz5fDzCjCF7SLCbojOm514zZ3HViYLIZVxmD4h8B0rtWtFXkEn4tTv22thPe2SawVeDs8TTz/NqoyhLqDGoC7wervt3lNCxKMY/fIc+BLuJXgn9G20pyuVuA1sJF4vt7GjHx8nZnT7XAXzIXnoK4FCcbLVHAqLW+DWF8v78Aq2EY8v7zGDK2+EmfBI3AtTAPNTU1dCxXs/a6ht+t6bM4FNykvw/0IdYSrDLHu8iyeQ7Cg6mLKQahgd0pbSOJwit/cl6Np6p+BrxGn6hNUp1z3m/tOWAH+DrIgwSTQcBcTFLnOzcRwSjZ6j/vdvQyCxRrSanu0mWvZqp3LjkbBuYTGnSac4CxreCQqJPFD+r/bhq+dtOSyCO7DyWzIcm9avKLXXb+FcskiYjlBfB0lP9KLJp+nv6N7ZL+cp7N9sgg+L6/zMvabcEWrK7iM07CZOXVHuJlPs4y+rNJ74JkyJpczp62N+vWOfpw0uqWzrnXXcGeN53g13REe/0w660x3hDtrPMer+Q9LNCcV91c+jgAAAABJRU5ErkJggg==')}.x-tab .x-button-icon.add,.x-button .x-button-icon.x-icon-mask.add{-webkit-mask-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAABqUlEQVRoBe2awWnDUBBE843B4NxcQSAFOC4lJeTkoxtJDykgvRhcgCFNJCFgIs+ChEHSJX93YT6ZD4ssmR3NztNFH5Wu6+6iVynlEZpbp+4J3s5OjWm7DRxZuMMCdUB9oyzNmrJe01hEejMtM5exIh6bCI3JbFkDT27EckEDs5DI8iHCWcmy6IowC4ksHyKclSyLrgizkMjyIcJZybLoijALiSwfIpyVLItuOGFso/xiuEvAgJdeK0DqJrHEhtsTTh9ul9y/ChR2KE+Y1ruDt2ccI7d6PszcK+oFFblWELt3Cn6i/8epMW5/W+LKGrUZ/0NwboF5QxuPsfY8dmOxJs41cBOYHCZF2BFeE60i3AQmh0kRdoTXRKsIN4HJYVKEHeE10frvCNvr4RH1HojH3rGHr3hqA7VdkxPKvuKJ3AA4hn7BM3xxA5N71Fdv1gz/tax3P+hFHmsJwM/8wraMadqOh5GuXda76rVqNWb7wgeevQvRRQ1MBCPFiginxEokKsJEMFKsiHBKrESiIkwEI8WKCKfESiQqwkQwUqyIcEqsRKIiTAQjxcoVrP83/9czD9EAAAAASUVORK5CYII=')}.x-tab .x-button-icon.arrow_down,.x-button .x-button-icon.x-icon-mask.arrow_down{-webkit-mask-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpGRTdGMTE3NDA3MjA2ODExOTJDQUMyNUQwRUE4NjdEQiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoxQTFBMDFDQ0I5NEYxMURGQUU1RjlGMEFERUNDQTVEMCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoyMkRCMDIxMkI5NEUxMURGQUU1RjlGMEFERUNDQTVEMCIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IE1hY2ludG9zaCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjMwRTE0QzVBNDIyMjY4MTFCQ0ZCOTAzOTcwNzcyRkVCIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkZFN0YxMTc0MDcyMDY4MTE5MkNBQzI1RDBFQTg2N0RCIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+HfrH/AAAAeVJREFUeNrs2cFHBGEUAPA3zYqIiIhOnTpFRHSKrp26RqeuEV077R/QqWtE166dOkVERHRa9hQRnZalFcv0Hk/W1Mx+38z3vvlm5j3eZW+/9+abne+9KEkSaFPMQMtCwQpWsIIVrGAFK1jBClawgo2ik/4hiqJGwLKuvfpIc5xSkWqYr5hzU1s/mRNxXTPsJ+ZqluvXlwOmSj3XBDvG3M1rpAmYYoUrFzr4ZNqTawqm2MH8Dhh7ZXJUbcAUx4FinzBnJcAUl4FhP/jIgRSYKvkYCJaO2LbNv08RMMUy5nsA4COTLy0XYIqtil9iF6aflq7AwBWuAvuQ9ZKSBgNX2ieWjtKSzeXBNZgqfe8J+4W5aXtbcg0GrvibB/BhkeuhBJhigzsghT0veh+WAlMcCGHvMOMQwcCdcIntYy6WmXhIg2PuiAvsEHO97IhHGgzckb4D8L6LmZYPMHBnhiWwXVdDPF9g4A4Vwd66nFr6BAN3ygbbw1yoMzjmjplgB5hrrufSvsHAHesZDOD2JAbxVYCBOzfIAZ9JbR6qAgN3cPwP9kZy1VIlGLiTdluCmoOBO/pnS9Bk8DzmS3pL4BMcpZEe1qX0GI/atC4dQYXRMa1MU0IX4gpWsIIVrGAFK1jBCnYUPwIMAPUPAyFL+nRdAAAAAElFTkSuQmCC')}.x-tab .x-button-icon.arrow_left,.x-button .x-button-icon.x-icon-mask.arrow_left{-webkit-mask-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpGRTdGMTE3NDA3MjA2ODExOTJDQUMyNUQwRUE4NjdEQiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpGMDZEQTFBREFDOTMxMURGOEQ2MUVDMjM0MzY2NTBDQSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpGMDZEQTFBQ0FDOTMxMURGOEQ2MUVDMjM0MzY2NTBDQSIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IE1hY2ludG9zaCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkFGQzJEMjQxRjIyMDY4MTE4QTZEQzUxMDg5Q0Y0RTRFIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkZFN0YxMTc0MDcyMDY4MTE5MkNBQzI1RDBFQTg2N0RCIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+FXGmxAAAAghJREFUeNrsm09ERFEUxt+rxBAxqyFm1SqiRYpMSpFapUVaRGpTRIpIbWLaFJEoRZtilChRWiRKsyklilYRERERERGZvsN57Wfmvnnnznkfv+WM+bn3e/ePN24mk3E0pcRRllC42FOWy4dc1w30R+fz3LFthEs1TelZ0KlBuAIcgmRgHS5gqlm2RsNTmqbvrUlZycLT4BhUiliWfEwEbII+UeuwT4nzqNZq2Gm1gTu/ZaUIj4NTEBW7tTTY1zUwKH4vbaive6BBw2kpAa6DkA1CeBicgZhVx8McUg5WWNi+83CWiXFfE9ZeAGQR6ukBqJKyu/Gzw7TcXEiS9UuYbiWWeU8ckXYqMT2lozyFW6SeOU0K1/FhPS75RsHUlKbj3KV0WRPC1Nd5sCuxr6anNPV12zFwk2jLCCdtk81XeAIsahL+BVOgH3xrEPayA5rAixZhyj2oB2ktwpR30A5WtQh7vR4DQ+BHg7CXLdAMXrUIU26411dahClvoBVsaBF2uMsjYFRCrwt5a7kOOnjUVQg7vE43cr9VCDu8I6Nep7QIO7z3HgCTvHYXvbCXJe71hxZhyjmv1w9ahCnP/DDb1yLs9boXzGgR9rIAusCnFmHKCff6UYsw5Ymlj7QIU75AN5gz9YVuLu8eB/S+dA+v1+l83pe2Sfg/BRe2OeGfPELhUDgUtip/AgwAw4tbozZtKFwAAAAASUVORK5CYII=')}.x-tab .x-button-icon.arrow_right,.x-button .x-button-icon.x-icon-mask.arrow_right{-webkit-mask-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpGRTdGMTE3NDA3MjA2ODExOTJDQUMyNUQwRUE4NjdEQiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpGMDZEQTFCMUFDOTMxMURGOEQ2MUVDMjM0MzY2NTBDQSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpGMDZEQTFCMEFDOTMxMURGOEQ2MUVDMjM0MzY2NTBDQSIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IE1hY2ludG9zaCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkFGQzJEMjQxRjIyMDY4MTE4QTZEQzUxMDg5Q0Y0RTRFIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkZFN0YxMTc0MDcyMDY4MTE5MkNBQzI1RDBFQTg2N0RCIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+xvZexwAAAhhJREFUeNrsm8FHRFEUxu9rxhARsxqiVauYXWoTpTYtUkRqlWkz0WaiTW2iNi3atGhTm4k2E5GYSJRaZcZQtIqIISIiYhgyfZdv/oF59913X+cdfst5733u+c495743XqvVUpKiSwmLWPB/j2QnP/I8L9SH9lN3/KxwQlpKT4FtaR7eAhegR1LRmgEVMCCpSg+CGtNczLbUC8pgQ9I+rCv3LiiBbkmNxwJ93S+p08qCRzAhqbVMg2tQkNRLa1/vg6ILvrY5POTAXdi+tj0tDbOYjUoaDzPgBuQlzcMpcEhSkg4A8lztjBTBin6u0d8iBOvoYwXPSRGsuEcXuWcnJAhuR4G+TksRrGOMfXhWimDFjqzCyUuE4LavS5yxExIEt0OfopRN+DpKbx6MHAtHSfAeWPN7kWQEhDbAMjg1cTHXBdfBLHiSUKXvwZBJsS4LPgCT4NP0hV1L6SZYAcdB3cAlwe9gDlQlTEsP9Gs16Bu5IPgIjIOP/34AoP26Ss82bd00LA/r1Vzk1mM1whCsfTrPpsJ62E7pE/q1HpaPbAn+Betgib1xaGEjpb+Ywrcu7H9BC35m8//mSncTZEqfgRGXxAYpeJNp3FCOhemU/ub+euXqzGlS8AuYBq8unyiYSulLNv9OizUleIcr+6MiEF4n3x7ze2n9OkSfE5/bfmg/30v7ERxaWBcc5Yj/5BELjgXHgiMVfwIMAGPkXbHq6ClAAAAAAElFTkSuQmCC')}.x-tab .x-button-icon.arrow_up,.x-button .x-button-icon.x-icon-mask.arrow_up{-webkit-mask-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpGRTdGMTE3NDA3MjA2ODExOTJDQUMyNUQwRUE4NjdEQiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpDQUZBQUM3NEFDOTMxMURGOEQ2MUVDMjM0MzY2NTBDQSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpDQUZBQUM3M0FDOTMxMURGOEQ2MUVDMjM0MzY2NTBDQSIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IE1hY2ludG9zaCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkFGQzJEMjQxRjIyMDY4MTE4QTZEQzUxMDg5Q0Y0RTRFIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkZFN0YxMTc0MDcyMDY4MTE5MkNBQzI1RDBFQTg2N0RCIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+ar3jxgAAAbFJREFUeNrs2j9ExGEcx/H71YmmpoiIaIq4KSKi6dabbo1oiqamm1qboimiNZpuuikiIqLppiPipqYjIuLp+/D95vy6X/frfr/n730e3sst53XP9x7u+V2ilKpM05qpTNkCGGCAAQYYYIABBhhggAEGeNSqpl9IkiQKWNbvfBc7PDdNIz1PPVK7Trd+OMPrRr8l9Uat2nT9+CyCW4yVnnnHowTXqa8UWHcdI3iNGozASscxgReo7h9YxTtfjwXcHoOVBjwJQYNPcmKlLk9EkODGP7FSO0TwOvU+IVjxZAQD1iPZK4CVGiGAZ6lOCVjFE7LhO/i0JKzUK3KImQY3S8ZKHZ4cr8A16sMQWPHkeANepF4MYqWmD2A9arcWsIonqOYafGYJK73yRDkB71nGSnd5r4jKBG9Sn47AunOb4CWq7xAr7dsA61G69wCreMK2TIMvPMFKfZ44I+ADz7DSQ9YhVgS87fiQGtdlmeBlvkNWnndYBljfGT8FgJVDbKco+CoQrBp6mrEyKfgoMOyvpxlZ4CT9vcXj0shWNe8nE8vCfzwABhhggAEGGGCATa1vAQYAZekAmr8OukgAAAAASUVORK5CYII=')}.x-tab .x-button-icon.compose,.x-button .x-button-icon.x-icon-mask.compose{-webkit-mask-image:url('data:image/png;base64,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')}.x-tab .x-button-icon.delete,.x-button .x-button-icon.x-icon-mask.delete{-webkit-mask-image:url('data:image/png;base64,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')}.x-tab .x-button-icon.organize,.x-button .x-button-icon.x-icon-mask.organize{-webkit-mask-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAEdUlEQVRoBe2aS2xMURjHjbbqUaLoI7RChQUiGo9YaEqkoolIkCASSki68dixsLIVYmHbkJA03UgkFRI2QgRBKl4RgtJFK0jUI+o5fv/p68ztmUlHzpzO9PZLfjP3fOfcO9//fOeee+69E4lGo6PCZKPDJFZaQyc4N1mGI5FIMfUVkAfZMPaVwE54yqn6i+8BllQwravgAEyEv5DppsQ8gYPw3hqsJi0bNJ4El0GZzSa6iHcbjLbpsp7DDGX5V8ByyDbLJ+CdUGQLPNGQnkzj3TDFspN68BNkwhDPIY5poG/T1lBYR+LOkuW4uSeR4KXssN48grF9h20NdeukYLRL96Y6vAD2wCwwbQyFvXARPpoVA85fKnXiN4HtvP2Gf0tPG3XWUKNYT4E6PxjvD3x1EDHPZZvgxTTSDBc8gMrKbql5gKHeJh7NM6/AFu91/EVmjHGTFmN+HA3qYSoE7SuO8+zcEawY4vJdfr8Z/ljiqMS3AV2RvjpTPc7V0A623rqJv8RsnynbxDUXXieJuy/LfRmmEzSd7wKtroL2Hcc5BL4LVmRCmbheEIfmHduVQ1muQV/3BN2bJZyqaANbdm/jL+xtm4nfxKcsP08Q/zX8MxV3TDXqx+PYBGUQNHVAI9AsYrsuB9sPVflDT5xH+O7OZn8kK9msJf6G3ooFOOr66+O2NOVL6A7oP/njmmREQcN5LGhy1cLJtBwK++FSLqrVSGvPcrCZGu8DZTqTBSs+zUkarTZTUrerYh50gHYY7rSpRxZCCYTByvouS2FQK42hE9w7S/tKsOaIt/AGfoMWO3OgFLyYb8FaGByHl6C1r27jlsAh8HaN14LD1+x8jN/KNVdqlAvhgq8YfJ/DLYjVUDatk8J905HObd+Cf1rEaHTp5sSL+RacaKWWyO+8E3wLdi4g1QOOCE61x7Kt/UiGsy1jqcY7kuFUeyzF9ok6WA8ZvJjLtbQWEI/hXpLIW4N1rLyiPHV5hP9MsM4or2V7hlH+702XghWE3gAcTRKN3mjY7AZOdZbNCnAug4wTrNXSItCrmmYSZ3tGTNVAo+1nvCLOyLyeT9WC7WlqXNtUCq7vlpTlGkQMeG+Vio9j6NbxMOjtn8u7udjzaJcH1H3uLViVikCzLftqEtsKbeAyNh3LuWAdVM+yr8JsU8hgt9mvGh6ATousEKwgdcvXCMWDFap2mOYBTWK6b3YtNvYDrs9hM0i9BTgB+YMRTbvp0AS6bzaP43I7LUPaDFBvHPVmIy+ZaOp1+TkJX8Dc3/V22gUrYF1jN4L1r0T4NSPXg+sZ2dZZXgRr5m6BymCW8en6rc54BrYAXfu8CFbQmoQ0c1eYoilXw0NQp7gWZzueN8H68S44DbG/IPA9H66AL7FR12tpYk9qetOwGfSaVjcMNVAFie6iqHJv6bws2YaUfLpctYP+S5WoTVr8vjOMvphN4FN4N69Dybs6yw+OCLZ0yrByhS7DmrRaoQE0Kw5707JOf/UvH/ZKewTG/kscFrHSGbpzOHSC/wHSRhVOrpN3ggAAAABJRU5ErkJggg==')}.x-tab .x-button-icon.refresh,.x-button .x-button-icon.x-icon-mask.refresh{-webkit-mask-image:url('data:image/png;base64,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')}.x-tab .x-button-icon.reply,.x-button .x-button-icon.x-icon-mask.reply{-webkit-mask-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAES0lEQVRoBe2ZSWgUQRSGM24YTdSo4AYRTcxBEZJDJCoigrtGg6CIgihqogfRgEERguhB40UP6kHw4kEET4J4E9wPAdeg4ALigjuKcSMuMX7/mAmdSU/SXdM9PTPpBx/T3al67/31urq6K5G2trac3mR9epNYaQ0FZ3vFwwqHFc6yEQhv6SwraBc5YYW7DEmWXUhZhSORSC7UwKIgxzAlghE5CZFHoAEKgxTcz8/gCI3gfzHsh6l+xnLq2zfBaC0miXpYDvmgu+kXBGqeC0aohK2D7TAF+kPamKeCETseZdugGgZDSp4RxHFsnghGqKo4H/aB5uoASEtLWjBiZ6KsFlaAHlJpbUkJRmwl6rTcFKW1SktyRoIROhofdbARhlr8OTkMdBPNlWCE6iG0AA5AqRN1Nm1cxbTpn9Qlx8ERO4pIG0Br6yDDqH3pV4kvPdRewCd4C+/ZPdWx7xZxsk1LgqvIZDeUeZzRT/xJ8Dt4BQ/gGjSSVzO/3psEJ4JoY+A4fATNvVTwhjh34RSshMGJ8jO5biuWIJqrc6AJ/kIqhNrF+EFs3fqHYRoMMxFp7dNFME5Hwi5QMLskgrqmgb8M+hgZYRXh5riTYBxpFM9CUKKcxlWOSyHPjVi1jQqmYy7shQ/gNGjQ7f6Q6yWY7UY07XNK4CK0QtAiTOK/J29tLOQ7EU67nIGgtfU1mARMhz6a3zegtCfRHXOYxhXtndJBgGkOT9FQ1Z3oDsFqhBXAFngJpkGD7veN3NclEt1JcKwRHaaD3niCTt40vh6+q2N6rL+2gtUA03p8FL6AaeAg++ntsNwqNqor/kL8OZ2WgF71vEpeq8FvC36uDveJM8qqyenHwzg67oE1MAxMTeLOQyNod0SDqO2hCaDVIma6u3R9OAxq/9WxW9PT+wRsQ7RiE7Gbj4f4v9F8Fujxb1ptfR2tj/cbf04bfbbqZWgsFEM5LITNcBLc3HF6iM2IxXAlWJ0wJXEQfoFb4RJcEwtu8kv/PCiEGdAAevFQJbvL5Rh/j351uRbcLloVmA83ewgUn0TSgq2DRGzloVt9E9yDFoiPqfOvUBHN3erA7TFOtG6fBqdfVp4KtuZLDqr8DrgDdqIPcb2/UYXjAmmu1cLDBIGswX0THMuJHIrgDGglsMZu4nxI0oItgcbjUHP7MyRaanwXrHywvlAFj8E6v+dqZ8MTI9BzHO2DtaC9KY1wIEYurXCO4JrbjyA6CvzO80wwznS3tMAFDpfBKdArnkY4ECOXqwTWUqZvA1mJp4L/+4wKf8ZxDeyE26AlLBBD9HUC14GWr8mezWEc2/oiiNZM/TumGbRLkdQ6nChOT9eJWw3ffakwjjuMRF5wUg9b4QnE5hOHKTVNsSuO3qW9SosN/Yn4KmAQbnnl040f4pelVLCb5Pxq6/st7Vfipn5DwaYjlyn9wgpnSqVM8wwrbDpymdIvrHCmVMo0z15X4X9rh8wHLEjawQAAAABJRU5ErkJggg==')}.x-tab .x-button-icon.search,.x-button .x-button-icon.x-icon-mask.search{-webkit-mask-image:url('data:image/png;base64,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')}.x-tab .x-button-icon.settings,.x-button .x-button-icon.x-icon-mask.settings{-webkit-mask-image:url('data:image/png;base64,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')}.x-tab .x-button-icon.star,.x-button .x-button-icon.x-icon-mask.star{-webkit-mask-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAFfUlEQVRoBd2aXahVRRTHz/Ujv+2mZRGZB7W6mtpFikC7+UWUZiqBD0JPFdRL1EMFPfjoU4baS0FUD/UWZBEVShA+BCpmWApRSkgllNpDmZWZt9//eOay72afvWfWOTPn3rvgz8yeWbPW+s/XmT379AwODtZSSQ+CryVgA/gVfIx/pelEhFMBVlvBOaBeFo6Cean8y09KsnMg932TqCOs9M2UhMfhMJVsxtHcAmcbmekLCsqjFKUkvAYG1xSwmEHZqoLyKEVJCDOCNxH9HUCbVl6mULAuXxjrOQlhgl8Bbi0h0Uen3FBS37GqVIQHiHh2SdR16jTlo0t0woycpuxiUDSdHcFeMv3uIWYanTDB3wIWVZBQHP10zuQKvbarUxDWT1HRz1E++Ds99fLtgp6jEmbExhPNcs+IbkZPiCpRCRP5TPCQJ4MJ6A3QSUqjSWzC2ozuC4j+fnSnB+gHq8YmvJKIJgVEpRPX9QH6waqxCa8PjEhHT981H2j6qno0wqzF63BhOUxsom3Zb7aJqGsUjTAONFJlpysXQz7VuXpavrBTzzEJaz1adlzNjHs6RTBvJyZhjZTF/kTaWZZCnlvhsyWgQkPZQpagzsX1bFlAXjGtDdAPUu1p3PPQhCCXkdwG/mta0PWLds060AuAnqtEOjpdbQR3VymX1P9F3UfgGJA9X9F92c/ADaQ2P8V0DJ4/kDbeYKaSvgI2AN0+OGJK1VAbSIhTOXEOybYll2kte77yD4rqrHyb85S9Cl4HtReAyI11/A7HpRq5PSD6oR0f3Rad+H7S1DvV7UgS+tc1cU3n3V/AWJ/SX8BxVuMinow2rNNjlPQVeH0GFg378kDBfLAPXARjZbTPwmUXmOG+bgz71EKFfqKeAUWfREZbJxyCxyOOqEuHER4qrNUWovwy0CFktBHV4eNZMNvxyaaFhKWAaBt/HJwEo4W0luSKLMF8viVhp4iBeeBd8CcYqcQ1qi+CKS7uVmklYdcQY0+C42Ckkf6EmO51cVal3oRlCFkCdKgfCWtbo7obDO3AVWQbHHyUsjo40E6uq9cvQbdG+wN892fj8s0HjXDWKA51/t4JUo72H/jTDtybjSUkbyYsJ0gdfAtSjfTn+JoWQjCv2+57a4M1QaQSvZvrMsIs7RJejGcdUlLJUhzpZsYsZsJcCen6ZwCE3IaYA2021OfUdU3fJltmwni7Fvh+KDMF16KR3ux0lWuSdgjPxeNdJq/tNdKNqJaSSUyEmVK6JNPomtqbIh3eSKNsEmvAarfJ5LEzjbbR59MtpqyEb8eZjpndkhtxvNri3Er4YZxpx+yW6Jdhi8V5MOHm+n0QZ9afo0u0fQO8A5S3iPaQ1cTSG9w4f/SqesZBH/gRWI6T+gyyxfkgvw2cMdrS+/lTzpZvGnyWxsnTwHLRd4R2a/OBqQyoztKBe/P2qp6DCBOUptKHhuA+pU1fq2Co0/F0L9CVaghxXTbWW9ktKg8lrFfCrwODeh/9wgu1bEDo6OT2Fvgb+JLWq+nQEsnaa5UPJbwKBxc8A9KXPG1O3u+u6E4F24GvD3XMDjCxFcF8uTdhjGpHfwn49L42lCeAdyDZwGi3HpwAPr6+Q29htn1ZPoSwfuz3ewShXVcBNz62lzkvq6O9DjZHgQ9p72kdQljvob9VBPAN9Q+UEQmpw5b+Sf8e0FotI/4a9ZN8bIcQXlnh9AD1y3ychuhgU0tpJyhb14epn+ljN+Sk9S9G1ct50d8SdgF9x9EO3lHB5hXwPEYfA8dbGD9LuWZBtfj0inSQWUDTKzu1dAB5Dkz2tdOOHn70LvwVyMag/FYwzse295Rukq5j+G1wEOib66PAy5FPMD46+NPmqTV7CpwGGvkJPm2l8z8GWDNDloqpGQAAAABJRU5ErkJggg==')}.x-tab .x-button-icon.trash,.x-button .x-button-icon.x-icon-mask.trash{-webkit-mask-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAFBElEQVRoBe2aS4gdRRRA8+L/m0QIJkYNLlQUNOAvigpRcCEIcSsiCLoLLoILcaM7QVBX4koRshDxt9CFKCoiuvGDCP5QkxCiJhInRo2Ovzie80gPNWX1dL3uesM09IUz3V1169a9daur+031aG5ubkUpGY1GK7G1Dq4Cz9vKiIY74Sv8+72tkWQ7Ay4Bxo+Hu2E3/AuOZBf+ov2TsL6Ef5WNUsGazXvgEHQJMm77N/aeg3Mrh7seOweMM2bWYH+B2OES1/9g9w0oEnSngHHCYO+FGSgRXJ0NM/0idA565BRpKyxSt9J2B5xWY+Mw5Udq6uqKT6XimESlmX4d7sTnA4n6rKJjs7QSSgTrSno7nJyodtFyGr4AP4G6TeLIHweb4A44C0LR1xtgCzwP7aTtIkBvLlSfQjwNZyl7FNa0sU077V4DX0Js25X7cRjPzDb2Nd5FnK7xPbGXskdwxsxOLLRzdnwIj8GvkQFnypqobKLLrgGnOjMzP6cqJijzfn0NXPljmXRNWNC+dcBHM7HA2NELp10nwbaz5iC4OsdidTyrYp3a68ZFi7XJFfNsOBGcUmFnPpbiBWkVZefT7g+OXcTF0EUsFPtaje0Lw0LOzfoM49B4Gy36WMKwK+WDcC2cAmGwXK7YAAYdym9c+NiIdUOdnHODc6DjpPioix9LBvwtPE3QOzjWi7MjBS0M8CGY1huUA1ISg/4cNqXiqcqSwVqJ3AQ/QEmnpm3LR+IzsLYKMD4mA6bBOfAKuFpO28nS9v0Bcxckn9V1Ad9Pg2m/H5cONLT3Mf5fFGfX63hBQG8s7/LXxcdV0nvjMtgKp0MojuaroM60xYB8Z78ZTog6c515B1ylXey+ARe3/0tqFNCy0RjrkdvgOwhH0TeiB2A1uMBNGx9Ta+FZiP34mrIrQR39cECSUzqZYYIcR0mjJtmFwmHUvdenLjwmnUl7Eh05+LP40fjvoGTACYN1Rc6CecGhM7lw2lt+AA7Fg4fOespXgYO0j3pvnXmh3rY+/52+vrXtRSd841rQJ/WV1JVX9eNj14DnjeHnJVw8DBeAnX8A2ynfXwXN+cWUPQUOjNl6i7Jt1I9nCOe+1V0NT4AB/wkvw31QRIoFjDfnwRXgfVbJGZzsry44boTNUGVjlvOToPpV5FvbjXApKE7VLZ6UkpWlDGHH+96pV93/4TSsujGA8MeF51Xw6njuO3soKTth/UTnJQOeqONFlKsBW0SlfdVyDLh9NBkth4AzBqnXKkOGe52+DOeHDGcMUq9Vhgz3On0Zzg8ZzhikXqsMGe51+jKcHzKcMUi9Vhky3Ov0ZTg/ZDhjkHqtMmS41+nLcH7IcMYg9VplOWY4/Md88cEtHbDOVg5Xx9jpsM9Yx52JeAcw1ontTXRdcm9pFz3vBveHdNJN6YPVRhrnivtMlruZ5g7DFxBuXLut8j7sA/d43Yr5CIpJsYAJ7DN2/27Bsw1gwAb3I8wLOp+g4w6+nw/6HddOyszqWDg/Qv2bXFwH4+1SyhyUYtI1YLc85wXn/ORAagWdPVRKUqh3AJwtdTLeWq2rbCoP76cm3bjeLG6ELjZim03XJujyJqXF6rtmeDvGNzMN/ajEAZi2rKOD67t00jVgN7+3dnFgqdsu5XRc6tiS/eUGvBTTNengBIVZPuYG7LcYPjdluYk++bTw++pGyQ34bSy9B35Vs5zEYGfgJfg+x7H/ADoy2VfnrtXoAAAAAElFTkSuQmCC')}.x-tab .x-button-icon.maps,.x-button .x-button-icon.x-icon-mask.maps{-webkit-mask-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAADl0lEQVRoBe2b24tNURzHjfutXEPycDAltwhJbuMSJUqSB/HiES/+AK9ePc6T8uCFkImQW5KGkdwSxYyMGkZu45bbDOPzyZyTrJnjnDkGrVm/+szas2bv397f33ftPS+/Vdba2toj5igj0NcfRkG/3qWIJdcIrs/AO6gDq7cKPkOjUNAmxr8ePJsix8NUWAvLoapowSQawIUzYCZUwAqohF3QAjtgGTyCy5x/nfEu1MNDCmAxuiS4Vy8ST4DZMB9WwiTIRUGC26q1gKtWwyyYBsPB5aLIL5CNTxzotDeWTeA5DUKuO4xXoQbxHpcUbSIzJFkDi0EzdLYnBNGuYJJ4ch+YAhvB5TAORsKvib4x97vwPpk2FjJuhibu85zxAlyCangBLRQib06u68t5vk4uVYVqgO+oqy9v5ASTRLd0LQNLYB24bAfBnw5zikX0HtuhGW5ANY9ylvEBvIY3FOArcz7rWHCpboBFMAxyGjguKIZy1jzYCqfAD5BLslB8J3dCP/AdOgo+fKHXd3Sebh+EctCMieBK6Oj8QuYrXZ7roQr88PiSD4b/IVyyfhB9jQy/uppTUijYhANLytJ1F/sxzL7POpg97vQdFfwVTNYtQsHdKpLg2O1ODieHI6tAWtKRGRrISQ4HJYlsIjkcmaGBnORwUJLIJpLDkRkayEkOByWJbCI5HJmhgZzkcFCSyCaSw5EZGshJDgcliWwiORyZoYGc5HBQksgmksORGRrISQ4HJYlsIjkcmaGBnORwUJLIJpLDkRkayEkOByWJbKLbOVx0r3E7httIbttwNvzddt//JWxIfQynYX8pgu2TbgBbjw9Ds53sNHJv49gOehu5bUe2DfjXojDVpWG/9iu4CEegBp7xfO+LFfyGC5+AiQ7BFXj/c8s+xw+Z24PwvYwKnQxLoQLccGEB7Hsu9t5ckjcU2QjuozgA5+Apz9PCmItCbvqWs2vhJpwBl8ZrEuVtOebPtiWLbf2ymyL0ZVT8XJgDbgHIgFsPOhPmr4d7oAnHue9txg6jI8EfueIaHIOrcAuafieSc/IG19vw7TYD6UEBbE4vhwxMB7cizIYhYPT6MeR+WjBFPoCToEgF1hb6bD8LNpHLwT0L56EOGkhUchc6edoNcruvQWoQ7/6GMTAa3E2zACxGNjRhH9wHV4zP9oGxqCjj7C0wA06Ay/YliRT/T4MCuGnEfQ4feJ5mfvdfaG+OXSWdju+VpAoIK3D9tAAAAABJRU5ErkJggg==')}.x-tab .x-button-icon.locate,.x-button .x-button-icon.x-icon-mask.locate{-webkit-mask-image:url('data:image/png;base64,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')}.x-tab .x-button-icon.home,.x-button .x-button-icon.x-icon-mask.home{-webkit-mask-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAEK0lEQVRoBe2Zy28NURzHe/vwqEepYkFIQzxWaCOC2HhELEgQImhXIrqyIEXikVQi+gdIwx9AItg1NiJELMSGhKQbobY2VY9Srfp8m5lmTO/cOXN7Zu656f0ln8zMnTNnft/z+505j5sbGxurmk5WPZ3ESuu0E1xbigjncrka3jsbftClIvsU5RZ65aLK5Lj/C75SzSjHWCuJYLxqhPXwBgYhylq4sRaixChDP8EzGIJ4UwNnCR6tgFswANegKer93LsLim4herm/JKqO8O+ZRdhL42acOwunYAacg2Hu3ePYj3Ph1A1fU2ySmZSZeCiTjxaC1LAboRs6QGJl8+AKXIU1kLqlHmHEqlFboQv2gD40QdPHqx3qKdtJkD8Hb9o+TzXCXmT1cboB+cT6evTVPgIXeWYl6DoVSy3COF2Hx0rjTthp4L0a/4xXrofn33OeqH8avKMqFcE4O4uXb4ULsNfEEa+M0v00LIIuCKc/P03NrAtGrD5Iiuh10Dia1JTOR0EZsjjpw3HlrQpGbD0v3AzFig36e4CLkeAPNs6tCUbsHBxS+mpsLSayYT2KtLBqVgQjdgFe7QP1u9VWPbRc2ZQFe2LV5zSBWG7ZP+vVTUkwYhvx6DicB+fFqvWKFuyJ1QxJ00It48rCNNgnNi+N23hQaVw2YiU0cYQRq9Q9CJdBKV1q02zMeEaWSDBil1L5JTgBDeCCzcUJ8cXImfACOeqayjbBffgDfqu6cPyJP3dgVZTvwd9jdzuoSFmgicRDGAYXRIZ9+I5fPbA6KC7feUHBVKD5rJZ1EutaZMOiv+HjbWjJJ9T/LVIwDyqyh+ApuC7WFy/RCk4r5HyRwWNewRSW2N3wGv6CX2E5HBWcB9AaFOqfTxJMQa1lNewosqNQDiLDPmqv+hFsgzpfrI7/CeamVjwnQZEtV7G+eEX6MeyHGl/0hGB+1MJdYt+B/1C5H9UdX8J2qJ6IMBfz4Ri8hXIXGfZfmdoLWr5W1zJ7ktg2aId18BuiTHNvDVUumQSNxDikLSdtBzdok0yCD8MyiLNmCqhxXBL9An+egNI3yqRT9z+O92FO/O2UuOMuymoqF06bUl53489MQw21Gm8lWmkRa6R/oVaMfT6lAmrsUVMNRa2HU3I8k2orgjNp5hK+ZLwPp/x+fR+0ONfMp9BfJ+qLmulpyze1zMtC8AACbkI/xAneQZkO0JiZimUheAjPn0MfxAnWVo3RiEG5oiwLwXJsmGFDK5iCxrCnGZNSOzVLra+EPDZ9T6EMCFVZ3KWpI8XV7uBTFcEOBsWqS5UIW21OByurRNjBoFh1qRJhq83pYGWVCDsYFKsuVSJstTkdrGz8L0VTv1i+NVF2CyTJDC0LX7E8HIx7D/Vrb3wDaLvY1D5QsI/6jXZUEwk29cDlckki5bIOY9+mneB/GfbU3e4Ey5kAAAAASUVORK5CYII=')}.x-button.x-button-action,.x-toolbar .x-button.x-button-action,.x-button.x-button-action-round,.x-toolbar .x-button.x-button-action-round,.x-button.x-button-action-small,.x-toolbar .x-button.x-button-action-small{border:1px solid #002f50;border-top-color:#003e6a;color:white}.x-button.x-button-action.x-button-back:before,.x-button.x-button-action.x-button-forward:before,.x-toolbar .x-button.x-button-action.x-button-back:before,.x-toolbar .x-button.x-button-action.x-button-forward:before,.x-button.x-button-action-round.x-button-back:before,.x-button.x-button-action-round.x-button-forward:before,.x-toolbar .x-button.x-button-action-round.x-button-back:before,.x-toolbar .x-button.x-button-action-round.x-button-forward:before,.x-button.x-button-action-small.x-button-back:before,.x-button.x-button-action-small.x-button-forward:before,.x-toolbar .x-button.x-button-action-small.x-button-back:before,.x-toolbar .x-button.x-button-action-small.x-button-forward:before{background:#002f50}.x-button.x-button-action,.x-button.x-button-action.x-button-back:after,.x-button.x-button-action.x-button-forward:after,.x-toolbar .x-button.x-button-action,.x-toolbar .x-button.x-button-action.x-button-back:after,.x-toolbar .x-button.x-button-action.x-button-forward:after,.x-button.x-button-action-round,.x-button.x-button-action-round.x-button-back:after,.x-button.x-button-action-round.x-button-forward:after,.x-toolbar .x-button.x-button-action-round,.x-toolbar .x-button.x-button-action-round.x-button-back:after,.x-toolbar .x-button.x-button-action-round.x-button-forward:after,.x-button.x-button-action-small,.x-button.x-button-action-small.x-button-back:after,.x-button.x-button-action-small.x-button-forward:after,.x-toolbar .x-button.x-button-action-small,.x-toolbar .x-button.x-button-action-small.x-button-back:after,.x-toolbar .x-button.x-button-action-small.x-button-forward:after{background-color:#006bb6;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #50b7ff), color-stop(2%, #0080da), color-stop(100%, #005692));background-image:-webkit-linear-gradient(#50b7ff,#0080da 2%,#005692);background-image:linear-gradient(#50b7ff,#0080da 2%,#005692)}.x-button.x-button-action .x-button-icon.x-icon-mask,.x-toolbar .x-button.x-button-action .x-button-icon.x-icon-mask,.x-button.x-button-action-round .x-button-icon.x-icon-mask,.x-toolbar .x-button.x-button-action-round .x-button-icon.x-icon-mask,.x-button.x-button-action-small .x-button-icon.x-icon-mask,.x-toolbar .x-button.x-button-action-small .x-button-icon.x-icon-mask{background-color:white;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ffffff), color-stop(2%, #ffffff), color-stop(100%, #dbf0ff));background-image:-webkit-linear-gradient(#ffffff,#ffffff 2%,#dbf0ff);background-image:linear-gradient(#ffffff,#ffffff 2%,#dbf0ff)}.x-button.x-button-action.x-button-pressing,.x-button.x-button-action.x-button-pressing:after,.x-button.x-button-action.x-button-pressed,.x-button.x-button-action.x-button-pressed:after,.x-button.x-button-action.x-button-active,.x-button.x-button-action.x-button-active:after,.x-toolbar .x-button.x-button-action.x-button-pressing,.x-toolbar .x-button.x-button-action.x-button-pressing:after,.x-toolbar .x-button.x-button-action.x-button-pressed,.x-toolbar .x-button.x-button-action.x-button-pressed:after,.x-toolbar .x-button.x-button-action.x-button-active,.x-toolbar .x-button.x-button-action.x-button-active:after,.x-button.x-button-action-round.x-button-pressing,.x-button.x-button-action-round.x-button-pressing:after,.x-button.x-button-action-round.x-button-pressed,.x-button.x-button-action-round.x-button-pressed:after,.x-button.x-button-action-round.x-button-active,.x-button.x-button-action-round.x-button-active:after,.x-toolbar .x-button.x-button-action-round.x-button-pressing,.x-toolbar .x-button.x-button-action-round.x-button-pressing:after,.x-toolbar .x-button.x-button-action-round.x-button-pressed,.x-toolbar .x-button.x-button-action-round.x-button-pressed:after,.x-toolbar .x-button.x-button-action-round.x-button-active,.x-toolbar .x-button.x-button-action-round.x-button-active:after,.x-button.x-button-action-small.x-button-pressing,.x-button.x-button-action-small.x-button-pressing:after,.x-button.x-button-action-small.x-button-pressed,.x-button.x-button-action-small.x-button-pressed:after,.x-button.x-button-action-small.x-button-active,.x-button.x-button-action-small.x-button-active:after,.x-toolbar .x-button.x-button-action-small.x-button-pressing,.x-toolbar .x-button.x-button-action-small.x-button-pressing:after,.x-toolbar .x-button.x-button-action-small.x-button-pressed,.x-toolbar .x-button.x-button-action-small.x-button-pressed:after,.x-toolbar .x-button.x-button-action-small.x-button-active,.x-toolbar .x-button.x-button-action-small.x-button-active:after{background-color:#0062a7;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #004474), color-stop(10%, #00538d), color-stop(65%, #0062a7), color-stop(100%, #0064a9));background-image:-webkit-linear-gradient(#004474,#00538d 10%,#0062a7 65%,#0064a9);background-image:linear-gradient(#004474,#00538d 10%,#0062a7 65%,#0064a9)}.x-button.x-button-confirm,.x-toolbar .x-button.x-button-confirm,.x-button.x-button-confirm-round,.x-toolbar .x-button.x-button-confirm-round,.x-button.x-button-confirm-small,.x-toolbar .x-button.x-button-confirm-small{border:1px solid #263501;border-top-color:#374e02;color:white}.x-button.x-button-confirm.x-button-back:before,.x-button.x-button-confirm.x-button-forward:before,.x-toolbar .x-button.x-button-confirm.x-button-back:before,.x-toolbar .x-button.x-button-confirm.x-button-forward:before,.x-button.x-button-confirm-round.x-button-back:before,.x-button.x-button-confirm-round.x-button-forward:before,.x-toolbar .x-button.x-button-confirm-round.x-button-back:before,.x-toolbar .x-button.x-button-confirm-round.x-button-forward:before,.x-button.x-button-confirm-small.x-button-back:before,.x-button.x-button-confirm-small.x-button-forward:before,.x-toolbar .x-button.x-button-confirm-small.x-button-back:before,.x-toolbar .x-button.x-button-confirm-small.x-button-forward:before{background:#263501}.x-button.x-button-confirm,.x-button.x-button-confirm.x-button-back:after,.x-button.x-button-confirm.x-button-forward:after,.x-toolbar .x-button.x-button-confirm,.x-toolbar .x-button.x-button-confirm.x-button-back:after,.x-toolbar .x-button.x-button-confirm.x-button-forward:after,.x-button.x-button-confirm-round,.x-button.x-button-confirm-round.x-button-back:after,.x-button.x-button-confirm-round.x-button-forward:after,.x-toolbar .x-button.x-button-confirm-round,.x-toolbar .x-button.x-button-confirm-round.x-button-back:after,.x-toolbar .x-button.x-button-confirm-round.x-button-forward:after,.x-button.x-button-confirm-small,.x-button.x-button-confirm-small.x-button-back:after,.x-button.x-button-confirm-small.x-button-forward:after,.x-toolbar .x-button.x-button-confirm-small,.x-toolbar .x-button.x-button-confirm-small.x-button-back:after,.x-toolbar .x-button.x-button-confirm-small.x-button-forward:after{background-color:#6c9804;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #c2fa3b), color-stop(2%, #85bb05), color-stop(100%, #547503));background-image:-webkit-linear-gradient(#c2fa3b,#85bb05 2%,#547503);background-image:linear-gradient(#c2fa3b,#85bb05 2%,#547503)}.x-button.x-button-confirm .x-button-icon.x-icon-mask,.x-toolbar .x-button.x-button-confirm .x-button-icon.x-icon-mask,.x-button.x-button-confirm-round .x-button-icon.x-icon-mask,.x-toolbar .x-button.x-button-confirm-round .x-button-icon.x-icon-mask,.x-button.x-button-confirm-small .x-button-icon.x-icon-mask,.x-toolbar .x-button.x-button-confirm-small .x-button-icon.x-icon-mask{background-color:white;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ffffff), color-stop(2%, #ffffff), color-stop(100%, #f4fedc));background-image:-webkit-linear-gradient(#ffffff,#ffffff 2%,#f4fedc);background-image:linear-gradient(#ffffff,#ffffff 2%,#f4fedc)}.x-button.x-button-confirm.x-button-pressing,.x-button.x-button-confirm.x-button-pressing:after,.x-button.x-button-confirm.x-button-pressed,.x-button.x-button-confirm.x-button-pressed:after,.x-button.x-button-confirm.x-button-active,.x-button.x-button-confirm.x-button-active:after,.x-toolbar .x-button.x-button-confirm.x-button-pressing,.x-toolbar .x-button.x-button-confirm.x-button-pressing:after,.x-toolbar .x-button.x-button-confirm.x-button-pressed,.x-toolbar .x-button.x-button-confirm.x-button-pressed:after,.x-toolbar .x-button.x-button-confirm.x-button-active,.x-toolbar .x-button.x-button-confirm.x-button-active:after,.x-button.x-button-confirm-round.x-button-pressing,.x-button.x-button-confirm-round.x-button-pressing:after,.x-button.x-button-confirm-round.x-button-pressed,.x-button.x-button-confirm-round.x-button-pressed:after,.x-button.x-button-confirm-round.x-button-active,.x-button.x-button-confirm-round.x-button-active:after,.x-toolbar .x-button.x-button-confirm-round.x-button-pressing,.x-toolbar .x-button.x-button-confirm-round.x-button-pressing:after,.x-toolbar .x-button.x-button-confirm-round.x-button-pressed,.x-toolbar .x-button.x-button-confirm-round.x-button-pressed:after,.x-toolbar .x-button.x-button-confirm-round.x-button-active,.x-toolbar .x-button.x-button-confirm-round.x-button-active:after,.x-button.x-button-confirm-small.x-button-pressing,.x-button.x-button-confirm-small.x-button-pressing:after,.x-button.x-button-confirm-small.x-button-pressed,.x-button.x-button-confirm-small.x-button-pressed:after,.x-button.x-button-confirm-small.x-button-active,.x-button.x-button-confirm-small.x-button-active:after,.x-toolbar .x-button.x-button-confirm-small.x-button-pressing,.x-toolbar .x-button.x-button-confirm-small.x-button-pressing:after,.x-toolbar .x-button.x-button-confirm-small.x-button-pressed,.x-toolbar .x-button.x-button-confirm-small.x-button-pressed:after,.x-toolbar .x-button.x-button-confirm-small.x-button-active,.x-toolbar .x-button.x-button-confirm-small.x-button-active:after{background-color:#628904;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #3e5702), color-stop(10%, #507003), color-stop(65%, #628904), color-stop(100%, #648c04));background-image:-webkit-linear-gradient(#3e5702,#507003 10%,#628904 65%,#648c04);background-image:linear-gradient(#3e5702,#507003 10%,#628904 65%,#648c04)}.x-button.x-button-decline,.x-toolbar .x-button.x-button-decline,.x-button.x-button-decline-round,.x-toolbar .x-button.x-button-decline-round,.x-button.x-button-decline-small,.x-toolbar .x-button.x-button-decline-small{border:1px solid #630303;border-top-color:#7c0303;color:white}.x-button.x-button-decline.x-button-back:before,.x-button.x-button-decline.x-button-forward:before,.x-toolbar .x-button.x-button-decline.x-button-back:before,.x-toolbar .x-button.x-button-decline.x-button-forward:before,.x-button.x-button-decline-round.x-button-back:before,.x-button.x-button-decline-round.x-button-forward:before,.x-toolbar .x-button.x-button-decline-round.x-button-back:before,.x-toolbar .x-button.x-button-decline-round.x-button-forward:before,.x-button.x-button-decline-small.x-button-back:before,.x-button.x-button-decline-small.x-button-forward:before,.x-toolbar .x-button.x-button-decline-small.x-button-back:before,.x-toolbar .x-button.x-button-decline-small.x-button-forward:before{background:#630303}.x-button.x-button-decline,.x-button.x-button-decline.x-button-back:after,.x-button.x-button-decline.x-button-forward:after,.x-toolbar .x-button.x-button-decline,.x-toolbar .x-button.x-button-decline.x-button-back:after,.x-toolbar .x-button.x-button-decline.x-button-forward:after,.x-button.x-button-decline-round,.x-button.x-button-decline-round.x-button-back:after,.x-button.x-button-decline-round.x-button-forward:after,.x-toolbar .x-button.x-button-decline-round,.x-toolbar .x-button.x-button-decline-round.x-button-back:after,.x-toolbar .x-button.x-button-decline-round.x-button-forward:after,.x-button.x-button-decline-small,.x-button.x-button-decline-small.x-button-back:after,.x-button.x-button-decline-small.x-button-forward:after,.x-toolbar .x-button.x-button-decline-small,.x-toolbar .x-button.x-button-decline-small.x-button-back:after,.x-toolbar .x-button.x-button-decline-small.x-button-forward:after{background-color:#c70505;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #fb6a6a), color-stop(2%, #ea0606), color-stop(100%, #a40404));background-image:-webkit-linear-gradient(#fb6a6a,#ea0606 2%,#a40404);background-image:linear-gradient(#fb6a6a,#ea0606 2%,#a40404)}.x-button.x-button-decline .x-button-icon.x-icon-mask,.x-toolbar .x-button.x-button-decline .x-button-icon.x-icon-mask,.x-button.x-button-decline-round .x-button-icon.x-icon-mask,.x-toolbar .x-button.x-button-decline-round .x-button-icon.x-icon-mask,.x-button.x-button-decline-small .x-button-icon.x-icon-mask,.x-toolbar .x-button.x-button-decline-small .x-button-icon.x-icon-mask{background-color:white;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ffffff), color-stop(2%, #ffffff), color-stop(100%, #fedcdc));background-image:-webkit-linear-gradient(#ffffff,#ffffff 2%,#fedcdc);background-image:linear-gradient(#ffffff,#ffffff 2%,#fedcdc)}.x-button.x-button-decline.x-button-pressing,.x-button.x-button-decline.x-button-pressing:after,.x-button.x-button-decline.x-button-pressed,.x-button.x-button-decline.x-button-pressed:after,.x-button.x-button-decline.x-button-active,.x-button.x-button-decline.x-button-active:after,.x-toolbar .x-button.x-button-decline.x-button-pressing,.x-toolbar .x-button.x-button-decline.x-button-pressing:after,.x-toolbar .x-button.x-button-decline.x-button-pressed,.x-toolbar .x-button.x-button-decline.x-button-pressed:after,.x-toolbar .x-button.x-button-decline.x-button-active,.x-toolbar .x-button.x-button-decline.x-button-active:after,.x-button.x-button-decline-round.x-button-pressing,.x-button.x-button-decline-round.x-button-pressing:after,.x-button.x-button-decline-round.x-button-pressed,.x-button.x-button-decline-round.x-button-pressed:after,.x-button.x-button-decline-round.x-button-active,.x-button.x-button-decline-round.x-button-active:after,.x-toolbar .x-button.x-button-decline-round.x-button-pressing,.x-toolbar .x-button.x-button-decline-round.x-button-pressing:after,.x-toolbar .x-button.x-button-decline-round.x-button-pressed,.x-toolbar .x-button.x-button-decline-round.x-button-pressed:after,.x-toolbar .x-button.x-button-decline-round.x-button-active,.x-toolbar .x-button.x-button-decline-round.x-button-active:after,.x-button.x-button-decline-small.x-button-pressing,.x-button.x-button-decline-small.x-button-pressing:after,.x-button.x-button-decline-small.x-button-pressed,.x-button.x-button-decline-small.x-button-pressed:after,.x-button.x-button-decline-small.x-button-active,.x-button.x-button-decline-small.x-button-active:after,.x-toolbar .x-button.x-button-decline-small.x-button-pressing,.x-toolbar .x-button.x-button-decline-small.x-button-pressing:after,.x-toolbar .x-button.x-button-decline-small.x-button-pressed,.x-toolbar .x-button.x-button-decline-small.x-button-pressed:after,.x-toolbar .x-button.x-button-decline-small.x-button-active,.x-toolbar .x-button.x-button-decline-small.x-button-active:after{background-color:#b80505;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #860303), color-stop(10%, #9f0404), color-stop(65%, #b80505), color-stop(100%, #ba0505));background-image:-webkit-linear-gradient(#860303,#9f0404 10%,#b80505 65%,#ba0505);background-image:linear-gradient(#860303,#9f0404 10%,#b80505 65%,#ba0505)}.x-sheet,.x-sheet-action{padding:0.7em;border-top:1px solid #092e47;height:auto;background-color:rgba(3, 17, 26, 0.9);background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, rgba(20,104,162,0.9)), color-stop(2%, rgba(7,37,58,0.9)), color-stop(100%, rgba(0,0,0,0.9)));background-image:-webkit-linear-gradient(rgba(20,104,162,0.9),rgba(7,37,58,0.9) 2%,rgba(0,0,0,0.9));background-image:linear-gradient(rgba(20,104,162,0.9),rgba(7,37,58,0.9) 2%,rgba(0,0,0,0.9));-webkit-border-radius:0;border-radius:0}.x-sheet-inner > .x-button,.x-sheet-action-inner > .x-button{margin-bottom:0.5em}.x-sheet-inner > .x-button:last-child,.x-sheet-action-inner > .x-button:last-child{margin-bottom:0}.x-sheet.x-picker{padding:0}.x-sheet.x-picker .x-sheet-inner{position:relative;background-color:#fff;-webkit-border-radius:0.4em;border-radius:0.4em;-webkit-background-clip:padding;background-clip:padding-box;overflow:hidden;margin:0.7em}.x-sheet.x-picker .x-sheet-inner:before,.x-sheet.x-picker .x-sheet-inner:after{z-index:1;content:"";position:absolute;width:100%;height:30%;top:0;left:0}.x-sheet.x-picker .x-sheet-inner:before{top:auto;-webkit-border-bottom-left-radius:0.4em;border-bottom-left-radius:0.4em;-webkit-border-bottom-right-radius:0.4em;border-bottom-right-radius:0.4em;bottom:0;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ffffff), color-stop(100%, #bbbbbb));background-image:-webkit-linear-gradient(#ffffff,#bbbbbb);background-image:linear-gradient(#ffffff,#bbbbbb)}.x-sheet.x-picker .x-sheet-inner:after{-webkit-border-top-left-radius:0.4em;border-top-left-radius:0.4em;-webkit-border-top-right-radius:0.4em;border-top-right-radius:0.4em;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #bbbbbb), color-stop(100%, #ffffff));background-image:-webkit-linear-gradient(#bbbbbb,#ffffff);background-image:linear-gradient(#bbbbbb,#ffffff)}.x-sheet.x-picker .x-sheet-inner .x-picker-slot .x-body{border-left:1px solid #999999;border-right:1px solid #ACACAC}.x-sheet.x-picker .x-sheet-inner .x-picker-slot.x-first .x-body{border-left:0}.x-sheet.x-picker .x-sheet-inner .x-picker-slot.x-last .x-body{border-left:0;border-right:0}.x-picker-slot .x-scroll-view{z-index:2;position:relative;-webkit-box-shadow:rgba(0, 0, 0, 0.4) -1px 0 1px}.x-picker-slot .x-scroll-view:first-child{-webkit-box-shadow:none}.x-picker-mask{position:absolute;top:0;left:0;right:0;bottom:0;z-index:3;display:-webkit-box;display:box;-webkit-box-align:stretch;box-align:stretch;-webkit-box-orient:vertical;box-orient:vertical;-webkit-box-pack:center;box-pack:center;pointer-events:none}.x-picker-bar{border-top:0.12em solid #006bb6;border-bottom:0.12em solid #006bb6;height:2.5em;background-color:rgba(13, 148, 242, 0.3);background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, rgba(158,212,250,0.3)), color-stop(2%, rgba(47,163,244,0.3)), color-stop(100%, rgba(11,127,208,0.3)));background-image:-webkit-linear-gradient(rgba(158,212,250,0.3),rgba(47,163,244,0.3) 2%,rgba(11,127,208,0.3));background-image:linear-gradient(rgba(158,212,250,0.3),rgba(47,163,244,0.3) 2%,rgba(11,127,208,0.3));-webkit-box-shadow:rgba(0, 0, 0, 0.2) 0 0.2em 0.2em}.x-use-titles .x-picker-bar{margin-top:1.5em}.x-picker-slot-title{height:1.5em;position:relative;z-index:2;background-color:#1295f1;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #a2d6f9), color-stop(2%, #34a4f3), color-stop(100%, #0d81d2));background-image:-webkit-linear-gradient(#a2d6f9,#34a4f3 2%,#0d81d2);background-image:linear-gradient(#a2d6f9,#34a4f3 2%,#0d81d2);border-top:1px solid #1295f1;border-bottom:1px solid #095b94;-webkit-box-shadow:0px 0.1em 0.3em rgba(0, 0, 0, 0.3);padding:0.2em 1.02em}.x-picker-slot-title > div{font-weight:bold;font-size:0.8em;color:#113b59;text-shadow:rgba(255, 255, 255, 0.25) 0 0.08em 0}.x-picker-slot .x-dataview-inner{width:100%}.x-picker-slot .x-dataview-item{vertical-align:middle;height:2.5em;line-height:2.5em;font-weight:bold;padding:0 10px}.x-picker-slot .x-picker-item{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.x-picker-right{text-align:right}.x-picker-center{text-align:center}.x-picker-left{text-align:left}.x-tabbar.x-docked-top{border-bottom-width:.1em;border-bottom-style:solid;height:2.6em;padding:0 .8em}.x-tabbar.x-docked-top .x-tab{padding:0.4em 0.8em;height:1.8em;-webkit-border-radius:0.9em;border-radius:0.9em}.x-tabbar.x-docked-top .x-button-label,.x-tabbar.x-docked-top .x-hasbadge .x-badge,.x-hasbadge .x-tabbar.x-docked-top .x-badge{font-size:.8em;line-height:1.2em;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}.x-tabbar.x-docked-bottom{border-top-width:.1em;border-top-style:solid;height:3em;padding:0}.x-tabbar.x-docked-bottom .x-tab{-webkit-border-radius:0.25em;border-radius:0.25em;min-width:3.3em;position:relative;padding-top:.2em}.x-tabbar.x-docked-bottom .x-tab .x-button-icon{-webkit-mask-size:1.65em;width:1.65em;height:1.65em;display:block;margin:0 auto;position:relative}.x-tabbar.x-docked-bottom .x-tab .x-button-label,.x-tabbar.x-docked-bottom .x-tab .x-hasbadge .x-badge,.x-hasbadge .x-tabbar.x-docked-bottom .x-tab .x-badge{margin:0;padding:.1em 0 .2em 0;font-size:9px;line-height:12px;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}.x-tab .x-button-icon.bookmarks,.x-button .x-button-icon.x-icon-mask.bookmarks{-webkit-mask-image:url('data:image/png;base64,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')}.x-tab .x-button-icon.download,.x-button .x-button-icon.x-icon-mask.download{-webkit-mask-image:url('data:image/png;base64,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')}.x-tab .x-button-icon.favorites,.x-button .x-button-icon.x-icon-mask.favorites{-webkit-mask-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAFfUlEQVRoBd2aXahVRRTHz/Ujv+2mZRGZB7W6mtpFikC7+UWUZiqBD0JPFdRL1EMFPfjoU4baS0FUD/UWZBEVShA+BCpmWApRSkgllNpDmZWZt9//eOay72afvWfWOTPn3rvgz8yeWbPW+s/XmT379AwODtZSSQ+CryVgA/gVfIx/pelEhFMBVlvBOaBeFo6Cean8y09KsnMg932TqCOs9M2UhMfhMJVsxtHcAmcbmekLCsqjFKUkvAYG1xSwmEHZqoLyKEVJCDOCNxH9HUCbVl6mULAuXxjrOQlhgl8Bbi0h0Uen3FBS37GqVIQHiHh2SdR16jTlo0t0woycpuxiUDSdHcFeMv3uIWYanTDB3wIWVZBQHP10zuQKvbarUxDWT1HRz1E++Ds99fLtgp6jEmbExhPNcs+IbkZPiCpRCRP5TPCQJ4MJ6A3QSUqjSWzC2ozuC4j+fnSnB+gHq8YmvJKIJgVEpRPX9QH6waqxCa8PjEhHT981H2j6qno0wqzF63BhOUxsom3Zb7aJqGsUjTAONFJlpysXQz7VuXpavrBTzzEJaz1adlzNjHs6RTBvJyZhjZTF/kTaWZZCnlvhsyWgQkPZQpagzsX1bFlAXjGtDdAPUu1p3PPQhCCXkdwG/mta0PWLds060AuAnqtEOjpdbQR3VymX1P9F3UfgGJA9X9F92c/ADaQ2P8V0DJ4/kDbeYKaSvgI2AN0+OGJK1VAbSIhTOXEOybYll2kte77yD4rqrHyb85S9Cl4HtReAyI11/A7HpRq5PSD6oR0f3Rad+H7S1DvV7UgS+tc1cU3n3V/AWJ/SX8BxVuMinow2rNNjlPQVeH0GFg378kDBfLAPXARjZbTPwmUXmOG+bgz71EKFfqKeAUWfREZbJxyCxyOOqEuHER4qrNUWovwy0CFktBHV4eNZMNvxyaaFhKWAaBt/HJwEo4W0luSKLMF8viVhp4iBeeBd8CcYqcQ1qi+CKS7uVmklYdcQY0+C42Ckkf6EmO51cVal3oRlCFkCdKgfCWtbo7obDO3AVWQbHHyUsjo40E6uq9cvQbdG+wN892fj8s0HjXDWKA51/t4JUo72H/jTDtybjSUkbyYsJ0gdfAtSjfTn+JoWQjCv2+57a4M1QaQSvZvrMsIs7RJejGcdUlLJUhzpZsYsZsJcCen6ZwCE3IaYA2021OfUdU3fJltmwni7Fvh+KDMF16KR3ux0lWuSdgjPxeNdJq/tNdKNqJaSSUyEmVK6JNPomtqbIh3eSKNsEmvAarfJ5LEzjbbR59MtpqyEb8eZjpndkhtxvNri3Er4YZxpx+yW6Jdhi8V5MOHm+n0QZ9afo0u0fQO8A5S3iPaQ1cTSG9w4f/SqesZBH/gRWI6T+gyyxfkgvw2cMdrS+/lTzpZvGnyWxsnTwHLRd4R2a/OBqQyoztKBe/P2qp6DCBOUptKHhuA+pU1fq2Co0/F0L9CVaghxXTbWW9ktKg8lrFfCrwODeh/9wgu1bEDo6OT2Fvgb+JLWq+nQEsnaa5UPJbwKBxc8A9KXPG1O3u+u6E4F24GvD3XMDjCxFcF8uTdhjGpHfwn49L42lCeAdyDZwGi3HpwAPr6+Q29htn1ZPoSwfuz3ewShXVcBNz62lzkvq6O9DjZHgQ9p72kdQljvob9VBPAN9Q+UEQmpw5b+Sf8e0FotI/4a9ZN8bIcQXlnh9AD1y3ychuhgU0tpJyhb14epn+ljN+Sk9S9G1ct50d8SdgF9x9EO3lHB5hXwPEYfA8dbGD9LuWZBtfj0inSQWUDTKzu1dAB5Dkz2tdOOHn70LvwVyMag/FYwzse295Rukq5j+G1wEOib66PAy5FPMD46+NPmqTV7CpwGGvkJPm2l8z8GWDNDloqpGQAAAABJRU5ErkJggg==')}.x-tab .x-button-icon.info,.x-button .x-button-icon.x-icon-mask.info{-webkit-mask-image:url('data:image/png;base64,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')}.x-tab .x-button-icon.more,.x-button .x-button-icon.x-icon-mask.more{-webkit-mask-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAADJ0lEQVRoBe2YS2sUQRSFp5MgvmLU+CAMiBJFDBHcCeoPEFciuHMjroMK4lZBcONG0JW60U1UEgRx59IXuNMoKEElKL7GRwyIqNHxO0N66FT3UNU9IHRNFXz0VNW5t+vW6RcT1ev1Sie1rk4qVrWGgn13PDgcHPZsB8Il7ZmhqXKCw6kt8WwgOOyZoalygsOpLfFsIDjsmaGpcoLDqS3xbCA47JmhqXKCw6kt8Wyg6XAURV2wEy7BM5iFtzAKu2BB0dqJ7YEtcBYmQblfwzjshUVt5O4mfhjOwwQodw3GYA8snpd77n9pFXMYvoP+qDaZZewcVKXPAzE64Qn4CmZe9f/AFSiSu4e4IzANrXJfZ24gXjO/KxEcg9+QFZQcU/CSONh2RKsraMQhr85xE/psOeN5tCr2APyA5Bqzfl9D06tYtX3wC7KE5pg2ZX98UtsR7XZo5ayZW/1DENnyzi18CO1nyMqTNXYcrTapcitHkBLJiZW2RaGRuxcg6+Stxu6i73fI3Y3uZM7cU+hXQeVvzsBP6Dc5LupxztzaiEGH3AvR3S+Qe4dc0D2cp/Uj1oPI1pR7g030n+erWlTe9pMA3cu2Jre+2ERtzBdZe01BL3Ke9Al6vQZsTbfKQ5vImH9PXxtqa3qVPbWJjHk94J6r4DPGhK17A8EHm4j7UAWP2nTG/GX6NWMs1SW3rrCroLeLaxtDqDdG4368zbHVkzM5Polus+2hEs+j7YNxx9zv0FkfhoncvegvOuZ+iW6rYhtfTXTWgV7OyeLM3w+Y3xaf0PVIzAqwFf0IzW7XnLGOmLUg58y1JvsTzA83Y5o/eLcyMQISJAN0z56G9bE275HYNXAU7kAy9xv6p2Bj3pyxntjVcBDuQTL3FH19Dg/FWh0bXzUMNhsf23JkOQzCK9B1P4NY39OFG3kjgpeB8g/AR/gG0+3mJkeF9Lp9lkIVZkDfC1r3vPs8VTAir1uRd1mpNyQUXGr7HBYfHHbYpFJLgsOlts9h8cFhh00qtSQ4XGr7HBYfHHbYpFJLgsOlts9h8cFhh00qtSQ4XGr7HBYfHHbYpFJLOs7hf5j4Vg3iLoGkAAAAAElFTkSuQmCC')}.x-tab .x-button-icon.time,.x-button .x-button-icon.x-icon-mask.time{-webkit-mask-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAIPElEQVRoBdWae4gVVRzH97qr66vyhWbmurY+MA111dRMkLIXRuhG/pMVSUKGBGYPMTLDR0iaJBFUlIp/FJJlpWJS6vrAlCwTe1iaippSZipmPjL7fC/3XGbnzjkzc3fudTvwYWbO73d+jzlnzjkz96YuX75cUqiSSqWaYVs0hvZQBY3AW/7gYg/8A+fgPDFd5FiQkko6YZJUYj2hNwyDAXADlIOrHEO4A3bDVvgZ9hLfBY6JlUQSJkn14CAYAiNgFPh7kqpY5SDay2EjbCfxo7Fa25TVw/UBuw/BWvgT9HwUgl3YnQXX1ydWtc0rWRyr9zRcV8FpKESSfpuX8LMXnoDm+SYeO2GcXQfz4Cz4gyrGtSa3TaDHp1HcxGMljIN+sAGKkViYj+PEMRkax0k6csIYfgoOQVggxZa/R0ydoiYdaZZmFp6C0ZmgNTVu0YSzBQ6A1tuTYEqKk5ugA/SFkdAU4pbVNHiYpLWmu4vrztBSy83TcAai9pyeba2lz0E1tIFysD5vyMrgKugIY0GToW5MVJ/SWwltXPlIZh3SNNbdV9B/QRTH59GrhQehSZhjl5z2pucXc/4rRPEvHfV0B6dtm5CGI+B3iOLse/SehVgTiM23tx6bGuafwb8QJRY909ZlK7CHadATtOZFcfAmel28QSZ9jn0914/AYQiLScvW45Cen/yx5CSMYhNYA2GGtdGfDS38Rm3X6GpO0PNsKLPpBtXTbij8BGGxaWQODrThr0RxEuguuYzqeZ0Opf72tmt09TKxHU57+JLz7rY2QfXo3wpRkt6MXs7QrtPDKHSDfeBKVpPYjKBgXHW0mQVBz+HzrnZBMuwo6b3gilNb0Yn+9v6E30UpKCiv4WnoBD4ffuPea9q8YrE91asX9Rxb2loeBG9s/nO9YlZ6bWZf4dhc9EB4B2hJsBXtYd/AgAzHLfm0cfnYhvBlUE/aSlcE473CdMIkqyTvhU5eoe9cE8E8cvXulHwqxbvM3PRFeFzn8FqKbDTpdTQ6pof1BlQDtt5V7yzDySemYUM4Eo8mz4WgFwlb0RJbbYQm4e5U6JmwFe125tiEV7KepLWlFJp7goqW2WH0spbEkkacqOJ+UPfbylIMK+mGWl4lsLOO4DR69Tynv1y04DhSF5aiDcY7FllDqdbLSq0jmB7IKiXXkNYDrXFuK+sRHLMJG0I9o09zzEeOWDQ3DWI0lyphPbuqsJU1CFzDxdau2PVfhMSpiaupEh7uiEyJfsUNtE0IjqZFF2mmdi1R+j6eTriLI7T9yLT+/h/KBYLUHttWtPSWqYevtWlQfxjOOORJiJIaPRcJ5pAjIC1LnZVwL4fSEWSFTvhqh//IoszEtSekQYUSdpUTCLUsFbI8wOw5HvRNq75Fb3LOEpawa/Z2Gg4Q2mxpjdQ6v4KkBwa0i1Nl85G1EZZwVjGBE/Mx0GbqNgQfkvQECA3cZiSkPqWEtQG3lQoEiTxj2FkCW8E1SXVG/josJecqjnGLNlGuck4Jf+PQaIcsn4/vOSaZVLTE3Q0LwLVz095en3rXknQNlHMeWtBTLl1DFHdIri2ZtmZBaFnqo51bkmBT79660UE+vXV6DOZCVZh/dJrDUvC2956fRtYeSmaAV+A/vy/MWT5yfGr4PQNa9vw+/df6VDMRrB8NkWk0/gL+tuZ6G7JroOQeh5KU50Csz6lRbwB2NQyHwhYI+1Kqbe770D7IPvXaOmp+MAn6j5pDmkH6hywZ8yuY653I2gY5SaoO+y1hKujHMOPXdnwJnZwOoG52SNsJildFzlaCzYHqRyWVnMsOfsaAetsVyzTkdX674lrP7z5HO80F/U3CGlb6G4HLSS3ynLvqCj5fGX5ag37o/g38MX1HXc6Qzui7HolPTbv07MtFPzgKfgfm+m9kY/JNIp92+BsCmmhMDJrcJvltUaeXn689ekbfe3wSefrnWpOw9rHa3nmV/OebkLf2OyzkNf606XkNDsLbkPPrJHUa4hfAH6+51kipNnFm11cqtTa6Gko20zRsCEfiuREOgEku6LgKeXY58yasRTlsaGgjkr1bVzJp4tDHx8UQlKSp0+ozzhtnNmFVUh6DsI3At+hUeo0U+xz/KVgIJjHbcTU6dR4Df8Lat34cwdAGdDoWO9FMp5Tiezq4Hj/dAHVceinyxlkn4YxB7ViibADWo1fUnsafOmQW6KOErVdN/Yvo5PzKmZNwJmmtg6ah66gXgAHeO1ioc/y0g7kR49qIXqugWGwJl9EgyjOim6GJbCaE/mUoKIAoddgeDdvBdfONTDuuXja7gQlLmdIKwrZ5xol2ObqrYyC7BNicRq3HVm9YBPpUbHy5jifQe9Rl35pwJunBGNgV0ZkC0Z5V29BR0AHKXc79MvS1zdVmoy/Mg+PgStAr0yQ1BZw3PP1Qo2QtfEnQJLYY+liVggVHqF4O60DDXjsezax6ETf7Xo0iTUQ6toZb4Ha4E+IUbX1f4AbOD2sUmrAMkLR6egHo3TWfcopGO0G9oG2ieR2t4lw92g0qIZ+iz0XzSVYjIrz4h5XtGkvqgagTmXeoFfJcb0+B/8ey5mETBNVjvClMhjjPViES1s8qy6AiKE5XnXPSCmqIE23rBsIK0PNYiIRcNn/E53jI6/08dsLem4DTcbADdMddQSYh0we6t6BeW9pIkxZOrIUJrS3Cm6EG7gJ9TE+qaFbXLP8BbOZm76mv4XonbAIg8ZacV0B/GAvDQRNdPkVfOvQe+znsJ1HXh/tY9hNL2OuV5PWu2hyqQZsIra/6FCO6gClapn6AU7AbtDfXxuUknCHRSxwTLf8Bgi31NJnvpzwAAAAASUVORK5CYII=')}.x-tab .x-button-icon.user,.x-button .x-button-icon.x-icon-mask.user{-webkit-mask-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAEWElEQVRoBe2aS0gVYRiGO1lmF8nQQlETutGFokAiqEV0ISKwgmrdMtzUpnW7drWKbFGbQAKpJIhuUGIUFUkW0T1Jq4V2U4ui7GLPexpDD+ecuX1jHqcPHseZ+f9vvnf++e8n0d/fPyZONjZOYqU1doLHRV3CiURCz5gMxTANJsJg+8XJJ+iBt9BHNdO1SCwRZR1GbAFRl8F8WAFLoRwGLME/ffAM7kETvIYPxPWDo7lFIhiheURaCVtgBywHXXOzbhJcggZoRvR7twy+76uELSEAtQsqySPwGdQN+KWDPHuh2DI2+TIVm3T455M9G0Bk6ktRvd4NBZaiTQUT3AQnSNW/VAFBzl/iZw0kq56FcOtuaQHB7QIv9ZVkrqZ2YA9Mck3pMYGZYKeh2sBz1SJb2mqcmfk0E0xQ6l9rwNoKcWjm11JwEYFVW6t1/K218mspeB5B5VsFluKnIuU88Kml4PGBo3DPqBGZiVkKNgvKRFkGJ5aCv2Z4xoi6bCm4DWUaXERhZhMJS8FfolDq+DSbRFgKjrIOa8poYpaCTQKK2sl/wSHfcFSNlll1sSzhn7ys3pAvLFP275lu+L1uKVhBPfYbgMf0zz2mc01mKfgbT7vi+kT/CeT3sv9s6XNYCtbg4CJ0pX9U4Kv3yXk3cO6UjGaCWX5Rg/UArqY8I8yp1qdPQ08YJ4Pzmgl2nCqwc2DVyKjunuddqkE0MVPBBKYSuQ7tJtEhFj9apDczU8FOVB0ctZiuHYUw9obMjbxErW2bmblgApTQengVIkq1B83QEsJH2qzmgp2n3ObYCEGndZ3krbcuXcUWiWACldCjoA0yv6a8J6HJb0Yv6SMRrAcj+gmHA+B3aneDPHXk/8jR3LR3a2rOfnAlTmfDVPDb6Khrq8bPDI5PoRPxZpMSk+1SgtOKpTa8l8BC0JaLmAkloA1xr/aOhJqEtINGWeqW7jjHXrQHbRdw4WxSJf8L8Aeh2m1QaWoBfiUsA61PTwGtUYeZ1qlP1zhan3YraBSnz/0mdAUVHqiEESoxKs0a2AxloJIMI5DsWU0vQH2z2oZToAnFI7+fu2/BiF3PgzbCKqgC1bXhNH3S6rba4BocR7TquifzLBih5XjcCSrROaAGKbJWHt9uJuGq67fgAki4zrNaVsGIzCP3dNgE20B1VJ+uro8UUz3Xr39UvxugCeEZl3UzCkZsBZn1+W6HRaB6qtZ4pJp2PtTna+58DFoR3sVxqHFxyM8euFsIW6EeXoDeoPrBXEEbAlpqqoN1kD9YY6rYxSQ4DGoE9KOSXBGZLk4NYB7CfigZEP1XMBfVEJ0BJUznIFevaSBzEEolOimYkyo4AfocclVYtrjViB0C9SzJEdE+jrn+CWcTrHvdUKuRUSm0gPrZ0W7tGjjMhTiIVWFWSbAGEnGxhAT/y+HhsL9oiVWFjo3FqnRVqrETrG5pFmiSEAuTYC3TFMVCLSIzTg9H6wuIXR2OneDfMJq1NmzzbS8AAAAASUVORK5CYII=')}.x-tab .x-button-icon.team,.x-button .x-button-icon.x-icon-mask.team{-webkit-mask-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAFI0lEQVRoBe2ZSYgdVRSG+yUmnagRQYU4NbZKNLYKWTgg4gQOaDYqJIIGl4LixhBwoy50LSIiulEjCkpAUBBRURpdGceFMQ7YtgkOJE4xTjGa9vuedUl1Vd2qevSrFqvrwJ97695zzj3/PXd6nd7MzMzIQpJFC4msXDvCbc94l+Euwy2bgW5JtyyhOTpdhnNT0rKGLsMtS2iOTpfh3JS0rOGQ+eLT6/VWMNYJ4NjUmN9T/xLs4WfqvPxO7TU9DkTdNmvBbeAskJ7kv/n+AjwKXiSW7yibFQk3BSIPZHdTl5xZzML238DDYFlTsQS/jZF1AGQ1mAZZkkXfe9FbGwJrqmz6lL4cEmOgjhyO0jq2gGVj0hhhAl9M1FeB3gDRn4Pu/5NwQnJ0ALKqrgKHDmgzkHpjGR4oioPKP1H96+Dn8GvpKyLqneV5Lp0XgnHggTMFJjlYPqAcpnyLsz/LHBLL0fRfCzwbvNN3gLeI5WXKaik7DbF2/20A28HPYF+CPZQfg9tj9vS5h18DRSdyrO0j9FeW+PQenwTe138AJ+d34OPFa215zDa0l15LOLgamM0DIBukbQ60JjhLl7RL+HWQtSv7jhLGz1FgM3DJZ30Yy69gYzqGonrVHr4eJ+OgB7Ji2xi4lGUW8+PsD0vOwNGNwInMirF42K0nlmXZzvR3LNARDN3fx6WVI3VJF50Fzvr7EZtY8zQdLtUiOYXGIrJpXUmvTDdk61HCKEqiagD9SSwnLCeX3RYwSJafRd/zoUj2FzVm2hyzMJ6gV0Y46Myl/BzjeqfnyMg36G5NJqpoTPvnLGWEnS0f9lVStL/7NgT/C5XNoHTW6XesV4En/1wlGo+Oo4QJ1ivoxxqju+fKCG2lf1uFH7P3eEl2K8xndRt3VKKEE4sPKWOHiCreg28TaPR1RN/X6GwEO0GReJ3cg95kUWeqzT8W6KtMpujcVaZQRfgFjL8qcbCDvndi/Zz0h4Hr6L8JHBHRW0L7DejdAU6K6Nj8CfBQi4mH4xYmrmy1sXlK/gCAAyfkQaAT91kWj9HW/6tJ8MO3NmeC+4CHlqdu1q7o25Xk5Hqynw+WBp+hpO1K4JItsnfr5GyCbSirCHstnQpcKulBXMK+o1frCPGgWAomwL2gLsm0z3S9ny38XARWgEXJOI7xNMiS9ns9MN5ZCQhEQ1lIGCOXmZf4ZeAW8C4IAblv3wBXAIn6sjkZ3Arc80FvGKW/nu4H/nhZDiR0IngI+LYPY3i43gWuAeNgFBQSn0UYJZejRH3CPQ8cMDi19Jp6AviuVfd48ADwRZXWG3Z9J/6fApeAJUm2TYRE02OZjPfA3WAM9HVDdvt2iXHI1HkoPQd2g7SjUHef+NyU7AXgFRD65qOcZrybQXgFmtUDIDu2xE3CBuCWWBxIU+8vk9MozdQukDUO3x4qm5IJOp36ZyW6waaJci/jrkviWEV9qiQOdd8Ebr/+T0fKkYvBp6AqOB2fnQz0SA39Kn9z6Z9mfPeze/UlUOXrB3Q2AW36a77KwP7tYCwh7Mupjk1TOmZuNInlyZqxuN8n3ItrQF1xryvRl9W/3Y3/60QGCTGF71h5JB0Tbn7vsDqyP6Vkva5dymxoVQ+lIE6+3+lJCH3Zcp+E78y2Fny7Evw7kstC8YA7BtQZRP1hiwTDKnuGun8aSiekaDxXwrbG/zOtaOT/ss3MLSjpCLc93V2Guwy3bAa6Jd2yhObodBnOTUnLGroMtyyhOTpdhnNT0rKGfwD3f6JVZi/xSQAAAABJRU5ErkJggg==')}.x-tabbar-light{background-color:#2583c4;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #97c9eb), color-stop(2%, #3495d9), color-stop(100%, #1f6fa6));background-image:-webkit-linear-gradient(#97c9eb,#3495d9 2%,#1f6fa6);background-image:linear-gradient(#97c9eb,#3495d9 2%,#1f6fa6);border-top-color:#2175af;border-bottom-color:#195884}.x-tabbar-light .x-tab{color:#c1dff4}.x-tabbar-light .x-tab-active{color:white;border-bottom:1px solid #278bd1}.x-tabbar-light .x-tab-pressed{color:white}.x-tabbar-light.x-docked-bottom .x-tab{text-shadow:rgba(0, 0, 0, 0.5) 0 -0.08em 0}.x-tabbar-light.x-docked-bottom .x-tab .x-button-icon{background-color:#6cb2e3;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ecf5fc), color-stop(2%, #8ac2e9), color-stop(100%, #4da3de));background-image:-webkit-linear-gradient(#ecf5fc,#8ac2e9 2%,#4da3de);background-image:linear-gradient(#ecf5fc,#8ac2e9 2%,#4da3de)}.x-tabbar-light.x-docked-bottom .x-tab-active{background-color:#2175af;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #195884), color-stop(10%, #1d6699), color-stop(65%, #2175af), color-stop(100%, #2176b1));background-image:-webkit-linear-gradient(#195884,#1d6699 10%,#2175af 65%,#2176b1);background-image:linear-gradient(#195884,#1d6699 10%,#2175af 65%,#2176b1);text-shadow:rgba(255, 255, 255, 0.25) 0 0.08em 0;-webkit-box-shadow:#1d6699 0 0 0.25em inset;box-shadow:#1d6699 0 0 0.25em inset}.x-tabbar-light.x-docked-bottom .x-tab-active .x-button-icon{background-color:#1da2ff;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #b6e1ff), color-stop(2%, #41b1ff), color-stop(100%, #0093f8));background-image:-webkit-linear-gradient(#b6e1ff,#41b1ff 2%,#0093f8);background-image:linear-gradient(#b6e1ff,#41b1ff 2%,#0093f8)}.x-tabbar-light.x-docked-top .x-tab-active{background-color:#2175af;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #195884), color-stop(10%, #1d6699), color-stop(65%, #2175af), color-stop(100%, #2176b1));background-image:-webkit-linear-gradient(#195884,#1d6699 10%,#2175af 65%,#2176b1);background-image:linear-gradient(#195884,#1d6699 10%,#2175af 65%,#2176b1);color:white}.x-tabbar-dark{background-color:#0e4b75;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #359ee7), color-stop(2%, #125f95), color-stop(100%, #0a3655));background-image:-webkit-linear-gradient(#359ee7,#125f95 2%,#0a3655);background-image:linear-gradient(#359ee7,#125f95 2%,#0a3655);border-top-color:#0b3c5e;border-bottom-color:#061f31}.x-tabbar-dark .x-tab{color:#63b4ec}.x-tabbar-dark .x-tab-active{color:white;border-bottom:1px solid #105483}.x-tabbar-dark .x-tab-pressed{color:white}.x-tabbar-dark.x-docked-bottom .x-tab{text-shadow:rgba(0, 0, 0, 0.5) 0 -0.08em 0}.x-tabbar-dark.x-docked-bottom .x-tab .x-button-icon{background-color:#1985d0;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #90caf2), color-stop(2%, #2897e5), color-stop(100%, #1571b0));background-image:-webkit-linear-gradient(#90caf2,#2897e5 2%,#1571b0);background-image:linear-gradient(#90caf2,#2897e5 2%,#1571b0)}.x-tabbar-dark.x-docked-bottom .x-tab-active{background-color:#0b3c5e;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #061f31), color-stop(10%, #092e47), color-stop(65%, #0b3c5e), color-stop(100%, #0c3e60));background-image:-webkit-linear-gradient(#061f31,#092e47 10%,#0b3c5e 65%,#0c3e60);background-image:linear-gradient(#061f31,#092e47 10%,#0b3c5e 65%,#0c3e60);text-shadow:rgba(0, 0, 0, 0.5) 0 -0.08em 0;-webkit-box-shadow:#092e47 0 0 0.25em inset;box-shadow:#092e47 0 0 0.25em inset}.x-tabbar-dark.x-docked-bottom .x-tab-active .x-button-icon{background-color:#50b7ff;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #e9f6ff), color-stop(2%, #74c6ff), color-stop(100%, #2ca9ff));background-image:-webkit-linear-gradient(#e9f6ff,#74c6ff 2%,#2ca9ff);background-image:linear-gradient(#e9f6ff,#74c6ff 2%,#2ca9ff)}.x-tabbar-dark.x-docked-top .x-tab-active{background-color:#0b3c5e;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #061f31), color-stop(10%, #092e47), color-stop(65%, #0b3c5e), color-stop(100%, #0c3e60));background-image:-webkit-linear-gradient(#061f31,#092e47 10%,#0b3c5e 65%,#0c3e60);background-image:linear-gradient(#061f31,#092e47 10%,#0b3c5e 65%,#0c3e60);color:white}.x-tabbar-neutral{background-color:#e0e0e0;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ffffff), color-stop(2%, #f2f2f2), color-stop(100%, #cecece));background-image:-webkit-linear-gradient(#ffffff,#f2f2f2 2%,#cecece);background-image:linear-gradient(#ffffff,#f2f2f2 2%,#cecece);border-top-color:#d3d3d3;border-bottom-color:#bababa}.x-tabbar-neutral .x-tab{color:#7a7a7a}.x-tabbar-neutral .x-tab-active{color:black;border-bottom:1px solid #e8e8e8}.x-tabbar-neutral .x-tab-pressed{color:black}.x-tabbar-neutral.x-docked-bottom .x-tab{text-shadow:rgba(255, 255, 255, 0.25) 0 0.08em 0}.x-tabbar-neutral.x-docked-bottom .x-tab .x-button-icon{background-color:#adadad;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #fafafa), color-stop(2%, #bfbfbf), color-stop(100%, #9b9b9b));background-image:-webkit-linear-gradient(#fafafa,#bfbfbf 2%,#9b9b9b);background-image:linear-gradient(#fafafa,#bfbfbf 2%,#9b9b9b)}.x-tabbar-neutral.x-docked-bottom .x-tab-active{background-color:#d3d3d3;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #bababa), color-stop(10%, #c7c7c7), color-stop(65%, #d3d3d3), color-stop(100%, #d5d5d5));background-image:-webkit-linear-gradient(#bababa,#c7c7c7 10%,#d3d3d3 65%,#d5d5d5);background-image:linear-gradient(#bababa,#c7c7c7 10%,#d3d3d3 65%,#d5d5d5);text-shadow:rgba(255, 255, 255, 0.25) 0 0.08em 0;-webkit-box-shadow:#c7c7c7 0 0 0.25em inset;box-shadow:#c7c7c7 0 0 0.25em inset}.x-tabbar-neutral.x-docked-bottom .x-tab-active .x-button-icon{background-color:#7a7a7a;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #c7c7c7), color-stop(2%, #8c8c8c), color-stop(100%, #686868));background-image:-webkit-linear-gradient(#c7c7c7,#8c8c8c 2%,#686868);background-image:linear-gradient(#c7c7c7,#8c8c8c 2%,#686868)}.x-tabbar-neutral.x-docked-top .x-tab-active{background-color:#d3d3d3;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #bababa), color-stop(10%, #c7c7c7), color-stop(65%, #d3d3d3), color-stop(100%, #d5d5d5));background-image:-webkit-linear-gradient(#bababa,#c7c7c7 10%,#d3d3d3 65%,#d5d5d5);background-image:linear-gradient(#bababa,#c7c7c7 10%,#d3d3d3 65%,#d5d5d5);color:black}.x-tab.x-item-disabled span.x-button-label,.x-tab.x-item-disabled .x-hasbadge span.x-badge,.x-hasbadge .x-tab.x-item-disabled span.x-badge,.x-tab.x-item-disabled .x-button-icon{filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=50);opacity:0.5}.x-tab.x-draggable{filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=70);opacity:0.7}.x-tab{-webkit-user-select:none;overflow:visible !important}.x-toolbar{padding:0 0.2em;overflow:hidden;position:relative;height:2.6em}.x-toolbar > *{z-index:1}.x-toolbar.x-docked-top{border-bottom:.1em solid}.x-toolbar.x-docked-bottom{border-top:.1em solid}.x-toolbar.x-docked-left{width:7em;height:auto;padding:0.2em;border-right:.1em solid}.x-toolbar.x-docked-right{width:7em;height:auto;padding:0.2em;border-left:.1em solid}.x-title{line-height:2.1em;font-size:1.2em;text-align:center;font-weight:bold;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0 0.3em;max-width:100%}.x-title .x-innerhtml{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 .3em}.x-toolbar-dark{background-color:#1468a2;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #63b4ec), color-stop(2%, #177cc2), color-stop(100%, #105483));background-image:-webkit-linear-gradient(#63b4ec,#177cc2 2%,#105483);background-image:linear-gradient(#63b4ec,#177cc2 2%,#105483);border-color:black}.x-toolbar-dark .x-title{color:white;text-shadow:rgba(0, 0, 0, 0.5) 0 -0.08em 0}.x-toolbar-dark.x-docked-top{border-bottom-color:black}.x-toolbar-dark.x-docked-bottom{border-top-color:black}.x-toolbar-dark.x-docked-left{border-right-color:black}.x-toolbar-dark.x-docked-right{border-left-color:black}.x-toolbar-dark .x-button,.x-toolbar .x-toolbar-dark .x-button,.x-toolbar-dark .x-field-select .x-component-outer,.x-toolbar .x-toolbar-dark .x-field-select .x-component-outer,.x-toolbar-dark .x-field-select .x-component-outer:before,.x-toolbar .x-toolbar-dark .x-field-select .x-component-outer:before{border:1px solid #061f31;border-top-color:#092e47;color:white}.x-toolbar-dark .x-button.x-button-back:before,.x-toolbar-dark .x-button.x-button-forward:before,.x-toolbar .x-toolbar-dark .x-button.x-button-back:before,.x-toolbar .x-toolbar-dark .x-button.x-button-forward:before,.x-toolbar-dark .x-field-select .x-component-outer.x-button-back:before,.x-toolbar-dark .x-field-select .x-component-outer.x-button-forward:before,.x-toolbar .x-toolbar-dark .x-field-select .x-component-outer.x-button-back:before,.x-toolbar .x-toolbar-dark .x-field-select .x-component-outer.x-button-forward:before,.x-toolbar-dark .x-field-select .x-component-outer:before.x-button-back:before,.x-toolbar-dark .x-field-select .x-component-outer:before.x-button-forward:before,.x-toolbar .x-toolbar-dark .x-field-select .x-component-outer:before.x-button-back:before,.x-toolbar .x-toolbar-dark .x-field-select .x-component-outer:before.x-button-forward:before{background:#061f31}.x-toolbar-dark .x-button,.x-toolbar-dark .x-button.x-button-back:after,.x-toolbar-dark .x-button.x-button-forward:after,.x-toolbar .x-toolbar-dark .x-button,.x-toolbar .x-toolbar-dark .x-button.x-button-back:after,.x-toolbar .x-toolbar-dark .x-button.x-button-forward:after,.x-toolbar-dark .x-field-select .x-component-outer,.x-toolbar-dark .x-field-select .x-component-outer.x-button-back:after,.x-toolbar-dark .x-field-select .x-component-outer.x-button-forward:after,.x-toolbar .x-toolbar-dark .x-field-select .x-component-outer,.x-toolbar .x-toolbar-dark .x-field-select .x-component-outer.x-button-back:after,.x-toolbar .x-toolbar-dark .x-field-select .x-component-outer.x-button-forward:after,.x-toolbar-dark .x-field-select .x-component-outer:before,.x-toolbar-dark .x-field-select .x-component-outer:before.x-button-back:after,.x-toolbar-dark .x-field-select .x-component-outer:before.x-button-forward:after,.x-toolbar .x-toolbar-dark .x-field-select .x-component-outer:before,.x-toolbar .x-toolbar-dark .x-field-select .x-component-outer:before.x-button-back:after,.x-toolbar .x-toolbar-dark .x-field-select .x-component-outer:before.x-button-forward:after{background-color:#11598c;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #4ca9e9), color-stop(2%, #156eac), color-stop(100%, #0d456c));background-image:-webkit-linear-gradient(#4ca9e9,#156eac 2%,#0d456c);background-image:linear-gradient(#4ca9e9,#156eac 2%,#0d456c)}.x-toolbar-dark .x-button .x-button-icon.x-icon-mask,.x-toolbar .x-toolbar-dark .x-button .x-button-icon.x-icon-mask,.x-toolbar-dark .x-field-select .x-component-outer .x-button-icon.x-icon-mask,.x-toolbar .x-toolbar-dark .x-field-select .x-component-outer .x-button-icon.x-icon-mask,.x-toolbar-dark .x-field-select .x-component-outer:before .x-button-icon.x-icon-mask,.x-toolbar .x-toolbar-dark .x-field-select .x-component-outer:before .x-button-icon.x-icon-mask{background-color:white;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ffffff), color-stop(2%, #ffffff), color-stop(100%, #dff0fb));background-image:-webkit-linear-gradient(#ffffff,#ffffff 2%,#dff0fb);background-image:linear-gradient(#ffffff,#ffffff 2%,#dff0fb)}.x-toolbar-dark .x-button.x-button-pressing,.x-toolbar-dark .x-button.x-button-pressing:after,.x-toolbar-dark .x-button.x-button-pressed,.x-toolbar-dark .x-button.x-button-pressed:after,.x-toolbar-dark .x-button.x-button-active,.x-toolbar-dark .x-button.x-button-active:after,.x-toolbar .x-toolbar-dark .x-button.x-button-pressing,.x-toolbar .x-toolbar-dark .x-button.x-button-pressing:after,.x-toolbar .x-toolbar-dark .x-button.x-button-pressed,.x-toolbar .x-toolbar-dark .x-button.x-button-pressed:after,.x-toolbar .x-toolbar-dark .x-button.x-button-active,.x-toolbar .x-toolbar-dark .x-button.x-button-active:after,.x-toolbar-dark .x-field-select .x-component-outer.x-button-pressing,.x-toolbar-dark .x-field-select .x-component-outer.x-button-pressing:after,.x-toolbar-dark .x-field-select .x-component-outer.x-button-pressed,.x-toolbar-dark .x-field-select .x-component-outer.x-button-pressed:after,.x-toolbar-dark .x-field-select .x-component-outer.x-button-active,.x-toolbar-dark .x-field-select .x-component-outer.x-button-active:after,.x-toolbar .x-toolbar-dark .x-field-select .x-component-outer.x-button-pressing,.x-toolbar .x-toolbar-dark .x-field-select .x-component-outer.x-button-pressing:after,.x-toolbar .x-toolbar-dark .x-field-select .x-component-outer.x-button-pressed,.x-toolbar .x-toolbar-dark .x-field-select .x-component-outer.x-button-pressed:after,.x-toolbar .x-toolbar-dark .x-field-select .x-component-outer.x-button-active,.x-toolbar .x-toolbar-dark .x-field-select .x-component-outer.x-button-active:after,.x-toolbar-dark .x-field-select .x-component-outer:before.x-button-pressing,.x-toolbar-dark .x-field-select .x-component-outer:before.x-button-pressing:after,.x-toolbar-dark .x-field-select .x-component-outer:before.x-button-pressed,.x-toolbar-dark .x-field-select .x-component-outer:before.x-button-pressed:after,.x-toolbar-dark .x-field-select .x-component-outer:before.x-button-active,.x-toolbar-dark .x-field-select .x-component-outer:before.x-button-active:after,.x-toolbar .x-toolbar-dark .x-field-select .x-component-outer:before.x-button-pressing,.x-toolbar .x-toolbar-dark .x-field-select .x-component-outer:before.x-button-pressing:after,.x-toolbar .x-toolbar-dark .x-field-select .x-component-outer:before.x-button-pressed,.x-toolbar .x-toolbar-dark .x-field-select .x-component-outer:before.x-button-pressed:after,.x-toolbar .x-toolbar-dark .x-field-select .x-component-outer:before.x-button-active,.x-toolbar .x-toolbar-dark .x-field-select .x-component-outer:before.x-button-active:after{background-color:#0f517e;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #0a3351), color-stop(10%, #0c4267), color-stop(65%, #0f517e), color-stop(100%, #0f5280));background-image:-webkit-linear-gradient(#0a3351,#0c4267 10%,#0f517e 65%,#0f5280);background-image:linear-gradient(#0a3351,#0c4267 10%,#0f517e 65%,#0f5280)}.x-toolbar-dark .x-form-label{color:white;text-shadow:rgba(0, 0, 0, 0.5) 0 -0.08em 0}.x-toolbar-light{background-color:#1985d0;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #90caf2), color-stop(2%, #2897e5), color-stop(100%, #1571b0));background-image:-webkit-linear-gradient(#90caf2,#2897e5 2%,#1571b0);background-image:linear-gradient(#90caf2,#2897e5 2%,#1571b0);border-color:black}.x-toolbar-light .x-title{color:white;text-shadow:rgba(0, 0, 0, 0.5) 0 -0.08em 0}.x-toolbar-light.x-docked-top{border-bottom-color:black}.x-toolbar-light.x-docked-bottom{border-top-color:black}.x-toolbar-light.x-docked-left{border-right-color:black}.x-toolbar-light.x-docked-right{border-left-color:black}.x-toolbar-light .x-button,.x-toolbar .x-toolbar-light .x-button,.x-toolbar-light .x-field-select .x-component-outer,.x-toolbar .x-toolbar-light .x-field-select .x-component-outer,.x-toolbar-light .x-field-select .x-component-outer:before,.x-toolbar .x-toolbar-light .x-field-select .x-component-outer:before{border:1px solid #0b3c5e;border-top-color:#0e4b75;color:white}.x-toolbar-light .x-button.x-button-back:before,.x-toolbar-light .x-button.x-button-forward:before,.x-toolbar .x-toolbar-light .x-button.x-button-back:before,.x-toolbar .x-toolbar-light .x-button.x-button-forward:before,.x-toolbar-light .x-field-select .x-component-outer.x-button-back:before,.x-toolbar-light .x-field-select .x-component-outer.x-button-forward:before,.x-toolbar .x-toolbar-light .x-field-select .x-component-outer.x-button-back:before,.x-toolbar .x-toolbar-light .x-field-select .x-component-outer.x-button-forward:before,.x-toolbar-light .x-field-select .x-component-outer:before.x-button-back:before,.x-toolbar-light .x-field-select .x-component-outer:before.x-button-forward:before,.x-toolbar .x-toolbar-light .x-field-select .x-component-outer:before.x-button-back:before,.x-toolbar .x-toolbar-light .x-field-select .x-component-outer:before.x-button-forward:before{background:#0b3c5e}.x-toolbar-light .x-button,.x-toolbar-light .x-button.x-button-back:after,.x-toolbar-light .x-button.x-button-forward:after,.x-toolbar .x-toolbar-light .x-button,.x-toolbar .x-toolbar-light .x-button.x-button-back:after,.x-toolbar .x-toolbar-light .x-button.x-button-forward:after,.x-toolbar-light .x-field-select .x-component-outer,.x-toolbar-light .x-field-select .x-component-outer.x-button-back:after,.x-toolbar-light .x-field-select .x-component-outer.x-button-forward:after,.x-toolbar .x-toolbar-light .x-field-select .x-component-outer,.x-toolbar .x-toolbar-light .x-field-select .x-component-outer.x-button-back:after,.x-toolbar .x-toolbar-light .x-field-select .x-component-outer.x-button-forward:after,.x-toolbar-light .x-field-select .x-component-outer:before,.x-toolbar-light .x-field-select .x-component-outer:before.x-button-back:after,.x-toolbar-light .x-field-select .x-component-outer:before.x-button-forward:after,.x-toolbar .x-toolbar-light .x-field-select .x-component-outer:before,.x-toolbar .x-toolbar-light .x-field-select .x-component-outer:before.x-button-back:after,.x-toolbar .x-toolbar-light .x-field-select .x-component-outer:before.x-button-forward:after{background-color:#1676b9;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #7abfef), color-stop(2%, #1a8bd9), color-stop(100%, #126299));background-image:-webkit-linear-gradient(#7abfef,#1a8bd9 2%,#126299);background-image:linear-gradient(#7abfef,#1a8bd9 2%,#126299)}.x-toolbar-light .x-button .x-button-icon.x-icon-mask,.x-toolbar .x-toolbar-light .x-button .x-button-icon.x-icon-mask,.x-toolbar-light .x-field-select .x-component-outer .x-button-icon.x-icon-mask,.x-toolbar .x-toolbar-light .x-field-select .x-component-outer .x-button-icon.x-icon-mask,.x-toolbar-light .x-field-select .x-component-outer:before .x-button-icon.x-icon-mask,.x-toolbar .x-toolbar-light .x-field-select .x-component-outer:before .x-button-icon.x-icon-mask{background-color:white;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ffffff), color-stop(2%, #ffffff), color-stop(100%, #dff0fb));background-image:-webkit-linear-gradient(#ffffff,#ffffff 2%,#dff0fb);background-image:linear-gradient(#ffffff,#ffffff 2%,#dff0fb)}.x-toolbar-light .x-button.x-button-pressing,.x-toolbar-light .x-button.x-button-pressing:after,.x-toolbar-light .x-button.x-button-pressed,.x-toolbar-light .x-button.x-button-pressed:after,.x-toolbar-light .x-button.x-button-active,.x-toolbar-light .x-button.x-button-active:after,.x-toolbar .x-toolbar-light .x-button.x-button-pressing,.x-toolbar .x-toolbar-light .x-button.x-button-pressing:after,.x-toolbar .x-toolbar-light .x-button.x-button-pressed,.x-toolbar .x-toolbar-light .x-button.x-button-pressed:after,.x-toolbar .x-toolbar-light .x-button.x-button-active,.x-toolbar .x-toolbar-light .x-button.x-button-active:after,.x-toolbar-light .x-field-select .x-component-outer.x-button-pressing,.x-toolbar-light .x-field-select .x-component-outer.x-button-pressing:after,.x-toolbar-light .x-field-select .x-component-outer.x-button-pressed,.x-toolbar-light .x-field-select .x-component-outer.x-button-pressed:after,.x-toolbar-light .x-field-select .x-component-outer.x-button-active,.x-toolbar-light .x-field-select .x-component-outer.x-button-active:after,.x-toolbar .x-toolbar-light .x-field-select .x-component-outer.x-button-pressing,.x-toolbar .x-toolbar-light .x-field-select .x-component-outer.x-button-pressing:after,.x-toolbar .x-toolbar-light .x-field-select .x-component-outer.x-button-pressed,.x-toolbar .x-toolbar-light .x-field-select .x-component-outer.x-button-pressed:after,.x-toolbar .x-toolbar-light .x-field-select .x-component-outer.x-button-active,.x-toolbar .x-toolbar-light .x-field-select .x-component-outer.x-button-active:after,.x-toolbar-light .x-field-select .x-component-outer:before.x-button-pressing,.x-toolbar-light .x-field-select .x-component-outer:before.x-button-pressing:after,.x-toolbar-light .x-field-select .x-component-outer:before.x-button-pressed,.x-toolbar-light .x-field-select .x-component-outer:before.x-button-pressed:after,.x-toolbar-light .x-field-select .x-component-outer:before.x-button-active,.x-toolbar-light .x-field-select .x-component-outer:before.x-button-active:after,.x-toolbar .x-toolbar-light .x-field-select .x-component-outer:before.x-button-pressing,.x-toolbar .x-toolbar-light .x-field-select .x-component-outer:before.x-button-pressing:after,.x-toolbar .x-toolbar-light .x-field-select .x-component-outer:before.x-button-pressed,.x-toolbar .x-toolbar-light .x-field-select .x-component-outer:before.x-button-pressed:after,.x-toolbar .x-toolbar-light .x-field-select .x-component-outer:before.x-button-active,.x-toolbar .x-toolbar-light .x-field-select .x-component-outer:before.x-button-active:after{background-color:#156eac;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #0f517e), color-stop(10%, #125f95), color-stop(65%, #156eac), color-stop(100%, #156fae));background-image:-webkit-linear-gradient(#0f517e,#125f95 10%,#156eac 65%,#156fae);background-image:linear-gradient(#0f517e,#125f95 10%,#156eac 65%,#156fae)}.x-toolbar-light .x-form-label{color:white;text-shadow:rgba(0, 0, 0, 0.5) 0 -0.08em 0}.x-toolbar-neutral{background-color:#e0e0e0;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ffffff), color-stop(2%, #f2f2f2), color-stop(100%, #cecece));background-image:-webkit-linear-gradient(#ffffff,#f2f2f2 2%,#cecece);background-image:linear-gradient(#ffffff,#f2f2f2 2%,#cecece);border-color:#616161}.x-toolbar-neutral .x-title{color:black;text-shadow:rgba(255, 255, 255, 0.25) 0 0.08em 0}.x-toolbar-neutral.x-docked-top{border-bottom-color:#616161}.x-toolbar-neutral.x-docked-bottom{border-top-color:#616161}.x-toolbar-neutral.x-docked-left{border-right-color:#616161}.x-toolbar-neutral.x-docked-right{border-left-color:#616161}.x-toolbar-neutral .x-button,.x-toolbar .x-toolbar-neutral .x-button,.x-toolbar-neutral .x-field-select .x-component-outer,.x-toolbar .x-toolbar-neutral .x-field-select .x-component-outer,.x-toolbar-neutral .x-field-select .x-component-outer:before,.x-toolbar .x-toolbar-neutral .x-field-select .x-component-outer:before{border:1px solid #a0a0a0;border-top-color:#adadad;color:black}.x-toolbar-neutral .x-button.x-button-back:before,.x-toolbar-neutral .x-button.x-button-forward:before,.x-toolbar .x-toolbar-neutral .x-button.x-button-back:before,.x-toolbar .x-toolbar-neutral .x-button.x-button-forward:before,.x-toolbar-neutral .x-field-select .x-component-outer.x-button-back:before,.x-toolbar-neutral .x-field-select .x-component-outer.x-button-forward:before,.x-toolbar .x-toolbar-neutral .x-field-select .x-component-outer.x-button-back:before,.x-toolbar .x-toolbar-neutral .x-field-select .x-component-outer.x-button-forward:before,.x-toolbar-neutral .x-field-select .x-component-outer:before.x-button-back:before,.x-toolbar-neutral .x-field-select .x-component-outer:before.x-button-forward:before,.x-toolbar .x-toolbar-neutral .x-field-select .x-component-outer:before.x-button-back:before,.x-toolbar .x-toolbar-neutral .x-field-select .x-component-outer:before.x-button-forward:before{background:#a0a0a0}.x-toolbar-neutral .x-button,.x-toolbar-neutral .x-button.x-button-back:after,.x-toolbar-neutral .x-button.x-button-forward:after,.x-toolbar .x-toolbar-neutral .x-button,.x-toolbar .x-toolbar-neutral .x-button.x-button-back:after,.x-toolbar .x-toolbar-neutral .x-button.x-button-forward:after,.x-toolbar-neutral .x-field-select .x-component-outer,.x-toolbar-neutral .x-field-select .x-component-outer.x-button-back:after,.x-toolbar-neutral .x-field-select .x-component-outer.x-button-forward:after,.x-toolbar .x-toolbar-neutral .x-field-select .x-component-outer,.x-toolbar .x-toolbar-neutral .x-field-select .x-component-outer.x-button-back:after,.x-toolbar .x-toolbar-neutral .x-field-select .x-component-outer.x-button-forward:after,.x-toolbar-neutral .x-field-select .x-component-outer:before,.x-toolbar-neutral .x-field-select .x-component-outer:before.x-button-back:after,.x-toolbar-neutral .x-field-select .x-component-outer:before.x-button-forward:after,.x-toolbar .x-toolbar-neutral .x-field-select .x-component-outer:before,.x-toolbar .x-toolbar-neutral .x-field-select .x-component-outer:before.x-button-back:after,.x-toolbar .x-toolbar-neutral .x-field-select .x-component-outer:before.x-button-forward:after{background-color:#d3d3d3;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ffffff), color-stop(2%, #e5e5e5), color-stop(100%, #c1c1c1));background-image:-webkit-linear-gradient(#ffffff,#e5e5e5 2%,#c1c1c1);background-image:linear-gradient(#ffffff,#e5e5e5 2%,#c1c1c1)}.x-toolbar-neutral .x-button .x-button-icon.x-icon-mask,.x-toolbar .x-toolbar-neutral .x-button .x-button-icon.x-icon-mask,.x-toolbar-neutral .x-field-select .x-component-outer .x-button-icon.x-icon-mask,.x-toolbar .x-toolbar-neutral .x-field-select .x-component-outer .x-button-icon.x-icon-mask,.x-toolbar-neutral .x-field-select .x-component-outer:before .x-button-icon.x-icon-mask,.x-toolbar .x-toolbar-neutral .x-field-select .x-component-outer:before .x-button-icon.x-icon-mask{background-color:black;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #4d4d4d), color-stop(2%, #121212), color-stop(100%, #000000));background-image:-webkit-linear-gradient(#4d4d4d,#121212 2%,#000000);background-image:linear-gradient(#4d4d4d,#121212 2%,#000000)}.x-toolbar-neutral .x-button.x-button-pressing,.x-toolbar-neutral .x-button.x-button-pressing:after,.x-toolbar-neutral .x-button.x-button-pressed,.x-toolbar-neutral .x-button.x-button-pressed:after,.x-toolbar-neutral .x-button.x-button-active,.x-toolbar-neutral .x-button.x-button-active:after,.x-toolbar .x-toolbar-neutral .x-button.x-button-pressing,.x-toolbar .x-toolbar-neutral .x-button.x-button-pressing:after,.x-toolbar .x-toolbar-neutral .x-button.x-button-pressed,.x-toolbar .x-toolbar-neutral .x-button.x-button-pressed:after,.x-toolbar .x-toolbar-neutral .x-button.x-button-active,.x-toolbar .x-toolbar-neutral .x-button.x-button-active:after,.x-toolbar-neutral .x-field-select .x-component-outer.x-button-pressing,.x-toolbar-neutral .x-field-select .x-component-outer.x-button-pressing:after,.x-toolbar-neutral .x-field-select .x-component-outer.x-button-pressed,.x-toolbar-neutral .x-field-select .x-component-outer.x-button-pressed:after,.x-toolbar-neutral .x-field-select .x-component-outer.x-button-active,.x-toolbar-neutral .x-field-select .x-component-outer.x-button-active:after,.x-toolbar .x-toolbar-neutral .x-field-select .x-component-outer.x-button-pressing,.x-toolbar .x-toolbar-neutral .x-field-select .x-component-outer.x-button-pressing:after,.x-toolbar .x-toolbar-neutral .x-field-select .x-component-outer.x-button-pressed,.x-toolbar .x-toolbar-neutral .x-field-select .x-component-outer.x-button-pressed:after,.x-toolbar .x-toolbar-neutral .x-field-select .x-component-outer.x-button-active,.x-toolbar .x-toolbar-neutral .x-field-select .x-component-outer.x-button-active:after,.x-toolbar-neutral .x-field-select .x-component-outer:before.x-button-pressing,.x-toolbar-neutral .x-field-select .x-component-outer:before.x-button-pressing:after,.x-toolbar-neutral .x-field-select .x-component-outer:before.x-button-pressed,.x-toolbar-neutral .x-field-select .x-component-outer:before.x-button-pressed:after,.x-toolbar-neutral .x-field-select .x-component-outer:before.x-button-active,.x-toolbar-neutral .x-field-select .x-component-outer:before.x-button-active:after,.x-toolbar .x-toolbar-neutral .x-field-select .x-component-outer:before.x-button-pressing,.x-toolbar .x-toolbar-neutral .x-field-select .x-component-outer:before.x-button-pressing:after,.x-toolbar .x-toolbar-neutral .x-field-select .x-component-outer:before.x-button-pressed,.x-toolbar .x-toolbar-neutral .x-field-select .x-component-outer:before.x-button-pressed:after,.x-toolbar .x-toolbar-neutral .x-field-select .x-component-outer:before.x-button-active,.x-toolbar .x-toolbar-neutral .x-field-select .x-component-outer:before.x-button-active:after{background-color:#cccccc;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #b2b2b2), color-stop(10%, #bfbfbf), color-stop(65%, #cccccc), color-stop(100%, #cdcdcd));background-image:-webkit-linear-gradient(#b2b2b2,#bfbfbf 10%,#cccccc 65%,#cdcdcd);background-image:linear-gradient(#b2b2b2,#bfbfbf 10%,#cccccc 65%,#cdcdcd)}.x-toolbar-neutral .x-form-label{color:black;text-shadow:rgba(255, 255, 255, 0.25) 0 0.08em 0}.x-navigation-bar .x-container{overflow:visible}.x-spinner .x-input-el,.x-field-select .x-input-el{-webkit-text-fill-color:#000;-webkit-opacity:1}.x-spinner.x-item-disabled .x-input-el,.x-field-select.x-item-disabled .x-input-el{-webkit-text-fill-color:currentcolor}.x-toolbar .x-field-select .x-input-el{-webkit-text-fill-color:#fff}.x-toolbar .x-field-select.x-item-disabled .x-input-el{-webkit-text-fill-color:rgba(255, 255, 255, 0.6)}.x-toolbar .x-form-field-container{padding:0 .3em}.x-toolbar .x-field{width:13em;margin:.5em;min-height:0;border-bottom:0;background:transparent}.x-toolbar .x-field .x-clear-icon{background-size:50% 50%;right:-0.8em;margin-top:-1.06em}.x-toolbar .x-field-input{padding-right:1.6em !important}.x-toolbar .x-field-textarea .x-component-outer,.x-toolbar .x-field-text .x-component-outer,.x-toolbar .x-field-number .x-component-outer,.x-toolbar .x-field-search .x-component-outer{-webkit-border-radius:0.3em;border-radius:0.3em;background-color:white;-webkit-box-shadow:inset rgba(0, 0, 0, 0.5) 0 0.1em 0, inset rgba(0, 0, 0, 0.5) 0 -0.1em 0, inset rgba(0, 0, 0, 0.5) 0.1em 0 0, inset rgba(0, 0, 0, 0.5) -0.1em 0 0, inset rgba(0, 0, 0, 0.5) 0 0.15em 0.4em}.x-toolbar .x-form-label{background:transparent;border:0;padding:0;line-height:1.4em}.x-toolbar .x-form-field{height:1.6em;color:#6e6e6e;background:transparent;min-height:0;-webkit-appearance:none;padding:0em .3em;margin:0}.x-toolbar .x-form-field:focus{color:black}.x-toolbar .x-field-select .x-component-outer,.x-toolbar .x-field-search .x-component-outer{-webkit-border-radius:0.8em;border-radius:0.8em}.x-toolbar .x-field-search .x-field-input{background-position:.5em 50%}.x-toolbar .x-field-select{-webkit-box-shadow:none}.x-toolbar .x-field-select .x-form-field{height:1.4em}.x-toolbar .x-field-select{background:transparent}.x-toolbar .x-field-select .x-component-outer:after{right:.4em}.x-toolbar .x-field-select.x-item-disabled .x-component-outer:after{opacity:.6}.x-toolbar .x-field-select .x-component-outer:before{width:3em;border-left:none;-webkit-border-top-right-radius:0.8em;border-top-right-radius:0.8em;-webkit-border-bottom-right-radius:0.8em;border-bottom-right-radius:0.8em;-webkit-mask:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAABCAYAAACc0f2yAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAADJJREFUeNpi/P//PwMjIyMbAwMDOxRzAjEXFHMDMQ8a5kXC6HLcSHo5kcwEmU9TABBgAOcTBAFcRiSpAAAAAElFTkSuQmCC');-webkit-mask-position:right top;-webkit-mask-repeat:repeat-y;-webkit-mask-size:3em 0.05em}.x-toolbar .x-field-select .x-input-text{color:#fff}.x-android .x-field-search .x-field-input{padding-left:.2em !important;padding-right:2.2em !important}.x-indexbar-wrapper{-webkit-box-pack:end !important;box-pack:end !important;pointer-events:none}.x-indexbar-vertical{width:1.1em;-webkit-box-orient:vertical;box-orient:vertical;margin-right:8px}.x-indexbar-horizontal{height:1.1em;-webkit-box-orient:horizontal;box-orient:horizontal;margin-bottom:8px}.x-indexbar{pointer-events:auto;z-index:2;padding:.3em 0;min-height:0 !important;height:auto !important;-webkit-box-flex:0 !important}.x-indexbar > div{color:#155988;font-size:0.6em;text-align:center;line-height:1.1em;font-weight:bold;display:block}.x-phone.x-landscape .x-indexbar > div{font-size:0.38em;line-height:1em}.x-indexbar-pressed{-webkit-border-radius:0.55em;border-radius:0.55em;background-color:rgba(143, 155, 163, 0.8)}.x-list{position:relative;background-color:#f7f7f7}.x-list .x-list-inner{width:100%}.x-list .x-list-disclosure{position:absolute;bottom:0.44em;right:0.44em}.x-list .x-list-disclosure{overflow:visible;-webkit-mask:0 0 url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpFNkNCM0JGNTZFMjI2ODExQkNGQjkwMzk3MDc3MkZFQiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo3M0MzQUU1QUFDQkQxMURGOEQ2MUVDMjM0MzY2NTBDQSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo3M0MzQUU1OUFDQkQxMURGOEQ2MUVDMjM0MzY2NTBDQSIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IE1hY2ludG9zaCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkU3Q0IzQkY1NkUyMjY4MTFCQ0ZCOTAzOTcwNzcyRkVCIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkU2Q0IzQkY1NkUyMjY4MTFCQ0ZCOTAzOTcwNzcyRkVCIi8+IDwvcmRmOkRlc2NyaXB0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') no-repeat;-webkit-mask-size:1.7em;background-color:#006bb6;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #50b7ff), color-stop(2%, #0080da), color-stop(100%, #005692));background-image:-webkit-linear-gradient(#50b7ff,#0080da 2%,#005692);background-image:linear-gradient(#50b7ff,#0080da 2%,#005692);width:1.7em;height:1.7em}.x-list.x-list-indexed .x-list-disclosure{margin-right:1em}.x-list .x-item-selected .x-list-disclosure{background:#fff none}.x-list .x-list-item{position:relative;color:black}.x-list .x-list-item .x-list-item-label{min-height:2.6em;padding:0.65em 0.8em}.x-list .x-list-item.x-item-pressed .x-list-item-label{background:#b6e1ff none}.x-list .x-list-item.x-item-selected .x-list-item-label{background-color:#006bb6;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #50b7ff), color-stop(2%, #0080da), color-stop(100%, #005692));background-image:-webkit-linear-gradient(#50b7ff,#0080da 2%,#005692);background-image:linear-gradient(#50b7ff,#0080da 2%,#005692);color:white;text-shadow:rgba(0, 0, 0, 0.5) 0 -0.08em 0}.x-list-header{position:relative}.x-list-header-swap{position:absolute;left:0;width:100%;z-index:1}.x-ios .x-list-header-swap{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}.x-list-normal .x-list-header{background-color:#5ab5f5;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #eaf6fe), color-stop(2%, #7cc4f7), color-stop(100%, #38a6f3));background-image:-webkit-linear-gradient(#eaf6fe,#7cc4f7 2%,#38a6f3);background-image:linear-gradient(#eaf6fe,#7cc4f7 2%,#38a6f3);color:#0a6aac;text-shadow:rgba(255, 255, 255, 0.25) 0 0.08em 0;border-top:1px solid #5ab5f5;border-bottom:1px solid #0d87dc;font-weight:bold;font-size:0.8em;padding:0.2em 1.02em;text-shadow:rgba(255, 255, 255, 0.25) 0 0.08em 0}.x-list-normal .x-list-item .x-list-item-label{border-top:1px solid #dedede}.x-list-normal .x-list-item:last-child .x-list-item-label{border-bottom:1px solid #dedede}.x-list-normal .x-list-item:first-child .x-list-item-label{border-top:0}.x-list-normal .x-list-item.x-item-pressed .x-list-item-label{border-top-color:#b6e1ff;background-color:#b6e1ff}.x-list-normal .x-list-item.x-item-selected .x-list-item-label{border-top-color:#006bb6;border-bottom-color:#003e6a}.x-list-round .x-scroll-view{background-color:#EEEEEE !important}.x-list-round .x-list-disclosure{overflow:hidden;-webkit-mask:0 0 url('data:image/png;base64,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') no-repeat;-webkit-mask-size:1.5em;background-color:#419cdb;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #c1dff4), color-stop(2%, #5face1), color-stop(100%, #278bd1));background-image:-webkit-linear-gradient(#c1dff4,#5face1 2%,#278bd1);background-image:linear-gradient(#c1dff4,#5face1 2%,#278bd1);width:1.5em;height:1.5em;bottom:0.5em}.x-list-round .x-list-header{color:#777;font-size:1em;font-weight:bold;padding-left:26px;line-height:1.7em;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #eeeeee), color-stop(30%, rgba(238,238,238,0.9)), color-stop(100%, rgba(238,238,238,0.4)));background-image:-webkit-linear-gradient(top, #eeeeee,rgba(238,238,238,0.9) 30%,rgba(238,238,238,0.4));background-image:linear-gradient(top, #eeeeee,rgba(238,238,238,0.9) 30%,rgba(238,238,238,0.4))}.x-list-round .x-list-container{padding:13px 13px 0 13px}.x-list-round .x-list-container .x-list-header{padding-left:13px;background-image:none}.x-list-round.x-list-ungrouped .x-list-item-label,.x-list-round.x-list-grouped .x-list-item-label{border:solid #DDDDDD;border-width:1px 1px 0 1px;background:#fff}.x-list-round.x-list-ungrouped .x-list-item:first-child .x-list-item-label{-webkit-border-top-left-radius:0.4em;border-top-left-radius:0.4em;-webkit-border-top-right-radius:0.4em;border-top-right-radius:0.4em}.x-list-round.x-list-ungrouped .x-list-item:last-child{margin-bottom:13px}.x-list-round.x-list-ungrouped .x-list-item:last-child .x-list-item-label{-webkit-border-bottom-left-radius:0.4em;border-bottom-left-radius:0.4em;-webkit-border-bottom-right-radius:0.4em;border-bottom-right-radius:0.4em;border-width:1px}.x-list-round.x-list-grouped .x-list-header-item .x-list-item-label{-webkit-border-top-left-radius:0.4em;border-top-left-radius:0.4em;-webkit-border-top-right-radius:0.4em;border-top-right-radius:0.4em}.x-list-round.x-list-grouped .x-list-footer-item{margin-bottom:13px}.x-list-round.x-list-grouped .x-list-footer-item .x-list-item-label{border-width:1px;-webkit-border-bottom-left-radius:0.4em;border-bottom-left-radius:0.4em;-webkit-border-bottom-right-radius:0.4em;border-bottom-right-radius:0.4em}.x-dataview-inlineblock .x-dataview-item{display:inline-block !important}.x-dataview-nowrap .x-dataview-container{white-space:nowrap !important}.x-list-inlineblock .x-list-item{display:inline-block !important}.x-list-nowrap .x-list-inner{width:auto}.x-list-nowrap .x-list-container{white-space:nowrap !important}.x-list-paging{height:50px}.x-list-paging .x-loading-spinner{display:none;margin:auto}.x-list-paging .x-list-paging-msg{text-align:center;color:#006bb6;padding-top:10px;-webkit-border-radius:6px;border-radius:6px}.x-list-paging.x-loading .x-loading-spinner{display:block}.x-list-paging.x-loading .x-list-paging-msg{display:none}.x-list-pullrefresh{display:-webkit-box;display:box;-webkit-box-orient:horizontal;box-orient:horizontal;-webkit-box-align:center;box-align:center;-webkit-box-pack:center;box-pack:center;position:absolute;top:-5em;left:0;width:100%;height:4.5em}.x-list-pullrefresh .x-loading-spinner{display:none}.x-list-pullrefresh-arrow{width:2.5em;height:4.5em;background:center center url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAA8CAYAAAAUufjgAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAjFJREFUeNrsmU8oREEYwOexdtNuKBfFwdVhCyfuysnFiXISS+1BLopyUpKLXETkRLaUi1LK3Q2lpPbiQLnIn03a/Hm+z86Ttv0zM++bfbOar36Hbad5v535Zp7v47iuy0wOpyoEHccRHV9L9NxPkUE/bhKCOKiOSPAdn69DsJ5I8E2HYA0QJRJ8Bb50CDYRCT7pEMQD0kwk+CByUFQEW4gE73UIhoA2IsFb4ENEMCQ5MdU1IxwygpT3oKNLMGyyYFVscdhusc8tDpu+xRG7xf95BW0O2kNiV1AgIvaQ2BzUJNgJNJYZGyUU7OG1cal4Bi68oqkDPszy2teEwJp5Cdyu/lZ1g8CwIYJ7wEF+2YmrNw90Byx3BizgKhaqizEP1wg7CLLxCEzy/CtauMeBlQDyEfNuGrgU6SyM8F9SyVgHdmRaH6tAb4XkToEp2d4M5mOK0TWMigU2koa8vJMRZPxEb2ss2LEVPMpPLlMRxBgDZjQJLgNbxb6Uab9tAn3EcifAeKkBMoLY+j0GWonk7oB+lmsFkwhidAGHBPmIeTcAnJcbKCuIMQEs+hScAzZEBqoIYuzyFVCJI36lMJ2CDfxibZeUu+EX/4uMIFP8ZyLejxkgK0hG5a8kP4IYSZbr1IuQVHmAX0HGX4VuGfZVJ6cQxPd1uoRcWqDW0SroFVzZAnJZ/h0LWhAjUUAw4XdSSsH8fExRTEgtGAOuOTETBb16Jk412e+bxOSwglYw6PgWYABvLk8P7zGJFwAAAABJRU5ErkJggg==') no-repeat;background-size:2em 3em;-webkit-transform:rotate(0deg);transform:rotate(0deg)}.x-list-pullrefresh-release .x-list-pullrefresh-arrow{-webkit-transform:rotate(-180deg);transform:rotate(-180deg)}.x-list-pullrefresh-wrap{width:20em;font-size:0.7em}.x-list-pullrefresh-message{font-weight:bold;font-size:1.3em;margin-bottom:0.1em;text-align:center}.x-list-pullrefresh-updated{text-align:center}html,body{width:100%;height:100%}.x-translatable{position:absolute;top:100%;left:100%;z-index:1}.x-translatable-container{position:relative}.x-translatable-wrapper{width:100%;height:100%;position:absolute;overflow:hidden}.x-translatable-stretcher{width:300%;height:300%;position:absolute;visibility:hidden;z-index:-1}.x-translatable-nested-stretcher{width:100%;height:100%;left:100%;top:100%;position:absolute;visibility:hidden;z-index:-1}.x-layout-fit,.x-layout-card{position:relative;overflow:hidden}.x-layout-fit-item,.x-layout-card-item{position:absolute !important;width:100%;height:100%}.x-layout-hbox,.x-layout-vbox{display:-webkit-box}.x-layout-hbox > *,.x-layout-vbox > *{-webkit-box-flex:0}.x-layout-hbox{-webkit-box-orient:horizontal}.x-layout-vbox{-webkit-box-orient:vertical}.x-layout-hbox > .x-layout-box-item{width:0 !important}.x-layout-vbox > .x-layout-box-item{height:0 !important}.x-table-inner{display:table !important;width:100%;height:100%}.x-table-inner.x-table-fixed{table-layout:fixed !important}.x-table-row{display:table-row !important}.x-table-row > *{display:table-cell !important;vertical-align:middle}.x-container,.x-body{display:-webkit-box}.x-body{overflow:hidden;-webkit-box-flex:1;min-width:100%;min-height:100%}.x-body > .x-inner,.x-container > .x-inner{-webkit-box-flex:1;min-width:100%;min-height:100%;position:relative}.x-docking-horizontal{display:-webkit-box;-webkit-box-flex:1;-webkit-box-orient:horizontal;min-width:100%;min-height:100%}.x-docking-vertical{display:-webkit-box;-webkit-box-flex:1;-webkit-box-orient:vertical;min-width:100%;min-height:100%}.x-centered{position:absolute !important;width:100%;height:100%;display:-webkit-box;-webkit-box-align:center;-webkit-box-pack:center}.x-floating{position:absolute !important}.x-centered > *{position:relative !important;-webkit-box-flex:0 !important}.x-size-change-detector{visibility:hidden;position:absolute;left:0;top:0;z-index:-1;width:100%;height:100%;overflow:hidden}.x-size-change-detector > *{visibility:hidden}.x-size-change-detector-shrink > *{width:200%;height:200%}.x-size-change-detector-expand > *{width:100000px;height:100000px}.x-scroll-view{position:relative;display:block}.x-scroll-container{position:absolute;overflow:hidden;width:100%;height:100%}.x-scroll-scroller{position:absolute;min-width:100%;min-height:100%}.x-ios .x-scroll-scroller{-webkit-transform:translate3d(0, 0, 0)}.x-scroll-stretcher{position:absolute;visibility:hidden}.x-scroll-bar-grid-wrapper{position:absolute;width:100%;height:100%}.x-scroll-bar-grid{display:table;width:100%;height:100%}.x-scroll-bar-grid > *{display:table-row}.x-scroll-bar-grid > * > *{display:table-cell}.x-scroll-bar-grid > :first-child > :first-child{width:100%;height:100%}.x-scroll-bar-grid > :first-child > :nth-child(2){padding:3px 3px 0 0}.x-scroll-bar-grid > :nth-child(2) > :first-child{padding:0 0 3px 3px}.x-scroll-bar{position:relative;overflow:hidden}.x-scroll-bar-stretcher{position:absolute;visibility:hidden;width:100%;height:100%}.x-scroll-bar-x{width:100%}.x-scroll-bar-x > .x-scroll-bar-stretcher{width:300%}.x-scroll-bar-x.active{height:6px}.x-scroll-bar-y{height:100%}.x-scroll-bar-y > .x-scroll-bar-stretcher{height:300%}.x-scroll-bar-y.active{width:6px}.x-scroll-indicator{background:#333;position:absolute;z-index:2;opacity:0.5}.x-scroll-indicator.default{-webkit-border-top-left-radius:3px;border-top-left-radius:3px;-webkit-border-top-right-radius:3px;border-top-right-radius:3px;-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px;-webkit-border-bottom-right-radius:3px;border-bottom-right-radius:3px}.x-list-light .x-scroll-indicator,.x-dataview-light .x-scroll-indicator{background:#fff;opacity:1}.x-scroll-indicator-x{height:100%}.x-scroll-indicator-y{width:100%}.x-scroll-indicator.csstransform{background:none}.x-scroll-indicator.csstransform > *{position:absolute;background-color:#333}.x-scroll-indicator.csstransform > :nth-child(2){-webkit-transform-origin:0% 0%;background:none;content:url(data:image/bmp;base64,Qk08AAAAAAAAADYAAAAoAAAAAQAAAAEAAAABABAAAAAAAAYAAAASCwAAEgsAAAAAAAAAAAAAxhgAAAAA)}.x-scroll-indicator.csstransform.x-scroll-indicator-light > *{background-color:#eee}.x-scroll-indicator.csstransform.x-scroll-indicator-light > :nth-child(2){content:url(data:image/bmp;base64,Qk08AAAAAAAAADYAAAAoAAAAAQAAAAEAAAABABAAAAAAAAYAAAASCwAAEgsAAAAAAAAAAAAAvXcAAAAA)}.x-scroll-indicator.csstransform.x-scroll-indicator-y > *{width:100%}.x-scroll-indicator.csstransform.x-scroll-indicator-y > :first-child{height:3px;-webkit-border-top-left-radius:3px;border-top-left-radius:3px;-webkit-border-top-right-radius:3px;border-top-right-radius:3px}.x-scroll-indicator.csstransform.x-scroll-indicator-y > :nth-child(2){height:1px}.x-scroll-indicator.csstransform.x-scroll-indicator-y > :last-child{height:3px;-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px;-webkit-border-bottom-right-radius:3px;border-bottom-right-radius:3px}.x-scroll-indicator.csstransform.x-scroll-indicator-x > *{height:100%}.x-scroll-indicator.csstransform.x-scroll-indicator-x > :first-child{width:3px;-webkit-border-top-left-radius:3px;border-top-left-radius:3px;-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px}.x-scroll-indicator.csstransform.x-scroll-indicator-x > :nth-child(2){width:1px}.x-scroll-indicator.csstransform.x-scroll-indicator-x > :last-child{width:3px;-webkit-border-top-right-radius:3px;border-top-right-radius:3px;-webkit-border-bottom-right-radius:3px;border-bottom-right-radius:3px}.x-carousel{position:relative;overflow:hidden}.x-carousel-item{position:absolute;width:100%;height:100%}.x-carousel-item > *{position:absolute;width:100%;height:100%}.x-carousel-indicator{padding:0;-webkit-border-radius:0;border-radius:0;-webkit-box-shadow:none;background-color:transparent;background-image:none}.x-carousel-indicator{-webkit-box-flex:1;display:-webkit-box;display:box;-webkit-box-pack:center;box-pack:center;-webkit-box-align:center;box-align:center}.x-carousel-indicator span{display:block;width:0.5em;height:0.5em;-webkit-border-radius:0.25em;border-radius:0.25em;margin:0.2em}.x-carousel-indicator-horizontal{height:1.5em;width:100%}.x-carousel-indicator-vertical{-webkit-box-orient:vertical;box-orient:vertical;width:1.5em;height:100%}.x-carousel-indicator-light span{background-color:rgba(255, 255, 255, 0.1);background-image:none}.x-carousel-indicator-light span.x-carousel-indicator-active{background-color:rgba(255, 255, 255, 0.3);background-image:none}.x-carousel-indicator-dark span{background-color:rgba(0, 0, 0, 0.1);background-image:none}.x-carousel-indicator-dark span.x-carousel-indicator-active{background-color:rgba(0, 0, 0, 0.3);background-image:none}.x-form .x-scroll-container{background-color:#eeeeee}.x-form .x-scroll-container > .x-inner{padding:1em}.x-form-label{text-shadow:#fff 0 1px 1px;color:#333333;text-shadow:rgba(255, 255, 255, 0.25) 0 0.08em 0;padding:0.6em;display:none !important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background-color:#f7f7f7}.x-form-label span{font-size:.8em;font-weight:bold}.x-field{min-height:2.5em;background:#fff}.x-field .x-field-input{position:relative}.x-field .x-field-input,.x-field .x-input-el{width:100%}.x-field.x-field-labeled .x-form-label{display:block !important}.x-field:last-child{border-bottom:0}.x-label-align-left .x-component-outer,.x-label-align-right .x-component-outer{-webkit-box-flex:1;box-flex:1}.x-label-align-left:first-child .x-form-label{-webkit-border-top-left-radius:0.4em;border-top-left-radius:0.4em}.x-label-align-left:last-child .x-form-label{-webkit-border-bottom-left-radius:0.4em;border-bottom-left-radius:0.4em}.x-label-align-right{-webkit-box-direction:reverse;box-direction:reverse}.x-label-align-right:first-child .x-form-label{-webkit-border-top-right-radius:0.4em;border-top-right-radius:0.4em}.x-label-align-right:last-child{border-bottom:0}.x-label-align-right:last-child .x-form-label{-webkit-border-bottom-right-radius:0.4em;border-bottom-right-radius:0.4em}.x-label-align-top,.x-label-align-bottom{-webkit-box-orient:vertical;box-orient:vertical}.x-label-align-top:first-child .x-form-label{-webkit-border-top-left-radius:0.4em;border-top-left-radius:0.4em;-webkit-border-top-right-radius:0.4em;border-top-right-radius:0.4em}.x-label-align-bottom:last-child .x-form-label{-webkit-border-bottom-left-radius:0.4em;border-bottom-left-radius:0.4em;-webkit-border-bottom-right-radius:0.4em;border-bottom-right-radius:0.4em}.x-input-el{padding:.4em;min-height:2.5em;display:block;border-width:0;background:transparent;-webkit-appearance:none}.x-field-mask{position:absolute;top:0;right:0;bottom:0;left:0}.x-field-required label:after,.x-field-required .x-form-label:after{content:"*";display:inline}.x-item-disabled label:after,.x-item-disabled .x-form-label:after{color:#666 !important}.x-field-textarea textarea{min-height:6em;padding-top:.5em}.x-checkmark-base,.x-field .x-input-radio:after,.x-field .x-input-checkbox:after,.x-field .x-input-radio:checked:after,.x-field .x-input-checkbox:checked:after,.x-field.x-item-disabled .x-input-radio:checked:after,.x-field.x-item-disabled .x-input-checkbox:checked:after,.x-select-overlay .x-item-selected .x-list-item-label:before,.x-select-overlay .x-item-selected .x-list-item-label:after{content:"";position:absolute;width:1.4em;height:1.4em;top:50%;left:auto;right:1.1em;-webkit-mask-size:1.4em;-webkit-mask-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAE+klEQVRoBe2aS28URxRGsY0h2FmwCQuEWLHjvUNgZAQ4PMwrEkIRIGEgySKwB8QvYIvEP+ANO0CwsJAA88wGBEKBZJUVQkJCQrwJ5nxN31Z5pnpc7e4ZT9vT0peqqanquqfurVvlIW3Dw8NTJtPTPplgxdoCnugeb3m45eEJtgJTJwJPGw8cP8V6TfmC4/Z/H9uEAAZsIdqHZiMBn2UNbvigSw8M2AIAD6PtqBPpmYe+8t1NoL9GLfYf3bTKKhiWo9PoA9KV0dUgn/tRh8tXWg/Hnj0KUB8yz1JNnjXUuhFd264A/f0O7dKXpQ7EIiTPfkKuVyvrSlx3US+KPF26cMbwxeg8Gg3W4LWHFd6rUUepQprQnI/Rh9A25AtjmqseHVkK7w59UxpgYFdg7wH0CwqFpWvyrKI23GZ7OWluwgqwOnqOobVoWh4Tm97DwCpBHUFp2TiUX3v5QVMnLQzMmqAsUVWWyta3UX/TAmOcwjjk6KmE830W7GbU0ZTAGKYEJdj3yAcQ2qYw1jmsG9e0KF8122UDw/SHwFX0EYWC+fpZGG/hPcn1sqk8jGHas+dQ6KXCB6o2g91IPfKsObZpgDGsqAT1hXdpz25A7QZqZU1gBsxFSh5zbEA9yniOU5R5PSvvCnYTSsLYtdkLTGf9uKdD/gS6gI6jPndgUXXe24OKSFAK4zsoSVA+G6uAGaC758/oBrIs+Zb6rbg9up35Xpa1jffpUqEEldezysbJ0VPLjhHADOpEfUiw2gtuUtAKDiGtYNXeqDWJ7zveYQnqM3V3nqx1s2s97xmRoLzzWqMgkLLaTVQJa0ZoJe+hXjRmaMYKVlslr2dlp5wgu4PsiTyszmg5qgVr0CqvoZW2WFlKxhV5gxJsdIMKtYH+Eew6yksoNLy0soJeFzqR+vEI9gx6h9wFzFoPSlA+25g3SlChnnUNU3grkWmxRg0n+ihBnUR5w9j2bCbPGjzzR3sgbc+6gL66TV4zkTHHEqSfZSzr+94V0mbzKUF1GkSWknG5QktGyoj7qBdVeZo2S1Ch2yUNXOMVUcEJyrcQjOeP4vzQCu9BpBtOck5T70HybN4w1iJcR7ouem9QPjhfG+On7EBPUNrKhrYLWp7+FS1FCjtdKvJ6VvM/Q9o2uWC1AHq60QB6hELh0voJ+im6iHReF+FZwe5HP/g8lrXNzuEfeeFu9C9Kg8nSrr9lBZ9ljK/v37xjL5qRFSytf3K15KXy9EH0D/JN3ui2Qj1rC5AAq4FnJvoDPUSNBnTnUy4YQF1maFHlCOAYuouJFN6PkWtEo+ryrH5sL2TPVi5UFXAMrfDegxrtae3ZfWh6paFFffYCx9BKZLtQo/a0YLXIhSUo3yKlAsfQ8vSBBkALtrCjxwdqbTWBY2glst9REee0Lw/ULUEZpFuOChxD1yuRybNbUV0SlAtq9SDgGFp7ushEJlhdKuqWoAzSLYOBHeidGPkc+cIztE2wA6iuCcoFtXom4Bha4f0nGmv2FqyOnoaFscFG9rsfQusYq0T2G8qayASrbdEdOlfR/TJ72AzAaHla5/QD9BnVCucvfK/fjZXtx8WzZneu/+WBf53XOb0G6XetHjQXyfv2vKLyH7qLLqMhJn5DOW5PLmBZDfRUilloGUoD/ovvXgIrT4/rkxt4XK0fw+TtYxhT6iEt4FK7L8D4locDFqnUXSadh78Bx5bEl2CLG+8AAAAASUVORK5CYII=');margin-top:-0.7em}.x-field .x-input-radio,.x-field .x-input-checkbox{position:relative}.x-field .x-input-radio:after,.x-field .x-input-checkbox:after{background-color:#dddddd}.x-field .x-input-radio:checked:after,.x-field .x-input-checkbox:checked:after{background-color:#006bb6}.x-field.x-item-disabled .x-input-radio:checked:after,.x-field.x-item-disabled .x-input-checkbox:checked:after{background-color:#9abad1}.x-spinner .x-component-outer{display:-webkit-box;display:box}.x-spinner .x-component-outer > *{width:auto}.x-spinner .x-field-input{-webkit-box-flex:1}.x-spinner .x-field-input .x-input-el{-webkit-text-fill-color:#000;width:100%;text-align:center}.x-spinner .x-field-input input::-webkit-outer-spin-button,.x-spinner .x-field-input input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.x-spinner.x-item-disabled .x-input-el{-webkit-text-fill-color:#B3B3B3}.x-spinner.x-item-disabled .x-spinner-button{color:#aaa !important}.x-spinner.x-item-disabled .x-spinner-button,.x-toolbar .x-spinner.x-item-disabled .x-spinner-button{border:1px solid #c4c4c4;border-top-color:#d0d0d0;color:black}.x-spinner.x-item-disabled .x-spinner-button.x-button-back:before,.x-spinner.x-item-disabled .x-spinner-button.x-button-forward:before,.x-toolbar .x-spinner.x-item-disabled .x-spinner-button.x-button-back:before,.x-toolbar .x-spinner.x-item-disabled .x-spinner-button.x-button-forward:before{background:#c4c4c4}.x-spinner.x-item-disabled .x-spinner-button,.x-spinner.x-item-disabled .x-spinner-button.x-button-back:after,.x-spinner.x-item-disabled .x-spinner-button.x-button-forward:after,.x-toolbar .x-spinner.x-item-disabled .x-spinner-button,.x-toolbar .x-spinner.x-item-disabled .x-spinner-button.x-button-back:after,.x-toolbar .x-spinner.x-item-disabled .x-spinner-button.x-button-forward:after{background-color:#f7f7f7;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ffffff), color-stop(2%, #ffffff), color-stop(100%, #e5e5e5));background-image:-webkit-linear-gradient(#ffffff,#ffffff 2%,#e5e5e5);background-image:linear-gradient(#ffffff,#ffffff 2%,#e5e5e5)}.x-spinner.x-item-disabled .x-spinner-button .x-button-icon.x-icon-mask,.x-toolbar .x-spinner.x-item-disabled .x-spinner-button .x-button-icon.x-icon-mask{background-color:black;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #4d4d4d), color-stop(2%, #121212), color-stop(100%, #000000));background-image:-webkit-linear-gradient(#4d4d4d,#121212 2%,#000000);background-image:linear-gradient(#4d4d4d,#121212 2%,#000000)}.x-spinner.x-item-disabled .x-spinner-button.x-button-pressing,.x-spinner.x-item-disabled .x-spinner-button.x-button-pressing:after,.x-spinner.x-item-disabled .x-spinner-button.x-button-pressed,.x-spinner.x-item-disabled .x-spinner-button.x-button-pressed:after,.x-spinner.x-item-disabled .x-spinner-button.x-button-active,.x-spinner.x-item-disabled .x-spinner-button.x-button-active:after,.x-toolbar .x-spinner.x-item-disabled .x-spinner-button.x-button-pressing,.x-toolbar .x-spinner.x-item-disabled .x-spinner-button.x-button-pressing:after,.x-toolbar .x-spinner.x-item-disabled .x-spinner-button.x-button-pressed,.x-toolbar .x-spinner.x-item-disabled .x-spinner-button.x-button-pressed:after,.x-toolbar .x-spinner.x-item-disabled .x-spinner-button.x-button-active,.x-toolbar .x-spinner.x-item-disabled .x-spinner-button.x-button-active:after{background-color:#efefef;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #d5d5d5), color-stop(10%, #e2e2e2), color-stop(65%, #efefef), color-stop(100%, #f0f0f0));background-image:-webkit-linear-gradient(#d5d5d5,#e2e2e2 10%,#efefef 65%,#f0f0f0);background-image:linear-gradient(#d5d5d5,#e2e2e2 10%,#efefef 65%,#f0f0f0)}.x-spinner .x-spinner-button{margin-top:.25em;margin-bottom:.25em;width:2em;padding:.23em 0 .27em;font-weight:bold;text-align:center;border:1px solid #dddddd !important;-webkit-border-radius:1em;border-radius:1em}.x-spinner .x-spinner-button,.x-toolbar .x-spinner .x-spinner-button{border:1px solid #b7b7b7;border-top-color:#c4c4c4;color:black}.x-spinner .x-spinner-button.x-button-back:before,.x-spinner .x-spinner-button.x-button-forward:before,.x-toolbar .x-spinner .x-spinner-button.x-button-back:before,.x-toolbar .x-spinner .x-spinner-button.x-button-forward:before{background:#b7b7b7}.x-spinner .x-spinner-button,.x-spinner .x-spinner-button.x-button-back:after,.x-spinner .x-spinner-button.x-button-forward:after,.x-toolbar .x-spinner .x-spinner-button,.x-toolbar .x-spinner .x-spinner-button.x-button-back:after,.x-toolbar .x-spinner .x-spinner-button.x-button-forward:after{background-color:#eaeaea;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ffffff), color-stop(2%, #fcfcfc), color-stop(100%, #d8d8d8));background-image:-webkit-linear-gradient(#ffffff,#fcfcfc 2%,#d8d8d8);background-image:linear-gradient(#ffffff,#fcfcfc 2%,#d8d8d8)}.x-spinner .x-spinner-button .x-button-icon.x-icon-mask,.x-toolbar .x-spinner .x-spinner-button .x-button-icon.x-icon-mask{background-color:black;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #4d4d4d), color-stop(2%, #121212), color-stop(100%, #000000));background-image:-webkit-linear-gradient(#4d4d4d,#121212 2%,#000000);background-image:linear-gradient(#4d4d4d,#121212 2%,#000000)}.x-spinner .x-spinner-button.x-button-pressing,.x-spinner .x-spinner-button.x-button-pressing:after,.x-spinner .x-spinner-button.x-button-pressed,.x-spinner .x-spinner-button.x-button-pressed:after,.x-spinner .x-spinner-button.x-button-active,.x-spinner .x-spinner-button.x-button-active:after,.x-toolbar .x-spinner .x-spinner-button.x-button-pressing,.x-toolbar .x-spinner .x-spinner-button.x-button-pressing:after,.x-toolbar .x-spinner .x-spinner-button.x-button-pressed,.x-toolbar .x-spinner .x-spinner-button.x-button-pressed:after,.x-toolbar .x-spinner .x-spinner-button.x-button-active,.x-toolbar .x-spinner .x-spinner-button.x-button-active:after{background-color:#e2e2e2;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #c9c9c9), color-stop(10%, #d5d5d5), color-stop(65%, #e2e2e2), color-stop(100%, #e3e3e3));background-image:-webkit-linear-gradient(#c9c9c9,#d5d5d5 10%,#e2e2e2 65%,#e3e3e3);background-image:linear-gradient(#c9c9c9,#d5d5d5 10%,#e2e2e2 65%,#e3e3e3)}.x-spinner .x-spinner-button-down{margin-left:.25em}.x-spinner .x-spinner-button-up{margin-right:.25em}.x-spinner.x-field-grouped-buttons .x-input-el{text-align:left}.x-spinner.x-field-grouped-buttons .x-spinner-button-down{margin-right:.5em}.x-android .x-spinner-button{padding:.40em 0 .11em !important}.x-phone .x-select-overlay{min-width:14em;min-height:12.5em}.x-select-overlay{min-width:18em;min-height:22em}.x-select-overlay .x-list-item-label{height:2.6em}.x-select-overlay .x-list-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.x-select-overlay .x-item-selected .x-list-label{margin-right:2.6em}.x-select-overlay .x-item-selected .x-list-item-label:before{background-color:rgba(0, 0, 0, 0.3);margin-top:-0.8em}.x-select-overlay .x-item-selected .x-list-item-label:after{background-color:#dddddd}.x-slider-field .x-component-outer,.x-toggle-field .x-component-outer{padding:0.6em}.x-slider,.x-toggle{position:relative;height:2.2em;min-height:0;min-width:0}.x-slider > *,.x-toggle > *{position:absolute;width:100%;height:100%}.x-slider.x-item-disabled{opacity:.6}.x-thumb{position:absolute;height:2.2em;width:2.2em}.x-thumb:before{content:"";position:absolute;width:1.85em;height:1.85em;top:0.175em;left:0.175em;border:1px solid #919191;-webkit-border-radius:0.925em;border-radius:0.925em;background-color:#dddddd;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ffffff), color-stop(2%, #efefef), color-stop(100%, #cbcbcb));background-image:-webkit-linear-gradient(#ffffff,#efefef 2%,#cbcbcb);background-image:linear-gradient(#ffffff,#efefef 2%,#cbcbcb);-webkit-background-clip:padding;background-clip:padding-box}.x-thumb.x-dragging{opacity:1}.x-thumb.x-dragging:before{background-color:#d0d0d0;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ffffff), color-stop(2%, #e2e2e2), color-stop(100%, #bebebe));background-image:-webkit-linear-gradient(#ffffff,#e2e2e2 2%,#bebebe);background-image:linear-gradient(#ffffff,#e2e2e2 2%,#bebebe)}.x-slider:after{content:"";position:absolute;width:auto;height:0.8em;top:0.737em;left:0;right:0;margin:0 0.925em;background-color:#dddddd;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #c4c4c4), color-stop(10%, #d0d0d0), color-stop(65%, #dddddd), color-stop(100%, #dedede));background-image:-webkit-linear-gradient(#c4c4c4,#d0d0d0 10%,#dddddd 65%,#dedede);background-image:linear-gradient(#c4c4c4,#d0d0d0 10%,#dddddd 65%,#dedede);border:0.1em solid rgba(0, 0, 0, 0.1);border-bottom:0;-webkit-box-shadow:rgba(255, 255, 255, 0.7) 0 0.1em 0;-webkit-border-radius:0.4em;border-radius:0.4em}.x-toggle{width:4.4em;-webkit-border-radius:1.1em;border-radius:1.1em;overflow:hidden;border:1px solid #b7b7b7;background-color:#ddd;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #c4c4c4), color-stop(10%, #d0d0d0), color-stop(65%, #dddddd), color-stop(100%, #dedede));background-image:-webkit-linear-gradient(#c4c4c4,#d0d0d0 10%,#dddddd 65%,#dedede);background-image:linear-gradient(#c4c4c4,#d0d0d0 10%,#dddddd 65%,#dedede);-webkit-box-flex:0}.x-toggle .x-thumb.x-dragging{opacity:1}.x-toggle .x-thumb:before{top:0.175em}.x-toggle-on{background-color:#92cf00;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #6e9c00), color-stop(10%, #80b500), color-stop(65%, #92cf00), color-stop(100%, #94d200));background-image:-webkit-linear-gradient(#6e9c00,#80b500 10%,#92cf00 65%,#94d200);background-image:linear-gradient(#6e9c00,#80b500 10%,#92cf00 65%,#94d200)}input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none}.x-field-number input::-webkit-outer-spin-button,.x-field-number input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.x-field-search .x-field-input{position:relative}.x-field-search .x-field-input:before{content:"";position:absolute;width:0.86em;height:0.86em;top:50%;left:0.5em;-webkit-mask-image:url('data:image/png;base64,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');-webkit-mask-size:.86em;background-color:#ccc;-webkit-mask-repeat:no-repeat;margin-top:-0.43em}.x-field-search .x-field-input .x-form-field{margin-left:1.0em}.x-field-input .x-clear-icon{display:none;background:url('data:image/png;base64,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') no-repeat;background-position:center center;background-size:55% 55%;width:2.2em;height:2.2em;margin:.5em;margin-top:-1.1em;position:absolute;top:50%;right:-0.5em}.x-field-clearable .x-clear-icon{display:block}.x-field-clearable .x-field-input{padding-right:2.2em}.x-android .x-input-el{-webkit-text-fill-color:#000}.x-android .x-empty .x-input-el{-webkit-text-fill-color:#A9A9A9}.x-item-disabled .x-form-label span,.x-item-disabled input,.x-item-disabled .x-input-el,.x-item-disabled .x-spinner-body,.x-item-disabled select,.x-item-disabled textarea,.x-item-disabled .x-field-clear-container{color:#b3b3b3;-webkit-text-fill-color:#b3b3b3;pointer-events:none}.x-form-fieldset{margin:0 0 1.5em}.x-form-fieldset .x-form-label{border-top:1px solid white}.x-form-fieldset .x-form-fieldset-inner{border:1px solid #dddddd;background:#fff;padding:0;-webkit-border-radius:0.4em;border-radius:0.4em;overflow:hidden}.x-form-fieldset .x-field{border-bottom:1px solid #dddddd;background:transparent}.x-form-fieldset .x-field:first-child{-webkit-border-top-left-radius:0.4em;border-top-left-radius:0.4em;-webkit-border-top-right-radius:0.4em;border-top-right-radius:0.4em}.x-form-fieldset .x-field:last-child{border-bottom:0;-webkit-border-bottom-left-radius:0.4em;border-bottom-left-radius:0.4em;-webkit-border-bottom-right-radius:0.4em;border-bottom-right-radius:0.4em}.x-form-fieldset-title{text-shadow:#fff 0 1px 1px;color:#333333;margin:1em 0.7em 0.3em;color:#333333;font-weight:bold;white-space:nowrap}.x-form-fieldset-instructions{text-shadow:#fff 0 1px 1px;color:#333333;color:gray;margin:1em 0.7em 0.3em;font-size:.8em;text-align:center}.x-selectmark-base,.x-field-select .x-component-outer:after{content:"";position:absolute;width:1em;height:1em;top:50%;left:auto;right:0.7em;-webkit-mask-size:1em;-webkit-mask-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpGRTdGMTE3NDA3MjA2ODExOTJDQUMyNUQwRUE4NjdEQiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoxQTFBMDFDQ0I5NEYxMURGQUU1RjlGMEFERUNDQTVEMCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoyMkRCMDIxMkI5NEUxMURGQUU1RjlGMEFERUNDQTVEMCIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IE1hY2ludG9zaCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjMwRTE0QzVBNDIyMjY4MTFCQ0ZCOTAzOTcwNzcyRkVCIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkZFN0YxMTc0MDcyMDY4MTE5MkNBQzI1RDBFQTg2N0RCIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+HfrH/AAAAeVJREFUeNrs2cFHBGEUAPA3zYqIiIhOnTpFRHSKrp26RqeuEV077R/QqWtE166dOkVERHRa9hQRnZalFcv0Hk/W1Mx+38z3vvlm5j3eZW+/9+abne+9KEkSaFPMQMtCwQpWsIIVrGAFK1jBClawgo2ik/4hiqJGwLKuvfpIc5xSkWqYr5hzU1s/mRNxXTPsJ+ZqluvXlwOmSj3XBDvG3M1rpAmYYoUrFzr4ZNqTawqm2MH8Dhh7ZXJUbcAUx4FinzBnJcAUl4FhP/jIgRSYKvkYCJaO2LbNv08RMMUy5nsA4COTLy0XYIqtil9iF6aflq7AwBWuAvuQ9ZKSBgNX2ieWjtKSzeXBNZgqfe8J+4W5aXtbcg0GrvibB/BhkeuhBJhigzsghT0veh+WAlMcCGHvMOMQwcCdcIntYy6WmXhIg2PuiAvsEHO97IhHGgzckb4D8L6LmZYPMHBnhiWwXVdDPF9g4A4Vwd66nFr6BAN3ygbbw1yoMzjmjplgB5hrrufSvsHAHesZDOD2JAbxVYCBOzfIAZ9JbR6qAgN3cPwP9kZy1VIlGLiTdluCmoOBO/pnS9Bk8DzmS3pL4BMcpZEe1qX0GI/atC4dQYXRMa1MU0IX4gpWsIIVrGAFK1jBCnYUPwIMAPUPAyFL+nRdAAAAAElFTkSuQmCC');margin-top:-0.5em}.x-field-select{position:relative}.x-field-select .x-component-outer:after{background-color:#dddddd;z-index:2}.x-field-select .x-component-outer:before,.x-field-select .x-component-outer:after{pointer-events:none;position:absolute;display:block}.x-field-select .x-component-outer:before{content:"";position:absolute;width:4em;height:auto;top:0;left:auto;right:0;bottom:0;-webkit-border-top-right-radius:0.4em;border-top-right-radius:0.4em;-webkit-border-bottom-right-radius:0.4em;border-bottom-right-radius:0.4em;background:-webkit-gradient(linear, 0% 0%, 100% 0%, from(rgba(255, 255, 255, 0)), color-stop(0.5, white));z-index:1}.x-msgbox{min-width:15em;max-width:20em;padding:0.8em;margin:.5em;-webkit-box-shadow:rgba(0, 0, 0, 0.4) 0 0.1em 0.5em;-webkit-border-radius:0.3em;border-radius:0.3em;border:0.15em solid #1985d0}.x-msgbox .x-icon{margin-left:1.3em}.x-msgbox .x-title{font-size:.9em;line-height:1.4em}.x-msgbox .x-body{background:transparent !important}.x-msgbox .x-toolbar{background:transparent none;-webkit-box-shadow:none}.x-msgbox .x-toolbar.x-docked-top{border-bottom:0;height:1.3em}.x-msgbox .x-toolbar.x-docked-bottom{border-top:0}.x-msgbox .x-field{min-height:2em;background:#fff;-webkit-border-radius:0.2em;border-radius:0.2em}.x-msgbox .x-form-field{min-height:1.5em;padding-right:0 !important;-webkit-appearance:none}.x-msgbox .x-field-input{padding-right:2.2em}.x-msgbox-text{text-align:center;padding:6px 0;line-height:1.4em}.x-msgbox-buttons{padding:0.4em 0;height:auto}.x-msgbox-buttons .x-button{min-width:4.5em}.x-msgbox-buttons .x-button-normal span{opacity:.7}.x-msgbox-dark .x-msgbox-text{color:rgba(190, 224, 247, 0.9);text-shadow:rgba(0, 0, 0, 0.5) 0 -0.08em 0}.x-msgbox-dark .x-msgbox-input{background-color:rgba(190, 224, 247, 0.9);background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, rgba(144,202,242,0.9)), color-stop(10%, rgba(167,213,244,0.9)), color-stop(65%, rgba(190,224,247,0.9)), color-stop(100%, rgba(192,225,247,0.9)));background-image:-webkit-linear-gradient(rgba(144,202,242,0.9),rgba(167,213,244,0.9) 10%,rgba(190,224,247,0.9) 65%,rgba(192,225,247,0.9));background-image:linear-gradient(rgba(144,202,242,0.9),rgba(167,213,244,0.9) 10%,rgba(190,224,247,0.9) 65%,rgba(192,225,247,0.9));border:0.1em solid rgba(25, 133, 208, 0.9)}.x-loading-spinner{font-size:250%;height:1em;width:1em;position:relative;-webkit-transform-origin:0.5em 0.5em}.x-loading-spinner > span,.x-loading-spinner > span:before,.x-loading-spinner > span:after{display:block;position:absolute;width:0.1em;height:0.25em;top:0;-webkit-transform-origin:0.05em 0.5em;-webkit-border-radius:0.05em;border-radius:0.05em;content:" "}.x-loading-spinner > span.x-loading-top{background-color:rgba(170, 170, 170, 0.99)}.x-loading-spinner > span.x-loading-top::after{background-color:rgba(170, 170, 170, 0.9)}.x-loading-spinner > span.x-loading-left::before{background-color:rgba(170, 170, 170, 0.8)}.x-loading-spinner > span.x-loading-left{background-color:rgba(170, 170, 170, 0.7)}.x-loading-spinner > span.x-loading-left::after{background-color:rgba(170, 170, 170, 0.6)}.x-loading-spinner > span.x-loading-bottom::before{background-color:rgba(170, 170, 170, 0.5)}.x-loading-spinner > span.x-loading-bottom{background-color:rgba(170, 170, 170, 0.4)}.x-loading-spinner > span.x-loading-bottom::after{background-color:rgba(170, 170, 170, 0.35)}.x-loading-spinner > span.x-loading-right::before{background-color:rgba(170, 170, 170, 0.3)}.x-loading-spinner > span.x-loading-right{background-color:rgba(170, 170, 170, 0.25)}.x-loading-spinner > span.x-loading-right::after{background-color:rgba(170, 170, 170, 0.2)}.x-loading-spinner > span.x-loading-top::before{background-color:rgba(170, 170, 170, 0.15)}.x-loading-spinner > span{left:50%;margin-left:-0.05em}.x-loading-spinner > span.x-loading-top{-webkit-transform:rotate(0deg);-moz-transform:rotate(0deg)}.x-loading-spinner > span.x-loading-right{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg)}.x-loading-spinner > span.x-loading-bottom{-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg)}.x-loading-spinner > span.x-loading-left{-webkit-transform:rotate(270deg);-moz-transform:rotate(270deg)}.x-loading-spinner > span::before{-webkit-transform:rotate(30deg);-moz-transform:rotate(30deg)}.x-loading-spinner > span::after{-webkit-transform:rotate(-30deg);-moz-transform:rotate(-30deg)}.x-loading-spinner{-webkit-animation-name:x-loading-spinner-rotate;-webkit-animation-duration:.5s;-webkit-animation-iteration-count:infinite;-webkit-animation-timing-function:linear}@-webkit-keyframes x-loading-spinner-rotate{0%{-webkit-transform:rotate(0deg)}8.32%{-webkit-transform:rotate(0deg)}8.33%{-webkit-transform:rotate(30deg)}16.65%{-webkit-transform:rotate(30deg)}16.66%{-webkit-transform:rotate(60deg)}24.99%{-webkit-transform:rotate(60deg)}25%{-webkit-transform:rotate(90deg)}33.32%{-webkit-transform:rotate(90deg)}33.33%{-webkit-transform:rotate(120deg)}41.65%{-webkit-transform:rotate(120deg)}41.66%{-webkit-transform:rotate(150deg)}49.99%{-webkit-transform:rotate(150deg)}50%{-webkit-transform:rotate(180deg)}58.32%{-webkit-transform:rotate(180deg)}58.33%{-webkit-transform:rotate(210deg)}66.65%{-webkit-transform:rotate(210deg)}66.66%{-webkit-transform:rotate(240deg)}74.99%{-webkit-transform:rotate(240deg)}75%{-webkit-transform:rotate(270deg)}83.32%{-webkit-transform:rotate(270deg)}83.33%{-webkit-transform:rotate(300deg)}91.65%{-webkit-transform:rotate(300deg)}91.66%{-webkit-transform:rotate(330deg)}100%{-webkit-transform:rotate(330deg)}} diff --git a/socket.io/socket.io.min.js b/socket.io/socket.io.min.js index c63fe9fac..3a3cecb73 100644 --- a/socket.io/socket.io.min.js +++ b/socket.io/socket.io.min.js @@ -1,379 +1,40 @@ // 3.4.3 (function(){ -function r(b){throw b;}var t=!0,u=null,v=!1;function y(){return function(){}}function A(b){return function(){return b}} -window.JSON&&window.JSON.stringify||function(){function b(){try{return this.valueOf()}catch(a){return u}}function c(a){d.lastIndex=0;return d.test(a)?'"'+a.replace(d,function(a){var b=w[a];return"string"===typeof b?b:"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+a+'"'}function a(d,q){var h,g,i,m,j,n=e,f=q[d];f&&"object"===typeof f&&(f=b.call(f));"function"===typeof l&&(f=l.call(q,d,f));switch(typeof f){case "string":return c(f);case "number":return isFinite(f)?String(f):"null";case "boolean":case "null":return String(f); -case "object":if(!f)return"null";e+=k;j=[];if("[object Array]"===Object.prototype.toString.apply(f)){m=f.length;for(h=0;h++ea?ea:ea=1))||b}; -function fa(b,c){function a(){e+c>P()?(clearTimeout(d),d=setTimeout(a,c)):(e=P(),b())}var d,e=0;return a}function ga(b,c){var a=[];T(b||[],function(b){c(b)&&a.push(b)});return a}function la(b,c){return b.replace(da,function(a,b){return c[b]||a})}function U(b,c){return setTimeout(b,c)}function S(b){var c="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});b&&b(c);return c} -function T(b,c){if(b&&c)if("undefined"!=typeof b[0])for(var a=0,d=b.length;a"-_.!~*'()".indexOf(b)?b:"%"+b.charCodeAt(0).toString(16).toUpperCase()}).join("")}function Y(b){var c=[];T(b,function(a,b){b.h&&c.push(a)});return c.sort()} -function Z(){U(function(){H||(H=1,T(I,function(b){b()}))},M)} -function $(b){function c(){}function a(a){a&&(m.j=0);!m.j&&m.length&&(m.j=1,z(m.shift()))}function d(a){T(Y(x),function(b){(b=x[b])&&a(b)})}var e=+b.windowing||aa,k=(+b.timeout||ba)*M,w=(+b.keepalive||ca)*M,l=b.publish_key||"",p=b.subscribe_key||"",q=b.ssl?"s":"",h="http"+q+"://"+(b.origin||"pubsub.pubnub.com"),g=Q(h),i=Q(h),m=[],j=0,n=0,f=0,D=0,J=0,B=0,x={},z=b.xdr,N=b._is_online||A(1),C=b.jsonp_cb||A(0),F=b.db||{get:y(),set:y()},G=b.uuid||F&&F.get(p+"uuid")||"",s={_reset_offline:function(){f&&f(1)}, -LEAVE:function(a,b){var c={uuid:G},d=Q(h),e=C();0++La?La:La=1))||b}; -function fa(b,c){function a(){e+c>P()?(clearTimeout(d),d=setTimeout(a,c)):(e=P(),b())}var d,e=0;return a}function ga(b,c){var a=[];T(b||[],function(b){c(b)&&a.push(b)});return a}function la(b,c){return b.replace(da,function(a,b){return c[b]||a})}function U(b,c){return setTimeout(b,c)}function S(b){var c="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});b&&b(c);return c} -function T(b,c){if(b&&c)if("undefined"!=typeof b[0])for(var a=0,d=b.length;a"-_.!~*'()".indexOf(b)?b:"%"+b.charCodeAt(0).toString(16).toUpperCase()}).join("")}function Y(b){var c=[];T(b,function(a,b){b.h&&c.push(a)});return c.sort()} -function Z(){U(function(){H||(H=1,T(I,function(b){b()}))},M)} -function $(b){function c(){}function a(a){a&&(m.j=0);!m.j&&m.length&&(m.j=1,z(m.shift()))}function d(a){T(Y(x),function(b){(b=x[b])&&a(b)})}var e=+b.windowing||aa,k=(+b.timeout||ba)*M,w=(+b.keepalive||ca)*M,l=b.publish_key||"",p=b.subscribe_key||"",q=b.ssl?"s":"",h="http"+q+"://"+(b.origin||"pubsub.pubnub.com"),g=Q(h),i=Q(h),m=[],j=0,n=0,f=0,D=0,J=0,B=0,x={},z=b.xdr,N=b._is_online||A(1),C=b.jsonp_cb||A(0),F=b.db||{get:y(),set:y()},G=b.uuid||F&&F.get(p+"uuid")||"",s={_reset_offline:function(){f&&f(1)}, -LEAVE:function(a,b){var c={uuid:G},d=Q(h),e=C();0++Hb?Hb:Hb=1))||b}; -function fa(b,c){function a(){e+c>P()?(clearTimeout(d),d=setTimeout(a,c)):(e=P(),b())}var d,e=0;return a}function ga(b,c){var a=[];T(b||[],function(b){c(b)&&a.push(b)});return a}function la(b,c){return b.replace(da,function(a,b){return c[b]||a})}function U(b,c){return setTimeout(b,c)}function S(b){var c="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});b&&b(c);return c} -function T(b,c){if(b&&c)if("undefined"!=typeof b[0])for(var a=0,d=b.length;a"-_.!~*'()".indexOf(b)?b:"%"+b.charCodeAt(0).toString(16).toUpperCase()}).join("")}function Y(b){var c=[];T(b,function(a,b){b.h&&c.push(a)});return c.sort()} -function Z(){U(function(){H||(H=1,T(I,function(b){b()}))},M)} -function $(b){function c(){}function a(a){a&&(m.j=0);!m.j&&m.length&&(m.j=1,z(m.shift()))}function d(a){T(Y(x),function(b){(b=x[b])&&a(b)})}var e=+b.windowing||aa,k=(+b.timeout||ba)*M,w=(+b.keepalive||ca)*M,l=b.publish_key||"",p=b.subscribe_key||"",q=b.ssl?"s":"",h="http"+q+"://"+(b.origin||"pubsub.pubnub.com"),g=Q(h),i=Q(h),m=[],j=0,n=0,f=0,D=0,J=0,B=0,x={},z=b.xdr,N=b._is_online||A(1),C=b.jsonp_cb||A(0),F=b.db||{get:y(),set:y()},G=b.uuid||F&&F.get(p+"uuid")||"",s={_reset_offline:function(){f&&f(1)}, -LEAVE:function(a,b){var c={uuid:G},d=Q(h),e=C();0++fc?fc:fc=1))||b}; -function fa(b,c){function a(){e+c>P()?(clearTimeout(d),d=setTimeout(a,c)):(e=P(),b())}var d,e=0;return a}function ga(b,c){var a=[];T(b||[],function(b){c(b)&&a.push(b)});return a}function la(b,c){return b.replace(da,function(a,b){return c[b]||a})}function U(b,c){return setTimeout(b,c)}function S(b){var c="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});b&&b(c);return c} -function T(b,c){if(b&&c)if("undefined"!=typeof b[0])for(var a=0,d=b.length;a"-_.!~*'()".indexOf(b)?b:"%"+b.charCodeAt(0).toString(16).toUpperCase()}).join("")}function Y(b){var c=[];T(b,function(a,b){b.h&&c.push(a)});return c.sort()} -function Z(){U(function(){H||(H=1,T(I,function(b){b()}))},M)} -function $(b){function c(){}function a(a){a&&(m.j=0);!m.j&&m.length&&(m.j=1,z(m.shift()))}function d(a){T(Y(x),function(b){(b=x[b])&&a(b)})}var e=+b.windowing||aa,k=(+b.timeout||ba)*M,w=(+b.keepalive||ca)*M,l=b.publish_key||"",p=b.subscribe_key||"",q=b.ssl?"s":"",h="http"+q+"://"+(b.origin||"pubsub.pubnub.com"),g=Q(h),i=Q(h),m=[],j=0,n=0,f=0,D=0,J=0,B=0,x={},z=b.xdr,N=b._is_online||A(1),C=b.jsonp_cb||A(0),F=b.db||{get:y(),set:y()},G=b.uuid||F&&F.get(p+"uuid")||"",s={_reset_offline:function(){f&&f(1)}, -LEAVE:function(a,b){var c={uuid:G},d=Q(h),e=C();0++Fc?Fc:Fc=1))||b}; -function fa(b,c){function a(){e+c>P()?(clearTimeout(d),d=setTimeout(a,c)):(e=P(),b())}var d,e=0;return a}function ga(b,c){var a=[];T(b||[],function(b){c(b)&&a.push(b)});return a}function la(b,c){return b.replace(da,function(a,b){return c[b]||a})}function U(b,c){return setTimeout(b,c)}function S(b){var c="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});b&&b(c);return c} -function T(b,c){if(b&&c)if("undefined"!=typeof b[0])for(var a=0,d=b.length;a"-_.!~*'()".indexOf(b)?b:"%"+b.charCodeAt(0).toString(16).toUpperCase()}).join("")}function Y(b){var c=[];T(b,function(a,b){b.h&&c.push(a)});return c.sort()} -function Z(){U(function(){H||(H=1,T(I,function(b){b()}))},M)} -function $(b){function c(){}function a(a){a&&(m.j=0);!m.j&&m.length&&(m.j=1,z(m.shift()))}function d(a){T(Y(x),function(b){(b=x[b])&&a(b)})}var e=+b.windowing||aa,k=(+b.timeout||ba)*M,w=(+b.keepalive||ca)*M,l=b.publish_key||"",p=b.subscribe_key||"",q=b.ssl?"s":"",h="http"+q+"://"+(b.origin||"pubsub.pubnub.com"),g=Q(h),i=Q(h),m=[],j=0,n=0,f=0,D=0,J=0,B=0,x={},z=b.xdr,N=b._is_online||A(1),C=b.jsonp_cb||A(0),F=b.db||{get:y(),set:y()},G=b.uuid||F&&F.get(p+"uuid")||"",s={_reset_offline:function(){f&&f(1)}, -LEAVE:function(a,b){var c={uuid:G},d=Q(h),e=C();0++dd?dd:dd=1))||b}; -function fa(b,c){function a(){e+c>P()?(clearTimeout(d),d=setTimeout(a,c)):(e=P(),b())}var d,e=0;return a}function ga(b,c){var a=[];T(b||[],function(b){c(b)&&a.push(b)});return a}function la(b,c){return b.replace(da,function(a,b){return c[b]||a})}function U(b,c){return setTimeout(b,c)}function S(b){var c="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});b&&b(c);return c} -function T(b,c){if(b&&c)if("undefined"!=typeof b[0])for(var a=0,d=b.length;a"-_.!~*'()".indexOf(b)?b:"%"+b.charCodeAt(0).toString(16).toUpperCase()}).join("")}function Y(b){var c=[];T(b,function(a,b){b.h&&c.push(a)});return c.sort()} -function Z(){U(function(){H||(H=1,T(I,function(b){b()}))},M)} -function $(b){function c(){}function a(a){a&&(m.j=0);!m.j&&m.length&&(m.j=1,z(m.shift()))}function d(a){T(Y(x),function(b){(b=x[b])&&a(b)})}var e=+b.windowing||aa,k=(+b.timeout||ba)*M,w=(+b.keepalive||ca)*M,l=b.publish_key||"",p=b.subscribe_key||"",q=b.ssl?"s":"",h="http"+q+"://"+(b.origin||"pubsub.pubnub.com"),g=Q(h),i=Q(h),m=[],j=0,n=0,f=0,D=0,J=0,B=0,x={},z=b.xdr,N=b._is_online||A(1),C=b.jsonp_cb||A(0),F=b.db||{get:y(),set:y()},G=b.uuid||F&&F.get(p+"uuid")||"",s={_reset_offline:function(){f&&f(1)}, -LEAVE:function(a,b){var c={uuid:G},d=Q(h),e=C();0++Cd?Cd:Cd=1))||b}; -function fa(b,c){function a(){e+c>P()?(clearTimeout(d),d=setTimeout(a,c)):(e=P(),b())}var d,e=0;return a}function ga(b,c){var a=[];T(b||[],function(b){c(b)&&a.push(b)});return a}function la(b,c){return b.replace(da,function(a,b){return c[b]||a})}function U(b,c){return setTimeout(b,c)}function S(b){var c="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});b&&b(c);return c} -function T(b,c){if(b&&c)if("undefined"!=typeof b[0])for(var a=0,d=b.length;a"-_.!~*'()".indexOf(b)?b:"%"+b.charCodeAt(0).toString(16).toUpperCase()}).join("")}function Y(b){var c=[];T(b,function(a,b){b.h&&c.push(a)});return c.sort()} -function Z(){U(function(){H||(H=1,T(I,function(b){b()}))},M)} -function $(b){function c(){}function a(a){a&&(m.j=0);!m.j&&m.length&&(m.j=1,z(m.shift()))}function d(a){T(Y(x),function(b){(b=x[b])&&a(b)})}var e=+b.windowing||aa,k=(+b.timeout||ba)*M,w=(+b.keepalive||ca)*M,l=b.publish_key||"",p=b.subscribe_key||"",q=b.ssl?"s":"",h="http"+q+"://"+(b.origin||"pubsub.pubnub.com"),g=Q(h),i=Q(h),m=[],j=0,n=0,f=0,D=0,J=0,B=0,x={},z=b.xdr,N=b._is_online||A(1),C=b.jsonp_cb||A(0),F=b.db||{get:y(),set:y()},G=b.uuid||F&&F.get(p+"uuid")||"",s={_reset_offline:function(){f&&f(1)}, -LEAVE:function(a,b){var c={uuid:G},d=Q(h),e=C();0++ae?ae:ae=1))||b}; -function fa(b,c){function a(){e+c>P()?(clearTimeout(d),d=setTimeout(a,c)):(e=P(),b())}var d,e=0;return a}function ga(b,c){var a=[];T(b||[],function(b){c(b)&&a.push(b)});return a}function la(b,c){return b.replace(da,function(a,b){return c[b]||a})}function U(b,c){return setTimeout(b,c)}function S(b){var c="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});b&&b(c);return c} -function T(b,c){if(b&&c)if("undefined"!=typeof b[0])for(var a=0,d=b.length;a"-_.!~*'()".indexOf(b)?b:"%"+b.charCodeAt(0).toString(16).toUpperCase()}).join("")}function Y(b){var c=[];T(b,function(a,b){b.h&&c.push(a)});return c.sort()} -function Z(){U(function(){H||(H=1,T(I,function(b){b()}))},M)} -function $(b){function c(){}function a(a){a&&(m.j=0);!m.j&&m.length&&(m.j=1,z(m.shift()))}function d(a){T(Y(x),function(b){(b=x[b])&&a(b)})}var e=+b.windowing||aa,k=(+b.timeout||ba)*M,w=(+b.keepalive||ca)*M,l=b.publish_key||"",p=b.subscribe_key||"",q=b.ssl?"s":"",h="http"+q+"://"+(b.origin||"pubsub.pubnub.com"),g=Q(h),i=Q(h),m=[],j=0,n=0,f=0,D=0,J=0,B=0,x={},z=b.xdr,N=b._is_online||A(1),C=b.jsonp_cb||A(0),F=b.db||{get:y(),set:y()},G=b.uuid||F&&F.get(p+"uuid")||"",s={_reset_offline:function(){f&&f(1)}, -LEAVE:function(a,b){var c={uuid:G},d=Q(h),e=C();0++ze?ze:ze=1))||b}; -function fa(b,c){function a(){e+c>P()?(clearTimeout(d),d=setTimeout(a,c)):(e=P(),b())}var d,e=0;return a}function ga(b,c){var a=[];T(b||[],function(b){c(b)&&a.push(b)});return a}function la(b,c){return b.replace(da,function(a,b){return c[b]||a})}function U(b,c){return setTimeout(b,c)}function S(b){var c="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});b&&b(c);return c} -function T(b,c){if(b&&c)if("undefined"!=typeof b[0])for(var a=0,d=b.length;a"-_.!~*'()".indexOf(b)?b:"%"+b.charCodeAt(0).toString(16).toUpperCase()}).join("")}function Y(b){var c=[];T(b,function(a,b){b.h&&c.push(a)});return c.sort()} -function Z(){U(function(){H||(H=1,T(I,function(b){b()}))},M)} -function $(b){function c(){}function a(a){a&&(m.j=0);!m.j&&m.length&&(m.j=1,z(m.shift()))}function d(a){T(Y(x),function(b){(b=x[b])&&a(b)})}var e=+b.windowing||aa,k=(+b.timeout||ba)*M,w=(+b.keepalive||ca)*M,l=b.publish_key||"",p=b.subscribe_key||"",q=b.ssl?"s":"",h="http"+q+"://"+(b.origin||"pubsub.pubnub.com"),g=Q(h),i=Q(h),m=[],j=0,n=0,f=0,D=0,J=0,B=0,x={},z=b.xdr,N=b._is_online||A(1),C=b.jsonp_cb||A(0),F=b.db||{get:y(),set:y()},G=b.uuid||F&&F.get(p+"uuid")||"",s={_reset_offline:function(){f&&f(1)}, -LEAVE:function(a,b){var c={uuid:G},d=Q(h),e=C();0++Ye?Ye:Ye=1))||b}; -function fa(b,c){function a(){e+c>P()?(clearTimeout(d),d=setTimeout(a,c)):(e=P(),b())}var d,e=0;return a}function ga(b,c){var a=[];T(b||[],function(b){c(b)&&a.push(b)});return a}function la(b,c){return b.replace(da,function(a,b){return c[b]||a})}function U(b,c){return setTimeout(b,c)}function S(b){var c="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});b&&b(c);return c} -function T(b,c){if(b&&c)if("undefined"!=typeof b[0])for(var a=0,d=b.length;a"-_.!~*'()".indexOf(b)?b:"%"+b.charCodeAt(0).toString(16).toUpperCase()}).join("")}function Y(b){var c=[];T(b,function(a,b){b.h&&c.push(a)});return c.sort()} -function Z(){U(function(){H||(H=1,T(I,function(b){b()}))},M)} -function $(b){function c(){}function a(a){a&&(m.j=0);!m.j&&m.length&&(m.j=1,z(m.shift()))}function d(a){T(Y(x),function(b){(b=x[b])&&a(b)})}var e=+b.windowing||aa,k=(+b.timeout||ba)*M,w=(+b.keepalive||ca)*M,l=b.publish_key||"",p=b.subscribe_key||"",q=b.ssl?"s":"",h="http"+q+"://"+(b.origin||"pubsub.pubnub.com"),g=Q(h),i=Q(h),m=[],j=0,n=0,f=0,D=0,J=0,B=0,x={},z=b.xdr,N=b._is_online||A(1),C=b.jsonp_cb||A(0),F=b.db||{get:y(),set:y()},G=b.uuid||F&&F.get(p+"uuid")||"",s={_reset_offline:function(){f&&f(1)}, -LEAVE:function(a,b){var c={uuid:G},d=Q(h),e=C();0++H?H:H=1))||a}; +function fa(a,c){function b(){e+c>D()?(clearTimeout(d),d=setTimeout(b,c)):(e=D(),a())}var d,e=0;return b}function ga(a,c){var b=[];I(a||[],function(a){c(a)&&b.push(a)});return b}function ha(a,c){return a.replace(da,function(b,a){return c[a]||b})}function ea(a){var c="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(b){var a=16*Math.random()|0;return("x"==b?a:a&3|8).toString(16)});a&&a(c);return c} +function I(a,c){if(a&&c)if("undefined"!=typeof a[0])for(var b=0,d=a.length;b"-_.!~*'()".indexOf(a)?a:"%"+a.charCodeAt(0).toString(16).toUpperCase()}).join("")}function ia(a){var c=[];I(a,function(b,a){a.h&&c.push(b)});return c.sort()} +function P(){setTimeout(function(){u||(u=1,I(ba,function(a){a()}))},w)} +window.JSON&&window.JSON.stringify||function(){function a(){try{return this.valueOf()}catch(b){return p}}function c(b){d.lastIndex=0;return d.test(b)?'"'+b.replace(d,function(b){var a=x[b];return"string"===typeof a?a:"\\u"+("0000"+b.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+b+'"'}function b(d,r){var i,g,j,m,l,k=e,f=r[d];f&&"object"===typeof f&&(f=a.call(f));"function"===typeof n&&(f=n.call(r,d,f));switch(typeof f){case "string":return c(f);case "number":return isFinite(f)?String(f):"null";case "boolean":case "null":return String(f); +case "object":if(!f)return"null";e+=h;l=[];if("[object Array]"===Object.prototype.toString.apply(f)){m=f.length;for(i=0;i> $(PUBNUB_JS) + cat $(JSON_JS) $(PUBNUB_COMMON_JS) $(PUBNUB_PLATFORM_JS) $(WEBSOCKET_JS) > $(PUBNUB_JS) $(ECHO) -n "// " > $(PUBNUB_MIN_JS) $(ECHO) $(VERSION) >> $(PUBNUB_MIN_JS) $(ECHO) "(function(){" >> $(PUBNUB_MIN_JS) diff --git a/web/pubnub.js b/web/pubnub.js index 57ec713f3..63a6f4c1c 100644 --- a/web/pubnub.js +++ b/web/pubnub.js @@ -561,16113 +561,6 @@ function PN_API(setup) { if (READY) CONNECT(); }, - /* - PUBNUB.subscribe({ - channel : 'my_chat' - callback : function(message) { } - }); - */ - 'subscribe' : function( args, callback ) { - var channel = args['channel'] - , callback = callback || args['callback'] - , callback = callback || args['message'] - , connect = args['connect'] || function(){} - , reconnect = args['reconnect'] || function(){} - , disconnect = args['disconnect'] || function(){} - , presence = args['presence'] || 0 - , noheresync = args['noheresync'] || 0 - , sub_timeout = args['timeout'] || SUB_TIMEOUT - , windowing = args['windowing'] || SUB_WINDOWING - , restore = args['restore']; - - // Restore Enabled? - if (restore) SUB_RESTORE = 1; - - TIMETOKEN = 0; - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // Setup Channel(s) - each( (channel.join ? channel.join(',') : ''+channel).split(','), - function(channel) { - var settings = CHANNELS[channel] || {}; - - // Store Channel State - CHANNELS[SUB_CHANNEL = channel] = { - name : channel, - connected : settings.connected, - disconnected : settings.disconnected, - subscribed : 1, - callback : SUB_CALLBACK = callback, - connect : connect, - disconnect : disconnect, - reconnect : reconnect - }; - - // Presence Enabled? - if (!presence) return; - - // Subscribe Presence Channel - SELF['subscribe']({ - 'channel' : channel + PRESENCE_SUFFIX, - 'callback' : presence - }); - - // Presence Subscribed? - if (settings.subscribed) return; - - // See Who's Here Now? - if (noheresync) return; - SELF['here_now']({ - 'channel' : channel, - 'callback' : function(here) { - each( 'uuids' in here ? here['uuids'] : [], - function(uid) { presence( { - 'action' : 'join', - 'uuid' : uid, - 'timestamp' : rnow(), - 'occupancy' : here['occupancy'] || 1 - }, here, channel ); } ); - } - }); - } ); - - // Test Network Connection - function _test_connection(success) { - if (success) { - // Begin Next Socket Connection - timeout( _connect, SECOND ); - } - else { - // New Origin on Failed Connection - STD_ORIGIN = nextorigin( ORIGIN, 1 ); - SUB_ORIGIN = nextorigin( ORIGIN, 1 ); - - // Re-test Connection - timeout( function() { - SELF['time'](_test_connection); - }, SECOND ); - } - - // Disconnect & Reconnect - each_channel(function(channel){ - // Reconnect - if (success && channel.disconnected) { - channel.disconnected = 0; - return channel.reconnect(channel.name); - } - - // Disconnect - if (!success && !channel.disconnected) { - channel.disconnected = 1; - channel.disconnect(channel.name); - } - }); - } - - // Evented Subscribe - function _connect() { - var jsonp = jsonp_cb() - , channels = generate_channel_list(CHANNELS).join(','); - - // Stop Connection - if (!channels) return; - - // Connect to PubNub Subscribe Servers - SUB_RECEIVER = xdr({ - timeout : sub_timeout, - callback : jsonp, - fail : function() { SELF['time'](_test_connection) }, - data : { 'uuid' : UUID }, - url : [ - SUB_ORIGIN, 'subscribe', - SUBSCRIBE_KEY, encode(channels), - jsonp, TIMETOKEN - ], - success : function(messages) { - if (!messages) return timeout( _connect, windowing ); - - // Connect - each_channel(function(channel){ - if (channel.connected) return; - channel.connected = 1; - channel.connect(channel.name); - }); - - // Restore Previous Connection Point if Needed - TIMETOKEN = !TIMETOKEN && - SUB_RESTORE && - db['get'](SUBSCRIBE_KEY) || messages[1]; - - // Update Saved Timetoken - if (TIMETOKEN) db['set']( SUBSCRIBE_KEY, messages[1] ); - - // Route Channel <---> Callback for Message - var next_callback = (function() { - var channels = (messages.length>2?messages[2]:'') - , list = channels.split(','); - - return function() { - var channel = list.shift()||''; - return [ - (CHANNELS[channel]||{}) - .callback||SUB_CALLBACK, - (channel||SUB_CHANNEL) - .split(PRESENCE_SUFFIX)[0] - ]; - }; - })(); - - each( messages[0], function(msg) { - var next = next_callback(); - if (!CHANNELS[next[1]].subscribed) return; - next[0]( msg, messages, next[1] ); - } ); - - timeout( _connect, windowing ); - } - }); - } - - CONNECT = function() { - // Close Previous Subscribe Connection - SELF['_reset_offline'](); - - // Begin Recursive Subscribe - clearTimeout(SUB_BUFF_WAIT); - SUB_BUFF_WAIT = timeout( _connect, 100 ); - }; - - // Reduce Status Flicker - if (!READY) return READY_BUFFER.push(CONNECT); - - // Connect Now - CONNECT(); - }, - - 'here_now' : function( args, callback ) { - var callback = args['callback'] || callback - , err = args['error'] || function(){} - , channel = args['channel'] - , jsonp = jsonp_cb() - , data = null; - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - if (jsonp != '0') { - data = {}; - data['callback'] = jsonp; - } - - xdr({ - callback : jsonp, - data : data, - success : function(response) { callback(response) }, - fail : err, - url : [ - STD_ORIGIN, 'v2', 'presence', - 'sub_key', SUBSCRIBE_KEY, - 'channel', encode(channel) - ] - }); - }, - - // Expose PUBNUB Functions - 'xdr' : xdr, - 'ready' : ready, - 'db' : db, - 'uuid' : uuid, - 'each' : each, - 'map' : map, - 'grep' : grep, - 'supplant' : supplant, - 'now' : rnow, - 'unique' : unique, - 'updater' : updater, - 'poll_online' : function() { - _is_online() || SELF['_reset_offline'](); - timeout( SELF['poll_online'], SECOND ); - }, - 'poll_online2' : function() { - SELF['time'](function(success){ - success || SELF['_reset_offline'](); - timeout( SELF['poll_online2'], KEEPALIVE ); - }) - } - }; - if (!UUID) UUID = SELF['uuid'](); - db['set']( SUBSCRIBE_KEY + 'uuid', UUID ); - - timeout( SELF['poll_online'], SECOND ); - timeout( SELF['poll_online2'], KEEPALIVE ); - - return SELF; -} -// 3.4/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= JSON =============================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -(window['JSON'] && window['JSON']['stringify']) || (function () { - window['JSON'] || (window['JSON'] = {}); - - function toJSON(key) { - try { return this.valueOf() } - catch(e) { return null } - } - - var cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, - escapable = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, - gap, - indent, - meta = { // table of character substitutions - '\b': '\\b', - '\t': '\\t', - '\n': '\\n', - '\f': '\\f', - '\r': '\\r', - '"' : '\\"', - '\\': '\\\\' - }, - rep; - - function quote(string) { - escapable.lastIndex = 0; - return escapable.test(string) ? - '"' + string.replace(escapable, function (a) { - var c = meta[a]; - return typeof c === 'string' ? c : - '\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4); - }) + '"' : - '"' + string + '"'; - } - - function str(key, holder) { - var i, // The loop counter. - k, // The member key. - v, // The member value. - length, - partial, - mind = gap, - value = holder[key]; - - if (value && typeof value === 'object') { - value = toJSON.call( value, key ); - } - - if (typeof rep === 'function') { - value = rep.call(holder, key, value); - } - - switch (typeof value) { - case 'string': - return quote(value); - - case 'number': - return isFinite(value) ? String(value) : 'null'; - - case 'boolean': - case 'null': - return String(value); - - case 'object': - - if (!value) { - return 'null'; - } - - gap += indent; - partial = []; - - if (Object.prototype.toString.apply(value) === '[object Array]') { - - length = value.length; - for (i = 0; i < length; i += 1) { - partial[i] = str(i, value) || 'null'; - } - - v = partial.length === 0 ? '[]' : - gap ? '[\n' + gap + - partial.join(',\n' + gap) + '\n' + - mind + ']' : - '[' + partial.join(',') + ']'; - gap = mind; - return v; - } - if (rep && typeof rep === 'object') { - length = rep.length; - for (i = 0; i < length; i += 1) { - k = rep[i]; - if (typeof k === 'string') { - v = str(k, value); - if (v) { - partial.push(quote(k) + (gap ? ': ' : ':') + v); - } - } - } - } else { - for (k in value) { - if (Object.hasOwnProperty.call(value, k)) { - v = str(k, value); - if (v) { - partial.push(quote(k) + (gap ? ': ' : ':') + v); - } - } - } - } - - v = partial.length === 0 ? '{}' : - gap ? '{\n' + gap + partial.join(',\n' + gap) + '\n' + - mind + '}' : '{' + partial.join(',') + '}'; - gap = mind; - return v; - } - } - - if (typeof JSON['stringify'] !== 'function') { - JSON['stringify'] = function (value, replacer, space) { - var i; - gap = ''; - indent = ''; - - if (typeof space === 'number') { - for (i = 0; i < space; i += 1) { - indent += ' '; - } - } else if (typeof space === 'string') { - indent = space; - } - rep = replacer; - if (replacer && typeof replacer !== 'function' && - (typeof replacer !== 'object' || - typeof replacer.length !== 'number')) { - throw new Error('JSON.stringify'); - } - return str('', {'': value}); - }; - } - - if (typeof JSON['parse'] !== 'function') { - // JSON is parsed on the server for security. - JSON['parse'] = function (text) {return eval('('+text+')')}; - } -}()); -/* --------------------------------------------------------------------------- -WAIT! - This file depends on instructions from the PUBNUB Cloud. -http://www.pubnub.com/account-javascript-api-include ---------------------------------------------------------------------------- */ - -/* --------------------------------------------------------------------------- -PubNub Real-time Cloud-Hosted Push API and Push Notification Client Frameworks -Copyright (c) 2011 PubNub Inc. -http://www.pubnub.com/ -http://www.pubnub.com/terms ---------------------------------------------------------------------------- */ - -/* --------------------------------------------------------------------------- -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. ---------------------------------------------------------------------------- */ - -/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= UTIL =============================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -window['PUBNUB'] || (function() { - -/** - * UTIL LOCALS - */ - -var SWF = 'https://pubnub.a.ssl.fastly.net/pubnub.swf' -, ASYNC = 'async' -, URLBIT = '/' -, PARAMSBIT = '&' -, UA = navigator.userAgent -, XORIGN = UA.indexOf('MSIE 6') == -1; - -/** - * CONSOLE COMPATIBILITY - */ -window.console || (window.console=window.console||{}); -console.log || ( - console.log = - console.error = - ((window.opera||{}).postError||function(){}) -); - - - -/** - * LOCAL STORAGE OR COOKIE - */ -var db = (function(){ - var ls = window['localStorage']; - return { - 'get' : function(key) { - try { - if (ls) return ls.getItem(key); - if (document.cookie.indexOf(key) == -1) return null; - return ((document.cookie||'').match( - RegExp(key+'=([^;]+)') - )||[])[1] || null; - } catch(e) { return } - }, - 'set' : function( key, value ) { - try { - if (ls) return ls.setItem( key, value ) && 0; - document.cookie = key + '=' + value + - '; expires=Thu, 1 Aug 2030 20:00:00 UTC; path=/'; - } catch(e) { return } - } - }; -})(); - - -/** - * $ - * = - * var div = $('divid'); - */ -function $(id) { return document.getElementById(id) } - -/** - * ERROR - * ===== - * error('message'); - */ -function error(message) { console['error'](message) } - -/** - * SEARCH - * ====== - * var elements = search('a div span'); - */ -function search( elements, start ) { - var list = []; - each( elements.split(/\s+/), function(el) { - each( (start || document).getElementsByTagName(el), function(node) { - list.push(node); - } ); - } ); - return list; -} - - - -/** - * BIND - * ==== - * bind( 'keydown', search('a')[0], function(element) { - * ... - * } ); - */ -function bind( type, el, fun ) { - each( type.split(','), function(etype) { - var rapfun = function(e) { - if (!e) e = window.event; - if (!fun(e)) { - e.cancelBubble = true; - e.returnValue = false; - e.preventDefault && e.preventDefault(); - e.stopPropagation && e.stopPropagation(); - } - }; - - if ( el.addEventListener ) el.addEventListener( etype, rapfun, false ); - else if ( el.attachEvent ) el.attachEvent( 'on' + etype, rapfun ); - else el[ 'on' + etype ] = rapfun; - } ); -} - -/** - * UNBIND - * ====== - * unbind( 'keydown', search('a')[0] ); - */ -function unbind( type, el, fun ) { - if ( el.removeEventListener ) el.removeEventListener( type, false ); - else if ( el.detachEvent ) el.detachEvent( 'on' + type, false ); - else el[ 'on' + type ] = null; -} - -/** - * HEAD - * ==== - * head().appendChild(elm); - */ -function head() { return search('head')[0] } - -/** - * ATTR - * ==== - * var attribute = attr( node, 'attribute' ); - */ -function attr( node, attribute, value ) { - if (value) node.setAttribute( attribute, value ); - else return node && node.getAttribute && node.getAttribute(attribute); -} - -/** - * CSS - * === - * var obj = create('div'); - */ -function css( element, styles ) { - for (var style in styles) if (styles.hasOwnProperty(style)) - try {element.style[style] = styles[style] + ( - '|width|height|top|left|'.indexOf(style) > 0 && - typeof styles[style] == 'number' - ? 'px' : '' - )}catch(e){} -} - -/** - * CREATE - * ====== - * var obj = create('div'); - */ -function create(element) { return document.createElement(element) } - - -/** - * jsonp_cb - * ======== - * var callback = jsonp_cb(); - */ -function jsonp_cb() { return XORIGN || FDomainRequest() ? 0 : unique() } - - - -/** - * EVENTS - * ====== - * PUBNUB.events.bind( 'you-stepped-on-flower', function(message) { - * // Do Stuff with message - * } ); - * - * PUBNUB.events.fire( 'you-stepped-on-flower', "message-data" ); - * PUBNUB.events.fire( 'you-stepped-on-flower', {message:"data"} ); - * PUBNUB.events.fire( 'you-stepped-on-flower', [1,2,3] ); - * - */ -var events = { - 'list' : {}, - 'unbind' : function( name ) { events.list[name] = [] }, - 'bind' : function( name, fun ) { - (events.list[name] = events.list[name] || []).push(fun); - }, - 'fire' : function( name, data ) { - each( - events.list[name] || [], - function(fun) { fun(data) } - ); - } -}; - -/** - * XDR Cross Domain Request - * ======================== - * xdr({ - * url : ['http://www.blah.com/url'], - * success : function(response) {}, - * fail : function() {} - * }); - */ -function xdr( setup ) { - if (XORIGN || FDomainRequest()) return ajax(setup); - - var script = create('script') - , callback = setup.callback - , id = unique() - , finished = 0 - , xhrtme = setup.timeout || DEF_TIMEOUT - , timer = timeout( function(){done(1)}, xhrtme ) - , fail = setup.fail || function(){} - , success = setup.success || function(){} - - , append = function() { - head().appendChild(script); - } - - , done = function( failed, response ) { - if (finished) return; - finished = 1; - - failed || success(response); - script.onerror = null; - clearTimeout(timer); - - timeout( function() { - failed && fail(); - var s = $(id) - , p = s && s.parentNode; - p && p.removeChild(s); - }, SECOND ); - }; - - window[callback] = function(response) { - done( 0, response ); - }; - - if (!setup.blocking) script[ASYNC] = ASYNC; - - script.onerror = function() { done(1) }; - script.src = setup.url.join(URLBIT); - - if (setup.data) { - var params = []; - script.src += "?"; - for (var key in setup.data) { - params.push(key+"="+setup.data[key]); - } - script.src += params.join(PARAMSBIT); - } - attr( script, 'id', id ); - - append(); - return done; -} - -/** - * CORS XHR Request - * ================ - * xdr({ - * url : ['http://www.blah.com/url'], - * success : function(response) {}, - * fail : function() {} - * }); - */ -function ajax( setup ) { - var xhr, response - , finished = function() { - if (loaded) return; - loaded = 1; - - clearTimeout(timer); - - try { response = JSON['parse'](xhr.responseText); } - catch (r) { return done(1); } - - success(response); - } - , complete = 0 - , loaded = 0 - , xhrtme = setup.timeout || DEF_TIMEOUT - , timer = timeout( function(){done(1)}, xhrtme ) - , fail = setup.fail || function(){} - , success = setup.success || function(){} - , done = function(failed) { - if (complete) return; - complete = 1; - - clearTimeout(timer); - - if (xhr) { - xhr.onerror = xhr.onload = null; - xhr.abort && xhr.abort(); - xhr = null; - } - - failed && fail(); - }; - - // Send - try { - xhr = FDomainRequest() || - window.XDomainRequest && - new XDomainRequest() || - new XMLHttpRequest(); - - xhr.onerror = xhr.onabort = function(){ done(1) }; - xhr.onload = xhr.onloadend = finished; - xhr.timeout = xhrtme; - - var url = setup.url.join(URLBIT); - if (setup.data) { - var params = []; - var key; - console.log(setup.data); - url += "?"; - for (key in setup.data) params.push(key+"="+setup.data[key]); - url += params.join(PARAMSBIT); - } - - xhr.open( 'GET', url, (typeof(setup.blocking === 'undefined')) ); - xhr.send(); - } - catch(eee) { - done(0); - XORIGN = 0; - return xdr(setup); - } - - // Return 'done' - return done; -} - - - - // Test Connection State -function _is_online() { - if (!('onLine' in navigator)) return 1; - return navigator['onLine']; -} - - -/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= PUBNUB ===========================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -var PDIV = $('pubnub') || 0 -, CREATE_PUBNUB = function(setup) { - - // Force JSONP if requested from user. - if (setup['jsonp']) XORIGN = 0; - - var SUBSCRIBE_KEY = setup['subscribe_key'] || '' - , KEEPALIVE = (+setup['keepalive'] || DEF_KEEPALIVE) * SECOND - , UUID = setup['uuid'] || db['get'](SUBSCRIBE_KEY+'uuid') || ''; - - setup['xdr'] = xdr; - setup['db'] = db; - setup['_is_online'] = _is_online; - setup['jsonp_cb'] = jsonp_cb; - var SELF = PN_API(setup); - - - SELF['css'] = css; - SELF['$'] = $; - SELF['create'] = create; - SELF['bind'] = bind; - SELF['head'] = head; - SELF['search'] = search; - SELF['attr'] = attr; - SELF['events'] = events; - SELF['init'] = CREATE_PUBNUB; - - // Return without Testing - if (setup['notest']) return SELF; - - // Add Leave Functions - bind( 'beforeunload', window, function() { - each_channel(function(ch){ SELF['LEAVE']( ch.name, 1 ) }); - return true; - } ); - - bind( 'offline', window, SELF['_reset_offline'] ); - bind( 'offline', document, SELF['_reset_offline'] ); - - // Return PUBNUB Socket Object - return SELF; -}; - - - -// Bind for PUBNUB Readiness to Subscribe -bind( 'load', window, function(){ timeout( ready, 0 ) } ); - -var pdiv = PDIV || {}; - -// CREATE A PUBNUB GLOBAL OBJECT -PUBNUB = CREATE_PUBNUB({ - 'notest' : 1, - 'publish_key' : attr( pdiv, 'pub-key' ), - 'subscribe_key' : attr( pdiv, 'sub-key' ), - 'ssl' : !document.location.href.indexOf('https') || - attr( pdiv, 'ssl' ) == 'on', - 'origin' : attr( pdiv, 'origin' ), - 'uuid' : attr( pdiv, 'uuid' ) -}); - -// jQuery Interface -window['jQuery'] && (window['jQuery']['PUBNUB'] = PUBNUB); - -// For Modern JS + Testling.js - http://testling.com/ -typeof(module) !== 'undefined' && (module['exports'] = PUBNUB) && ready(); - -var pubnubs = $('pubnubs') || 0; - -// LEAVE NOW IF NO PDIV. -if (!PDIV) return; - -// PUBNUB Flash Socket -css( PDIV, { 'position' : 'absolute', 'top' : -SECOND } ); - -if ('opera' in window || attr( PDIV, 'flash' )) PDIV['innerHTML'] = - ''; - -// Create Interface for Opera Flash -PUBNUB['rdx'] = function( id, data ) { - if (!data) return FDomainRequest[id]['onerror'](); - FDomainRequest[id]['responseText'] = unescape(data); - FDomainRequest[id]['onload'](); -}; - -function FDomainRequest() { - if (!pubnubs || !pubnubs['get']) return 0; - - var fdomainrequest = { - 'id' : FDomainRequest['id']++, - 'send' : function() {}, - 'abort' : function() { fdomainrequest['id'] = {} }, - 'open' : function( method, url ) { - FDomainRequest[fdomainrequest['id']] = fdomainrequest; - pubnubs['get']( fdomainrequest['id'], url ); - } - }; - - return fdomainrequest; -} -FDomainRequest['id'] = SECOND; - -})(); -(function(){ - -// --------------------------------------------------------------------------- -// WEBSOCKET INTERFACE -// --------------------------------------------------------------------------- -var WS = PUBNUB['ws'] = function( url, protocols ) { - if (!(this instanceof WS)) return new WS( url, protocols ); - - var self = this - , url = self.url = url || '' - , protocol = self.protocol = protocols || 'Sec-WebSocket-Protocol' - , bits = url.split('/') - , setup = { - 'ssl' : bits[0] === 'wss:' - ,'origin' : bits[2] - ,'publish_key' : bits[3] - ,'subscribe_key' : bits[4] - ,'channel' : bits[5] - }; - - // READY STATES - self['CONNECTING'] = 0; // The connection is not yet open. - self['OPEN'] = 1; // The connection is open and ready to communicate. - self['CLOSING'] = 2; // The connection is in the process of closing. - self['CLOSED'] = 3; // The connection is closed or couldn't be opened. - - // CLOSE STATES - self['CLOSE_NORMAL'] = 1000; // Normal Intended Close; completed. - self['CLOSE_GOING_AWAY'] = 1001; // Closed Unexpecttedly. - self['CLOSE_PROTOCOL_ERROR'] = 1002; // Server: Not Supported. - self['CLOSE_UNSUPPORTED'] = 1003; // Server: Unsupported Protocol. - self['CLOSE_TOO_LARGE'] = 1004; // Server: Too Much Data. - self['CLOSE_NO_STATUS'] = 1005; // Server: No reason. - self['CLOSE_ABNORMAL'] = 1006; // Abnormal Disconnect. - - // Events Default - self['onclose'] = self['onerror'] = - self['onmessage'] = self['onopen'] = - self['onsend'] = function(){}; - - // Attributes - self['binaryType'] = ''; - self['extensions'] = ''; - self['bufferedAmount'] = 0; - self['trasnmitting'] = false; - self['buffer'] = []; - self['readyState'] = self['CONNECTING']; - - // Close if no setup. - if (!url) { - self['readyState'] = self['CLOSED']; - self['onclose']({ - 'code' : self['CLOSE_ABNORMAL'], - 'reason' : 'Missing URL', - 'wasClean' : true - }); - return self; - } - - // PubNub WebSocket Emulation - self.pubnub = PUBNUB['init'](setup); - self.pubnub.setup = setup; - self.setup = setup; - - self.pubnub['subscribe']({ - 'restore' : false, - 'channel' : setup['channel'], - 'disconnect' : self['onerror'], - 'reconnect' : self['onopen'], - 'error' : function() { - self['onclose']({ - 'code' : self['CLOSE_ABNORMAL'], - 'reason' : 'Missing URL', - 'wasClean' : false - }); - }, - 'callback' : function(message) { - self['onmessage']({ 'data' : message }); - }, - 'connect' : function() { - self['readyState'] = self['OPEN']; - self['onopen'](); - } - }); -}; - -// --------------------------------------------------------------------------- -// WEBSOCKET SEND -// --------------------------------------------------------------------------- -WS.prototype.send = function(data) { - var self = this; - self.pubnub['publish']({ - 'channel' : self.pubnub.setup['channel'], - 'message' : data, - 'callback' : function(response) { - self['onsend']({ 'data' : response }); - } - }); -}; - -// --------------------------------------------------------------------------- -// WEBSOCKET CLOSE -// --------------------------------------------------------------------------- -WS.prototype.close = function() { - var self = this; - self.pubnub['unsubscribe']({ 'channel' : self.pubnub.setup['channel'] }); - self['readyState'] = self['CLOSED']; - self['onclose']({}); -}; - -})(); -(function(){ - -// --------------------------------------------------------------------------- -// WEBSOCKET INTERFACE -// --------------------------------------------------------------------------- -var WS = PUBNUB['ws'] = function( url, protocols ) { - if (!(this instanceof WS)) return new WS( url, protocols ); - - var self = this - , url = self.url = url || '' - , protocol = self.protocol = protocols || 'Sec-WebSocket-Protocol' - , bits = url.split('/') - , setup = { - 'ssl' : bits[0] === 'wss:' - ,'origin' : bits[2] - ,'publish_key' : bits[3] - ,'subscribe_key' : bits[4] - ,'channel' : bits[5] - }; - - // READY STATES - self['CONNECTING'] = 0; // The connection is not yet open. - self['OPEN'] = 1; // The connection is open and ready to communicate. - self['CLOSING'] = 2; // The connection is in the process of closing. - self['CLOSED'] = 3; // The connection is closed or couldn't be opened. - - // CLOSE STATES - self['CLOSE_NORMAL'] = 1000; // Normal Intended Close; completed. - self['CLOSE_GOING_AWAY'] = 1001; // Closed Unexpecttedly. - self['CLOSE_PROTOCOL_ERROR'] = 1002; // Server: Not Supported. - self['CLOSE_UNSUPPORTED'] = 1003; // Server: Unsupported Protocol. - self['CLOSE_TOO_LARGE'] = 1004; // Server: Too Much Data. - self['CLOSE_NO_STATUS'] = 1005; // Server: No reason. - self['CLOSE_ABNORMAL'] = 1006; // Abnormal Disconnect. - - // Events Default - self['onclose'] = self['onerror'] = - self['onmessage'] = self['onopen'] = - self['onsend'] = function(){}; - - // Attributes - self['binaryType'] = ''; - self['extensions'] = ''; - self['bufferedAmount'] = 0; - self['trasnmitting'] = false; - self['buffer'] = []; - self['readyState'] = self['CONNECTING']; - - // Close if no setup. - if (!url) { - self['readyState'] = self['CLOSED']; - self['onclose']({ - 'code' : self['CLOSE_ABNORMAL'], - 'reason' : 'Missing URL', - 'wasClean' : true - }); - return self; - } - - // PubNub WebSocket Emulation - self.pubnub = PUBNUB['init'](setup); - self.pubnub.setup = setup; - self.setup = setup; - - self.pubnub['subscribe']({ - 'restore' : false, - 'channel' : setup['channel'], - 'disconnect' : self['onerror'], - 'reconnect' : self['onopen'], - 'error' : function() { - self['onclose']({ - 'code' : self['CLOSE_ABNORMAL'], - 'reason' : 'Missing URL', - 'wasClean' : false - }); - }, - 'callback' : function(message) { - self['onmessage']({ 'data' : message }); - }, - 'connect' : function() { - self['readyState'] = self['OPEN']; - self['onopen'](); - } - }); -}; - -// --------------------------------------------------------------------------- -// WEBSOCKET SEND -// --------------------------------------------------------------------------- -WS.prototype.send = function(data) { - var self = this; - self.pubnub['publish']({ - 'channel' : self.pubnub.setup['channel'], - 'message' : data, - 'callback' : function(response) { - self['onsend']({ 'data' : response }); - } - }); -}; - -// --------------------------------------------------------------------------- -// WEBSOCKET CLOSE -// --------------------------------------------------------------------------- -WS.prototype.close = function() { - var self = this; - self.pubnub['unsubscribe']({ 'channel' : self.pubnub.setup['channel'] }); - self['readyState'] = self['CLOSED']; - self['onclose']({}); -}; - -})(); -/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= JSON =============================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -(window['JSON'] && window['JSON']['stringify']) || (function () { - window['JSON'] || (window['JSON'] = {}); - - function toJSON(key) { - try { return this.valueOf() } - catch(e) { return null } - } - - var cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, - escapable = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, - gap, - indent, - meta = { // table of character substitutions - '\b': '\\b', - '\t': '\\t', - '\n': '\\n', - '\f': '\\f', - '\r': '\\r', - '"' : '\\"', - '\\': '\\\\' - }, - rep; - - function quote(string) { - escapable.lastIndex = 0; - return escapable.test(string) ? - '"' + string.replace(escapable, function (a) { - var c = meta[a]; - return typeof c === 'string' ? c : - '\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4); - }) + '"' : - '"' + string + '"'; - } - - function str(key, holder) { - var i, // The loop counter. - k, // The member key. - v, // The member value. - length, - partial, - mind = gap, - value = holder[key]; - - if (value && typeof value === 'object') { - value = toJSON.call( value, key ); - } - - if (typeof rep === 'function') { - value = rep.call(holder, key, value); - } - - switch (typeof value) { - case 'string': - return quote(value); - - case 'number': - return isFinite(value) ? String(value) : 'null'; - - case 'boolean': - case 'null': - return String(value); - - case 'object': - - if (!value) { - return 'null'; - } - - gap += indent; - partial = []; - - if (Object.prototype.toString.apply(value) === '[object Array]') { - - length = value.length; - for (i = 0; i < length; i += 1) { - partial[i] = str(i, value) || 'null'; - } - - v = partial.length === 0 ? '[]' : - gap ? '[\n' + gap + - partial.join(',\n' + gap) + '\n' + - mind + ']' : - '[' + partial.join(',') + ']'; - gap = mind; - return v; - } - if (rep && typeof rep === 'object') { - length = rep.length; - for (i = 0; i < length; i += 1) { - k = rep[i]; - if (typeof k === 'string') { - v = str(k, value); - if (v) { - partial.push(quote(k) + (gap ? ': ' : ':') + v); - } - } - } - } else { - for (k in value) { - if (Object.hasOwnProperty.call(value, k)) { - v = str(k, value); - if (v) { - partial.push(quote(k) + (gap ? ': ' : ':') + v); - } - } - } - } - - v = partial.length === 0 ? '{}' : - gap ? '{\n' + gap + partial.join(',\n' + gap) + '\n' + - mind + '}' : '{' + partial.join(',') + '}'; - gap = mind; - return v; - } - } - - if (typeof JSON['stringify'] !== 'function') { - JSON['stringify'] = function (value, replacer, space) { - var i; - gap = ''; - indent = ''; - - if (typeof space === 'number') { - for (i = 0; i < space; i += 1) { - indent += ' '; - } - } else if (typeof space === 'string') { - indent = space; - } - rep = replacer; - if (replacer && typeof replacer !== 'function' && - (typeof replacer !== 'object' || - typeof replacer.length !== 'number')) { - throw new Error('JSON.stringify'); - } - return str('', {'': value}); - }; - } - - if (typeof JSON['parse'] !== 'function') { - // JSON is parsed on the server for security. - JSON['parse'] = function (text) {return eval('('+text+')')}; - } -}()); -var NOW = 1 -, READY = false -, READY_BUFFER = [] -, PRESENCE_SUFFIX = '-pnpres' -, DEF_WINDOWING = 10 // MILLISECONDS. -, DEF_TIMEOUT = 10000 // MILLISECONDS. -, DEF_SUB_TIMEOUT = 310 // SECONDS. -, DEF_KEEPALIVE = 60 // SECONDS. -, SECOND = 1000 // A THOUSAND MILLISECONDS. -, REPL = /{([\w\-]+)}/g; - -/** - * UTILITIES - */ -function unique() { return'x'+ ++NOW+''+(+new Date) } -function rnow() { return+new Date } - -/** - * NEXTORIGIN - * ========== - * var next_origin = nextorigin(); - */ -var nextorigin = (function() { - var max = 20 - , ori = Math.floor(Math.random() * max); - return function( origin, failover ) { - return origin.indexOf('pubsub.') > 0 - && origin.replace( - 'pubsub', 'ps' + ( - failover ? uuid().split('-')[0] : - (++ori < max? ori : ori=1) - ) ) || origin; - } -})(); - -/** - * UPDATER - * ======= - * var timestamp = unique(); - */ -function updater( fun, rate ) { - var timeout - , last = 0 - , runnit = function() { - if (last + rate > rnow()) { - clearTimeout(timeout); - timeout = setTimeout( runnit, rate ); - } - else { - last = rnow(); - fun(); - } - }; - - return runnit; -} - -/** - * GREP - * ==== - * var list = grep( [1,2,3], function(item) { return item % 2 } ) - */ -function grep( list, fun ) { - var fin = []; - each( list || [], function(l) { fun(l) && fin.push(l) } ); - return fin -} - -/** - * SUPPLANT - * ======== - * var text = supplant( 'Hello {name}!', { name : 'John' } ) - */ -function supplant( str, values ) { - return str.replace( REPL, function( _, match ) { - return values[match] || _ - } ); -} - -/** - * timeout - * ======= - * timeout( function(){}, 100 ); - */ -function timeout( fun, wait ) { - return setTimeout( fun, wait ); -} - -/** - * uuid - * ==== - * var my_uuid = uuid(); - */ -function uuid(callback) { - var u = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, - function(c) { - var r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8); - return v.toString(16); - }); - if (callback) callback(u); - return u; -} - -/** - * EACH - * ==== - * each( [1,2,3], function(item) { } ) - */ -function each( o, f ) { - if ( !o || !f ) return; - - if ( typeof o[0] != 'undefined' ) - for ( var i = 0, l = o.length; i < l; ) - f.call( o[i], o[i], i++ ); - else - for ( var i in o ) - o.hasOwnProperty && - o.hasOwnProperty(i) && - f.call( o[i], i, o[i] ); -} - -/** - * MAP - * === - * var list = map( [1,2,3], function(item) { return item + 1 } ) - */ -function map( list, fun ) { - var fin = []; - each( list || [], function( k, v ) { fin.push(fun( k, v )) } ); - return fin; -} - -/** - * ENCODE - * ====== - * var encoded_path = encode('path'); - */ -function encode(path) { - return map( (encodeURIComponent(path)).split(''), function(chr) { - return "-_.!~*'()".indexOf(chr) < 0 ? chr : - "%"+chr.charCodeAt(0).toString(16).toUpperCase() - } ).join(''); -} - -/** - * Generate Subscription Channel List - * ================================== - * generate_channel_list(channels_object); - */ -function generate_channel_list(channels) { - var list = []; - each( channels, function( channel, status ) { - if (status.subscribed) list.push(channel); - } ); - return list.sort(); -} - -// PUBNUB READY TO CONNECT - function ready() { timeout( function() { - if (READY) return; - READY = 1; - each( READY_BUFFER, function(connect) { connect() } ); - }, SECOND ); } - -function PN_API(setup) { - var SUB_WINDOWING = +setup['windowing'] || DEF_WINDOWING - , SUB_TIMEOUT = (+setup['timeout'] || DEF_SUB_TIMEOUT) * SECOND - , KEEPALIVE = (+setup['keepalive'] || DEF_KEEPALIVE) * SECOND - , PUBLISH_KEY = setup['publish_key'] || '' - , SUBSCRIBE_KEY = setup['subscribe_key'] || '' - , SSL = setup['ssl'] ? 's' : '' - , ORIGIN = 'http'+SSL+'://'+(setup['origin']||'pubsub.pubnub.com') - , STD_ORIGIN = nextorigin(ORIGIN) - , SUB_ORIGIN = nextorigin(ORIGIN) - , CONNECT = function(){} - , PUB_QUEUE = [] - , SUB_CALLBACK = 0 - , SUB_CHANNEL = 0 - , SUB_RECEIVER = 0 - , SUB_RESTORE = 0 - , SUB_BUFF_WAIT = 0 - , TIMETOKEN = 0 - , CHANNELS = {} - , xdr = setup['xdr'] - , _is_online = setup['_is_online'] || function() { return 1; } - , jsonp_cb = setup['jsonp_cb'] || function(){ return 0; } - , db = setup['db'] || {'get': function(){}, 'set': function(){}} - , UUID = setup['uuid'] || ( db && db['get'](SUBSCRIBE_KEY+'uuid') || ''); - - - - function publish(next) { - if (next) PUB_QUEUE.sending = 0; - if (PUB_QUEUE.sending || !PUB_QUEUE.length) return; - PUB_QUEUE.sending = 1; - xdr(PUB_QUEUE.shift()); - } - - function each_channel(callback) { - each( generate_channel_list(CHANNELS), function(channel) { - var chan = CHANNELS[channel]; - if (!chan) return; - callback(chan); - } ); - } - - // Announce Leave Event - - - var SELF = { - - '_reset_offline' : function() { - SUB_RECEIVER && SUB_RECEIVER(1); - }, - - 'LEAVE' : function( channel, blocking ) { - var data = { 'uuid' : UUID } - , origin = nextorigin(ORIGIN) - , jsonp = jsonp_cb(); - - // Prevent Leaving a Presence Channel - if (channel.indexOf(PRESENCE_SUFFIX) > 0) return; - - if (jsonp != '0') data['callback'] = jsonp; - - xdr({ - blocking : blocking || SSL, - timeout : 2000, - callback : jsonp, - data : data, - url : [ - origin, 'v2', 'presence', 'sub_key', - SUBSCRIBE_KEY, 'channel', encode(channel), 'leave' - ] - }); - }, - /* - PUBNUB.history({ - channel : 'my_chat_channel', - limit : 100, - callback : function(history) { } - }); - */ - 'history' : function( args, callback ) { - var callback = args['callback'] || callback - , count = args['count'] || args['limit'] || 100 - , reverse = args['reverse'] || "false" - , err = args['error'] || function(){} - , channel = args['channel'] - , start = args['start'] - , end = args['end'] - , params = {} - , jsonp = jsonp_cb(); - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - params['stringtoken'] = 'true'; - params['count'] = count; - params['reverse'] = reverse; - - if (jsonp) params['callback'] = jsonp; - if (start) params['start'] = start; - if (end) params['end'] = end; - - // Send Message - xdr({ - callback : jsonp, - data : params, - success : function(response) { callback(response) }, - fail : err, - url : [ - STD_ORIGIN, 'v2', 'history', 'sub-key', - SUBSCRIBE_KEY, 'channel', encode(channel) - ] - }); - }, - - /* - PUBNUB.replay({ - source : 'my_channel', - destination : 'new_channel' - }); - */ - 'replay' : function(args) { - var callback = callback || args['callback'] || function(){} - , source = args['source'] - , destination = args['destination'] - , stop = args['stop'] - , start = args['start'] - , end = args['end'] - , reverse = args['reverse'] - , limit = args['limit'] - , jsonp = jsonp_cb() - , data = {} - , url; - - // Check User Input - if (!source) return error('Missing Source Channel'); - if (!destination) return error('Missing Destination Channel'); - if (!PUBLISH_KEY) return error('Missing Publish Key'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // Setup URL Params - if (jsonp != '0') data['callback'] = jsonp; - if (stop) data['stop'] = 'all'; - if (reverse) data['reverse'] = 'true'; - if (start) data['start'] = start; - if (end) data['end'] = end; - if (limit) data['count'] = limit; - - // Compose URL Parts - url = [ - STD_ORIGIN, 'v1', 'replay', - PUBLISH_KEY, SUBSCRIBE_KEY, - source, destination - ]; - - // Start (or Stop) Replay! - xdr({ - callback : jsonp, - success : function(response) { callback(response) }, - fail : function() { callback([ 0, 'Disconnected' ]) }, - url : url, - data : data - }); - }, - - /* - PUBNUB.time(function(time){ }); - */ - 'time' : function(callback) { - var jsonp = jsonp_cb(); - xdr({ - callback : jsonp, - timeout : SECOND*5, - url : [STD_ORIGIN, 'time', jsonp], - success : function(response) { callback(response[0]) }, - fail : function() { callback(0) } - }); - }, - - /* - PUBNUB.publish({ - channel : 'my_chat_channel', - message : 'hello!' - }); - */ - 'publish' : function( args, callback ) { - var callback = callback || args['callback'] || function(){} - , msg = args['message'] - , channel = args['channel'] - , jsonp = jsonp_cb() - , url; - - if (!msg) return error('Missing Message'); - if (!channel) return error('Missing Channel'); - if (!PUBLISH_KEY) return error('Missing Publish Key'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // If trying to send Object - msg = JSON['stringify'](msg); - - // Create URL - url = [ - STD_ORIGIN, 'publish', - PUBLISH_KEY, SUBSCRIBE_KEY, - 0, encode(channel), - jsonp, encode(msg) - ]; - - // Queue Message Send - PUB_QUEUE.push({ - callback : jsonp, - timeout : SECOND*5, - url : url, - data : { 'uuid' : UUID }, - success : function(response){callback(response);publish(1)}, - fail : function(){callback([0,'Failed',msg]);publish(1)} - }); - - // Send Message - publish(); - }, - - /* - PUBNUB.unsubscribe({ channel : 'my_chat' }); - */ - 'unsubscribe' : function(args) { - var channel = args['channel']; - - TIMETOKEN = 0; - SUB_RESTORE = 1; - - // Prepare Channel(s) - channel = map( ( - channel.join ? channel.join(',') : ''+channel - ).split(','), function(channel) { - return channel + ',' + channel + PRESENCE_SUFFIX; - } ).join(','); - - // Iterate over Channels - each( channel.split(','), function(channel) { - if (READY) SELF['LEAVE']( channel, 0 ); - CHANNELS[channel] = 0; - } ); - - // ReOpen Connection if Any Channels Left - if (READY) CONNECT(); - }, - - /* - PUBNUB.subscribe({ - channel : 'my_chat' - callback : function(message) { } - }); - */ - 'subscribe' : function( args, callback ) { - var channel = args['channel'] - , callback = callback || args['callback'] - , callback = callback || args['message'] - , connect = args['connect'] || function(){} - , reconnect = args['reconnect'] || function(){} - , disconnect = args['disconnect'] || function(){} - , presence = args['presence'] || 0 - , noheresync = args['noheresync'] || 0 - , sub_timeout = args['timeout'] || SUB_TIMEOUT - , windowing = args['windowing'] || SUB_WINDOWING - , restore = args['restore']; - - // Restore Enabled? - if (restore) SUB_RESTORE = 1; - - TIMETOKEN = 0; - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // Setup Channel(s) - each( (channel.join ? channel.join(',') : ''+channel).split(','), - function(channel) { - var settings = CHANNELS[channel] || {}; - - // Store Channel State - CHANNELS[SUB_CHANNEL = channel] = { - name : channel, - connected : settings.connected, - disconnected : settings.disconnected, - subscribed : 1, - callback : SUB_CALLBACK = callback, - connect : connect, - disconnect : disconnect, - reconnect : reconnect - }; - - // Presence Enabled? - if (!presence) return; - - // Subscribe Presence Channel - SELF['subscribe']({ - 'channel' : channel + PRESENCE_SUFFIX, - 'callback' : presence - }); - - // Presence Subscribed? - if (settings.subscribed) return; - - // See Who's Here Now? - if (noheresync) return; - SELF['here_now']({ - 'channel' : channel, - 'callback' : function(here) { - each( 'uuids' in here ? here['uuids'] : [], - function(uid) { presence( { - 'action' : 'join', - 'uuid' : uid, - 'timestamp' : rnow(), - 'occupancy' : here['occupancy'] || 1 - }, here, channel ); } ); - } - }); - } ); - - // Test Network Connection - function _test_connection(success) { - if (success) { - // Begin Next Socket Connection - timeout( _connect, SECOND ); - } - else { - // New Origin on Failed Connection - STD_ORIGIN = nextorigin( ORIGIN, 1 ); - SUB_ORIGIN = nextorigin( ORIGIN, 1 ); - - // Re-test Connection - timeout( function() { - SELF['time'](_test_connection); - }, SECOND ); - } - - // Disconnect & Reconnect - each_channel(function(channel){ - // Reconnect - if (success && channel.disconnected) { - channel.disconnected = 0; - return channel.reconnect(channel.name); - } - - // Disconnect - if (!success && !channel.disconnected) { - channel.disconnected = 1; - channel.disconnect(channel.name); - } - }); - } - - // Evented Subscribe - function _connect() { - var jsonp = jsonp_cb() - , channels = generate_channel_list(CHANNELS).join(','); - - // Stop Connection - if (!channels) return; - - // Connect to PubNub Subscribe Servers - SUB_RECEIVER = xdr({ - timeout : sub_timeout, - callback : jsonp, - fail : function() { SELF['time'](_test_connection) }, - data : { 'uuid' : UUID }, - url : [ - SUB_ORIGIN, 'subscribe', - SUBSCRIBE_KEY, encode(channels), - jsonp, TIMETOKEN - ], - success : function(messages) { - if (!messages) return timeout( _connect, windowing ); - - // Connect - each_channel(function(channel){ - if (channel.connected) return; - channel.connected = 1; - channel.connect(channel.name); - }); - - // Restore Previous Connection Point if Needed - TIMETOKEN = !TIMETOKEN && - SUB_RESTORE && - db['get'](SUBSCRIBE_KEY) || messages[1]; - - // Update Saved Timetoken - if (TIMETOKEN) db['set']( SUBSCRIBE_KEY, messages[1] ); - - // Route Channel <---> Callback for Message - var next_callback = (function() { - var channels = (messages.length>2?messages[2]:'') - , list = channels.split(','); - - return function() { - var channel = list.shift()||''; - return [ - (CHANNELS[channel]||{}) - .callback||SUB_CALLBACK, - (channel||SUB_CHANNEL) - .split(PRESENCE_SUFFIX)[0] - ]; - }; - })(); - - each( messages[0], function(msg) { - var next = next_callback(); - if (!CHANNELS[next[1]].subscribed) return; - next[0]( msg, messages, next[1] ); - } ); - - timeout( _connect, windowing ); - } - }); - } - - CONNECT = function() { - // Close Previous Subscribe Connection - SELF['_reset_offline'](); - - // Begin Recursive Subscribe - clearTimeout(SUB_BUFF_WAIT); - SUB_BUFF_WAIT = timeout( _connect, 100 ); - }; - - // Reduce Status Flicker - if (!READY) return READY_BUFFER.push(CONNECT); - - // Connect Now - CONNECT(); - }, - - 'here_now' : function( args, callback ) { - var callback = args['callback'] || callback - , err = args['error'] || function(){} - , channel = args['channel'] - , jsonp = jsonp_cb() - , data = null; - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - if (jsonp != '0') { - data = {}; - data['callback'] = jsonp; - } - - xdr({ - callback : jsonp, - data : data, - success : function(response) { callback(response) }, - fail : err, - url : [ - STD_ORIGIN, 'v2', 'presence', - 'sub_key', SUBSCRIBE_KEY, - 'channel', encode(channel) - ] - }); - }, - - // Expose PUBNUB Functions - 'xdr' : xdr, - 'ready' : ready, - 'db' : db, - 'uuid' : uuid, - 'each' : each, - 'map' : map, - 'grep' : grep, - 'supplant' : supplant, - 'now' : rnow, - 'unique' : unique, - 'updater' : updater, - 'poll_online' : function() { - _is_online() || SELF['_reset_offline'](); - timeout( SELF['poll_online'], SECOND ); - }, - 'poll_online2' : function() { - SELF['time'](function(success){ - success || SELF['_reset_offline'](); - timeout( SELF['poll_online2'], KEEPALIVE ); - }) - } - }; - if (!UUID) UUID = SELF['uuid'](); - db['set']( SUBSCRIBE_KEY + 'uuid', UUID ); - - timeout( SELF['poll_online'], SECOND ); - timeout( SELF['poll_online2'], KEEPALIVE ); - - return SELF; -} -// 3.4/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= JSON =============================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -(window['JSON'] && window['JSON']['stringify']) || (function () { - window['JSON'] || (window['JSON'] = {}); - - function toJSON(key) { - try { return this.valueOf() } - catch(e) { return null } - } - - var cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, - escapable = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, - gap, - indent, - meta = { // table of character substitutions - '\b': '\\b', - '\t': '\\t', - '\n': '\\n', - '\f': '\\f', - '\r': '\\r', - '"' : '\\"', - '\\': '\\\\' - }, - rep; - - function quote(string) { - escapable.lastIndex = 0; - return escapable.test(string) ? - '"' + string.replace(escapable, function (a) { - var c = meta[a]; - return typeof c === 'string' ? c : - '\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4); - }) + '"' : - '"' + string + '"'; - } - - function str(key, holder) { - var i, // The loop counter. - k, // The member key. - v, // The member value. - length, - partial, - mind = gap, - value = holder[key]; - - if (value && typeof value === 'object') { - value = toJSON.call( value, key ); - } - - if (typeof rep === 'function') { - value = rep.call(holder, key, value); - } - - switch (typeof value) { - case 'string': - return quote(value); - - case 'number': - return isFinite(value) ? String(value) : 'null'; - - case 'boolean': - case 'null': - return String(value); - - case 'object': - - if (!value) { - return 'null'; - } - - gap += indent; - partial = []; - - if (Object.prototype.toString.apply(value) === '[object Array]') { - - length = value.length; - for (i = 0; i < length; i += 1) { - partial[i] = str(i, value) || 'null'; - } - - v = partial.length === 0 ? '[]' : - gap ? '[\n' + gap + - partial.join(',\n' + gap) + '\n' + - mind + ']' : - '[' + partial.join(',') + ']'; - gap = mind; - return v; - } - if (rep && typeof rep === 'object') { - length = rep.length; - for (i = 0; i < length; i += 1) { - k = rep[i]; - if (typeof k === 'string') { - v = str(k, value); - if (v) { - partial.push(quote(k) + (gap ? ': ' : ':') + v); - } - } - } - } else { - for (k in value) { - if (Object.hasOwnProperty.call(value, k)) { - v = str(k, value); - if (v) { - partial.push(quote(k) + (gap ? ': ' : ':') + v); - } - } - } - } - - v = partial.length === 0 ? '{}' : - gap ? '{\n' + gap + partial.join(',\n' + gap) + '\n' + - mind + '}' : '{' + partial.join(',') + '}'; - gap = mind; - return v; - } - } - - if (typeof JSON['stringify'] !== 'function') { - JSON['stringify'] = function (value, replacer, space) { - var i; - gap = ''; - indent = ''; - - if (typeof space === 'number') { - for (i = 0; i < space; i += 1) { - indent += ' '; - } - } else if (typeof space === 'string') { - indent = space; - } - rep = replacer; - if (replacer && typeof replacer !== 'function' && - (typeof replacer !== 'object' || - typeof replacer.length !== 'number')) { - throw new Error('JSON.stringify'); - } - return str('', {'': value}); - }; - } - - if (typeof JSON['parse'] !== 'function') { - // JSON is parsed on the server for security. - JSON['parse'] = function (text) {return eval('('+text+')')}; - } -}()); -/* --------------------------------------------------------------------------- -WAIT! - This file depends on instructions from the PUBNUB Cloud. -http://www.pubnub.com/account-javascript-api-include ---------------------------------------------------------------------------- */ - -/* --------------------------------------------------------------------------- -PubNub Real-time Cloud-Hosted Push API and Push Notification Client Frameworks -Copyright (c) 2011 PubNub Inc. -http://www.pubnub.com/ -http://www.pubnub.com/terms ---------------------------------------------------------------------------- */ - -/* --------------------------------------------------------------------------- -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. ---------------------------------------------------------------------------- */ - -/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= UTIL =============================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -window['PUBNUB'] || (function() { - -/** - * UTIL LOCALS - */ - -var SWF = 'https://pubnub.a.ssl.fastly.net/pubnub.swf' -, ASYNC = 'async' -, URLBIT = '/' -, PARAMSBIT = '&' -, UA = navigator.userAgent -, XORIGN = UA.indexOf('MSIE 6') == -1; - -/** - * CONSOLE COMPATIBILITY - */ -window.console || (window.console=window.console||{}); -console.log || ( - console.log = - console.error = - ((window.opera||{}).postError||function(){}) -); - - - -/** - * LOCAL STORAGE OR COOKIE - */ -var db = (function(){ - var ls = window['localStorage']; - return { - 'get' : function(key) { - try { - if (ls) return ls.getItem(key); - if (document.cookie.indexOf(key) == -1) return null; - return ((document.cookie||'').match( - RegExp(key+'=([^;]+)') - )||[])[1] || null; - } catch(e) { return } - }, - 'set' : function( key, value ) { - try { - if (ls) return ls.setItem( key, value ) && 0; - document.cookie = key + '=' + value + - '; expires=Thu, 1 Aug 2030 20:00:00 UTC; path=/'; - } catch(e) { return } - } - }; -})(); - - -/** - * $ - * = - * var div = $('divid'); - */ -function $(id) { return document.getElementById(id) } - -/** - * ERROR - * ===== - * error('message'); - */ -function error(message) { console['error'](message) } - -/** - * SEARCH - * ====== - * var elements = search('a div span'); - */ -function search( elements, start ) { - var list = []; - each( elements.split(/\s+/), function(el) { - each( (start || document).getElementsByTagName(el), function(node) { - list.push(node); - } ); - } ); - return list; -} - - - -/** - * BIND - * ==== - * bind( 'keydown', search('a')[0], function(element) { - * ... - * } ); - */ -function bind( type, el, fun ) { - each( type.split(','), function(etype) { - var rapfun = function(e) { - if (!e) e = window.event; - if (!fun(e)) { - e.cancelBubble = true; - e.returnValue = false; - e.preventDefault && e.preventDefault(); - e.stopPropagation && e.stopPropagation(); - } - }; - - if ( el.addEventListener ) el.addEventListener( etype, rapfun, false ); - else if ( el.attachEvent ) el.attachEvent( 'on' + etype, rapfun ); - else el[ 'on' + etype ] = rapfun; - } ); -} - -/** - * UNBIND - * ====== - * unbind( 'keydown', search('a')[0] ); - */ -function unbind( type, el, fun ) { - if ( el.removeEventListener ) el.removeEventListener( type, false ); - else if ( el.detachEvent ) el.detachEvent( 'on' + type, false ); - else el[ 'on' + type ] = null; -} - -/** - * HEAD - * ==== - * head().appendChild(elm); - */ -function head() { return search('head')[0] } - -/** - * ATTR - * ==== - * var attribute = attr( node, 'attribute' ); - */ -function attr( node, attribute, value ) { - if (value) node.setAttribute( attribute, value ); - else return node && node.getAttribute && node.getAttribute(attribute); -} - -/** - * CSS - * === - * var obj = create('div'); - */ -function css( element, styles ) { - for (var style in styles) if (styles.hasOwnProperty(style)) - try {element.style[style] = styles[style] + ( - '|width|height|top|left|'.indexOf(style) > 0 && - typeof styles[style] == 'number' - ? 'px' : '' - )}catch(e){} -} - -/** - * CREATE - * ====== - * var obj = create('div'); - */ -function create(element) { return document.createElement(element) } - - -/** - * jsonp_cb - * ======== - * var callback = jsonp_cb(); - */ -function jsonp_cb() { return XORIGN || FDomainRequest() ? 0 : unique() } - - - -/** - * EVENTS - * ====== - * PUBNUB.events.bind( 'you-stepped-on-flower', function(message) { - * // Do Stuff with message - * } ); - * - * PUBNUB.events.fire( 'you-stepped-on-flower', "message-data" ); - * PUBNUB.events.fire( 'you-stepped-on-flower', {message:"data"} ); - * PUBNUB.events.fire( 'you-stepped-on-flower', [1,2,3] ); - * - */ -var events = { - 'list' : {}, - 'unbind' : function( name ) { events.list[name] = [] }, - 'bind' : function( name, fun ) { - (events.list[name] = events.list[name] || []).push(fun); - }, - 'fire' : function( name, data ) { - each( - events.list[name] || [], - function(fun) { fun(data) } - ); - } -}; - -/** - * XDR Cross Domain Request - * ======================== - * xdr({ - * url : ['http://www.blah.com/url'], - * success : function(response) {}, - * fail : function() {} - * }); - */ -function xdr( setup ) { - if (XORIGN || FDomainRequest()) return ajax(setup); - - var script = create('script') - , callback = setup.callback - , id = unique() - , finished = 0 - , xhrtme = setup.timeout || DEF_TIMEOUT - , timer = timeout( function(){done(1)}, xhrtme ) - , fail = setup.fail || function(){} - , success = setup.success || function(){} - - , append = function() { - head().appendChild(script); - } - - , done = function( failed, response ) { - if (finished) return; - finished = 1; - - failed || success(response); - script.onerror = null; - clearTimeout(timer); - - timeout( function() { - failed && fail(); - var s = $(id) - , p = s && s.parentNode; - p && p.removeChild(s); - }, SECOND ); - }; - - window[callback] = function(response) { - done( 0, response ); - }; - - if (!setup.blocking) script[ASYNC] = ASYNC; - - script.onerror = function() { done(1) }; - script.src = setup.url.join(URLBIT); - - if (setup.data) { - var params = []; - script.src += "?"; - for (var key in setup.data) { - params.push(key+"="+setup.data[key]); - } - script.src += params.join(PARAMSBIT); - } - attr( script, 'id', id ); - - append(); - return done; -} - -/** - * CORS XHR Request - * ================ - * xdr({ - * url : ['http://www.blah.com/url'], - * success : function(response) {}, - * fail : function() {} - * }); - */ -function ajax( setup ) { - var xhr, response - , finished = function() { - if (loaded) return; - loaded = 1; - - clearTimeout(timer); - - try { response = JSON['parse'](xhr.responseText); } - catch (r) { return done(1); } - - success(response); - } - , complete = 0 - , loaded = 0 - , xhrtme = setup.timeout || DEF_TIMEOUT - , timer = timeout( function(){done(1)}, xhrtme ) - , fail = setup.fail || function(){} - , success = setup.success || function(){} - , done = function(failed) { - if (complete) return; - complete = 1; - - clearTimeout(timer); - - if (xhr) { - xhr.onerror = xhr.onload = null; - xhr.abort && xhr.abort(); - xhr = null; - } - - failed && fail(); - }; - - // Send - try { - xhr = FDomainRequest() || - window.XDomainRequest && - new XDomainRequest() || - new XMLHttpRequest(); - - xhr.onerror = xhr.onabort = function(){ done(1) }; - xhr.onload = xhr.onloadend = finished; - xhr.timeout = xhrtme; - - var url = setup.url.join(URLBIT); - if (setup.data) { - var params = []; - var key; - console.log(setup.data); - url += "?"; - for (key in setup.data) params.push(key+"="+setup.data[key]); - url += params.join(PARAMSBIT); - } - - xhr.open( 'GET', url, (typeof(setup.blocking === 'undefined')) ); - xhr.send(); - } - catch(eee) { - done(0); - XORIGN = 0; - return xdr(setup); - } - - // Return 'done' - return done; -} - - - - // Test Connection State -function _is_online() { - if (!('onLine' in navigator)) return 1; - return navigator['onLine']; -} - - -/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= PUBNUB ===========================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -var PDIV = $('pubnub') || 0 -, CREATE_PUBNUB = function(setup) { - - // Force JSONP if requested from user. - if (setup['jsonp']) XORIGN = 0; - - var SUBSCRIBE_KEY = setup['subscribe_key'] || '' - , KEEPALIVE = (+setup['keepalive'] || DEF_KEEPALIVE) * SECOND - , UUID = setup['uuid'] || db['get'](SUBSCRIBE_KEY+'uuid') || ''; - - setup['xdr'] = xdr; - setup['db'] = db; - setup['_is_online'] = _is_online; - setup['jsonp_cb'] = jsonp_cb; - var SELF = PN_API(setup); - - - SELF['css'] = css; - SELF['$'] = $; - SELF['create'] = create; - SELF['bind'] = bind; - SELF['head'] = head; - SELF['search'] = search; - SELF['attr'] = attr; - SELF['events'] = events; - SELF['init'] = CREATE_PUBNUB; - - // Return without Testing - if (setup['notest']) return SELF; - - // Add Leave Functions - bind( 'beforeunload', window, function() { - each_channel(function(ch){ SELF['LEAVE']( ch.name, 1 ) }); - return true; - } ); - - bind( 'offline', window, SELF['_reset_offline'] ); - bind( 'offline', document, SELF['_reset_offline'] ); - - // Return PUBNUB Socket Object - return SELF; -}; - - - -// Bind for PUBNUB Readiness to Subscribe -bind( 'load', window, function(){ timeout( ready, 0 ) } ); - -var pdiv = PDIV || {}; - -// CREATE A PUBNUB GLOBAL OBJECT -PUBNUB = CREATE_PUBNUB({ - 'notest' : 1, - 'publish_key' : attr( pdiv, 'pub-key' ), - 'subscribe_key' : attr( pdiv, 'sub-key' ), - 'ssl' : !document.location.href.indexOf('https') || - attr( pdiv, 'ssl' ) == 'on', - 'origin' : attr( pdiv, 'origin' ), - 'uuid' : attr( pdiv, 'uuid' ) -}); - -// jQuery Interface -window['jQuery'] && (window['jQuery']['PUBNUB'] = PUBNUB); - -// For Modern JS + Testling.js - http://testling.com/ -typeof(module) !== 'undefined' && (module['exports'] = PUBNUB) && ready(); - -var pubnubs = $('pubnubs') || 0; - -// LEAVE NOW IF NO PDIV. -if (!PDIV) return; - -// PUBNUB Flash Socket -css( PDIV, { 'position' : 'absolute', 'top' : -SECOND } ); - -if ('opera' in window || attr( PDIV, 'flash' )) PDIV['innerHTML'] = - ''; - -// Create Interface for Opera Flash -PUBNUB['rdx'] = function( id, data ) { - if (!data) return FDomainRequest[id]['onerror'](); - FDomainRequest[id]['responseText'] = unescape(data); - FDomainRequest[id]['onload'](); -}; - -function FDomainRequest() { - if (!pubnubs || !pubnubs['get']) return 0; - - var fdomainrequest = { - 'id' : FDomainRequest['id']++, - 'send' : function() {}, - 'abort' : function() { fdomainrequest['id'] = {} }, - 'open' : function( method, url ) { - FDomainRequest[fdomainrequest['id']] = fdomainrequest; - pubnubs['get']( fdomainrequest['id'], url ); - } - }; - - return fdomainrequest; -} -FDomainRequest['id'] = SECOND; - -})(); -(function(){ - -// --------------------------------------------------------------------------- -// WEBSOCKET INTERFACE -// --------------------------------------------------------------------------- -var WS = PUBNUB['ws'] = function( url, protocols ) { - if (!(this instanceof WS)) return new WS( url, protocols ); - - var self = this - , url = self.url = url || '' - , protocol = self.protocol = protocols || 'Sec-WebSocket-Protocol' - , bits = url.split('/') - , setup = { - 'ssl' : bits[0] === 'wss:' - ,'origin' : bits[2] - ,'publish_key' : bits[3] - ,'subscribe_key' : bits[4] - ,'channel' : bits[5] - }; - - // READY STATES - self['CONNECTING'] = 0; // The connection is not yet open. - self['OPEN'] = 1; // The connection is open and ready to communicate. - self['CLOSING'] = 2; // The connection is in the process of closing. - self['CLOSED'] = 3; // The connection is closed or couldn't be opened. - - // CLOSE STATES - self['CLOSE_NORMAL'] = 1000; // Normal Intended Close; completed. - self['CLOSE_GOING_AWAY'] = 1001; // Closed Unexpecttedly. - self['CLOSE_PROTOCOL_ERROR'] = 1002; // Server: Not Supported. - self['CLOSE_UNSUPPORTED'] = 1003; // Server: Unsupported Protocol. - self['CLOSE_TOO_LARGE'] = 1004; // Server: Too Much Data. - self['CLOSE_NO_STATUS'] = 1005; // Server: No reason. - self['CLOSE_ABNORMAL'] = 1006; // Abnormal Disconnect. - - // Events Default - self['onclose'] = self['onerror'] = - self['onmessage'] = self['onopen'] = - self['onsend'] = function(){}; - - // Attributes - self['binaryType'] = ''; - self['extensions'] = ''; - self['bufferedAmount'] = 0; - self['trasnmitting'] = false; - self['buffer'] = []; - self['readyState'] = self['CONNECTING']; - - // Close if no setup. - if (!url) { - self['readyState'] = self['CLOSED']; - self['onclose']({ - 'code' : self['CLOSE_ABNORMAL'], - 'reason' : 'Missing URL', - 'wasClean' : true - }); - return self; - } - - // PubNub WebSocket Emulation - self.pubnub = PUBNUB['init'](setup); - self.pubnub.setup = setup; - self.setup = setup; - - self.pubnub['subscribe']({ - 'restore' : false, - 'channel' : setup['channel'], - 'disconnect' : self['onerror'], - 'reconnect' : self['onopen'], - 'error' : function() { - self['onclose']({ - 'code' : self['CLOSE_ABNORMAL'], - 'reason' : 'Missing URL', - 'wasClean' : false - }); - }, - 'callback' : function(message) { - self['onmessage']({ 'data' : message }); - }, - 'connect' : function() { - self['readyState'] = self['OPEN']; - self['onopen'](); - } - }); -}; - -// --------------------------------------------------------------------------- -// WEBSOCKET SEND -// --------------------------------------------------------------------------- -WS.prototype.send = function(data) { - var self = this; - self.pubnub['publish']({ - 'channel' : self.pubnub.setup['channel'], - 'message' : data, - 'callback' : function(response) { - self['onsend']({ 'data' : response }); - } - }); -}; - -// --------------------------------------------------------------------------- -// WEBSOCKET CLOSE -// --------------------------------------------------------------------------- -WS.prototype.close = function() { - var self = this; - self.pubnub['unsubscribe']({ 'channel' : self.pubnub.setup['channel'] }); - self['readyState'] = self['CLOSED']; - self['onclose']({}); -}; - -})(); -(function(){ - -// --------------------------------------------------------------------------- -// WEBSOCKET INTERFACE -// --------------------------------------------------------------------------- -var WS = PUBNUB['ws'] = function( url, protocols ) { - if (!(this instanceof WS)) return new WS( url, protocols ); - - var self = this - , url = self.url = url || '' - , protocol = self.protocol = protocols || 'Sec-WebSocket-Protocol' - , bits = url.split('/') - , setup = { - 'ssl' : bits[0] === 'wss:' - ,'origin' : bits[2] - ,'publish_key' : bits[3] - ,'subscribe_key' : bits[4] - ,'channel' : bits[5] - }; - - // READY STATES - self['CONNECTING'] = 0; // The connection is not yet open. - self['OPEN'] = 1; // The connection is open and ready to communicate. - self['CLOSING'] = 2; // The connection is in the process of closing. - self['CLOSED'] = 3; // The connection is closed or couldn't be opened. - - // CLOSE STATES - self['CLOSE_NORMAL'] = 1000; // Normal Intended Close; completed. - self['CLOSE_GOING_AWAY'] = 1001; // Closed Unexpecttedly. - self['CLOSE_PROTOCOL_ERROR'] = 1002; // Server: Not Supported. - self['CLOSE_UNSUPPORTED'] = 1003; // Server: Unsupported Protocol. - self['CLOSE_TOO_LARGE'] = 1004; // Server: Too Much Data. - self['CLOSE_NO_STATUS'] = 1005; // Server: No reason. - self['CLOSE_ABNORMAL'] = 1006; // Abnormal Disconnect. - - // Events Default - self['onclose'] = self['onerror'] = - self['onmessage'] = self['onopen'] = - self['onsend'] = function(){}; - - // Attributes - self['binaryType'] = ''; - self['extensions'] = ''; - self['bufferedAmount'] = 0; - self['trasnmitting'] = false; - self['buffer'] = []; - self['readyState'] = self['CONNECTING']; - - // Close if no setup. - if (!url) { - self['readyState'] = self['CLOSED']; - self['onclose']({ - 'code' : self['CLOSE_ABNORMAL'], - 'reason' : 'Missing URL', - 'wasClean' : true - }); - return self; - } - - // PubNub WebSocket Emulation - self.pubnub = PUBNUB['init'](setup); - self.pubnub.setup = setup; - self.setup = setup; - - self.pubnub['subscribe']({ - 'restore' : false, - 'channel' : setup['channel'], - 'disconnect' : self['onerror'], - 'reconnect' : self['onopen'], - 'error' : function() { - self['onclose']({ - 'code' : self['CLOSE_ABNORMAL'], - 'reason' : 'Missing URL', - 'wasClean' : false - }); - }, - 'callback' : function(message) { - self['onmessage']({ 'data' : message }); - }, - 'connect' : function() { - self['readyState'] = self['OPEN']; - self['onopen'](); - } - }); -}; - -// --------------------------------------------------------------------------- -// WEBSOCKET SEND -// --------------------------------------------------------------------------- -WS.prototype.send = function(data) { - var self = this; - self.pubnub['publish']({ - 'channel' : self.pubnub.setup['channel'], - 'message' : data, - 'callback' : function(response) { - self['onsend']({ 'data' : response }); - } - }); -}; - -// --------------------------------------------------------------------------- -// WEBSOCKET CLOSE -// --------------------------------------------------------------------------- -WS.prototype.close = function() { - var self = this; - self.pubnub['unsubscribe']({ 'channel' : self.pubnub.setup['channel'] }); - self['readyState'] = self['CLOSED']; - self['onclose']({}); -}; - -})(); -/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= JSON =============================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -(window['JSON'] && window['JSON']['stringify']) || (function () { - window['JSON'] || (window['JSON'] = {}); - - function toJSON(key) { - try { return this.valueOf() } - catch(e) { return null } - } - - var cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, - escapable = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, - gap, - indent, - meta = { // table of character substitutions - '\b': '\\b', - '\t': '\\t', - '\n': '\\n', - '\f': '\\f', - '\r': '\\r', - '"' : '\\"', - '\\': '\\\\' - }, - rep; - - function quote(string) { - escapable.lastIndex = 0; - return escapable.test(string) ? - '"' + string.replace(escapable, function (a) { - var c = meta[a]; - return typeof c === 'string' ? c : - '\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4); - }) + '"' : - '"' + string + '"'; - } - - function str(key, holder) { - var i, // The loop counter. - k, // The member key. - v, // The member value. - length, - partial, - mind = gap, - value = holder[key]; - - if (value && typeof value === 'object') { - value = toJSON.call( value, key ); - } - - if (typeof rep === 'function') { - value = rep.call(holder, key, value); - } - - switch (typeof value) { - case 'string': - return quote(value); - - case 'number': - return isFinite(value) ? String(value) : 'null'; - - case 'boolean': - case 'null': - return String(value); - - case 'object': - - if (!value) { - return 'null'; - } - - gap += indent; - partial = []; - - if (Object.prototype.toString.apply(value) === '[object Array]') { - - length = value.length; - for (i = 0; i < length; i += 1) { - partial[i] = str(i, value) || 'null'; - } - - v = partial.length === 0 ? '[]' : - gap ? '[\n' + gap + - partial.join(',\n' + gap) + '\n' + - mind + ']' : - '[' + partial.join(',') + ']'; - gap = mind; - return v; - } - if (rep && typeof rep === 'object') { - length = rep.length; - for (i = 0; i < length; i += 1) { - k = rep[i]; - if (typeof k === 'string') { - v = str(k, value); - if (v) { - partial.push(quote(k) + (gap ? ': ' : ':') + v); - } - } - } - } else { - for (k in value) { - if (Object.hasOwnProperty.call(value, k)) { - v = str(k, value); - if (v) { - partial.push(quote(k) + (gap ? ': ' : ':') + v); - } - } - } - } - - v = partial.length === 0 ? '{}' : - gap ? '{\n' + gap + partial.join(',\n' + gap) + '\n' + - mind + '}' : '{' + partial.join(',') + '}'; - gap = mind; - return v; - } - } - - if (typeof JSON['stringify'] !== 'function') { - JSON['stringify'] = function (value, replacer, space) { - var i; - gap = ''; - indent = ''; - - if (typeof space === 'number') { - for (i = 0; i < space; i += 1) { - indent += ' '; - } - } else if (typeof space === 'string') { - indent = space; - } - rep = replacer; - if (replacer && typeof replacer !== 'function' && - (typeof replacer !== 'object' || - typeof replacer.length !== 'number')) { - throw new Error('JSON.stringify'); - } - return str('', {'': value}); - }; - } - - if (typeof JSON['parse'] !== 'function') { - // JSON is parsed on the server for security. - JSON['parse'] = function (text) {return eval('('+text+')')}; - } -}()); -// 3.4/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= JSON =============================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -(window['JSON'] && window['JSON']['stringify']) || (function () { - window['JSON'] || (window['JSON'] = {}); - - function toJSON(key) { - try { return this.valueOf() } - catch(e) { return null } - } - - var cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, - escapable = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, - gap, - indent, - meta = { // table of character substitutions - '\b': '\\b', - '\t': '\\t', - '\n': '\\n', - '\f': '\\f', - '\r': '\\r', - '"' : '\\"', - '\\': '\\\\' - }, - rep; - - function quote(string) { - escapable.lastIndex = 0; - return escapable.test(string) ? - '"' + string.replace(escapable, function (a) { - var c = meta[a]; - return typeof c === 'string' ? c : - '\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4); - }) + '"' : - '"' + string + '"'; - } - - function str(key, holder) { - var i, // The loop counter. - k, // The member key. - v, // The member value. - length, - partial, - mind = gap, - value = holder[key]; - - if (value && typeof value === 'object') { - value = toJSON.call( value, key ); - } - - if (typeof rep === 'function') { - value = rep.call(holder, key, value); - } - - switch (typeof value) { - case 'string': - return quote(value); - - case 'number': - return isFinite(value) ? String(value) : 'null'; - - case 'boolean': - case 'null': - return String(value); - - case 'object': - - if (!value) { - return 'null'; - } - - gap += indent; - partial = []; - - if (Object.prototype.toString.apply(value) === '[object Array]') { - - length = value.length; - for (i = 0; i < length; i += 1) { - partial[i] = str(i, value) || 'null'; - } - - v = partial.length === 0 ? '[]' : - gap ? '[\n' + gap + - partial.join(',\n' + gap) + '\n' + - mind + ']' : - '[' + partial.join(',') + ']'; - gap = mind; - return v; - } - if (rep && typeof rep === 'object') { - length = rep.length; - for (i = 0; i < length; i += 1) { - k = rep[i]; - if (typeof k === 'string') { - v = str(k, value); - if (v) { - partial.push(quote(k) + (gap ? ': ' : ':') + v); - } - } - } - } else { - for (k in value) { - if (Object.hasOwnProperty.call(value, k)) { - v = str(k, value); - if (v) { - partial.push(quote(k) + (gap ? ': ' : ':') + v); - } - } - } - } - - v = partial.length === 0 ? '{}' : - gap ? '{\n' + gap + partial.join(',\n' + gap) + '\n' + - mind + '}' : '{' + partial.join(',') + '}'; - gap = mind; - return v; - } - } - - if (typeof JSON['stringify'] !== 'function') { - JSON['stringify'] = function (value, replacer, space) { - var i; - gap = ''; - indent = ''; - - if (typeof space === 'number') { - for (i = 0; i < space; i += 1) { - indent += ' '; - } - } else if (typeof space === 'string') { - indent = space; - } - rep = replacer; - if (replacer && typeof replacer !== 'function' && - (typeof replacer !== 'object' || - typeof replacer.length !== 'number')) { - throw new Error('JSON.stringify'); - } - return str('', {'': value}); - }; - } - - if (typeof JSON['parse'] !== 'function') { - // JSON is parsed on the server for security. - JSON['parse'] = function (text) {return eval('('+text+')')}; - } -}()); -/* --------------------------------------------------------------------------- -WAIT! - This file depends on instructions from the PUBNUB Cloud. -http://www.pubnub.com/account-javascript-api-include ---------------------------------------------------------------------------- */ - -/* --------------------------------------------------------------------------- -PubNub Real-time Cloud-Hosted Push API and Push Notification Client Frameworks -Copyright (c) 2011 PubNub Inc. -http://www.pubnub.com/ -http://www.pubnub.com/terms ---------------------------------------------------------------------------- */ - -/* --------------------------------------------------------------------------- -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. ---------------------------------------------------------------------------- */ - -/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= UTIL =============================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -window['PUBNUB'] || (function() { - -/** - * UTIL LOCALS - */ - -var SWF = 'https://pubnub.a.ssl.fastly.net/pubnub.swf' -, ASYNC = 'async' -, URLBIT = '/' -, PARAMSBIT = '&' -, UA = navigator.userAgent -, XORIGN = UA.indexOf('MSIE 6') == -1; - -/** - * CONSOLE COMPATIBILITY - */ -window.console || (window.console=window.console||{}); -console.log || ( - console.log = - console.error = - ((window.opera||{}).postError||function(){}) -); - - - -/** - * LOCAL STORAGE OR COOKIE - */ -var db = (function(){ - var ls = window['localStorage']; - return { - 'get' : function(key) { - try { - if (ls) return ls.getItem(key); - if (document.cookie.indexOf(key) == -1) return null; - return ((document.cookie||'').match( - RegExp(key+'=([^;]+)') - )||[])[1] || null; - } catch(e) { return } - }, - 'set' : function( key, value ) { - try { - if (ls) return ls.setItem( key, value ) && 0; - document.cookie = key + '=' + value + - '; expires=Thu, 1 Aug 2030 20:00:00 UTC; path=/'; - } catch(e) { return } - } - }; -})(); - - -/** - * $ - * = - * var div = $('divid'); - */ -function $(id) { return document.getElementById(id) } - -/** - * ERROR - * ===== - * error('message'); - */ -function error(message) { console['error'](message) } - -/** - * SEARCH - * ====== - * var elements = search('a div span'); - */ -function search( elements, start ) { - var list = []; - each( elements.split(/\s+/), function(el) { - each( (start || document).getElementsByTagName(el), function(node) { - list.push(node); - } ); - } ); - return list; -} - - - -/** - * BIND - * ==== - * bind( 'keydown', search('a')[0], function(element) { - * ... - * } ); - */ -function bind( type, el, fun ) { - each( type.split(','), function(etype) { - var rapfun = function(e) { - if (!e) e = window.event; - if (!fun(e)) { - e.cancelBubble = true; - e.returnValue = false; - e.preventDefault && e.preventDefault(); - e.stopPropagation && e.stopPropagation(); - } - }; - - if ( el.addEventListener ) el.addEventListener( etype, rapfun, false ); - else if ( el.attachEvent ) el.attachEvent( 'on' + etype, rapfun ); - else el[ 'on' + etype ] = rapfun; - } ); -} - -/** - * UNBIND - * ====== - * unbind( 'keydown', search('a')[0] ); - */ -function unbind( type, el, fun ) { - if ( el.removeEventListener ) el.removeEventListener( type, false ); - else if ( el.detachEvent ) el.detachEvent( 'on' + type, false ); - else el[ 'on' + type ] = null; -} - -/** - * HEAD - * ==== - * head().appendChild(elm); - */ -function head() { return search('head')[0] } - -/** - * ATTR - * ==== - * var attribute = attr( node, 'attribute' ); - */ -function attr( node, attribute, value ) { - if (value) node.setAttribute( attribute, value ); - else return node && node.getAttribute && node.getAttribute(attribute); -} - -/** - * CSS - * === - * var obj = create('div'); - */ -function css( element, styles ) { - for (var style in styles) if (styles.hasOwnProperty(style)) - try {element.style[style] = styles[style] + ( - '|width|height|top|left|'.indexOf(style) > 0 && - typeof styles[style] == 'number' - ? 'px' : '' - )}catch(e){} -} - -/** - * CREATE - * ====== - * var obj = create('div'); - */ -function create(element) { return document.createElement(element) } - - -/** - * jsonp_cb - * ======== - * var callback = jsonp_cb(); - */ -function jsonp_cb() { return XORIGN || FDomainRequest() ? 0 : unique() } - - - -/** - * EVENTS - * ====== - * PUBNUB.events.bind( 'you-stepped-on-flower', function(message) { - * // Do Stuff with message - * } ); - * - * PUBNUB.events.fire( 'you-stepped-on-flower', "message-data" ); - * PUBNUB.events.fire( 'you-stepped-on-flower', {message:"data"} ); - * PUBNUB.events.fire( 'you-stepped-on-flower', [1,2,3] ); - * - */ -var events = { - 'list' : {}, - 'unbind' : function( name ) { events.list[name] = [] }, - 'bind' : function( name, fun ) { - (events.list[name] = events.list[name] || []).push(fun); - }, - 'fire' : function( name, data ) { - each( - events.list[name] || [], - function(fun) { fun(data) } - ); - } -}; - -/** - * XDR Cross Domain Request - * ======================== - * xdr({ - * url : ['http://www.blah.com/url'], - * success : function(response) {}, - * fail : function() {} - * }); - */ -function xdr( setup ) { - if (XORIGN || FDomainRequest()) return ajax(setup); - - var script = create('script') - , callback = setup.callback - , id = unique() - , finished = 0 - , xhrtme = setup.timeout || DEF_TIMEOUT - , timer = timeout( function(){done(1)}, xhrtme ) - , fail = setup.fail || function(){} - , success = setup.success || function(){} - - , append = function() { - head().appendChild(script); - } - - , done = function( failed, response ) { - if (finished) return; - finished = 1; - - failed || success(response); - script.onerror = null; - clearTimeout(timer); - - timeout( function() { - failed && fail(); - var s = $(id) - , p = s && s.parentNode; - p && p.removeChild(s); - }, SECOND ); - }; - - window[callback] = function(response) { - done( 0, response ); - }; - - if (!setup.blocking) script[ASYNC] = ASYNC; - - script.onerror = function() { done(1) }; - script.src = setup.url.join(URLBIT); - - if (setup.data) { - var params = []; - script.src += "?"; - for (var key in setup.data) { - params.push(key+"="+setup.data[key]); - } - script.src += params.join(PARAMSBIT); - } - attr( script, 'id', id ); - - append(); - return done; -} - -/** - * CORS XHR Request - * ================ - * xdr({ - * url : ['http://www.blah.com/url'], - * success : function(response) {}, - * fail : function() {} - * }); - */ -function ajax( setup ) { - var xhr, response - , finished = function() { - if (loaded) return; - loaded = 1; - - clearTimeout(timer); - - try { response = JSON['parse'](xhr.responseText); } - catch (r) { return done(1); } - - success(response); - } - , complete = 0 - , loaded = 0 - , xhrtme = setup.timeout || DEF_TIMEOUT - , timer = timeout( function(){done(1)}, xhrtme ) - , fail = setup.fail || function(){} - , success = setup.success || function(){} - , done = function(failed) { - if (complete) return; - complete = 1; - - clearTimeout(timer); - - if (xhr) { - xhr.onerror = xhr.onload = null; - xhr.abort && xhr.abort(); - xhr = null; - } - - failed && fail(); - }; - - // Send - try { - xhr = FDomainRequest() || - window.XDomainRequest && - new XDomainRequest() || - new XMLHttpRequest(); - - xhr.onerror = xhr.onabort = function(){ done(1) }; - xhr.onload = xhr.onloadend = finished; - xhr.timeout = xhrtme; - - var url = setup.url.join(URLBIT); - if (setup.data) { - var params = []; - var key; - console.log(setup.data); - url += "?"; - for (key in setup.data) params.push(key+"="+setup.data[key]); - url += params.join(PARAMSBIT); - } - - xhr.open( 'GET', url, (typeof(setup.blocking === 'undefined')) ); - xhr.send(); - } - catch(eee) { - done(0); - XORIGN = 0; - return xdr(setup); - } - - // Return 'done' - return done; -} - - - - // Test Connection State -function _is_online() { - if (!('onLine' in navigator)) return 1; - return navigator['onLine']; -} - - -/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= PUBNUB ===========================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -var PDIV = $('pubnub') || 0 -, CREATE_PUBNUB = function(setup) { - - // Force JSONP if requested from user. - if (setup['jsonp']) XORIGN = 0; - - var SUBSCRIBE_KEY = setup['subscribe_key'] || '' - , KEEPALIVE = (+setup['keepalive'] || DEF_KEEPALIVE) * SECOND - , UUID = setup['uuid'] || db['get'](SUBSCRIBE_KEY+'uuid') || ''; - - setup['xdr'] = xdr; - setup['db'] = db; - setup['_is_online'] = _is_online; - setup['jsonp_cb'] = jsonp_cb; - var SELF = PN_API(setup); - - - SELF['css'] = css; - SELF['$'] = $; - SELF['create'] = create; - SELF['bind'] = bind; - SELF['head'] = head; - SELF['search'] = search; - SELF['attr'] = attr; - SELF['events'] = events; - SELF['init'] = CREATE_PUBNUB; - - // Return without Testing - if (setup['notest']) return SELF; - - // Add Leave Functions - bind( 'beforeunload', window, function() { - each_channel(function(ch){ SELF['LEAVE']( ch.name, 1 ) }); - return true; - } ); - - bind( 'offline', window, SELF['_reset_offline'] ); - bind( 'offline', document, SELF['_reset_offline'] ); - - // Return PUBNUB Socket Object - return SELF; -}; - - - -// Bind for PUBNUB Readiness to Subscribe -bind( 'load', window, function(){ timeout( ready, 0 ) } ); - -var pdiv = PDIV || {}; - -// CREATE A PUBNUB GLOBAL OBJECT -PUBNUB = CREATE_PUBNUB({ - 'notest' : 1, - 'publish_key' : attr( pdiv, 'pub-key' ), - 'subscribe_key' : attr( pdiv, 'sub-key' ), - 'ssl' : !document.location.href.indexOf('https') || - attr( pdiv, 'ssl' ) == 'on', - 'origin' : attr( pdiv, 'origin' ), - 'uuid' : attr( pdiv, 'uuid' ) -}); - -// jQuery Interface -window['jQuery'] && (window['jQuery']['PUBNUB'] = PUBNUB); - -// For Modern JS + Testling.js - http://testling.com/ -typeof(module) !== 'undefined' && (module['exports'] = PUBNUB) && ready(); - -var pubnubs = $('pubnubs') || 0; - -// LEAVE NOW IF NO PDIV. -if (!PDIV) return; - -// PUBNUB Flash Socket -css( PDIV, { 'position' : 'absolute', 'top' : -SECOND } ); - -if ('opera' in window || attr( PDIV, 'flash' )) PDIV['innerHTML'] = - ''; - -// Create Interface for Opera Flash -PUBNUB['rdx'] = function( id, data ) { - if (!data) return FDomainRequest[id]['onerror'](); - FDomainRequest[id]['responseText'] = unescape(data); - FDomainRequest[id]['onload'](); -}; - -function FDomainRequest() { - if (!pubnubs || !pubnubs['get']) return 0; - - var fdomainrequest = { - 'id' : FDomainRequest['id']++, - 'send' : function() {}, - 'abort' : function() { fdomainrequest['id'] = {} }, - 'open' : function( method, url ) { - FDomainRequest[fdomainrequest['id']] = fdomainrequest; - pubnubs['get']( fdomainrequest['id'], url ); - } - }; - - return fdomainrequest; -} -FDomainRequest['id'] = SECOND; - -})(); -(function(){ - -// --------------------------------------------------------------------------- -// WEBSOCKET INTERFACE -// --------------------------------------------------------------------------- -var WS = PUBNUB['ws'] = function( url, protocols ) { - if (!(this instanceof WS)) return new WS( url, protocols ); - - var self = this - , url = self.url = url || '' - , protocol = self.protocol = protocols || 'Sec-WebSocket-Protocol' - , bits = url.split('/') - , setup = { - 'ssl' : bits[0] === 'wss:' - ,'origin' : bits[2] - ,'publish_key' : bits[3] - ,'subscribe_key' : bits[4] - ,'channel' : bits[5] - }; - - // READY STATES - self['CONNECTING'] = 0; // The connection is not yet open. - self['OPEN'] = 1; // The connection is open and ready to communicate. - self['CLOSING'] = 2; // The connection is in the process of closing. - self['CLOSED'] = 3; // The connection is closed or couldn't be opened. - - // CLOSE STATES - self['CLOSE_NORMAL'] = 1000; // Normal Intended Close; completed. - self['CLOSE_GOING_AWAY'] = 1001; // Closed Unexpecttedly. - self['CLOSE_PROTOCOL_ERROR'] = 1002; // Server: Not Supported. - self['CLOSE_UNSUPPORTED'] = 1003; // Server: Unsupported Protocol. - self['CLOSE_TOO_LARGE'] = 1004; // Server: Too Much Data. - self['CLOSE_NO_STATUS'] = 1005; // Server: No reason. - self['CLOSE_ABNORMAL'] = 1006; // Abnormal Disconnect. - - // Events Default - self['onclose'] = self['onerror'] = - self['onmessage'] = self['onopen'] = - self['onsend'] = function(){}; - - // Attributes - self['binaryType'] = ''; - self['extensions'] = ''; - self['bufferedAmount'] = 0; - self['trasnmitting'] = false; - self['buffer'] = []; - self['readyState'] = self['CONNECTING']; - - // Close if no setup. - if (!url) { - self['readyState'] = self['CLOSED']; - self['onclose']({ - 'code' : self['CLOSE_ABNORMAL'], - 'reason' : 'Missing URL', - 'wasClean' : true - }); - return self; - } - - // PubNub WebSocket Emulation - self.pubnub = PUBNUB['init'](setup); - self.pubnub.setup = setup; - self.setup = setup; - - self.pubnub['subscribe']({ - 'restore' : false, - 'channel' : setup['channel'], - 'disconnect' : self['onerror'], - 'reconnect' : self['onopen'], - 'error' : function() { - self['onclose']({ - 'code' : self['CLOSE_ABNORMAL'], - 'reason' : 'Missing URL', - 'wasClean' : false - }); - }, - 'callback' : function(message) { - self['onmessage']({ 'data' : message }); - }, - 'connect' : function() { - self['readyState'] = self['OPEN']; - self['onopen'](); - } - }); -}; - -// --------------------------------------------------------------------------- -// WEBSOCKET SEND -// --------------------------------------------------------------------------- -WS.prototype.send = function(data) { - var self = this; - self.pubnub['publish']({ - 'channel' : self.pubnub.setup['channel'], - 'message' : data, - 'callback' : function(response) { - self['onsend']({ 'data' : response }); - } - }); -}; - -// --------------------------------------------------------------------------- -// WEBSOCKET CLOSE -// --------------------------------------------------------------------------- -WS.prototype.close = function() { - var self = this; - self.pubnub['unsubscribe']({ 'channel' : self.pubnub.setup['channel'] }); - self['readyState'] = self['CLOSED']; - self['onclose']({}); -}; - -})(); -(function(){ - -// --------------------------------------------------------------------------- -// WEBSOCKET INTERFACE -// --------------------------------------------------------------------------- -var WS = PUBNUB['ws'] = function( url, protocols ) { - if (!(this instanceof WS)) return new WS( url, protocols ); - - var self = this - , url = self.url = url || '' - , protocol = self.protocol = protocols || 'Sec-WebSocket-Protocol' - , bits = url.split('/') - , setup = { - 'ssl' : bits[0] === 'wss:' - ,'origin' : bits[2] - ,'publish_key' : bits[3] - ,'subscribe_key' : bits[4] - ,'channel' : bits[5] - }; - - // READY STATES - self['CONNECTING'] = 0; // The connection is not yet open. - self['OPEN'] = 1; // The connection is open and ready to communicate. - self['CLOSING'] = 2; // The connection is in the process of closing. - self['CLOSED'] = 3; // The connection is closed or couldn't be opened. - - // CLOSE STATES - self['CLOSE_NORMAL'] = 1000; // Normal Intended Close; completed. - self['CLOSE_GOING_AWAY'] = 1001; // Closed Unexpecttedly. - self['CLOSE_PROTOCOL_ERROR'] = 1002; // Server: Not Supported. - self['CLOSE_UNSUPPORTED'] = 1003; // Server: Unsupported Protocol. - self['CLOSE_TOO_LARGE'] = 1004; // Server: Too Much Data. - self['CLOSE_NO_STATUS'] = 1005; // Server: No reason. - self['CLOSE_ABNORMAL'] = 1006; // Abnormal Disconnect. - - // Events Default - self['onclose'] = self['onerror'] = - self['onmessage'] = self['onopen'] = - self['onsend'] = function(){}; - - // Attributes - self['binaryType'] = ''; - self['extensions'] = ''; - self['bufferedAmount'] = 0; - self['trasnmitting'] = false; - self['buffer'] = []; - self['readyState'] = self['CONNECTING']; - - // Close if no setup. - if (!url) { - self['readyState'] = self['CLOSED']; - self['onclose']({ - 'code' : self['CLOSE_ABNORMAL'], - 'reason' : 'Missing URL', - 'wasClean' : true - }); - return self; - } - - // PubNub WebSocket Emulation - self.pubnub = PUBNUB['init'](setup); - self.pubnub.setup = setup; - self.setup = setup; - - self.pubnub['subscribe']({ - 'restore' : false, - 'channel' : setup['channel'], - 'disconnect' : self['onerror'], - 'reconnect' : self['onopen'], - 'error' : function() { - self['onclose']({ - 'code' : self['CLOSE_ABNORMAL'], - 'reason' : 'Missing URL', - 'wasClean' : false - }); - }, - 'callback' : function(message) { - self['onmessage']({ 'data' : message }); - }, - 'connect' : function() { - self['readyState'] = self['OPEN']; - self['onopen'](); - } - }); -}; - -// --------------------------------------------------------------------------- -// WEBSOCKET SEND -// --------------------------------------------------------------------------- -WS.prototype.send = function(data) { - var self = this; - self.pubnub['publish']({ - 'channel' : self.pubnub.setup['channel'], - 'message' : data, - 'callback' : function(response) { - self['onsend']({ 'data' : response }); - } - }); -}; - -// --------------------------------------------------------------------------- -// WEBSOCKET CLOSE -// --------------------------------------------------------------------------- -WS.prototype.close = function() { - var self = this; - self.pubnub['unsubscribe']({ 'channel' : self.pubnub.setup['channel'] }); - self['readyState'] = self['CLOSED']; - self['onclose']({}); -}; - -})(); -/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= JSON =============================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -(window['JSON'] && window['JSON']['stringify']) || (function () { - window['JSON'] || (window['JSON'] = {}); - - function toJSON(key) { - try { return this.valueOf() } - catch(e) { return null } - } - - var cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, - escapable = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, - gap, - indent, - meta = { // table of character substitutions - '\b': '\\b', - '\t': '\\t', - '\n': '\\n', - '\f': '\\f', - '\r': '\\r', - '"' : '\\"', - '\\': '\\\\' - }, - rep; - - function quote(string) { - escapable.lastIndex = 0; - return escapable.test(string) ? - '"' + string.replace(escapable, function (a) { - var c = meta[a]; - return typeof c === 'string' ? c : - '\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4); - }) + '"' : - '"' + string + '"'; - } - - function str(key, holder) { - var i, // The loop counter. - k, // The member key. - v, // The member value. - length, - partial, - mind = gap, - value = holder[key]; - - if (value && typeof value === 'object') { - value = toJSON.call( value, key ); - } - - if (typeof rep === 'function') { - value = rep.call(holder, key, value); - } - - switch (typeof value) { - case 'string': - return quote(value); - - case 'number': - return isFinite(value) ? String(value) : 'null'; - - case 'boolean': - case 'null': - return String(value); - - case 'object': - - if (!value) { - return 'null'; - } - - gap += indent; - partial = []; - - if (Object.prototype.toString.apply(value) === '[object Array]') { - - length = value.length; - for (i = 0; i < length; i += 1) { - partial[i] = str(i, value) || 'null'; - } - - v = partial.length === 0 ? '[]' : - gap ? '[\n' + gap + - partial.join(',\n' + gap) + '\n' + - mind + ']' : - '[' + partial.join(',') + ']'; - gap = mind; - return v; - } - if (rep && typeof rep === 'object') { - length = rep.length; - for (i = 0; i < length; i += 1) { - k = rep[i]; - if (typeof k === 'string') { - v = str(k, value); - if (v) { - partial.push(quote(k) + (gap ? ': ' : ':') + v); - } - } - } - } else { - for (k in value) { - if (Object.hasOwnProperty.call(value, k)) { - v = str(k, value); - if (v) { - partial.push(quote(k) + (gap ? ': ' : ':') + v); - } - } - } - } - - v = partial.length === 0 ? '{}' : - gap ? '{\n' + gap + partial.join(',\n' + gap) + '\n' + - mind + '}' : '{' + partial.join(',') + '}'; - gap = mind; - return v; - } - } - - if (typeof JSON['stringify'] !== 'function') { - JSON['stringify'] = function (value, replacer, space) { - var i; - gap = ''; - indent = ''; - - if (typeof space === 'number') { - for (i = 0; i < space; i += 1) { - indent += ' '; - } - } else if (typeof space === 'string') { - indent = space; - } - rep = replacer; - if (replacer && typeof replacer !== 'function' && - (typeof replacer !== 'object' || - typeof replacer.length !== 'number')) { - throw new Error('JSON.stringify'); - } - return str('', {'': value}); - }; - } - - if (typeof JSON['parse'] !== 'function') { - // JSON is parsed on the server for security. - JSON['parse'] = function (text) {return eval('('+text+')')}; - } -}()); -var NOW = 1 -, READY = false -, READY_BUFFER = [] -, PRESENCE_SUFFIX = '-pnpres' -, DEF_WINDOWING = 10 // MILLISECONDS. -, DEF_TIMEOUT = 10000 // MILLISECONDS. -, DEF_SUB_TIMEOUT = 310 // SECONDS. -, DEF_KEEPALIVE = 60 // SECONDS. -, SECOND = 1000 // A THOUSAND MILLISECONDS. -, REPL = /{([\w\-]+)}/g; - -/** - * UTILITIES - */ -function unique() { return'x'+ ++NOW+''+(+new Date) } -function rnow() { return+new Date } - -/** - * NEXTORIGIN - * ========== - * var next_origin = nextorigin(); - */ -var nextorigin = (function() { - var max = 20 - , ori = Math.floor(Math.random() * max); - return function( origin, failover ) { - return origin.indexOf('pubsub.') > 0 - && origin.replace( - 'pubsub', 'ps' + ( - failover ? uuid().split('-')[0] : - (++ori < max? ori : ori=1) - ) ) || origin; - } -})(); - -/** - * UPDATER - * ======= - * var timestamp = unique(); - */ -function updater( fun, rate ) { - var timeout - , last = 0 - , runnit = function() { - if (last + rate > rnow()) { - clearTimeout(timeout); - timeout = setTimeout( runnit, rate ); - } - else { - last = rnow(); - fun(); - } - }; - - return runnit; -} - -/** - * GREP - * ==== - * var list = grep( [1,2,3], function(item) { return item % 2 } ) - */ -function grep( list, fun ) { - var fin = []; - each( list || [], function(l) { fun(l) && fin.push(l) } ); - return fin -} - -/** - * SUPPLANT - * ======== - * var text = supplant( 'Hello {name}!', { name : 'John' } ) - */ -function supplant( str, values ) { - return str.replace( REPL, function( _, match ) { - return values[match] || _ - } ); -} - -/** - * timeout - * ======= - * timeout( function(){}, 100 ); - */ -function timeout( fun, wait ) { - return setTimeout( fun, wait ); -} - -/** - * uuid - * ==== - * var my_uuid = uuid(); - */ -function uuid(callback) { - var u = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, - function(c) { - var r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8); - return v.toString(16); - }); - if (callback) callback(u); - return u; -} - -/** - * EACH - * ==== - * each( [1,2,3], function(item) { } ) - */ -function each( o, f ) { - if ( !o || !f ) return; - - if ( typeof o[0] != 'undefined' ) - for ( var i = 0, l = o.length; i < l; ) - f.call( o[i], o[i], i++ ); - else - for ( var i in o ) - o.hasOwnProperty && - o.hasOwnProperty(i) && - f.call( o[i], i, o[i] ); -} - -/** - * MAP - * === - * var list = map( [1,2,3], function(item) { return item + 1 } ) - */ -function map( list, fun ) { - var fin = []; - each( list || [], function( k, v ) { fin.push(fun( k, v )) } ); - return fin; -} - -/** - * ENCODE - * ====== - * var encoded_path = encode('path'); - */ -function encode(path) { - return map( (encodeURIComponent(path)).split(''), function(chr) { - return "-_.!~*'()".indexOf(chr) < 0 ? chr : - "%"+chr.charCodeAt(0).toString(16).toUpperCase() - } ).join(''); -} - -/** - * Generate Subscription Channel List - * ================================== - * generate_channel_list(channels_object); - */ -function generate_channel_list(channels) { - var list = []; - each( channels, function( channel, status ) { - if (status.subscribed) list.push(channel); - } ); - return list.sort(); -} - -// PUBNUB READY TO CONNECT - function ready() { timeout( function() { - if (READY) return; - READY = 1; - each( READY_BUFFER, function(connect) { connect() } ); - }, SECOND ); } - -function PN_API(setup) { - var SUB_WINDOWING = +setup['windowing'] || DEF_WINDOWING - , SUB_TIMEOUT = (+setup['timeout'] || DEF_SUB_TIMEOUT) * SECOND - , KEEPALIVE = (+setup['keepalive'] || DEF_KEEPALIVE) * SECOND - , PUBLISH_KEY = setup['publish_key'] || '' - , SUBSCRIBE_KEY = setup['subscribe_key'] || '' - , SSL = setup['ssl'] ? 's' : '' - , ORIGIN = 'http'+SSL+'://'+(setup['origin']||'pubsub.pubnub.com') - , STD_ORIGIN = nextorigin(ORIGIN) - , SUB_ORIGIN = nextorigin(ORIGIN) - , CONNECT = function(){} - , PUB_QUEUE = [] - , SUB_CALLBACK = 0 - , SUB_CHANNEL = 0 - , SUB_RECEIVER = 0 - , SUB_RESTORE = 0 - , SUB_BUFF_WAIT = 0 - , TIMETOKEN = 0 - , CHANNELS = {} - , xdr = setup['xdr'] - , _is_online = setup['_is_online'] || function() { return 1; } - , jsonp_cb = setup['jsonp_cb'] || function(){ return 0; } - , db = setup['db'] || {'get': function(){}, 'set': function(){}} - , UUID = setup['uuid'] || ( db && db['get'](SUBSCRIBE_KEY+'uuid') || ''); - - - - function publish(next) { - if (next) PUB_QUEUE.sending = 0; - if (PUB_QUEUE.sending || !PUB_QUEUE.length) return; - PUB_QUEUE.sending = 1; - xdr(PUB_QUEUE.shift()); - } - - function each_channel(callback) { - each( generate_channel_list(CHANNELS), function(channel) { - var chan = CHANNELS[channel]; - if (!chan) return; - callback(chan); - } ); - } - - // Announce Leave Event - - - var SELF = { - - '_reset_offline' : function() { - SUB_RECEIVER && SUB_RECEIVER(1); - }, - - 'LEAVE' : function( channel, blocking ) { - var data = { 'uuid' : UUID } - , origin = nextorigin(ORIGIN) - , jsonp = jsonp_cb(); - - // Prevent Leaving a Presence Channel - if (channel.indexOf(PRESENCE_SUFFIX) > 0) return; - - if (jsonp != '0') data['callback'] = jsonp; - - xdr({ - blocking : blocking || SSL, - timeout : 2000, - callback : jsonp, - data : data, - url : [ - origin, 'v2', 'presence', 'sub_key', - SUBSCRIBE_KEY, 'channel', encode(channel), 'leave' - ] - }); - }, - /* - PUBNUB.history({ - channel : 'my_chat_channel', - limit : 100, - callback : function(history) { } - }); - */ - 'history' : function( args, callback ) { - var callback = args['callback'] || callback - , count = args['count'] || args['limit'] || 100 - , reverse = args['reverse'] || "false" - , err = args['error'] || function(){} - , channel = args['channel'] - , start = args['start'] - , end = args['end'] - , params = {} - , jsonp = jsonp_cb(); - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - params['stringtoken'] = 'true'; - params['count'] = count; - params['reverse'] = reverse; - - if (jsonp) params['callback'] = jsonp; - if (start) params['start'] = start; - if (end) params['end'] = end; - - // Send Message - xdr({ - callback : jsonp, - data : params, - success : function(response) { callback(response) }, - fail : err, - url : [ - STD_ORIGIN, 'v2', 'history', 'sub-key', - SUBSCRIBE_KEY, 'channel', encode(channel) - ] - }); - }, - - /* - PUBNUB.replay({ - source : 'my_channel', - destination : 'new_channel' - }); - */ - 'replay' : function(args) { - var callback = callback || args['callback'] || function(){} - , source = args['source'] - , destination = args['destination'] - , stop = args['stop'] - , start = args['start'] - , end = args['end'] - , reverse = args['reverse'] - , limit = args['limit'] - , jsonp = jsonp_cb() - , data = {} - , url; - - // Check User Input - if (!source) return error('Missing Source Channel'); - if (!destination) return error('Missing Destination Channel'); - if (!PUBLISH_KEY) return error('Missing Publish Key'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // Setup URL Params - if (jsonp != '0') data['callback'] = jsonp; - if (stop) data['stop'] = 'all'; - if (reverse) data['reverse'] = 'true'; - if (start) data['start'] = start; - if (end) data['end'] = end; - if (limit) data['count'] = limit; - - // Compose URL Parts - url = [ - STD_ORIGIN, 'v1', 'replay', - PUBLISH_KEY, SUBSCRIBE_KEY, - source, destination - ]; - - // Start (or Stop) Replay! - xdr({ - callback : jsonp, - success : function(response) { callback(response) }, - fail : function() { callback([ 0, 'Disconnected' ]) }, - url : url, - data : data - }); - }, - - /* - PUBNUB.time(function(time){ }); - */ - 'time' : function(callback) { - var jsonp = jsonp_cb(); - xdr({ - callback : jsonp, - timeout : SECOND*5, - url : [STD_ORIGIN, 'time', jsonp], - success : function(response) { callback(response[0]) }, - fail : function() { callback(0) } - }); - }, - - /* - PUBNUB.publish({ - channel : 'my_chat_channel', - message : 'hello!' - }); - */ - 'publish' : function( args, callback ) { - var callback = callback || args['callback'] || function(){} - , msg = args['message'] - , channel = args['channel'] - , jsonp = jsonp_cb() - , url; - - if (!msg) return error('Missing Message'); - if (!channel) return error('Missing Channel'); - if (!PUBLISH_KEY) return error('Missing Publish Key'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // If trying to send Object - msg = JSON['stringify'](msg); - - // Create URL - url = [ - STD_ORIGIN, 'publish', - PUBLISH_KEY, SUBSCRIBE_KEY, - 0, encode(channel), - jsonp, encode(msg) - ]; - - // Queue Message Send - PUB_QUEUE.push({ - callback : jsonp, - timeout : SECOND*5, - url : url, - data : { 'uuid' : UUID }, - success : function(response){callback(response);publish(1)}, - fail : function(){callback([0,'Failed',msg]);publish(1)} - }); - - // Send Message - publish(); - }, - - /* - PUBNUB.unsubscribe({ channel : 'my_chat' }); - */ - 'unsubscribe' : function(args) { - var channel = args['channel']; - - TIMETOKEN = 0; - SUB_RESTORE = 1; - - // Prepare Channel(s) - channel = map( ( - channel.join ? channel.join(',') : ''+channel - ).split(','), function(channel) { - return channel + ',' + channel + PRESENCE_SUFFIX; - } ).join(','); - - // Iterate over Channels - each( channel.split(','), function(channel) { - if (READY) SELF['LEAVE']( channel, 0 ); - CHANNELS[channel] = 0; - } ); - - // ReOpen Connection if Any Channels Left - if (READY) CONNECT(); - }, - - /* - PUBNUB.subscribe({ - channel : 'my_chat' - callback : function(message) { } - }); - */ - 'subscribe' : function( args, callback ) { - var channel = args['channel'] - , callback = callback || args['callback'] - , callback = callback || args['message'] - , connect = args['connect'] || function(){} - , reconnect = args['reconnect'] || function(){} - , disconnect = args['disconnect'] || function(){} - , presence = args['presence'] || 0 - , noheresync = args['noheresync'] || 0 - , sub_timeout = args['timeout'] || SUB_TIMEOUT - , windowing = args['windowing'] || SUB_WINDOWING - , restore = args['restore']; - - // Restore Enabled? - if (restore) SUB_RESTORE = 1; - - TIMETOKEN = 0; - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // Setup Channel(s) - each( (channel.join ? channel.join(',') : ''+channel).split(','), - function(channel) { - var settings = CHANNELS[channel] || {}; - - // Store Channel State - CHANNELS[SUB_CHANNEL = channel] = { - name : channel, - connected : settings.connected, - disconnected : settings.disconnected, - subscribed : 1, - callback : SUB_CALLBACK = callback, - connect : connect, - disconnect : disconnect, - reconnect : reconnect - }; - - // Presence Enabled? - if (!presence) return; - - // Subscribe Presence Channel - SELF['subscribe']({ - 'channel' : channel + PRESENCE_SUFFIX, - 'callback' : presence - }); - - // Presence Subscribed? - if (settings.subscribed) return; - - // See Who's Here Now? - if (noheresync) return; - SELF['here_now']({ - 'channel' : channel, - 'callback' : function(here) { - each( 'uuids' in here ? here['uuids'] : [], - function(uid) { presence( { - 'action' : 'join', - 'uuid' : uid, - 'timestamp' : rnow(), - 'occupancy' : here['occupancy'] || 1 - }, here, channel ); } ); - } - }); - } ); - - // Test Network Connection - function _test_connection(success) { - if (success) { - // Begin Next Socket Connection - timeout( _connect, SECOND ); - } - else { - // New Origin on Failed Connection - STD_ORIGIN = nextorigin( ORIGIN, 1 ); - SUB_ORIGIN = nextorigin( ORIGIN, 1 ); - - // Re-test Connection - timeout( function() { - SELF['time'](_test_connection); - }, SECOND ); - } - - // Disconnect & Reconnect - each_channel(function(channel){ - // Reconnect - if (success && channel.disconnected) { - channel.disconnected = 0; - return channel.reconnect(channel.name); - } - - // Disconnect - if (!success && !channel.disconnected) { - channel.disconnected = 1; - channel.disconnect(channel.name); - } - }); - } - - // Evented Subscribe - function _connect() { - var jsonp = jsonp_cb() - , channels = generate_channel_list(CHANNELS).join(','); - - // Stop Connection - if (!channels) return; - - // Connect to PubNub Subscribe Servers - SUB_RECEIVER = xdr({ - timeout : sub_timeout, - callback : jsonp, - fail : function() { SELF['time'](_test_connection) }, - data : { 'uuid' : UUID }, - url : [ - SUB_ORIGIN, 'subscribe', - SUBSCRIBE_KEY, encode(channels), - jsonp, TIMETOKEN - ], - success : function(messages) { - if (!messages) return timeout( _connect, windowing ); - - // Connect - each_channel(function(channel){ - if (channel.connected) return; - channel.connected = 1; - channel.connect(channel.name); - }); - - // Restore Previous Connection Point if Needed - TIMETOKEN = !TIMETOKEN && - SUB_RESTORE && - db['get'](SUBSCRIBE_KEY) || messages[1]; - - // Update Saved Timetoken - if (TIMETOKEN) db['set']( SUBSCRIBE_KEY, messages[1] ); - - // Route Channel <---> Callback for Message - var next_callback = (function() { - var channels = (messages.length>2?messages[2]:'') - , list = channels.split(','); - - return function() { - var channel = list.shift()||''; - return [ - (CHANNELS[channel]||{}) - .callback||SUB_CALLBACK, - (channel||SUB_CHANNEL) - .split(PRESENCE_SUFFIX)[0] - ]; - }; - })(); - - each( messages[0], function(msg) { - var next = next_callback(); - if (!CHANNELS[next[1]].subscribed) return; - next[0]( msg, messages, next[1] ); - } ); - - timeout( _connect, windowing ); - } - }); - } - - CONNECT = function() { - // Close Previous Subscribe Connection - SELF['_reset_offline'](); - - // Begin Recursive Subscribe - clearTimeout(SUB_BUFF_WAIT); - SUB_BUFF_WAIT = timeout( _connect, 100 ); - }; - - // Reduce Status Flicker - if (!READY) return READY_BUFFER.push(CONNECT); - - // Connect Now - CONNECT(); - }, - - 'here_now' : function( args, callback ) { - var callback = args['callback'] || callback - , err = args['error'] || function(){} - , channel = args['channel'] - , jsonp = jsonp_cb() - , data = null; - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - if (jsonp != '0') { - data = {}; - data['callback'] = jsonp; - } - - xdr({ - callback : jsonp, - data : data, - success : function(response) { callback(response) }, - fail : err, - url : [ - STD_ORIGIN, 'v2', 'presence', - 'sub_key', SUBSCRIBE_KEY, - 'channel', encode(channel) - ] - }); - }, - - // Expose PUBNUB Functions - 'xdr' : xdr, - 'ready' : ready, - 'db' : db, - 'uuid' : uuid, - 'each' : each, - 'map' : map, - 'grep' : grep, - 'supplant' : supplant, - 'now' : rnow, - 'unique' : unique, - 'updater' : updater, - 'poll_online' : function() { - _is_online() || SELF['_reset_offline'](); - timeout( SELF['poll_online'], SECOND ); - }, - 'poll_online2' : function() { - SELF['time'](function(success){ - success || SELF['_reset_offline'](); - timeout( SELF['poll_online2'], KEEPALIVE ); - }) - } - }; - if (!UUID) UUID = SELF['uuid'](); - db['set']( SUBSCRIBE_KEY + 'uuid', UUID ); - - timeout( SELF['poll_online'], SECOND ); - timeout( SELF['poll_online2'], KEEPALIVE ); - - return SELF; -} -// 3.4/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= JSON =============================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -(window['JSON'] && window['JSON']['stringify']) || (function () { - window['JSON'] || (window['JSON'] = {}); - - function toJSON(key) { - try { return this.valueOf() } - catch(e) { return null } - } - - var cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, - escapable = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, - gap, - indent, - meta = { // table of character substitutions - '\b': '\\b', - '\t': '\\t', - '\n': '\\n', - '\f': '\\f', - '\r': '\\r', - '"' : '\\"', - '\\': '\\\\' - }, - rep; - - function quote(string) { - escapable.lastIndex = 0; - return escapable.test(string) ? - '"' + string.replace(escapable, function (a) { - var c = meta[a]; - return typeof c === 'string' ? c : - '\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4); - }) + '"' : - '"' + string + '"'; - } - - function str(key, holder) { - var i, // The loop counter. - k, // The member key. - v, // The member value. - length, - partial, - mind = gap, - value = holder[key]; - - if (value && typeof value === 'object') { - value = toJSON.call( value, key ); - } - - if (typeof rep === 'function') { - value = rep.call(holder, key, value); - } - - switch (typeof value) { - case 'string': - return quote(value); - - case 'number': - return isFinite(value) ? String(value) : 'null'; - - case 'boolean': - case 'null': - return String(value); - - case 'object': - - if (!value) { - return 'null'; - } - - gap += indent; - partial = []; - - if (Object.prototype.toString.apply(value) === '[object Array]') { - - length = value.length; - for (i = 0; i < length; i += 1) { - partial[i] = str(i, value) || 'null'; - } - - v = partial.length === 0 ? '[]' : - gap ? '[\n' + gap + - partial.join(',\n' + gap) + '\n' + - mind + ']' : - '[' + partial.join(',') + ']'; - gap = mind; - return v; - } - if (rep && typeof rep === 'object') { - length = rep.length; - for (i = 0; i < length; i += 1) { - k = rep[i]; - if (typeof k === 'string') { - v = str(k, value); - if (v) { - partial.push(quote(k) + (gap ? ': ' : ':') + v); - } - } - } - } else { - for (k in value) { - if (Object.hasOwnProperty.call(value, k)) { - v = str(k, value); - if (v) { - partial.push(quote(k) + (gap ? ': ' : ':') + v); - } - } - } - } - - v = partial.length === 0 ? '{}' : - gap ? '{\n' + gap + partial.join(',\n' + gap) + '\n' + - mind + '}' : '{' + partial.join(',') + '}'; - gap = mind; - return v; - } - } - - if (typeof JSON['stringify'] !== 'function') { - JSON['stringify'] = function (value, replacer, space) { - var i; - gap = ''; - indent = ''; - - if (typeof space === 'number') { - for (i = 0; i < space; i += 1) { - indent += ' '; - } - } else if (typeof space === 'string') { - indent = space; - } - rep = replacer; - if (replacer && typeof replacer !== 'function' && - (typeof replacer !== 'object' || - typeof replacer.length !== 'number')) { - throw new Error('JSON.stringify'); - } - return str('', {'': value}); - }; - } - - if (typeof JSON['parse'] !== 'function') { - // JSON is parsed on the server for security. - JSON['parse'] = function (text) {return eval('('+text+')')}; - } -}()); -/* --------------------------------------------------------------------------- -WAIT! - This file depends on instructions from the PUBNUB Cloud. -http://www.pubnub.com/account-javascript-api-include ---------------------------------------------------------------------------- */ - -/* --------------------------------------------------------------------------- -PubNub Real-time Cloud-Hosted Push API and Push Notification Client Frameworks -Copyright (c) 2011 PubNub Inc. -http://www.pubnub.com/ -http://www.pubnub.com/terms ---------------------------------------------------------------------------- */ - -/* --------------------------------------------------------------------------- -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. ---------------------------------------------------------------------------- */ - -/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= UTIL =============================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -window['PUBNUB'] || (function() { - -/** - * UTIL LOCALS - */ - -var SWF = 'https://pubnub.a.ssl.fastly.net/pubnub.swf' -, ASYNC = 'async' -, URLBIT = '/' -, PARAMSBIT = '&' -, UA = navigator.userAgent -, XORIGN = UA.indexOf('MSIE 6') == -1; - -/** - * CONSOLE COMPATIBILITY - */ -window.console || (window.console=window.console||{}); -console.log || ( - console.log = - console.error = - ((window.opera||{}).postError||function(){}) -); - - - -/** - * LOCAL STORAGE OR COOKIE - */ -var db = (function(){ - var ls = window['localStorage']; - return { - 'get' : function(key) { - try { - if (ls) return ls.getItem(key); - if (document.cookie.indexOf(key) == -1) return null; - return ((document.cookie||'').match( - RegExp(key+'=([^;]+)') - )||[])[1] || null; - } catch(e) { return } - }, - 'set' : function( key, value ) { - try { - if (ls) return ls.setItem( key, value ) && 0; - document.cookie = key + '=' + value + - '; expires=Thu, 1 Aug 2030 20:00:00 UTC; path=/'; - } catch(e) { return } - } - }; -})(); - - -/** - * $ - * = - * var div = $('divid'); - */ -function $(id) { return document.getElementById(id) } - -/** - * ERROR - * ===== - * error('message'); - */ -function error(message) { console['error'](message) } - -/** - * SEARCH - * ====== - * var elements = search('a div span'); - */ -function search( elements, start ) { - var list = []; - each( elements.split(/\s+/), function(el) { - each( (start || document).getElementsByTagName(el), function(node) { - list.push(node); - } ); - } ); - return list; -} - - - -/** - * BIND - * ==== - * bind( 'keydown', search('a')[0], function(element) { - * ... - * } ); - */ -function bind( type, el, fun ) { - each( type.split(','), function(etype) { - var rapfun = function(e) { - if (!e) e = window.event; - if (!fun(e)) { - e.cancelBubble = true; - e.returnValue = false; - e.preventDefault && e.preventDefault(); - e.stopPropagation && e.stopPropagation(); - } - }; - - if ( el.addEventListener ) el.addEventListener( etype, rapfun, false ); - else if ( el.attachEvent ) el.attachEvent( 'on' + etype, rapfun ); - else el[ 'on' + etype ] = rapfun; - } ); -} - -/** - * UNBIND - * ====== - * unbind( 'keydown', search('a')[0] ); - */ -function unbind( type, el, fun ) { - if ( el.removeEventListener ) el.removeEventListener( type, false ); - else if ( el.detachEvent ) el.detachEvent( 'on' + type, false ); - else el[ 'on' + type ] = null; -} - -/** - * HEAD - * ==== - * head().appendChild(elm); - */ -function head() { return search('head')[0] } - -/** - * ATTR - * ==== - * var attribute = attr( node, 'attribute' ); - */ -function attr( node, attribute, value ) { - if (value) node.setAttribute( attribute, value ); - else return node && node.getAttribute && node.getAttribute(attribute); -} - -/** - * CSS - * === - * var obj = create('div'); - */ -function css( element, styles ) { - for (var style in styles) if (styles.hasOwnProperty(style)) - try {element.style[style] = styles[style] + ( - '|width|height|top|left|'.indexOf(style) > 0 && - typeof styles[style] == 'number' - ? 'px' : '' - )}catch(e){} -} - -/** - * CREATE - * ====== - * var obj = create('div'); - */ -function create(element) { return document.createElement(element) } - - -/** - * jsonp_cb - * ======== - * var callback = jsonp_cb(); - */ -function jsonp_cb() { return XORIGN || FDomainRequest() ? 0 : unique() } - - - -/** - * EVENTS - * ====== - * PUBNUB.events.bind( 'you-stepped-on-flower', function(message) { - * // Do Stuff with message - * } ); - * - * PUBNUB.events.fire( 'you-stepped-on-flower', "message-data" ); - * PUBNUB.events.fire( 'you-stepped-on-flower', {message:"data"} ); - * PUBNUB.events.fire( 'you-stepped-on-flower', [1,2,3] ); - * - */ -var events = { - 'list' : {}, - 'unbind' : function( name ) { events.list[name] = [] }, - 'bind' : function( name, fun ) { - (events.list[name] = events.list[name] || []).push(fun); - }, - 'fire' : function( name, data ) { - each( - events.list[name] || [], - function(fun) { fun(data) } - ); - } -}; - -/** - * XDR Cross Domain Request - * ======================== - * xdr({ - * url : ['http://www.blah.com/url'], - * success : function(response) {}, - * fail : function() {} - * }); - */ -function xdr( setup ) { - if (XORIGN || FDomainRequest()) return ajax(setup); - - var script = create('script') - , callback = setup.callback - , id = unique() - , finished = 0 - , xhrtme = setup.timeout || DEF_TIMEOUT - , timer = timeout( function(){done(1)}, xhrtme ) - , fail = setup.fail || function(){} - , success = setup.success || function(){} - - , append = function() { - head().appendChild(script); - } - - , done = function( failed, response ) { - if (finished) return; - finished = 1; - - failed || success(response); - script.onerror = null; - clearTimeout(timer); - - timeout( function() { - failed && fail(); - var s = $(id) - , p = s && s.parentNode; - p && p.removeChild(s); - }, SECOND ); - }; - - window[callback] = function(response) { - done( 0, response ); - }; - - if (!setup.blocking) script[ASYNC] = ASYNC; - - script.onerror = function() { done(1) }; - script.src = setup.url.join(URLBIT); - - if (setup.data) { - var params = []; - script.src += "?"; - for (var key in setup.data) { - params.push(key+"="+setup.data[key]); - } - script.src += params.join(PARAMSBIT); - } - attr( script, 'id', id ); - - append(); - return done; -} - -/** - * CORS XHR Request - * ================ - * xdr({ - * url : ['http://www.blah.com/url'], - * success : function(response) {}, - * fail : function() {} - * }); - */ -function ajax( setup ) { - var xhr, response - , finished = function() { - if (loaded) return; - loaded = 1; - - clearTimeout(timer); - - try { response = JSON['parse'](xhr.responseText); } - catch (r) { return done(1); } - - success(response); - } - , complete = 0 - , loaded = 0 - , xhrtme = setup.timeout || DEF_TIMEOUT - , timer = timeout( function(){done(1)}, xhrtme ) - , fail = setup.fail || function(){} - , success = setup.success || function(){} - , done = function(failed) { - if (complete) return; - complete = 1; - - clearTimeout(timer); - - if (xhr) { - xhr.onerror = xhr.onload = null; - xhr.abort && xhr.abort(); - xhr = null; - } - - failed && fail(); - }; - - // Send - try { - xhr = FDomainRequest() || - window.XDomainRequest && - new XDomainRequest() || - new XMLHttpRequest(); - - xhr.onerror = xhr.onabort = function(){ done(1) }; - xhr.onload = xhr.onloadend = finished; - xhr.timeout = xhrtme; - - var url = setup.url.join(URLBIT); - if (setup.data) { - var params = []; - var key; - console.log(setup.data); - url += "?"; - for (key in setup.data) params.push(key+"="+setup.data[key]); - url += params.join(PARAMSBIT); - } - - xhr.open( 'GET', url, (typeof(setup.blocking === 'undefined')) ); - xhr.send(); - } - catch(eee) { - done(0); - XORIGN = 0; - return xdr(setup); - } - - // Return 'done' - return done; -} - - - - // Test Connection State -function _is_online() { - if (!('onLine' in navigator)) return 1; - return navigator['onLine']; -} - - -/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= PUBNUB ===========================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -var PDIV = $('pubnub') || 0 -, CREATE_PUBNUB = function(setup) { - - // Force JSONP if requested from user. - if (setup['jsonp']) XORIGN = 0; - - var SUBSCRIBE_KEY = setup['subscribe_key'] || '' - , KEEPALIVE = (+setup['keepalive'] || DEF_KEEPALIVE) * SECOND - , UUID = setup['uuid'] || db['get'](SUBSCRIBE_KEY+'uuid') || ''; - - setup['xdr'] = xdr; - setup['db'] = db; - setup['_is_online'] = _is_online; - setup['jsonp_cb'] = jsonp_cb; - var SELF = PN_API(setup); - - - SELF['css'] = css; - SELF['$'] = $; - SELF['create'] = create; - SELF['bind'] = bind; - SELF['head'] = head; - SELF['search'] = search; - SELF['attr'] = attr; - SELF['events'] = events; - SELF['init'] = CREATE_PUBNUB; - - // Return without Testing - if (setup['notest']) return SELF; - - // Add Leave Functions - bind( 'beforeunload', window, function() { - each_channel(function(ch){ SELF['LEAVE']( ch.name, 1 ) }); - return true; - } ); - - bind( 'offline', window, SELF['_reset_offline'] ); - bind( 'offline', document, SELF['_reset_offline'] ); - - // Return PUBNUB Socket Object - return SELF; -}; - - - -// Bind for PUBNUB Readiness to Subscribe -bind( 'load', window, function(){ timeout( ready, 0 ) } ); - -var pdiv = PDIV || {}; - -// CREATE A PUBNUB GLOBAL OBJECT -PUBNUB = CREATE_PUBNUB({ - 'notest' : 1, - 'publish_key' : attr( pdiv, 'pub-key' ), - 'subscribe_key' : attr( pdiv, 'sub-key' ), - 'ssl' : !document.location.href.indexOf('https') || - attr( pdiv, 'ssl' ) == 'on', - 'origin' : attr( pdiv, 'origin' ), - 'uuid' : attr( pdiv, 'uuid' ) -}); - -// jQuery Interface -window['jQuery'] && (window['jQuery']['PUBNUB'] = PUBNUB); - -// For Modern JS + Testling.js - http://testling.com/ -typeof(module) !== 'undefined' && (module['exports'] = PUBNUB) && ready(); - -var pubnubs = $('pubnubs') || 0; - -// LEAVE NOW IF NO PDIV. -if (!PDIV) return; - -// PUBNUB Flash Socket -css( PDIV, { 'position' : 'absolute', 'top' : -SECOND } ); - -if ('opera' in window || attr( PDIV, 'flash' )) PDIV['innerHTML'] = - ''; - -// Create Interface for Opera Flash -PUBNUB['rdx'] = function( id, data ) { - if (!data) return FDomainRequest[id]['onerror'](); - FDomainRequest[id]['responseText'] = unescape(data); - FDomainRequest[id]['onload'](); -}; - -function FDomainRequest() { - if (!pubnubs || !pubnubs['get']) return 0; - - var fdomainrequest = { - 'id' : FDomainRequest['id']++, - 'send' : function() {}, - 'abort' : function() { fdomainrequest['id'] = {} }, - 'open' : function( method, url ) { - FDomainRequest[fdomainrequest['id']] = fdomainrequest; - pubnubs['get']( fdomainrequest['id'], url ); - } - }; - - return fdomainrequest; -} -FDomainRequest['id'] = SECOND; - -})(); -(function(){ - -// --------------------------------------------------------------------------- -// WEBSOCKET INTERFACE -// --------------------------------------------------------------------------- -var WS = PUBNUB['ws'] = function( url, protocols ) { - if (!(this instanceof WS)) return new WS( url, protocols ); - - var self = this - , url = self.url = url || '' - , protocol = self.protocol = protocols || 'Sec-WebSocket-Protocol' - , bits = url.split('/') - , setup = { - 'ssl' : bits[0] === 'wss:' - ,'origin' : bits[2] - ,'publish_key' : bits[3] - ,'subscribe_key' : bits[4] - ,'channel' : bits[5] - }; - - // READY STATES - self['CONNECTING'] = 0; // The connection is not yet open. - self['OPEN'] = 1; // The connection is open and ready to communicate. - self['CLOSING'] = 2; // The connection is in the process of closing. - self['CLOSED'] = 3; // The connection is closed or couldn't be opened. - - // CLOSE STATES - self['CLOSE_NORMAL'] = 1000; // Normal Intended Close; completed. - self['CLOSE_GOING_AWAY'] = 1001; // Closed Unexpecttedly. - self['CLOSE_PROTOCOL_ERROR'] = 1002; // Server: Not Supported. - self['CLOSE_UNSUPPORTED'] = 1003; // Server: Unsupported Protocol. - self['CLOSE_TOO_LARGE'] = 1004; // Server: Too Much Data. - self['CLOSE_NO_STATUS'] = 1005; // Server: No reason. - self['CLOSE_ABNORMAL'] = 1006; // Abnormal Disconnect. - - // Events Default - self['onclose'] = self['onerror'] = - self['onmessage'] = self['onopen'] = - self['onsend'] = function(){}; - - // Attributes - self['binaryType'] = ''; - self['extensions'] = ''; - self['bufferedAmount'] = 0; - self['trasnmitting'] = false; - self['buffer'] = []; - self['readyState'] = self['CONNECTING']; - - // Close if no setup. - if (!url) { - self['readyState'] = self['CLOSED']; - self['onclose']({ - 'code' : self['CLOSE_ABNORMAL'], - 'reason' : 'Missing URL', - 'wasClean' : true - }); - return self; - } - - // PubNub WebSocket Emulation - self.pubnub = PUBNUB['init'](setup); - self.pubnub.setup = setup; - self.setup = setup; - - self.pubnub['subscribe']({ - 'restore' : false, - 'channel' : setup['channel'], - 'disconnect' : self['onerror'], - 'reconnect' : self['onopen'], - 'error' : function() { - self['onclose']({ - 'code' : self['CLOSE_ABNORMAL'], - 'reason' : 'Missing URL', - 'wasClean' : false - }); - }, - 'callback' : function(message) { - self['onmessage']({ 'data' : message }); - }, - 'connect' : function() { - self['readyState'] = self['OPEN']; - self['onopen'](); - } - }); -}; - -// --------------------------------------------------------------------------- -// WEBSOCKET SEND -// --------------------------------------------------------------------------- -WS.prototype.send = function(data) { - var self = this; - self.pubnub['publish']({ - 'channel' : self.pubnub.setup['channel'], - 'message' : data, - 'callback' : function(response) { - self['onsend']({ 'data' : response }); - } - }); -}; - -// --------------------------------------------------------------------------- -// WEBSOCKET CLOSE -// --------------------------------------------------------------------------- -WS.prototype.close = function() { - var self = this; - self.pubnub['unsubscribe']({ 'channel' : self.pubnub.setup['channel'] }); - self['readyState'] = self['CLOSED']; - self['onclose']({}); -}; - -})(); -(function(){ - -// --------------------------------------------------------------------------- -// WEBSOCKET INTERFACE -// --------------------------------------------------------------------------- -var WS = PUBNUB['ws'] = function( url, protocols ) { - if (!(this instanceof WS)) return new WS( url, protocols ); - - var self = this - , url = self.url = url || '' - , protocol = self.protocol = protocols || 'Sec-WebSocket-Protocol' - , bits = url.split('/') - , setup = { - 'ssl' : bits[0] === 'wss:' - ,'origin' : bits[2] - ,'publish_key' : bits[3] - ,'subscribe_key' : bits[4] - ,'channel' : bits[5] - }; - - // READY STATES - self['CONNECTING'] = 0; // The connection is not yet open. - self['OPEN'] = 1; // The connection is open and ready to communicate. - self['CLOSING'] = 2; // The connection is in the process of closing. - self['CLOSED'] = 3; // The connection is closed or couldn't be opened. - - // CLOSE STATES - self['CLOSE_NORMAL'] = 1000; // Normal Intended Close; completed. - self['CLOSE_GOING_AWAY'] = 1001; // Closed Unexpecttedly. - self['CLOSE_PROTOCOL_ERROR'] = 1002; // Server: Not Supported. - self['CLOSE_UNSUPPORTED'] = 1003; // Server: Unsupported Protocol. - self['CLOSE_TOO_LARGE'] = 1004; // Server: Too Much Data. - self['CLOSE_NO_STATUS'] = 1005; // Server: No reason. - self['CLOSE_ABNORMAL'] = 1006; // Abnormal Disconnect. - - // Events Default - self['onclose'] = self['onerror'] = - self['onmessage'] = self['onopen'] = - self['onsend'] = function(){}; - - // Attributes - self['binaryType'] = ''; - self['extensions'] = ''; - self['bufferedAmount'] = 0; - self['trasnmitting'] = false; - self['buffer'] = []; - self['readyState'] = self['CONNECTING']; - - // Close if no setup. - if (!url) { - self['readyState'] = self['CLOSED']; - self['onclose']({ - 'code' : self['CLOSE_ABNORMAL'], - 'reason' : 'Missing URL', - 'wasClean' : true - }); - return self; - } - - // PubNub WebSocket Emulation - self.pubnub = PUBNUB['init'](setup); - self.pubnub.setup = setup; - self.setup = setup; - - self.pubnub['subscribe']({ - 'restore' : false, - 'channel' : setup['channel'], - 'disconnect' : self['onerror'], - 'reconnect' : self['onopen'], - 'error' : function() { - self['onclose']({ - 'code' : self['CLOSE_ABNORMAL'], - 'reason' : 'Missing URL', - 'wasClean' : false - }); - }, - 'callback' : function(message) { - self['onmessage']({ 'data' : message }); - }, - 'connect' : function() { - self['readyState'] = self['OPEN']; - self['onopen'](); - } - }); -}; - -// --------------------------------------------------------------------------- -// WEBSOCKET SEND -// --------------------------------------------------------------------------- -WS.prototype.send = function(data) { - var self = this; - self.pubnub['publish']({ - 'channel' : self.pubnub.setup['channel'], - 'message' : data, - 'callback' : function(response) { - self['onsend']({ 'data' : response }); - } - }); -}; - -// --------------------------------------------------------------------------- -// WEBSOCKET CLOSE -// --------------------------------------------------------------------------- -WS.prototype.close = function() { - var self = this; - self.pubnub['unsubscribe']({ 'channel' : self.pubnub.setup['channel'] }); - self['readyState'] = self['CLOSED']; - self['onclose']({}); -}; - -})(); -/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= JSON =============================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -(window['JSON'] && window['JSON']['stringify']) || (function () { - window['JSON'] || (window['JSON'] = {}); - - function toJSON(key) { - try { return this.valueOf() } - catch(e) { return null } - } - - var cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, - escapable = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, - gap, - indent, - meta = { // table of character substitutions - '\b': '\\b', - '\t': '\\t', - '\n': '\\n', - '\f': '\\f', - '\r': '\\r', - '"' : '\\"', - '\\': '\\\\' - }, - rep; - - function quote(string) { - escapable.lastIndex = 0; - return escapable.test(string) ? - '"' + string.replace(escapable, function (a) { - var c = meta[a]; - return typeof c === 'string' ? c : - '\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4); - }) + '"' : - '"' + string + '"'; - } - - function str(key, holder) { - var i, // The loop counter. - k, // The member key. - v, // The member value. - length, - partial, - mind = gap, - value = holder[key]; - - if (value && typeof value === 'object') { - value = toJSON.call( value, key ); - } - - if (typeof rep === 'function') { - value = rep.call(holder, key, value); - } - - switch (typeof value) { - case 'string': - return quote(value); - - case 'number': - return isFinite(value) ? String(value) : 'null'; - - case 'boolean': - case 'null': - return String(value); - - case 'object': - - if (!value) { - return 'null'; - } - - gap += indent; - partial = []; - - if (Object.prototype.toString.apply(value) === '[object Array]') { - - length = value.length; - for (i = 0; i < length; i += 1) { - partial[i] = str(i, value) || 'null'; - } - - v = partial.length === 0 ? '[]' : - gap ? '[\n' + gap + - partial.join(',\n' + gap) + '\n' + - mind + ']' : - '[' + partial.join(',') + ']'; - gap = mind; - return v; - } - if (rep && typeof rep === 'object') { - length = rep.length; - for (i = 0; i < length; i += 1) { - k = rep[i]; - if (typeof k === 'string') { - v = str(k, value); - if (v) { - partial.push(quote(k) + (gap ? ': ' : ':') + v); - } - } - } - } else { - for (k in value) { - if (Object.hasOwnProperty.call(value, k)) { - v = str(k, value); - if (v) { - partial.push(quote(k) + (gap ? ': ' : ':') + v); - } - } - } - } - - v = partial.length === 0 ? '{}' : - gap ? '{\n' + gap + partial.join(',\n' + gap) + '\n' + - mind + '}' : '{' + partial.join(',') + '}'; - gap = mind; - return v; - } - } - - if (typeof JSON['stringify'] !== 'function') { - JSON['stringify'] = function (value, replacer, space) { - var i; - gap = ''; - indent = ''; - - if (typeof space === 'number') { - for (i = 0; i < space; i += 1) { - indent += ' '; - } - } else if (typeof space === 'string') { - indent = space; - } - rep = replacer; - if (replacer && typeof replacer !== 'function' && - (typeof replacer !== 'object' || - typeof replacer.length !== 'number')) { - throw new Error('JSON.stringify'); - } - return str('', {'': value}); - }; - } - - if (typeof JSON['parse'] !== 'function') { - // JSON is parsed on the server for security. - JSON['parse'] = function (text) {return eval('('+text+')')}; - } -}()); -var NOW = 1 -, READY = false -, READY_BUFFER = [] -, PRESENCE_SUFFIX = '-pnpres' -, DEF_WINDOWING = 10 // MILLISECONDS. -, DEF_TIMEOUT = 10000 // MILLISECONDS. -, DEF_SUB_TIMEOUT = 310 // SECONDS. -, DEF_KEEPALIVE = 60 // SECONDS. -, SECOND = 1000 // A THOUSAND MILLISECONDS. -, REPL = /{([\w\-]+)}/g; - -/** - * UTILITIES - */ -function unique() { return'x'+ ++NOW+''+(+new Date) } -function rnow() { return+new Date } - -/** - * NEXTORIGIN - * ========== - * var next_origin = nextorigin(); - */ -var nextorigin = (function() { - var max = 20 - , ori = Math.floor(Math.random() * max); - return function( origin, failover ) { - return origin.indexOf('pubsub.') > 0 - && origin.replace( - 'pubsub', 'ps' + ( - failover ? uuid().split('-')[0] : - (++ori < max? ori : ori=1) - ) ) || origin; - } -})(); - -/** - * UPDATER - * ======= - * var timestamp = unique(); - */ -function updater( fun, rate ) { - var timeout - , last = 0 - , runnit = function() { - if (last + rate > rnow()) { - clearTimeout(timeout); - timeout = setTimeout( runnit, rate ); - } - else { - last = rnow(); - fun(); - } - }; - - return runnit; -} - -/** - * GREP - * ==== - * var list = grep( [1,2,3], function(item) { return item % 2 } ) - */ -function grep( list, fun ) { - var fin = []; - each( list || [], function(l) { fun(l) && fin.push(l) } ); - return fin -} - -/** - * SUPPLANT - * ======== - * var text = supplant( 'Hello {name}!', { name : 'John' } ) - */ -function supplant( str, values ) { - return str.replace( REPL, function( _, match ) { - return values[match] || _ - } ); -} - -/** - * timeout - * ======= - * timeout( function(){}, 100 ); - */ -function timeout( fun, wait ) { - return setTimeout( fun, wait ); -} - -/** - * uuid - * ==== - * var my_uuid = uuid(); - */ -function uuid(callback) { - var u = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, - function(c) { - var r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8); - return v.toString(16); - }); - if (callback) callback(u); - return u; -} - -/** - * EACH - * ==== - * each( [1,2,3], function(item) { } ) - */ -function each( o, f ) { - if ( !o || !f ) return; - - if ( typeof o[0] != 'undefined' ) - for ( var i = 0, l = o.length; i < l; ) - f.call( o[i], o[i], i++ ); - else - for ( var i in o ) - o.hasOwnProperty && - o.hasOwnProperty(i) && - f.call( o[i], i, o[i] ); -} - -/** - * MAP - * === - * var list = map( [1,2,3], function(item) { return item + 1 } ) - */ -function map( list, fun ) { - var fin = []; - each( list || [], function( k, v ) { fin.push(fun( k, v )) } ); - return fin; -} - -/** - * ENCODE - * ====== - * var encoded_path = encode('path'); - */ -function encode(path) { - return map( (encodeURIComponent(path)).split(''), function(chr) { - return "-_.!~*'()".indexOf(chr) < 0 ? chr : - "%"+chr.charCodeAt(0).toString(16).toUpperCase() - } ).join(''); -} - -/** - * Generate Subscription Channel List - * ================================== - * generate_channel_list(channels_object); - */ -function generate_channel_list(channels) { - var list = []; - each( channels, function( channel, status ) { - if (status.subscribed) list.push(channel); - } ); - return list.sort(); -} - -// PUBNUB READY TO CONNECT - function ready() { timeout( function() { - if (READY) return; - READY = 1; - each( READY_BUFFER, function(connect) { connect() } ); - }, SECOND ); } - -function PN_API(setup) { - var SUB_WINDOWING = +setup['windowing'] || DEF_WINDOWING - , SUB_TIMEOUT = (+setup['timeout'] || DEF_SUB_TIMEOUT) * SECOND - , KEEPALIVE = (+setup['keepalive'] || DEF_KEEPALIVE) * SECOND - , PUBLISH_KEY = setup['publish_key'] || '' - , SUBSCRIBE_KEY = setup['subscribe_key'] || '' - , SSL = setup['ssl'] ? 's' : '' - , ORIGIN = 'http'+SSL+'://'+(setup['origin']||'pubsub.pubnub.com') - , STD_ORIGIN = nextorigin(ORIGIN) - , SUB_ORIGIN = nextorigin(ORIGIN) - , CONNECT = function(){} - , PUB_QUEUE = [] - , SUB_CALLBACK = 0 - , SUB_CHANNEL = 0 - , SUB_RECEIVER = 0 - , SUB_RESTORE = 0 - , SUB_BUFF_WAIT = 0 - , TIMETOKEN = 0 - , CHANNELS = {} - , xdr = setup['xdr'] - , _is_online = setup['_is_online'] || function() { return 1; } - , jsonp_cb = setup['jsonp_cb'] || function(){ return 0; } - , db = setup['db'] || {'get': function(){}, 'set': function(){}} - , UUID = setup['uuid'] || ( db && db['get'](SUBSCRIBE_KEY+'uuid') || ''); - - - - function publish(next) { - if (next) PUB_QUEUE.sending = 0; - if (PUB_QUEUE.sending || !PUB_QUEUE.length) return; - PUB_QUEUE.sending = 1; - xdr(PUB_QUEUE.shift()); - } - - function each_channel(callback) { - each( generate_channel_list(CHANNELS), function(channel) { - var chan = CHANNELS[channel]; - if (!chan) return; - callback(chan); - } ); - } - - // Announce Leave Event - - - var SELF = { - - '_reset_offline' : function() { - SUB_RECEIVER && SUB_RECEIVER(1); - }, - - 'LEAVE' : function( channel, blocking ) { - var data = { 'uuid' : UUID } - , origin = nextorigin(ORIGIN) - , jsonp = jsonp_cb(); - - // Prevent Leaving a Presence Channel - if (channel.indexOf(PRESENCE_SUFFIX) > 0) return; - - if (jsonp != '0') data['callback'] = jsonp; - - xdr({ - blocking : blocking || SSL, - timeout : 2000, - callback : jsonp, - data : data, - url : [ - origin, 'v2', 'presence', 'sub_key', - SUBSCRIBE_KEY, 'channel', encode(channel), 'leave' - ] - }); - }, - /* - PUBNUB.history({ - channel : 'my_chat_channel', - limit : 100, - callback : function(history) { } - }); - */ - 'history' : function( args, callback ) { - var callback = args['callback'] || callback - , count = args['count'] || args['limit'] || 100 - , reverse = args['reverse'] || "false" - , err = args['error'] || function(){} - , channel = args['channel'] - , start = args['start'] - , end = args['end'] - , params = {} - , jsonp = jsonp_cb(); - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - params['stringtoken'] = 'true'; - params['count'] = count; - params['reverse'] = reverse; - - if (jsonp) params['callback'] = jsonp; - if (start) params['start'] = start; - if (end) params['end'] = end; - - // Send Message - xdr({ - callback : jsonp, - data : params, - success : function(response) { callback(response) }, - fail : err, - url : [ - STD_ORIGIN, 'v2', 'history', 'sub-key', - SUBSCRIBE_KEY, 'channel', encode(channel) - ] - }); - }, - - /* - PUBNUB.replay({ - source : 'my_channel', - destination : 'new_channel' - }); - */ - 'replay' : function(args) { - var callback = callback || args['callback'] || function(){} - , source = args['source'] - , destination = args['destination'] - , stop = args['stop'] - , start = args['start'] - , end = args['end'] - , reverse = args['reverse'] - , limit = args['limit'] - , jsonp = jsonp_cb() - , data = {} - , url; - - // Check User Input - if (!source) return error('Missing Source Channel'); - if (!destination) return error('Missing Destination Channel'); - if (!PUBLISH_KEY) return error('Missing Publish Key'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // Setup URL Params - if (jsonp != '0') data['callback'] = jsonp; - if (stop) data['stop'] = 'all'; - if (reverse) data['reverse'] = 'true'; - if (start) data['start'] = start; - if (end) data['end'] = end; - if (limit) data['count'] = limit; - - // Compose URL Parts - url = [ - STD_ORIGIN, 'v1', 'replay', - PUBLISH_KEY, SUBSCRIBE_KEY, - source, destination - ]; - - // Start (or Stop) Replay! - xdr({ - callback : jsonp, - success : function(response) { callback(response) }, - fail : function() { callback([ 0, 'Disconnected' ]) }, - url : url, - data : data - }); - }, - - /* - PUBNUB.time(function(time){ }); - */ - 'time' : function(callback) { - var jsonp = jsonp_cb(); - xdr({ - callback : jsonp, - timeout : SECOND*5, - url : [STD_ORIGIN, 'time', jsonp], - success : function(response) { callback(response[0]) }, - fail : function() { callback(0) } - }); - }, - - /* - PUBNUB.publish({ - channel : 'my_chat_channel', - message : 'hello!' - }); - */ - 'publish' : function( args, callback ) { - var callback = callback || args['callback'] || function(){} - , msg = args['message'] - , channel = args['channel'] - , jsonp = jsonp_cb() - , url; - - if (!msg) return error('Missing Message'); - if (!channel) return error('Missing Channel'); - if (!PUBLISH_KEY) return error('Missing Publish Key'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // If trying to send Object - msg = JSON['stringify'](msg); - - // Create URL - url = [ - STD_ORIGIN, 'publish', - PUBLISH_KEY, SUBSCRIBE_KEY, - 0, encode(channel), - jsonp, encode(msg) - ]; - - // Queue Message Send - PUB_QUEUE.push({ - callback : jsonp, - timeout : SECOND*5, - url : url, - data : { 'uuid' : UUID }, - success : function(response){callback(response);publish(1)}, - fail : function(){callback([0,'Failed',msg]);publish(1)} - }); - - // Send Message - publish(); - }, - - /* - PUBNUB.unsubscribe({ channel : 'my_chat' }); - */ - 'unsubscribe' : function(args) { - var channel = args['channel']; - - TIMETOKEN = 0; - SUB_RESTORE = 1; - - // Prepare Channel(s) - channel = map( ( - channel.join ? channel.join(',') : ''+channel - ).split(','), function(channel) { - return channel + ',' + channel + PRESENCE_SUFFIX; - } ).join(','); - - // Iterate over Channels - each( channel.split(','), function(channel) { - if (READY) SELF['LEAVE']( channel, 0 ); - CHANNELS[channel] = 0; - } ); - - // ReOpen Connection if Any Channels Left - if (READY) CONNECT(); - }, - - /* - PUBNUB.subscribe({ - channel : 'my_chat' - callback : function(message) { } - }); - */ - 'subscribe' : function( args, callback ) { - var channel = args['channel'] - , callback = callback || args['callback'] - , callback = callback || args['message'] - , connect = args['connect'] || function(){} - , reconnect = args['reconnect'] || function(){} - , disconnect = args['disconnect'] || function(){} - , presence = args['presence'] || 0 - , noheresync = args['noheresync'] || 0 - , sub_timeout = args['timeout'] || SUB_TIMEOUT - , windowing = args['windowing'] || SUB_WINDOWING - , restore = args['restore']; - - // Restore Enabled? - if (restore) SUB_RESTORE = 1; - - TIMETOKEN = 0; - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // Setup Channel(s) - each( (channel.join ? channel.join(',') : ''+channel).split(','), - function(channel) { - var settings = CHANNELS[channel] || {}; - - // Store Channel State - CHANNELS[SUB_CHANNEL = channel] = { - name : channel, - connected : settings.connected, - disconnected : settings.disconnected, - subscribed : 1, - callback : SUB_CALLBACK = callback, - connect : connect, - disconnect : disconnect, - reconnect : reconnect - }; - - // Presence Enabled? - if (!presence) return; - - // Subscribe Presence Channel - SELF['subscribe']({ - 'channel' : channel + PRESENCE_SUFFIX, - 'callback' : presence - }); - - // Presence Subscribed? - if (settings.subscribed) return; - - // See Who's Here Now? - if (noheresync) return; - SELF['here_now']({ - 'channel' : channel, - 'callback' : function(here) { - each( 'uuids' in here ? here['uuids'] : [], - function(uid) { presence( { - 'action' : 'join', - 'uuid' : uid, - 'timestamp' : rnow(), - 'occupancy' : here['occupancy'] || 1 - }, here, channel ); } ); - } - }); - } ); - - // Test Network Connection - function _test_connection(success) { - if (success) { - // Begin Next Socket Connection - timeout( _connect, SECOND ); - } - else { - // New Origin on Failed Connection - STD_ORIGIN = nextorigin( ORIGIN, 1 ); - SUB_ORIGIN = nextorigin( ORIGIN, 1 ); - - // Re-test Connection - timeout( function() { - SELF['time'](_test_connection); - }, SECOND ); - } - - // Disconnect & Reconnect - each_channel(function(channel){ - // Reconnect - if (success && channel.disconnected) { - channel.disconnected = 0; - return channel.reconnect(channel.name); - } - - // Disconnect - if (!success && !channel.disconnected) { - channel.disconnected = 1; - channel.disconnect(channel.name); - } - }); - } - - // Evented Subscribe - function _connect() { - var jsonp = jsonp_cb() - , channels = generate_channel_list(CHANNELS).join(','); - - // Stop Connection - if (!channels) return; - - // Connect to PubNub Subscribe Servers - SUB_RECEIVER = xdr({ - timeout : sub_timeout, - callback : jsonp, - fail : function() { SELF['time'](_test_connection) }, - data : { 'uuid' : UUID }, - url : [ - SUB_ORIGIN, 'subscribe', - SUBSCRIBE_KEY, encode(channels), - jsonp, TIMETOKEN - ], - success : function(messages) { - if (!messages) return timeout( _connect, windowing ); - - // Connect - each_channel(function(channel){ - if (channel.connected) return; - channel.connected = 1; - channel.connect(channel.name); - }); - - // Restore Previous Connection Point if Needed - TIMETOKEN = !TIMETOKEN && - SUB_RESTORE && - db['get'](SUBSCRIBE_KEY) || messages[1]; - - // Update Saved Timetoken - if (TIMETOKEN) db['set']( SUBSCRIBE_KEY, messages[1] ); - - // Route Channel <---> Callback for Message - var next_callback = (function() { - var channels = (messages.length>2?messages[2]:'') - , list = channels.split(','); - - return function() { - var channel = list.shift()||''; - return [ - (CHANNELS[channel]||{}) - .callback||SUB_CALLBACK, - (channel||SUB_CHANNEL) - .split(PRESENCE_SUFFIX)[0] - ]; - }; - })(); - - each( messages[0], function(msg) { - var next = next_callback(); - if (!CHANNELS[next[1]].subscribed) return; - next[0]( msg, messages, next[1] ); - } ); - - timeout( _connect, windowing ); - } - }); - } - - CONNECT = function() { - // Close Previous Subscribe Connection - SELF['_reset_offline'](); - - // Begin Recursive Subscribe - clearTimeout(SUB_BUFF_WAIT); - SUB_BUFF_WAIT = timeout( _connect, 100 ); - }; - - // Reduce Status Flicker - if (!READY) return READY_BUFFER.push(CONNECT); - - // Connect Now - CONNECT(); - }, - - 'here_now' : function( args, callback ) { - var callback = args['callback'] || callback - , err = args['error'] || function(){} - , channel = args['channel'] - , jsonp = jsonp_cb() - , data = null; - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - if (jsonp != '0') { - data = {}; - data['callback'] = jsonp; - } - - xdr({ - callback : jsonp, - data : data, - success : function(response) { callback(response) }, - fail : err, - url : [ - STD_ORIGIN, 'v2', 'presence', - 'sub_key', SUBSCRIBE_KEY, - 'channel', encode(channel) - ] - }); - }, - - // Expose PUBNUB Functions - 'xdr' : xdr, - 'ready' : ready, - 'db' : db, - 'uuid' : uuid, - 'each' : each, - 'map' : map, - 'grep' : grep, - 'supplant' : supplant, - 'now' : rnow, - 'unique' : unique, - 'updater' : updater, - 'poll_online' : function() { - _is_online() || SELF['_reset_offline'](); - timeout( SELF['poll_online'], SECOND ); - }, - 'poll_online2' : function() { - SELF['time'](function(success){ - success || SELF['_reset_offline'](); - timeout( SELF['poll_online2'], KEEPALIVE ); - }) - } - }; - if (!UUID) UUID = SELF['uuid'](); - db['set']( SUBSCRIBE_KEY + 'uuid', UUID ); - - timeout( SELF['poll_online'], SECOND ); - timeout( SELF['poll_online2'], KEEPALIVE ); - - return SELF; -} -// 3.4/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= JSON =============================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -(window['JSON'] && window['JSON']['stringify']) || (function () { - window['JSON'] || (window['JSON'] = {}); - - function toJSON(key) { - try { return this.valueOf() } - catch(e) { return null } - } - - var cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, - escapable = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, - gap, - indent, - meta = { // table of character substitutions - '\b': '\\b', - '\t': '\\t', - '\n': '\\n', - '\f': '\\f', - '\r': '\\r', - '"' : '\\"', - '\\': '\\\\' - }, - rep; - - function quote(string) { - escapable.lastIndex = 0; - return escapable.test(string) ? - '"' + string.replace(escapable, function (a) { - var c = meta[a]; - return typeof c === 'string' ? c : - '\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4); - }) + '"' : - '"' + string + '"'; - } - - function str(key, holder) { - var i, // The loop counter. - k, // The member key. - v, // The member value. - length, - partial, - mind = gap, - value = holder[key]; - - if (value && typeof value === 'object') { - value = toJSON.call( value, key ); - } - - if (typeof rep === 'function') { - value = rep.call(holder, key, value); - } - - switch (typeof value) { - case 'string': - return quote(value); - - case 'number': - return isFinite(value) ? String(value) : 'null'; - - case 'boolean': - case 'null': - return String(value); - - case 'object': - - if (!value) { - return 'null'; - } - - gap += indent; - partial = []; - - if (Object.prototype.toString.apply(value) === '[object Array]') { - - length = value.length; - for (i = 0; i < length; i += 1) { - partial[i] = str(i, value) || 'null'; - } - - v = partial.length === 0 ? '[]' : - gap ? '[\n' + gap + - partial.join(',\n' + gap) + '\n' + - mind + ']' : - '[' + partial.join(',') + ']'; - gap = mind; - return v; - } - if (rep && typeof rep === 'object') { - length = rep.length; - for (i = 0; i < length; i += 1) { - k = rep[i]; - if (typeof k === 'string') { - v = str(k, value); - if (v) { - partial.push(quote(k) + (gap ? ': ' : ':') + v); - } - } - } - } else { - for (k in value) { - if (Object.hasOwnProperty.call(value, k)) { - v = str(k, value); - if (v) { - partial.push(quote(k) + (gap ? ': ' : ':') + v); - } - } - } - } - - v = partial.length === 0 ? '{}' : - gap ? '{\n' + gap + partial.join(',\n' + gap) + '\n' + - mind + '}' : '{' + partial.join(',') + '}'; - gap = mind; - return v; - } - } - - if (typeof JSON['stringify'] !== 'function') { - JSON['stringify'] = function (value, replacer, space) { - var i; - gap = ''; - indent = ''; - - if (typeof space === 'number') { - for (i = 0; i < space; i += 1) { - indent += ' '; - } - } else if (typeof space === 'string') { - indent = space; - } - rep = replacer; - if (replacer && typeof replacer !== 'function' && - (typeof replacer !== 'object' || - typeof replacer.length !== 'number')) { - throw new Error('JSON.stringify'); - } - return str('', {'': value}); - }; - } - - if (typeof JSON['parse'] !== 'function') { - // JSON is parsed on the server for security. - JSON['parse'] = function (text) {return eval('('+text+')')}; - } -}()); -/* --------------------------------------------------------------------------- -WAIT! - This file depends on instructions from the PUBNUB Cloud. -http://www.pubnub.com/account-javascript-api-include ---------------------------------------------------------------------------- */ - -/* --------------------------------------------------------------------------- -PubNub Real-time Cloud-Hosted Push API and Push Notification Client Frameworks -Copyright (c) 2011 PubNub Inc. -http://www.pubnub.com/ -http://www.pubnub.com/terms ---------------------------------------------------------------------------- */ - -/* --------------------------------------------------------------------------- -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. ---------------------------------------------------------------------------- */ - -/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= UTIL =============================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -window['PUBNUB'] || (function() { - -/** - * UTIL LOCALS - */ - -var SWF = 'https://pubnub.a.ssl.fastly.net/pubnub.swf' -, ASYNC = 'async' -, URLBIT = '/' -, PARAMSBIT = '&' -, UA = navigator.userAgent -, XORIGN = UA.indexOf('MSIE 6') == -1; - -/** - * CONSOLE COMPATIBILITY - */ -window.console || (window.console=window.console||{}); -console.log || ( - console.log = - console.error = - ((window.opera||{}).postError||function(){}) -); - - - -/** - * LOCAL STORAGE OR COOKIE - */ -var db = (function(){ - var ls = window['localStorage']; - return { - 'get' : function(key) { - try { - if (ls) return ls.getItem(key); - if (document.cookie.indexOf(key) == -1) return null; - return ((document.cookie||'').match( - RegExp(key+'=([^;]+)') - )||[])[1] || null; - } catch(e) { return } - }, - 'set' : function( key, value ) { - try { - if (ls) return ls.setItem( key, value ) && 0; - document.cookie = key + '=' + value + - '; expires=Thu, 1 Aug 2030 20:00:00 UTC; path=/'; - } catch(e) { return } - } - }; -})(); - - -/** - * $ - * = - * var div = $('divid'); - */ -function $(id) { return document.getElementById(id) } - -/** - * ERROR - * ===== - * error('message'); - */ -function error(message) { console['error'](message) } - -/** - * SEARCH - * ====== - * var elements = search('a div span'); - */ -function search( elements, start ) { - var list = []; - each( elements.split(/\s+/), function(el) { - each( (start || document).getElementsByTagName(el), function(node) { - list.push(node); - } ); - } ); - return list; -} - - - -/** - * BIND - * ==== - * bind( 'keydown', search('a')[0], function(element) { - * ... - * } ); - */ -function bind( type, el, fun ) { - each( type.split(','), function(etype) { - var rapfun = function(e) { - if (!e) e = window.event; - if (!fun(e)) { - e.cancelBubble = true; - e.returnValue = false; - e.preventDefault && e.preventDefault(); - e.stopPropagation && e.stopPropagation(); - } - }; - - if ( el.addEventListener ) el.addEventListener( etype, rapfun, false ); - else if ( el.attachEvent ) el.attachEvent( 'on' + etype, rapfun ); - else el[ 'on' + etype ] = rapfun; - } ); -} - -/** - * UNBIND - * ====== - * unbind( 'keydown', search('a')[0] ); - */ -function unbind( type, el, fun ) { - if ( el.removeEventListener ) el.removeEventListener( type, false ); - else if ( el.detachEvent ) el.detachEvent( 'on' + type, false ); - else el[ 'on' + type ] = null; -} - -/** - * HEAD - * ==== - * head().appendChild(elm); - */ -function head() { return search('head')[0] } - -/** - * ATTR - * ==== - * var attribute = attr( node, 'attribute' ); - */ -function attr( node, attribute, value ) { - if (value) node.setAttribute( attribute, value ); - else return node && node.getAttribute && node.getAttribute(attribute); -} - -/** - * CSS - * === - * var obj = create('div'); - */ -function css( element, styles ) { - for (var style in styles) if (styles.hasOwnProperty(style)) - try {element.style[style] = styles[style] + ( - '|width|height|top|left|'.indexOf(style) > 0 && - typeof styles[style] == 'number' - ? 'px' : '' - )}catch(e){} -} - -/** - * CREATE - * ====== - * var obj = create('div'); - */ -function create(element) { return document.createElement(element) } - - -/** - * jsonp_cb - * ======== - * var callback = jsonp_cb(); - */ -function jsonp_cb() { return XORIGN || FDomainRequest() ? 0 : unique() } - - - -/** - * EVENTS - * ====== - * PUBNUB.events.bind( 'you-stepped-on-flower', function(message) { - * // Do Stuff with message - * } ); - * - * PUBNUB.events.fire( 'you-stepped-on-flower', "message-data" ); - * PUBNUB.events.fire( 'you-stepped-on-flower', {message:"data"} ); - * PUBNUB.events.fire( 'you-stepped-on-flower', [1,2,3] ); - * - */ -var events = { - 'list' : {}, - 'unbind' : function( name ) { events.list[name] = [] }, - 'bind' : function( name, fun ) { - (events.list[name] = events.list[name] || []).push(fun); - }, - 'fire' : function( name, data ) { - each( - events.list[name] || [], - function(fun) { fun(data) } - ); - } -}; - -/** - * XDR Cross Domain Request - * ======================== - * xdr({ - * url : ['http://www.blah.com/url'], - * success : function(response) {}, - * fail : function() {} - * }); - */ -function xdr( setup ) { - if (XORIGN || FDomainRequest()) return ajax(setup); - - var script = create('script') - , callback = setup.callback - , id = unique() - , finished = 0 - , xhrtme = setup.timeout || DEF_TIMEOUT - , timer = timeout( function(){done(1)}, xhrtme ) - , fail = setup.fail || function(){} - , success = setup.success || function(){} - - , append = function() { - head().appendChild(script); - } - - , done = function( failed, response ) { - if (finished) return; - finished = 1; - - failed || success(response); - script.onerror = null; - clearTimeout(timer); - - timeout( function() { - failed && fail(); - var s = $(id) - , p = s && s.parentNode; - p && p.removeChild(s); - }, SECOND ); - }; - - window[callback] = function(response) { - done( 0, response ); - }; - - if (!setup.blocking) script[ASYNC] = ASYNC; - - script.onerror = function() { done(1) }; - script.src = setup.url.join(URLBIT); - - if (setup.data) { - var params = []; - script.src += "?"; - for (var key in setup.data) { - params.push(key+"="+setup.data[key]); - } - script.src += params.join(PARAMSBIT); - } - attr( script, 'id', id ); - - append(); - return done; -} - -/** - * CORS XHR Request - * ================ - * xdr({ - * url : ['http://www.blah.com/url'], - * success : function(response) {}, - * fail : function() {} - * }); - */ -function ajax( setup ) { - var xhr, response - , finished = function() { - if (loaded) return; - loaded = 1; - - clearTimeout(timer); - - try { response = JSON['parse'](xhr.responseText); } - catch (r) { return done(1); } - - success(response); - } - , complete = 0 - , loaded = 0 - , xhrtme = setup.timeout || DEF_TIMEOUT - , timer = timeout( function(){done(1)}, xhrtme ) - , fail = setup.fail || function(){} - , success = setup.success || function(){} - , done = function(failed) { - if (complete) return; - complete = 1; - - clearTimeout(timer); - - if (xhr) { - xhr.onerror = xhr.onload = null; - xhr.abort && xhr.abort(); - xhr = null; - } - - failed && fail(); - }; - - // Send - try { - xhr = FDomainRequest() || - window.XDomainRequest && - new XDomainRequest() || - new XMLHttpRequest(); - - xhr.onerror = xhr.onabort = function(){ done(1) }; - xhr.onload = xhr.onloadend = finished; - xhr.timeout = xhrtme; - - var url = setup.url.join(URLBIT); - if (setup.data) { - var params = []; - var key; - console.log(setup.data); - url += "?"; - for (key in setup.data) params.push(key+"="+setup.data[key]); - url += params.join(PARAMSBIT); - } - - xhr.open( 'GET', url, (typeof(setup.blocking === 'undefined')) ); - xhr.send(); - } - catch(eee) { - done(0); - XORIGN = 0; - return xdr(setup); - } - - // Return 'done' - return done; -} - - - - // Test Connection State -function _is_online() { - if (!('onLine' in navigator)) return 1; - return navigator['onLine']; -} - - -/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= PUBNUB ===========================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -var PDIV = $('pubnub') || 0 -, CREATE_PUBNUB = function(setup) { - - // Force JSONP if requested from user. - if (setup['jsonp']) XORIGN = 0; - - var SUBSCRIBE_KEY = setup['subscribe_key'] || '' - , KEEPALIVE = (+setup['keepalive'] || DEF_KEEPALIVE) * SECOND - , UUID = setup['uuid'] || db['get'](SUBSCRIBE_KEY+'uuid') || ''; - - setup['xdr'] = xdr; - setup['db'] = db; - setup['_is_online'] = _is_online; - setup['jsonp_cb'] = jsonp_cb; - var SELF = PN_API(setup); - - - SELF['css'] = css; - SELF['$'] = $; - SELF['create'] = create; - SELF['bind'] = bind; - SELF['head'] = head; - SELF['search'] = search; - SELF['attr'] = attr; - SELF['events'] = events; - SELF['init'] = CREATE_PUBNUB; - - // Return without Testing - if (setup['notest']) return SELF; - - // Add Leave Functions - bind( 'beforeunload', window, function() { - each_channel(function(ch){ SELF['LEAVE']( ch.name, 1 ) }); - return true; - } ); - - bind( 'offline', window, SELF['_reset_offline'] ); - bind( 'offline', document, SELF['_reset_offline'] ); - - // Return PUBNUB Socket Object - return SELF; -}; - - - -// Bind for PUBNUB Readiness to Subscribe -bind( 'load', window, function(){ timeout( ready, 0 ) } ); - -var pdiv = PDIV || {}; - -// CREATE A PUBNUB GLOBAL OBJECT -PUBNUB = CREATE_PUBNUB({ - 'notest' : 1, - 'publish_key' : attr( pdiv, 'pub-key' ), - 'subscribe_key' : attr( pdiv, 'sub-key' ), - 'ssl' : !document.location.href.indexOf('https') || - attr( pdiv, 'ssl' ) == 'on', - 'origin' : attr( pdiv, 'origin' ), - 'uuid' : attr( pdiv, 'uuid' ) -}); - -// jQuery Interface -window['jQuery'] && (window['jQuery']['PUBNUB'] = PUBNUB); - -// For Modern JS + Testling.js - http://testling.com/ -typeof(module) !== 'undefined' && (module['exports'] = PUBNUB) && ready(); - -var pubnubs = $('pubnubs') || 0; - -// LEAVE NOW IF NO PDIV. -if (!PDIV) return; - -// PUBNUB Flash Socket -css( PDIV, { 'position' : 'absolute', 'top' : -SECOND } ); - -if ('opera' in window || attr( PDIV, 'flash' )) PDIV['innerHTML'] = - ''; - -// Create Interface for Opera Flash -PUBNUB['rdx'] = function( id, data ) { - if (!data) return FDomainRequest[id]['onerror'](); - FDomainRequest[id]['responseText'] = unescape(data); - FDomainRequest[id]['onload'](); -}; - -function FDomainRequest() { - if (!pubnubs || !pubnubs['get']) return 0; - - var fdomainrequest = { - 'id' : FDomainRequest['id']++, - 'send' : function() {}, - 'abort' : function() { fdomainrequest['id'] = {} }, - 'open' : function( method, url ) { - FDomainRequest[fdomainrequest['id']] = fdomainrequest; - pubnubs['get']( fdomainrequest['id'], url ); - } - }; - - return fdomainrequest; -} -FDomainRequest['id'] = SECOND; - -})(); -(function(){ - -// --------------------------------------------------------------------------- -// WEBSOCKET INTERFACE -// --------------------------------------------------------------------------- -var WS = PUBNUB['ws'] = function( url, protocols ) { - if (!(this instanceof WS)) return new WS( url, protocols ); - - var self = this - , url = self.url = url || '' - , protocol = self.protocol = protocols || 'Sec-WebSocket-Protocol' - , bits = url.split('/') - , setup = { - 'ssl' : bits[0] === 'wss:' - ,'origin' : bits[2] - ,'publish_key' : bits[3] - ,'subscribe_key' : bits[4] - ,'channel' : bits[5] - }; - - // READY STATES - self['CONNECTING'] = 0; // The connection is not yet open. - self['OPEN'] = 1; // The connection is open and ready to communicate. - self['CLOSING'] = 2; // The connection is in the process of closing. - self['CLOSED'] = 3; // The connection is closed or couldn't be opened. - - // CLOSE STATES - self['CLOSE_NORMAL'] = 1000; // Normal Intended Close; completed. - self['CLOSE_GOING_AWAY'] = 1001; // Closed Unexpecttedly. - self['CLOSE_PROTOCOL_ERROR'] = 1002; // Server: Not Supported. - self['CLOSE_UNSUPPORTED'] = 1003; // Server: Unsupported Protocol. - self['CLOSE_TOO_LARGE'] = 1004; // Server: Too Much Data. - self['CLOSE_NO_STATUS'] = 1005; // Server: No reason. - self['CLOSE_ABNORMAL'] = 1006; // Abnormal Disconnect. - - // Events Default - self['onclose'] = self['onerror'] = - self['onmessage'] = self['onopen'] = - self['onsend'] = function(){}; - - // Attributes - self['binaryType'] = ''; - self['extensions'] = ''; - self['bufferedAmount'] = 0; - self['trasnmitting'] = false; - self['buffer'] = []; - self['readyState'] = self['CONNECTING']; - - // Close if no setup. - if (!url) { - self['readyState'] = self['CLOSED']; - self['onclose']({ - 'code' : self['CLOSE_ABNORMAL'], - 'reason' : 'Missing URL', - 'wasClean' : true - }); - return self; - } - - // PubNub WebSocket Emulation - self.pubnub = PUBNUB['init'](setup); - self.pubnub.setup = setup; - self.setup = setup; - - self.pubnub['subscribe']({ - 'restore' : false, - 'channel' : setup['channel'], - 'disconnect' : self['onerror'], - 'reconnect' : self['onopen'], - 'error' : function() { - self['onclose']({ - 'code' : self['CLOSE_ABNORMAL'], - 'reason' : 'Missing URL', - 'wasClean' : false - }); - }, - 'callback' : function(message) { - self['onmessage']({ 'data' : message }); - }, - 'connect' : function() { - self['readyState'] = self['OPEN']; - self['onopen'](); - } - }); -}; - -// --------------------------------------------------------------------------- -// WEBSOCKET SEND -// --------------------------------------------------------------------------- -WS.prototype.send = function(data) { - var self = this; - self.pubnub['publish']({ - 'channel' : self.pubnub.setup['channel'], - 'message' : data, - 'callback' : function(response) { - self['onsend']({ 'data' : response }); - } - }); -}; - -// --------------------------------------------------------------------------- -// WEBSOCKET CLOSE -// --------------------------------------------------------------------------- -WS.prototype.close = function() { - var self = this; - self.pubnub['unsubscribe']({ 'channel' : self.pubnub.setup['channel'] }); - self['readyState'] = self['CLOSED']; - self['onclose']({}); -}; - -})(); -(function(){ - -// --------------------------------------------------------------------------- -// WEBSOCKET INTERFACE -// --------------------------------------------------------------------------- -var WS = PUBNUB['ws'] = function( url, protocols ) { - if (!(this instanceof WS)) return new WS( url, protocols ); - - var self = this - , url = self.url = url || '' - , protocol = self.protocol = protocols || 'Sec-WebSocket-Protocol' - , bits = url.split('/') - , setup = { - 'ssl' : bits[0] === 'wss:' - ,'origin' : bits[2] - ,'publish_key' : bits[3] - ,'subscribe_key' : bits[4] - ,'channel' : bits[5] - }; - - // READY STATES - self['CONNECTING'] = 0; // The connection is not yet open. - self['OPEN'] = 1; // The connection is open and ready to communicate. - self['CLOSING'] = 2; // The connection is in the process of closing. - self['CLOSED'] = 3; // The connection is closed or couldn't be opened. - - // CLOSE STATES - self['CLOSE_NORMAL'] = 1000; // Normal Intended Close; completed. - self['CLOSE_GOING_AWAY'] = 1001; // Closed Unexpecttedly. - self['CLOSE_PROTOCOL_ERROR'] = 1002; // Server: Not Supported. - self['CLOSE_UNSUPPORTED'] = 1003; // Server: Unsupported Protocol. - self['CLOSE_TOO_LARGE'] = 1004; // Server: Too Much Data. - self['CLOSE_NO_STATUS'] = 1005; // Server: No reason. - self['CLOSE_ABNORMAL'] = 1006; // Abnormal Disconnect. - - // Events Default - self['onclose'] = self['onerror'] = - self['onmessage'] = self['onopen'] = - self['onsend'] = function(){}; - - // Attributes - self['binaryType'] = ''; - self['extensions'] = ''; - self['bufferedAmount'] = 0; - self['trasnmitting'] = false; - self['buffer'] = []; - self['readyState'] = self['CONNECTING']; - - // Close if no setup. - if (!url) { - self['readyState'] = self['CLOSED']; - self['onclose']({ - 'code' : self['CLOSE_ABNORMAL'], - 'reason' : 'Missing URL', - 'wasClean' : true - }); - return self; - } - - // PubNub WebSocket Emulation - self.pubnub = PUBNUB['init'](setup); - self.pubnub.setup = setup; - self.setup = setup; - - self.pubnub['subscribe']({ - 'restore' : false, - 'channel' : setup['channel'], - 'disconnect' : self['onerror'], - 'reconnect' : self['onopen'], - 'error' : function() { - self['onclose']({ - 'code' : self['CLOSE_ABNORMAL'], - 'reason' : 'Missing URL', - 'wasClean' : false - }); - }, - 'callback' : function(message) { - self['onmessage']({ 'data' : message }); - }, - 'connect' : function() { - self['readyState'] = self['OPEN']; - self['onopen'](); - } - }); -}; - -// --------------------------------------------------------------------------- -// WEBSOCKET SEND -// --------------------------------------------------------------------------- -WS.prototype.send = function(data) { - var self = this; - self.pubnub['publish']({ - 'channel' : self.pubnub.setup['channel'], - 'message' : data, - 'callback' : function(response) { - self['onsend']({ 'data' : response }); - } - }); -}; - -// --------------------------------------------------------------------------- -// WEBSOCKET CLOSE -// --------------------------------------------------------------------------- -WS.prototype.close = function() { - var self = this; - self.pubnub['unsubscribe']({ 'channel' : self.pubnub.setup['channel'] }); - self['readyState'] = self['CLOSED']; - self['onclose']({}); -}; - -})(); -/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= JSON =============================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -(window['JSON'] && window['JSON']['stringify']) || (function () { - window['JSON'] || (window['JSON'] = {}); - - function toJSON(key) { - try { return this.valueOf() } - catch(e) { return null } - } - - var cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, - escapable = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, - gap, - indent, - meta = { // table of character substitutions - '\b': '\\b', - '\t': '\\t', - '\n': '\\n', - '\f': '\\f', - '\r': '\\r', - '"' : '\\"', - '\\': '\\\\' - }, - rep; - - function quote(string) { - escapable.lastIndex = 0; - return escapable.test(string) ? - '"' + string.replace(escapable, function (a) { - var c = meta[a]; - return typeof c === 'string' ? c : - '\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4); - }) + '"' : - '"' + string + '"'; - } - - function str(key, holder) { - var i, // The loop counter. - k, // The member key. - v, // The member value. - length, - partial, - mind = gap, - value = holder[key]; - - if (value && typeof value === 'object') { - value = toJSON.call( value, key ); - } - - if (typeof rep === 'function') { - value = rep.call(holder, key, value); - } - - switch (typeof value) { - case 'string': - return quote(value); - - case 'number': - return isFinite(value) ? String(value) : 'null'; - - case 'boolean': - case 'null': - return String(value); - - case 'object': - - if (!value) { - return 'null'; - } - - gap += indent; - partial = []; - - if (Object.prototype.toString.apply(value) === '[object Array]') { - - length = value.length; - for (i = 0; i < length; i += 1) { - partial[i] = str(i, value) || 'null'; - } - - v = partial.length === 0 ? '[]' : - gap ? '[\n' + gap + - partial.join(',\n' + gap) + '\n' + - mind + ']' : - '[' + partial.join(',') + ']'; - gap = mind; - return v; - } - if (rep && typeof rep === 'object') { - length = rep.length; - for (i = 0; i < length; i += 1) { - k = rep[i]; - if (typeof k === 'string') { - v = str(k, value); - if (v) { - partial.push(quote(k) + (gap ? ': ' : ':') + v); - } - } - } - } else { - for (k in value) { - if (Object.hasOwnProperty.call(value, k)) { - v = str(k, value); - if (v) { - partial.push(quote(k) + (gap ? ': ' : ':') + v); - } - } - } - } - - v = partial.length === 0 ? '{}' : - gap ? '{\n' + gap + partial.join(',\n' + gap) + '\n' + - mind + '}' : '{' + partial.join(',') + '}'; - gap = mind; - return v; - } - } - - if (typeof JSON['stringify'] !== 'function') { - JSON['stringify'] = function (value, replacer, space) { - var i; - gap = ''; - indent = ''; - - if (typeof space === 'number') { - for (i = 0; i < space; i += 1) { - indent += ' '; - } - } else if (typeof space === 'string') { - indent = space; - } - rep = replacer; - if (replacer && typeof replacer !== 'function' && - (typeof replacer !== 'object' || - typeof replacer.length !== 'number')) { - throw new Error('JSON.stringify'); - } - return str('', {'': value}); - }; - } - - if (typeof JSON['parse'] !== 'function') { - // JSON is parsed on the server for security. - JSON['parse'] = function (text) {return eval('('+text+')')}; - } -}()); -var NOW = 1 -, READY = false -, READY_BUFFER = [] -, PRESENCE_SUFFIX = '-pnpres' -, DEF_WINDOWING = 10 // MILLISECONDS. -, DEF_TIMEOUT = 10000 // MILLISECONDS. -, DEF_SUB_TIMEOUT = 310 // SECONDS. -, DEF_KEEPALIVE = 60 // SECONDS. -, SECOND = 1000 // A THOUSAND MILLISECONDS. -, REPL = /{([\w\-]+)}/g; - -/** - * UTILITIES - */ -function unique() { return'x'+ ++NOW+''+(+new Date) } -function rnow() { return+new Date } - -/** - * NEXTORIGIN - * ========== - * var next_origin = nextorigin(); - */ -var nextorigin = (function() { - var max = 20 - , ori = Math.floor(Math.random() * max); - return function( origin, failover ) { - return origin.indexOf('pubsub.') > 0 - && origin.replace( - 'pubsub', 'ps' + ( - failover ? uuid().split('-')[0] : - (++ori < max? ori : ori=1) - ) ) || origin; - } -})(); - -/** - * UPDATER - * ======= - * var timestamp = unique(); - */ -function updater( fun, rate ) { - var timeout - , last = 0 - , runnit = function() { - if (last + rate > rnow()) { - clearTimeout(timeout); - timeout = setTimeout( runnit, rate ); - } - else { - last = rnow(); - fun(); - } - }; - - return runnit; -} - -/** - * GREP - * ==== - * var list = grep( [1,2,3], function(item) { return item % 2 } ) - */ -function grep( list, fun ) { - var fin = []; - each( list || [], function(l) { fun(l) && fin.push(l) } ); - return fin -} - -/** - * SUPPLANT - * ======== - * var text = supplant( 'Hello {name}!', { name : 'John' } ) - */ -function supplant( str, values ) { - return str.replace( REPL, function( _, match ) { - return values[match] || _ - } ); -} - -/** - * timeout - * ======= - * timeout( function(){}, 100 ); - */ -function timeout( fun, wait ) { - return setTimeout( fun, wait ); -} - -/** - * uuid - * ==== - * var my_uuid = uuid(); - */ -function uuid(callback) { - var u = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, - function(c) { - var r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8); - return v.toString(16); - }); - if (callback) callback(u); - return u; -} - -/** - * EACH - * ==== - * each( [1,2,3], function(item) { } ) - */ -function each( o, f ) { - if ( !o || !f ) return; - - if ( typeof o[0] != 'undefined' ) - for ( var i = 0, l = o.length; i < l; ) - f.call( o[i], o[i], i++ ); - else - for ( var i in o ) - o.hasOwnProperty && - o.hasOwnProperty(i) && - f.call( o[i], i, o[i] ); -} - -/** - * MAP - * === - * var list = map( [1,2,3], function(item) { return item + 1 } ) - */ -function map( list, fun ) { - var fin = []; - each( list || [], function( k, v ) { fin.push(fun( k, v )) } ); - return fin; -} - -/** - * ENCODE - * ====== - * var encoded_path = encode('path'); - */ -function encode(path) { - return map( (encodeURIComponent(path)).split(''), function(chr) { - return "-_.!~*'()".indexOf(chr) < 0 ? chr : - "%"+chr.charCodeAt(0).toString(16).toUpperCase() - } ).join(''); -} - -/** - * Generate Subscription Channel List - * ================================== - * generate_channel_list(channels_object); - */ -function generate_channel_list(channels) { - var list = []; - each( channels, function( channel, status ) { - if (status.subscribed) list.push(channel); - } ); - return list.sort(); -} - -// PUBNUB READY TO CONNECT - function ready() { timeout( function() { - if (READY) return; - READY = 1; - each( READY_BUFFER, function(connect) { connect() } ); - }, SECOND ); } - -function PN_API(setup) { - var SUB_WINDOWING = +setup['windowing'] || DEF_WINDOWING - , SUB_TIMEOUT = (+setup['timeout'] || DEF_SUB_TIMEOUT) * SECOND - , KEEPALIVE = (+setup['keepalive'] || DEF_KEEPALIVE) * SECOND - , PUBLISH_KEY = setup['publish_key'] || '' - , SUBSCRIBE_KEY = setup['subscribe_key'] || '' - , SSL = setup['ssl'] ? 's' : '' - , ORIGIN = 'http'+SSL+'://'+(setup['origin']||'pubsub.pubnub.com') - , STD_ORIGIN = nextorigin(ORIGIN) - , SUB_ORIGIN = nextorigin(ORIGIN) - , CONNECT = function(){} - , PUB_QUEUE = [] - , SUB_CALLBACK = 0 - , SUB_CHANNEL = 0 - , SUB_RECEIVER = 0 - , SUB_RESTORE = 0 - , SUB_BUFF_WAIT = 0 - , TIMETOKEN = 0 - , CHANNELS = {} - , xdr = setup['xdr'] - , _is_online = setup['_is_online'] || function() { return 1; } - , jsonp_cb = setup['jsonp_cb'] || function(){ return 0; } - , db = setup['db'] || {'get': function(){}, 'set': function(){}} - , UUID = setup['uuid'] || ( db && db['get'](SUBSCRIBE_KEY+'uuid') || ''); - - - - function publish(next) { - if (next) PUB_QUEUE.sending = 0; - if (PUB_QUEUE.sending || !PUB_QUEUE.length) return; - PUB_QUEUE.sending = 1; - xdr(PUB_QUEUE.shift()); - } - - function each_channel(callback) { - each( generate_channel_list(CHANNELS), function(channel) { - var chan = CHANNELS[channel]; - if (!chan) return; - callback(chan); - } ); - } - - // Announce Leave Event - - - var SELF = { - - '_reset_offline' : function() { - SUB_RECEIVER && SUB_RECEIVER(1); - }, - - 'LEAVE' : function( channel, blocking ) { - var data = { 'uuid' : UUID } - , origin = nextorigin(ORIGIN) - , jsonp = jsonp_cb(); - - // Prevent Leaving a Presence Channel - if (channel.indexOf(PRESENCE_SUFFIX) > 0) return; - - if (jsonp != '0') data['callback'] = jsonp; - - xdr({ - blocking : blocking || SSL, - timeout : 2000, - callback : jsonp, - data : data, - url : [ - origin, 'v2', 'presence', 'sub_key', - SUBSCRIBE_KEY, 'channel', encode(channel), 'leave' - ] - }); - }, - /* - PUBNUB.history({ - channel : 'my_chat_channel', - limit : 100, - callback : function(history) { } - }); - */ - 'history' : function( args, callback ) { - var callback = args['callback'] || callback - , count = args['count'] || args['limit'] || 100 - , reverse = args['reverse'] || "false" - , err = args['error'] || function(){} - , channel = args['channel'] - , start = args['start'] - , end = args['end'] - , params = {} - , jsonp = jsonp_cb(); - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - params['stringtoken'] = 'true'; - params['count'] = count; - params['reverse'] = reverse; - - if (jsonp) params['callback'] = jsonp; - if (start) params['start'] = start; - if (end) params['end'] = end; - - // Send Message - xdr({ - callback : jsonp, - data : params, - success : function(response) { callback(response) }, - fail : err, - url : [ - STD_ORIGIN, 'v2', 'history', 'sub-key', - SUBSCRIBE_KEY, 'channel', encode(channel) - ] - }); - }, - - /* - PUBNUB.replay({ - source : 'my_channel', - destination : 'new_channel' - }); - */ - 'replay' : function(args) { - var callback = callback || args['callback'] || function(){} - , source = args['source'] - , destination = args['destination'] - , stop = args['stop'] - , start = args['start'] - , end = args['end'] - , reverse = args['reverse'] - , limit = args['limit'] - , jsonp = jsonp_cb() - , data = {} - , url; - - // Check User Input - if (!source) return error('Missing Source Channel'); - if (!destination) return error('Missing Destination Channel'); - if (!PUBLISH_KEY) return error('Missing Publish Key'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // Setup URL Params - if (jsonp != '0') data['callback'] = jsonp; - if (stop) data['stop'] = 'all'; - if (reverse) data['reverse'] = 'true'; - if (start) data['start'] = start; - if (end) data['end'] = end; - if (limit) data['count'] = limit; - - // Compose URL Parts - url = [ - STD_ORIGIN, 'v1', 'replay', - PUBLISH_KEY, SUBSCRIBE_KEY, - source, destination - ]; - - // Start (or Stop) Replay! - xdr({ - callback : jsonp, - success : function(response) { callback(response) }, - fail : function() { callback([ 0, 'Disconnected' ]) }, - url : url, - data : data - }); - }, - - /* - PUBNUB.time(function(time){ }); - */ - 'time' : function(callback) { - var jsonp = jsonp_cb(); - xdr({ - callback : jsonp, - timeout : SECOND*5, - url : [STD_ORIGIN, 'time', jsonp], - success : function(response) { callback(response[0]) }, - fail : function() { callback(0) } - }); - }, - - /* - PUBNUB.publish({ - channel : 'my_chat_channel', - message : 'hello!' - }); - */ - 'publish' : function( args, callback ) { - var callback = callback || args['callback'] || function(){} - , msg = args['message'] - , channel = args['channel'] - , jsonp = jsonp_cb() - , url; - - if (!msg) return error('Missing Message'); - if (!channel) return error('Missing Channel'); - if (!PUBLISH_KEY) return error('Missing Publish Key'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // If trying to send Object - msg = JSON['stringify'](msg); - - // Create URL - url = [ - STD_ORIGIN, 'publish', - PUBLISH_KEY, SUBSCRIBE_KEY, - 0, encode(channel), - jsonp, encode(msg) - ]; - - // Queue Message Send - PUB_QUEUE.push({ - callback : jsonp, - timeout : SECOND*5, - url : url, - data : { 'uuid' : UUID }, - success : function(response){callback(response);publish(1)}, - fail : function(){callback([0,'Failed',msg]);publish(1)} - }); - - // Send Message - publish(); - }, - - /* - PUBNUB.unsubscribe({ channel : 'my_chat' }); - */ - 'unsubscribe' : function(args) { - var channel = args['channel']; - - TIMETOKEN = 0; - SUB_RESTORE = 1; - - // Prepare Channel(s) - channel = map( ( - channel.join ? channel.join(',') : ''+channel - ).split(','), function(channel) { - return channel + ',' + channel + PRESENCE_SUFFIX; - } ).join(','); - - // Iterate over Channels - each( channel.split(','), function(channel) { - if (READY) SELF['LEAVE']( channel, 0 ); - CHANNELS[channel] = 0; - } ); - - // ReOpen Connection if Any Channels Left - if (READY) CONNECT(); - }, - - /* - PUBNUB.subscribe({ - channel : 'my_chat' - callback : function(message) { } - }); - */ - 'subscribe' : function( args, callback ) { - var channel = args['channel'] - , callback = callback || args['callback'] - , callback = callback || args['message'] - , connect = args['connect'] || function(){} - , reconnect = args['reconnect'] || function(){} - , disconnect = args['disconnect'] || function(){} - , presence = args['presence'] || 0 - , noheresync = args['noheresync'] || 0 - , sub_timeout = args['timeout'] || SUB_TIMEOUT - , windowing = args['windowing'] || SUB_WINDOWING - , restore = args['restore']; - - // Restore Enabled? - if (restore) SUB_RESTORE = 1; - - TIMETOKEN = 0; - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // Setup Channel(s) - each( (channel.join ? channel.join(',') : ''+channel).split(','), - function(channel) { - var settings = CHANNELS[channel] || {}; - - // Store Channel State - CHANNELS[SUB_CHANNEL = channel] = { - name : channel, - connected : settings.connected, - disconnected : settings.disconnected, - subscribed : 1, - callback : SUB_CALLBACK = callback, - connect : connect, - disconnect : disconnect, - reconnect : reconnect - }; - - // Presence Enabled? - if (!presence) return; - - // Subscribe Presence Channel - SELF['subscribe']({ - 'channel' : channel + PRESENCE_SUFFIX, - 'callback' : presence - }); - - // Presence Subscribed? - if (settings.subscribed) return; - - // See Who's Here Now? - if (noheresync) return; - SELF['here_now']({ - 'channel' : channel, - 'callback' : function(here) { - each( 'uuids' in here ? here['uuids'] : [], - function(uid) { presence( { - 'action' : 'join', - 'uuid' : uid, - 'timestamp' : rnow(), - 'occupancy' : here['occupancy'] || 1 - }, here, channel ); } ); - } - }); - } ); - - // Test Network Connection - function _test_connection(success) { - if (success) { - // Begin Next Socket Connection - timeout( _connect, SECOND ); - } - else { - // New Origin on Failed Connection - STD_ORIGIN = nextorigin( ORIGIN, 1 ); - SUB_ORIGIN = nextorigin( ORIGIN, 1 ); - - // Re-test Connection - timeout( function() { - SELF['time'](_test_connection); - }, SECOND ); - } - - // Disconnect & Reconnect - each_channel(function(channel){ - // Reconnect - if (success && channel.disconnected) { - channel.disconnected = 0; - return channel.reconnect(channel.name); - } - - // Disconnect - if (!success && !channel.disconnected) { - channel.disconnected = 1; - channel.disconnect(channel.name); - } - }); - } - - // Evented Subscribe - function _connect() { - var jsonp = jsonp_cb() - , channels = generate_channel_list(CHANNELS).join(','); - - // Stop Connection - if (!channels) return; - - // Connect to PubNub Subscribe Servers - SUB_RECEIVER = xdr({ - timeout : sub_timeout, - callback : jsonp, - fail : function() { SELF['time'](_test_connection) }, - data : { 'uuid' : UUID }, - url : [ - SUB_ORIGIN, 'subscribe', - SUBSCRIBE_KEY, encode(channels), - jsonp, TIMETOKEN - ], - success : function(messages) { - if (!messages) return timeout( _connect, windowing ); - - // Connect - each_channel(function(channel){ - if (channel.connected) return; - channel.connected = 1; - channel.connect(channel.name); - }); - - // Restore Previous Connection Point if Needed - TIMETOKEN = !TIMETOKEN && - SUB_RESTORE && - db['get'](SUBSCRIBE_KEY) || messages[1]; - - // Update Saved Timetoken - if (TIMETOKEN) db['set']( SUBSCRIBE_KEY, messages[1] ); - - // Route Channel <---> Callback for Message - var next_callback = (function() { - var channels = (messages.length>2?messages[2]:'') - , list = channels.split(','); - - return function() { - var channel = list.shift()||''; - return [ - (CHANNELS[channel]||{}) - .callback||SUB_CALLBACK, - (channel||SUB_CHANNEL) - .split(PRESENCE_SUFFIX)[0] - ]; - }; - })(); - - each( messages[0], function(msg) { - var next = next_callback(); - if (!CHANNELS[next[1]].subscribed) return; - next[0]( msg, messages, next[1] ); - } ); - - timeout( _connect, windowing ); - } - }); - } - - CONNECT = function() { - // Close Previous Subscribe Connection - SELF['_reset_offline'](); - - // Begin Recursive Subscribe - clearTimeout(SUB_BUFF_WAIT); - SUB_BUFF_WAIT = timeout( _connect, 100 ); - }; - - // Reduce Status Flicker - if (!READY) return READY_BUFFER.push(CONNECT); - - // Connect Now - CONNECT(); - }, - - 'here_now' : function( args, callback ) { - var callback = args['callback'] || callback - , err = args['error'] || function(){} - , channel = args['channel'] - , jsonp = jsonp_cb() - , data = null; - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - if (jsonp != '0') { - data = {}; - data['callback'] = jsonp; - } - - xdr({ - callback : jsonp, - data : data, - success : function(response) { callback(response) }, - fail : err, - url : [ - STD_ORIGIN, 'v2', 'presence', - 'sub_key', SUBSCRIBE_KEY, - 'channel', encode(channel) - ] - }); - }, - - // Expose PUBNUB Functions - 'xdr' : xdr, - 'ready' : ready, - 'db' : db, - 'uuid' : uuid, - 'each' : each, - 'map' : map, - 'grep' : grep, - 'supplant' : supplant, - 'now' : rnow, - 'unique' : unique, - 'updater' : updater, - 'poll_online' : function() { - _is_online() || SELF['_reset_offline'](); - timeout( SELF['poll_online'], SECOND ); - }, - 'poll_online2' : function() { - SELF['time'](function(success){ - success || SELF['_reset_offline'](); - timeout( SELF['poll_online2'], KEEPALIVE ); - }) - } - }; - if (!UUID) UUID = SELF['uuid'](); - db['set']( SUBSCRIBE_KEY + 'uuid', UUID ); - - timeout( SELF['poll_online'], SECOND ); - timeout( SELF['poll_online2'], KEEPALIVE ); - - return SELF; -} -// 3.4/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= JSON =============================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -(window['JSON'] && window['JSON']['stringify']) || (function () { - window['JSON'] || (window['JSON'] = {}); - - function toJSON(key) { - try { return this.valueOf() } - catch(e) { return null } - } - - var cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, - escapable = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, - gap, - indent, - meta = { // table of character substitutions - '\b': '\\b', - '\t': '\\t', - '\n': '\\n', - '\f': '\\f', - '\r': '\\r', - '"' : '\\"', - '\\': '\\\\' - }, - rep; - - function quote(string) { - escapable.lastIndex = 0; - return escapable.test(string) ? - '"' + string.replace(escapable, function (a) { - var c = meta[a]; - return typeof c === 'string' ? c : - '\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4); - }) + '"' : - '"' + string + '"'; - } - - function str(key, holder) { - var i, // The loop counter. - k, // The member key. - v, // The member value. - length, - partial, - mind = gap, - value = holder[key]; - - if (value && typeof value === 'object') { - value = toJSON.call( value, key ); - } - - if (typeof rep === 'function') { - value = rep.call(holder, key, value); - } - - switch (typeof value) { - case 'string': - return quote(value); - - case 'number': - return isFinite(value) ? String(value) : 'null'; - - case 'boolean': - case 'null': - return String(value); - - case 'object': - - if (!value) { - return 'null'; - } - - gap += indent; - partial = []; - - if (Object.prototype.toString.apply(value) === '[object Array]') { - - length = value.length; - for (i = 0; i < length; i += 1) { - partial[i] = str(i, value) || 'null'; - } - - v = partial.length === 0 ? '[]' : - gap ? '[\n' + gap + - partial.join(',\n' + gap) + '\n' + - mind + ']' : - '[' + partial.join(',') + ']'; - gap = mind; - return v; - } - if (rep && typeof rep === 'object') { - length = rep.length; - for (i = 0; i < length; i += 1) { - k = rep[i]; - if (typeof k === 'string') { - v = str(k, value); - if (v) { - partial.push(quote(k) + (gap ? ': ' : ':') + v); - } - } - } - } else { - for (k in value) { - if (Object.hasOwnProperty.call(value, k)) { - v = str(k, value); - if (v) { - partial.push(quote(k) + (gap ? ': ' : ':') + v); - } - } - } - } - - v = partial.length === 0 ? '{}' : - gap ? '{\n' + gap + partial.join(',\n' + gap) + '\n' + - mind + '}' : '{' + partial.join(',') + '}'; - gap = mind; - return v; - } - } - - if (typeof JSON['stringify'] !== 'function') { - JSON['stringify'] = function (value, replacer, space) { - var i; - gap = ''; - indent = ''; - - if (typeof space === 'number') { - for (i = 0; i < space; i += 1) { - indent += ' '; - } - } else if (typeof space === 'string') { - indent = space; - } - rep = replacer; - if (replacer && typeof replacer !== 'function' && - (typeof replacer !== 'object' || - typeof replacer.length !== 'number')) { - throw new Error('JSON.stringify'); - } - return str('', {'': value}); - }; - } - - if (typeof JSON['parse'] !== 'function') { - // JSON is parsed on the server for security. - JSON['parse'] = function (text) {return eval('('+text+')')}; - } -}()); -/* --------------------------------------------------------------------------- -WAIT! - This file depends on instructions from the PUBNUB Cloud. -http://www.pubnub.com/account-javascript-api-include ---------------------------------------------------------------------------- */ - -/* --------------------------------------------------------------------------- -PubNub Real-time Cloud-Hosted Push API and Push Notification Client Frameworks -Copyright (c) 2011 PubNub Inc. -http://www.pubnub.com/ -http://www.pubnub.com/terms ---------------------------------------------------------------------------- */ - -/* --------------------------------------------------------------------------- -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. ---------------------------------------------------------------------------- */ - -/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= UTIL =============================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -window['PUBNUB'] || (function() { - -/** - * UTIL LOCALS - */ - -var SWF = 'https://pubnub.a.ssl.fastly.net/pubnub.swf' -, ASYNC = 'async' -, URLBIT = '/' -, PARAMSBIT = '&' -, UA = navigator.userAgent -, XORIGN = UA.indexOf('MSIE 6') == -1; - -/** - * CONSOLE COMPATIBILITY - */ -window.console || (window.console=window.console||{}); -console.log || ( - console.log = - console.error = - ((window.opera||{}).postError||function(){}) -); - - - -/** - * LOCAL STORAGE OR COOKIE - */ -var db = (function(){ - var ls = window['localStorage']; - return { - 'get' : function(key) { - try { - if (ls) return ls.getItem(key); - if (document.cookie.indexOf(key) == -1) return null; - return ((document.cookie||'').match( - RegExp(key+'=([^;]+)') - )||[])[1] || null; - } catch(e) { return } - }, - 'set' : function( key, value ) { - try { - if (ls) return ls.setItem( key, value ) && 0; - document.cookie = key + '=' + value + - '; expires=Thu, 1 Aug 2030 20:00:00 UTC; path=/'; - } catch(e) { return } - } - }; -})(); - - -/** - * $ - * = - * var div = $('divid'); - */ -function $(id) { return document.getElementById(id) } - -/** - * ERROR - * ===== - * error('message'); - */ -function error(message) { console['error'](message) } - -/** - * SEARCH - * ====== - * var elements = search('a div span'); - */ -function search( elements, start ) { - var list = []; - each( elements.split(/\s+/), function(el) { - each( (start || document).getElementsByTagName(el), function(node) { - list.push(node); - } ); - } ); - return list; -} - - - -/** - * BIND - * ==== - * bind( 'keydown', search('a')[0], function(element) { - * ... - * } ); - */ -function bind( type, el, fun ) { - each( type.split(','), function(etype) { - var rapfun = function(e) { - if (!e) e = window.event; - if (!fun(e)) { - e.cancelBubble = true; - e.returnValue = false; - e.preventDefault && e.preventDefault(); - e.stopPropagation && e.stopPropagation(); - } - }; - - if ( el.addEventListener ) el.addEventListener( etype, rapfun, false ); - else if ( el.attachEvent ) el.attachEvent( 'on' + etype, rapfun ); - else el[ 'on' + etype ] = rapfun; - } ); -} - -/** - * UNBIND - * ====== - * unbind( 'keydown', search('a')[0] ); - */ -function unbind( type, el, fun ) { - if ( el.removeEventListener ) el.removeEventListener( type, false ); - else if ( el.detachEvent ) el.detachEvent( 'on' + type, false ); - else el[ 'on' + type ] = null; -} - -/** - * HEAD - * ==== - * head().appendChild(elm); - */ -function head() { return search('head')[0] } - -/** - * ATTR - * ==== - * var attribute = attr( node, 'attribute' ); - */ -function attr( node, attribute, value ) { - if (value) node.setAttribute( attribute, value ); - else return node && node.getAttribute && node.getAttribute(attribute); -} - -/** - * CSS - * === - * var obj = create('div'); - */ -function css( element, styles ) { - for (var style in styles) if (styles.hasOwnProperty(style)) - try {element.style[style] = styles[style] + ( - '|width|height|top|left|'.indexOf(style) > 0 && - typeof styles[style] == 'number' - ? 'px' : '' - )}catch(e){} -} - -/** - * CREATE - * ====== - * var obj = create('div'); - */ -function create(element) { return document.createElement(element) } - - -/** - * jsonp_cb - * ======== - * var callback = jsonp_cb(); - */ -function jsonp_cb() { return XORIGN || FDomainRequest() ? 0 : unique() } - - - -/** - * EVENTS - * ====== - * PUBNUB.events.bind( 'you-stepped-on-flower', function(message) { - * // Do Stuff with message - * } ); - * - * PUBNUB.events.fire( 'you-stepped-on-flower', "message-data" ); - * PUBNUB.events.fire( 'you-stepped-on-flower', {message:"data"} ); - * PUBNUB.events.fire( 'you-stepped-on-flower', [1,2,3] ); - * - */ -var events = { - 'list' : {}, - 'unbind' : function( name ) { events.list[name] = [] }, - 'bind' : function( name, fun ) { - (events.list[name] = events.list[name] || []).push(fun); - }, - 'fire' : function( name, data ) { - each( - events.list[name] || [], - function(fun) { fun(data) } - ); - } -}; - -/** - * XDR Cross Domain Request - * ======================== - * xdr({ - * url : ['http://www.blah.com/url'], - * success : function(response) {}, - * fail : function() {} - * }); - */ -function xdr( setup ) { - if (XORIGN || FDomainRequest()) return ajax(setup); - - var script = create('script') - , callback = setup.callback - , id = unique() - , finished = 0 - , xhrtme = setup.timeout || DEF_TIMEOUT - , timer = timeout( function(){done(1)}, xhrtme ) - , fail = setup.fail || function(){} - , success = setup.success || function(){} - - , append = function() { - head().appendChild(script); - } - - , done = function( failed, response ) { - if (finished) return; - finished = 1; - - failed || success(response); - script.onerror = null; - clearTimeout(timer); - - timeout( function() { - failed && fail(); - var s = $(id) - , p = s && s.parentNode; - p && p.removeChild(s); - }, SECOND ); - }; - - window[callback] = function(response) { - done( 0, response ); - }; - - if (!setup.blocking) script[ASYNC] = ASYNC; - - script.onerror = function() { done(1) }; - script.src = setup.url.join(URLBIT); - - if (setup.data) { - var params = []; - script.src += "?"; - for (var key in setup.data) { - params.push(key+"="+setup.data[key]); - } - script.src += params.join(PARAMSBIT); - } - attr( script, 'id', id ); - - append(); - return done; -} - -/** - * CORS XHR Request - * ================ - * xdr({ - * url : ['http://www.blah.com/url'], - * success : function(response) {}, - * fail : function() {} - * }); - */ -function ajax( setup ) { - var xhr, response - , finished = function() { - if (loaded) return; - loaded = 1; - - clearTimeout(timer); - - try { response = JSON['parse'](xhr.responseText); } - catch (r) { return done(1); } - - success(response); - } - , complete = 0 - , loaded = 0 - , xhrtme = setup.timeout || DEF_TIMEOUT - , timer = timeout( function(){done(1)}, xhrtme ) - , fail = setup.fail || function(){} - , success = setup.success || function(){} - , done = function(failed) { - if (complete) return; - complete = 1; - - clearTimeout(timer); - - if (xhr) { - xhr.onerror = xhr.onload = null; - xhr.abort && xhr.abort(); - xhr = null; - } - - failed && fail(); - }; - - // Send - try { - xhr = FDomainRequest() || - window.XDomainRequest && - new XDomainRequest() || - new XMLHttpRequest(); - - xhr.onerror = xhr.onabort = function(){ done(1) }; - xhr.onload = xhr.onloadend = finished; - xhr.timeout = xhrtme; - - var url = setup.url.join(URLBIT); - if (setup.data) { - var params = []; - var key; - console.log(setup.data); - url += "?"; - for (key in setup.data) params.push(key+"="+setup.data[key]); - url += params.join(PARAMSBIT); - } - - xhr.open( 'GET', url, (typeof(setup.blocking === 'undefined')) ); - xhr.send(); - } - catch(eee) { - done(0); - XORIGN = 0; - return xdr(setup); - } - - // Return 'done' - return done; -} - - - - // Test Connection State -function _is_online() { - if (!('onLine' in navigator)) return 1; - return navigator['onLine']; -} - - -/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= PUBNUB ===========================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -var PDIV = $('pubnub') || 0 -, CREATE_PUBNUB = function(setup) { - - // Force JSONP if requested from user. - if (setup['jsonp']) XORIGN = 0; - - var SUBSCRIBE_KEY = setup['subscribe_key'] || '' - , KEEPALIVE = (+setup['keepalive'] || DEF_KEEPALIVE) * SECOND - , UUID = setup['uuid'] || db['get'](SUBSCRIBE_KEY+'uuid') || ''; - - setup['xdr'] = xdr; - setup['db'] = db; - setup['_is_online'] = _is_online; - setup['jsonp_cb'] = jsonp_cb; - var SELF = PN_API(setup); - - - SELF['css'] = css; - SELF['$'] = $; - SELF['create'] = create; - SELF['bind'] = bind; - SELF['head'] = head; - SELF['search'] = search; - SELF['attr'] = attr; - SELF['events'] = events; - SELF['init'] = CREATE_PUBNUB; - - // Return without Testing - if (setup['notest']) return SELF; - - // Add Leave Functions - bind( 'beforeunload', window, function() { - each_channel(function(ch){ SELF['LEAVE']( ch.name, 1 ) }); - return true; - } ); - - bind( 'offline', window, SELF['_reset_offline'] ); - bind( 'offline', document, SELF['_reset_offline'] ); - - // Return PUBNUB Socket Object - return SELF; -}; - - - -// Bind for PUBNUB Readiness to Subscribe -bind( 'load', window, function(){ timeout( ready, 0 ) } ); - -var pdiv = PDIV || {}; - -// CREATE A PUBNUB GLOBAL OBJECT -PUBNUB = CREATE_PUBNUB({ - 'notest' : 1, - 'publish_key' : attr( pdiv, 'pub-key' ), - 'subscribe_key' : attr( pdiv, 'sub-key' ), - 'ssl' : !document.location.href.indexOf('https') || - attr( pdiv, 'ssl' ) == 'on', - 'origin' : attr( pdiv, 'origin' ), - 'uuid' : attr( pdiv, 'uuid' ) -}); - -// jQuery Interface -window['jQuery'] && (window['jQuery']['PUBNUB'] = PUBNUB); - -// For Modern JS + Testling.js - http://testling.com/ -typeof(module) !== 'undefined' && (module['exports'] = PUBNUB) && ready(); - -var pubnubs = $('pubnubs') || 0; - -// LEAVE NOW IF NO PDIV. -if (!PDIV) return; - -// PUBNUB Flash Socket -css( PDIV, { 'position' : 'absolute', 'top' : -SECOND } ); - -if ('opera' in window || attr( PDIV, 'flash' )) PDIV['innerHTML'] = - ''; - -// Create Interface for Opera Flash -PUBNUB['rdx'] = function( id, data ) { - if (!data) return FDomainRequest[id]['onerror'](); - FDomainRequest[id]['responseText'] = unescape(data); - FDomainRequest[id]['onload'](); -}; - -function FDomainRequest() { - if (!pubnubs || !pubnubs['get']) return 0; - - var fdomainrequest = { - 'id' : FDomainRequest['id']++, - 'send' : function() {}, - 'abort' : function() { fdomainrequest['id'] = {} }, - 'open' : function( method, url ) { - FDomainRequest[fdomainrequest['id']] = fdomainrequest; - pubnubs['get']( fdomainrequest['id'], url ); - } - }; - - return fdomainrequest; -} -FDomainRequest['id'] = SECOND; - -})(); -(function(){ - -// --------------------------------------------------------------------------- -// WEBSOCKET INTERFACE -// --------------------------------------------------------------------------- -var WS = PUBNUB['ws'] = function( url, protocols ) { - if (!(this instanceof WS)) return new WS( url, protocols ); - - var self = this - , url = self.url = url || '' - , protocol = self.protocol = protocols || 'Sec-WebSocket-Protocol' - , bits = url.split('/') - , setup = { - 'ssl' : bits[0] === 'wss:' - ,'origin' : bits[2] - ,'publish_key' : bits[3] - ,'subscribe_key' : bits[4] - ,'channel' : bits[5] - }; - - // READY STATES - self['CONNECTING'] = 0; // The connection is not yet open. - self['OPEN'] = 1; // The connection is open and ready to communicate. - self['CLOSING'] = 2; // The connection is in the process of closing. - self['CLOSED'] = 3; // The connection is closed or couldn't be opened. - - // CLOSE STATES - self['CLOSE_NORMAL'] = 1000; // Normal Intended Close; completed. - self['CLOSE_GOING_AWAY'] = 1001; // Closed Unexpecttedly. - self['CLOSE_PROTOCOL_ERROR'] = 1002; // Server: Not Supported. - self['CLOSE_UNSUPPORTED'] = 1003; // Server: Unsupported Protocol. - self['CLOSE_TOO_LARGE'] = 1004; // Server: Too Much Data. - self['CLOSE_NO_STATUS'] = 1005; // Server: No reason. - self['CLOSE_ABNORMAL'] = 1006; // Abnormal Disconnect. - - // Events Default - self['onclose'] = self['onerror'] = - self['onmessage'] = self['onopen'] = - self['onsend'] = function(){}; - - // Attributes - self['binaryType'] = ''; - self['extensions'] = ''; - self['bufferedAmount'] = 0; - self['trasnmitting'] = false; - self['buffer'] = []; - self['readyState'] = self['CONNECTING']; - - // Close if no setup. - if (!url) { - self['readyState'] = self['CLOSED']; - self['onclose']({ - 'code' : self['CLOSE_ABNORMAL'], - 'reason' : 'Missing URL', - 'wasClean' : true - }); - return self; - } - - // PubNub WebSocket Emulation - self.pubnub = PUBNUB['init'](setup); - self.pubnub.setup = setup; - self.setup = setup; - - self.pubnub['subscribe']({ - 'restore' : false, - 'channel' : setup['channel'], - 'disconnect' : self['onerror'], - 'reconnect' : self['onopen'], - 'error' : function() { - self['onclose']({ - 'code' : self['CLOSE_ABNORMAL'], - 'reason' : 'Missing URL', - 'wasClean' : false - }); - }, - 'callback' : function(message) { - self['onmessage']({ 'data' : message }); - }, - 'connect' : function() { - self['readyState'] = self['OPEN']; - self['onopen'](); - } - }); -}; - -// --------------------------------------------------------------------------- -// WEBSOCKET SEND -// --------------------------------------------------------------------------- -WS.prototype.send = function(data) { - var self = this; - self.pubnub['publish']({ - 'channel' : self.pubnub.setup['channel'], - 'message' : data, - 'callback' : function(response) { - self['onsend']({ 'data' : response }); - } - }); -}; - -// --------------------------------------------------------------------------- -// WEBSOCKET CLOSE -// --------------------------------------------------------------------------- -WS.prototype.close = function() { - var self = this; - self.pubnub['unsubscribe']({ 'channel' : self.pubnub.setup['channel'] }); - self['readyState'] = self['CLOSED']; - self['onclose']({}); -}; - -})(); -(function(){ - -// --------------------------------------------------------------------------- -// WEBSOCKET INTERFACE -// --------------------------------------------------------------------------- -var WS = PUBNUB['ws'] = function( url, protocols ) { - if (!(this instanceof WS)) return new WS( url, protocols ); - - var self = this - , url = self.url = url || '' - , protocol = self.protocol = protocols || 'Sec-WebSocket-Protocol' - , bits = url.split('/') - , setup = { - 'ssl' : bits[0] === 'wss:' - ,'origin' : bits[2] - ,'publish_key' : bits[3] - ,'subscribe_key' : bits[4] - ,'channel' : bits[5] - }; - - // READY STATES - self['CONNECTING'] = 0; // The connection is not yet open. - self['OPEN'] = 1; // The connection is open and ready to communicate. - self['CLOSING'] = 2; // The connection is in the process of closing. - self['CLOSED'] = 3; // The connection is closed or couldn't be opened. - - // CLOSE STATES - self['CLOSE_NORMAL'] = 1000; // Normal Intended Close; completed. - self['CLOSE_GOING_AWAY'] = 1001; // Closed Unexpecttedly. - self['CLOSE_PROTOCOL_ERROR'] = 1002; // Server: Not Supported. - self['CLOSE_UNSUPPORTED'] = 1003; // Server: Unsupported Protocol. - self['CLOSE_TOO_LARGE'] = 1004; // Server: Too Much Data. - self['CLOSE_NO_STATUS'] = 1005; // Server: No reason. - self['CLOSE_ABNORMAL'] = 1006; // Abnormal Disconnect. - - // Events Default - self['onclose'] = self['onerror'] = - self['onmessage'] = self['onopen'] = - self['onsend'] = function(){}; - - // Attributes - self['binaryType'] = ''; - self['extensions'] = ''; - self['bufferedAmount'] = 0; - self['trasnmitting'] = false; - self['buffer'] = []; - self['readyState'] = self['CONNECTING']; - - // Close if no setup. - if (!url) { - self['readyState'] = self['CLOSED']; - self['onclose']({ - 'code' : self['CLOSE_ABNORMAL'], - 'reason' : 'Missing URL', - 'wasClean' : true - }); - return self; - } - - // PubNub WebSocket Emulation - self.pubnub = PUBNUB['init'](setup); - self.pubnub.setup = setup; - self.setup = setup; - - self.pubnub['subscribe']({ - 'restore' : false, - 'channel' : setup['channel'], - 'disconnect' : self['onerror'], - 'reconnect' : self['onopen'], - 'error' : function() { - self['onclose']({ - 'code' : self['CLOSE_ABNORMAL'], - 'reason' : 'Missing URL', - 'wasClean' : false - }); - }, - 'callback' : function(message) { - self['onmessage']({ 'data' : message }); - }, - 'connect' : function() { - self['readyState'] = self['OPEN']; - self['onopen'](); - } - }); -}; - -// --------------------------------------------------------------------------- -// WEBSOCKET SEND -// --------------------------------------------------------------------------- -WS.prototype.send = function(data) { - var self = this; - self.pubnub['publish']({ - 'channel' : self.pubnub.setup['channel'], - 'message' : data, - 'callback' : function(response) { - self['onsend']({ 'data' : response }); - } - }); -}; - -// --------------------------------------------------------------------------- -// WEBSOCKET CLOSE -// --------------------------------------------------------------------------- -WS.prototype.close = function() { - var self = this; - self.pubnub['unsubscribe']({ 'channel' : self.pubnub.setup['channel'] }); - self['readyState'] = self['CLOSED']; - self['onclose']({}); -}; - -})(); -/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= JSON =============================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -(window['JSON'] && window['JSON']['stringify']) || (function () { - window['JSON'] || (window['JSON'] = {}); - - function toJSON(key) { - try { return this.valueOf() } - catch(e) { return null } - } - - var cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, - escapable = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, - gap, - indent, - meta = { // table of character substitutions - '\b': '\\b', - '\t': '\\t', - '\n': '\\n', - '\f': '\\f', - '\r': '\\r', - '"' : '\\"', - '\\': '\\\\' - }, - rep; - - function quote(string) { - escapable.lastIndex = 0; - return escapable.test(string) ? - '"' + string.replace(escapable, function (a) { - var c = meta[a]; - return typeof c === 'string' ? c : - '\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4); - }) + '"' : - '"' + string + '"'; - } - - function str(key, holder) { - var i, // The loop counter. - k, // The member key. - v, // The member value. - length, - partial, - mind = gap, - value = holder[key]; - - if (value && typeof value === 'object') { - value = toJSON.call( value, key ); - } - - if (typeof rep === 'function') { - value = rep.call(holder, key, value); - } - - switch (typeof value) { - case 'string': - return quote(value); - - case 'number': - return isFinite(value) ? String(value) : 'null'; - - case 'boolean': - case 'null': - return String(value); - - case 'object': - - if (!value) { - return 'null'; - } - - gap += indent; - partial = []; - - if (Object.prototype.toString.apply(value) === '[object Array]') { - - length = value.length; - for (i = 0; i < length; i += 1) { - partial[i] = str(i, value) || 'null'; - } - - v = partial.length === 0 ? '[]' : - gap ? '[\n' + gap + - partial.join(',\n' + gap) + '\n' + - mind + ']' : - '[' + partial.join(',') + ']'; - gap = mind; - return v; - } - if (rep && typeof rep === 'object') { - length = rep.length; - for (i = 0; i < length; i += 1) { - k = rep[i]; - if (typeof k === 'string') { - v = str(k, value); - if (v) { - partial.push(quote(k) + (gap ? ': ' : ':') + v); - } - } - } - } else { - for (k in value) { - if (Object.hasOwnProperty.call(value, k)) { - v = str(k, value); - if (v) { - partial.push(quote(k) + (gap ? ': ' : ':') + v); - } - } - } - } - - v = partial.length === 0 ? '{}' : - gap ? '{\n' + gap + partial.join(',\n' + gap) + '\n' + - mind + '}' : '{' + partial.join(',') + '}'; - gap = mind; - return v; - } - } - - if (typeof JSON['stringify'] !== 'function') { - JSON['stringify'] = function (value, replacer, space) { - var i; - gap = ''; - indent = ''; - - if (typeof space === 'number') { - for (i = 0; i < space; i += 1) { - indent += ' '; - } - } else if (typeof space === 'string') { - indent = space; - } - rep = replacer; - if (replacer && typeof replacer !== 'function' && - (typeof replacer !== 'object' || - typeof replacer.length !== 'number')) { - throw new Error('JSON.stringify'); - } - return str('', {'': value}); - }; - } - - if (typeof JSON['parse'] !== 'function') { - // JSON is parsed on the server for security. - JSON['parse'] = function (text) {return eval('('+text+')')}; - } -}()); -var NOW = 1 -, READY = false -, READY_BUFFER = [] -, PRESENCE_SUFFIX = '-pnpres' -, DEF_WINDOWING = 10 // MILLISECONDS. -, DEF_TIMEOUT = 10000 // MILLISECONDS. -, DEF_SUB_TIMEOUT = 310 // SECONDS. -, DEF_KEEPALIVE = 60 // SECONDS. -, SECOND = 1000 // A THOUSAND MILLISECONDS. -, REPL = /{([\w\-]+)}/g; - -/** - * UTILITIES - */ -function unique() { return'x'+ ++NOW+''+(+new Date) } -function rnow() { return+new Date } - -/** - * NEXTORIGIN - * ========== - * var next_origin = nextorigin(); - */ -var nextorigin = (function() { - var max = 20 - , ori = Math.floor(Math.random() * max); - return function( origin, failover ) { - return origin.indexOf('pubsub.') > 0 - && origin.replace( - 'pubsub', 'ps' + ( - failover ? uuid().split('-')[0] : - (++ori < max? ori : ori=1) - ) ) || origin; - } -})(); - -/** - * UPDATER - * ======= - * var timestamp = unique(); - */ -function updater( fun, rate ) { - var timeout - , last = 0 - , runnit = function() { - if (last + rate > rnow()) { - clearTimeout(timeout); - timeout = setTimeout( runnit, rate ); - } - else { - last = rnow(); - fun(); - } - }; - - return runnit; -} - -/** - * GREP - * ==== - * var list = grep( [1,2,3], function(item) { return item % 2 } ) - */ -function grep( list, fun ) { - var fin = []; - each( list || [], function(l) { fun(l) && fin.push(l) } ); - return fin -} - -/** - * SUPPLANT - * ======== - * var text = supplant( 'Hello {name}!', { name : 'John' } ) - */ -function supplant( str, values ) { - return str.replace( REPL, function( _, match ) { - return values[match] || _ - } ); -} - -/** - * timeout - * ======= - * timeout( function(){}, 100 ); - */ -function timeout( fun, wait ) { - return setTimeout( fun, wait ); -} - -/** - * uuid - * ==== - * var my_uuid = uuid(); - */ -function uuid(callback) { - var u = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, - function(c) { - var r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8); - return v.toString(16); - }); - if (callback) callback(u); - return u; -} - -/** - * EACH - * ==== - * each( [1,2,3], function(item) { } ) - */ -function each( o, f ) { - if ( !o || !f ) return; - - if ( typeof o[0] != 'undefined' ) - for ( var i = 0, l = o.length; i < l; ) - f.call( o[i], o[i], i++ ); - else - for ( var i in o ) - o.hasOwnProperty && - o.hasOwnProperty(i) && - f.call( o[i], i, o[i] ); -} - -/** - * MAP - * === - * var list = map( [1,2,3], function(item) { return item + 1 } ) - */ -function map( list, fun ) { - var fin = []; - each( list || [], function( k, v ) { fin.push(fun( k, v )) } ); - return fin; -} - -/** - * ENCODE - * ====== - * var encoded_path = encode('path'); - */ -function encode(path) { - return map( (encodeURIComponent(path)).split(''), function(chr) { - return "-_.!~*'()".indexOf(chr) < 0 ? chr : - "%"+chr.charCodeAt(0).toString(16).toUpperCase() - } ).join(''); -} - -/** - * Generate Subscription Channel List - * ================================== - * generate_channel_list(channels_object); - */ -function generate_channel_list(channels) { - var list = []; - each( channels, function( channel, status ) { - if (status.subscribed) list.push(channel); - } ); - return list.sort(); -} - -// PUBNUB READY TO CONNECT - function ready() { timeout( function() { - if (READY) return; - READY = 1; - each( READY_BUFFER, function(connect) { connect() } ); - }, SECOND ); } - -function PN_API(setup) { - var SUB_WINDOWING = +setup['windowing'] || DEF_WINDOWING - , SUB_TIMEOUT = (+setup['timeout'] || DEF_SUB_TIMEOUT) * SECOND - , KEEPALIVE = (+setup['keepalive'] || DEF_KEEPALIVE) * SECOND - , PUBLISH_KEY = setup['publish_key'] || '' - , SUBSCRIBE_KEY = setup['subscribe_key'] || '' - , SSL = setup['ssl'] ? 's' : '' - , ORIGIN = 'http'+SSL+'://'+(setup['origin']||'pubsub.pubnub.com') - , STD_ORIGIN = nextorigin(ORIGIN) - , SUB_ORIGIN = nextorigin(ORIGIN) - , CONNECT = function(){} - , PUB_QUEUE = [] - , SUB_CALLBACK = 0 - , SUB_CHANNEL = 0 - , SUB_RECEIVER = 0 - , SUB_RESTORE = 0 - , SUB_BUFF_WAIT = 0 - , TIMETOKEN = 0 - , CHANNELS = {} - , xdr = setup['xdr'] - , _is_online = setup['_is_online'] || function() { return 1; } - , jsonp_cb = setup['jsonp_cb'] || function(){ return 0; } - , db = setup['db'] || {'get': function(){}, 'set': function(){}} - , UUID = setup['uuid'] || ( db && db['get'](SUBSCRIBE_KEY+'uuid') || ''); - - - - function publish(next) { - if (next) PUB_QUEUE.sending = 0; - if (PUB_QUEUE.sending || !PUB_QUEUE.length) return; - PUB_QUEUE.sending = 1; - xdr(PUB_QUEUE.shift()); - } - - function each_channel(callback) { - each( generate_channel_list(CHANNELS), function(channel) { - var chan = CHANNELS[channel]; - if (!chan) return; - callback(chan); - } ); - } - - // Announce Leave Event - - - var SELF = { - - '_reset_offline' : function() { - SUB_RECEIVER && SUB_RECEIVER(1); - }, - - 'LEAVE' : function( channel, blocking ) { - var data = { 'uuid' : UUID } - , origin = nextorigin(ORIGIN) - , jsonp = jsonp_cb(); - - // Prevent Leaving a Presence Channel - if (channel.indexOf(PRESENCE_SUFFIX) > 0) return; - - if (jsonp != '0') data['callback'] = jsonp; - - xdr({ - blocking : blocking || SSL, - timeout : 2000, - callback : jsonp, - data : data, - url : [ - origin, 'v2', 'presence', 'sub_key', - SUBSCRIBE_KEY, 'channel', encode(channel), 'leave' - ] - }); - }, - /* - PUBNUB.history({ - channel : 'my_chat_channel', - limit : 100, - callback : function(history) { } - }); - */ - 'history' : function( args, callback ) { - var callback = args['callback'] || callback - , count = args['count'] || args['limit'] || 100 - , reverse = args['reverse'] || "false" - , err = args['error'] || function(){} - , channel = args['channel'] - , start = args['start'] - , end = args['end'] - , params = {} - , jsonp = jsonp_cb(); - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - params['stringtoken'] = 'true'; - params['count'] = count; - params['reverse'] = reverse; - - if (jsonp) params['callback'] = jsonp; - if (start) params['start'] = start; - if (end) params['end'] = end; - - // Send Message - xdr({ - callback : jsonp, - data : params, - success : function(response) { callback(response) }, - fail : err, - url : [ - STD_ORIGIN, 'v2', 'history', 'sub-key', - SUBSCRIBE_KEY, 'channel', encode(channel) - ] - }); - }, - - /* - PUBNUB.replay({ - source : 'my_channel', - destination : 'new_channel' - }); - */ - 'replay' : function(args) { - var callback = callback || args['callback'] || function(){} - , source = args['source'] - , destination = args['destination'] - , stop = args['stop'] - , start = args['start'] - , end = args['end'] - , reverse = args['reverse'] - , limit = args['limit'] - , jsonp = jsonp_cb() - , data = {} - , url; - - // Check User Input - if (!source) return error('Missing Source Channel'); - if (!destination) return error('Missing Destination Channel'); - if (!PUBLISH_KEY) return error('Missing Publish Key'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // Setup URL Params - if (jsonp != '0') data['callback'] = jsonp; - if (stop) data['stop'] = 'all'; - if (reverse) data['reverse'] = 'true'; - if (start) data['start'] = start; - if (end) data['end'] = end; - if (limit) data['count'] = limit; - - // Compose URL Parts - url = [ - STD_ORIGIN, 'v1', 'replay', - PUBLISH_KEY, SUBSCRIBE_KEY, - source, destination - ]; - - // Start (or Stop) Replay! - xdr({ - callback : jsonp, - success : function(response) { callback(response) }, - fail : function() { callback([ 0, 'Disconnected' ]) }, - url : url, - data : data - }); - }, - - /* - PUBNUB.time(function(time){ }); - */ - 'time' : function(callback) { - var jsonp = jsonp_cb(); - xdr({ - callback : jsonp, - timeout : SECOND*5, - url : [STD_ORIGIN, 'time', jsonp], - success : function(response) { callback(response[0]) }, - fail : function() { callback(0) } - }); - }, - - /* - PUBNUB.publish({ - channel : 'my_chat_channel', - message : 'hello!' - }); - */ - 'publish' : function( args, callback ) { - var callback = callback || args['callback'] || function(){} - , msg = args['message'] - , channel = args['channel'] - , jsonp = jsonp_cb() - , url; - - if (!msg) return error('Missing Message'); - if (!channel) return error('Missing Channel'); - if (!PUBLISH_KEY) return error('Missing Publish Key'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // If trying to send Object - msg = JSON['stringify'](msg); - - // Create URL - url = [ - STD_ORIGIN, 'publish', - PUBLISH_KEY, SUBSCRIBE_KEY, - 0, encode(channel), - jsonp, encode(msg) - ]; - - // Queue Message Send - PUB_QUEUE.push({ - callback : jsonp, - timeout : SECOND*5, - url : url, - data : { 'uuid' : UUID }, - success : function(response){callback(response);publish(1)}, - fail : function(){callback([0,'Failed',msg]);publish(1)} - }); - - // Send Message - publish(); - }, - - /* - PUBNUB.unsubscribe({ channel : 'my_chat' }); - */ - 'unsubscribe' : function(args) { - var channel = args['channel']; - - TIMETOKEN = 0; - SUB_RESTORE = 1; - - // Prepare Channel(s) - channel = map( ( - channel.join ? channel.join(',') : ''+channel - ).split(','), function(channel) { - return channel + ',' + channel + PRESENCE_SUFFIX; - } ).join(','); - - // Iterate over Channels - each( channel.split(','), function(channel) { - if (READY) SELF['LEAVE']( channel, 0 ); - CHANNELS[channel] = 0; - } ); - - // ReOpen Connection if Any Channels Left - if (READY) CONNECT(); - }, - - /* - PUBNUB.subscribe({ - channel : 'my_chat' - callback : function(message) { } - }); - */ - 'subscribe' : function( args, callback ) { - var channel = args['channel'] - , callback = callback || args['callback'] - , callback = callback || args['message'] - , connect = args['connect'] || function(){} - , reconnect = args['reconnect'] || function(){} - , disconnect = args['disconnect'] || function(){} - , presence = args['presence'] || 0 - , noheresync = args['noheresync'] || 0 - , backfill = args['backfill'] || 0 - , sub_timeout = args['timeout'] || SUB_TIMEOUT - , windowing = args['windowing'] || SUB_WINDOWING - , restore = args['restore']; - - // Restore Enabled? - if (restore) SUB_RESTORE = 1; - - TIMETOKEN = 0; - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // Setup Channel(s) - each( (channel.join ? channel.join(',') : ''+channel).split(','), - function(channel) { - var settings = CHANNELS[channel] || {}; - - // Store Channel State - CHANNELS[SUB_CHANNEL = channel] = { - name : channel, - connected : settings.connected, - disconnected : settings.disconnected, - subscribed : 1, - callback : SUB_CALLBACK = callback, - connect : connect, - disconnect : disconnect, - reconnect : reconnect - }; - - // Presence Enabled? - if (!presence) return; - - // Subscribe Presence Channel - SELF['subscribe']({ - 'channel' : channel + PRESENCE_SUFFIX, - 'callback' : presence - }); - - // Presence Subscribed? - if (settings.subscribed) return; - - // See Who's Here Now? - if (noheresync) return; - SELF['here_now']({ - 'channel' : channel, - 'callback' : function(here) { - each( 'uuids' in here ? here['uuids'] : [], - function(uid) { presence( { - 'action' : 'join', - 'uuid' : uid, - 'timestamp' : rnow(), - 'occupancy' : here['occupancy'] || 1 - }, here, channel ); } ); - } - }); - } ); - - // Test Network Connection - function _test_connection(success) { - if (success) { - // Begin Next Socket Connection - timeout( _connect, SECOND ); - } - else { - // New Origin on Failed Connection - STD_ORIGIN = nextorigin( ORIGIN, 1 ); - SUB_ORIGIN = nextorigin( ORIGIN, 1 ); - - // Re-test Connection - timeout( function() { - SELF['time'](_test_connection); - }, SECOND ); - } - - // Disconnect & Reconnect - each_channel(function(channel){ - // Reconnect - if (success && channel.disconnected) { - channel.disconnected = 0; - return channel.reconnect(channel.name); - } - - // Disconnect - if (!success && !channel.disconnected) { - channel.disconnected = 1; - channel.disconnect(channel.name); - } - }); - } - - // Evented Subscribe - function _connect() { - var jsonp = jsonp_cb() - , channels = generate_channel_list(CHANNELS).join(','); - - // Stop Connection - if (!channels) return; - - // Connect to PubNub Subscribe Servers - SUB_RECEIVER = xdr({ - timeout : sub_timeout, - callback : jsonp, - fail : function() { SELF['time'](_test_connection) }, - data : { 'uuid' : UUID }, - url : [ - SUB_ORIGIN, 'subscribe', - SUBSCRIBE_KEY, encode(channels), - jsonp, TIMETOKEN - ], - success : function(messages) { - if (!messages) return timeout( _connect, windowing ); - - // Connect - each_channel(function(channel){ - if (channel.connected) return; - channel.connected = 1; - channel.connect(channel.name); - }); - - // Restore Previous Connection Point if Needed - TIMETOKEN = !TIMETOKEN && - SUB_RESTORE && - db['get'](SUBSCRIBE_KEY) || messages[1]; - - - if (backfill) { - Timetoken = 10000; - backfill = 0; - } - - // Update Saved Timetoken - db['set']( SUBSCRIBE_KEY, messages[1] ); - - // Route Channel <---> Callback for Message - var next_callback = (function() { - var channels = (messages.length>2?messages[2]:'') - , list = channels.split(','); - - return function() { - var channel = list.shift()||''; - return [ - (CHANNELS[channel]||{}) - .callback||SUB_CALLBACK, - (channel||SUB_CHANNEL) - .split(PRESENCE_SUFFIX)[0] - ]; - }; - })(); - - each( messages[0], function(msg) { - var next = next_callback(); - if (!CHANNELS[next[1]].subscribed) return; - next[0]( msg, messages, next[1] ); - } ); - - timeout( _connect, windowing ); - } - }); - } - - CONNECT = function() { - // Close Previous Subscribe Connection - SELF['_reset_offline'](); - - // Begin Recursive Subscribe - clearTimeout(SUB_BUFF_WAIT); - SUB_BUFF_WAIT = timeout( _connect, 100 ); - }; - - // Reduce Status Flicker - if (!READY) return READY_BUFFER.push(CONNECT); - - // Connect Now - CONNECT(); - }, - - 'here_now' : function( args, callback ) { - var callback = args['callback'] || callback - , err = args['error'] || function(){} - , channel = args['channel'] - , jsonp = jsonp_cb() - , data = null; - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - if (jsonp != '0') { - data = {}; - data['callback'] = jsonp; - } - - xdr({ - callback : jsonp, - data : data, - success : function(response) { callback(response) }, - fail : err, - url : [ - STD_ORIGIN, 'v2', 'presence', - 'sub_key', SUBSCRIBE_KEY, - 'channel', encode(channel) - ] - }); - }, - - // Expose PUBNUB Functions - 'xdr' : xdr, - 'ready' : ready, - 'db' : db, - 'uuid' : uuid, - 'each' : each, - 'map' : map, - 'grep' : grep, - 'supplant' : supplant, - 'now' : rnow, - 'unique' : unique, - 'updater' : updater, - 'poll_online' : function() { - _is_online() || SELF['_reset_offline'](); - timeout( SELF['poll_online'], SECOND ); - }, - 'poll_online2' : function() { - SELF['time'](function(success){ - success || SELF['_reset_offline'](); - timeout( SELF['poll_online2'], KEEPALIVE ); - }) - } - }; - if (!UUID) UUID = SELF['uuid'](); - db['set']( SUBSCRIBE_KEY + 'uuid', UUID ); - - timeout( SELF['poll_online'], SECOND ); - timeout( SELF['poll_online2'], KEEPALIVE ); - - return SELF; -} -// 3.4/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= JSON =============================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -(window['JSON'] && window['JSON']['stringify']) || (function () { - window['JSON'] || (window['JSON'] = {}); - - function toJSON(key) { - try { return this.valueOf() } - catch(e) { return null } - } - - var cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, - escapable = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, - gap, - indent, - meta = { // table of character substitutions - '\b': '\\b', - '\t': '\\t', - '\n': '\\n', - '\f': '\\f', - '\r': '\\r', - '"' : '\\"', - '\\': '\\\\' - }, - rep; - - function quote(string) { - escapable.lastIndex = 0; - return escapable.test(string) ? - '"' + string.replace(escapable, function (a) { - var c = meta[a]; - return typeof c === 'string' ? c : - '\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4); - }) + '"' : - '"' + string + '"'; - } - - function str(key, holder) { - var i, // The loop counter. - k, // The member key. - v, // The member value. - length, - partial, - mind = gap, - value = holder[key]; - - if (value && typeof value === 'object') { - value = toJSON.call( value, key ); - } - - if (typeof rep === 'function') { - value = rep.call(holder, key, value); - } - - switch (typeof value) { - case 'string': - return quote(value); - - case 'number': - return isFinite(value) ? String(value) : 'null'; - - case 'boolean': - case 'null': - return String(value); - - case 'object': - - if (!value) { - return 'null'; - } - - gap += indent; - partial = []; - - if (Object.prototype.toString.apply(value) === '[object Array]') { - - length = value.length; - for (i = 0; i < length; i += 1) { - partial[i] = str(i, value) || 'null'; - } - - v = partial.length === 0 ? '[]' : - gap ? '[\n' + gap + - partial.join(',\n' + gap) + '\n' + - mind + ']' : - '[' + partial.join(',') + ']'; - gap = mind; - return v; - } - if (rep && typeof rep === 'object') { - length = rep.length; - for (i = 0; i < length; i += 1) { - k = rep[i]; - if (typeof k === 'string') { - v = str(k, value); - if (v) { - partial.push(quote(k) + (gap ? ': ' : ':') + v); - } - } - } - } else { - for (k in value) { - if (Object.hasOwnProperty.call(value, k)) { - v = str(k, value); - if (v) { - partial.push(quote(k) + (gap ? ': ' : ':') + v); - } - } - } - } - - v = partial.length === 0 ? '{}' : - gap ? '{\n' + gap + partial.join(',\n' + gap) + '\n' + - mind + '}' : '{' + partial.join(',') + '}'; - gap = mind; - return v; - } - } - - if (typeof JSON['stringify'] !== 'function') { - JSON['stringify'] = function (value, replacer, space) { - var i; - gap = ''; - indent = ''; - - if (typeof space === 'number') { - for (i = 0; i < space; i += 1) { - indent += ' '; - } - } else if (typeof space === 'string') { - indent = space; - } - rep = replacer; - if (replacer && typeof replacer !== 'function' && - (typeof replacer !== 'object' || - typeof replacer.length !== 'number')) { - throw new Error('JSON.stringify'); - } - return str('', {'': value}); - }; - } - - if (typeof JSON['parse'] !== 'function') { - // JSON is parsed on the server for security. - JSON['parse'] = function (text) {return eval('('+text+')')}; - } -}()); -/* --------------------------------------------------------------------------- -WAIT! - This file depends on instructions from the PUBNUB Cloud. -http://www.pubnub.com/account-javascript-api-include ---------------------------------------------------------------------------- */ - -/* --------------------------------------------------------------------------- -PubNub Real-time Cloud-Hosted Push API and Push Notification Client Frameworks -Copyright (c) 2011 PubNub Inc. -http://www.pubnub.com/ -http://www.pubnub.com/terms ---------------------------------------------------------------------------- */ - -/* --------------------------------------------------------------------------- -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. ---------------------------------------------------------------------------- */ - -/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= UTIL =============================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -window['PUBNUB'] || (function() { - -/** - * UTIL LOCALS - */ - -var SWF = 'https://pubnub.a.ssl.fastly.net/pubnub.swf' -, ASYNC = 'async' -, URLBIT = '/' -, PARAMSBIT = '&' -, UA = navigator.userAgent -, XORIGN = UA.indexOf('MSIE 6') == -1; - -/** - * CONSOLE COMPATIBILITY - */ -window.console || (window.console=window.console||{}); -console.log || ( - console.log = - console.error = - ((window.opera||{}).postError||function(){}) -); - - - -/** - * LOCAL STORAGE OR COOKIE - */ -var db = (function(){ - var ls = window['localStorage']; - return { - 'get' : function(key) { - try { - if (ls) return ls.getItem(key); - if (document.cookie.indexOf(key) == -1) return null; - return ((document.cookie||'').match( - RegExp(key+'=([^;]+)') - )||[])[1] || null; - } catch(e) { return } - }, - 'set' : function( key, value ) { - try { - if (ls) return ls.setItem( key, value ) && 0; - document.cookie = key + '=' + value + - '; expires=Thu, 1 Aug 2030 20:00:00 UTC; path=/'; - } catch(e) { return } - } - }; -})(); - - -/** - * $ - * = - * var div = $('divid'); - */ -function $(id) { return document.getElementById(id) } - -/** - * ERROR - * ===== - * error('message'); - */ -function error(message) { console['error'](message) } - -/** - * SEARCH - * ====== - * var elements = search('a div span'); - */ -function search( elements, start ) { - var list = []; - each( elements.split(/\s+/), function(el) { - each( (start || document).getElementsByTagName(el), function(node) { - list.push(node); - } ); - } ); - return list; -} - - - -/** - * BIND - * ==== - * bind( 'keydown', search('a')[0], function(element) { - * ... - * } ); - */ -function bind( type, el, fun ) { - each( type.split(','), function(etype) { - var rapfun = function(e) { - if (!e) e = window.event; - if (!fun(e)) { - e.cancelBubble = true; - e.returnValue = false; - e.preventDefault && e.preventDefault(); - e.stopPropagation && e.stopPropagation(); - } - }; - - if ( el.addEventListener ) el.addEventListener( etype, rapfun, false ); - else if ( el.attachEvent ) el.attachEvent( 'on' + etype, rapfun ); - else el[ 'on' + etype ] = rapfun; - } ); -} - -/** - * UNBIND - * ====== - * unbind( 'keydown', search('a')[0] ); - */ -function unbind( type, el, fun ) { - if ( el.removeEventListener ) el.removeEventListener( type, false ); - else if ( el.detachEvent ) el.detachEvent( 'on' + type, false ); - else el[ 'on' + type ] = null; -} - -/** - * HEAD - * ==== - * head().appendChild(elm); - */ -function head() { return search('head')[0] } - -/** - * ATTR - * ==== - * var attribute = attr( node, 'attribute' ); - */ -function attr( node, attribute, value ) { - if (value) node.setAttribute( attribute, value ); - else return node && node.getAttribute && node.getAttribute(attribute); -} - -/** - * CSS - * === - * var obj = create('div'); - */ -function css( element, styles ) { - for (var style in styles) if (styles.hasOwnProperty(style)) - try {element.style[style] = styles[style] + ( - '|width|height|top|left|'.indexOf(style) > 0 && - typeof styles[style] == 'number' - ? 'px' : '' - )}catch(e){} -} - -/** - * CREATE - * ====== - * var obj = create('div'); - */ -function create(element) { return document.createElement(element) } - - -/** - * jsonp_cb - * ======== - * var callback = jsonp_cb(); - */ -function jsonp_cb() { return XORIGN || FDomainRequest() ? 0 : unique() } - - - -/** - * EVENTS - * ====== - * PUBNUB.events.bind( 'you-stepped-on-flower', function(message) { - * // Do Stuff with message - * } ); - * - * PUBNUB.events.fire( 'you-stepped-on-flower', "message-data" ); - * PUBNUB.events.fire( 'you-stepped-on-flower', {message:"data"} ); - * PUBNUB.events.fire( 'you-stepped-on-flower', [1,2,3] ); - * - */ -var events = { - 'list' : {}, - 'unbind' : function( name ) { events.list[name] = [] }, - 'bind' : function( name, fun ) { - (events.list[name] = events.list[name] || []).push(fun); - }, - 'fire' : function( name, data ) { - each( - events.list[name] || [], - function(fun) { fun(data) } - ); - } -}; - -/** - * XDR Cross Domain Request - * ======================== - * xdr({ - * url : ['http://www.blah.com/url'], - * success : function(response) {}, - * fail : function() {} - * }); - */ -function xdr( setup ) { - if (XORIGN || FDomainRequest()) return ajax(setup); - - var script = create('script') - , callback = setup.callback - , id = unique() - , finished = 0 - , xhrtme = setup.timeout || DEF_TIMEOUT - , timer = timeout( function(){done(1)}, xhrtme ) - , fail = setup.fail || function(){} - , success = setup.success || function(){} - - , append = function() { - head().appendChild(script); - } - - , done = function( failed, response ) { - if (finished) return; - finished = 1; - - failed || success(response); - script.onerror = null; - clearTimeout(timer); - - timeout( function() { - failed && fail(); - var s = $(id) - , p = s && s.parentNode; - p && p.removeChild(s); - }, SECOND ); - }; - - window[callback] = function(response) { - done( 0, response ); - }; - - if (!setup.blocking) script[ASYNC] = ASYNC; - - script.onerror = function() { done(1) }; - script.src = setup.url.join(URLBIT); - - if (setup.data) { - var params = []; - script.src += "?"; - for (var key in setup.data) { - params.push(key+"="+setup.data[key]); - } - script.src += params.join(PARAMSBIT); - } - attr( script, 'id', id ); - - append(); - return done; -} - -/** - * CORS XHR Request - * ================ - * xdr({ - * url : ['http://www.blah.com/url'], - * success : function(response) {}, - * fail : function() {} - * }); - */ -function ajax( setup ) { - var xhr, response - , finished = function() { - if (loaded) return; - loaded = 1; - - clearTimeout(timer); - - try { response = JSON['parse'](xhr.responseText); } - catch (r) { return done(1); } - - success(response); - } - , complete = 0 - , loaded = 0 - , xhrtme = setup.timeout || DEF_TIMEOUT - , timer = timeout( function(){done(1)}, xhrtme ) - , fail = setup.fail || function(){} - , success = setup.success || function(){} - , done = function(failed) { - if (complete) return; - complete = 1; - - clearTimeout(timer); - - if (xhr) { - xhr.onerror = xhr.onload = null; - xhr.abort && xhr.abort(); - xhr = null; - } - - failed && fail(); - }; - - // Send - try { - xhr = FDomainRequest() || - window.XDomainRequest && - new XDomainRequest() || - new XMLHttpRequest(); - - xhr.onerror = xhr.onabort = function(){ done(1) }; - xhr.onload = xhr.onloadend = finished; - xhr.timeout = xhrtme; - - var url = setup.url.join(URLBIT); - if (setup.data) { - var params = []; - var key; - console.log(setup.data); - url += "?"; - for (key in setup.data) params.push(key+"="+setup.data[key]); - url += params.join(PARAMSBIT); - } - - xhr.open( 'GET', url, (typeof(setup.blocking === 'undefined')) ); - xhr.send(); - } - catch(eee) { - done(0); - XORIGN = 0; - return xdr(setup); - } - - // Return 'done' - return done; -} - - - - // Test Connection State -function _is_online() { - if (!('onLine' in navigator)) return 1; - return navigator['onLine']; -} - - -/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= PUBNUB ===========================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -var PDIV = $('pubnub') || 0 -, CREATE_PUBNUB = function(setup) { - - // Force JSONP if requested from user. - if (setup['jsonp']) XORIGN = 0; - - var SUBSCRIBE_KEY = setup['subscribe_key'] || '' - , KEEPALIVE = (+setup['keepalive'] || DEF_KEEPALIVE) * SECOND - , UUID = setup['uuid'] || db['get'](SUBSCRIBE_KEY+'uuid') || ''; - - setup['xdr'] = xdr; - setup['db'] = db; - setup['_is_online'] = _is_online; - setup['jsonp_cb'] = jsonp_cb; - var SELF = PN_API(setup); - - - SELF['css'] = css; - SELF['$'] = $; - SELF['create'] = create; - SELF['bind'] = bind; - SELF['head'] = head; - SELF['search'] = search; - SELF['attr'] = attr; - SELF['events'] = events; - SELF['init'] = CREATE_PUBNUB; - - // Return without Testing - if (setup['notest']) return SELF; - - // Add Leave Functions - bind( 'beforeunload', window, function() { - each_channel(function(ch){ SELF['LEAVE']( ch.name, 1 ) }); - return true; - } ); - - bind( 'offline', window, SELF['_reset_offline'] ); - bind( 'offline', document, SELF['_reset_offline'] ); - - // Return PUBNUB Socket Object - return SELF; -}; - - - -// Bind for PUBNUB Readiness to Subscribe -bind( 'load', window, function(){ timeout( ready, 0 ) } ); - -var pdiv = PDIV || {}; - -// CREATE A PUBNUB GLOBAL OBJECT -PUBNUB = CREATE_PUBNUB({ - 'notest' : 1, - 'publish_key' : attr( pdiv, 'pub-key' ), - 'subscribe_key' : attr( pdiv, 'sub-key' ), - 'ssl' : !document.location.href.indexOf('https') || - attr( pdiv, 'ssl' ) == 'on', - 'origin' : attr( pdiv, 'origin' ), - 'uuid' : attr( pdiv, 'uuid' ) -}); - -// jQuery Interface -window['jQuery'] && (window['jQuery']['PUBNUB'] = PUBNUB); - -// For Modern JS + Testling.js - http://testling.com/ -typeof(module) !== 'undefined' && (module['exports'] = PUBNUB) && ready(); - -var pubnubs = $('pubnubs') || 0; - -// LEAVE NOW IF NO PDIV. -if (!PDIV) return; - -// PUBNUB Flash Socket -css( PDIV, { 'position' : 'absolute', 'top' : -SECOND } ); - -if ('opera' in window || attr( PDIV, 'flash' )) PDIV['innerHTML'] = - ''; - -// Create Interface for Opera Flash -PUBNUB['rdx'] = function( id, data ) { - if (!data) return FDomainRequest[id]['onerror'](); - FDomainRequest[id]['responseText'] = unescape(data); - FDomainRequest[id]['onload'](); -}; - -function FDomainRequest() { - if (!pubnubs || !pubnubs['get']) return 0; - - var fdomainrequest = { - 'id' : FDomainRequest['id']++, - 'send' : function() {}, - 'abort' : function() { fdomainrequest['id'] = {} }, - 'open' : function( method, url ) { - FDomainRequest[fdomainrequest['id']] = fdomainrequest; - pubnubs['get']( fdomainrequest['id'], url ); - } - }; - - return fdomainrequest; -} -FDomainRequest['id'] = SECOND; - -})(); -(function(){ - -// --------------------------------------------------------------------------- -// WEBSOCKET INTERFACE -// --------------------------------------------------------------------------- -var WS = PUBNUB['ws'] = function( url, protocols ) { - if (!(this instanceof WS)) return new WS( url, protocols ); - - var self = this - , url = self.url = url || '' - , protocol = self.protocol = protocols || 'Sec-WebSocket-Protocol' - , bits = url.split('/') - , setup = { - 'ssl' : bits[0] === 'wss:' - ,'origin' : bits[2] - ,'publish_key' : bits[3] - ,'subscribe_key' : bits[4] - ,'channel' : bits[5] - }; - - // READY STATES - self['CONNECTING'] = 0; // The connection is not yet open. - self['OPEN'] = 1; // The connection is open and ready to communicate. - self['CLOSING'] = 2; // The connection is in the process of closing. - self['CLOSED'] = 3; // The connection is closed or couldn't be opened. - - // CLOSE STATES - self['CLOSE_NORMAL'] = 1000; // Normal Intended Close; completed. - self['CLOSE_GOING_AWAY'] = 1001; // Closed Unexpecttedly. - self['CLOSE_PROTOCOL_ERROR'] = 1002; // Server: Not Supported. - self['CLOSE_UNSUPPORTED'] = 1003; // Server: Unsupported Protocol. - self['CLOSE_TOO_LARGE'] = 1004; // Server: Too Much Data. - self['CLOSE_NO_STATUS'] = 1005; // Server: No reason. - self['CLOSE_ABNORMAL'] = 1006; // Abnormal Disconnect. - - // Events Default - self['onclose'] = self['onerror'] = - self['onmessage'] = self['onopen'] = - self['onsend'] = function(){}; - - // Attributes - self['binaryType'] = ''; - self['extensions'] = ''; - self['bufferedAmount'] = 0; - self['trasnmitting'] = false; - self['buffer'] = []; - self['readyState'] = self['CONNECTING']; - - // Close if no setup. - if (!url) { - self['readyState'] = self['CLOSED']; - self['onclose']({ - 'code' : self['CLOSE_ABNORMAL'], - 'reason' : 'Missing URL', - 'wasClean' : true - }); - return self; - } - - // PubNub WebSocket Emulation - self.pubnub = PUBNUB['init'](setup); - self.pubnub.setup = setup; - self.setup = setup; - - self.pubnub['subscribe']({ - 'restore' : false, - 'channel' : setup['channel'], - 'disconnect' : self['onerror'], - 'reconnect' : self['onopen'], - 'error' : function() { - self['onclose']({ - 'code' : self['CLOSE_ABNORMAL'], - 'reason' : 'Missing URL', - 'wasClean' : false - }); - }, - 'callback' : function(message) { - self['onmessage']({ 'data' : message }); - }, - 'connect' : function() { - self['readyState'] = self['OPEN']; - self['onopen'](); - } - }); -}; - -// --------------------------------------------------------------------------- -// WEBSOCKET SEND -// --------------------------------------------------------------------------- -WS.prototype.send = function(data) { - var self = this; - self.pubnub['publish']({ - 'channel' : self.pubnub.setup['channel'], - 'message' : data, - 'callback' : function(response) { - self['onsend']({ 'data' : response }); - } - }); -}; - -// --------------------------------------------------------------------------- -// WEBSOCKET CLOSE -// --------------------------------------------------------------------------- -WS.prototype.close = function() { - var self = this; - self.pubnub['unsubscribe']({ 'channel' : self.pubnub.setup['channel'] }); - self['readyState'] = self['CLOSED']; - self['onclose']({}); -}; - -})(); -(function(){ - -// --------------------------------------------------------------------------- -// WEBSOCKET INTERFACE -// --------------------------------------------------------------------------- -var WS = PUBNUB['ws'] = function( url, protocols ) { - if (!(this instanceof WS)) return new WS( url, protocols ); - - var self = this - , url = self.url = url || '' - , protocol = self.protocol = protocols || 'Sec-WebSocket-Protocol' - , bits = url.split('/') - , setup = { - 'ssl' : bits[0] === 'wss:' - ,'origin' : bits[2] - ,'publish_key' : bits[3] - ,'subscribe_key' : bits[4] - ,'channel' : bits[5] - }; - - // READY STATES - self['CONNECTING'] = 0; // The connection is not yet open. - self['OPEN'] = 1; // The connection is open and ready to communicate. - self['CLOSING'] = 2; // The connection is in the process of closing. - self['CLOSED'] = 3; // The connection is closed or couldn't be opened. - - // CLOSE STATES - self['CLOSE_NORMAL'] = 1000; // Normal Intended Close; completed. - self['CLOSE_GOING_AWAY'] = 1001; // Closed Unexpecttedly. - self['CLOSE_PROTOCOL_ERROR'] = 1002; // Server: Not Supported. - self['CLOSE_UNSUPPORTED'] = 1003; // Server: Unsupported Protocol. - self['CLOSE_TOO_LARGE'] = 1004; // Server: Too Much Data. - self['CLOSE_NO_STATUS'] = 1005; // Server: No reason. - self['CLOSE_ABNORMAL'] = 1006; // Abnormal Disconnect. - - // Events Default - self['onclose'] = self['onerror'] = - self['onmessage'] = self['onopen'] = - self['onsend'] = function(){}; - - // Attributes - self['binaryType'] = ''; - self['extensions'] = ''; - self['bufferedAmount'] = 0; - self['trasnmitting'] = false; - self['buffer'] = []; - self['readyState'] = self['CONNECTING']; - - // Close if no setup. - if (!url) { - self['readyState'] = self['CLOSED']; - self['onclose']({ - 'code' : self['CLOSE_ABNORMAL'], - 'reason' : 'Missing URL', - 'wasClean' : true - }); - return self; - } - - // PubNub WebSocket Emulation - self.pubnub = PUBNUB['init'](setup); - self.pubnub.setup = setup; - self.setup = setup; - - self.pubnub['subscribe']({ - 'restore' : false, - 'channel' : setup['channel'], - 'disconnect' : self['onerror'], - 'reconnect' : self['onopen'], - 'error' : function() { - self['onclose']({ - 'code' : self['CLOSE_ABNORMAL'], - 'reason' : 'Missing URL', - 'wasClean' : false - }); - }, - 'callback' : function(message) { - self['onmessage']({ 'data' : message }); - }, - 'connect' : function() { - self['readyState'] = self['OPEN']; - self['onopen'](); - } - }); -}; - -// --------------------------------------------------------------------------- -// WEBSOCKET SEND -// --------------------------------------------------------------------------- -WS.prototype.send = function(data) { - var self = this; - self.pubnub['publish']({ - 'channel' : self.pubnub.setup['channel'], - 'message' : data, - 'callback' : function(response) { - self['onsend']({ 'data' : response }); - } - }); -}; - -// --------------------------------------------------------------------------- -// WEBSOCKET CLOSE -// --------------------------------------------------------------------------- -WS.prototype.close = function() { - var self = this; - self.pubnub['unsubscribe']({ 'channel' : self.pubnub.setup['channel'] }); - self['readyState'] = self['CLOSED']; - self['onclose']({}); -}; - -})(); -/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= JSON =============================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -(window['JSON'] && window['JSON']['stringify']) || (function () { - window['JSON'] || (window['JSON'] = {}); - - function toJSON(key) { - try { return this.valueOf() } - catch(e) { return null } - } - - var cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, - escapable = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, - gap, - indent, - meta = { // table of character substitutions - '\b': '\\b', - '\t': '\\t', - '\n': '\\n', - '\f': '\\f', - '\r': '\\r', - '"' : '\\"', - '\\': '\\\\' - }, - rep; - - function quote(string) { - escapable.lastIndex = 0; - return escapable.test(string) ? - '"' + string.replace(escapable, function (a) { - var c = meta[a]; - return typeof c === 'string' ? c : - '\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4); - }) + '"' : - '"' + string + '"'; - } - - function str(key, holder) { - var i, // The loop counter. - k, // The member key. - v, // The member value. - length, - partial, - mind = gap, - value = holder[key]; - - if (value && typeof value === 'object') { - value = toJSON.call( value, key ); - } - - if (typeof rep === 'function') { - value = rep.call(holder, key, value); - } - - switch (typeof value) { - case 'string': - return quote(value); - - case 'number': - return isFinite(value) ? String(value) : 'null'; - - case 'boolean': - case 'null': - return String(value); - - case 'object': - - if (!value) { - return 'null'; - } - - gap += indent; - partial = []; - - if (Object.prototype.toString.apply(value) === '[object Array]') { - - length = value.length; - for (i = 0; i < length; i += 1) { - partial[i] = str(i, value) || 'null'; - } - - v = partial.length === 0 ? '[]' : - gap ? '[\n' + gap + - partial.join(',\n' + gap) + '\n' + - mind + ']' : - '[' + partial.join(',') + ']'; - gap = mind; - return v; - } - if (rep && typeof rep === 'object') { - length = rep.length; - for (i = 0; i < length; i += 1) { - k = rep[i]; - if (typeof k === 'string') { - v = str(k, value); - if (v) { - partial.push(quote(k) + (gap ? ': ' : ':') + v); - } - } - } - } else { - for (k in value) { - if (Object.hasOwnProperty.call(value, k)) { - v = str(k, value); - if (v) { - partial.push(quote(k) + (gap ? ': ' : ':') + v); - } - } - } - } - - v = partial.length === 0 ? '{}' : - gap ? '{\n' + gap + partial.join(',\n' + gap) + '\n' + - mind + '}' : '{' + partial.join(',') + '}'; - gap = mind; - return v; - } - } - - if (typeof JSON['stringify'] !== 'function') { - JSON['stringify'] = function (value, replacer, space) { - var i; - gap = ''; - indent = ''; - - if (typeof space === 'number') { - for (i = 0; i < space; i += 1) { - indent += ' '; - } - } else if (typeof space === 'string') { - indent = space; - } - rep = replacer; - if (replacer && typeof replacer !== 'function' && - (typeof replacer !== 'object' || - typeof replacer.length !== 'number')) { - throw new Error('JSON.stringify'); - } - return str('', {'': value}); - }; - } - - if (typeof JSON['parse'] !== 'function') { - // JSON is parsed on the server for security. - JSON['parse'] = function (text) {return eval('('+text+')')}; - } -}()); -var NOW = 1 -, READY = false -, READY_BUFFER = [] -, PRESENCE_SUFFIX = '-pnpres' -, DEF_WINDOWING = 10 // MILLISECONDS. -, DEF_TIMEOUT = 10000 // MILLISECONDS. -, DEF_SUB_TIMEOUT = 310 // SECONDS. -, DEF_KEEPALIVE = 60 // SECONDS. -, SECOND = 1000 // A THOUSAND MILLISECONDS. -, REPL = /{([\w\-]+)}/g; - -/** - * UTILITIES - */ -function unique() { return'x'+ ++NOW+''+(+new Date) } -function rnow() { return+new Date } - -/** - * NEXTORIGIN - * ========== - * var next_origin = nextorigin(); - */ -var nextorigin = (function() { - var max = 20 - , ori = Math.floor(Math.random() * max); - return function( origin, failover ) { - return origin.indexOf('pubsub.') > 0 - && origin.replace( - 'pubsub', 'ps' + ( - failover ? uuid().split('-')[0] : - (++ori < max? ori : ori=1) - ) ) || origin; - } -})(); - -/** - * UPDATER - * ======= - * var timestamp = unique(); - */ -function updater( fun, rate ) { - var timeout - , last = 0 - , runnit = function() { - if (last + rate > rnow()) { - clearTimeout(timeout); - timeout = setTimeout( runnit, rate ); - } - else { - last = rnow(); - fun(); - } - }; - - return runnit; -} - -/** - * GREP - * ==== - * var list = grep( [1,2,3], function(item) { return item % 2 } ) - */ -function grep( list, fun ) { - var fin = []; - each( list || [], function(l) { fun(l) && fin.push(l) } ); - return fin -} - -/** - * SUPPLANT - * ======== - * var text = supplant( 'Hello {name}!', { name : 'John' } ) - */ -function supplant( str, values ) { - return str.replace( REPL, function( _, match ) { - return values[match] || _ - } ); -} - -/** - * timeout - * ======= - * timeout( function(){}, 100 ); - */ -function timeout( fun, wait ) { - return setTimeout( fun, wait ); -} - -/** - * uuid - * ==== - * var my_uuid = uuid(); - */ -function uuid(callback) { - var u = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, - function(c) { - var r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8); - return v.toString(16); - }); - if (callback) callback(u); - return u; -} - -/** - * EACH - * ==== - * each( [1,2,3], function(item) { } ) - */ -function each( o, f ) { - if ( !o || !f ) return; - - if ( typeof o[0] != 'undefined' ) - for ( var i = 0, l = o.length; i < l; ) - f.call( o[i], o[i], i++ ); - else - for ( var i in o ) - o.hasOwnProperty && - o.hasOwnProperty(i) && - f.call( o[i], i, o[i] ); -} - -/** - * MAP - * === - * var list = map( [1,2,3], function(item) { return item + 1 } ) - */ -function map( list, fun ) { - var fin = []; - each( list || [], function( k, v ) { fin.push(fun( k, v )) } ); - return fin; -} - -/** - * ENCODE - * ====== - * var encoded_path = encode('path'); - */ -function encode(path) { - return map( (encodeURIComponent(path)).split(''), function(chr) { - return "-_.!~*'()".indexOf(chr) < 0 ? chr : - "%"+chr.charCodeAt(0).toString(16).toUpperCase() - } ).join(''); -} - -/** - * Generate Subscription Channel List - * ================================== - * generate_channel_list(channels_object); - */ -function generate_channel_list(channels) { - var list = []; - each( channels, function( channel, status ) { - if (status.subscribed) list.push(channel); - } ); - return list.sort(); -} - -// PUBNUB READY TO CONNECT - function ready() { timeout( function() { - if (READY) return; - READY = 1; - each( READY_BUFFER, function(connect) { connect() } ); - }, SECOND ); } - -function PN_API(setup) { - var SUB_WINDOWING = +setup['windowing'] || DEF_WINDOWING - , SUB_TIMEOUT = (+setup['timeout'] || DEF_SUB_TIMEOUT) * SECOND - , KEEPALIVE = (+setup['keepalive'] || DEF_KEEPALIVE) * SECOND - , PUBLISH_KEY = setup['publish_key'] || '' - , SUBSCRIBE_KEY = setup['subscribe_key'] || '' - , SSL = setup['ssl'] ? 's' : '' - , ORIGIN = 'http'+SSL+'://'+(setup['origin']||'pubsub.pubnub.com') - , STD_ORIGIN = nextorigin(ORIGIN) - , SUB_ORIGIN = nextorigin(ORIGIN) - , CONNECT = function(){} - , PUB_QUEUE = [] - , SUB_CALLBACK = 0 - , SUB_CHANNEL = 0 - , SUB_RECEIVER = 0 - , SUB_RESTORE = 0 - , SUB_BUFF_WAIT = 0 - , TIMETOKEN = 0 - , CHANNELS = {} - , xdr = setup['xdr'] - , _is_online = setup['_is_online'] || function() { return 1; } - , jsonp_cb = setup['jsonp_cb'] || function(){ return 0; } - , db = setup['db'] || {'get': function(){}, 'set': function(){}} - , UUID = setup['uuid'] || ( db && db['get'](SUBSCRIBE_KEY+'uuid') || ''); - - - - function publish(next) { - if (next) PUB_QUEUE.sending = 0; - if (PUB_QUEUE.sending || !PUB_QUEUE.length) return; - PUB_QUEUE.sending = 1; - xdr(PUB_QUEUE.shift()); - } - - function each_channel(callback) { - each( generate_channel_list(CHANNELS), function(channel) { - var chan = CHANNELS[channel]; - if (!chan) return; - callback(chan); - } ); - } - - // Announce Leave Event - - - var SELF = { - - '_reset_offline' : function() { - SUB_RECEIVER && SUB_RECEIVER(1); - }, - - 'LEAVE' : function( channel, blocking ) { - var data = { 'uuid' : UUID } - , origin = nextorigin(ORIGIN) - , jsonp = jsonp_cb(); - - // Prevent Leaving a Presence Channel - if (channel.indexOf(PRESENCE_SUFFIX) > 0) return; - - if (jsonp != '0') data['callback'] = jsonp; - - xdr({ - blocking : blocking || SSL, - timeout : 2000, - callback : jsonp, - data : data, - url : [ - origin, 'v2', 'presence', 'sub_key', - SUBSCRIBE_KEY, 'channel', encode(channel), 'leave' - ] - }); - }, - /* - PUBNUB.history({ - channel : 'my_chat_channel', - limit : 100, - callback : function(history) { } - }); - */ - 'history' : function( args, callback ) { - var callback = args['callback'] || callback - , count = args['count'] || args['limit'] || 100 - , reverse = args['reverse'] || "false" - , err = args['error'] || function(){} - , channel = args['channel'] - , start = args['start'] - , end = args['end'] - , params = {} - , jsonp = jsonp_cb(); - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - params['stringtoken'] = 'true'; - params['count'] = count; - params['reverse'] = reverse; - - if (jsonp) params['callback'] = jsonp; - if (start) params['start'] = start; - if (end) params['end'] = end; - - // Send Message - xdr({ - callback : jsonp, - data : params, - success : function(response) { callback(response) }, - fail : err, - url : [ - STD_ORIGIN, 'v2', 'history', 'sub-key', - SUBSCRIBE_KEY, 'channel', encode(channel) - ] - }); - }, - - /* - PUBNUB.replay({ - source : 'my_channel', - destination : 'new_channel' - }); - */ - 'replay' : function(args) { - var callback = callback || args['callback'] || function(){} - , source = args['source'] - , destination = args['destination'] - , stop = args['stop'] - , start = args['start'] - , end = args['end'] - , reverse = args['reverse'] - , limit = args['limit'] - , jsonp = jsonp_cb() - , data = {} - , url; - - // Check User Input - if (!source) return error('Missing Source Channel'); - if (!destination) return error('Missing Destination Channel'); - if (!PUBLISH_KEY) return error('Missing Publish Key'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // Setup URL Params - if (jsonp != '0') data['callback'] = jsonp; - if (stop) data['stop'] = 'all'; - if (reverse) data['reverse'] = 'true'; - if (start) data['start'] = start; - if (end) data['end'] = end; - if (limit) data['count'] = limit; - - // Compose URL Parts - url = [ - STD_ORIGIN, 'v1', 'replay', - PUBLISH_KEY, SUBSCRIBE_KEY, - source, destination - ]; - - // Start (or Stop) Replay! - xdr({ - callback : jsonp, - success : function(response) { callback(response) }, - fail : function() { callback([ 0, 'Disconnected' ]) }, - url : url, - data : data - }); - }, - - /* - PUBNUB.time(function(time){ }); - */ - 'time' : function(callback) { - var jsonp = jsonp_cb(); - xdr({ - callback : jsonp, - timeout : SECOND*5, - url : [STD_ORIGIN, 'time', jsonp], - success : function(response) { callback(response[0]) }, - fail : function() { callback(0) } - }); - }, - - /* - PUBNUB.publish({ - channel : 'my_chat_channel', - message : 'hello!' - }); - */ - 'publish' : function( args, callback ) { - var callback = callback || args['callback'] || function(){} - , msg = args['message'] - , channel = args['channel'] - , jsonp = jsonp_cb() - , url; - - if (!msg) return error('Missing Message'); - if (!channel) return error('Missing Channel'); - if (!PUBLISH_KEY) return error('Missing Publish Key'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // If trying to send Object - msg = JSON['stringify'](msg); - - // Create URL - url = [ - STD_ORIGIN, 'publish', - PUBLISH_KEY, SUBSCRIBE_KEY, - 0, encode(channel), - jsonp, encode(msg) - ]; - - // Queue Message Send - PUB_QUEUE.push({ - callback : jsonp, - timeout : SECOND*5, - url : url, - data : { 'uuid' : UUID }, - success : function(response){callback(response);publish(1)}, - fail : function(){callback([0,'Failed',msg]);publish(1)} - }); - - // Send Message - publish(); - }, - - /* - PUBNUB.unsubscribe({ channel : 'my_chat' }); - */ - 'unsubscribe' : function(args) { - var channel = args['channel']; - - TIMETOKEN = 0; - SUB_RESTORE = 1; - - // Prepare Channel(s) - channel = map( ( - channel.join ? channel.join(',') : ''+channel - ).split(','), function(channel) { - return channel + ',' + channel + PRESENCE_SUFFIX; - } ).join(','); - - // Iterate over Channels - each( channel.split(','), function(channel) { - if (READY) SELF['LEAVE']( channel, 0 ); - CHANNELS[channel] = 0; - } ); - - // ReOpen Connection if Any Channels Left - if (READY) CONNECT(); - }, - - /* - PUBNUB.subscribe({ - channel : 'my_chat' - callback : function(message) { } - }); - */ - 'subscribe' : function( args, callback ) { - var channel = args['channel'] - , callback = callback || args['callback'] - , callback = callback || args['message'] - , connect = args['connect'] || function(){} - , reconnect = args['reconnect'] || function(){} - , disconnect = args['disconnect'] || function(){} - , presence = args['presence'] || 0 - , noheresync = args['noheresync'] || 0 - , backfill = args['backfill'] || 0 - , sub_timeout = args['timeout'] || SUB_TIMEOUT - , windowing = args['windowing'] || SUB_WINDOWING - , restore = args['restore']; - - // Restore Enabled? - if (restore) SUB_RESTORE = 1; - - TIMETOKEN = 0; - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // Setup Channel(s) - each( (channel.join ? channel.join(',') : ''+channel).split(','), - function(channel) { - var settings = CHANNELS[channel] || {}; - - // Store Channel State - CHANNELS[SUB_CHANNEL = channel] = { - name : channel, - connected : settings.connected, - disconnected : settings.disconnected, - subscribed : 1, - callback : SUB_CALLBACK = callback, - connect : connect, - disconnect : disconnect, - reconnect : reconnect - }; - - // Presence Enabled? - if (!presence) return; - - // Subscribe Presence Channel - SELF['subscribe']({ - 'channel' : channel + PRESENCE_SUFFIX, - 'callback' : presence - }); - - // Presence Subscribed? - if (settings.subscribed) return; - - // See Who's Here Now? - if (noheresync) return; - SELF['here_now']({ - 'channel' : channel, - 'callback' : function(here) { - each( 'uuids' in here ? here['uuids'] : [], - function(uid) { presence( { - 'action' : 'join', - 'uuid' : uid, - 'timestamp' : rnow(), - 'occupancy' : here['occupancy'] || 1 - }, here, channel ); } ); - } - }); - } ); - - // Test Network Connection - function _test_connection(success) { - if (success) { - // Begin Next Socket Connection - timeout( _connect, SECOND ); - } - else { - // New Origin on Failed Connection - STD_ORIGIN = nextorigin( ORIGIN, 1 ); - SUB_ORIGIN = nextorigin( ORIGIN, 1 ); - - // Re-test Connection - timeout( function() { - SELF['time'](_test_connection); - }, SECOND ); - } - - // Disconnect & Reconnect - each_channel(function(channel){ - // Reconnect - if (success && channel.disconnected) { - channel.disconnected = 0; - return channel.reconnect(channel.name); - } - - // Disconnect - if (!success && !channel.disconnected) { - channel.disconnected = 1; - channel.disconnect(channel.name); - } - }); - } - - // Evented Subscribe - function _connect() { - var jsonp = jsonp_cb() - , channels = generate_channel_list(CHANNELS).join(','); - - // Stop Connection - if (!channels) return; - - // Connect to PubNub Subscribe Servers - SUB_RECEIVER = xdr({ - timeout : sub_timeout, - callback : jsonp, - fail : function() { SELF['time'](_test_connection) }, - data : { 'uuid' : UUID }, - url : [ - SUB_ORIGIN, 'subscribe', - SUBSCRIBE_KEY, encode(channels), - jsonp, TIMETOKEN - ], - success : function(messages) { - if (!messages) return timeout( _connect, windowing ); - - // Connect - each_channel(function(channel){ - if (channel.connected) return; - channel.connected = 1; - channel.connect(channel.name); - }); - - // Restore Previous Connection Point if Needed - TIMETOKEN = !TIMETOKEN && - SUB_RESTORE && - db['get'](SUBSCRIBE_KEY) || messages[1]; - - - if (backfill) { - Timetoken = 10000; - backfill = 0; - } - - // Update Saved Timetoken - db['set']( SUBSCRIBE_KEY, messages[1] ); - - // Route Channel <---> Callback for Message - var next_callback = (function() { - var channels = (messages.length>2?messages[2]:'') - , list = channels.split(','); - - return function() { - var channel = list.shift()||''; - return [ - (CHANNELS[channel]||{}) - .callback||SUB_CALLBACK, - (channel||SUB_CHANNEL) - .split(PRESENCE_SUFFIX)[0] - ]; - }; - })(); - - each( messages[0], function(msg) { - var next = next_callback(); - if (!CHANNELS[next[1]].subscribed) return; - next[0]( msg, messages, next[1] ); - } ); - - timeout( _connect, windowing ); - } - }); - } - - CONNECT = function() { - // Close Previous Subscribe Connection - SELF['_reset_offline'](); - - // Begin Recursive Subscribe - clearTimeout(SUB_BUFF_WAIT); - SUB_BUFF_WAIT = timeout( _connect, 100 ); - }; - - // Reduce Status Flicker - if (!READY) return READY_BUFFER.push(CONNECT); - - // Connect Now - CONNECT(); - }, - - 'here_now' : function( args, callback ) { - var callback = args['callback'] || callback - , err = args['error'] || function(){} - , channel = args['channel'] - , jsonp = jsonp_cb() - , data = null; - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - if (jsonp != '0') { - data = {}; - data['callback'] = jsonp; - } - - xdr({ - callback : jsonp, - data : data, - success : function(response) { callback(response) }, - fail : err, - url : [ - STD_ORIGIN, 'v2', 'presence', - 'sub_key', SUBSCRIBE_KEY, - 'channel', encode(channel) - ] - }); - }, - - // Expose PUBNUB Functions - 'xdr' : xdr, - 'ready' : ready, - 'db' : db, - 'uuid' : uuid, - 'each' : each, - 'map' : map, - 'grep' : grep, - 'supplant' : supplant, - 'now' : rnow, - 'unique' : unique, - 'updater' : updater, - 'poll_online' : function() { - _is_online() || SELF['_reset_offline'](); - timeout( SELF['poll_online'], SECOND ); - }, - 'poll_online2' : function() { - SELF['time'](function(success){ - success || SELF['_reset_offline'](); - timeout( SELF['poll_online2'], KEEPALIVE ); - }) - } - }; - if (!UUID) UUID = SELF['uuid'](); - db['set']( SUBSCRIBE_KEY + 'uuid', UUID ); - - timeout( SELF['poll_online'], SECOND ); - timeout( SELF['poll_online2'], KEEPALIVE ); - - return SELF; -} -// 3.4/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= JSON =============================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -(window['JSON'] && window['JSON']['stringify']) || (function () { - window['JSON'] || (window['JSON'] = {}); - - function toJSON(key) { - try { return this.valueOf() } - catch(e) { return null } - } - - var cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, - escapable = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, - gap, - indent, - meta = { // table of character substitutions - '\b': '\\b', - '\t': '\\t', - '\n': '\\n', - '\f': '\\f', - '\r': '\\r', - '"' : '\\"', - '\\': '\\\\' - }, - rep; - - function quote(string) { - escapable.lastIndex = 0; - return escapable.test(string) ? - '"' + string.replace(escapable, function (a) { - var c = meta[a]; - return typeof c === 'string' ? c : - '\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4); - }) + '"' : - '"' + string + '"'; - } - - function str(key, holder) { - var i, // The loop counter. - k, // The member key. - v, // The member value. - length, - partial, - mind = gap, - value = holder[key]; - - if (value && typeof value === 'object') { - value = toJSON.call( value, key ); - } - - if (typeof rep === 'function') { - value = rep.call(holder, key, value); - } - - switch (typeof value) { - case 'string': - return quote(value); - - case 'number': - return isFinite(value) ? String(value) : 'null'; - - case 'boolean': - case 'null': - return String(value); - - case 'object': - - if (!value) { - return 'null'; - } - - gap += indent; - partial = []; - - if (Object.prototype.toString.apply(value) === '[object Array]') { - - length = value.length; - for (i = 0; i < length; i += 1) { - partial[i] = str(i, value) || 'null'; - } - - v = partial.length === 0 ? '[]' : - gap ? '[\n' + gap + - partial.join(',\n' + gap) + '\n' + - mind + ']' : - '[' + partial.join(',') + ']'; - gap = mind; - return v; - } - if (rep && typeof rep === 'object') { - length = rep.length; - for (i = 0; i < length; i += 1) { - k = rep[i]; - if (typeof k === 'string') { - v = str(k, value); - if (v) { - partial.push(quote(k) + (gap ? ': ' : ':') + v); - } - } - } - } else { - for (k in value) { - if (Object.hasOwnProperty.call(value, k)) { - v = str(k, value); - if (v) { - partial.push(quote(k) + (gap ? ': ' : ':') + v); - } - } - } - } - - v = partial.length === 0 ? '{}' : - gap ? '{\n' + gap + partial.join(',\n' + gap) + '\n' + - mind + '}' : '{' + partial.join(',') + '}'; - gap = mind; - return v; - } - } - - if (typeof JSON['stringify'] !== 'function') { - JSON['stringify'] = function (value, replacer, space) { - var i; - gap = ''; - indent = ''; - - if (typeof space === 'number') { - for (i = 0; i < space; i += 1) { - indent += ' '; - } - } else if (typeof space === 'string') { - indent = space; - } - rep = replacer; - if (replacer && typeof replacer !== 'function' && - (typeof replacer !== 'object' || - typeof replacer.length !== 'number')) { - throw new Error('JSON.stringify'); - } - return str('', {'': value}); - }; - } - - if (typeof JSON['parse'] !== 'function') { - // JSON is parsed on the server for security. - JSON['parse'] = function (text) {return eval('('+text+')')}; - } -}()); -/* --------------------------------------------------------------------------- -WAIT! - This file depends on instructions from the PUBNUB Cloud. -http://www.pubnub.com/account-javascript-api-include ---------------------------------------------------------------------------- */ - -/* --------------------------------------------------------------------------- -PubNub Real-time Cloud-Hosted Push API and Push Notification Client Frameworks -Copyright (c) 2011 PubNub Inc. -http://www.pubnub.com/ -http://www.pubnub.com/terms ---------------------------------------------------------------------------- */ - -/* --------------------------------------------------------------------------- -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. ---------------------------------------------------------------------------- */ - -/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= UTIL =============================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -window['PUBNUB'] || (function() { - -/** - * UTIL LOCALS - */ - -var SWF = 'https://pubnub.a.ssl.fastly.net/pubnub.swf' -, ASYNC = 'async' -, URLBIT = '/' -, PARAMSBIT = '&' -, UA = navigator.userAgent -, XORIGN = UA.indexOf('MSIE 6') == -1; - -/** - * CONSOLE COMPATIBILITY - */ -window.console || (window.console=window.console||{}); -console.log || ( - console.log = - console.error = - ((window.opera||{}).postError||function(){}) -); - - - -/** - * LOCAL STORAGE OR COOKIE - */ -var db = (function(){ - var ls = window['localStorage']; - return { - 'get' : function(key) { - try { - if (ls) return ls.getItem(key); - if (document.cookie.indexOf(key) == -1) return null; - return ((document.cookie||'').match( - RegExp(key+'=([^;]+)') - )||[])[1] || null; - } catch(e) { return } - }, - 'set' : function( key, value ) { - try { - if (ls) return ls.setItem( key, value ) && 0; - document.cookie = key + '=' + value + - '; expires=Thu, 1 Aug 2030 20:00:00 UTC; path=/'; - } catch(e) { return } - } - }; -})(); - - -/** - * $ - * = - * var div = $('divid'); - */ -function $(id) { return document.getElementById(id) } - -/** - * ERROR - * ===== - * error('message'); - */ -function error(message) { console['error'](message) } - -/** - * SEARCH - * ====== - * var elements = search('a div span'); - */ -function search( elements, start ) { - var list = []; - each( elements.split(/\s+/), function(el) { - each( (start || document).getElementsByTagName(el), function(node) { - list.push(node); - } ); - } ); - return list; -} - - - -/** - * BIND - * ==== - * bind( 'keydown', search('a')[0], function(element) { - * ... - * } ); - */ -function bind( type, el, fun ) { - each( type.split(','), function(etype) { - var rapfun = function(e) { - if (!e) e = window.event; - if (!fun(e)) { - e.cancelBubble = true; - e.returnValue = false; - e.preventDefault && e.preventDefault(); - e.stopPropagation && e.stopPropagation(); - } - }; - - if ( el.addEventListener ) el.addEventListener( etype, rapfun, false ); - else if ( el.attachEvent ) el.attachEvent( 'on' + etype, rapfun ); - else el[ 'on' + etype ] = rapfun; - } ); -} - -/** - * UNBIND - * ====== - * unbind( 'keydown', search('a')[0] ); - */ -function unbind( type, el, fun ) { - if ( el.removeEventListener ) el.removeEventListener( type, false ); - else if ( el.detachEvent ) el.detachEvent( 'on' + type, false ); - else el[ 'on' + type ] = null; -} - -/** - * HEAD - * ==== - * head().appendChild(elm); - */ -function head() { return search('head')[0] } - -/** - * ATTR - * ==== - * var attribute = attr( node, 'attribute' ); - */ -function attr( node, attribute, value ) { - if (value) node.setAttribute( attribute, value ); - else return node && node.getAttribute && node.getAttribute(attribute); -} - -/** - * CSS - * === - * var obj = create('div'); - */ -function css( element, styles ) { - for (var style in styles) if (styles.hasOwnProperty(style)) - try {element.style[style] = styles[style] + ( - '|width|height|top|left|'.indexOf(style) > 0 && - typeof styles[style] == 'number' - ? 'px' : '' - )}catch(e){} -} - -/** - * CREATE - * ====== - * var obj = create('div'); - */ -function create(element) { return document.createElement(element) } - - -/** - * jsonp_cb - * ======== - * var callback = jsonp_cb(); - */ -function jsonp_cb() { return XORIGN || FDomainRequest() ? 0 : unique() } - - - -/** - * EVENTS - * ====== - * PUBNUB.events.bind( 'you-stepped-on-flower', function(message) { - * // Do Stuff with message - * } ); - * - * PUBNUB.events.fire( 'you-stepped-on-flower', "message-data" ); - * PUBNUB.events.fire( 'you-stepped-on-flower', {message:"data"} ); - * PUBNUB.events.fire( 'you-stepped-on-flower', [1,2,3] ); - * - */ -var events = { - 'list' : {}, - 'unbind' : function( name ) { events.list[name] = [] }, - 'bind' : function( name, fun ) { - (events.list[name] = events.list[name] || []).push(fun); - }, - 'fire' : function( name, data ) { - each( - events.list[name] || [], - function(fun) { fun(data) } - ); - } -}; - -/** - * XDR Cross Domain Request - * ======================== - * xdr({ - * url : ['http://www.blah.com/url'], - * success : function(response) {}, - * fail : function() {} - * }); - */ -function xdr( setup ) { - if (XORIGN || FDomainRequest()) return ajax(setup); - - var script = create('script') - , callback = setup.callback - , id = unique() - , finished = 0 - , xhrtme = setup.timeout || DEF_TIMEOUT - , timer = timeout( function(){done(1)}, xhrtme ) - , fail = setup.fail || function(){} - , success = setup.success || function(){} - - , append = function() { - head().appendChild(script); - } - - , done = function( failed, response ) { - if (finished) return; - finished = 1; - - failed || success(response); - script.onerror = null; - clearTimeout(timer); - - timeout( function() { - failed && fail(); - var s = $(id) - , p = s && s.parentNode; - p && p.removeChild(s); - }, SECOND ); - }; - - window[callback] = function(response) { - done( 0, response ); - }; - - if (!setup.blocking) script[ASYNC] = ASYNC; - - script.onerror = function() { done(1) }; - script.src = setup.url.join(URLBIT); - - if (setup.data) { - var params = []; - script.src += "?"; - for (var key in setup.data) { - params.push(key+"="+setup.data[key]); - } - script.src += params.join(PARAMSBIT); - } - attr( script, 'id', id ); - - append(); - return done; -} - -/** - * CORS XHR Request - * ================ - * xdr({ - * url : ['http://www.blah.com/url'], - * success : function(response) {}, - * fail : function() {} - * }); - */ -function ajax( setup ) { - var xhr, response - , finished = function() { - if (loaded) return; - loaded = 1; - - clearTimeout(timer); - - try { response = JSON['parse'](xhr.responseText); } - catch (r) { return done(1); } - - success(response); - } - , complete = 0 - , loaded = 0 - , xhrtme = setup.timeout || DEF_TIMEOUT - , timer = timeout( function(){done(1)}, xhrtme ) - , fail = setup.fail || function(){} - , success = setup.success || function(){} - , done = function(failed) { - if (complete) return; - complete = 1; - - clearTimeout(timer); - - if (xhr) { - xhr.onerror = xhr.onload = null; - xhr.abort && xhr.abort(); - xhr = null; - } - - failed && fail(); - }; - - // Send - try { - xhr = FDomainRequest() || - window.XDomainRequest && - new XDomainRequest() || - new XMLHttpRequest(); - - xhr.onerror = xhr.onabort = function(){ done(1) }; - xhr.onload = xhr.onloadend = finished; - xhr.timeout = xhrtme; - - var url = setup.url.join(URLBIT); - if (setup.data) { - var params = []; - var key; - console.log(setup.data); - url += "?"; - for (key in setup.data) params.push(key+"="+setup.data[key]); - url += params.join(PARAMSBIT); - } - - xhr.open( 'GET', url, (typeof(setup.blocking === 'undefined')) ); - xhr.send(); - } - catch(eee) { - done(0); - XORIGN = 0; - return xdr(setup); - } - - // Return 'done' - return done; -} - - - - // Test Connection State -function _is_online() { - if (!('onLine' in navigator)) return 1; - return navigator['onLine']; -} - - -/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= PUBNUB ===========================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -var PDIV = $('pubnub') || 0 -, CREATE_PUBNUB = function(setup) { - - // Force JSONP if requested from user. - if (setup['jsonp']) XORIGN = 0; - - var SUBSCRIBE_KEY = setup['subscribe_key'] || '' - , KEEPALIVE = (+setup['keepalive'] || DEF_KEEPALIVE) * SECOND - , UUID = setup['uuid'] || db['get'](SUBSCRIBE_KEY+'uuid') || ''; - - setup['xdr'] = xdr; - setup['db'] = db; - setup['_is_online'] = _is_online; - setup['jsonp_cb'] = jsonp_cb; - var SELF = PN_API(setup); - - - SELF['css'] = css; - SELF['$'] = $; - SELF['create'] = create; - SELF['bind'] = bind; - SELF['head'] = head; - SELF['search'] = search; - SELF['attr'] = attr; - SELF['events'] = events; - SELF['init'] = CREATE_PUBNUB; - - // Return without Testing - if (setup['notest']) return SELF; - - // Add Leave Functions - bind( 'beforeunload', window, function() { - each_channel(function(ch){ SELF['LEAVE']( ch.name, 1 ) }); - return true; - } ); - - bind( 'offline', window, SELF['_reset_offline'] ); - bind( 'offline', document, SELF['_reset_offline'] ); - - // Return PUBNUB Socket Object - return SELF; -}; - - - -// Bind for PUBNUB Readiness to Subscribe -bind( 'load', window, function(){ timeout( ready, 0 ) } ); - -var pdiv = PDIV || {}; - -// CREATE A PUBNUB GLOBAL OBJECT -PUBNUB = CREATE_PUBNUB({ - 'notest' : 1, - 'publish_key' : attr( pdiv, 'pub-key' ), - 'subscribe_key' : attr( pdiv, 'sub-key' ), - 'ssl' : !document.location.href.indexOf('https') || - attr( pdiv, 'ssl' ) == 'on', - 'origin' : attr( pdiv, 'origin' ), - 'uuid' : attr( pdiv, 'uuid' ) -}); - -// jQuery Interface -window['jQuery'] && (window['jQuery']['PUBNUB'] = PUBNUB); - -// For Modern JS + Testling.js - http://testling.com/ -typeof(module) !== 'undefined' && (module['exports'] = PUBNUB) && ready(); - -var pubnubs = $('pubnubs') || 0; - -// LEAVE NOW IF NO PDIV. -if (!PDIV) return; - -// PUBNUB Flash Socket -css( PDIV, { 'position' : 'absolute', 'top' : -SECOND } ); - -if ('opera' in window || attr( PDIV, 'flash' )) PDIV['innerHTML'] = - ''; - -// Create Interface for Opera Flash -PUBNUB['rdx'] = function( id, data ) { - if (!data) return FDomainRequest[id]['onerror'](); - FDomainRequest[id]['responseText'] = unescape(data); - FDomainRequest[id]['onload'](); -}; - -function FDomainRequest() { - if (!pubnubs || !pubnubs['get']) return 0; - - var fdomainrequest = { - 'id' : FDomainRequest['id']++, - 'send' : function() {}, - 'abort' : function() { fdomainrequest['id'] = {} }, - 'open' : function( method, url ) { - FDomainRequest[fdomainrequest['id']] = fdomainrequest; - pubnubs['get']( fdomainrequest['id'], url ); - } - }; - - return fdomainrequest; -} -FDomainRequest['id'] = SECOND; - -})(); -(function(){ - -// --------------------------------------------------------------------------- -// WEBSOCKET INTERFACE -// --------------------------------------------------------------------------- -var WS = PUBNUB['ws'] = function( url, protocols ) { - if (!(this instanceof WS)) return new WS( url, protocols ); - - var self = this - , url = self.url = url || '' - , protocol = self.protocol = protocols || 'Sec-WebSocket-Protocol' - , bits = url.split('/') - , setup = { - 'ssl' : bits[0] === 'wss:' - ,'origin' : bits[2] - ,'publish_key' : bits[3] - ,'subscribe_key' : bits[4] - ,'channel' : bits[5] - }; - - // READY STATES - self['CONNECTING'] = 0; // The connection is not yet open. - self['OPEN'] = 1; // The connection is open and ready to communicate. - self['CLOSING'] = 2; // The connection is in the process of closing. - self['CLOSED'] = 3; // The connection is closed or couldn't be opened. - - // CLOSE STATES - self['CLOSE_NORMAL'] = 1000; // Normal Intended Close; completed. - self['CLOSE_GOING_AWAY'] = 1001; // Closed Unexpecttedly. - self['CLOSE_PROTOCOL_ERROR'] = 1002; // Server: Not Supported. - self['CLOSE_UNSUPPORTED'] = 1003; // Server: Unsupported Protocol. - self['CLOSE_TOO_LARGE'] = 1004; // Server: Too Much Data. - self['CLOSE_NO_STATUS'] = 1005; // Server: No reason. - self['CLOSE_ABNORMAL'] = 1006; // Abnormal Disconnect. - - // Events Default - self['onclose'] = self['onerror'] = - self['onmessage'] = self['onopen'] = - self['onsend'] = function(){}; - - // Attributes - self['binaryType'] = ''; - self['extensions'] = ''; - self['bufferedAmount'] = 0; - self['trasnmitting'] = false; - self['buffer'] = []; - self['readyState'] = self['CONNECTING']; - - // Close if no setup. - if (!url) { - self['readyState'] = self['CLOSED']; - self['onclose']({ - 'code' : self['CLOSE_ABNORMAL'], - 'reason' : 'Missing URL', - 'wasClean' : true - }); - return self; - } - - // PubNub WebSocket Emulation - self.pubnub = PUBNUB['init'](setup); - self.pubnub.setup = setup; - self.setup = setup; - - self.pubnub['subscribe']({ - 'restore' : false, - 'channel' : setup['channel'], - 'disconnect' : self['onerror'], - 'reconnect' : self['onopen'], - 'error' : function() { - self['onclose']({ - 'code' : self['CLOSE_ABNORMAL'], - 'reason' : 'Missing URL', - 'wasClean' : false - }); - }, - 'callback' : function(message) { - self['onmessage']({ 'data' : message }); - }, - 'connect' : function() { - self['readyState'] = self['OPEN']; - self['onopen'](); - } - }); -}; - -// --------------------------------------------------------------------------- -// WEBSOCKET SEND -// --------------------------------------------------------------------------- -WS.prototype.send = function(data) { - var self = this; - self.pubnub['publish']({ - 'channel' : self.pubnub.setup['channel'], - 'message' : data, - 'callback' : function(response) { - self['onsend']({ 'data' : response }); - } - }); -}; - -// --------------------------------------------------------------------------- -// WEBSOCKET CLOSE -// --------------------------------------------------------------------------- -WS.prototype.close = function() { - var self = this; - self.pubnub['unsubscribe']({ 'channel' : self.pubnub.setup['channel'] }); - self['readyState'] = self['CLOSED']; - self['onclose']({}); -}; - -})(); -(function(){ - -// --------------------------------------------------------------------------- -// WEBSOCKET INTERFACE -// --------------------------------------------------------------------------- -var WS = PUBNUB['ws'] = function( url, protocols ) { - if (!(this instanceof WS)) return new WS( url, protocols ); - - var self = this - , url = self.url = url || '' - , protocol = self.protocol = protocols || 'Sec-WebSocket-Protocol' - , bits = url.split('/') - , setup = { - 'ssl' : bits[0] === 'wss:' - ,'origin' : bits[2] - ,'publish_key' : bits[3] - ,'subscribe_key' : bits[4] - ,'channel' : bits[5] - }; - - // READY STATES - self['CONNECTING'] = 0; // The connection is not yet open. - self['OPEN'] = 1; // The connection is open and ready to communicate. - self['CLOSING'] = 2; // The connection is in the process of closing. - self['CLOSED'] = 3; // The connection is closed or couldn't be opened. - - // CLOSE STATES - self['CLOSE_NORMAL'] = 1000; // Normal Intended Close; completed. - self['CLOSE_GOING_AWAY'] = 1001; // Closed Unexpecttedly. - self['CLOSE_PROTOCOL_ERROR'] = 1002; // Server: Not Supported. - self['CLOSE_UNSUPPORTED'] = 1003; // Server: Unsupported Protocol. - self['CLOSE_TOO_LARGE'] = 1004; // Server: Too Much Data. - self['CLOSE_NO_STATUS'] = 1005; // Server: No reason. - self['CLOSE_ABNORMAL'] = 1006; // Abnormal Disconnect. - - // Events Default - self['onclose'] = self['onerror'] = - self['onmessage'] = self['onopen'] = - self['onsend'] = function(){}; - - // Attributes - self['binaryType'] = ''; - self['extensions'] = ''; - self['bufferedAmount'] = 0; - self['trasnmitting'] = false; - self['buffer'] = []; - self['readyState'] = self['CONNECTING']; - - // Close if no setup. - if (!url) { - self['readyState'] = self['CLOSED']; - self['onclose']({ - 'code' : self['CLOSE_ABNORMAL'], - 'reason' : 'Missing URL', - 'wasClean' : true - }); - return self; - } - - // PubNub WebSocket Emulation - self.pubnub = PUBNUB['init'](setup); - self.pubnub.setup = setup; - self.setup = setup; - - self.pubnub['subscribe']({ - 'restore' : false, - 'channel' : setup['channel'], - 'disconnect' : self['onerror'], - 'reconnect' : self['onopen'], - 'error' : function() { - self['onclose']({ - 'code' : self['CLOSE_ABNORMAL'], - 'reason' : 'Missing URL', - 'wasClean' : false - }); - }, - 'callback' : function(message) { - self['onmessage']({ 'data' : message }); - }, - 'connect' : function() { - self['readyState'] = self['OPEN']; - self['onopen'](); - } - }); -}; - -// --------------------------------------------------------------------------- -// WEBSOCKET SEND -// --------------------------------------------------------------------------- -WS.prototype.send = function(data) { - var self = this; - self.pubnub['publish']({ - 'channel' : self.pubnub.setup['channel'], - 'message' : data, - 'callback' : function(response) { - self['onsend']({ 'data' : response }); - } - }); -}; - -// --------------------------------------------------------------------------- -// WEBSOCKET CLOSE -// --------------------------------------------------------------------------- -WS.prototype.close = function() { - var self = this; - self.pubnub['unsubscribe']({ 'channel' : self.pubnub.setup['channel'] }); - self['readyState'] = self['CLOSED']; - self['onclose']({}); -}; - -})(); -/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= JSON =============================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -(window['JSON'] && window['JSON']['stringify']) || (function () { - window['JSON'] || (window['JSON'] = {}); - - function toJSON(key) { - try { return this.valueOf() } - catch(e) { return null } - } - - var cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, - escapable = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, - gap, - indent, - meta = { // table of character substitutions - '\b': '\\b', - '\t': '\\t', - '\n': '\\n', - '\f': '\\f', - '\r': '\\r', - '"' : '\\"', - '\\': '\\\\' - }, - rep; - - function quote(string) { - escapable.lastIndex = 0; - return escapable.test(string) ? - '"' + string.replace(escapable, function (a) { - var c = meta[a]; - return typeof c === 'string' ? c : - '\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4); - }) + '"' : - '"' + string + '"'; - } - - function str(key, holder) { - var i, // The loop counter. - k, // The member key. - v, // The member value. - length, - partial, - mind = gap, - value = holder[key]; - - if (value && typeof value === 'object') { - value = toJSON.call( value, key ); - } - - if (typeof rep === 'function') { - value = rep.call(holder, key, value); - } - - switch (typeof value) { - case 'string': - return quote(value); - - case 'number': - return isFinite(value) ? String(value) : 'null'; - - case 'boolean': - case 'null': - return String(value); - - case 'object': - - if (!value) { - return 'null'; - } - - gap += indent; - partial = []; - - if (Object.prototype.toString.apply(value) === '[object Array]') { - - length = value.length; - for (i = 0; i < length; i += 1) { - partial[i] = str(i, value) || 'null'; - } - - v = partial.length === 0 ? '[]' : - gap ? '[\n' + gap + - partial.join(',\n' + gap) + '\n' + - mind + ']' : - '[' + partial.join(',') + ']'; - gap = mind; - return v; - } - if (rep && typeof rep === 'object') { - length = rep.length; - for (i = 0; i < length; i += 1) { - k = rep[i]; - if (typeof k === 'string') { - v = str(k, value); - if (v) { - partial.push(quote(k) + (gap ? ': ' : ':') + v); - } - } - } - } else { - for (k in value) { - if (Object.hasOwnProperty.call(value, k)) { - v = str(k, value); - if (v) { - partial.push(quote(k) + (gap ? ': ' : ':') + v); - } - } - } - } - - v = partial.length === 0 ? '{}' : - gap ? '{\n' + gap + partial.join(',\n' + gap) + '\n' + - mind + '}' : '{' + partial.join(',') + '}'; - gap = mind; - return v; - } - } - - if (typeof JSON['stringify'] !== 'function') { - JSON['stringify'] = function (value, replacer, space) { - var i; - gap = ''; - indent = ''; - - if (typeof space === 'number') { - for (i = 0; i < space; i += 1) { - indent += ' '; - } - } else if (typeof space === 'string') { - indent = space; - } - rep = replacer; - if (replacer && typeof replacer !== 'function' && - (typeof replacer !== 'object' || - typeof replacer.length !== 'number')) { - throw new Error('JSON.stringify'); - } - return str('', {'': value}); - }; - } - - if (typeof JSON['parse'] !== 'function') { - // JSON is parsed on the server for security. - JSON['parse'] = function (text) {return eval('('+text+')')}; - } -}()); -var NOW = 1 -, READY = false -, READY_BUFFER = [] -, PRESENCE_SUFFIX = '-pnpres' -, DEF_WINDOWING = 10 // MILLISECONDS. -, DEF_TIMEOUT = 10000 // MILLISECONDS. -, DEF_SUB_TIMEOUT = 310 // SECONDS. -, DEF_KEEPALIVE = 60 // SECONDS. -, SECOND = 1000 // A THOUSAND MILLISECONDS. -, REPL = /{([\w\-]+)}/g; - -/** - * UTILITIES - */ -function unique() { return'x'+ ++NOW+''+(+new Date) } -function rnow() { return+new Date } - -/** - * NEXTORIGIN - * ========== - * var next_origin = nextorigin(); - */ -var nextorigin = (function() { - var max = 20 - , ori = Math.floor(Math.random() * max); - return function( origin, failover ) { - return origin.indexOf('pubsub.') > 0 - && origin.replace( - 'pubsub', 'ps' + ( - failover ? uuid().split('-')[0] : - (++ori < max? ori : ori=1) - ) ) || origin; - } -})(); - -/** - * UPDATER - * ======= - * var timestamp = unique(); - */ -function updater( fun, rate ) { - var timeout - , last = 0 - , runnit = function() { - if (last + rate > rnow()) { - clearTimeout(timeout); - timeout = setTimeout( runnit, rate ); - } - else { - last = rnow(); - fun(); - } - }; - - return runnit; -} - -/** - * GREP - * ==== - * var list = grep( [1,2,3], function(item) { return item % 2 } ) - */ -function grep( list, fun ) { - var fin = []; - each( list || [], function(l) { fun(l) && fin.push(l) } ); - return fin -} - -/** - * SUPPLANT - * ======== - * var text = supplant( 'Hello {name}!', { name : 'John' } ) - */ -function supplant( str, values ) { - return str.replace( REPL, function( _, match ) { - return values[match] || _ - } ); -} - -/** - * timeout - * ======= - * timeout( function(){}, 100 ); - */ -function timeout( fun, wait ) { - return setTimeout( fun, wait ); -} - -/** - * uuid - * ==== - * var my_uuid = uuid(); - */ -function uuid(callback) { - var u = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, - function(c) { - var r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8); - return v.toString(16); - }); - if (callback) callback(u); - return u; -} - -/** - * EACH - * ==== - * each( [1,2,3], function(item) { } ) - */ -function each( o, f ) { - if ( !o || !f ) return; - - if ( typeof o[0] != 'undefined' ) - for ( var i = 0, l = o.length; i < l; ) - f.call( o[i], o[i], i++ ); - else - for ( var i in o ) - o.hasOwnProperty && - o.hasOwnProperty(i) && - f.call( o[i], i, o[i] ); -} - -/** - * MAP - * === - * var list = map( [1,2,3], function(item) { return item + 1 } ) - */ -function map( list, fun ) { - var fin = []; - each( list || [], function( k, v ) { fin.push(fun( k, v )) } ); - return fin; -} - -/** - * ENCODE - * ====== - * var encoded_path = encode('path'); - */ -function encode(path) { - return map( (encodeURIComponent(path)).split(''), function(chr) { - return "-_.!~*'()".indexOf(chr) < 0 ? chr : - "%"+chr.charCodeAt(0).toString(16).toUpperCase() - } ).join(''); -} - -/** - * Generate Subscription Channel List - * ================================== - * generate_channel_list(channels_object); - */ -function generate_channel_list(channels) { - var list = []; - each( channels, function( channel, status ) { - if (status.subscribed) list.push(channel); - } ); - return list.sort(); -} - -// PUBNUB READY TO CONNECT - function ready() { timeout( function() { - if (READY) return; - READY = 1; - each( READY_BUFFER, function(connect) { connect() } ); - }, SECOND ); } - -function PN_API(setup) { - var SUB_WINDOWING = +setup['windowing'] || DEF_WINDOWING - , SUB_TIMEOUT = (+setup['timeout'] || DEF_SUB_TIMEOUT) * SECOND - , KEEPALIVE = (+setup['keepalive'] || DEF_KEEPALIVE) * SECOND - , PUBLISH_KEY = setup['publish_key'] || '' - , SUBSCRIBE_KEY = setup['subscribe_key'] || '' - , SSL = setup['ssl'] ? 's' : '' - , ORIGIN = 'http'+SSL+'://'+(setup['origin']||'pubsub.pubnub.com') - , STD_ORIGIN = nextorigin(ORIGIN) - , SUB_ORIGIN = nextorigin(ORIGIN) - , CONNECT = function(){} - , PUB_QUEUE = [] - , SUB_CALLBACK = 0 - , SUB_CHANNEL = 0 - , SUB_RECEIVER = 0 - , SUB_RESTORE = 0 - , SUB_BUFF_WAIT = 0 - , TIMETOKEN = 0 - , CHANNELS = {} - , xdr = setup['xdr'] - , _is_online = setup['_is_online'] || function() { return 1; } - , jsonp_cb = setup['jsonp_cb'] || function(){ return 0; } - , db = setup['db'] || {'get': function(){}, 'set': function(){}} - , UUID = setup['uuid'] || ( db && db['get'](SUBSCRIBE_KEY+'uuid') || ''); - - - - function publish(next) { - if (next) PUB_QUEUE.sending = 0; - if (PUB_QUEUE.sending || !PUB_QUEUE.length) return; - PUB_QUEUE.sending = 1; - xdr(PUB_QUEUE.shift()); - } - - function each_channel(callback) { - each( generate_channel_list(CHANNELS), function(channel) { - var chan = CHANNELS[channel]; - if (!chan) return; - callback(chan); - } ); - } - - // Announce Leave Event - - - var SELF = { - - '_reset_offline' : function() { - SUB_RECEIVER && SUB_RECEIVER(1); - }, - - 'LEAVE' : function( channel, blocking ) { - var data = { 'uuid' : UUID } - , origin = nextorigin(ORIGIN) - , jsonp = jsonp_cb(); - - // Prevent Leaving a Presence Channel - if (channel.indexOf(PRESENCE_SUFFIX) > 0) return; - - if (jsonp != '0') data['callback'] = jsonp; - - xdr({ - blocking : blocking || SSL, - timeout : 2000, - callback : jsonp, - data : data, - url : [ - origin, 'v2', 'presence', 'sub_key', - SUBSCRIBE_KEY, 'channel', encode(channel), 'leave' - ] - }); - }, - /* - PUBNUB.history({ - channel : 'my_chat_channel', - limit : 100, - callback : function(history) { } - }); - */ - 'history' : function( args, callback ) { - var callback = args['callback'] || callback - , count = args['count'] || args['limit'] || 100 - , reverse = args['reverse'] || "false" - , err = args['error'] || function(){} - , channel = args['channel'] - , start = args['start'] - , end = args['end'] - , params = {} - , jsonp = jsonp_cb(); - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - params['stringtoken'] = 'true'; - params['count'] = count; - params['reverse'] = reverse; - - if (jsonp) params['callback'] = jsonp; - if (start) params['start'] = start; - if (end) params['end'] = end; - - // Send Message - xdr({ - callback : jsonp, - data : params, - success : function(response) { callback(response) }, - fail : err, - url : [ - STD_ORIGIN, 'v2', 'history', 'sub-key', - SUBSCRIBE_KEY, 'channel', encode(channel) - ] - }); - }, - - /* - PUBNUB.replay({ - source : 'my_channel', - destination : 'new_channel' - }); - */ - 'replay' : function(args) { - var callback = callback || args['callback'] || function(){} - , source = args['source'] - , destination = args['destination'] - , stop = args['stop'] - , start = args['start'] - , end = args['end'] - , reverse = args['reverse'] - , limit = args['limit'] - , jsonp = jsonp_cb() - , data = {} - , url; - - // Check User Input - if (!source) return error('Missing Source Channel'); - if (!destination) return error('Missing Destination Channel'); - if (!PUBLISH_KEY) return error('Missing Publish Key'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // Setup URL Params - if (jsonp != '0') data['callback'] = jsonp; - if (stop) data['stop'] = 'all'; - if (reverse) data['reverse'] = 'true'; - if (start) data['start'] = start; - if (end) data['end'] = end; - if (limit) data['count'] = limit; - - // Compose URL Parts - url = [ - STD_ORIGIN, 'v1', 'replay', - PUBLISH_KEY, SUBSCRIBE_KEY, - source, destination - ]; - - // Start (or Stop) Replay! - xdr({ - callback : jsonp, - success : function(response) { callback(response) }, - fail : function() { callback([ 0, 'Disconnected' ]) }, - url : url, - data : data - }); - }, - - /* - PUBNUB.time(function(time){ }); - */ - 'time' : function(callback) { - var jsonp = jsonp_cb(); - xdr({ - callback : jsonp, - timeout : SECOND*5, - url : [STD_ORIGIN, 'time', jsonp], - success : function(response) { callback(response[0]) }, - fail : function() { callback(0) } - }); - }, - - /* - PUBNUB.publish({ - channel : 'my_chat_channel', - message : 'hello!' - }); - */ - 'publish' : function( args, callback ) { - var callback = callback || args['callback'] || function(){} - , msg = args['message'] - , channel = args['channel'] - , jsonp = jsonp_cb() - , url; - - if (!msg) return error('Missing Message'); - if (!channel) return error('Missing Channel'); - if (!PUBLISH_KEY) return error('Missing Publish Key'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // If trying to send Object - msg = JSON['stringify'](msg); - - // Create URL - url = [ - STD_ORIGIN, 'publish', - PUBLISH_KEY, SUBSCRIBE_KEY, - 0, encode(channel), - jsonp, encode(msg) - ]; - - // Queue Message Send - PUB_QUEUE.push({ - callback : jsonp, - timeout : SECOND*5, - url : url, - data : { 'uuid' : UUID }, - success : function(response){callback(response);publish(1)}, - fail : function(){callback([0,'Failed',msg]);publish(1)} - }); - - // Send Message - publish(); - }, - - /* - PUBNUB.unsubscribe({ channel : 'my_chat' }); - */ - 'unsubscribe' : function(args) { - var channel = args['channel']; - - TIMETOKEN = 0; - SUB_RESTORE = 1; - - // Prepare Channel(s) - channel = map( ( - channel.join ? channel.join(',') : ''+channel - ).split(','), function(channel) { - return channel + ',' + channel + PRESENCE_SUFFIX; - } ).join(','); - - // Iterate over Channels - each( channel.split(','), function(channel) { - if (READY) SELF['LEAVE']( channel, 0 ); - CHANNELS[channel] = 0; - } ); - - // ReOpen Connection if Any Channels Left - if (READY) CONNECT(); - }, - - /* - PUBNUB.subscribe({ - channel : 'my_chat' - callback : function(message) { } - }); - */ - 'subscribe' : function( args, callback ) { - var channel = args['channel'] - , callback = callback || args['callback'] - , callback = callback || args['message'] - , connect = args['connect'] || function(){} - , reconnect = args['reconnect'] || function(){} - , disconnect = args['disconnect'] || function(){} - , presence = args['presence'] || 0 - , noheresync = args['noheresync'] || 0 - , backfill = args['backfill'] || 0 - , sub_timeout = args['timeout'] || SUB_TIMEOUT - , windowing = args['windowing'] || SUB_WINDOWING - , restore = args['restore']; - - // Restore Enabled? - if (restore) SUB_RESTORE = 1; - - TIMETOKEN = 0; - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // Setup Channel(s) - each( (channel.join ? channel.join(',') : ''+channel).split(','), - function(channel) { - var settings = CHANNELS[channel] || {}; - - // Store Channel State - CHANNELS[SUB_CHANNEL = channel] = { - name : channel, - connected : settings.connected, - disconnected : settings.disconnected, - subscribed : 1, - callback : SUB_CALLBACK = callback, - connect : connect, - disconnect : disconnect, - reconnect : reconnect - }; - - // Presence Enabled? - if (!presence) return; - - // Subscribe Presence Channel - SELF['subscribe']({ - 'channel' : channel + PRESENCE_SUFFIX, - 'callback' : presence - }); - - // Presence Subscribed? - if (settings.subscribed) return; - - // See Who's Here Now? - if (noheresync) return; - SELF['here_now']({ - 'channel' : channel, - 'callback' : function(here) { - each( 'uuids' in here ? here['uuids'] : [], - function(uid) { presence( { - 'action' : 'join', - 'uuid' : uid, - 'timestamp' : rnow(), - 'occupancy' : here['occupancy'] || 1 - }, here, channel ); } ); - } - }); - } ); - - // Test Network Connection - function _test_connection(success) { - if (success) { - // Begin Next Socket Connection - timeout( _connect, SECOND ); - } - else { - // New Origin on Failed Connection - STD_ORIGIN = nextorigin( ORIGIN, 1 ); - SUB_ORIGIN = nextorigin( ORIGIN, 1 ); - - // Re-test Connection - timeout( function() { - SELF['time'](_test_connection); - }, SECOND ); - } - - // Disconnect & Reconnect - each_channel(function(channel){ - // Reconnect - if (success && channel.disconnected) { - channel.disconnected = 0; - return channel.reconnect(channel.name); - } - - // Disconnect - if (!success && !channel.disconnected) { - channel.disconnected = 1; - channel.disconnect(channel.name); - } - }); - } - - // Evented Subscribe - function _connect() { - var jsonp = jsonp_cb() - , channels = generate_channel_list(CHANNELS).join(','); - - // Stop Connection - if (!channels) return; - - // Connect to PubNub Subscribe Servers - SUB_RECEIVER = xdr({ - timeout : sub_timeout, - callback : jsonp, - fail : function() { SELF['time'](_test_connection) }, - data : { 'uuid' : UUID }, - url : [ - SUB_ORIGIN, 'subscribe', - SUBSCRIBE_KEY, encode(channels), - jsonp, TIMETOKEN - ], - success : function(messages) { - if (!messages) return timeout( _connect, windowing ); - - // Connect - each_channel(function(channel){ - if (channel.connected) return; - channel.connected = 1; - channel.connect(channel.name); - }); - - // Restore Previous Connection Point if Needed - TIMETOKEN = !TIMETOKEN && - SUB_RESTORE && - db['get'](SUBSCRIBE_KEY) || messages[1]; - - - if (backfill) { - Timetoken = 10000; - backfill = 0; - } - - // Update Saved Timetoken - db['set']( SUBSCRIBE_KEY, messages[1] ); - - // Route Channel <---> Callback for Message - var next_callback = (function() { - var channels = (messages.length>2?messages[2]:'') - , list = channels.split(','); - - return function() { - var channel = list.shift()||''; - return [ - (CHANNELS[channel]||{}) - .callback||SUB_CALLBACK, - (channel||SUB_CHANNEL) - .split(PRESENCE_SUFFIX)[0] - ]; - }; - })(); - - each( messages[0], function(msg) { - var next = next_callback(); - if (!CHANNELS[next[1]].subscribed) return; - next[0]( msg, messages, next[1] ); - } ); - - timeout( _connect, windowing ); - } - }); - } - - CONNECT = function() { - // Close Previous Subscribe Connection - SELF['_reset_offline'](); - - // Begin Recursive Subscribe - clearTimeout(SUB_BUFF_WAIT); - SUB_BUFF_WAIT = timeout( _connect, 100 ); - }; - - // Reduce Status Flicker - if (!READY) return READY_BUFFER.push(CONNECT); - - // Connect Now - CONNECT(); - }, - - 'here_now' : function( args, callback ) { - var callback = args['callback'] || callback - , err = args['error'] || function(){} - , channel = args['channel'] - , jsonp = jsonp_cb() - , data = null; - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - if (jsonp != '0') { - data = {}; - data['callback'] = jsonp; - } - - xdr({ - callback : jsonp, - data : data, - success : function(response) { callback(response) }, - fail : err, - url : [ - STD_ORIGIN, 'v2', 'presence', - 'sub_key', SUBSCRIBE_KEY, - 'channel', encode(channel) - ] - }); - }, - - // Expose PUBNUB Functions - 'xdr' : xdr, - 'ready' : ready, - 'db' : db, - 'uuid' : uuid, - 'each' : each, - 'map' : map, - 'grep' : grep, - 'supplant' : supplant, - 'now' : rnow, - 'unique' : unique, - 'updater' : updater, - 'poll_online' : function() { - _is_online() || SELF['_reset_offline'](); - timeout( SELF['poll_online'], SECOND ); - }, - 'poll_online2' : function() { - SELF['time'](function(success){ - success || SELF['_reset_offline'](); - timeout( SELF['poll_online2'], KEEPALIVE ); - }) - } - }; - if (!UUID) UUID = SELF['uuid'](); - db['set']( SUBSCRIBE_KEY + 'uuid', UUID ); - - timeout( SELF['poll_online'], SECOND ); - timeout( SELF['poll_online2'], KEEPALIVE ); - - return SELF; -} -// 3.4/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= JSON =============================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -(window['JSON'] && window['JSON']['stringify']) || (function () { - window['JSON'] || (window['JSON'] = {}); - - function toJSON(key) { - try { return this.valueOf() } - catch(e) { return null } - } - - var cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, - escapable = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, - gap, - indent, - meta = { // table of character substitutions - '\b': '\\b', - '\t': '\\t', - '\n': '\\n', - '\f': '\\f', - '\r': '\\r', - '"' : '\\"', - '\\': '\\\\' - }, - rep; - - function quote(string) { - escapable.lastIndex = 0; - return escapable.test(string) ? - '"' + string.replace(escapable, function (a) { - var c = meta[a]; - return typeof c === 'string' ? c : - '\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4); - }) + '"' : - '"' + string + '"'; - } - - function str(key, holder) { - var i, // The loop counter. - k, // The member key. - v, // The member value. - length, - partial, - mind = gap, - value = holder[key]; - - if (value && typeof value === 'object') { - value = toJSON.call( value, key ); - } - - if (typeof rep === 'function') { - value = rep.call(holder, key, value); - } - - switch (typeof value) { - case 'string': - return quote(value); - - case 'number': - return isFinite(value) ? String(value) : 'null'; - - case 'boolean': - case 'null': - return String(value); - - case 'object': - - if (!value) { - return 'null'; - } - - gap += indent; - partial = []; - - if (Object.prototype.toString.apply(value) === '[object Array]') { - - length = value.length; - for (i = 0; i < length; i += 1) { - partial[i] = str(i, value) || 'null'; - } - - v = partial.length === 0 ? '[]' : - gap ? '[\n' + gap + - partial.join(',\n' + gap) + '\n' + - mind + ']' : - '[' + partial.join(',') + ']'; - gap = mind; - return v; - } - if (rep && typeof rep === 'object') { - length = rep.length; - for (i = 0; i < length; i += 1) { - k = rep[i]; - if (typeof k === 'string') { - v = str(k, value); - if (v) { - partial.push(quote(k) + (gap ? ': ' : ':') + v); - } - } - } - } else { - for (k in value) { - if (Object.hasOwnProperty.call(value, k)) { - v = str(k, value); - if (v) { - partial.push(quote(k) + (gap ? ': ' : ':') + v); - } - } - } - } - - v = partial.length === 0 ? '{}' : - gap ? '{\n' + gap + partial.join(',\n' + gap) + '\n' + - mind + '}' : '{' + partial.join(',') + '}'; - gap = mind; - return v; - } - } - - if (typeof JSON['stringify'] !== 'function') { - JSON['stringify'] = function (value, replacer, space) { - var i; - gap = ''; - indent = ''; - - if (typeof space === 'number') { - for (i = 0; i < space; i += 1) { - indent += ' '; - } - } else if (typeof space === 'string') { - indent = space; - } - rep = replacer; - if (replacer && typeof replacer !== 'function' && - (typeof replacer !== 'object' || - typeof replacer.length !== 'number')) { - throw new Error('JSON.stringify'); - } - return str('', {'': value}); - }; - } - - if (typeof JSON['parse'] !== 'function') { - // JSON is parsed on the server for security. - JSON['parse'] = function (text) {return eval('('+text+')')}; - } -}()); -/* --------------------------------------------------------------------------- -WAIT! - This file depends on instructions from the PUBNUB Cloud. -http://www.pubnub.com/account-javascript-api-include ---------------------------------------------------------------------------- */ - -/* --------------------------------------------------------------------------- -PubNub Real-time Cloud-Hosted Push API and Push Notification Client Frameworks -Copyright (c) 2011 PubNub Inc. -http://www.pubnub.com/ -http://www.pubnub.com/terms ---------------------------------------------------------------------------- */ - -/* --------------------------------------------------------------------------- -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. ---------------------------------------------------------------------------- */ - -/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= UTIL =============================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -window['PUBNUB'] || (function() { - -/** - * UTIL LOCALS - */ - -var SWF = 'https://pubnub.a.ssl.fastly.net/pubnub.swf' -, ASYNC = 'async' -, URLBIT = '/' -, PARAMSBIT = '&' -, UA = navigator.userAgent -, XORIGN = UA.indexOf('MSIE 6') == -1; - -/** - * CONSOLE COMPATIBILITY - */ -window.console || (window.console=window.console||{}); -console.log || ( - console.log = - console.error = - ((window.opera||{}).postError||function(){}) -); - - - -/** - * LOCAL STORAGE OR COOKIE - */ -var db = (function(){ - var ls = window['localStorage']; - return { - 'get' : function(key) { - try { - if (ls) return ls.getItem(key); - if (document.cookie.indexOf(key) == -1) return null; - return ((document.cookie||'').match( - RegExp(key+'=([^;]+)') - )||[])[1] || null; - } catch(e) { return } - }, - 'set' : function( key, value ) { - try { - if (ls) return ls.setItem( key, value ) && 0; - document.cookie = key + '=' + value + - '; expires=Thu, 1 Aug 2030 20:00:00 UTC; path=/'; - } catch(e) { return } - } - }; -})(); - - -/** - * $ - * = - * var div = $('divid'); - */ -function $(id) { return document.getElementById(id) } - -/** - * ERROR - * ===== - * error('message'); - */ -function error(message) { console['error'](message) } - -/** - * SEARCH - * ====== - * var elements = search('a div span'); - */ -function search( elements, start ) { - var list = []; - each( elements.split(/\s+/), function(el) { - each( (start || document).getElementsByTagName(el), function(node) { - list.push(node); - } ); - } ); - return list; -} - - - -/** - * BIND - * ==== - * bind( 'keydown', search('a')[0], function(element) { - * ... - * } ); - */ -function bind( type, el, fun ) { - each( type.split(','), function(etype) { - var rapfun = function(e) { - if (!e) e = window.event; - if (!fun(e)) { - e.cancelBubble = true; - e.returnValue = false; - e.preventDefault && e.preventDefault(); - e.stopPropagation && e.stopPropagation(); - } - }; - - if ( el.addEventListener ) el.addEventListener( etype, rapfun, false ); - else if ( el.attachEvent ) el.attachEvent( 'on' + etype, rapfun ); - else el[ 'on' + etype ] = rapfun; - } ); -} - -/** - * UNBIND - * ====== - * unbind( 'keydown', search('a')[0] ); - */ -function unbind( type, el, fun ) { - if ( el.removeEventListener ) el.removeEventListener( type, false ); - else if ( el.detachEvent ) el.detachEvent( 'on' + type, false ); - else el[ 'on' + type ] = null; -} - -/** - * HEAD - * ==== - * head().appendChild(elm); - */ -function head() { return search('head')[0] } - -/** - * ATTR - * ==== - * var attribute = attr( node, 'attribute' ); - */ -function attr( node, attribute, value ) { - if (value) node.setAttribute( attribute, value ); - else return node && node.getAttribute && node.getAttribute(attribute); -} - -/** - * CSS - * === - * var obj = create('div'); - */ -function css( element, styles ) { - for (var style in styles) if (styles.hasOwnProperty(style)) - try {element.style[style] = styles[style] + ( - '|width|height|top|left|'.indexOf(style) > 0 && - typeof styles[style] == 'number' - ? 'px' : '' - )}catch(e){} -} - -/** - * CREATE - * ====== - * var obj = create('div'); - */ -function create(element) { return document.createElement(element) } - - -/** - * jsonp_cb - * ======== - * var callback = jsonp_cb(); - */ -function jsonp_cb() { return XORIGN || FDomainRequest() ? 0 : unique() } - - - -/** - * EVENTS - * ====== - * PUBNUB.events.bind( 'you-stepped-on-flower', function(message) { - * // Do Stuff with message - * } ); - * - * PUBNUB.events.fire( 'you-stepped-on-flower', "message-data" ); - * PUBNUB.events.fire( 'you-stepped-on-flower', {message:"data"} ); - * PUBNUB.events.fire( 'you-stepped-on-flower', [1,2,3] ); - * - */ -var events = { - 'list' : {}, - 'unbind' : function( name ) { events.list[name] = [] }, - 'bind' : function( name, fun ) { - (events.list[name] = events.list[name] || []).push(fun); - }, - 'fire' : function( name, data ) { - each( - events.list[name] || [], - function(fun) { fun(data) } - ); - } -}; - -/** - * XDR Cross Domain Request - * ======================== - * xdr({ - * url : ['http://www.blah.com/url'], - * success : function(response) {}, - * fail : function() {} - * }); - */ -function xdr( setup ) { - if (XORIGN || FDomainRequest()) return ajax(setup); - - var script = create('script') - , callback = setup.callback - , id = unique() - , finished = 0 - , xhrtme = setup.timeout || DEF_TIMEOUT - , timer = timeout( function(){done(1)}, xhrtme ) - , fail = setup.fail || function(){} - , success = setup.success || function(){} - - , append = function() { - head().appendChild(script); - } - - , done = function( failed, response ) { - if (finished) return; - finished = 1; - - failed || success(response); - script.onerror = null; - clearTimeout(timer); - - timeout( function() { - failed && fail(); - var s = $(id) - , p = s && s.parentNode; - p && p.removeChild(s); - }, SECOND ); - }; - - window[callback] = function(response) { - done( 0, response ); - }; - - if (!setup.blocking) script[ASYNC] = ASYNC; - - script.onerror = function() { done(1) }; - script.src = setup.url.join(URLBIT); - - if (setup.data) { - var params = []; - script.src += "?"; - for (var key in setup.data) { - params.push(key+"="+setup.data[key]); - } - script.src += params.join(PARAMSBIT); - } - attr( script, 'id', id ); - - append(); - return done; -} - -/** - * CORS XHR Request - * ================ - * xdr({ - * url : ['http://www.blah.com/url'], - * success : function(response) {}, - * fail : function() {} - * }); - */ -function ajax( setup ) { - var xhr, response - , finished = function() { - if (loaded) return; - loaded = 1; - - clearTimeout(timer); - - try { response = JSON['parse'](xhr.responseText); } - catch (r) { return done(1); } - - success(response); - } - , complete = 0 - , loaded = 0 - , xhrtme = setup.timeout || DEF_TIMEOUT - , timer = timeout( function(){done(1)}, xhrtme ) - , fail = setup.fail || function(){} - , success = setup.success || function(){} - , done = function(failed) { - if (complete) return; - complete = 1; - - clearTimeout(timer); - - if (xhr) { - xhr.onerror = xhr.onload = null; - xhr.abort && xhr.abort(); - xhr = null; - } - - failed && fail(); - }; - - // Send - try { - xhr = FDomainRequest() || - window.XDomainRequest && - new XDomainRequest() || - new XMLHttpRequest(); - - xhr.onerror = xhr.onabort = function(){ done(1) }; - xhr.onload = xhr.onloadend = finished; - xhr.timeout = xhrtme; - - var url = setup.url.join(URLBIT); - if (setup.data) { - var params = []; - var key; - console.log(setup.data); - url += "?"; - for (key in setup.data) params.push(key+"="+setup.data[key]); - url += params.join(PARAMSBIT); - } - - xhr.open( 'GET', url, (typeof(setup.blocking === 'undefined')) ); - xhr.send(); - } - catch(eee) { - done(0); - XORIGN = 0; - return xdr(setup); - } - - // Return 'done' - return done; -} - - - - // Test Connection State -function _is_online() { - if (!('onLine' in navigator)) return 1; - return navigator['onLine']; -} - - -/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= PUBNUB ===========================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -var PDIV = $('pubnub') || 0 -, CREATE_PUBNUB = function(setup) { - - // Force JSONP if requested from user. - if (setup['jsonp']) XORIGN = 0; - - var SUBSCRIBE_KEY = setup['subscribe_key'] || '' - , KEEPALIVE = (+setup['keepalive'] || DEF_KEEPALIVE) * SECOND - , UUID = setup['uuid'] || db['get'](SUBSCRIBE_KEY+'uuid') || ''; - - setup['xdr'] = xdr; - setup['db'] = db; - setup['_is_online'] = _is_online; - setup['jsonp_cb'] = jsonp_cb; - var SELF = PN_API(setup); - - - SELF['css'] = css; - SELF['$'] = $; - SELF['create'] = create; - SELF['bind'] = bind; - SELF['head'] = head; - SELF['search'] = search; - SELF['attr'] = attr; - SELF['events'] = events; - SELF['init'] = CREATE_PUBNUB; - - // Return without Testing - if (setup['notest']) return SELF; - - // Add Leave Functions - bind( 'beforeunload', window, function() { - each_channel(function(ch){ SELF['LEAVE']( ch.name, 1 ) }); - return true; - } ); - - bind( 'offline', window, SELF['_reset_offline'] ); - bind( 'offline', document, SELF['_reset_offline'] ); - - // Return PUBNUB Socket Object - return SELF; -}; - - - -// Bind for PUBNUB Readiness to Subscribe -bind( 'load', window, function(){ timeout( ready, 0 ) } ); - -var pdiv = PDIV || {}; - -// CREATE A PUBNUB GLOBAL OBJECT -PUBNUB = CREATE_PUBNUB({ - 'notest' : 1, - 'publish_key' : attr( pdiv, 'pub-key' ), - 'subscribe_key' : attr( pdiv, 'sub-key' ), - 'ssl' : !document.location.href.indexOf('https') || - attr( pdiv, 'ssl' ) == 'on', - 'origin' : attr( pdiv, 'origin' ), - 'uuid' : attr( pdiv, 'uuid' ) -}); - -// jQuery Interface -window['jQuery'] && (window['jQuery']['PUBNUB'] = PUBNUB); - -// For Modern JS + Testling.js - http://testling.com/ -typeof(module) !== 'undefined' && (module['exports'] = PUBNUB) && ready(); - -var pubnubs = $('pubnubs') || 0; - -// LEAVE NOW IF NO PDIV. -if (!PDIV) return; - -// PUBNUB Flash Socket -css( PDIV, { 'position' : 'absolute', 'top' : -SECOND } ); - -if ('opera' in window || attr( PDIV, 'flash' )) PDIV['innerHTML'] = - ''; - -// Create Interface for Opera Flash -PUBNUB['rdx'] = function( id, data ) { - if (!data) return FDomainRequest[id]['onerror'](); - FDomainRequest[id]['responseText'] = unescape(data); - FDomainRequest[id]['onload'](); -}; - -function FDomainRequest() { - if (!pubnubs || !pubnubs['get']) return 0; - - var fdomainrequest = { - 'id' : FDomainRequest['id']++, - 'send' : function() {}, - 'abort' : function() { fdomainrequest['id'] = {} }, - 'open' : function( method, url ) { - FDomainRequest[fdomainrequest['id']] = fdomainrequest; - pubnubs['get']( fdomainrequest['id'], url ); - } - }; - - return fdomainrequest; -} -FDomainRequest['id'] = SECOND; - -})(); -(function(){ - -// --------------------------------------------------------------------------- -// WEBSOCKET INTERFACE -// --------------------------------------------------------------------------- -var WS = PUBNUB['ws'] = function( url, protocols ) { - if (!(this instanceof WS)) return new WS( url, protocols ); - - var self = this - , url = self.url = url || '' - , protocol = self.protocol = protocols || 'Sec-WebSocket-Protocol' - , bits = url.split('/') - , setup = { - 'ssl' : bits[0] === 'wss:' - ,'origin' : bits[2] - ,'publish_key' : bits[3] - ,'subscribe_key' : bits[4] - ,'channel' : bits[5] - }; - - // READY STATES - self['CONNECTING'] = 0; // The connection is not yet open. - self['OPEN'] = 1; // The connection is open and ready to communicate. - self['CLOSING'] = 2; // The connection is in the process of closing. - self['CLOSED'] = 3; // The connection is closed or couldn't be opened. - - // CLOSE STATES - self['CLOSE_NORMAL'] = 1000; // Normal Intended Close; completed. - self['CLOSE_GOING_AWAY'] = 1001; // Closed Unexpecttedly. - self['CLOSE_PROTOCOL_ERROR'] = 1002; // Server: Not Supported. - self['CLOSE_UNSUPPORTED'] = 1003; // Server: Unsupported Protocol. - self['CLOSE_TOO_LARGE'] = 1004; // Server: Too Much Data. - self['CLOSE_NO_STATUS'] = 1005; // Server: No reason. - self['CLOSE_ABNORMAL'] = 1006; // Abnormal Disconnect. - - // Events Default - self['onclose'] = self['onerror'] = - self['onmessage'] = self['onopen'] = - self['onsend'] = function(){}; - - // Attributes - self['binaryType'] = ''; - self['extensions'] = ''; - self['bufferedAmount'] = 0; - self['trasnmitting'] = false; - self['buffer'] = []; - self['readyState'] = self['CONNECTING']; - - // Close if no setup. - if (!url) { - self['readyState'] = self['CLOSED']; - self['onclose']({ - 'code' : self['CLOSE_ABNORMAL'], - 'reason' : 'Missing URL', - 'wasClean' : true - }); - return self; - } - - // PubNub WebSocket Emulation - self.pubnub = PUBNUB['init'](setup); - self.pubnub.setup = setup; - self.setup = setup; - - self.pubnub['subscribe']({ - 'restore' : false, - 'channel' : setup['channel'], - 'disconnect' : self['onerror'], - 'reconnect' : self['onopen'], - 'error' : function() { - self['onclose']({ - 'code' : self['CLOSE_ABNORMAL'], - 'reason' : 'Missing URL', - 'wasClean' : false - }); - }, - 'callback' : function(message) { - self['onmessage']({ 'data' : message }); - }, - 'connect' : function() { - self['readyState'] = self['OPEN']; - self['onopen'](); - } - }); -}; - -// --------------------------------------------------------------------------- -// WEBSOCKET SEND -// --------------------------------------------------------------------------- -WS.prototype.send = function(data) { - var self = this; - self.pubnub['publish']({ - 'channel' : self.pubnub.setup['channel'], - 'message' : data, - 'callback' : function(response) { - self['onsend']({ 'data' : response }); - } - }); -}; - -// --------------------------------------------------------------------------- -// WEBSOCKET CLOSE -// --------------------------------------------------------------------------- -WS.prototype.close = function() { - var self = this; - self.pubnub['unsubscribe']({ 'channel' : self.pubnub.setup['channel'] }); - self['readyState'] = self['CLOSED']; - self['onclose']({}); -}; - -})(); -(function(){ - -// --------------------------------------------------------------------------- -// WEBSOCKET INTERFACE -// --------------------------------------------------------------------------- -var WS = PUBNUB['ws'] = function( url, protocols ) { - if (!(this instanceof WS)) return new WS( url, protocols ); - - var self = this - , url = self.url = url || '' - , protocol = self.protocol = protocols || 'Sec-WebSocket-Protocol' - , bits = url.split('/') - , setup = { - 'ssl' : bits[0] === 'wss:' - ,'origin' : bits[2] - ,'publish_key' : bits[3] - ,'subscribe_key' : bits[4] - ,'channel' : bits[5] - }; - - // READY STATES - self['CONNECTING'] = 0; // The connection is not yet open. - self['OPEN'] = 1; // The connection is open and ready to communicate. - self['CLOSING'] = 2; // The connection is in the process of closing. - self['CLOSED'] = 3; // The connection is closed or couldn't be opened. - - // CLOSE STATES - self['CLOSE_NORMAL'] = 1000; // Normal Intended Close; completed. - self['CLOSE_GOING_AWAY'] = 1001; // Closed Unexpecttedly. - self['CLOSE_PROTOCOL_ERROR'] = 1002; // Server: Not Supported. - self['CLOSE_UNSUPPORTED'] = 1003; // Server: Unsupported Protocol. - self['CLOSE_TOO_LARGE'] = 1004; // Server: Too Much Data. - self['CLOSE_NO_STATUS'] = 1005; // Server: No reason. - self['CLOSE_ABNORMAL'] = 1006; // Abnormal Disconnect. - - // Events Default - self['onclose'] = self['onerror'] = - self['onmessage'] = self['onopen'] = - self['onsend'] = function(){}; - - // Attributes - self['binaryType'] = ''; - self['extensions'] = ''; - self['bufferedAmount'] = 0; - self['trasnmitting'] = false; - self['buffer'] = []; - self['readyState'] = self['CONNECTING']; - - // Close if no setup. - if (!url) { - self['readyState'] = self['CLOSED']; - self['onclose']({ - 'code' : self['CLOSE_ABNORMAL'], - 'reason' : 'Missing URL', - 'wasClean' : true - }); - return self; - } - - // PubNub WebSocket Emulation - self.pubnub = PUBNUB['init'](setup); - self.pubnub.setup = setup; - self.setup = setup; - - self.pubnub['subscribe']({ - 'restore' : false, - 'channel' : setup['channel'], - 'disconnect' : self['onerror'], - 'reconnect' : self['onopen'], - 'error' : function() { - self['onclose']({ - 'code' : self['CLOSE_ABNORMAL'], - 'reason' : 'Missing URL', - 'wasClean' : false - }); - }, - 'callback' : function(message) { - self['onmessage']({ 'data' : message }); - }, - 'connect' : function() { - self['readyState'] = self['OPEN']; - self['onopen'](); - } - }); -}; - -// --------------------------------------------------------------------------- -// WEBSOCKET SEND -// --------------------------------------------------------------------------- -WS.prototype.send = function(data) { - var self = this; - self.pubnub['publish']({ - 'channel' : self.pubnub.setup['channel'], - 'message' : data, - 'callback' : function(response) { - self['onsend']({ 'data' : response }); - } - }); -}; - -// --------------------------------------------------------------------------- -// WEBSOCKET CLOSE -// --------------------------------------------------------------------------- -WS.prototype.close = function() { - var self = this; - self.pubnub['unsubscribe']({ 'channel' : self.pubnub.setup['channel'] }); - self['readyState'] = self['CLOSED']; - self['onclose']({}); -}; - -})(); -/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= JSON =============================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -(window['JSON'] && window['JSON']['stringify']) || (function () { - window['JSON'] || (window['JSON'] = {}); - - function toJSON(key) { - try { return this.valueOf() } - catch(e) { return null } - } - - var cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, - escapable = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, - gap, - indent, - meta = { // table of character substitutions - '\b': '\\b', - '\t': '\\t', - '\n': '\\n', - '\f': '\\f', - '\r': '\\r', - '"' : '\\"', - '\\': '\\\\' - }, - rep; - - function quote(string) { - escapable.lastIndex = 0; - return escapable.test(string) ? - '"' + string.replace(escapable, function (a) { - var c = meta[a]; - return typeof c === 'string' ? c : - '\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4); - }) + '"' : - '"' + string + '"'; - } - - function str(key, holder) { - var i, // The loop counter. - k, // The member key. - v, // The member value. - length, - partial, - mind = gap, - value = holder[key]; - - if (value && typeof value === 'object') { - value = toJSON.call( value, key ); - } - - if (typeof rep === 'function') { - value = rep.call(holder, key, value); - } - - switch (typeof value) { - case 'string': - return quote(value); - - case 'number': - return isFinite(value) ? String(value) : 'null'; - - case 'boolean': - case 'null': - return String(value); - - case 'object': - - if (!value) { - return 'null'; - } - - gap += indent; - partial = []; - - if (Object.prototype.toString.apply(value) === '[object Array]') { - - length = value.length; - for (i = 0; i < length; i += 1) { - partial[i] = str(i, value) || 'null'; - } - - v = partial.length === 0 ? '[]' : - gap ? '[\n' + gap + - partial.join(',\n' + gap) + '\n' + - mind + ']' : - '[' + partial.join(',') + ']'; - gap = mind; - return v; - } - if (rep && typeof rep === 'object') { - length = rep.length; - for (i = 0; i < length; i += 1) { - k = rep[i]; - if (typeof k === 'string') { - v = str(k, value); - if (v) { - partial.push(quote(k) + (gap ? ': ' : ':') + v); - } - } - } - } else { - for (k in value) { - if (Object.hasOwnProperty.call(value, k)) { - v = str(k, value); - if (v) { - partial.push(quote(k) + (gap ? ': ' : ':') + v); - } - } - } - } - - v = partial.length === 0 ? '{}' : - gap ? '{\n' + gap + partial.join(',\n' + gap) + '\n' + - mind + '}' : '{' + partial.join(',') + '}'; - gap = mind; - return v; - } - } - - if (typeof JSON['stringify'] !== 'function') { - JSON['stringify'] = function (value, replacer, space) { - var i; - gap = ''; - indent = ''; - - if (typeof space === 'number') { - for (i = 0; i < space; i += 1) { - indent += ' '; - } - } else if (typeof space === 'string') { - indent = space; - } - rep = replacer; - if (replacer && typeof replacer !== 'function' && - (typeof replacer !== 'object' || - typeof replacer.length !== 'number')) { - throw new Error('JSON.stringify'); - } - return str('', {'': value}); - }; - } - - if (typeof JSON['parse'] !== 'function') { - // JSON is parsed on the server for security. - JSON['parse'] = function (text) {return eval('('+text+')')}; - } -}()); -var NOW = 1 -, READY = false -, READY_BUFFER = [] -, PRESENCE_SUFFIX = '-pnpres' -, DEF_WINDOWING = 10 // MILLISECONDS. -, DEF_TIMEOUT = 10000 // MILLISECONDS. -, DEF_SUB_TIMEOUT = 310 // SECONDS. -, DEF_KEEPALIVE = 60 // SECONDS. -, SECOND = 1000 // A THOUSAND MILLISECONDS. -, REPL = /{([\w\-]+)}/g; - -/** - * UTILITIES - */ -function unique() { return'x'+ ++NOW+''+(+new Date) } -function rnow() { return+new Date } - -/** - * NEXTORIGIN - * ========== - * var next_origin = nextorigin(); - */ -var nextorigin = (function() { - var max = 20 - , ori = Math.floor(Math.random() * max); - return function( origin, failover ) { - return origin.indexOf('pubsub.') > 0 - && origin.replace( - 'pubsub', 'ps' + ( - failover ? uuid().split('-')[0] : - (++ori < max? ori : ori=1) - ) ) || origin; - } -})(); - -/** - * UPDATER - * ======= - * var timestamp = unique(); - */ -function updater( fun, rate ) { - var timeout - , last = 0 - , runnit = function() { - if (last + rate > rnow()) { - clearTimeout(timeout); - timeout = setTimeout( runnit, rate ); - } - else { - last = rnow(); - fun(); - } - }; - - return runnit; -} - -/** - * GREP - * ==== - * var list = grep( [1,2,3], function(item) { return item % 2 } ) - */ -function grep( list, fun ) { - var fin = []; - each( list || [], function(l) { fun(l) && fin.push(l) } ); - return fin -} - -/** - * SUPPLANT - * ======== - * var text = supplant( 'Hello {name}!', { name : 'John' } ) - */ -function supplant( str, values ) { - return str.replace( REPL, function( _, match ) { - return values[match] || _ - } ); -} - -/** - * timeout - * ======= - * timeout( function(){}, 100 ); - */ -function timeout( fun, wait ) { - return setTimeout( fun, wait ); -} - -/** - * uuid - * ==== - * var my_uuid = uuid(); - */ -function uuid(callback) { - var u = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, - function(c) { - var r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8); - return v.toString(16); - }); - if (callback) callback(u); - return u; -} - -/** - * EACH - * ==== - * each( [1,2,3], function(item) { } ) - */ -function each( o, f ) { - if ( !o || !f ) return; - - if ( typeof o[0] != 'undefined' ) - for ( var i = 0, l = o.length; i < l; ) - f.call( o[i], o[i], i++ ); - else - for ( var i in o ) - o.hasOwnProperty && - o.hasOwnProperty(i) && - f.call( o[i], i, o[i] ); -} - -/** - * MAP - * === - * var list = map( [1,2,3], function(item) { return item + 1 } ) - */ -function map( list, fun ) { - var fin = []; - each( list || [], function( k, v ) { fin.push(fun( k, v )) } ); - return fin; -} - -/** - * ENCODE - * ====== - * var encoded_path = encode('path'); - */ -function encode(path) { - return map( (encodeURIComponent(path)).split(''), function(chr) { - return "-_.!~*'()".indexOf(chr) < 0 ? chr : - "%"+chr.charCodeAt(0).toString(16).toUpperCase() - } ).join(''); -} - -/** - * Generate Subscription Channel List - * ================================== - * generate_channel_list(channels_object); - */ -function generate_channel_list(channels) { - var list = []; - each( channels, function( channel, status ) { - if (status.subscribed) list.push(channel); - } ); - return list.sort(); -} - -// PUBNUB READY TO CONNECT - function ready() { timeout( function() { - if (READY) return; - READY = 1; - each( READY_BUFFER, function(connect) { connect() } ); - }, SECOND ); } - -function PN_API(setup) { - var SUB_WINDOWING = +setup['windowing'] || DEF_WINDOWING - , SUB_TIMEOUT = (+setup['timeout'] || DEF_SUB_TIMEOUT) * SECOND - , KEEPALIVE = (+setup['keepalive'] || DEF_KEEPALIVE) * SECOND - , PUBLISH_KEY = setup['publish_key'] || '' - , SUBSCRIBE_KEY = setup['subscribe_key'] || '' - , SSL = setup['ssl'] ? 's' : '' - , ORIGIN = 'http'+SSL+'://'+(setup['origin']||'pubsub.pubnub.com') - , STD_ORIGIN = nextorigin(ORIGIN) - , SUB_ORIGIN = nextorigin(ORIGIN) - , CONNECT = function(){} - , PUB_QUEUE = [] - , SUB_CALLBACK = 0 - , SUB_CHANNEL = 0 - , SUB_RECEIVER = 0 - , SUB_RESTORE = 0 - , SUB_BUFF_WAIT = 0 - , TIMETOKEN = 0 - , CHANNELS = {} - , xdr = setup['xdr'] - , _is_online = setup['_is_online'] || function() { return 1; } - , jsonp_cb = setup['jsonp_cb'] || function(){ return 0; } - , db = setup['db'] || {'get': function(){}, 'set': function(){}} - , UUID = setup['uuid'] || ( db && db['get'](SUBSCRIBE_KEY+'uuid') || ''); - - - - function publish(next) { - if (next) PUB_QUEUE.sending = 0; - if (PUB_QUEUE.sending || !PUB_QUEUE.length) return; - PUB_QUEUE.sending = 1; - xdr(PUB_QUEUE.shift()); - } - - function each_channel(callback) { - each( generate_channel_list(CHANNELS), function(channel) { - var chan = CHANNELS[channel]; - if (!chan) return; - callback(chan); - } ); - } - - // Announce Leave Event - - - var SELF = { - - '_reset_offline' : function() { - SUB_RECEIVER && SUB_RECEIVER(1); - }, - - 'LEAVE' : function( channel, blocking ) { - var data = { 'uuid' : UUID } - , origin = nextorigin(ORIGIN) - , jsonp = jsonp_cb(); - - // Prevent Leaving a Presence Channel - if (channel.indexOf(PRESENCE_SUFFIX) > 0) return; - - if (jsonp != '0') data['callback'] = jsonp; - - xdr({ - blocking : blocking || SSL, - timeout : 2000, - callback : jsonp, - data : data, - url : [ - origin, 'v2', 'presence', 'sub_key', - SUBSCRIBE_KEY, 'channel', encode(channel), 'leave' - ] - }); - }, - /* - PUBNUB.history({ - channel : 'my_chat_channel', - limit : 100, - callback : function(history) { } - }); - */ - 'history' : function( args, callback ) { - var callback = args['callback'] || callback - , count = args['count'] || args['limit'] || 100 - , reverse = args['reverse'] || "false" - , err = args['error'] || function(){} - , channel = args['channel'] - , start = args['start'] - , end = args['end'] - , params = {} - , jsonp = jsonp_cb(); - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - params['stringtoken'] = 'true'; - params['count'] = count; - params['reverse'] = reverse; - - if (jsonp) params['callback'] = jsonp; - if (start) params['start'] = start; - if (end) params['end'] = end; - - // Send Message - xdr({ - callback : jsonp, - data : params, - success : function(response) { callback(response) }, - fail : err, - url : [ - STD_ORIGIN, 'v2', 'history', 'sub-key', - SUBSCRIBE_KEY, 'channel', encode(channel) - ] - }); - }, - - /* - PUBNUB.replay({ - source : 'my_channel', - destination : 'new_channel' - }); - */ - 'replay' : function(args) { - var callback = callback || args['callback'] || function(){} - , source = args['source'] - , destination = args['destination'] - , stop = args['stop'] - , start = args['start'] - , end = args['end'] - , reverse = args['reverse'] - , limit = args['limit'] - , jsonp = jsonp_cb() - , data = {} - , url; - - // Check User Input - if (!source) return error('Missing Source Channel'); - if (!destination) return error('Missing Destination Channel'); - if (!PUBLISH_KEY) return error('Missing Publish Key'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // Setup URL Params - if (jsonp != '0') data['callback'] = jsonp; - if (stop) data['stop'] = 'all'; - if (reverse) data['reverse'] = 'true'; - if (start) data['start'] = start; - if (end) data['end'] = end; - if (limit) data['count'] = limit; - - // Compose URL Parts - url = [ - STD_ORIGIN, 'v1', 'replay', - PUBLISH_KEY, SUBSCRIBE_KEY, - source, destination - ]; - - // Start (or Stop) Replay! - xdr({ - callback : jsonp, - success : function(response) { callback(response) }, - fail : function() { callback([ 0, 'Disconnected' ]) }, - url : url, - data : data - }); - }, - - /* - PUBNUB.time(function(time){ }); - */ - 'time' : function(callback) { - var jsonp = jsonp_cb(); - xdr({ - callback : jsonp, - timeout : SECOND*5, - url : [STD_ORIGIN, 'time', jsonp], - success : function(response) { callback(response[0]) }, - fail : function() { callback(0) } - }); - }, - - /* - PUBNUB.publish({ - channel : 'my_chat_channel', - message : 'hello!' - }); - */ - 'publish' : function( args, callback ) { - var callback = callback || args['callback'] || function(){} - , msg = args['message'] - , channel = args['channel'] - , jsonp = jsonp_cb() - , url; - - if (!msg) return error('Missing Message'); - if (!channel) return error('Missing Channel'); - if (!PUBLISH_KEY) return error('Missing Publish Key'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // If trying to send Object - msg = JSON['stringify'](msg); - - // Create URL - url = [ - STD_ORIGIN, 'publish', - PUBLISH_KEY, SUBSCRIBE_KEY, - 0, encode(channel), - jsonp, encode(msg) - ]; - - // Queue Message Send - PUB_QUEUE.push({ - callback : jsonp, - timeout : SECOND*5, - url : url, - data : { 'uuid' : UUID }, - success : function(response){callback(response);publish(1)}, - fail : function(){callback([0,'Failed',msg]);publish(1)} - }); - - // Send Message - publish(); - }, - - /* - PUBNUB.unsubscribe({ channel : 'my_chat' }); - */ - 'unsubscribe' : function(args) { - var channel = args['channel']; - - TIMETOKEN = 0; - SUB_RESTORE = 1; - - // Prepare Channel(s) - channel = map( ( - channel.join ? channel.join(',') : ''+channel - ).split(','), function(channel) { - return channel + ',' + channel + PRESENCE_SUFFIX; - } ).join(','); - - // Iterate over Channels - each( channel.split(','), function(channel) { - if (READY) SELF['LEAVE']( channel, 0 ); - CHANNELS[channel] = 0; - } ); - - // ReOpen Connection if Any Channels Left - if (READY) CONNECT(); - }, - - /* - PUBNUB.subscribe({ - channel : 'my_chat' - callback : function(message) { } - }); - */ - 'subscribe' : function( args, callback ) { - var channel = args['channel'] - , callback = callback || args['callback'] - , callback = callback || args['message'] - , connect = args['connect'] || function(){} - , reconnect = args['reconnect'] || function(){} - , disconnect = args['disconnect'] || function(){} - , presence = args['presence'] || 0 - , noheresync = args['noheresync'] || 0 - , backfill = args['backfill'] || 0 - , sub_timeout = args['timeout'] || SUB_TIMEOUT - , windowing = args['windowing'] || SUB_WINDOWING - , restore = args['restore']; - - // Restore Enabled? - if (restore) SUB_RESTORE = 1; - - TIMETOKEN = 0; - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // Setup Channel(s) - each( (channel.join ? channel.join(',') : ''+channel).split(','), - function(channel) { - var settings = CHANNELS[channel] || {}; - - // Store Channel State - CHANNELS[SUB_CHANNEL = channel] = { - name : channel, - connected : settings.connected, - disconnected : settings.disconnected, - subscribed : 1, - callback : SUB_CALLBACK = callback, - connect : connect, - disconnect : disconnect, - reconnect : reconnect - }; - - // Presence Enabled? - if (!presence) return; - - // Subscribe Presence Channel - SELF['subscribe']({ - 'channel' : channel + PRESENCE_SUFFIX, - 'callback' : presence - }); - - // Presence Subscribed? - if (settings.subscribed) return; - - // See Who's Here Now? - if (noheresync) return; - SELF['here_now']({ - 'channel' : channel, - 'callback' : function(here) { - each( 'uuids' in here ? here['uuids'] : [], - function(uid) { presence( { - 'action' : 'join', - 'uuid' : uid, - 'timestamp' : rnow(), - 'occupancy' : here['occupancy'] || 1 - }, here, channel ); } ); - } - }); - } ); - - // Test Network Connection - function _test_connection(success) { - if (success) { - // Begin Next Socket Connection - timeout( _connect, SECOND ); - } - else { - // New Origin on Failed Connection - STD_ORIGIN = nextorigin( ORIGIN, 1 ); - SUB_ORIGIN = nextorigin( ORIGIN, 1 ); - - // Re-test Connection - timeout( function() { - SELF['time'](_test_connection); - }, SECOND ); - } - - // Disconnect & Reconnect - each_channel(function(channel){ - // Reconnect - if (success && channel.disconnected) { - channel.disconnected = 0; - return channel.reconnect(channel.name); - } - - // Disconnect - if (!success && !channel.disconnected) { - channel.disconnected = 1; - channel.disconnect(channel.name); - } - }); - } - - // Evented Subscribe - function _connect() { - var jsonp = jsonp_cb() - , channels = generate_channel_list(CHANNELS).join(','); - - // Stop Connection - if (!channels) return; - - // Connect to PubNub Subscribe Servers - SUB_RECEIVER = xdr({ - timeout : sub_timeout, - callback : jsonp, - fail : function() { SELF['time'](_test_connection) }, - data : { 'uuid' : UUID }, - url : [ - SUB_ORIGIN, 'subscribe', - SUBSCRIBE_KEY, encode(channels), - jsonp, TIMETOKEN - ], - success : function(messages) { - if (!messages) return timeout( _connect, windowing ); - - // Connect - each_channel(function(channel){ - if (channel.connected) return; - channel.connected = 1; - channel.connect(channel.name); - }); - - // Restore Previous Connection Point if Needed - TIMETOKEN = !TIMETOKEN && - SUB_RESTORE && - db['get'](SUBSCRIBE_KEY) || messages[1]; - - - if (backfill) { - Timetoken = 10000; - backfill = 0; - } - - // Update Saved Timetoken - db['set']( SUBSCRIBE_KEY, messages[1] ); - - // Route Channel <---> Callback for Message - var next_callback = (function() { - var channels = (messages.length>2?messages[2]:'') - , list = channels.split(','); - - return function() { - var channel = list.shift()||''; - return [ - (CHANNELS[channel]||{}) - .callback||SUB_CALLBACK, - (channel||SUB_CHANNEL) - .split(PRESENCE_SUFFIX)[0] - ]; - }; - })(); - - each( messages[0], function(msg) { - var next = next_callback(); - if (!CHANNELS[next[1]].subscribed) return; - next[0]( msg, messages, next[1] ); - } ); - - timeout( _connect, windowing ); - } - }); - } - - CONNECT = function() { - // Close Previous Subscribe Connection - SELF['_reset_offline'](); - - // Begin Recursive Subscribe - clearTimeout(SUB_BUFF_WAIT); - SUB_BUFF_WAIT = timeout( _connect, 100 ); - }; - - // Reduce Status Flicker - if (!READY) return READY_BUFFER.push(CONNECT); - - // Connect Now - CONNECT(); - }, - - 'here_now' : function( args, callback ) { - var callback = args['callback'] || callback - , err = args['error'] || function(){} - , channel = args['channel'] - , jsonp = jsonp_cb() - , data = null; - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - if (jsonp != '0') { - data = {}; - data['callback'] = jsonp; - } - - xdr({ - callback : jsonp, - data : data, - success : function(response) { callback(response) }, - fail : err, - url : [ - STD_ORIGIN, 'v2', 'presence', - 'sub_key', SUBSCRIBE_KEY, - 'channel', encode(channel) - ] - }); - }, - - // Expose PUBNUB Functions - 'xdr' : xdr, - 'ready' : ready, - 'db' : db, - 'uuid' : uuid, - 'each' : each, - 'map' : map, - 'grep' : grep, - 'supplant' : supplant, - 'now' : rnow, - 'unique' : unique, - 'updater' : updater, - 'poll_online' : function() { - _is_online() || SELF['_reset_offline'](); - timeout( SELF['poll_online'], SECOND ); - }, - 'poll_online2' : function() { - SELF['time'](function(success){ - success || SELF['_reset_offline'](); - timeout( SELF['poll_online2'], KEEPALIVE ); - }) - } - }; - if (!UUID) UUID = SELF['uuid'](); - db['set']( SUBSCRIBE_KEY + 'uuid', UUID ); - - timeout( SELF['poll_online'], SECOND ); - timeout( SELF['poll_online2'], KEEPALIVE ); - - return SELF; -} -// 3.4/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= JSON =============================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -(window['JSON'] && window['JSON']['stringify']) || (function () { - window['JSON'] || (window['JSON'] = {}); - - function toJSON(key) { - try { return this.valueOf() } - catch(e) { return null } - } - - var cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, - escapable = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, - gap, - indent, - meta = { // table of character substitutions - '\b': '\\b', - '\t': '\\t', - '\n': '\\n', - '\f': '\\f', - '\r': '\\r', - '"' : '\\"', - '\\': '\\\\' - }, - rep; - - function quote(string) { - escapable.lastIndex = 0; - return escapable.test(string) ? - '"' + string.replace(escapable, function (a) { - var c = meta[a]; - return typeof c === 'string' ? c : - '\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4); - }) + '"' : - '"' + string + '"'; - } - - function str(key, holder) { - var i, // The loop counter. - k, // The member key. - v, // The member value. - length, - partial, - mind = gap, - value = holder[key]; - - if (value && typeof value === 'object') { - value = toJSON.call( value, key ); - } - - if (typeof rep === 'function') { - value = rep.call(holder, key, value); - } - - switch (typeof value) { - case 'string': - return quote(value); - - case 'number': - return isFinite(value) ? String(value) : 'null'; - - case 'boolean': - case 'null': - return String(value); - - case 'object': - - if (!value) { - return 'null'; - } - - gap += indent; - partial = []; - - if (Object.prototype.toString.apply(value) === '[object Array]') { - - length = value.length; - for (i = 0; i < length; i += 1) { - partial[i] = str(i, value) || 'null'; - } - - v = partial.length === 0 ? '[]' : - gap ? '[\n' + gap + - partial.join(',\n' + gap) + '\n' + - mind + ']' : - '[' + partial.join(',') + ']'; - gap = mind; - return v; - } - if (rep && typeof rep === 'object') { - length = rep.length; - for (i = 0; i < length; i += 1) { - k = rep[i]; - if (typeof k === 'string') { - v = str(k, value); - if (v) { - partial.push(quote(k) + (gap ? ': ' : ':') + v); - } - } - } - } else { - for (k in value) { - if (Object.hasOwnProperty.call(value, k)) { - v = str(k, value); - if (v) { - partial.push(quote(k) + (gap ? ': ' : ':') + v); - } - } - } - } - - v = partial.length === 0 ? '{}' : - gap ? '{\n' + gap + partial.join(',\n' + gap) + '\n' + - mind + '}' : '{' + partial.join(',') + '}'; - gap = mind; - return v; - } - } - - if (typeof JSON['stringify'] !== 'function') { - JSON['stringify'] = function (value, replacer, space) { - var i; - gap = ''; - indent = ''; - - if (typeof space === 'number') { - for (i = 0; i < space; i += 1) { - indent += ' '; - } - } else if (typeof space === 'string') { - indent = space; - } - rep = replacer; - if (replacer && typeof replacer !== 'function' && - (typeof replacer !== 'object' || - typeof replacer.length !== 'number')) { - throw new Error('JSON.stringify'); - } - return str('', {'': value}); - }; - } - - if (typeof JSON['parse'] !== 'function') { - // JSON is parsed on the server for security. - JSON['parse'] = function (text) {return eval('('+text+')')}; - } -}()); -/* --------------------------------------------------------------------------- -WAIT! - This file depends on instructions from the PUBNUB Cloud. -http://www.pubnub.com/account-javascript-api-include ---------------------------------------------------------------------------- */ - -/* --------------------------------------------------------------------------- -PubNub Real-time Cloud-Hosted Push API and Push Notification Client Frameworks -Copyright (c) 2011 PubNub Inc. -http://www.pubnub.com/ -http://www.pubnub.com/terms ---------------------------------------------------------------------------- */ - -/* --------------------------------------------------------------------------- -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. ---------------------------------------------------------------------------- */ - -/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= UTIL =============================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -window['PUBNUB'] || (function() { - -/** - * UTIL LOCALS - */ - -var SWF = 'https://pubnub.a.ssl.fastly.net/pubnub.swf' -, ASYNC = 'async' -, URLBIT = '/' -, PARAMSBIT = '&' -, UA = navigator.userAgent -, XORIGN = UA.indexOf('MSIE 6') == -1; - -/** - * CONSOLE COMPATIBILITY - */ -window.console || (window.console=window.console||{}); -console.log || ( - console.log = - console.error = - ((window.opera||{}).postError||function(){}) -); - - - -/** - * LOCAL STORAGE OR COOKIE - */ -var db = (function(){ - var ls = window['localStorage']; - return { - 'get' : function(key) { - try { - if (ls) return ls.getItem(key); - if (document.cookie.indexOf(key) == -1) return null; - return ((document.cookie||'').match( - RegExp(key+'=([^;]+)') - )||[])[1] || null; - } catch(e) { return } - }, - 'set' : function( key, value ) { - try { - if (ls) return ls.setItem( key, value ) && 0; - document.cookie = key + '=' + value + - '; expires=Thu, 1 Aug 2030 20:00:00 UTC; path=/'; - } catch(e) { return } - } - }; -})(); - - -/** - * $ - * = - * var div = $('divid'); - */ -function $(id) { return document.getElementById(id) } - -/** - * ERROR - * ===== - * error('message'); - */ -function error(message) { console['error'](message) } - -/** - * SEARCH - * ====== - * var elements = search('a div span'); - */ -function search( elements, start ) { - var list = []; - each( elements.split(/\s+/), function(el) { - each( (start || document).getElementsByTagName(el), function(node) { - list.push(node); - } ); - } ); - return list; -} - - - -/** - * BIND - * ==== - * bind( 'keydown', search('a')[0], function(element) { - * ... - * } ); - */ -function bind( type, el, fun ) { - each( type.split(','), function(etype) { - var rapfun = function(e) { - if (!e) e = window.event; - if (!fun(e)) { - e.cancelBubble = true; - e.returnValue = false; - e.preventDefault && e.preventDefault(); - e.stopPropagation && e.stopPropagation(); - } - }; - - if ( el.addEventListener ) el.addEventListener( etype, rapfun, false ); - else if ( el.attachEvent ) el.attachEvent( 'on' + etype, rapfun ); - else el[ 'on' + etype ] = rapfun; - } ); -} - -/** - * UNBIND - * ====== - * unbind( 'keydown', search('a')[0] ); - */ -function unbind( type, el, fun ) { - if ( el.removeEventListener ) el.removeEventListener( type, false ); - else if ( el.detachEvent ) el.detachEvent( 'on' + type, false ); - else el[ 'on' + type ] = null; -} - -/** - * HEAD - * ==== - * head().appendChild(elm); - */ -function head() { return search('head')[0] } - -/** - * ATTR - * ==== - * var attribute = attr( node, 'attribute' ); - */ -function attr( node, attribute, value ) { - if (value) node.setAttribute( attribute, value ); - else return node && node.getAttribute && node.getAttribute(attribute); -} - -/** - * CSS - * === - * var obj = create('div'); - */ -function css( element, styles ) { - for (var style in styles) if (styles.hasOwnProperty(style)) - try {element.style[style] = styles[style] + ( - '|width|height|top|left|'.indexOf(style) > 0 && - typeof styles[style] == 'number' - ? 'px' : '' - )}catch(e){} -} - -/** - * CREATE - * ====== - * var obj = create('div'); - */ -function create(element) { return document.createElement(element) } - - -/** - * jsonp_cb - * ======== - * var callback = jsonp_cb(); - */ -function jsonp_cb() { return XORIGN || FDomainRequest() ? 0 : unique() } - - - -/** - * EVENTS - * ====== - * PUBNUB.events.bind( 'you-stepped-on-flower', function(message) { - * // Do Stuff with message - * } ); - * - * PUBNUB.events.fire( 'you-stepped-on-flower', "message-data" ); - * PUBNUB.events.fire( 'you-stepped-on-flower', {message:"data"} ); - * PUBNUB.events.fire( 'you-stepped-on-flower', [1,2,3] ); - * - */ -var events = { - 'list' : {}, - 'unbind' : function( name ) { events.list[name] = [] }, - 'bind' : function( name, fun ) { - (events.list[name] = events.list[name] || []).push(fun); - }, - 'fire' : function( name, data ) { - each( - events.list[name] || [], - function(fun) { fun(data) } - ); - } -}; - -/** - * XDR Cross Domain Request - * ======================== - * xdr({ - * url : ['http://www.blah.com/url'], - * success : function(response) {}, - * fail : function() {} - * }); - */ -function xdr( setup ) { - if (XORIGN || FDomainRequest()) return ajax(setup); - - var script = create('script') - , callback = setup.callback - , id = unique() - , finished = 0 - , xhrtme = setup.timeout || DEF_TIMEOUT - , timer = timeout( function(){done(1)}, xhrtme ) - , fail = setup.fail || function(){} - , success = setup.success || function(){} - - , append = function() { - head().appendChild(script); - } - - , done = function( failed, response ) { - if (finished) return; - finished = 1; - - failed || success(response); - script.onerror = null; - clearTimeout(timer); - - timeout( function() { - failed && fail(); - var s = $(id) - , p = s && s.parentNode; - p && p.removeChild(s); - }, SECOND ); - }; - - window[callback] = function(response) { - done( 0, response ); - }; - - if (!setup.blocking) script[ASYNC] = ASYNC; - - script.onerror = function() { done(1) }; - script.src = setup.url.join(URLBIT); - - if (setup.data) { - var params = []; - script.src += "?"; - for (var key in setup.data) { - params.push(key+"="+setup.data[key]); - } - script.src += params.join(PARAMSBIT); - } - attr( script, 'id', id ); - - append(); - return done; -} - -/** - * CORS XHR Request - * ================ - * xdr({ - * url : ['http://www.blah.com/url'], - * success : function(response) {}, - * fail : function() {} - * }); - */ -function ajax( setup ) { - var xhr, response - , finished = function() { - if (loaded) return; - loaded = 1; - - clearTimeout(timer); - - try { response = JSON['parse'](xhr.responseText); } - catch (r) { return done(1); } - - success(response); - } - , complete = 0 - , loaded = 0 - , xhrtme = setup.timeout || DEF_TIMEOUT - , timer = timeout( function(){done(1)}, xhrtme ) - , fail = setup.fail || function(){} - , success = setup.success || function(){} - , done = function(failed) { - if (complete) return; - complete = 1; - - clearTimeout(timer); - - if (xhr) { - xhr.onerror = xhr.onload = null; - xhr.abort && xhr.abort(); - xhr = null; - } - - failed && fail(); - }; - - // Send - try { - xhr = FDomainRequest() || - window.XDomainRequest && - new XDomainRequest() || - new XMLHttpRequest(); - - xhr.onerror = xhr.onabort = function(){ done(1) }; - xhr.onload = xhr.onloadend = finished; - xhr.timeout = xhrtme; - - var url = setup.url.join(URLBIT); - if (setup.data) { - var params = []; - var key; - console.log(setup.data); - url += "?"; - for (key in setup.data) params.push(key+"="+setup.data[key]); - url += params.join(PARAMSBIT); - } - - xhr.open( 'GET', url, (typeof(setup.blocking === 'undefined')) ); - xhr.send(); - } - catch(eee) { - done(0); - XORIGN = 0; - return xdr(setup); - } - - // Return 'done' - return done; -} - - - - // Test Connection State -function _is_online() { - if (!('onLine' in navigator)) return 1; - return navigator['onLine']; -} - - -/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= PUBNUB ===========================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -var PDIV = $('pubnub') || 0 -, CREATE_PUBNUB = function(setup) { - - // Force JSONP if requested from user. - if (setup['jsonp']) XORIGN = 0; - - var SUBSCRIBE_KEY = setup['subscribe_key'] || '' - , KEEPALIVE = (+setup['keepalive'] || DEF_KEEPALIVE) * SECOND - , UUID = setup['uuid'] || db['get'](SUBSCRIBE_KEY+'uuid') || ''; - - setup['xdr'] = xdr; - setup['db'] = db; - setup['_is_online'] = _is_online; - setup['jsonp_cb'] = jsonp_cb; - var SELF = PN_API(setup); - - - SELF['css'] = css; - SELF['$'] = $; - SELF['create'] = create; - SELF['bind'] = bind; - SELF['head'] = head; - SELF['search'] = search; - SELF['attr'] = attr; - SELF['events'] = events; - SELF['init'] = CREATE_PUBNUB; - - // Return without Testing - if (setup['notest']) return SELF; - - // Add Leave Functions - bind( 'beforeunload', window, function() { - each_channel(function(ch){ SELF['LEAVE']( ch.name, 1 ) }); - return true; - } ); - - bind( 'offline', window, SELF['_reset_offline'] ); - bind( 'offline', document, SELF['_reset_offline'] ); - - // Return PUBNUB Socket Object - return SELF; -}; - - - -// Bind for PUBNUB Readiness to Subscribe -bind( 'load', window, function(){ timeout( ready, 0 ) } ); - -var pdiv = PDIV || {}; - -// CREATE A PUBNUB GLOBAL OBJECT -PUBNUB = CREATE_PUBNUB({ - 'notest' : 1, - 'publish_key' : attr( pdiv, 'pub-key' ), - 'subscribe_key' : attr( pdiv, 'sub-key' ), - 'ssl' : !document.location.href.indexOf('https') || - attr( pdiv, 'ssl' ) == 'on', - 'origin' : attr( pdiv, 'origin' ), - 'uuid' : attr( pdiv, 'uuid' ) -}); - -// jQuery Interface -window['jQuery'] && (window['jQuery']['PUBNUB'] = PUBNUB); - -// For Modern JS + Testling.js - http://testling.com/ -typeof(module) !== 'undefined' && (module['exports'] = PUBNUB) && ready(); - -var pubnubs = $('pubnubs') || 0; - -// LEAVE NOW IF NO PDIV. -if (!PDIV) return; - -// PUBNUB Flash Socket -css( PDIV, { 'position' : 'absolute', 'top' : -SECOND } ); - -if ('opera' in window || attr( PDIV, 'flash' )) PDIV['innerHTML'] = - ''; - -// Create Interface for Opera Flash -PUBNUB['rdx'] = function( id, data ) { - if (!data) return FDomainRequest[id]['onerror'](); - FDomainRequest[id]['responseText'] = unescape(data); - FDomainRequest[id]['onload'](); -}; - -function FDomainRequest() { - if (!pubnubs || !pubnubs['get']) return 0; - - var fdomainrequest = { - 'id' : FDomainRequest['id']++, - 'send' : function() {}, - 'abort' : function() { fdomainrequest['id'] = {} }, - 'open' : function( method, url ) { - FDomainRequest[fdomainrequest['id']] = fdomainrequest; - pubnubs['get']( fdomainrequest['id'], url ); - } - }; - - return fdomainrequest; -} -FDomainRequest['id'] = SECOND; - -})(); -(function(){ - -// --------------------------------------------------------------------------- -// WEBSOCKET INTERFACE -// --------------------------------------------------------------------------- -var WS = PUBNUB['ws'] = function( url, protocols ) { - if (!(this instanceof WS)) return new WS( url, protocols ); - - var self = this - , url = self.url = url || '' - , protocol = self.protocol = protocols || 'Sec-WebSocket-Protocol' - , bits = url.split('/') - , setup = { - 'ssl' : bits[0] === 'wss:' - ,'origin' : bits[2] - ,'publish_key' : bits[3] - ,'subscribe_key' : bits[4] - ,'channel' : bits[5] - }; - - // READY STATES - self['CONNECTING'] = 0; // The connection is not yet open. - self['OPEN'] = 1; // The connection is open and ready to communicate. - self['CLOSING'] = 2; // The connection is in the process of closing. - self['CLOSED'] = 3; // The connection is closed or couldn't be opened. - - // CLOSE STATES - self['CLOSE_NORMAL'] = 1000; // Normal Intended Close; completed. - self['CLOSE_GOING_AWAY'] = 1001; // Closed Unexpecttedly. - self['CLOSE_PROTOCOL_ERROR'] = 1002; // Server: Not Supported. - self['CLOSE_UNSUPPORTED'] = 1003; // Server: Unsupported Protocol. - self['CLOSE_TOO_LARGE'] = 1004; // Server: Too Much Data. - self['CLOSE_NO_STATUS'] = 1005; // Server: No reason. - self['CLOSE_ABNORMAL'] = 1006; // Abnormal Disconnect. - - // Events Default - self['onclose'] = self['onerror'] = - self['onmessage'] = self['onopen'] = - self['onsend'] = function(){}; - - // Attributes - self['binaryType'] = ''; - self['extensions'] = ''; - self['bufferedAmount'] = 0; - self['trasnmitting'] = false; - self['buffer'] = []; - self['readyState'] = self['CONNECTING']; - - // Close if no setup. - if (!url) { - self['readyState'] = self['CLOSED']; - self['onclose']({ - 'code' : self['CLOSE_ABNORMAL'], - 'reason' : 'Missing URL', - 'wasClean' : true - }); - return self; - } - - // PubNub WebSocket Emulation - self.pubnub = PUBNUB['init'](setup); - self.pubnub.setup = setup; - self.setup = setup; - - self.pubnub['subscribe']({ - 'restore' : false, - 'channel' : setup['channel'], - 'disconnect' : self['onerror'], - 'reconnect' : self['onopen'], - 'error' : function() { - self['onclose']({ - 'code' : self['CLOSE_ABNORMAL'], - 'reason' : 'Missing URL', - 'wasClean' : false - }); - }, - 'callback' : function(message) { - self['onmessage']({ 'data' : message }); - }, - 'connect' : function() { - self['readyState'] = self['OPEN']; - self['onopen'](); - } - }); -}; - -// --------------------------------------------------------------------------- -// WEBSOCKET SEND -// --------------------------------------------------------------------------- -WS.prototype.send = function(data) { - var self = this; - self.pubnub['publish']({ - 'channel' : self.pubnub.setup['channel'], - 'message' : data, - 'callback' : function(response) { - self['onsend']({ 'data' : response }); - } - }); -}; - -// --------------------------------------------------------------------------- -// WEBSOCKET CLOSE -// --------------------------------------------------------------------------- -WS.prototype.close = function() { - var self = this; - self.pubnub['unsubscribe']({ 'channel' : self.pubnub.setup['channel'] }); - self['readyState'] = self['CLOSED']; - self['onclose']({}); -}; - -})(); -(function(){ - -// --------------------------------------------------------------------------- -// WEBSOCKET INTERFACE -// --------------------------------------------------------------------------- -var WS = PUBNUB['ws'] = function( url, protocols ) { - if (!(this instanceof WS)) return new WS( url, protocols ); - - var self = this - , url = self.url = url || '' - , protocol = self.protocol = protocols || 'Sec-WebSocket-Protocol' - , bits = url.split('/') - , setup = { - 'ssl' : bits[0] === 'wss:' - ,'origin' : bits[2] - ,'publish_key' : bits[3] - ,'subscribe_key' : bits[4] - ,'channel' : bits[5] - }; - - // READY STATES - self['CONNECTING'] = 0; // The connection is not yet open. - self['OPEN'] = 1; // The connection is open and ready to communicate. - self['CLOSING'] = 2; // The connection is in the process of closing. - self['CLOSED'] = 3; // The connection is closed or couldn't be opened. - - // CLOSE STATES - self['CLOSE_NORMAL'] = 1000; // Normal Intended Close; completed. - self['CLOSE_GOING_AWAY'] = 1001; // Closed Unexpecttedly. - self['CLOSE_PROTOCOL_ERROR'] = 1002; // Server: Not Supported. - self['CLOSE_UNSUPPORTED'] = 1003; // Server: Unsupported Protocol. - self['CLOSE_TOO_LARGE'] = 1004; // Server: Too Much Data. - self['CLOSE_NO_STATUS'] = 1005; // Server: No reason. - self['CLOSE_ABNORMAL'] = 1006; // Abnormal Disconnect. - - // Events Default - self['onclose'] = self['onerror'] = - self['onmessage'] = self['onopen'] = - self['onsend'] = function(){}; - - // Attributes - self['binaryType'] = ''; - self['extensions'] = ''; - self['bufferedAmount'] = 0; - self['trasnmitting'] = false; - self['buffer'] = []; - self['readyState'] = self['CONNECTING']; - - // Close if no setup. - if (!url) { - self['readyState'] = self['CLOSED']; - self['onclose']({ - 'code' : self['CLOSE_ABNORMAL'], - 'reason' : 'Missing URL', - 'wasClean' : true - }); - return self; - } - - // PubNub WebSocket Emulation - self.pubnub = PUBNUB['init'](setup); - self.pubnub.setup = setup; - self.setup = setup; - - self.pubnub['subscribe']({ - 'restore' : false, - 'channel' : setup['channel'], - 'disconnect' : self['onerror'], - 'reconnect' : self['onopen'], - 'error' : function() { - self['onclose']({ - 'code' : self['CLOSE_ABNORMAL'], - 'reason' : 'Missing URL', - 'wasClean' : false - }); - }, - 'callback' : function(message) { - self['onmessage']({ 'data' : message }); - }, - 'connect' : function() { - self['readyState'] = self['OPEN']; - self['onopen'](); - } - }); -}; - -// --------------------------------------------------------------------------- -// WEBSOCKET SEND -// --------------------------------------------------------------------------- -WS.prototype.send = function(data) { - var self = this; - self.pubnub['publish']({ - 'channel' : self.pubnub.setup['channel'], - 'message' : data, - 'callback' : function(response) { - self['onsend']({ 'data' : response }); - } - }); -}; - -// --------------------------------------------------------------------------- -// WEBSOCKET CLOSE -// --------------------------------------------------------------------------- -WS.prototype.close = function() { - var self = this; - self.pubnub['unsubscribe']({ 'channel' : self.pubnub.setup['channel'] }); - self['readyState'] = self['CLOSED']; - self['onclose']({}); -}; - -})(); -/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= JSON =============================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -(window['JSON'] && window['JSON']['stringify']) || (function () { - window['JSON'] || (window['JSON'] = {}); - - function toJSON(key) { - try { return this.valueOf() } - catch(e) { return null } - } - - var cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, - escapable = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, - gap, - indent, - meta = { // table of character substitutions - '\b': '\\b', - '\t': '\\t', - '\n': '\\n', - '\f': '\\f', - '\r': '\\r', - '"' : '\\"', - '\\': '\\\\' - }, - rep; - - function quote(string) { - escapable.lastIndex = 0; - return escapable.test(string) ? - '"' + string.replace(escapable, function (a) { - var c = meta[a]; - return typeof c === 'string' ? c : - '\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4); - }) + '"' : - '"' + string + '"'; - } - - function str(key, holder) { - var i, // The loop counter. - k, // The member key. - v, // The member value. - length, - partial, - mind = gap, - value = holder[key]; - - if (value && typeof value === 'object') { - value = toJSON.call( value, key ); - } - - if (typeof rep === 'function') { - value = rep.call(holder, key, value); - } - - switch (typeof value) { - case 'string': - return quote(value); - - case 'number': - return isFinite(value) ? String(value) : 'null'; - - case 'boolean': - case 'null': - return String(value); - - case 'object': - - if (!value) { - return 'null'; - } - - gap += indent; - partial = []; - - if (Object.prototype.toString.apply(value) === '[object Array]') { - - length = value.length; - for (i = 0; i < length; i += 1) { - partial[i] = str(i, value) || 'null'; - } - - v = partial.length === 0 ? '[]' : - gap ? '[\n' + gap + - partial.join(',\n' + gap) + '\n' + - mind + ']' : - '[' + partial.join(',') + ']'; - gap = mind; - return v; - } - if (rep && typeof rep === 'object') { - length = rep.length; - for (i = 0; i < length; i += 1) { - k = rep[i]; - if (typeof k === 'string') { - v = str(k, value); - if (v) { - partial.push(quote(k) + (gap ? ': ' : ':') + v); - } - } - } - } else { - for (k in value) { - if (Object.hasOwnProperty.call(value, k)) { - v = str(k, value); - if (v) { - partial.push(quote(k) + (gap ? ': ' : ':') + v); - } - } - } - } - - v = partial.length === 0 ? '{}' : - gap ? '{\n' + gap + partial.join(',\n' + gap) + '\n' + - mind + '}' : '{' + partial.join(',') + '}'; - gap = mind; - return v; - } - } - - if (typeof JSON['stringify'] !== 'function') { - JSON['stringify'] = function (value, replacer, space) { - var i; - gap = ''; - indent = ''; - - if (typeof space === 'number') { - for (i = 0; i < space; i += 1) { - indent += ' '; - } - } else if (typeof space === 'string') { - indent = space; - } - rep = replacer; - if (replacer && typeof replacer !== 'function' && - (typeof replacer !== 'object' || - typeof replacer.length !== 'number')) { - throw new Error('JSON.stringify'); - } - return str('', {'': value}); - }; - } - - if (typeof JSON['parse'] !== 'function') { - // JSON is parsed on the server for security. - JSON['parse'] = function (text) {return eval('('+text+')')}; - } -}()); -var NOW = 1 -, READY = false -, READY_BUFFER = [] -, PRESENCE_SUFFIX = '-pnpres' -, DEF_WINDOWING = 10 // MILLISECONDS. -, DEF_TIMEOUT = 10000 // MILLISECONDS. -, DEF_SUB_TIMEOUT = 310 // SECONDS. -, DEF_KEEPALIVE = 60 // SECONDS. -, SECOND = 1000 // A THOUSAND MILLISECONDS. -, REPL = /{([\w\-]+)}/g; - -/** - * UTILITIES - */ -function unique() { return'x'+ ++NOW+''+(+new Date) } -function rnow() { return+new Date } - -/** - * NEXTORIGIN - * ========== - * var next_origin = nextorigin(); - */ -var nextorigin = (function() { - var max = 20 - , ori = Math.floor(Math.random() * max); - return function( origin, failover ) { - return origin.indexOf('pubsub.') > 0 - && origin.replace( - 'pubsub', 'ps' + ( - failover ? uuid().split('-')[0] : - (++ori < max? ori : ori=1) - ) ) || origin; - } -})(); - -/** - * UPDATER - * ======= - * var timestamp = unique(); - */ -function updater( fun, rate ) { - var timeout - , last = 0 - , runnit = function() { - if (last + rate > rnow()) { - clearTimeout(timeout); - timeout = setTimeout( runnit, rate ); - } - else { - last = rnow(); - fun(); - } - }; - - return runnit; -} - -/** - * GREP - * ==== - * var list = grep( [1,2,3], function(item) { return item % 2 } ) - */ -function grep( list, fun ) { - var fin = []; - each( list || [], function(l) { fun(l) && fin.push(l) } ); - return fin -} - -/** - * SUPPLANT - * ======== - * var text = supplant( 'Hello {name}!', { name : 'John' } ) - */ -function supplant( str, values ) { - return str.replace( REPL, function( _, match ) { - return values[match] || _ - } ); -} - -/** - * timeout - * ======= - * timeout( function(){}, 100 ); - */ -function timeout( fun, wait ) { - return setTimeout( fun, wait ); -} - -/** - * uuid - * ==== - * var my_uuid = uuid(); - */ -function uuid(callback) { - var u = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, - function(c) { - var r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8); - return v.toString(16); - }); - if (callback) callback(u); - return u; -} - -/** - * EACH - * ==== - * each( [1,2,3], function(item) { } ) - */ -function each( o, f ) { - if ( !o || !f ) return; - - if ( typeof o[0] != 'undefined' ) - for ( var i = 0, l = o.length; i < l; ) - f.call( o[i], o[i], i++ ); - else - for ( var i in o ) - o.hasOwnProperty && - o.hasOwnProperty(i) && - f.call( o[i], i, o[i] ); -} - -/** - * MAP - * === - * var list = map( [1,2,3], function(item) { return item + 1 } ) - */ -function map( list, fun ) { - var fin = []; - each( list || [], function( k, v ) { fin.push(fun( k, v )) } ); - return fin; -} - -/** - * ENCODE - * ====== - * var encoded_path = encode('path'); - */ -function encode(path) { - return map( (encodeURIComponent(path)).split(''), function(chr) { - return "-_.!~*'()".indexOf(chr) < 0 ? chr : - "%"+chr.charCodeAt(0).toString(16).toUpperCase() - } ).join(''); -} - -/** - * Generate Subscription Channel List - * ================================== - * generate_channel_list(channels_object); - */ -function generate_channel_list(channels) { - var list = []; - each( channels, function( channel, status ) { - if (status.subscribed) list.push(channel); - } ); - return list.sort(); -} - -// PUBNUB READY TO CONNECT - function ready() { timeout( function() { - if (READY) return; - READY = 1; - each( READY_BUFFER, function(connect) { connect() } ); - }, SECOND ); } - -function PN_API(setup) { - var SUB_WINDOWING = +setup['windowing'] || DEF_WINDOWING - , SUB_TIMEOUT = (+setup['timeout'] || DEF_SUB_TIMEOUT) * SECOND - , KEEPALIVE = (+setup['keepalive'] || DEF_KEEPALIVE) * SECOND - , PUBLISH_KEY = setup['publish_key'] || '' - , SUBSCRIBE_KEY = setup['subscribe_key'] || '' - , SSL = setup['ssl'] ? 's' : '' - , ORIGIN = 'http'+SSL+'://'+(setup['origin']||'pubsub.pubnub.com') - , STD_ORIGIN = nextorigin(ORIGIN) - , SUB_ORIGIN = nextorigin(ORIGIN) - , CONNECT = function(){} - , PUB_QUEUE = [] - , SUB_CALLBACK = 0 - , SUB_CHANNEL = 0 - , SUB_RECEIVER = 0 - , SUB_RESTORE = 0 - , SUB_BUFF_WAIT = 0 - , TIMETOKEN = 0 - , CHANNELS = {} - , xdr = setup['xdr'] - , _is_online = setup['_is_online'] || function() { return 1; } - , jsonp_cb = setup['jsonp_cb'] || function(){ return 0; } - , db = setup['db'] || {'get': function(){}, 'set': function(){}} - , UUID = setup['uuid'] || ( db && db['get'](SUBSCRIBE_KEY+'uuid') || ''); - - - - function publish(next) { - if (next) PUB_QUEUE.sending = 0; - if (PUB_QUEUE.sending || !PUB_QUEUE.length) return; - PUB_QUEUE.sending = 1; - xdr(PUB_QUEUE.shift()); - } - - function each_channel(callback) { - each( generate_channel_list(CHANNELS), function(channel) { - var chan = CHANNELS[channel]; - if (!chan) return; - callback(chan); - } ); - } - - // Announce Leave Event - - - var SELF = { - - '_reset_offline' : function() { - SUB_RECEIVER && SUB_RECEIVER(1); - }, - - 'LEAVE' : function( channel, blocking ) { - var data = { 'uuid' : UUID } - , origin = nextorigin(ORIGIN) - , jsonp = jsonp_cb(); - - // Prevent Leaving a Presence Channel - if (channel.indexOf(PRESENCE_SUFFIX) > 0) return; - - if (jsonp != '0') data['callback'] = jsonp; - - xdr({ - blocking : blocking || SSL, - timeout : 2000, - callback : jsonp, - data : data, - url : [ - origin, 'v2', 'presence', 'sub_key', - SUBSCRIBE_KEY, 'channel', encode(channel), 'leave' - ] - }); - }, - /* - PUBNUB.history({ - channel : 'my_chat_channel', - limit : 100, - callback : function(history) { } - }); - */ - 'history' : function( args, callback ) { - var callback = args['callback'] || callback - , count = args['count'] || args['limit'] || 100 - , reverse = args['reverse'] || "false" - , err = args['error'] || function(){} - , channel = args['channel'] - , start = args['start'] - , end = args['end'] - , params = {} - , jsonp = jsonp_cb(); - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - params['stringtoken'] = 'true'; - params['count'] = count; - params['reverse'] = reverse; - - if (jsonp) params['callback'] = jsonp; - if (start) params['start'] = start; - if (end) params['end'] = end; - - // Send Message - xdr({ - callback : jsonp, - data : params, - success : function(response) { callback(response) }, - fail : err, - url : [ - STD_ORIGIN, 'v2', 'history', 'sub-key', - SUBSCRIBE_KEY, 'channel', encode(channel) - ] - }); - }, - - /* - PUBNUB.replay({ - source : 'my_channel', - destination : 'new_channel' - }); - */ - 'replay' : function(args) { - var callback = callback || args['callback'] || function(){} - , source = args['source'] - , destination = args['destination'] - , stop = args['stop'] - , start = args['start'] - , end = args['end'] - , reverse = args['reverse'] - , limit = args['limit'] - , jsonp = jsonp_cb() - , data = {} - , url; - - // Check User Input - if (!source) return error('Missing Source Channel'); - if (!destination) return error('Missing Destination Channel'); - if (!PUBLISH_KEY) return error('Missing Publish Key'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // Setup URL Params - if (jsonp != '0') data['callback'] = jsonp; - if (stop) data['stop'] = 'all'; - if (reverse) data['reverse'] = 'true'; - if (start) data['start'] = start; - if (end) data['end'] = end; - if (limit) data['count'] = limit; - - // Compose URL Parts - url = [ - STD_ORIGIN, 'v1', 'replay', - PUBLISH_KEY, SUBSCRIBE_KEY, - source, destination - ]; - - // Start (or Stop) Replay! - xdr({ - callback : jsonp, - success : function(response) { callback(response) }, - fail : function() { callback([ 0, 'Disconnected' ]) }, - url : url, - data : data - }); - }, - - /* - PUBNUB.time(function(time){ }); - */ - 'time' : function(callback) { - var jsonp = jsonp_cb(); - xdr({ - callback : jsonp, - timeout : SECOND*5, - url : [STD_ORIGIN, 'time', jsonp], - success : function(response) { callback(response[0]) }, - fail : function() { callback(0) } - }); - }, - - /* - PUBNUB.publish({ - channel : 'my_chat_channel', - message : 'hello!' - }); - */ - 'publish' : function( args, callback ) { - var callback = callback || args['callback'] || function(){} - , msg = args['message'] - , channel = args['channel'] - , jsonp = jsonp_cb() - , url; - - if (!msg) return error('Missing Message'); - if (!channel) return error('Missing Channel'); - if (!PUBLISH_KEY) return error('Missing Publish Key'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // If trying to send Object - msg = JSON['stringify'](msg); - - // Create URL - url = [ - STD_ORIGIN, 'publish', - PUBLISH_KEY, SUBSCRIBE_KEY, - 0, encode(channel), - jsonp, encode(msg) - ]; - - // Queue Message Send - PUB_QUEUE.push({ - callback : jsonp, - timeout : SECOND*5, - url : url, - data : { 'uuid' : UUID }, - success : function(response){callback(response);publish(1)}, - fail : function(){callback([0,'Failed',msg]);publish(1)} - }); - - // Send Message - publish(); - }, - - /* - PUBNUB.unsubscribe({ channel : 'my_chat' }); - */ - 'unsubscribe' : function(args) { - var channel = args['channel']; - - TIMETOKEN = 0; - SUB_RESTORE = 1; - - // Prepare Channel(s) - channel = map( ( - channel.join ? channel.join(',') : ''+channel - ).split(','), function(channel) { - return channel + ',' + channel + PRESENCE_SUFFIX; - } ).join(','); - - // Iterate over Channels - each( channel.split(','), function(channel) { - if (READY) SELF['LEAVE']( channel, 0 ); - CHANNELS[channel] = 0; - } ); - - // ReOpen Connection if Any Channels Left - if (READY) CONNECT(); - }, - /* PUBNUB.subscribe({ channel : 'my_chat' diff --git a/web/pubnub.min.js b/web/pubnub.min.js index c21c6bbb1..f5b976279 100644 --- a/web/pubnub.min.js +++ b/web/pubnub.min.js @@ -1,377 +1,38 @@ // 3.4.3 (function(){ -function r(b){throw b;}var t=!0,u=null,v=!1;function y(){return function(){}}function A(b){return function(){return b}} -window.JSON&&window.JSON.stringify||function(){function b(){try{return this.valueOf()}catch(a){return u}}function c(a){d.lastIndex=0;return d.test(a)?'"'+a.replace(d,function(a){var b=w[a];return"string"===typeof b?b:"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+a+'"'}function a(d,q){var h,g,i,m,j,n=e,f=q[d];f&&"object"===typeof f&&(f=b.call(f));"function"===typeof l&&(f=l.call(q,d,f));switch(typeof f){case "string":return c(f);case "number":return isFinite(f)?String(f):"null";case "boolean":case "null":return String(f); -case "object":if(!f)return"null";e+=k;j=[];if("[object Array]"===Object.prototype.toString.apply(f)){m=f.length;for(h=0;h++ea?ea:ea=1))||b}; -function fa(b,c){function a(){e+c>P()?(clearTimeout(d),d=setTimeout(a,c)):(e=P(),b())}var d,e=0;return a}function ga(b,c){var a=[];T(b||[],function(b){c(b)&&a.push(b)});return a}function la(b,c){return b.replace(da,function(a,b){return c[b]||a})}function U(b,c){return setTimeout(b,c)}function S(b){var c="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});b&&b(c);return c} -function T(b,c){if(b&&c)if("undefined"!=typeof b[0])for(var a=0,d=b.length;a"-_.!~*'()".indexOf(b)?b:"%"+b.charCodeAt(0).toString(16).toUpperCase()}).join("")}function Y(b){var c=[];T(b,function(a,b){b.h&&c.push(a)});return c.sort()} -function Z(){U(function(){H||(H=1,T(I,function(b){b()}))},M)} -function $(b){function c(){}function a(a){a&&(m.j=0);!m.j&&m.length&&(m.j=1,z(m.shift()))}function d(a){T(Y(x),function(b){(b=x[b])&&a(b)})}var e=+b.windowing||aa,k=(+b.timeout||ba)*M,w=(+b.keepalive||ca)*M,l=b.publish_key||"",p=b.subscribe_key||"",q=b.ssl?"s":"",h="http"+q+"://"+(b.origin||"pubsub.pubnub.com"),g=Q(h),i=Q(h),m=[],j=0,n=0,f=0,D=0,J=0,B=0,x={},z=b.xdr,N=b._is_online||A(1),C=b.jsonp_cb||A(0),F=b.db||{get:y(),set:y()},G=b.uuid||F&&F.get(p+"uuid")||"",s={_reset_offline:function(){f&&f(1)}, -LEAVE:function(a,b){var c={uuid:G},d=Q(h),e=C();0++La?La:La=1))||b}; -function fa(b,c){function a(){e+c>P()?(clearTimeout(d),d=setTimeout(a,c)):(e=P(),b())}var d,e=0;return a}function ga(b,c){var a=[];T(b||[],function(b){c(b)&&a.push(b)});return a}function la(b,c){return b.replace(da,function(a,b){return c[b]||a})}function U(b,c){return setTimeout(b,c)}function S(b){var c="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});b&&b(c);return c} -function T(b,c){if(b&&c)if("undefined"!=typeof b[0])for(var a=0,d=b.length;a"-_.!~*'()".indexOf(b)?b:"%"+b.charCodeAt(0).toString(16).toUpperCase()}).join("")}function Y(b){var c=[];T(b,function(a,b){b.h&&c.push(a)});return c.sort()} -function Z(){U(function(){H||(H=1,T(I,function(b){b()}))},M)} -function $(b){function c(){}function a(a){a&&(m.j=0);!m.j&&m.length&&(m.j=1,z(m.shift()))}function d(a){T(Y(x),function(b){(b=x[b])&&a(b)})}var e=+b.windowing||aa,k=(+b.timeout||ba)*M,w=(+b.keepalive||ca)*M,l=b.publish_key||"",p=b.subscribe_key||"",q=b.ssl?"s":"",h="http"+q+"://"+(b.origin||"pubsub.pubnub.com"),g=Q(h),i=Q(h),m=[],j=0,n=0,f=0,D=0,J=0,B=0,x={},z=b.xdr,N=b._is_online||A(1),C=b.jsonp_cb||A(0),F=b.db||{get:y(),set:y()},G=b.uuid||F&&F.get(p+"uuid")||"",s={_reset_offline:function(){f&&f(1)}, -LEAVE:function(a,b){var c={uuid:G},d=Q(h),e=C();0++Hb?Hb:Hb=1))||b}; -function fa(b,c){function a(){e+c>P()?(clearTimeout(d),d=setTimeout(a,c)):(e=P(),b())}var d,e=0;return a}function ga(b,c){var a=[];T(b||[],function(b){c(b)&&a.push(b)});return a}function la(b,c){return b.replace(da,function(a,b){return c[b]||a})}function U(b,c){return setTimeout(b,c)}function S(b){var c="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});b&&b(c);return c} -function T(b,c){if(b&&c)if("undefined"!=typeof b[0])for(var a=0,d=b.length;a"-_.!~*'()".indexOf(b)?b:"%"+b.charCodeAt(0).toString(16).toUpperCase()}).join("")}function Y(b){var c=[];T(b,function(a,b){b.h&&c.push(a)});return c.sort()} -function Z(){U(function(){H||(H=1,T(I,function(b){b()}))},M)} -function $(b){function c(){}function a(a){a&&(m.j=0);!m.j&&m.length&&(m.j=1,z(m.shift()))}function d(a){T(Y(x),function(b){(b=x[b])&&a(b)})}var e=+b.windowing||aa,k=(+b.timeout||ba)*M,w=(+b.keepalive||ca)*M,l=b.publish_key||"",p=b.subscribe_key||"",q=b.ssl?"s":"",h="http"+q+"://"+(b.origin||"pubsub.pubnub.com"),g=Q(h),i=Q(h),m=[],j=0,n=0,f=0,D=0,J=0,B=0,x={},z=b.xdr,N=b._is_online||A(1),C=b.jsonp_cb||A(0),F=b.db||{get:y(),set:y()},G=b.uuid||F&&F.get(p+"uuid")||"",s={_reset_offline:function(){f&&f(1)}, -LEAVE:function(a,b){var c={uuid:G},d=Q(h),e=C();0++fc?fc:fc=1))||b}; -function fa(b,c){function a(){e+c>P()?(clearTimeout(d),d=setTimeout(a,c)):(e=P(),b())}var d,e=0;return a}function ga(b,c){var a=[];T(b||[],function(b){c(b)&&a.push(b)});return a}function la(b,c){return b.replace(da,function(a,b){return c[b]||a})}function U(b,c){return setTimeout(b,c)}function S(b){var c="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});b&&b(c);return c} -function T(b,c){if(b&&c)if("undefined"!=typeof b[0])for(var a=0,d=b.length;a"-_.!~*'()".indexOf(b)?b:"%"+b.charCodeAt(0).toString(16).toUpperCase()}).join("")}function Y(b){var c=[];T(b,function(a,b){b.h&&c.push(a)});return c.sort()} -function Z(){U(function(){H||(H=1,T(I,function(b){b()}))},M)} -function $(b){function c(){}function a(a){a&&(m.j=0);!m.j&&m.length&&(m.j=1,z(m.shift()))}function d(a){T(Y(x),function(b){(b=x[b])&&a(b)})}var e=+b.windowing||aa,k=(+b.timeout||ba)*M,w=(+b.keepalive||ca)*M,l=b.publish_key||"",p=b.subscribe_key||"",q=b.ssl?"s":"",h="http"+q+"://"+(b.origin||"pubsub.pubnub.com"),g=Q(h),i=Q(h),m=[],j=0,n=0,f=0,D=0,J=0,B=0,x={},z=b.xdr,N=b._is_online||A(1),C=b.jsonp_cb||A(0),F=b.db||{get:y(),set:y()},G=b.uuid||F&&F.get(p+"uuid")||"",s={_reset_offline:function(){f&&f(1)}, -LEAVE:function(a,b){var c={uuid:G},d=Q(h),e=C();0++Fc?Fc:Fc=1))||b}; -function fa(b,c){function a(){e+c>P()?(clearTimeout(d),d=setTimeout(a,c)):(e=P(),b())}var d,e=0;return a}function ga(b,c){var a=[];T(b||[],function(b){c(b)&&a.push(b)});return a}function la(b,c){return b.replace(da,function(a,b){return c[b]||a})}function U(b,c){return setTimeout(b,c)}function S(b){var c="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});b&&b(c);return c} -function T(b,c){if(b&&c)if("undefined"!=typeof b[0])for(var a=0,d=b.length;a"-_.!~*'()".indexOf(b)?b:"%"+b.charCodeAt(0).toString(16).toUpperCase()}).join("")}function Y(b){var c=[];T(b,function(a,b){b.h&&c.push(a)});return c.sort()} -function Z(){U(function(){H||(H=1,T(I,function(b){b()}))},M)} -function $(b){function c(){}function a(a){a&&(m.j=0);!m.j&&m.length&&(m.j=1,z(m.shift()))}function d(a){T(Y(x),function(b){(b=x[b])&&a(b)})}var e=+b.windowing||aa,k=(+b.timeout||ba)*M,w=(+b.keepalive||ca)*M,l=b.publish_key||"",p=b.subscribe_key||"",q=b.ssl?"s":"",h="http"+q+"://"+(b.origin||"pubsub.pubnub.com"),g=Q(h),i=Q(h),m=[],j=0,n=0,f=0,D=0,J=0,B=0,x={},z=b.xdr,N=b._is_online||A(1),C=b.jsonp_cb||A(0),F=b.db||{get:y(),set:y()},G=b.uuid||F&&F.get(p+"uuid")||"",s={_reset_offline:function(){f&&f(1)}, -LEAVE:function(a,b){var c={uuid:G},d=Q(h),e=C();0++dd?dd:dd=1))||b}; -function fa(b,c){function a(){e+c>P()?(clearTimeout(d),d=setTimeout(a,c)):(e=P(),b())}var d,e=0;return a}function ga(b,c){var a=[];T(b||[],function(b){c(b)&&a.push(b)});return a}function la(b,c){return b.replace(da,function(a,b){return c[b]||a})}function U(b,c){return setTimeout(b,c)}function S(b){var c="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});b&&b(c);return c} -function T(b,c){if(b&&c)if("undefined"!=typeof b[0])for(var a=0,d=b.length;a"-_.!~*'()".indexOf(b)?b:"%"+b.charCodeAt(0).toString(16).toUpperCase()}).join("")}function Y(b){var c=[];T(b,function(a,b){b.h&&c.push(a)});return c.sort()} -function Z(){U(function(){H||(H=1,T(I,function(b){b()}))},M)} -function $(b){function c(){}function a(a){a&&(m.j=0);!m.j&&m.length&&(m.j=1,z(m.shift()))}function d(a){T(Y(x),function(b){(b=x[b])&&a(b)})}var e=+b.windowing||aa,k=(+b.timeout||ba)*M,w=(+b.keepalive||ca)*M,l=b.publish_key||"",p=b.subscribe_key||"",q=b.ssl?"s":"",h="http"+q+"://"+(b.origin||"pubsub.pubnub.com"),g=Q(h),i=Q(h),m=[],j=0,n=0,f=0,D=0,J=0,B=0,x={},z=b.xdr,N=b._is_online||A(1),C=b.jsonp_cb||A(0),F=b.db||{get:y(),set:y()},G=b.uuid||F&&F.get(p+"uuid")||"",s={_reset_offline:function(){f&&f(1)}, -LEAVE:function(a,b){var c={uuid:G},d=Q(h),e=C();0++Cd?Cd:Cd=1))||b}; -function fa(b,c){function a(){e+c>P()?(clearTimeout(d),d=setTimeout(a,c)):(e=P(),b())}var d,e=0;return a}function ga(b,c){var a=[];T(b||[],function(b){c(b)&&a.push(b)});return a}function la(b,c){return b.replace(da,function(a,b){return c[b]||a})}function U(b,c){return setTimeout(b,c)}function S(b){var c="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});b&&b(c);return c} -function T(b,c){if(b&&c)if("undefined"!=typeof b[0])for(var a=0,d=b.length;a"-_.!~*'()".indexOf(b)?b:"%"+b.charCodeAt(0).toString(16).toUpperCase()}).join("")}function Y(b){var c=[];T(b,function(a,b){b.h&&c.push(a)});return c.sort()} -function Z(){U(function(){H||(H=1,T(I,function(b){b()}))},M)} -function $(b){function c(){}function a(a){a&&(m.j=0);!m.j&&m.length&&(m.j=1,z(m.shift()))}function d(a){T(Y(x),function(b){(b=x[b])&&a(b)})}var e=+b.windowing||aa,k=(+b.timeout||ba)*M,w=(+b.keepalive||ca)*M,l=b.publish_key||"",p=b.subscribe_key||"",q=b.ssl?"s":"",h="http"+q+"://"+(b.origin||"pubsub.pubnub.com"),g=Q(h),i=Q(h),m=[],j=0,n=0,f=0,D=0,J=0,B=0,x={},z=b.xdr,N=b._is_online||A(1),C=b.jsonp_cb||A(0),F=b.db||{get:y(),set:y()},G=b.uuid||F&&F.get(p+"uuid")||"",s={_reset_offline:function(){f&&f(1)}, -LEAVE:function(a,b){var c={uuid:G},d=Q(h),e=C();0++ae?ae:ae=1))||b}; -function fa(b,c){function a(){e+c>P()?(clearTimeout(d),d=setTimeout(a,c)):(e=P(),b())}var d,e=0;return a}function ga(b,c){var a=[];T(b||[],function(b){c(b)&&a.push(b)});return a}function la(b,c){return b.replace(da,function(a,b){return c[b]||a})}function U(b,c){return setTimeout(b,c)}function S(b){var c="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});b&&b(c);return c} -function T(b,c){if(b&&c)if("undefined"!=typeof b[0])for(var a=0,d=b.length;a"-_.!~*'()".indexOf(b)?b:"%"+b.charCodeAt(0).toString(16).toUpperCase()}).join("")}function Y(b){var c=[];T(b,function(a,b){b.h&&c.push(a)});return c.sort()} -function Z(){U(function(){H||(H=1,T(I,function(b){b()}))},M)} -function $(b){function c(){}function a(a){a&&(m.j=0);!m.j&&m.length&&(m.j=1,z(m.shift()))}function d(a){T(Y(x),function(b){(b=x[b])&&a(b)})}var e=+b.windowing||aa,k=(+b.timeout||ba)*M,w=(+b.keepalive||ca)*M,l=b.publish_key||"",p=b.subscribe_key||"",q=b.ssl?"s":"",h="http"+q+"://"+(b.origin||"pubsub.pubnub.com"),g=Q(h),i=Q(h),m=[],j=0,n=0,f=0,D=0,J=0,B=0,x={},z=b.xdr,N=b._is_online||A(1),C=b.jsonp_cb||A(0),F=b.db||{get:y(),set:y()},G=b.uuid||F&&F.get(p+"uuid")||"",s={_reset_offline:function(){f&&f(1)}, -LEAVE:function(a,b){var c={uuid:G},d=Q(h),e=C();0++ze?ze:ze=1))||b}; -function fa(b,c){function a(){e+c>P()?(clearTimeout(d),d=setTimeout(a,c)):(e=P(),b())}var d,e=0;return a}function ga(b,c){var a=[];T(b||[],function(b){c(b)&&a.push(b)});return a}function la(b,c){return b.replace(da,function(a,b){return c[b]||a})}function U(b,c){return setTimeout(b,c)}function S(b){var c="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});b&&b(c);return c} -function T(b,c){if(b&&c)if("undefined"!=typeof b[0])for(var a=0,d=b.length;a"-_.!~*'()".indexOf(b)?b:"%"+b.charCodeAt(0).toString(16).toUpperCase()}).join("")}function Y(b){var c=[];T(b,function(a,b){b.h&&c.push(a)});return c.sort()} -function Z(){U(function(){H||(H=1,T(I,function(b){b()}))},M)} -function $(b){function c(){}function a(a){a&&(m.j=0);!m.j&&m.length&&(m.j=1,z(m.shift()))}function d(a){T(Y(x),function(b){(b=x[b])&&a(b)})}var e=+b.windowing||aa,k=(+b.timeout||ba)*M,w=(+b.keepalive||ca)*M,l=b.publish_key||"",p=b.subscribe_key||"",q=b.ssl?"s":"",h="http"+q+"://"+(b.origin||"pubsub.pubnub.com"),g=Q(h),i=Q(h),m=[],j=0,n=0,f=0,D=0,J=0,B=0,x={},z=b.xdr,N=b._is_online||A(1),C=b.jsonp_cb||A(0),F=b.db||{get:y(),set:y()},G=b.uuid||F&&F.get(p+"uuid")||"",s={_reset_offline:function(){f&&f(1)}, -LEAVE:function(a,b){var c={uuid:G},d=Q(h),e=C();0++Ye?Ye:Ye=1))||b}; -function fa(b,c){function a(){e+c>P()?(clearTimeout(d),d=setTimeout(a,c)):(e=P(),b())}var d,e=0;return a}function ga(b,c){var a=[];T(b||[],function(b){c(b)&&a.push(b)});return a}function la(b,c){return b.replace(da,function(a,b){return c[b]||a})}function U(b,c){return setTimeout(b,c)}function S(b){var c="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});b&&b(c);return c} -function T(b,c){if(b&&c)if("undefined"!=typeof b[0])for(var a=0,d=b.length;a"-_.!~*'()".indexOf(b)?b:"%"+b.charCodeAt(0).toString(16).toUpperCase()}).join("")}function Y(b){var c=[];T(b,function(a,b){b.h&&c.push(a)});return c.sort()} -function Z(){U(function(){H||(H=1,T(I,function(b){b()}))},M)} -function $(b){function c(){}function a(a){a&&(m.j=0);!m.j&&m.length&&(m.j=1,z(m.shift()))}function d(a){T(Y(x),function(b){(b=x[b])&&a(b)})}var e=+b.windowing||aa,k=(+b.timeout||ba)*M,w=(+b.keepalive||ca)*M,l=b.publish_key||"",p=b.subscribe_key||"",q=b.ssl?"s":"",h="http"+q+"://"+(b.origin||"pubsub.pubnub.com"),g=Q(h),i=Q(h),m=[],j=0,n=0,f=0,D=0,J=0,B=0,x={},z=b.xdr,N=b._is_online||A(1),C=b.jsonp_cb||A(0),F=b.db||{get:y(),set:y()},G=b.uuid||F&&F.get(p+"uuid")||"",s={_reset_offline:function(){f&&f(1)}, -LEAVE:function(a,b){var c={uuid:G},d=Q(h),e=C();0++H?H:H=1))||a}; +function fa(a,c){function b(){e+c>D()?(clearTimeout(d),d=setTimeout(b,c)):(e=D(),a())}var d,e=0;return b}function ga(a,c){var b=[];I(a||[],function(a){c(a)&&b.push(a)});return b}function ha(a,c){return a.replace(da,function(b,a){return c[a]||b})}function ea(a){var c="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(b){var a=16*Math.random()|0;return("x"==b?a:a&3|8).toString(16)});a&&a(c);return c} +function I(a,c){if(a&&c)if("undefined"!=typeof a[0])for(var b=0,d=a.length;b"-_.!~*'()".indexOf(a)?a:"%"+a.charCodeAt(0).toString(16).toUpperCase()}).join("")}function ia(a){var c=[];I(a,function(b,a){a.h&&c.push(b)});return c.sort()} +function P(){setTimeout(function(){u||(u=1,I(ba,function(a){a()}))},w)} +window.JSON&&window.JSON.stringify||function(){function a(){try{return this.valueOf()}catch(b){return p}}function c(b){d.lastIndex=0;return d.test(b)?'"'+b.replace(d,function(b){var a=x[b];return"string"===typeof a?a:"\\u"+("0000"+b.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+b+'"'}function b(d,r){var i,g,j,m,l,k=e,f=r[d];f&&"object"===typeof f&&(f=a.call(f));"function"===typeof n&&(f=n.call(r,d,f));switch(typeof f){case "string":return c(f);case "number":return isFinite(f)?String(f):"null";case "boolean":case "null":return String(f); +case "object":if(!f)return"null";e+=h;l=[];if("[object Array]"===Object.prototype.toString.apply(f)){m=f.length;for(i=0;i Date: Thu, 4 Apr 2013 10:44:40 -0700 Subject: [PATCH 28/66] fixed problematic make bloat. --- Makefile.inc | 1 + core/pubnub-common.js | 56 +- modern/pubnub.js | 1828 ++++ modern/pubnub.min.js | 322 +- nodejs/pubnub.js | 56 +- socket.io/socket.io.min.js | 403 +- web/Makefile | 14 +- web/pubnub.js | 16484 +--------------------------------- web/pubnub.min.js | 403 +- web/unassembled/platform.js | 309 +- 10 files changed, 2171 insertions(+), 17705 deletions(-) diff --git a/Makefile.inc b/Makefile.inc index 6fcc3d393..2fff98672 100644 --- a/Makefile.inc +++ b/Makefile.inc @@ -13,5 +13,6 @@ JSON_JS=$(CORE_DIR)/json.js PUBNUB_COMMON_JS=$(CORE_DIR)/pubnub-common.js CRYPTO_DIR=$(CORE_DIR)/crypto GIBBERISH_JS=$(CORE_DIR)/crypto/gibberish-aes.js +WEBSOCKET_JS=$(CORE_DIR)/websocket.js ENCRYPT_JS=$(CORE_DIR)/crypto/encrypt-pubnub.js PUBNUB_MIN_JS=pubnub.min.js diff --git a/core/pubnub-common.js b/core/pubnub-common.js index d3eba1402..dfa15e5dd 100644 --- a/core/pubnub-common.js +++ b/core/pubnub-common.js @@ -156,11 +156,11 @@ function generate_channel_list(channels) { } // PUBNUB READY TO CONNECT - function ready() { timeout( function() { - if (READY) return; - READY = 1; - each( READY_BUFFER, function(connect) { connect() } ); - }, SECOND ); } +function ready() { timeout( function() { + if (READY) return; + READY = 1; + each( READY_BUFFER, function(connect) { connect() } ); +}, SECOND ); } function PN_API(setup) { var SUB_WINDOWING = +setup['windowing'] || DEF_WINDOWING @@ -187,8 +187,6 @@ function PN_API(setup) { , db = setup['db'] || {'get': function(){}, 'set': function(){}} , UUID = setup['uuid'] || ( db && db['get'](SUBSCRIBE_KEY+'uuid') || ''); - - function publish(next) { if (next) PUB_QUEUE.sending = 0; if (PUB_QUEUE.sending || !PUB_QUEUE.length) return; @@ -205,14 +203,7 @@ function PN_API(setup) { } // Announce Leave Event - - - var SELF = { - - '_reset_offline' : function() { - SUB_RECEIVER && SUB_RECEIVER(1); - }, - + var SELF = { 'LEAVE' : function( channel, blocking ) { var data = { 'uuid' : UUID } , origin = nextorigin(ORIGIN) @@ -591,7 +582,7 @@ function PN_API(setup) { CONNECT = function() { // Close Previous Subscribe Connection - SELF['_reset_offline'](); + _reset_offline(); // Begin Recursive Subscribe clearTimeout(SUB_BUFF_WAIT); @@ -646,23 +637,30 @@ function PN_API(setup) { 'supplant' : supplant, 'now' : rnow, 'unique' : unique, - 'updater' : updater, - 'poll_online' : function() { - _is_online() || SELF['_reset_offline'](); - timeout( SELF['poll_online'], SECOND ); - }, - 'poll_online2' : function() { - SELF['time'](function(success){ - success || SELF['_reset_offline'](); - timeout( SELF['poll_online2'], KEEPALIVE ); - }) - } + 'updater' : updater }; + + function _poll_online() { + _is_online() || _reset_offline(); + timeout( _poll_online, SECOND ); + } + + function _poll_online2() { + SELF['time'](function(success){ + success || _reset_offline(); + timeout( _poll_online2, KEEPALIVE ); + }) + } + + function _reset_offline() { + SUB_RECEIVER && SUB_RECEIVER(1); + } + if (!UUID) UUID = SELF['uuid'](); db['set']( SUBSCRIBE_KEY + 'uuid', UUID ); - timeout( SELF['poll_online'], SECOND ); - timeout( SELF['poll_online2'], KEEPALIVE ); + timeout( _poll_online, SECOND ); + timeout( _poll_online2, KEEPALIVE ); return SELF; } diff --git a/modern/pubnub.js b/modern/pubnub.js index c4084f18a..4c5030b27 100644 --- a/modern/pubnub.js +++ b/modern/pubnub.js @@ -8207,3 +8207,1831 @@ typeof module !== 'undefined' && (module.exports = PN) || typeof exports !== 'undefined' && (exports.PN = PN) || (PUBNUB = PN); })(); +var NOW = 1 +, READY = false +, READY_BUFFER = [] +, PRESENCE_SUFFIX = '-pnpres' +, DEF_WINDOWING = 10 // MILLISECONDS. +, DEF_TIMEOUT = 10000 // MILLISECONDS. +, DEF_SUB_TIMEOUT = 310 // SECONDS. +, DEF_KEEPALIVE = 60 // SECONDS. +, SECOND = 1000 // A THOUSAND MILLISECONDS. +, REPL = /{([\w\-]+)}/g; + +/** + * UTILITIES + */ +function unique() { return'x'+ ++NOW+''+(+new Date) } +function rnow() { return+new Date } + +/** + * NEXTORIGIN + * ========== + * var next_origin = nextorigin(); + */ +var nextorigin = (function() { + var max = 20 + , ori = Math.floor(Math.random() * max); + return function( origin, failover ) { + return origin.indexOf('pubsub.') > 0 + && origin.replace( + 'pubsub', 'ps' + ( + failover ? uuid().split('-')[0] : + (++ori < max? ori : ori=1) + ) ) || origin; + } +})(); + +/** + * UPDATER + * ======= + * var timestamp = unique(); + */ +function updater( fun, rate ) { + var timeout + , last = 0 + , runnit = function() { + if (last + rate > rnow()) { + clearTimeout(timeout); + timeout = setTimeout( runnit, rate ); + } + else { + last = rnow(); + fun(); + } + }; + + return runnit; +} + +/** + * GREP + * ==== + * var list = grep( [1,2,3], function(item) { return item % 2 } ) + */ +function grep( list, fun ) { + var fin = []; + each( list || [], function(l) { fun(l) && fin.push(l) } ); + return fin +} + +/** + * SUPPLANT + * ======== + * var text = supplant( 'Hello {name}!', { name : 'John' } ) + */ +function supplant( str, values ) { + return str.replace( REPL, function( _, match ) { + return values[match] || _ + } ); +} + +/** + * timeout + * ======= + * timeout( function(){}, 100 ); + */ +function timeout( fun, wait ) { + return setTimeout( fun, wait ); +} + +/** + * uuid + * ==== + * var my_uuid = uuid(); + */ +function uuid(callback) { + var u = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, + function(c) { + var r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8); + return v.toString(16); + }); + if (callback) callback(u); + return u; +} + +/** + * EACH + * ==== + * each( [1,2,3], function(item) { } ) + */ +function each( o, f ) { + if ( !o || !f ) return; + + if ( typeof o[0] != 'undefined' ) + for ( var i = 0, l = o.length; i < l; ) + f.call( o[i], o[i], i++ ); + else + for ( var i in o ) + o.hasOwnProperty && + o.hasOwnProperty(i) && + f.call( o[i], i, o[i] ); +} + +/** + * MAP + * === + * var list = map( [1,2,3], function(item) { return item + 1 } ) + */ +function map( list, fun ) { + var fin = []; + each( list || [], function( k, v ) { fin.push(fun( k, v )) } ); + return fin; +} + +/** + * ENCODE + * ====== + * var encoded_path = encode('path'); + */ +function encode(path) { + return map( (encodeURIComponent(path)).split(''), function(chr) { + return "-_.!~*'()".indexOf(chr) < 0 ? chr : + "%"+chr.charCodeAt(0).toString(16).toUpperCase() + } ).join(''); +} + +/** + * Generate Subscription Channel List + * ================================== + * generate_channel_list(channels_object); + */ +function generate_channel_list(channels) { + var list = []; + each( channels, function( channel, status ) { + if (status.subscribed) list.push(channel); + } ); + return list.sort(); +} + +// PUBNUB READY TO CONNECT +function ready() { timeout( function() { + if (READY) return; + READY = 1; + each( READY_BUFFER, function(connect) { connect() } ); +}, SECOND ); } + +function PN_API(setup) { + var SUB_WINDOWING = +setup['windowing'] || DEF_WINDOWING + , SUB_TIMEOUT = (+setup['timeout'] || DEF_SUB_TIMEOUT) * SECOND + , KEEPALIVE = (+setup['keepalive'] || DEF_KEEPALIVE) * SECOND + , PUBLISH_KEY = setup['publish_key'] || '' + , SUBSCRIBE_KEY = setup['subscribe_key'] || '' + , SSL = setup['ssl'] ? 's' : '' + , ORIGIN = 'http'+SSL+'://'+(setup['origin']||'pubsub.pubnub.com') + , STD_ORIGIN = nextorigin(ORIGIN) + , SUB_ORIGIN = nextorigin(ORIGIN) + , CONNECT = function(){} + , PUB_QUEUE = [] + , SUB_CALLBACK = 0 + , SUB_CHANNEL = 0 + , SUB_RECEIVER = 0 + , SUB_RESTORE = 0 + , SUB_BUFF_WAIT = 0 + , TIMETOKEN = 0 + , CHANNELS = {} + , xdr = setup['xdr'] + , _is_online = setup['_is_online'] || function() { return 1; } + , jsonp_cb = setup['jsonp_cb'] || function(){ return 0; } + , db = setup['db'] || {'get': function(){}, 'set': function(){}} + , UUID = setup['uuid'] || ( db && db['get'](SUBSCRIBE_KEY+'uuid') || ''); + + function publish(next) { + if (next) PUB_QUEUE.sending = 0; + if (PUB_QUEUE.sending || !PUB_QUEUE.length) return; + PUB_QUEUE.sending = 1; + xdr(PUB_QUEUE.shift()); + } + + function each_channel(callback) { + each( generate_channel_list(CHANNELS), function(channel) { + var chan = CHANNELS[channel]; + if (!chan) return; + callback(chan); + } ); + } + + // Announce Leave Event + var SELF = { + 'LEAVE' : function( channel, blocking ) { + var data = { 'uuid' : UUID } + , origin = nextorigin(ORIGIN) + , jsonp = jsonp_cb(); + + // Prevent Leaving a Presence Channel + if (channel.indexOf(PRESENCE_SUFFIX) > 0) return; + + if (jsonp != '0') data['callback'] = jsonp; + + xdr({ + blocking : blocking || SSL, + timeout : 2000, + callback : jsonp, + data : data, + url : [ + origin, 'v2', 'presence', 'sub_key', + SUBSCRIBE_KEY, 'channel', encode(channel), 'leave' + ] + }); + }, + /* + PUBNUB.history({ + channel : 'my_chat_channel', + limit : 100, + callback : function(history) { } + }); + */ + 'history' : function( args, callback ) { + var callback = args['callback'] || callback + , count = args['count'] || args['limit'] || 100 + , reverse = args['reverse'] || "false" + , err = args['error'] || function(){} + , channel = args['channel'] + , start = args['start'] + , end = args['end'] + , params = {} + , jsonp = jsonp_cb(); + + // Make sure we have a Channel + if (!channel) return error('Missing Channel'); + if (!callback) return error('Missing Callback'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + params['stringtoken'] = 'true'; + params['count'] = count; + params['reverse'] = reverse; + + if (jsonp) params['callback'] = jsonp; + if (start) params['start'] = start; + if (end) params['end'] = end; + + // Send Message + xdr({ + callback : jsonp, + data : params, + success : function(response) { callback(response) }, + fail : err, + url : [ + STD_ORIGIN, 'v2', 'history', 'sub-key', + SUBSCRIBE_KEY, 'channel', encode(channel) + ] + }); + }, + + /* + PUBNUB.replay({ + source : 'my_channel', + destination : 'new_channel' + }); + */ + 'replay' : function(args) { + var callback = callback || args['callback'] || function(){} + , source = args['source'] + , destination = args['destination'] + , stop = args['stop'] + , start = args['start'] + , end = args['end'] + , reverse = args['reverse'] + , limit = args['limit'] + , jsonp = jsonp_cb() + , data = {} + , url; + + // Check User Input + if (!source) return error('Missing Source Channel'); + if (!destination) return error('Missing Destination Channel'); + if (!PUBLISH_KEY) return error('Missing Publish Key'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + // Setup URL Params + if (jsonp != '0') data['callback'] = jsonp; + if (stop) data['stop'] = 'all'; + if (reverse) data['reverse'] = 'true'; + if (start) data['start'] = start; + if (end) data['end'] = end; + if (limit) data['count'] = limit; + + // Compose URL Parts + url = [ + STD_ORIGIN, 'v1', 'replay', + PUBLISH_KEY, SUBSCRIBE_KEY, + source, destination + ]; + + // Start (or Stop) Replay! + xdr({ + callback : jsonp, + success : function(response) { callback(response) }, + fail : function() { callback([ 0, 'Disconnected' ]) }, + url : url, + data : data + }); + }, + + /* + PUBNUB.time(function(time){ }); + */ + 'time' : function(callback) { + var jsonp = jsonp_cb(); + xdr({ + callback : jsonp, + timeout : SECOND*5, + url : [STD_ORIGIN, 'time', jsonp], + success : function(response) { callback(response[0]) }, + fail : function() { callback(0) } + }); + }, + + /* + PUBNUB.publish({ + channel : 'my_chat_channel', + message : 'hello!' + }); + */ + 'publish' : function( args, callback ) { + var callback = callback || args['callback'] || function(){} + , msg = args['message'] + , channel = args['channel'] + , jsonp = jsonp_cb() + , url; + + if (!msg) return error('Missing Message'); + if (!channel) return error('Missing Channel'); + if (!PUBLISH_KEY) return error('Missing Publish Key'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + // If trying to send Object + msg = JSON['stringify'](msg); + + // Create URL + url = [ + STD_ORIGIN, 'publish', + PUBLISH_KEY, SUBSCRIBE_KEY, + 0, encode(channel), + jsonp, encode(msg) + ]; + + // Queue Message Send + PUB_QUEUE.push({ + callback : jsonp, + timeout : SECOND*5, + url : url, + data : { 'uuid' : UUID }, + success : function(response){callback(response);publish(1)}, + fail : function(){callback([0,'Failed',msg]);publish(1)} + }); + + // Send Message + publish(); + }, + + /* + PUBNUB.unsubscribe({ channel : 'my_chat' }); + */ + 'unsubscribe' : function(args) { + var channel = args['channel']; + + TIMETOKEN = 0; + SUB_RESTORE = 1; + + // Prepare Channel(s) + channel = map( ( + channel.join ? channel.join(',') : ''+channel + ).split(','), function(channel) { + return channel + ',' + channel + PRESENCE_SUFFIX; + } ).join(','); + + // Iterate over Channels + each( channel.split(','), function(channel) { + if (READY) SELF['LEAVE']( channel, 0 ); + CHANNELS[channel] = 0; + } ); + + // ReOpen Connection if Any Channels Left + if (READY) CONNECT(); + }, + + /* + PUBNUB.subscribe({ + channel : 'my_chat' + callback : function(message) { } + }); + */ + 'subscribe' : function( args, callback ) { + var channel = args['channel'] + , callback = callback || args['callback'] + , callback = callback || args['message'] + , connect = args['connect'] || function(){} + , reconnect = args['reconnect'] || function(){} + , disconnect = args['disconnect'] || function(){} + , presence = args['presence'] || 0 + , noheresync = args['noheresync'] || 0 + , backfill = args['backfill'] || 0 + , sub_timeout = args['timeout'] || SUB_TIMEOUT + , windowing = args['windowing'] || SUB_WINDOWING + , restore = args['restore']; + + // Restore Enabled? + if (restore) SUB_RESTORE = 1; + + TIMETOKEN = 0; + + // Make sure we have a Channel + if (!channel) return error('Missing Channel'); + if (!callback) return error('Missing Callback'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + // Setup Channel(s) + each( (channel.join ? channel.join(',') : ''+channel).split(','), + function(channel) { + var settings = CHANNELS[channel] || {}; + + // Store Channel State + CHANNELS[SUB_CHANNEL = channel] = { + name : channel, + connected : settings.connected, + disconnected : settings.disconnected, + subscribed : 1, + callback : SUB_CALLBACK = callback, + connect : connect, + disconnect : disconnect, + reconnect : reconnect + }; + + // Presence Enabled? + if (!presence) return; + + // Subscribe Presence Channel + SELF['subscribe']({ + 'channel' : channel + PRESENCE_SUFFIX, + 'callback' : presence + }); + + // Presence Subscribed? + if (settings.subscribed) return; + + // See Who's Here Now? + if (noheresync) return; + SELF['here_now']({ + 'channel' : channel, + 'callback' : function(here) { + each( 'uuids' in here ? here['uuids'] : [], + function(uid) { presence( { + 'action' : 'join', + 'uuid' : uid, + 'timestamp' : rnow(), + 'occupancy' : here['occupancy'] || 1 + }, here, channel ); } ); + } + }); + } ); + + // Test Network Connection + function _test_connection(success) { + if (success) { + // Begin Next Socket Connection + timeout( _connect, SECOND ); + } + else { + // New Origin on Failed Connection + STD_ORIGIN = nextorigin( ORIGIN, 1 ); + SUB_ORIGIN = nextorigin( ORIGIN, 1 ); + + // Re-test Connection + timeout( function() { + SELF['time'](_test_connection); + }, SECOND ); + } + + // Disconnect & Reconnect + each_channel(function(channel){ + // Reconnect + if (success && channel.disconnected) { + channel.disconnected = 0; + return channel.reconnect(channel.name); + } + + // Disconnect + if (!success && !channel.disconnected) { + channel.disconnected = 1; + channel.disconnect(channel.name); + } + }); + } + + // Evented Subscribe + function _connect() { + var jsonp = jsonp_cb() + , channels = generate_channel_list(CHANNELS).join(','); + + // Stop Connection + if (!channels) return; + + // Connect to PubNub Subscribe Servers + SUB_RECEIVER = xdr({ + timeout : sub_timeout, + callback : jsonp, + fail : function() { SELF['time'](_test_connection) }, + data : { 'uuid' : UUID }, + url : [ + SUB_ORIGIN, 'subscribe', + SUBSCRIBE_KEY, encode(channels), + jsonp, TIMETOKEN + ], + success : function(messages) { + if (!messages) return timeout( _connect, windowing ); + + // Connect + each_channel(function(channel){ + if (channel.connected) return; + channel.connected = 1; + channel.connect(channel.name); + }); + + // Restore Previous Connection Point if Needed + TIMETOKEN = !TIMETOKEN && + SUB_RESTORE && + db['get'](SUBSCRIBE_KEY) || messages[1]; + + + if (backfill) { + Timetoken = 10000; + backfill = 0; + } + + // Update Saved Timetoken + db['set']( SUBSCRIBE_KEY, messages[1] ); + + // Route Channel <---> Callback for Message + var next_callback = (function() { + var channels = (messages.length>2?messages[2]:'') + , list = channels.split(','); + + return function() { + var channel = list.shift()||''; + return [ + (CHANNELS[channel]||{}) + .callback||SUB_CALLBACK, + (channel||SUB_CHANNEL) + .split(PRESENCE_SUFFIX)[0] + ]; + }; + })(); + + each( messages[0], function(msg) { + var next = next_callback(); + if (!CHANNELS[next[1]].subscribed) return; + next[0]( msg, messages, next[1] ); + } ); + + timeout( _connect, windowing ); + } + }); + } + + CONNECT = function() { + // Close Previous Subscribe Connection + _reset_offline(); + + // Begin Recursive Subscribe + clearTimeout(SUB_BUFF_WAIT); + SUB_BUFF_WAIT = timeout( _connect, 100 ); + }; + + // Reduce Status Flicker + if (!READY) return READY_BUFFER.push(CONNECT); + + // Connect Now + CONNECT(); + }, + + 'here_now' : function( args, callback ) { + var callback = args['callback'] || callback + , err = args['error'] || function(){} + , channel = args['channel'] + , jsonp = jsonp_cb() + , data = null; + + // Make sure we have a Channel + if (!channel) return error('Missing Channel'); + if (!callback) return error('Missing Callback'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + if (jsonp != '0') { + data = {}; + data['callback'] = jsonp; + } + + xdr({ + callback : jsonp, + data : data, + success : function(response) { callback(response) }, + fail : err, + url : [ + STD_ORIGIN, 'v2', 'presence', + 'sub_key', SUBSCRIBE_KEY, + 'channel', encode(channel) + ] + }); + }, + + // Expose PUBNUB Functions + 'xdr' : xdr, + 'ready' : ready, + 'db' : db, + 'uuid' : uuid, + 'each' : each, + 'map' : map, + 'grep' : grep, + 'supplant' : supplant, + 'now' : rnow, + 'unique' : unique, + 'updater' : updater + }; + + function _poll_online() { + _is_online() || _reset_offline(); + timeout( _poll_online, SECOND ); + } + + function _poll_online2() { + SELF['time'](function(success){ + success || _reset_offline(); + timeout( _poll_online2, KEEPALIVE ); + }) + } + + function _reset_offline() { + SUB_RECEIVER && SUB_RECEIVER(1); + } + + if (!UUID) UUID = SELF['uuid'](); + db['set']( SUBSCRIBE_KEY + 'uuid', UUID ); + + timeout( _poll_online, SECOND ); + timeout( _poll_online2, KEEPALIVE ); + + return SELF; +} +/* --------------------------------------------------------------------------- +--------------------------------------------------------------------------- */ + +/* --------------------------------------------------------------------------- +PubNub Real-time Cloud-Hosted Push API and Push Notification Client Frameworks +Copyright (c) 2011 PubNub Inc. +http://www.pubnub.com/ +http://www.pubnub.com/terms +--------------------------------------------------------------------------- */ + +/* --------------------------------------------------------------------------- +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +--------------------------------------------------------------------------- */ +(function(){ + +/** + * UTIL LOCALS + */ +var NOW = 1 +, URLBIT = '/' +, PARAMSBIT = '&' +, XHRTME = 310000; + +/** + * UTILITIES + */ +//function unique() { return'x'+ ++NOW+''+(+new Date) } +//function rnow() { return+new Date } + +/** + * LOCAL STORAGE + */ +var db = (function(){ + var ls = typeof localStorage != 'undefined' && localStorage; + return { + get : function(key) { + try { + if (ls) return ls.getItem(key); + if (document.cookie.indexOf(key) == -1) return null; + return ((document.cookie||'').match( + RegExp(key+'=([^;]+)') + )||[])[1] || null; + } catch(e) { return } + }, + set : function( key, value ) { + try { + if (ls) return ls.setItem( key, value ) && 0; + document.cookie = key + '=' + value + + '; expires=Thu, 1 Aug 2030 20:00:00 UTC; path=/'; + } catch(e) { return } + } + }; +})(); + + +/** + * CORS XHR Request + * ================ + * xdr({ + * url : ['http://www.blah.com/url'], + * success : function(response) {}, + * fail : function() {} + * }); + */ +function xdr( setup ) { + var xhr + , finished = function() { + if (loaded) return; + loaded = 1; + + clearTimeout(timer); + + try { response = JSON['parse'](xhr.responseText); } + catch (r) { return done(1); } + + success(response); + } + , complete = 0 + , loaded = 0 + , timer = timeout( function(){done(1)}, XHRTME ) + , fail = setup.fail || function(){} + , success = setup.success || function(){} + , done = function(failed) { + if (complete) return; + complete = 1; + + clearTimeout(timer); + + if (xhr) { + xhr.onerror = xhr.onload = null; + xhr.abort && xhr.abort(); + xhr = null; + } + + failed && fail(); + }; + + // Send + try { + xhr = typeof XDomainRequest !== 'undefined' && + new XDomainRequest() || + new XMLHttpRequest(); + + xhr.onerror = xhr.onabort = function(){ done(1) }; + xhr.onload = xhr.onloadend = finished; + xhr.timeout = XHRTME; + url = setup.url.join(URLBIT); + if (setup.data) { + var params = []; + url += "?"; + for (key in setup.data) { + params.push(key+"="+setup.data[key]); + } + url += params.join(PARAMSBIT); + } + xhr.open( 'GET', url, true ); + xhr.send(); + } + catch(eee) { + done(0); + return xdr(setup); + } + + // Return 'done' + return done; +} + +/** + * BIND + * ==== + * bind( 'keydown', search('a')[0], function(element) { + * ... + * } ); + */ +function bind( type, el, fun ) { + each( type.split(','), function(etype) { + var rapfun = function(e) { + if (!e) e = window.event; + if (!fun(e)) { + e.cancelBubble = true; + e.returnValue = false; + e.preventDefault && e.preventDefault(); + e.stopPropagation && e.stopPropagation(); + } + }; + + if ( el.addEventListener ) el.addEventListener( etype, rapfun, false ); + else if ( el.attachEvent ) el.attachEvent( 'on' + etype, rapfun ); + else el[ 'on' + etype ] = rapfun; + } ); +} + +/** + * UNBIND + * ====== + * unbind( 'keydown', search('a')[0] ); + */ +function unbind( type, el, fun ) { + if ( el.removeEventListener ) el.removeEventListener( type, false ); + else if ( el.detachEvent ) el.detachEvent( 'on' + type, false ); + else el[ 'on' + type ] = null; +} + +/** + * LOG + * === + * var list = grep( [1,2,3], function(item) { return item % 2 } ) + */ +var log = function(){}; + +/** + * EVENTS + * ====== + * PUBNUB.events.bind( 'you-stepped-on-flower', function(message) { + * // Do Stuff with message + * } ); + * + * PUBNUB.events.fire( 'you-stepped-on-flower', "message-data" ); + * PUBNUB.events.fire( 'you-stepped-on-flower', {message:"data"} ); + * PUBNUB.events.fire( 'you-stepped-on-flower', [1,2,3] ); + * + */ +var events = { + 'list' : {}, + 'unbind' : function( name ) { events.list[name] = [] }, + 'bind' : function( name, fun ) { + (events.list[name] = events.list[name] || []).push(fun); + }, + 'fire' : function( name, data ) { + each( + events.list[name] || [], + function(fun) { fun(data) } + ); + } +}; + +/* =-====================================================================-= */ +/* =-====================================================================-= */ +/* =-========================= PUBNUB ===========================-= */ +/* =-====================================================================-= */ +/* =-====================================================================-= */ + +function PN(setup) { + + + setup['db'] = db; + setup['xdr'] = xdr; + var SELF = PN_API(setup); + + SELF['init'] = PN; + + + // Return without Testing + if (setup['notest']) return SELF; + + // Add Leave Functions + bind( 'beforeunload', window, function() { + each_channel(function(ch){ SELF['LEAVE']( ch.name, 1 ) }); + return true; + } ); + + bind( 'offline', window, SELF['_reset_offline'] ); + bind( 'offline', document, SELF['_reset_offline'] ); + + SELF['ready'](); + return SELF; +} + +typeof module !== 'undefined' && (module.exports = PN) || +typeof exports !== 'undefined' && (exports.PN = PN) || (PUBNUB = PN); + +})(); +var NOW = 1 +, READY = false +, READY_BUFFER = [] +, PRESENCE_SUFFIX = '-pnpres' +, DEF_WINDOWING = 10 // MILLISECONDS. +, DEF_TIMEOUT = 10000 // MILLISECONDS. +, DEF_SUB_TIMEOUT = 310 // SECONDS. +, DEF_KEEPALIVE = 60 // SECONDS. +, SECOND = 1000 // A THOUSAND MILLISECONDS. +, REPL = /{([\w\-]+)}/g; + +/** + * UTILITIES + */ +function unique() { return'x'+ ++NOW+''+(+new Date) } +function rnow() { return+new Date } + +/** + * NEXTORIGIN + * ========== + * var next_origin = nextorigin(); + */ +var nextorigin = (function() { + var max = 20 + , ori = Math.floor(Math.random() * max); + return function( origin, failover ) { + return origin.indexOf('pubsub.') > 0 + && origin.replace( + 'pubsub', 'ps' + ( + failover ? uuid().split('-')[0] : + (++ori < max? ori : ori=1) + ) ) || origin; + } +})(); + +/** + * UPDATER + * ======= + * var timestamp = unique(); + */ +function updater( fun, rate ) { + var timeout + , last = 0 + , runnit = function() { + if (last + rate > rnow()) { + clearTimeout(timeout); + timeout = setTimeout( runnit, rate ); + } + else { + last = rnow(); + fun(); + } + }; + + return runnit; +} + +/** + * GREP + * ==== + * var list = grep( [1,2,3], function(item) { return item % 2 } ) + */ +function grep( list, fun ) { + var fin = []; + each( list || [], function(l) { fun(l) && fin.push(l) } ); + return fin +} + +/** + * SUPPLANT + * ======== + * var text = supplant( 'Hello {name}!', { name : 'John' } ) + */ +function supplant( str, values ) { + return str.replace( REPL, function( _, match ) { + return values[match] || _ + } ); +} + +/** + * timeout + * ======= + * timeout( function(){}, 100 ); + */ +function timeout( fun, wait ) { + return setTimeout( fun, wait ); +} + +/** + * uuid + * ==== + * var my_uuid = uuid(); + */ +function uuid(callback) { + var u = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, + function(c) { + var r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8); + return v.toString(16); + }); + if (callback) callback(u); + return u; +} + +/** + * EACH + * ==== + * each( [1,2,3], function(item) { } ) + */ +function each( o, f ) { + if ( !o || !f ) return; + + if ( typeof o[0] != 'undefined' ) + for ( var i = 0, l = o.length; i < l; ) + f.call( o[i], o[i], i++ ); + else + for ( var i in o ) + o.hasOwnProperty && + o.hasOwnProperty(i) && + f.call( o[i], i, o[i] ); +} + +/** + * MAP + * === + * var list = map( [1,2,3], function(item) { return item + 1 } ) + */ +function map( list, fun ) { + var fin = []; + each( list || [], function( k, v ) { fin.push(fun( k, v )) } ); + return fin; +} + +/** + * ENCODE + * ====== + * var encoded_path = encode('path'); + */ +function encode(path) { + return map( (encodeURIComponent(path)).split(''), function(chr) { + return "-_.!~*'()".indexOf(chr) < 0 ? chr : + "%"+chr.charCodeAt(0).toString(16).toUpperCase() + } ).join(''); +} + +/** + * Generate Subscription Channel List + * ================================== + * generate_channel_list(channels_object); + */ +function generate_channel_list(channels) { + var list = []; + each( channels, function( channel, status ) { + if (status.subscribed) list.push(channel); + } ); + return list.sort(); +} + +// PUBNUB READY TO CONNECT +function ready() { timeout( function() { + if (READY) return; + READY = 1; + each( READY_BUFFER, function(connect) { connect() } ); +}, SECOND ); } + +function PN_API(setup) { + var SUB_WINDOWING = +setup['windowing'] || DEF_WINDOWING + , SUB_TIMEOUT = (+setup['timeout'] || DEF_SUB_TIMEOUT) * SECOND + , KEEPALIVE = (+setup['keepalive'] || DEF_KEEPALIVE) * SECOND + , PUBLISH_KEY = setup['publish_key'] || '' + , SUBSCRIBE_KEY = setup['subscribe_key'] || '' + , SSL = setup['ssl'] ? 's' : '' + , ORIGIN = 'http'+SSL+'://'+(setup['origin']||'pubsub.pubnub.com') + , STD_ORIGIN = nextorigin(ORIGIN) + , SUB_ORIGIN = nextorigin(ORIGIN) + , CONNECT = function(){} + , PUB_QUEUE = [] + , SUB_CALLBACK = 0 + , SUB_CHANNEL = 0 + , SUB_RECEIVER = 0 + , SUB_RESTORE = 0 + , SUB_BUFF_WAIT = 0 + , TIMETOKEN = 0 + , CHANNELS = {} + , xdr = setup['xdr'] + , _is_online = setup['_is_online'] || function() { return 1; } + , jsonp_cb = setup['jsonp_cb'] || function(){ return 0; } + , db = setup['db'] || {'get': function(){}, 'set': function(){}} + , UUID = setup['uuid'] || ( db && db['get'](SUBSCRIBE_KEY+'uuid') || ''); + + function publish(next) { + if (next) PUB_QUEUE.sending = 0; + if (PUB_QUEUE.sending || !PUB_QUEUE.length) return; + PUB_QUEUE.sending = 1; + xdr(PUB_QUEUE.shift()); + } + + function each_channel(callback) { + each( generate_channel_list(CHANNELS), function(channel) { + var chan = CHANNELS[channel]; + if (!chan) return; + callback(chan); + } ); + } + + // Announce Leave Event + var SELF = { + 'LEAVE' : function( channel, blocking ) { + var data = { 'uuid' : UUID } + , origin = nextorigin(ORIGIN) + , jsonp = jsonp_cb(); + + // Prevent Leaving a Presence Channel + if (channel.indexOf(PRESENCE_SUFFIX) > 0) return; + + if (jsonp != '0') data['callback'] = jsonp; + + xdr({ + blocking : blocking || SSL, + timeout : 2000, + callback : jsonp, + data : data, + url : [ + origin, 'v2', 'presence', 'sub_key', + SUBSCRIBE_KEY, 'channel', encode(channel), 'leave' + ] + }); + }, + /* + PUBNUB.history({ + channel : 'my_chat_channel', + limit : 100, + callback : function(history) { } + }); + */ + 'history' : function( args, callback ) { + var callback = args['callback'] || callback + , count = args['count'] || args['limit'] || 100 + , reverse = args['reverse'] || "false" + , err = args['error'] || function(){} + , channel = args['channel'] + , start = args['start'] + , end = args['end'] + , params = {} + , jsonp = jsonp_cb(); + + // Make sure we have a Channel + if (!channel) return error('Missing Channel'); + if (!callback) return error('Missing Callback'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + params['stringtoken'] = 'true'; + params['count'] = count; + params['reverse'] = reverse; + + if (jsonp) params['callback'] = jsonp; + if (start) params['start'] = start; + if (end) params['end'] = end; + + // Send Message + xdr({ + callback : jsonp, + data : params, + success : function(response) { callback(response) }, + fail : err, + url : [ + STD_ORIGIN, 'v2', 'history', 'sub-key', + SUBSCRIBE_KEY, 'channel', encode(channel) + ] + }); + }, + + /* + PUBNUB.replay({ + source : 'my_channel', + destination : 'new_channel' + }); + */ + 'replay' : function(args) { + var callback = callback || args['callback'] || function(){} + , source = args['source'] + , destination = args['destination'] + , stop = args['stop'] + , start = args['start'] + , end = args['end'] + , reverse = args['reverse'] + , limit = args['limit'] + , jsonp = jsonp_cb() + , data = {} + , url; + + // Check User Input + if (!source) return error('Missing Source Channel'); + if (!destination) return error('Missing Destination Channel'); + if (!PUBLISH_KEY) return error('Missing Publish Key'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + // Setup URL Params + if (jsonp != '0') data['callback'] = jsonp; + if (stop) data['stop'] = 'all'; + if (reverse) data['reverse'] = 'true'; + if (start) data['start'] = start; + if (end) data['end'] = end; + if (limit) data['count'] = limit; + + // Compose URL Parts + url = [ + STD_ORIGIN, 'v1', 'replay', + PUBLISH_KEY, SUBSCRIBE_KEY, + source, destination + ]; + + // Start (or Stop) Replay! + xdr({ + callback : jsonp, + success : function(response) { callback(response) }, + fail : function() { callback([ 0, 'Disconnected' ]) }, + url : url, + data : data + }); + }, + + /* + PUBNUB.time(function(time){ }); + */ + 'time' : function(callback) { + var jsonp = jsonp_cb(); + xdr({ + callback : jsonp, + timeout : SECOND*5, + url : [STD_ORIGIN, 'time', jsonp], + success : function(response) { callback(response[0]) }, + fail : function() { callback(0) } + }); + }, + + /* + PUBNUB.publish({ + channel : 'my_chat_channel', + message : 'hello!' + }); + */ + 'publish' : function( args, callback ) { + var callback = callback || args['callback'] || function(){} + , msg = args['message'] + , channel = args['channel'] + , jsonp = jsonp_cb() + , url; + + if (!msg) return error('Missing Message'); + if (!channel) return error('Missing Channel'); + if (!PUBLISH_KEY) return error('Missing Publish Key'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + // If trying to send Object + msg = JSON['stringify'](msg); + + // Create URL + url = [ + STD_ORIGIN, 'publish', + PUBLISH_KEY, SUBSCRIBE_KEY, + 0, encode(channel), + jsonp, encode(msg) + ]; + + // Queue Message Send + PUB_QUEUE.push({ + callback : jsonp, + timeout : SECOND*5, + url : url, + data : { 'uuid' : UUID }, + success : function(response){callback(response);publish(1)}, + fail : function(){callback([0,'Failed',msg]);publish(1)} + }); + + // Send Message + publish(); + }, + + /* + PUBNUB.unsubscribe({ channel : 'my_chat' }); + */ + 'unsubscribe' : function(args) { + var channel = args['channel']; + + TIMETOKEN = 0; + SUB_RESTORE = 1; + + // Prepare Channel(s) + channel = map( ( + channel.join ? channel.join(',') : ''+channel + ).split(','), function(channel) { + return channel + ',' + channel + PRESENCE_SUFFIX; + } ).join(','); + + // Iterate over Channels + each( channel.split(','), function(channel) { + if (READY) SELF['LEAVE']( channel, 0 ); + CHANNELS[channel] = 0; + } ); + + // ReOpen Connection if Any Channels Left + if (READY) CONNECT(); + }, + + /* + PUBNUB.subscribe({ + channel : 'my_chat' + callback : function(message) { } + }); + */ + 'subscribe' : function( args, callback ) { + var channel = args['channel'] + , callback = callback || args['callback'] + , callback = callback || args['message'] + , connect = args['connect'] || function(){} + , reconnect = args['reconnect'] || function(){} + , disconnect = args['disconnect'] || function(){} + , presence = args['presence'] || 0 + , noheresync = args['noheresync'] || 0 + , backfill = args['backfill'] || 0 + , sub_timeout = args['timeout'] || SUB_TIMEOUT + , windowing = args['windowing'] || SUB_WINDOWING + , restore = args['restore']; + + // Restore Enabled? + if (restore) SUB_RESTORE = 1; + + TIMETOKEN = 0; + + // Make sure we have a Channel + if (!channel) return error('Missing Channel'); + if (!callback) return error('Missing Callback'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + // Setup Channel(s) + each( (channel.join ? channel.join(',') : ''+channel).split(','), + function(channel) { + var settings = CHANNELS[channel] || {}; + + // Store Channel State + CHANNELS[SUB_CHANNEL = channel] = { + name : channel, + connected : settings.connected, + disconnected : settings.disconnected, + subscribed : 1, + callback : SUB_CALLBACK = callback, + connect : connect, + disconnect : disconnect, + reconnect : reconnect + }; + + // Presence Enabled? + if (!presence) return; + + // Subscribe Presence Channel + SELF['subscribe']({ + 'channel' : channel + PRESENCE_SUFFIX, + 'callback' : presence + }); + + // Presence Subscribed? + if (settings.subscribed) return; + + // See Who's Here Now? + if (noheresync) return; + SELF['here_now']({ + 'channel' : channel, + 'callback' : function(here) { + each( 'uuids' in here ? here['uuids'] : [], + function(uid) { presence( { + 'action' : 'join', + 'uuid' : uid, + 'timestamp' : rnow(), + 'occupancy' : here['occupancy'] || 1 + }, here, channel ); } ); + } + }); + } ); + + // Test Network Connection + function _test_connection(success) { + if (success) { + // Begin Next Socket Connection + timeout( _connect, SECOND ); + } + else { + // New Origin on Failed Connection + STD_ORIGIN = nextorigin( ORIGIN, 1 ); + SUB_ORIGIN = nextorigin( ORIGIN, 1 ); + + // Re-test Connection + timeout( function() { + SELF['time'](_test_connection); + }, SECOND ); + } + + // Disconnect & Reconnect + each_channel(function(channel){ + // Reconnect + if (success && channel.disconnected) { + channel.disconnected = 0; + return channel.reconnect(channel.name); + } + + // Disconnect + if (!success && !channel.disconnected) { + channel.disconnected = 1; + channel.disconnect(channel.name); + } + }); + } + + // Evented Subscribe + function _connect() { + var jsonp = jsonp_cb() + , channels = generate_channel_list(CHANNELS).join(','); + + // Stop Connection + if (!channels) return; + + // Connect to PubNub Subscribe Servers + SUB_RECEIVER = xdr({ + timeout : sub_timeout, + callback : jsonp, + fail : function() { SELF['time'](_test_connection) }, + data : { 'uuid' : UUID }, + url : [ + SUB_ORIGIN, 'subscribe', + SUBSCRIBE_KEY, encode(channels), + jsonp, TIMETOKEN + ], + success : function(messages) { + if (!messages) return timeout( _connect, windowing ); + + // Connect + each_channel(function(channel){ + if (channel.connected) return; + channel.connected = 1; + channel.connect(channel.name); + }); + + // Restore Previous Connection Point if Needed + TIMETOKEN = !TIMETOKEN && + SUB_RESTORE && + db['get'](SUBSCRIBE_KEY) || messages[1]; + + + if (backfill) { + Timetoken = 10000; + backfill = 0; + } + + // Update Saved Timetoken + db['set']( SUBSCRIBE_KEY, messages[1] ); + + // Route Channel <---> Callback for Message + var next_callback = (function() { + var channels = (messages.length>2?messages[2]:'') + , list = channels.split(','); + + return function() { + var channel = list.shift()||''; + return [ + (CHANNELS[channel]||{}) + .callback||SUB_CALLBACK, + (channel||SUB_CHANNEL) + .split(PRESENCE_SUFFIX)[0] + ]; + }; + })(); + + each( messages[0], function(msg) { + var next = next_callback(); + if (!CHANNELS[next[1]].subscribed) return; + next[0]( msg, messages, next[1] ); + } ); + + timeout( _connect, windowing ); + } + }); + } + + CONNECT = function() { + // Close Previous Subscribe Connection + _reset_offline(); + + // Begin Recursive Subscribe + clearTimeout(SUB_BUFF_WAIT); + SUB_BUFF_WAIT = timeout( _connect, 100 ); + }; + + // Reduce Status Flicker + if (!READY) return READY_BUFFER.push(CONNECT); + + // Connect Now + CONNECT(); + }, + + 'here_now' : function( args, callback ) { + var callback = args['callback'] || callback + , err = args['error'] || function(){} + , channel = args['channel'] + , jsonp = jsonp_cb() + , data = null; + + // Make sure we have a Channel + if (!channel) return error('Missing Channel'); + if (!callback) return error('Missing Callback'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + if (jsonp != '0') { + data = {}; + data['callback'] = jsonp; + } + + xdr({ + callback : jsonp, + data : data, + success : function(response) { callback(response) }, + fail : err, + url : [ + STD_ORIGIN, 'v2', 'presence', + 'sub_key', SUBSCRIBE_KEY, + 'channel', encode(channel) + ] + }); + }, + + // Expose PUBNUB Functions + 'xdr' : xdr, + 'ready' : ready, + 'db' : db, + 'uuid' : uuid, + 'each' : each, + 'map' : map, + 'grep' : grep, + 'supplant' : supplant, + 'now' : rnow, + 'unique' : unique, + 'updater' : updater + }; + + function _poll_online() { + _is_online() || _reset_offline(); + timeout( _poll_online, SECOND ); + } + + function _poll_online2() { + SELF['time'](function(success){ + success || _reset_offline(); + timeout( _poll_online2, KEEPALIVE ); + }) + } + + function _reset_offline() { + SUB_RECEIVER && SUB_RECEIVER(1); + } + + if (!UUID) UUID = SELF['uuid'](); + db['set']( SUBSCRIBE_KEY + 'uuid', UUID ); + + timeout( _poll_online, SECOND ); + timeout( _poll_online2, KEEPALIVE ); + + return SELF; +} +/* --------------------------------------------------------------------------- +--------------------------------------------------------------------------- */ + +/* --------------------------------------------------------------------------- +PubNub Real-time Cloud-Hosted Push API and Push Notification Client Frameworks +Copyright (c) 2011 PubNub Inc. +http://www.pubnub.com/ +http://www.pubnub.com/terms +--------------------------------------------------------------------------- */ + +/* --------------------------------------------------------------------------- +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +--------------------------------------------------------------------------- */ +(function(){ + +/** + * UTIL LOCALS + */ +var NOW = 1 +, URLBIT = '/' +, PARAMSBIT = '&' +, XHRTME = 310000; + +/** + * UTILITIES + */ +//function unique() { return'x'+ ++NOW+''+(+new Date) } +//function rnow() { return+new Date } + +/** + * LOCAL STORAGE + */ +var db = (function(){ + var ls = typeof localStorage != 'undefined' && localStorage; + return { + get : function(key) { + try { + if (ls) return ls.getItem(key); + if (document.cookie.indexOf(key) == -1) return null; + return ((document.cookie||'').match( + RegExp(key+'=([^;]+)') + )||[])[1] || null; + } catch(e) { return } + }, + set : function( key, value ) { + try { + if (ls) return ls.setItem( key, value ) && 0; + document.cookie = key + '=' + value + + '; expires=Thu, 1 Aug 2030 20:00:00 UTC; path=/'; + } catch(e) { return } + } + }; +})(); + + +/** + * CORS XHR Request + * ================ + * xdr({ + * url : ['http://www.blah.com/url'], + * success : function(response) {}, + * fail : function() {} + * }); + */ +function xdr( setup ) { + var xhr + , finished = function() { + if (loaded) return; + loaded = 1; + + clearTimeout(timer); + + try { response = JSON['parse'](xhr.responseText); } + catch (r) { return done(1); } + + success(response); + } + , complete = 0 + , loaded = 0 + , timer = timeout( function(){done(1)}, XHRTME ) + , fail = setup.fail || function(){} + , success = setup.success || function(){} + , done = function(failed) { + if (complete) return; + complete = 1; + + clearTimeout(timer); + + if (xhr) { + xhr.onerror = xhr.onload = null; + xhr.abort && xhr.abort(); + xhr = null; + } + + failed && fail(); + }; + + // Send + try { + xhr = typeof XDomainRequest !== 'undefined' && + new XDomainRequest() || + new XMLHttpRequest(); + + xhr.onerror = xhr.onabort = function(){ done(1) }; + xhr.onload = xhr.onloadend = finished; + xhr.timeout = XHRTME; + url = setup.url.join(URLBIT); + if (setup.data) { + var params = []; + url += "?"; + for (key in setup.data) { + params.push(key+"="+setup.data[key]); + } + url += params.join(PARAMSBIT); + } + xhr.open( 'GET', url, true ); + xhr.send(); + } + catch(eee) { + done(0); + return xdr(setup); + } + + // Return 'done' + return done; +} + +/** + * BIND + * ==== + * bind( 'keydown', search('a')[0], function(element) { + * ... + * } ); + */ +function bind( type, el, fun ) { + each( type.split(','), function(etype) { + var rapfun = function(e) { + if (!e) e = window.event; + if (!fun(e)) { + e.cancelBubble = true; + e.returnValue = false; + e.preventDefault && e.preventDefault(); + e.stopPropagation && e.stopPropagation(); + } + }; + + if ( el.addEventListener ) el.addEventListener( etype, rapfun, false ); + else if ( el.attachEvent ) el.attachEvent( 'on' + etype, rapfun ); + else el[ 'on' + etype ] = rapfun; + } ); +} + +/** + * UNBIND + * ====== + * unbind( 'keydown', search('a')[0] ); + */ +function unbind( type, el, fun ) { + if ( el.removeEventListener ) el.removeEventListener( type, false ); + else if ( el.detachEvent ) el.detachEvent( 'on' + type, false ); + else el[ 'on' + type ] = null; +} + +/** + * LOG + * === + * var list = grep( [1,2,3], function(item) { return item % 2 } ) + */ +var log = function(){}; + +/** + * EVENTS + * ====== + * PUBNUB.events.bind( 'you-stepped-on-flower', function(message) { + * // Do Stuff with message + * } ); + * + * PUBNUB.events.fire( 'you-stepped-on-flower', "message-data" ); + * PUBNUB.events.fire( 'you-stepped-on-flower', {message:"data"} ); + * PUBNUB.events.fire( 'you-stepped-on-flower', [1,2,3] ); + * + */ +var events = { + 'list' : {}, + 'unbind' : function( name ) { events.list[name] = [] }, + 'bind' : function( name, fun ) { + (events.list[name] = events.list[name] || []).push(fun); + }, + 'fire' : function( name, data ) { + each( + events.list[name] || [], + function(fun) { fun(data) } + ); + } +}; + +/* =-====================================================================-= */ +/* =-====================================================================-= */ +/* =-========================= PUBNUB ===========================-= */ +/* =-====================================================================-= */ +/* =-====================================================================-= */ + +function PN(setup) { + + + setup['db'] = db; + setup['xdr'] = xdr; + var SELF = PN_API(setup); + + SELF['init'] = PN; + + + // Return without Testing + if (setup['notest']) return SELF; + + // Add Leave Functions + bind( 'beforeunload', window, function() { + each_channel(function(ch){ SELF['LEAVE']( ch.name, 1 ) }); + return true; + } ); + + bind( 'offline', window, SELF['_reset_offline'] ); + bind( 'offline', document, SELF['_reset_offline'] ); + + SELF['ready'](); + return SELF; +} + +typeof module !== 'undefined' && (module.exports = PN) || +typeof exports !== 'undefined' && (exports.PN = PN) || (PUBNUB = PN); + +})(); diff --git a/modern/pubnub.min.js b/modern/pubnub.min.js index 277143069..71a8d5f36 100644 --- a/modern/pubnub.min.js +++ b/modern/pubnub.min.js @@ -1,148 +1,180 @@ // 3.4.3 (function(){ -var k=!0,l=null,n=!1;function q(){return function(){}}function x(a){return function(){return a}}var C=1,D=n,F=[],G="-pnpres",H=10,J=310,N=60,O=1E3,aa=/{([\w\-]+)}/g;function ba(){return"x"+ ++C+""+ +new Date}function P(){return+new Date}var Q,ca=Math.floor(20*Math.random());Q=function(a,b){return 0++ca?ca:ca=1))||a};function da(a,b){function d(){f+b>P()?(clearTimeout(c),c=setTimeout(d,b)):(f=P(),a())}var c,f=0;return d} -function ea(a,b){var d=[];W(a||[],function(a){b(a)&&d.push(a)});return d}function fa(a,b){return a.replace(aa,function(a,c){return b[c]||a})}function X(a,b){return setTimeout(a,b)}function R(a){var b="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});a&&a(b);return b} -function W(a,b){if(a&&b)if("undefined"!=typeof a[0])for(var d=0,c=a.length;d"-_.!~*'()".indexOf(a)?a:"%"+a.charCodeAt(0).toString(16).toUpperCase()}).join("")}function $(a){var b=[];W(a,function(a,c){c.f&&b.push(a)});return b.sort()} -function ga(){X(function(){D||(D=1,W(F,function(a){a()}))},O)} -function pa(a){function b(){}function d(a){a&&(r.g=0);!r.g&&r.length&&(r.g=1,t(r.shift()))}function c(a){W($(j),function(b){(b=j[b])&&a(b)})}var f=+a.windowing||H,p=(+a.timeout||J)*O,u=(+a.keepalive||N)*O,s=a.publish_key||"",g=a.subscribe_key||"",w=a.ssl?"s":"",y="http"+w+"://"+(a.origin||"pubsub.pubnub.com"),z=Q(y),S=Q(y),r=[],T=0,U=0,K=0,L=0,V=0,E=0,j={},t=a.xdr,M=a._is_online||x(1),v=a.jsonp_cb||x(0),A=a.db||{get:q(),set:q()},B=a.uuid||A&&A.get(g+"uuid")||"",e={_reset_offline:function(){K&&K(1)}, -LEAVE:function(a,b){var c={uuid:B},d=Q(y),m=v();0++ya?ya:ya=1))||a};function da(a,b){function d(){f+b>P()?(clearTimeout(c),c=setTimeout(d,b)):(f=P(),a())}var c,f=0;return d}function ea(a,b){var d=[];W(a||[],function(a){b(a)&&d.push(a)});return d}function fa(a,b){return a.replace(aa,function(a,c){return b[c]||a})} -function X(a,b){return setTimeout(a,b)}function R(a){var b="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});a&&a(b);return b}function W(a,b){if(a&&b)if("undefined"!=typeof a[0])for(var d=0,c=a.length;d"-_.!~*'()".indexOf(a)?a:"%"+a.charCodeAt(0).toString(16).toUpperCase()}).join("")}function $(a){var b=[];W(a,function(a,c){c.f&&b.push(a)});return b.sort()}function ga(){X(function(){D||(D=1,W(F,function(a){a()}))},O)} -function pa(a){function b(){}function d(a){a&&(r.g=0);!r.g&&r.length&&(r.g=1,t(r.shift()))}function c(a){W($(j),function(b){(b=j[b])&&a(b)})}var f=+a.windowing||H,p=(+a.timeout||J)*O,u=(+a.keepalive||N)*O,s=a.publish_key||"",g=a.subscribe_key||"",w=a.ssl?"s":"",y="http"+w+"://"+(a.origin||"pubsub.pubnub.com"),z=Q(y),S=Q(y),r=[],T=0,U=0,K=0,L=0,V=0,E=0,j={},t=a.xdr,M=a._is_online||x(1),v=a.jsonp_cb||x(0),A=a.db||{get:q(),set:q()},B=a.uuid||A&&A.get(g+"uuid")||"",e={_reset_offline:function(){K&&K(1)}, -LEAVE:function(a,b){var c={uuid:B},d=Q(y),m=v();0++Ha?Ha:Ha=1))||a};function da(a,b){function d(){f+b>P()?(clearTimeout(c),c=setTimeout(d,b)):(f=P(),a())}var c,f=0;return d}function ea(a,b){var d=[];W(a||[],function(a){b(a)&&d.push(a)});return d}function fa(a,b){return a.replace(aa,function(a,c){return b[c]||a})} -function X(a,b){return setTimeout(a,b)}function R(a){var b="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});a&&a(b);return b}function W(a,b){if(a&&b)if("undefined"!=typeof a[0])for(var d=0,c=a.length;d"-_.!~*'()".indexOf(a)?a:"%"+a.charCodeAt(0).toString(16).toUpperCase()}).join("")}function $(a){var b=[];W(a,function(a,c){c.f&&b.push(a)});return b.sort()}function ga(){X(function(){D||(D=1,W(F,function(a){a()}))},O)} -function pa(a){function b(){}function d(a){a&&(r.g=0);!r.g&&r.length&&(r.g=1,t(r.shift()))}function c(a){W($(j),function(b){(b=j[b])&&a(b)})}var f=+a.windowing||H,p=(+a.timeout||J)*O,u=(+a.keepalive||N)*O,s=a.publish_key||"",g=a.subscribe_key||"",w=a.ssl?"s":"",y="http"+w+"://"+(a.origin||"pubsub.pubnub.com"),z=Q(y),S=Q(y),r=[],T=0,U=0,K=0,L=0,V=0,E=0,j={},t=a.xdr,M=a._is_online||x(1),v=a.jsonp_cb||x(0),A=a.db||{get:q(),set:q()},B=a.uuid||A&&A.get(g+"uuid")||"",e={_reset_offline:function(){K&&K(1)}, -LEAVE:function(a,b){var c={uuid:B},d=Q(y),m=v();0++Qa?Qa:Qa=1))||a};function da(a,b){function d(){f+b>P()?(clearTimeout(c),c=setTimeout(d,b)):(f=P(),a())}var c,f=0;return d}function ea(a,b){var d=[];W(a||[],function(a){b(a)&&d.push(a)});return d}function fa(a,b){return a.replace(aa,function(a,c){return b[c]||a})} -function X(a,b){return setTimeout(a,b)}function R(a){var b="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});a&&a(b);return b}function W(a,b){if(a&&b)if("undefined"!=typeof a[0])for(var d=0,c=a.length;d"-_.!~*'()".indexOf(a)?a:"%"+a.charCodeAt(0).toString(16).toUpperCase()}).join("")}function $(a){var b=[];W(a,function(a,c){c.f&&b.push(a)});return b.sort()}function ga(){X(function(){D||(D=1,W(F,function(a){a()}))},O)} -function pa(a){function b(){}function d(a){a&&(r.g=0);!r.g&&r.length&&(r.g=1,t(r.shift()))}function c(a){W($(j),function(b){(b=j[b])&&a(b)})}var f=+a.windowing||H,p=(+a.timeout||J)*O,u=(+a.keepalive||N)*O,s=a.publish_key||"",g=a.subscribe_key||"",w=a.ssl?"s":"",y="http"+w+"://"+(a.origin||"pubsub.pubnub.com"),z=Q(y),S=Q(y),r=[],T=0,U=0,K=0,L=0,V=0,E=0,j={},t=a.xdr,M=a._is_online||x(1),v=a.jsonp_cb||x(0),A=a.db||{get:q(),set:q()},B=a.uuid||A&&A.get(g+"uuid")||"",e={_reset_offline:function(){K&&K(1)}, -LEAVE:function(a,b){var c={uuid:B},d=Q(y),m=v();0++Za?Za:Za=1))||a};function da(a,b){function d(){f+b>P()?(clearTimeout(c),c=setTimeout(d,b)):(f=P(),a())}var c,f=0;return d}function ea(a,b){var d=[];W(a||[],function(a){b(a)&&d.push(a)});return d}function fa(a,b){return a.replace(aa,function(a,c){return b[c]||a})} -function X(a,b){return setTimeout(a,b)}function R(a){var b="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});a&&a(b);return b}function W(a,b){if(a&&b)if("undefined"!=typeof a[0])for(var d=0,c=a.length;d"-_.!~*'()".indexOf(a)?a:"%"+a.charCodeAt(0).toString(16).toUpperCase()}).join("")}function $(a){var b=[];W(a,function(a,c){c.f&&b.push(a)});return b.sort()}function ga(){X(function(){D||(D=1,W(F,function(a){a()}))},O)} -function pa(a){function b(){}function d(a){a&&(r.g=0);!r.g&&r.length&&(r.g=1,t(r.shift()))}function c(a){W($(j),function(b){(b=j[b])&&a(b)})}var f=+a.windowing||H,p=(+a.timeout||J)*O,u=(+a.keepalive||N)*O,s=a.publish_key||"",g=a.subscribe_key||"",w=a.ssl?"s":"",y="http"+w+"://"+(a.origin||"pubsub.pubnub.com"),z=Q(y),S=Q(y),r=[],T=0,U=0,K=0,L=0,V=0,E=0,j={},t=a.xdr,M=a._is_online||x(1),v=a.jsonp_cb||x(0),A=a.db||{get:q(),set:q()},B=a.uuid||A&&A.get(g+"uuid")||"",e={_reset_offline:function(){K&&K(1)}, -LEAVE:function(a,b){var c={uuid:B},d=Q(y),e=v();0++hb?hb:hb=1))||a};function da(a,b){function d(){f+b>P()?(clearTimeout(c),c=setTimeout(d,b)):(f=P(),a())}var c,f=0;return d}function ea(a,b){var d=[];W(a||[],function(a){b(a)&&d.push(a)});return d}function fa(a,b){return a.replace(aa,function(a,c){return b[c]||a})} -function X(a,b){return setTimeout(a,b)}function R(a){var b="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});a&&a(b);return b}function W(a,b){if(a&&b)if("undefined"!=typeof a[0])for(var d=0,c=a.length;d"-_.!~*'()".indexOf(a)?a:"%"+a.charCodeAt(0).toString(16).toUpperCase()}).join("")}function $(a){var b=[];W(a,function(a,c){c.f&&b.push(a)});return b.sort()}function ga(){X(function(){D||(D=1,W(F,function(a){a()}))},O)} -function pa(a){function b(){}function d(a){a&&(r.g=0);!r.g&&r.length&&(r.g=1,t(r.shift()))}function c(a){W($(j),function(b){(b=j[b])&&a(b)})}var f=+a.windowing||H,p=(+a.timeout||J)*O,u=(+a.keepalive||N)*O,s=a.publish_key||"",g=a.subscribe_key||"",w=a.ssl?"s":"",y="http"+w+"://"+(a.origin||"pubsub.pubnub.com"),z=Q(y),S=Q(y),r=[],T=0,U=0,K=0,L=0,V=0,E=0,j={},t=a.xdr,M=a._is_online||x(1),v=a.jsonp_cb||x(0),A=a.db||{get:q(),set:q()},B=a.uuid||A&&A.get(g+"uuid")||"",e={_reset_offline:function(){K&&K(1)}, -LEAVE:function(a,b){var c={uuid:B},d=Q(y),e=v();0++qb?qb:qb=1))||a};function da(a,b){function d(){f+b>P()?(clearTimeout(c),c=setTimeout(d,b)):(f=P(),a())}var c,f=0;return d}function ea(a,b){var d=[];W(a||[],function(a){b(a)&&d.push(a)});return d}function fa(a,b){return a.replace(aa,function(a,c){return b[c]||a})} -function X(a,b){return setTimeout(a,b)}function R(a){var b="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});a&&a(b);return b}function W(a,b){if(a&&b)if("undefined"!=typeof a[0])for(var d=0,c=a.length;d"-_.!~*'()".indexOf(a)?a:"%"+a.charCodeAt(0).toString(16).toUpperCase()}).join("")}function $(a){var b=[];W(a,function(a,c){c.f&&b.push(a)});return b.sort()}function ga(){X(function(){D||(D=1,W(F,function(a){a()}))},O)} -function pa(a){function b(){}function d(a){a&&(r.g=0);!r.g&&r.length&&(r.g=1,t(r.shift()))}function c(a){W($(j),function(b){(b=j[b])&&a(b)})}var f=+a.windowing||H,p=(+a.timeout||J)*O,u=(+a.keepalive||N)*O,s=a.publish_key||"",g=a.subscribe_key||"",w=a.ssl?"s":"",y="http"+w+"://"+(a.origin||"pubsub.pubnub.com"),z=Q(y),S=Q(y),r=[],T=0,U=0,K=0,L=0,V=0,E=0,j={},t=a.xdr,M=a._is_online||x(1),v=a.jsonp_cb||x(0),A=a.db||{get:q(),set:q()},B=a.uuid||A&&A.get(g+"uuid")||"",e={_reset_offline:function(){K&&K(1)}, -LEAVE:function(a,b){var c={uuid:B},d=Q(y),e=v();0++zb?zb:zb=1))||a};function da(a,b){function d(){f+b>P()?(clearTimeout(c),c=setTimeout(d,b)):(f=P(),a())}var c,f=0;return d}function ea(a,b){var d=[];W(a||[],function(a){b(a)&&d.push(a)});return d}function fa(a,b){return a.replace(aa,function(a,c){return b[c]||a})} -function X(a,b){return setTimeout(a,b)}function R(a){var b="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});a&&a(b);return b}function W(a,b){if(a&&b)if("undefined"!=typeof a[0])for(var d=0,c=a.length;d"-_.!~*'()".indexOf(a)?a:"%"+a.charCodeAt(0).toString(16).toUpperCase()}).join("")}function $(a){var b=[];W(a,function(a,c){c.f&&b.push(a)});return b.sort()}function ga(){X(function(){D||(D=1,W(F,function(a){a()}))},O)} -function pa(a){function b(){}function d(a){a&&(r.g=0);!r.g&&r.length&&(r.g=1,t(r.shift()))}function c(a){W($(j),function(b){(b=j[b])&&a(b)})}var f=+a.windowing||H,p=(+a.timeout||J)*O,u=(+a.keepalive||N)*O,s=a.publish_key||"",g=a.subscribe_key||"",w=a.ssl?"s":"",y="http"+w+"://"+(a.origin||"pubsub.pubnub.com"),z=Q(y),S=Q(y),r=[],T=0,U=0,K=0,L=0,V=0,E=0,j={},t=a.xdr,M=a._is_online||x(1),v=a.jsonp_cb||x(0),A=a.db||{get:q(),set:q()},B=a.uuid||A&&A.get(g+"uuid")||"",e={_reset_offline:function(){K&&K(1)}, -LEAVE:function(a,b){var c={uuid:B},d=Q(y),e=v();0++Ib?Ib:Ib=1))||a};function da(a,b){function d(){f+b>P()?(clearTimeout(c),c=setTimeout(d,b)):(f=P(),a())}var c,f=0;return d}function ea(a,b){var d=[];W(a||[],function(a){b(a)&&d.push(a)});return d}function fa(a,b){return a.replace(aa,function(a,c){return b[c]||a})} -function X(a,b){return setTimeout(a,b)}function R(a){var b="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});a&&a(b);return b}function W(a,b){if(a&&b)if("undefined"!=typeof a[0])for(var d=0,c=a.length;d"-_.!~*'()".indexOf(a)?a:"%"+a.charCodeAt(0).toString(16).toUpperCase()}).join("")}function $(a){var b=[];W(a,function(a,c){c.f&&b.push(a)});return b.sort()}function ga(){X(function(){D||(D=1,W(F,function(a){a()}))},O)} -function pa(a){function b(){}function d(a){a&&(r.g=0);!r.g&&r.length&&(r.g=1,t(r.shift()))}function c(a){W($(j),function(b){(b=j[b])&&a(b)})}var f=+a.windowing||H,p=(+a.timeout||J)*O,u=(+a.keepalive||N)*O,s=a.publish_key||"",g=a.subscribe_key||"",w=a.ssl?"s":"",y="http"+w+"://"+(a.origin||"pubsub.pubnub.com"),z=Q(y),S=Q(y),r=[],T=0,U=0,K=0,L=0,V=0,E=0,j={},t=a.xdr,M=a._is_online||x(1),v=a.jsonp_cb||x(0),A=a.db||{get:q(),set:q()},B=a.uuid||A&&A.get(g+"uuid")||"",e={_reset_offline:function(){K&&K(1)}, -LEAVE:function(a,b){var c={uuid:B},d=Q(y),e=v();0++ea?ea:ea=1))||a};function fa(a,b){function c(){f+b>Q()?(clearTimeout(d),d=setTimeout(c,b)):(f=Q(),a())}var d,f=0;return c} +function ga(a,b){var c=[];T(a||[],function(a){b(a)&&c.push(a)});return c}function ha(a,b){return a.replace(ca,function(a,d){return b[d]||a})}function U(a,b){return setTimeout(a,b)}function S(a){var b="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});a&&a(b);return b} +function T(a,b){if(a&&b)if("undefined"!=typeof a[0])for(var c=0,d=a.length;c"-_.!~*'()".indexOf(a)?a:"%"+a.charCodeAt(0).toString(16).toUpperCase()}).join("")}function $(a){var b=[];T(a,function(a,d){d.f&&b.push(a)});return b.sort()} +function ia(){U(function(){E||(E=1,T(G,function(a){a()}))},L)} +function pa(a){function b(){}function c(a){a&&(t.g=0);!t.g&&t.length&&(t.g=1,p(t.shift()))}function d(a){T($(r),function(b){(b=r[b])&&a(b)})}var f=+a.windowing||I,j=(+a.timeout||aa)*L,A=(+a.keepalive||ba)*L,w=a.publish_key||"",g=a.subscribe_key||"",v=a.ssl?"s":"",s="http"+v+"://"+(a.origin||"pubsub.pubnub.com"),z=R(s),P=R(s),t=[],V=0,J=0,N=0,O=0,M=0,F=0,r={},p=a.xdr,K=a._is_online||y(1),u=a.jsonp_cb||y(0),B=a.db||{get:q(),set:q()},x=a.uuid||B&&B.get(g+"uuid")||"",e={_reset_offline:function(){N&&N(1)}, +LEAVE:function(a,b){var d={uuid:x},c=R(s),h=u();0++ya?ya:ya=1))||a};function fa(a,b){function c(){f+b>Q()?(clearTimeout(d),d=setTimeout(c,b)):(f=Q(),a())}var d,f=0;return c}function ga(a,b){var c=[];T(a||[],function(a){b(a)&&c.push(a)});return c}function ha(a,b){return a.replace(ca,function(a,d){return b[d]||a})} +function U(a,b){return setTimeout(a,b)}function S(a){var b="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});a&&a(b);return b}function T(a,b){if(a&&b)if("undefined"!=typeof a[0])for(var c=0,d=a.length;c"-_.!~*'()".indexOf(a)?a:"%"+a.charCodeAt(0).toString(16).toUpperCase()}).join("")}function $(a){var b=[];T(a,function(a,d){d.f&&b.push(a)});return b.sort()}function ia(){U(function(){E||(E=1,T(G,function(a){a()}))},L)} +function pa(a){function b(){}function c(a){a&&(t.g=0);!t.g&&t.length&&(t.g=1,p(t.shift()))}function d(a){T($(r),function(b){(b=r[b])&&a(b)})}var f=+a.windowing||I,j=(+a.timeout||aa)*L,A=(+a.keepalive||ba)*L,w=a.publish_key||"",g=a.subscribe_key||"",v=a.ssl?"s":"",s="http"+v+"://"+(a.origin||"pubsub.pubnub.com"),z=R(s),P=R(s),t=[],V=0,J=0,N=0,O=0,M=0,F=0,r={},p=a.xdr,K=a._is_online||y(1),u=a.jsonp_cb||y(0),B=a.db||{get:q(),set:q()},x=a.uuid||B&&B.get(g+"uuid")||"",e={_reset_offline:function(){N&&N(1)}, +LEAVE:function(a,b){var d={uuid:x},c=R(s),h=u();0++Ha?Ha:Ha=1))||a};function fa(a,b){function c(){f+b>Q()?(clearTimeout(d),d=setTimeout(c,b)):(f=Q(),a())}var d,f=0;return c}function ga(a,b){var c=[];T(a||[],function(a){b(a)&&c.push(a)});return c}function ha(a,b){return a.replace(ca,function(a,d){return b[d]||a})} +function U(a,b){return setTimeout(a,b)}function S(a){var b="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});a&&a(b);return b}function T(a,b){if(a&&b)if("undefined"!=typeof a[0])for(var c=0,d=a.length;c"-_.!~*'()".indexOf(a)?a:"%"+a.charCodeAt(0).toString(16).toUpperCase()}).join("")}function $(a){var b=[];T(a,function(a,d){d.f&&b.push(a)});return b.sort()}function ia(){U(function(){E||(E=1,T(G,function(a){a()}))},L)} +function pa(a){function b(){}function c(a){a&&(t.g=0);!t.g&&t.length&&(t.g=1,p(t.shift()))}function d(a){T($(r),function(b){(b=r[b])&&a(b)})}var f=+a.windowing||I,j=(+a.timeout||aa)*L,A=(+a.keepalive||ba)*L,w=a.publish_key||"",g=a.subscribe_key||"",v=a.ssl?"s":"",s="http"+v+"://"+(a.origin||"pubsub.pubnub.com"),z=R(s),P=R(s),t=[],V=0,J=0,N=0,O=0,M=0,F=0,r={},p=a.xdr,K=a._is_online||y(1),u=a.jsonp_cb||y(0),B=a.db||{get:q(),set:q()},x=a.uuid||B&&B.get(g+"uuid")||"",e={_reset_offline:function(){N&&N(1)}, +LEAVE:function(a,b){var d={uuid:x},c=R(s),h=u();0++Sa?Sa:Sa=1))||a};function fa(a,b){function c(){f+b>Q()?(clearTimeout(d),d=setTimeout(c,b)):(f=Q(),a())}var d,f=0;return c}function ga(a,b){var c=[];T(a||[],function(a){b(a)&&c.push(a)});return c}function ha(a,b){return a.replace(ca,function(a,d){return b[d]||a})} +function U(a,b){return setTimeout(a,b)}function S(a){var b="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});a&&a(b);return b}function T(a,b){if(a&&b)if("undefined"!=typeof a[0])for(var c=0,d=a.length;c"-_.!~*'()".indexOf(a)?a:"%"+a.charCodeAt(0).toString(16).toUpperCase()}).join("")}function $(a){var b=[];T(a,function(a,d){d.f&&b.push(a)});return b.sort()}function ia(){U(function(){E||(E=1,T(G,function(a){a()}))},L)} +function pa(a){function b(){}function c(a){a&&(t.g=0);!t.g&&t.length&&(t.g=1,p(t.shift()))}function d(a){T($(r),function(b){(b=r[b])&&a(b)})}var f=+a.windowing||I,j=(+a.timeout||aa)*L,A=(+a.keepalive||ba)*L,w=a.publish_key||"",g=a.subscribe_key||"",v=a.ssl?"s":"",s="http"+v+"://"+(a.origin||"pubsub.pubnub.com"),z=R(s),P=R(s),t=[],V=0,J=0,N=0,O=0,M=0,F=0,r={},p=a.xdr,K=a._is_online||y(1),u=a.jsonp_cb||y(0),B=a.db||{get:q(),set:q()},x=a.uuid||B&&B.get(g+"uuid")||"",e={_reset_offline:function(){N&&N(1)}, +LEAVE:function(a,b){var d={uuid:x},c=R(s),h=u();0++ab?ab:ab=1))||a};function fa(a,b){function c(){f+b>Q()?(clearTimeout(d),d=setTimeout(c,b)):(f=Q(),a())}var d,f=0;return c}function ga(a,b){var c=[];T(a||[],function(a){b(a)&&c.push(a)});return c}function ha(a,b){return a.replace(ca,function(a,d){return b[d]||a})} +function U(a,b){return setTimeout(a,b)}function S(a){var b="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});a&&a(b);return b}function T(a,b){if(a&&b)if("undefined"!=typeof a[0])for(var c=0,d=a.length;c"-_.!~*'()".indexOf(a)?a:"%"+a.charCodeAt(0).toString(16).toUpperCase()}).join("")}function $(a){var b=[];T(a,function(a,d){d.f&&b.push(a)});return b.sort()}function ia(){U(function(){E||(E=1,T(G,function(a){a()}))},L)} +function pa(a){function b(){}function c(a){a&&(t.g=0);!t.g&&t.length&&(t.g=1,p(t.shift()))}function d(a){T($(r),function(b){(b=r[b])&&a(b)})}var f=+a.windowing||I,j=(+a.timeout||aa)*L,A=(+a.keepalive||ba)*L,w=a.publish_key||"",g=a.subscribe_key||"",v=a.ssl?"s":"",s="http"+v+"://"+(a.origin||"pubsub.pubnub.com"),z=R(s),P=R(s),t=[],V=0,J=0,N=0,O=0,M=0,F=0,r={},p=a.xdr,K=a._is_online||y(1),u=a.jsonp_cb||y(0),B=a.db||{get:q(),set:q()},x=a.uuid||B&&B.get(g+"uuid")||"",e={_reset_offline:function(){N&&N(1)}, +LEAVE:function(a,b){var d={uuid:x},c=R(s),h=u();0++jb?jb:jb=1))||a};function fa(a,b){function c(){f+b>Q()?(clearTimeout(d),d=setTimeout(c,b)):(f=Q(),a())}var d,f=0;return c}function ga(a,b){var c=[];T(a||[],function(a){b(a)&&c.push(a)});return c}function ha(a,b){return a.replace(ca,function(a,d){return b[d]||a})} +function U(a,b){return setTimeout(a,b)}function S(a){var b="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});a&&a(b);return b}function T(a,b){if(a&&b)if("undefined"!=typeof a[0])for(var c=0,d=a.length;c"-_.!~*'()".indexOf(a)?a:"%"+a.charCodeAt(0).toString(16).toUpperCase()}).join("")}function $(a){var b=[];T(a,function(a,d){d.f&&b.push(a)});return b.sort()}function ia(){U(function(){E||(E=1,T(G,function(a){a()}))},L)} +function pa(a){function b(){}function c(a){a&&(t.g=0);!t.g&&t.length&&(t.g=1,p(t.shift()))}function d(a){T($(r),function(b){(b=r[b])&&a(b)})}var f=+a.windowing||I,j=(+a.timeout||aa)*L,A=(+a.keepalive||ba)*L,w=a.publish_key||"",g=a.subscribe_key||"",v=a.ssl?"s":"",s="http"+v+"://"+(a.origin||"pubsub.pubnub.com"),z=R(s),P=R(s),t=[],V=0,J=0,N=0,O=0,M=0,F=0,r={},p=a.xdr,K=a._is_online||y(1),u=a.jsonp_cb||y(0),B=a.db||{get:q(),set:q()},x=a.uuid||B&&B.get(g+"uuid")||"",e={_reset_offline:function(){N&&N(1)}, +LEAVE:function(a,b){var d={uuid:x},c=R(s),h=u();0++sb?sb:sb=1))||a};function fa(a,b){function c(){f+b>Q()?(clearTimeout(d),d=setTimeout(c,b)):(f=Q(),a())}var d,f=0;return c}function ga(a,b){var c=[];T(a||[],function(a){b(a)&&c.push(a)});return c}function ha(a,b){return a.replace(ca,function(a,d){return b[d]||a})} +function U(a,b){return setTimeout(a,b)}function S(a){var b="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});a&&a(b);return b}function T(a,b){if(a&&b)if("undefined"!=typeof a[0])for(var c=0,d=a.length;c"-_.!~*'()".indexOf(a)?a:"%"+a.charCodeAt(0).toString(16).toUpperCase()}).join("")}function $(a){var b=[];T(a,function(a,d){d.f&&b.push(a)});return b.sort()}function ia(){U(function(){E||(E=1,T(G,function(a){a()}))},L)} +function pa(a){function b(){}function c(a){a&&(t.g=0);!t.g&&t.length&&(t.g=1,p(t.shift()))}function d(a){T($(r),function(b){(b=r[b])&&a(b)})}var f=+a.windowing||I,j=(+a.timeout||aa)*L,A=(+a.keepalive||ba)*L,w=a.publish_key||"",g=a.subscribe_key||"",v=a.ssl?"s":"",s="http"+v+"://"+(a.origin||"pubsub.pubnub.com"),z=R(s),P=R(s),t=[],V=0,J=0,N=0,O=0,M=0,F=0,r={},p=a.xdr,K=a._is_online||y(1),u=a.jsonp_cb||y(0),B=a.db||{get:q(),set:q()},x=a.uuid||B&&B.get(g+"uuid")||"",e={_reset_offline:function(){N&&N(1)}, +LEAVE:function(a,b){var d={uuid:x},c=R(s),h=u();0++Bb?Bb:Bb=1))||a};function fa(a,b){function c(){f+b>Q()?(clearTimeout(d),d=setTimeout(c,b)):(f=Q(),a())}var d,f=0;return c}function ga(a,b){var c=[];T(a||[],function(a){b(a)&&c.push(a)});return c}function ha(a,b){return a.replace(ca,function(a,d){return b[d]||a})} +function U(a,b){return setTimeout(a,b)}function S(a){var b="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});a&&a(b);return b}function T(a,b){if(a&&b)if("undefined"!=typeof a[0])for(var c=0,d=a.length;c"-_.!~*'()".indexOf(a)?a:"%"+a.charCodeAt(0).toString(16).toUpperCase()}).join("")}function $(a){var b=[];T(a,function(a,d){d.f&&b.push(a)});return b.sort()}function ia(){U(function(){E||(E=1,T(G,function(a){a()}))},L)} +function pa(a){function b(){}function c(a){a&&(t.g=0);!t.g&&t.length&&(t.g=1,p(t.shift()))}function d(a){T($(r),function(b){(b=r[b])&&a(b)})}var f=+a.windowing||I,j=(+a.timeout||aa)*L,A=(+a.keepalive||ba)*L,w=a.publish_key||"",g=a.subscribe_key||"",v=a.ssl?"s":"",s="http"+v+"://"+(a.origin||"pubsub.pubnub.com"),z=R(s),P=R(s),t=[],V=0,J=0,N=0,O=0,M=0,F=0,r={},p=a.xdr,K=a._is_online||y(1),u=a.jsonp_cb||y(0),B=a.db||{get:q(),set:q()},x=a.uuid||B&&B.get(g+"uuid")||"",e={_reset_offline:function(){N&&N(1)}, +LEAVE:function(a,b){var d={uuid:x},c=R(s),e=u();0++Kb?Kb:Kb=1))||a};function fa(a,b){function c(){f+b>Q()?(clearTimeout(d),d=setTimeout(c,b)):(f=Q(),a())}var d,f=0;return c}function ga(a,b){var c=[];T(a||[],function(a){b(a)&&c.push(a)});return c}function ha(a,b){return a.replace(ca,function(a,d){return b[d]||a})} +function U(a,b){return setTimeout(a,b)}function S(a){var b="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});a&&a(b);return b}function T(a,b){if(a&&b)if("undefined"!=typeof a[0])for(var c=0,d=a.length;c"-_.!~*'()".indexOf(a)?a:"%"+a.charCodeAt(0).toString(16).toUpperCase()}).join("")}function $(a){var b=[];T(a,function(a,d){d.f&&b.push(a)});return b.sort()}function ia(){U(function(){E||(E=1,T(G,function(a){a()}))},L)} +function pa(a){function b(){}function c(a){a&&(t.g=0);!t.g&&t.length&&(t.g=1,p(t.shift()))}function d(a){T($(r),function(b){(b=r[b])&&a(b)})}var f=+a.windowing||I,j=(+a.timeout||aa)*L,A=(+a.keepalive||ba)*L,w=a.publish_key||"",g=a.subscribe_key||"",v=a.ssl?"s":"",s="http"+v+"://"+(a.origin||"pubsub.pubnub.com"),z=R(s),P=R(s),t=[],V=0,J=0,N=0,O=0,M=0,F=0,r={},p=a.xdr,K=a._is_online||y(1),u=a.jsonp_cb||y(0),B=a.db||{get:q(),set:q()},x=a.uuid||B&&B.get(g+"uuid")||"",e={_reset_offline:function(){N&&N(1)}, +LEAVE:function(a,b){var d={uuid:x},c=R(s),e=u();0++Tb?Tb:Tb=1))||a};function fa(a,b){function c(){f+b>Q()?(clearTimeout(d),d=setTimeout(c,b)):(f=Q(),a())}var d,f=0;return c}function ga(a,b){var c=[];T(a||[],function(a){b(a)&&c.push(a)});return c}function ha(a,b){return a.replace(ca,function(a,d){return b[d]||a})} +function U(a,b){return setTimeout(a,b)}function S(a){var b="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});a&&a(b);return b}function T(a,b){if(a&&b)if("undefined"!=typeof a[0])for(var c=0,d=a.length;c"-_.!~*'()".indexOf(a)?a:"%"+a.charCodeAt(0).toString(16).toUpperCase()}).join("")}function $(a){var b=[];T(a,function(a,d){d.f&&b.push(a)});return b.sort()}function ia(){U(function(){E||(E=1,T(G,function(a){a()}))},L)} +function pa(a){function b(){}function c(a){a&&(J.g=0);!J.g&&J.length&&(J.g=1,u(J.shift()))}function d(a){T($(K),function(b){(b=K[b])&&a(b)})}function f(){B()||M&&M(1);U(f,L)}function j(){ja.time(function(a){a||M&&M(1);U(j,g)})}var A=+a.windowing||I,w=(+a.timeout||aa)*L,g=(+a.keepalive||ba)*L,v=a.publish_key||"",s=a.subscribe_key||"",z=a.ssl?"s":"",P="http"+z+"://"+(a.origin||"pubsub.pubnub.com"),t=R(P),V=R(P),J=[],N=0,O=0,M=0,F=0,r=0,p=0,K={},u=a.xdr,B=a._is_online||y(1),x=a.jsonp_cb||y(0),e=a.db|| +{get:q(),set:q()},X=a.uuid||e&&e.get(s+"uuid")||"",ja={LEAVE:function(a,b){var c={uuid:X},d=R(P),e=x();0++bc?bc:bc=1))||a};function fa(a,b){function c(){f+b>Q()?(clearTimeout(d),d=setTimeout(c,b)):(f=Q(),a())}var d,f=0;return c}function ga(a,b){var c=[];T(a||[],function(a){b(a)&&c.push(a)});return c}function ha(a,b){return a.replace(ca,function(a,d){return b[d]||a})} +function U(a,b){return setTimeout(a,b)}function S(a){var b="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});a&&a(b);return b}function T(a,b){if(a&&b)if("undefined"!=typeof a[0])for(var c=0,d=a.length;c"-_.!~*'()".indexOf(a)?a:"%"+a.charCodeAt(0).toString(16).toUpperCase()}).join("")}function $(a){var b=[];T(a,function(a,d){d.f&&b.push(a)});return b.sort()}function ia(){U(function(){E||(E=1,T(G,function(a){a()}))},L)} +function pa(a){function b(){}function c(a){a&&(J.g=0);!J.g&&J.length&&(J.g=1,u(J.shift()))}function d(a){T($(K),function(b){(b=K[b])&&a(b)})}function f(){B()||M&&M(1);U(f,L)}function j(){ja.time(function(a){a||M&&M(1);U(j,g)})}var A=+a.windowing||I,w=(+a.timeout||aa)*L,g=(+a.keepalive||ba)*L,v=a.publish_key||"",s=a.subscribe_key||"",z=a.ssl?"s":"",P="http"+z+"://"+(a.origin||"pubsub.pubnub.com"),t=R(P),V=R(P),J=[],N=0,O=0,M=0,F=0,r=0,p=0,K={},u=a.xdr,B=a._is_online||y(1),x=a.jsonp_cb||y(0),e=a.db|| +{get:q(),set:q()},X=a.uuid||e&&e.get(s+"uuid")||"",ja={LEAVE:function(a,b){var c={uuid:X},d=R(P),e=x();0++ea?ea:ea=1))||b}; -function fa(b,c){function a(){e+c>P()?(clearTimeout(d),d=setTimeout(a,c)):(e=P(),b())}var d,e=0;return a}function ga(b,c){var a=[];T(b||[],function(b){c(b)&&a.push(b)});return a}function la(b,c){return b.replace(da,function(a,b){return c[b]||a})}function U(b,c){return setTimeout(b,c)}function S(b){var c="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});b&&b(c);return c} -function T(b,c){if(b&&c)if("undefined"!=typeof b[0])for(var a=0,d=b.length;a"-_.!~*'()".indexOf(b)?b:"%"+b.charCodeAt(0).toString(16).toUpperCase()}).join("")}function Y(b){var c=[];T(b,function(a,b){b.h&&c.push(a)});return c.sort()} -function Z(){U(function(){H||(H=1,T(I,function(b){b()}))},M)} -function $(b){function c(){}function a(a){a&&(m.j=0);!m.j&&m.length&&(m.j=1,z(m.shift()))}function d(a){T(Y(x),function(b){(b=x[b])&&a(b)})}var e=+b.windowing||aa,k=(+b.timeout||ba)*M,w=(+b.keepalive||ca)*M,l=b.publish_key||"",p=b.subscribe_key||"",q=b.ssl?"s":"",h="http"+q+"://"+(b.origin||"pubsub.pubnub.com"),g=Q(h),i=Q(h),m=[],j=0,n=0,f=0,D=0,J=0,B=0,x={},z=b.xdr,N=b._is_online||A(1),C=b.jsonp_cb||A(0),F=b.db||{get:y(),set:y()},G=b.uuid||F&&F.get(p+"uuid")||"",s={_reset_offline:function(){f&&f(1)}, -LEAVE:function(a,b){var c={uuid:G},d=Q(h),e=C();0++La?La:La=1))||b}; -function fa(b,c){function a(){e+c>P()?(clearTimeout(d),d=setTimeout(a,c)):(e=P(),b())}var d,e=0;return a}function ga(b,c){var a=[];T(b||[],function(b){c(b)&&a.push(b)});return a}function la(b,c){return b.replace(da,function(a,b){return c[b]||a})}function U(b,c){return setTimeout(b,c)}function S(b){var c="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});b&&b(c);return c} -function T(b,c){if(b&&c)if("undefined"!=typeof b[0])for(var a=0,d=b.length;a"-_.!~*'()".indexOf(b)?b:"%"+b.charCodeAt(0).toString(16).toUpperCase()}).join("")}function Y(b){var c=[];T(b,function(a,b){b.h&&c.push(a)});return c.sort()} -function Z(){U(function(){H||(H=1,T(I,function(b){b()}))},M)} -function $(b){function c(){}function a(a){a&&(m.j=0);!m.j&&m.length&&(m.j=1,z(m.shift()))}function d(a){T(Y(x),function(b){(b=x[b])&&a(b)})}var e=+b.windowing||aa,k=(+b.timeout||ba)*M,w=(+b.keepalive||ca)*M,l=b.publish_key||"",p=b.subscribe_key||"",q=b.ssl?"s":"",h="http"+q+"://"+(b.origin||"pubsub.pubnub.com"),g=Q(h),i=Q(h),m=[],j=0,n=0,f=0,D=0,J=0,B=0,x={},z=b.xdr,N=b._is_online||A(1),C=b.jsonp_cb||A(0),F=b.db||{get:y(),set:y()},G=b.uuid||F&&F.get(p+"uuid")||"",s={_reset_offline:function(){f&&f(1)}, -LEAVE:function(a,b){var c={uuid:G},d=Q(h),e=C();0++Hb?Hb:Hb=1))||b}; -function fa(b,c){function a(){e+c>P()?(clearTimeout(d),d=setTimeout(a,c)):(e=P(),b())}var d,e=0;return a}function ga(b,c){var a=[];T(b||[],function(b){c(b)&&a.push(b)});return a}function la(b,c){return b.replace(da,function(a,b){return c[b]||a})}function U(b,c){return setTimeout(b,c)}function S(b){var c="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});b&&b(c);return c} -function T(b,c){if(b&&c)if("undefined"!=typeof b[0])for(var a=0,d=b.length;a"-_.!~*'()".indexOf(b)?b:"%"+b.charCodeAt(0).toString(16).toUpperCase()}).join("")}function Y(b){var c=[];T(b,function(a,b){b.h&&c.push(a)});return c.sort()} -function Z(){U(function(){H||(H=1,T(I,function(b){b()}))},M)} -function $(b){function c(){}function a(a){a&&(m.j=0);!m.j&&m.length&&(m.j=1,z(m.shift()))}function d(a){T(Y(x),function(b){(b=x[b])&&a(b)})}var e=+b.windowing||aa,k=(+b.timeout||ba)*M,w=(+b.keepalive||ca)*M,l=b.publish_key||"",p=b.subscribe_key||"",q=b.ssl?"s":"",h="http"+q+"://"+(b.origin||"pubsub.pubnub.com"),g=Q(h),i=Q(h),m=[],j=0,n=0,f=0,D=0,J=0,B=0,x={},z=b.xdr,N=b._is_online||A(1),C=b.jsonp_cb||A(0),F=b.db||{get:y(),set:y()},G=b.uuid||F&&F.get(p+"uuid")||"",s={_reset_offline:function(){f&&f(1)}, -LEAVE:function(a,b){var c={uuid:G},d=Q(h),e=C();0++fc?fc:fc=1))||b}; -function fa(b,c){function a(){e+c>P()?(clearTimeout(d),d=setTimeout(a,c)):(e=P(),b())}var d,e=0;return a}function ga(b,c){var a=[];T(b||[],function(b){c(b)&&a.push(b)});return a}function la(b,c){return b.replace(da,function(a,b){return c[b]||a})}function U(b,c){return setTimeout(b,c)}function S(b){var c="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});b&&b(c);return c} -function T(b,c){if(b&&c)if("undefined"!=typeof b[0])for(var a=0,d=b.length;a"-_.!~*'()".indexOf(b)?b:"%"+b.charCodeAt(0).toString(16).toUpperCase()}).join("")}function Y(b){var c=[];T(b,function(a,b){b.h&&c.push(a)});return c.sort()} -function Z(){U(function(){H||(H=1,T(I,function(b){b()}))},M)} -function $(b){function c(){}function a(a){a&&(m.j=0);!m.j&&m.length&&(m.j=1,z(m.shift()))}function d(a){T(Y(x),function(b){(b=x[b])&&a(b)})}var e=+b.windowing||aa,k=(+b.timeout||ba)*M,w=(+b.keepalive||ca)*M,l=b.publish_key||"",p=b.subscribe_key||"",q=b.ssl?"s":"",h="http"+q+"://"+(b.origin||"pubsub.pubnub.com"),g=Q(h),i=Q(h),m=[],j=0,n=0,f=0,D=0,J=0,B=0,x={},z=b.xdr,N=b._is_online||A(1),C=b.jsonp_cb||A(0),F=b.db||{get:y(),set:y()},G=b.uuid||F&&F.get(p+"uuid")||"",s={_reset_offline:function(){f&&f(1)}, -LEAVE:function(a,b){var c={uuid:G},d=Q(h),e=C();0++Fc?Fc:Fc=1))||b}; -function fa(b,c){function a(){e+c>P()?(clearTimeout(d),d=setTimeout(a,c)):(e=P(),b())}var d,e=0;return a}function ga(b,c){var a=[];T(b||[],function(b){c(b)&&a.push(b)});return a}function la(b,c){return b.replace(da,function(a,b){return c[b]||a})}function U(b,c){return setTimeout(b,c)}function S(b){var c="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});b&&b(c);return c} -function T(b,c){if(b&&c)if("undefined"!=typeof b[0])for(var a=0,d=b.length;a"-_.!~*'()".indexOf(b)?b:"%"+b.charCodeAt(0).toString(16).toUpperCase()}).join("")}function Y(b){var c=[];T(b,function(a,b){b.h&&c.push(a)});return c.sort()} -function Z(){U(function(){H||(H=1,T(I,function(b){b()}))},M)} -function $(b){function c(){}function a(a){a&&(m.j=0);!m.j&&m.length&&(m.j=1,z(m.shift()))}function d(a){T(Y(x),function(b){(b=x[b])&&a(b)})}var e=+b.windowing||aa,k=(+b.timeout||ba)*M,w=(+b.keepalive||ca)*M,l=b.publish_key||"",p=b.subscribe_key||"",q=b.ssl?"s":"",h="http"+q+"://"+(b.origin||"pubsub.pubnub.com"),g=Q(h),i=Q(h),m=[],j=0,n=0,f=0,D=0,J=0,B=0,x={},z=b.xdr,N=b._is_online||A(1),C=b.jsonp_cb||A(0),F=b.db||{get:y(),set:y()},G=b.uuid||F&&F.get(p+"uuid")||"",s={_reset_offline:function(){f&&f(1)}, -LEAVE:function(a,b){var c={uuid:G},d=Q(h),e=C();0++dd?dd:dd=1))||b}; -function fa(b,c){function a(){e+c>P()?(clearTimeout(d),d=setTimeout(a,c)):(e=P(),b())}var d,e=0;return a}function ga(b,c){var a=[];T(b||[],function(b){c(b)&&a.push(b)});return a}function la(b,c){return b.replace(da,function(a,b){return c[b]||a})}function U(b,c){return setTimeout(b,c)}function S(b){var c="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});b&&b(c);return c} -function T(b,c){if(b&&c)if("undefined"!=typeof b[0])for(var a=0,d=b.length;a"-_.!~*'()".indexOf(b)?b:"%"+b.charCodeAt(0).toString(16).toUpperCase()}).join("")}function Y(b){var c=[];T(b,function(a,b){b.h&&c.push(a)});return c.sort()} -function Z(){U(function(){H||(H=1,T(I,function(b){b()}))},M)} -function $(b){function c(){}function a(a){a&&(m.j=0);!m.j&&m.length&&(m.j=1,z(m.shift()))}function d(a){T(Y(x),function(b){(b=x[b])&&a(b)})}var e=+b.windowing||aa,k=(+b.timeout||ba)*M,w=(+b.keepalive||ca)*M,l=b.publish_key||"",p=b.subscribe_key||"",q=b.ssl?"s":"",h="http"+q+"://"+(b.origin||"pubsub.pubnub.com"),g=Q(h),i=Q(h),m=[],j=0,n=0,f=0,D=0,J=0,B=0,x={},z=b.xdr,N=b._is_online||A(1),C=b.jsonp_cb||A(0),F=b.db||{get:y(),set:y()},G=b.uuid||F&&F.get(p+"uuid")||"",s={_reset_offline:function(){f&&f(1)}, -LEAVE:function(a,b){var c={uuid:G},d=Q(h),e=C();0++Cd?Cd:Cd=1))||b}; -function fa(b,c){function a(){e+c>P()?(clearTimeout(d),d=setTimeout(a,c)):(e=P(),b())}var d,e=0;return a}function ga(b,c){var a=[];T(b||[],function(b){c(b)&&a.push(b)});return a}function la(b,c){return b.replace(da,function(a,b){return c[b]||a})}function U(b,c){return setTimeout(b,c)}function S(b){var c="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});b&&b(c);return c} -function T(b,c){if(b&&c)if("undefined"!=typeof b[0])for(var a=0,d=b.length;a"-_.!~*'()".indexOf(b)?b:"%"+b.charCodeAt(0).toString(16).toUpperCase()}).join("")}function Y(b){var c=[];T(b,function(a,b){b.h&&c.push(a)});return c.sort()} -function Z(){U(function(){H||(H=1,T(I,function(b){b()}))},M)} -function $(b){function c(){}function a(a){a&&(m.j=0);!m.j&&m.length&&(m.j=1,z(m.shift()))}function d(a){T(Y(x),function(b){(b=x[b])&&a(b)})}var e=+b.windowing||aa,k=(+b.timeout||ba)*M,w=(+b.keepalive||ca)*M,l=b.publish_key||"",p=b.subscribe_key||"",q=b.ssl?"s":"",h="http"+q+"://"+(b.origin||"pubsub.pubnub.com"),g=Q(h),i=Q(h),m=[],j=0,n=0,f=0,D=0,J=0,B=0,x={},z=b.xdr,N=b._is_online||A(1),C=b.jsonp_cb||A(0),F=b.db||{get:y(),set:y()},G=b.uuid||F&&F.get(p+"uuid")||"",s={_reset_offline:function(){f&&f(1)}, -LEAVE:function(a,b){var c={uuid:G},d=Q(h),e=C();0++ae?ae:ae=1))||b}; -function fa(b,c){function a(){e+c>P()?(clearTimeout(d),d=setTimeout(a,c)):(e=P(),b())}var d,e=0;return a}function ga(b,c){var a=[];T(b||[],function(b){c(b)&&a.push(b)});return a}function la(b,c){return b.replace(da,function(a,b){return c[b]||a})}function U(b,c){return setTimeout(b,c)}function S(b){var c="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});b&&b(c);return c} -function T(b,c){if(b&&c)if("undefined"!=typeof b[0])for(var a=0,d=b.length;a"-_.!~*'()".indexOf(b)?b:"%"+b.charCodeAt(0).toString(16).toUpperCase()}).join("")}function Y(b){var c=[];T(b,function(a,b){b.h&&c.push(a)});return c.sort()} -function Z(){U(function(){H||(H=1,T(I,function(b){b()}))},M)} -function $(b){function c(){}function a(a){a&&(m.j=0);!m.j&&m.length&&(m.j=1,z(m.shift()))}function d(a){T(Y(x),function(b){(b=x[b])&&a(b)})}var e=+b.windowing||aa,k=(+b.timeout||ba)*M,w=(+b.keepalive||ca)*M,l=b.publish_key||"",p=b.subscribe_key||"",q=b.ssl?"s":"",h="http"+q+"://"+(b.origin||"pubsub.pubnub.com"),g=Q(h),i=Q(h),m=[],j=0,n=0,f=0,D=0,J=0,B=0,x={},z=b.xdr,N=b._is_online||A(1),C=b.jsonp_cb||A(0),F=b.db||{get:y(),set:y()},G=b.uuid||F&&F.get(p+"uuid")||"",s={_reset_offline:function(){f&&f(1)}, -LEAVE:function(a,b){var c={uuid:G},d=Q(h),e=C();0++ze?ze:ze=1))||b}; -function fa(b,c){function a(){e+c>P()?(clearTimeout(d),d=setTimeout(a,c)):(e=P(),b())}var d,e=0;return a}function ga(b,c){var a=[];T(b||[],function(b){c(b)&&a.push(b)});return a}function la(b,c){return b.replace(da,function(a,b){return c[b]||a})}function U(b,c){return setTimeout(b,c)}function S(b){var c="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});b&&b(c);return c} -function T(b,c){if(b&&c)if("undefined"!=typeof b[0])for(var a=0,d=b.length;a"-_.!~*'()".indexOf(b)?b:"%"+b.charCodeAt(0).toString(16).toUpperCase()}).join("")}function Y(b){var c=[];T(b,function(a,b){b.h&&c.push(a)});return c.sort()} -function Z(){U(function(){H||(H=1,T(I,function(b){b()}))},M)} -function $(b){function c(){}function a(a){a&&(m.j=0);!m.j&&m.length&&(m.j=1,z(m.shift()))}function d(a){T(Y(x),function(b){(b=x[b])&&a(b)})}var e=+b.windowing||aa,k=(+b.timeout||ba)*M,w=(+b.keepalive||ca)*M,l=b.publish_key||"",p=b.subscribe_key||"",q=b.ssl?"s":"",h="http"+q+"://"+(b.origin||"pubsub.pubnub.com"),g=Q(h),i=Q(h),m=[],j=0,n=0,f=0,D=0,J=0,B=0,x={},z=b.xdr,N=b._is_online||A(1),C=b.jsonp_cb||A(0),F=b.db||{get:y(),set:y()},G=b.uuid||F&&F.get(p+"uuid")||"",s={_reset_offline:function(){f&&f(1)}, -LEAVE:function(a,b){var c={uuid:G},d=Q(h),e=C();0++Ye?Ye:Ye=1))||b}; -function fa(b,c){function a(){e+c>P()?(clearTimeout(d),d=setTimeout(a,c)):(e=P(),b())}var d,e=0;return a}function ga(b,c){var a=[];T(b||[],function(b){c(b)&&a.push(b)});return a}function la(b,c){return b.replace(da,function(a,b){return c[b]||a})}function U(b,c){return setTimeout(b,c)}function S(b){var c="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});b&&b(c);return c} -function T(b,c){if(b&&c)if("undefined"!=typeof b[0])for(var a=0,d=b.length;a"-_.!~*'()".indexOf(b)?b:"%"+b.charCodeAt(0).toString(16).toUpperCase()}).join("")}function Y(b){var c=[];T(b,function(a,b){b.h&&c.push(a)});return c.sort()} -function Z(){U(function(){H||(H=1,T(I,function(b){b()}))},M)} -function $(b){function c(){}function a(a){a&&(m.j=0);!m.j&&m.length&&(m.j=1,z(m.shift()))}function d(a){T(Y(x),function(b){(b=x[b])&&a(b)})}var e=+b.windowing||aa,k=(+b.timeout||ba)*M,w=(+b.keepalive||ca)*M,l=b.publish_key||"",p=b.subscribe_key||"",q=b.ssl?"s":"",h="http"+q+"://"+(b.origin||"pubsub.pubnub.com"),g=Q(h),i=Q(h),m=[],j=0,n=0,f=0,D=0,J=0,B=0,x={},z=b.xdr,N=b._is_online||A(1),C=b.jsonp_cb||A(0),F=b.db||{get:y(),set:y()},G=b.uuid||F&&F.get(p+"uuid")||"",s={_reset_offline:function(){f&&f(1)}, -LEAVE:function(a,b){var c={uuid:G},d=Q(h),e=C();0++I?I:I=1))||a}; +function fa(a,c){function b(){e+c>E()?(clearTimeout(d),d=setTimeout(b,c)):(e=E(),a())}var d,e=0;return b}function ga(a,c){var b=[];J(a||[],function(a){c(a)&&b.push(a)});return b}function ha(a,c){return a.replace(da,function(a,d){return c[d]||a})}function ea(a){var c="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var c=16*Math.random()|0;return("x"==a?c:c&3|8).toString(16)});a&&a(c);return c} +function J(a,c){if(a&&c)if("undefined"!=typeof a[0])for(var b=0,d=a.length;b"-_.!~*'()".indexOf(a)?a:"%"+a.charCodeAt(0).toString(16).toUpperCase()}).join("")}function ia(a){var c=[];J(a,function(a,d){d.g&&c.push(a)});return c.sort()} +function N(){setTimeout(function(){t||(t=1,J(ba,function(a){a()}))},A)} +if(!window.PUBNUB){var P=function(a){return document.getElementById(a)},ja=function(a,c){var b=[];J(a.split(/\s+/),function(a){J((c||document).getElementsByTagName(a),function(a){b.push(a)})});return b},Q=function(a,c,b){J(a.split(","),function(a){function e(a){a||(a=window.event);b(a)||(a.cancelBubble=!0,a.returnValue=p,a.preventDefault&&a.preventDefault(),a.stopPropagation&&a.stopPropagation())}c.addEventListener?c.addEventListener(a,e,p):c.attachEvent?c.attachEvent("on"+a,e):c["on"+a]=e})},ka= +function(){return ja("head")[0]},R=function(a,c,b){if(b)a.setAttribute(c,b);else return a&&a.getAttribute&&a.getAttribute(c)},ma=function(a,c){for(var b in c)if(c.hasOwnProperty(b))try{a.style[b]=c[b]+(0<"|width|height|top|left|".indexOf(b)&&"number"==typeof c[b]?"px":"")}catch(d){}},na=function(a){return document.createElement(a)},oa=function(){return S||V()?0:C()},ta=function(a){function c(a,b){r||(r=1,a||u(b),l.onerror=n,clearTimeout(T),setTimeout(function(){a&&U();var b=P(i),c=b&&b.parentNode; +c&&c.removeChild(b)},A))}if(S||V()){a:{var b,d,e=function(){if(!v){v=1;clearTimeout(O);try{d=JSON.parse(b.responseText)}catch(a){return h(1)}k(d)}},m=0,v=0,f=a.timeout||1E4,O=setTimeout(function(){h(1)},f),D=a.b||s(),k=a.c||s(),h=function(a){m||(m=1,clearTimeout(O),b&&(b.onerror=b.onload=n,b.abort&&b.abort(),b=n),a&&D())};try{b=V()||window.XDomainRequest&&new XDomainRequest||new XMLHttpRequest;b.onerror=b.onabort=function(){h(1)};b.onload=b.onloadend=e;b.timeout=f;var g=a.url.join(pa);if(a.data){var e= +[],q;console.log(a.data);g+="?";for(q in a.data)e.push(q+"="+a.data[q]);g+=e.join(sa)}b.open("GET",g,typeof("undefined"===a.h));b.send()}catch(j){h(0);S=0;a=ta(a);break a}a=h}return a}var l=na("script"),g=a.a,i=C(),r=0,T=setTimeout(function(){c(1)},a.timeout||1E4),U=a.b||s(),u=a.c||s();window[g]=function(a){c(0,a)};a.h||(l[ua]=ua);l.onerror=function(){c(1)};l.src=a.url.join(pa);if(a.data){g=[];l.src+="?";for(e in a.data)g.push(e+"="+a.data[e]);l.src+=g.join(sa)}R(l,"id",i);ka().appendChild(l);return c}, +va=function(){return!("onLine"in navigator)?1:navigator.onLine},V=function(){if(!wa||!wa.get)return 0;var a={id:V.id++,send:s(),abort:function(){a.id={}},open:function(c,b){V[a.id]=a;wa.get(a.id,b)}};return a},ua="async",pa="/",sa="&",S=-1==navigator.userAgent.indexOf("MSIE 6");window.console||(window.console=window.console||{});console.log||(console.log=console.error=(window.opera||{}).postError||s());var xa,W=window.localStorage;xa={get:function(a){try{return W?W.getItem(a):-1==document.cookie.indexOf(a)? +n:((document.cookie||"").match(RegExp(a+"=([^;]+)"))||[])[1]||n}catch(c){}},set:function(a,c){try{if(W)return W.setItem(a,c)&&0;document.cookie=a+"="+c+"; expires=Thu, 1 Aug 2030 20:00:00 UTC; path=/"}catch(b){}}};var X={list:{},unbind:function(a){X.list[a]=[]},bind:function(a,c){(X.list[a]=X.list[a]||[]).push(c)},fire:function(a,c){J(X.list[a]||[],function(a){a(c)})}},Y=P("pubnub")||0,ya=function(a){function c(){}function b(){y.time(function(a){a||u&&u(1);setTimeout(b,k)})}function d(){ca()||u&& +u(1);setTimeout(d,A)}function e(a){J(ia(x),function(b){(b=x[b])&&a(b)})}function m(a){a&&(r.i=0);!r.i&&r.length&&(r.i=1,z(r.shift()))}a.jsonp&&(S=0);var v=a.subscribe_key||"";a.uuid||xa.get(v+"uuid");a.xdr=ta;a.db=xa;a._is_online=va;a.jsonp_cb=oa;var f,O=+a.windowing||10,D=(+a.timeout||310)*A,k=(+a.keepalive||60)*A,h=a.publish_key||"",g=a.subscribe_key||"",q=a.ssl?"s":"",j="http"+q+"://"+(a.origin||"pubsub.pubnub.com"),l=F(j),i=F(j),r=[],T=0,U=0,u=0,$=0,la=0,K=0,x={},z=a.xdr,ca=a._is_online||function(){return 1}, +B=a.jsonp_cb||function(){return 0},G=a.db||{get:s(),set:s()},H=a.uuid||G&&G.get(g+"uuid")||"",y={LEAVE:function(a,b){var c={uuid:H},d=F(j),e=B();0 $(PUBNUB_JS) cat $(JSON_JS) $(PUBNUB_COMMON_JS) $(PUBNUB_PLATFORM_JS) $(WEBSOCKET_JS) >> $(PUBNUB_JS) - $(ECHO) -n "// " > $(PUBNUB_MIN_JS) - $(ECHO) $(VERSION) >> $(PUBNUB_MIN_JS) - $(ECHO) "(function(){" >> $(PUBNUB_MIN_JS) + + ## Minfied Version + $(ECHO) -n "// Version: $(VERSION)\n" > $(PUBNUB_MIN_JS) + $(ECHO) "(function(){" > $(PUBNUB_MIN_JS) cat $(PUBNUB_JS) | java -jar $(GOOGLE_MINIFY) --compilation_level=ADVANCED_OPTIMIZATIONS >> $(PUBNUB_MIN_JS) $(ECHO) "})();" >> $(PUBNUB_MIN_JS) $(PUBNUB_CRYPTO_MIN_JS) : $(GIBBERISH_JS) $(ENCRYPTO_JS) - $(ECHO) "(function(){" >> $(PUBNUB_CRYPTO_MIN_JS) + ## Cryptography + $(ECHO) "(function(){" > $(PUBNUB_CRYPTO_MIN_JS) cat $(GIBBERISH_JS) $(ENCRYPT_JS) | java -jar $(GOOGLE_MINIFY) >> $(PUBNUB_CRYPTO_MIN_JS) $(ECHO) "})();" >> $(PUBNUB_CRYPTO_MIN_JS) - .PHONY : clean clean: rm -f $(OUTPUT_FILES) diff --git a/web/pubnub.js b/web/pubnub.js index 57ec713f3..6d7e4502a 100644 --- a/web/pubnub.js +++ b/web/pubnub.js @@ -1,4 +1,4 @@ -/* =-====================================================================-= */ +// Version: 3.4.3\n/* =-====================================================================-= */ /* =-====================================================================-= */ /* =-========================= JSON =============================-= */ /* =-====================================================================-= */ @@ -306,11 +306,11 @@ function generate_channel_list(channels) { } // PUBNUB READY TO CONNECT - function ready() { timeout( function() { - if (READY) return; - READY = 1; - each( READY_BUFFER, function(connect) { connect() } ); - }, SECOND ); } +function ready() { timeout( function() { + if (READY) return; + READY = 1; + each( READY_BUFFER, function(connect) { connect() } ); +}, SECOND ); } function PN_API(setup) { var SUB_WINDOWING = +setup['windowing'] || DEF_WINDOWING @@ -337,8 +337,6 @@ function PN_API(setup) { , db = setup['db'] || {'get': function(){}, 'set': function(){}} , UUID = setup['uuid'] || ( db && db['get'](SUBSCRIBE_KEY+'uuid') || ''); - - function publish(next) { if (next) PUB_QUEUE.sending = 0; if (PUB_QUEUE.sending || !PUB_QUEUE.length) return; @@ -355,14 +353,7 @@ function PN_API(setup) { } // Announce Leave Event - - - var SELF = { - - '_reset_offline' : function() { - SUB_RECEIVER && SUB_RECEIVER(1); - }, - + var SELF = { 'LEAVE' : function( channel, blocking ) { var data = { 'uuid' : UUID } , origin = nextorigin(ORIGIN) @@ -576,6 +567,7 @@ function PN_API(setup) { , disconnect = args['disconnect'] || function(){} , presence = args['presence'] || 0 , noheresync = args['noheresync'] || 0 + , backfill = args['backfill'] || 0 , sub_timeout = args['timeout'] || SUB_TIMEOUT , windowing = args['windowing'] || SUB_WINDOWING , restore = args['restore']; @@ -702,8 +694,14 @@ function PN_API(setup) { SUB_RESTORE && db['get'](SUBSCRIBE_KEY) || messages[1]; + + if (backfill) { + Timetoken = 10000; + backfill = 0; + } + // Update Saved Timetoken - if (TIMETOKEN) db['set']( SUBSCRIBE_KEY, messages[1] ); + db['set']( SUBSCRIBE_KEY, messages[1] ); // Route Channel <---> Callback for Message var next_callback = (function() { @@ -734,7 +732,7 @@ function PN_API(setup) { CONNECT = function() { // Close Previous Subscribe Connection - SELF['_reset_offline'](); + _reset_offline(); // Begin Recursive Subscribe clearTimeout(SUB_BUFF_WAIT); @@ -789,208 +787,33 @@ function PN_API(setup) { 'supplant' : supplant, 'now' : rnow, 'unique' : unique, - 'updater' : updater, - 'poll_online' : function() { - _is_online() || SELF['_reset_offline'](); - timeout( SELF['poll_online'], SECOND ); - }, - 'poll_online2' : function() { - SELF['time'](function(success){ - success || SELF['_reset_offline'](); - timeout( SELF['poll_online2'], KEEPALIVE ); - }) - } + 'updater' : updater }; - if (!UUID) UUID = SELF['uuid'](); - db['set']( SUBSCRIBE_KEY + 'uuid', UUID ); - - timeout( SELF['poll_online'], SECOND ); - timeout( SELF['poll_online2'], KEEPALIVE ); - - return SELF; -} -// 3.4/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= JSON =============================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -(window['JSON'] && window['JSON']['stringify']) || (function () { - window['JSON'] || (window['JSON'] = {}); - - function toJSON(key) { - try { return this.valueOf() } - catch(e) { return null } - } - - var cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, - escapable = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, - gap, - indent, - meta = { // table of character substitutions - '\b': '\\b', - '\t': '\\t', - '\n': '\\n', - '\f': '\\f', - '\r': '\\r', - '"' : '\\"', - '\\': '\\\\' - }, - rep; - - function quote(string) { - escapable.lastIndex = 0; - return escapable.test(string) ? - '"' + string.replace(escapable, function (a) { - var c = meta[a]; - return typeof c === 'string' ? c : - '\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4); - }) + '"' : - '"' + string + '"'; - } - - function str(key, holder) { - var i, // The loop counter. - k, // The member key. - v, // The member value. - length, - partial, - mind = gap, - value = holder[key]; - - if (value && typeof value === 'object') { - value = toJSON.call( value, key ); - } - - if (typeof rep === 'function') { - value = rep.call(holder, key, value); - } - - switch (typeof value) { - case 'string': - return quote(value); - - case 'number': - return isFinite(value) ? String(value) : 'null'; - - case 'boolean': - case 'null': - return String(value); - - case 'object': - - if (!value) { - return 'null'; - } - - gap += indent; - partial = []; - - if (Object.prototype.toString.apply(value) === '[object Array]') { - - length = value.length; - for (i = 0; i < length; i += 1) { - partial[i] = str(i, value) || 'null'; - } - - v = partial.length === 0 ? '[]' : - gap ? '[\n' + gap + - partial.join(',\n' + gap) + '\n' + - mind + ']' : - '[' + partial.join(',') + ']'; - gap = mind; - return v; - } - if (rep && typeof rep === 'object') { - length = rep.length; - for (i = 0; i < length; i += 1) { - k = rep[i]; - if (typeof k === 'string') { - v = str(k, value); - if (v) { - partial.push(quote(k) + (gap ? ': ' : ':') + v); - } - } - } - } else { - for (k in value) { - if (Object.hasOwnProperty.call(value, k)) { - v = str(k, value); - if (v) { - partial.push(quote(k) + (gap ? ': ' : ':') + v); - } - } - } - } - v = partial.length === 0 ? '{}' : - gap ? '{\n' + gap + partial.join(',\n' + gap) + '\n' + - mind + '}' : '{' + partial.join(',') + '}'; - gap = mind; - return v; - } + function _poll_online() { + _is_online() || _reset_offline(); + timeout( _poll_online, SECOND ); } - if (typeof JSON['stringify'] !== 'function') { - JSON['stringify'] = function (value, replacer, space) { - var i; - gap = ''; - indent = ''; - - if (typeof space === 'number') { - for (i = 0; i < space; i += 1) { - indent += ' '; - } - } else if (typeof space === 'string') { - indent = space; - } - rep = replacer; - if (replacer && typeof replacer !== 'function' && - (typeof replacer !== 'object' || - typeof replacer.length !== 'number')) { - throw new Error('JSON.stringify'); - } - return str('', {'': value}); - }; + function _poll_online2() { + SELF['time'](function(success){ + success || _reset_offline(); + timeout( _poll_online2, KEEPALIVE ); + }) } - if (typeof JSON['parse'] !== 'function') { - // JSON is parsed on the server for security. - JSON['parse'] = function (text) {return eval('('+text+')')}; + function _reset_offline() { + SUB_RECEIVER && SUB_RECEIVER(1); } -}()); -/* --------------------------------------------------------------------------- -WAIT! - This file depends on instructions from the PUBNUB Cloud. -http://www.pubnub.com/account-javascript-api-include ---------------------------------------------------------------------------- */ - -/* --------------------------------------------------------------------------- -PubNub Real-time Cloud-Hosted Push API and Push Notification Client Frameworks -Copyright (c) 2011 PubNub Inc. -http://www.pubnub.com/ -http://www.pubnub.com/terms ---------------------------------------------------------------------------- */ -/* --------------------------------------------------------------------------- -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. + if (!UUID) UUID = SELF['uuid'](); + db['set']( SUBSCRIBE_KEY + 'uuid', UUID ); -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. ---------------------------------------------------------------------------- */ + timeout( _poll_online, SECOND ); + timeout( _poll_online2, KEEPALIVE ); + return SELF; +} /* =-====================================================================-= */ /* =-====================================================================-= */ /* =-========================= UTIL =============================-= */ @@ -1359,18 +1182,17 @@ var PDIV = $('pubnub') || 0 setup['db'] = db; setup['_is_online'] = _is_online; setup['jsonp_cb'] = jsonp_cb; - var SELF = PN_API(setup); - - SELF['css'] = css; - SELF['$'] = $; + var SELF = PN_API(setup); + SELF['css'] = css; + SELF['$'] = $; SELF['create'] = create; - SELF['bind'] = bind; - SELF['head'] = head; + SELF['bind'] = bind; + SELF['head'] = head; SELF['search'] = search; - SELF['attr'] = attr; + SELF['attr'] = attr; SELF['events'] = events; - SELF['init'] = CREATE_PUBNUB; + SELF['init'] = CREATE_PUBNUB; // Return without Testing if (setup['notest']) return SELF; @@ -1389,7 +1211,6 @@ var PDIV = $('pubnub') || 0 }; - // Bind for PUBNUB Readiness to Subscribe bind( 'load', window, function(){ timeout( ready, 0 ) } ); @@ -1561,16228 +1382,3 @@ WS.prototype.close = function() { }; })(); -(function(){ - -// --------------------------------------------------------------------------- -// WEBSOCKET INTERFACE -// --------------------------------------------------------------------------- -var WS = PUBNUB['ws'] = function( url, protocols ) { - if (!(this instanceof WS)) return new WS( url, protocols ); - - var self = this - , url = self.url = url || '' - , protocol = self.protocol = protocols || 'Sec-WebSocket-Protocol' - , bits = url.split('/') - , setup = { - 'ssl' : bits[0] === 'wss:' - ,'origin' : bits[2] - ,'publish_key' : bits[3] - ,'subscribe_key' : bits[4] - ,'channel' : bits[5] - }; - - // READY STATES - self['CONNECTING'] = 0; // The connection is not yet open. - self['OPEN'] = 1; // The connection is open and ready to communicate. - self['CLOSING'] = 2; // The connection is in the process of closing. - self['CLOSED'] = 3; // The connection is closed or couldn't be opened. - - // CLOSE STATES - self['CLOSE_NORMAL'] = 1000; // Normal Intended Close; completed. - self['CLOSE_GOING_AWAY'] = 1001; // Closed Unexpecttedly. - self['CLOSE_PROTOCOL_ERROR'] = 1002; // Server: Not Supported. - self['CLOSE_UNSUPPORTED'] = 1003; // Server: Unsupported Protocol. - self['CLOSE_TOO_LARGE'] = 1004; // Server: Too Much Data. - self['CLOSE_NO_STATUS'] = 1005; // Server: No reason. - self['CLOSE_ABNORMAL'] = 1006; // Abnormal Disconnect. - - // Events Default - self['onclose'] = self['onerror'] = - self['onmessage'] = self['onopen'] = - self['onsend'] = function(){}; - - // Attributes - self['binaryType'] = ''; - self['extensions'] = ''; - self['bufferedAmount'] = 0; - self['trasnmitting'] = false; - self['buffer'] = []; - self['readyState'] = self['CONNECTING']; - - // Close if no setup. - if (!url) { - self['readyState'] = self['CLOSED']; - self['onclose']({ - 'code' : self['CLOSE_ABNORMAL'], - 'reason' : 'Missing URL', - 'wasClean' : true - }); - return self; - } - - // PubNub WebSocket Emulation - self.pubnub = PUBNUB['init'](setup); - self.pubnub.setup = setup; - self.setup = setup; - - self.pubnub['subscribe']({ - 'restore' : false, - 'channel' : setup['channel'], - 'disconnect' : self['onerror'], - 'reconnect' : self['onopen'], - 'error' : function() { - self['onclose']({ - 'code' : self['CLOSE_ABNORMAL'], - 'reason' : 'Missing URL', - 'wasClean' : false - }); - }, - 'callback' : function(message) { - self['onmessage']({ 'data' : message }); - }, - 'connect' : function() { - self['readyState'] = self['OPEN']; - self['onopen'](); - } - }); -}; - -// --------------------------------------------------------------------------- -// WEBSOCKET SEND -// --------------------------------------------------------------------------- -WS.prototype.send = function(data) { - var self = this; - self.pubnub['publish']({ - 'channel' : self.pubnub.setup['channel'], - 'message' : data, - 'callback' : function(response) { - self['onsend']({ 'data' : response }); - } - }); -}; - -// --------------------------------------------------------------------------- -// WEBSOCKET CLOSE -// --------------------------------------------------------------------------- -WS.prototype.close = function() { - var self = this; - self.pubnub['unsubscribe']({ 'channel' : self.pubnub.setup['channel'] }); - self['readyState'] = self['CLOSED']; - self['onclose']({}); -}; - -})(); -/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= JSON =============================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -(window['JSON'] && window['JSON']['stringify']) || (function () { - window['JSON'] || (window['JSON'] = {}); - - function toJSON(key) { - try { return this.valueOf() } - catch(e) { return null } - } - - var cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, - escapable = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, - gap, - indent, - meta = { // table of character substitutions - '\b': '\\b', - '\t': '\\t', - '\n': '\\n', - '\f': '\\f', - '\r': '\\r', - '"' : '\\"', - '\\': '\\\\' - }, - rep; - - function quote(string) { - escapable.lastIndex = 0; - return escapable.test(string) ? - '"' + string.replace(escapable, function (a) { - var c = meta[a]; - return typeof c === 'string' ? c : - '\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4); - }) + '"' : - '"' + string + '"'; - } - - function str(key, holder) { - var i, // The loop counter. - k, // The member key. - v, // The member value. - length, - partial, - mind = gap, - value = holder[key]; - - if (value && typeof value === 'object') { - value = toJSON.call( value, key ); - } - - if (typeof rep === 'function') { - value = rep.call(holder, key, value); - } - - switch (typeof value) { - case 'string': - return quote(value); - - case 'number': - return isFinite(value) ? String(value) : 'null'; - - case 'boolean': - case 'null': - return String(value); - - case 'object': - - if (!value) { - return 'null'; - } - - gap += indent; - partial = []; - - if (Object.prototype.toString.apply(value) === '[object Array]') { - - length = value.length; - for (i = 0; i < length; i += 1) { - partial[i] = str(i, value) || 'null'; - } - - v = partial.length === 0 ? '[]' : - gap ? '[\n' + gap + - partial.join(',\n' + gap) + '\n' + - mind + ']' : - '[' + partial.join(',') + ']'; - gap = mind; - return v; - } - if (rep && typeof rep === 'object') { - length = rep.length; - for (i = 0; i < length; i += 1) { - k = rep[i]; - if (typeof k === 'string') { - v = str(k, value); - if (v) { - partial.push(quote(k) + (gap ? ': ' : ':') + v); - } - } - } - } else { - for (k in value) { - if (Object.hasOwnProperty.call(value, k)) { - v = str(k, value); - if (v) { - partial.push(quote(k) + (gap ? ': ' : ':') + v); - } - } - } - } - - v = partial.length === 0 ? '{}' : - gap ? '{\n' + gap + partial.join(',\n' + gap) + '\n' + - mind + '}' : '{' + partial.join(',') + '}'; - gap = mind; - return v; - } - } - - if (typeof JSON['stringify'] !== 'function') { - JSON['stringify'] = function (value, replacer, space) { - var i; - gap = ''; - indent = ''; - - if (typeof space === 'number') { - for (i = 0; i < space; i += 1) { - indent += ' '; - } - } else if (typeof space === 'string') { - indent = space; - } - rep = replacer; - if (replacer && typeof replacer !== 'function' && - (typeof replacer !== 'object' || - typeof replacer.length !== 'number')) { - throw new Error('JSON.stringify'); - } - return str('', {'': value}); - }; - } - - if (typeof JSON['parse'] !== 'function') { - // JSON is parsed on the server for security. - JSON['parse'] = function (text) {return eval('('+text+')')}; - } -}()); -var NOW = 1 -, READY = false -, READY_BUFFER = [] -, PRESENCE_SUFFIX = '-pnpres' -, DEF_WINDOWING = 10 // MILLISECONDS. -, DEF_TIMEOUT = 10000 // MILLISECONDS. -, DEF_SUB_TIMEOUT = 310 // SECONDS. -, DEF_KEEPALIVE = 60 // SECONDS. -, SECOND = 1000 // A THOUSAND MILLISECONDS. -, REPL = /{([\w\-]+)}/g; - -/** - * UTILITIES - */ -function unique() { return'x'+ ++NOW+''+(+new Date) } -function rnow() { return+new Date } - -/** - * NEXTORIGIN - * ========== - * var next_origin = nextorigin(); - */ -var nextorigin = (function() { - var max = 20 - , ori = Math.floor(Math.random() * max); - return function( origin, failover ) { - return origin.indexOf('pubsub.') > 0 - && origin.replace( - 'pubsub', 'ps' + ( - failover ? uuid().split('-')[0] : - (++ori < max? ori : ori=1) - ) ) || origin; - } -})(); - -/** - * UPDATER - * ======= - * var timestamp = unique(); - */ -function updater( fun, rate ) { - var timeout - , last = 0 - , runnit = function() { - if (last + rate > rnow()) { - clearTimeout(timeout); - timeout = setTimeout( runnit, rate ); - } - else { - last = rnow(); - fun(); - } - }; - - return runnit; -} - -/** - * GREP - * ==== - * var list = grep( [1,2,3], function(item) { return item % 2 } ) - */ -function grep( list, fun ) { - var fin = []; - each( list || [], function(l) { fun(l) && fin.push(l) } ); - return fin -} - -/** - * SUPPLANT - * ======== - * var text = supplant( 'Hello {name}!', { name : 'John' } ) - */ -function supplant( str, values ) { - return str.replace( REPL, function( _, match ) { - return values[match] || _ - } ); -} - -/** - * timeout - * ======= - * timeout( function(){}, 100 ); - */ -function timeout( fun, wait ) { - return setTimeout( fun, wait ); -} - -/** - * uuid - * ==== - * var my_uuid = uuid(); - */ -function uuid(callback) { - var u = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, - function(c) { - var r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8); - return v.toString(16); - }); - if (callback) callback(u); - return u; -} - -/** - * EACH - * ==== - * each( [1,2,3], function(item) { } ) - */ -function each( o, f ) { - if ( !o || !f ) return; - - if ( typeof o[0] != 'undefined' ) - for ( var i = 0, l = o.length; i < l; ) - f.call( o[i], o[i], i++ ); - else - for ( var i in o ) - o.hasOwnProperty && - o.hasOwnProperty(i) && - f.call( o[i], i, o[i] ); -} - -/** - * MAP - * === - * var list = map( [1,2,3], function(item) { return item + 1 } ) - */ -function map( list, fun ) { - var fin = []; - each( list || [], function( k, v ) { fin.push(fun( k, v )) } ); - return fin; -} - -/** - * ENCODE - * ====== - * var encoded_path = encode('path'); - */ -function encode(path) { - return map( (encodeURIComponent(path)).split(''), function(chr) { - return "-_.!~*'()".indexOf(chr) < 0 ? chr : - "%"+chr.charCodeAt(0).toString(16).toUpperCase() - } ).join(''); -} - -/** - * Generate Subscription Channel List - * ================================== - * generate_channel_list(channels_object); - */ -function generate_channel_list(channels) { - var list = []; - each( channels, function( channel, status ) { - if (status.subscribed) list.push(channel); - } ); - return list.sort(); -} - -// PUBNUB READY TO CONNECT - function ready() { timeout( function() { - if (READY) return; - READY = 1; - each( READY_BUFFER, function(connect) { connect() } ); - }, SECOND ); } - -function PN_API(setup) { - var SUB_WINDOWING = +setup['windowing'] || DEF_WINDOWING - , SUB_TIMEOUT = (+setup['timeout'] || DEF_SUB_TIMEOUT) * SECOND - , KEEPALIVE = (+setup['keepalive'] || DEF_KEEPALIVE) * SECOND - , PUBLISH_KEY = setup['publish_key'] || '' - , SUBSCRIBE_KEY = setup['subscribe_key'] || '' - , SSL = setup['ssl'] ? 's' : '' - , ORIGIN = 'http'+SSL+'://'+(setup['origin']||'pubsub.pubnub.com') - , STD_ORIGIN = nextorigin(ORIGIN) - , SUB_ORIGIN = nextorigin(ORIGIN) - , CONNECT = function(){} - , PUB_QUEUE = [] - , SUB_CALLBACK = 0 - , SUB_CHANNEL = 0 - , SUB_RECEIVER = 0 - , SUB_RESTORE = 0 - , SUB_BUFF_WAIT = 0 - , TIMETOKEN = 0 - , CHANNELS = {} - , xdr = setup['xdr'] - , _is_online = setup['_is_online'] || function() { return 1; } - , jsonp_cb = setup['jsonp_cb'] || function(){ return 0; } - , db = setup['db'] || {'get': function(){}, 'set': function(){}} - , UUID = setup['uuid'] || ( db && db['get'](SUBSCRIBE_KEY+'uuid') || ''); - - - - function publish(next) { - if (next) PUB_QUEUE.sending = 0; - if (PUB_QUEUE.sending || !PUB_QUEUE.length) return; - PUB_QUEUE.sending = 1; - xdr(PUB_QUEUE.shift()); - } - - function each_channel(callback) { - each( generate_channel_list(CHANNELS), function(channel) { - var chan = CHANNELS[channel]; - if (!chan) return; - callback(chan); - } ); - } - - // Announce Leave Event - - - var SELF = { - - '_reset_offline' : function() { - SUB_RECEIVER && SUB_RECEIVER(1); - }, - - 'LEAVE' : function( channel, blocking ) { - var data = { 'uuid' : UUID } - , origin = nextorigin(ORIGIN) - , jsonp = jsonp_cb(); - - // Prevent Leaving a Presence Channel - if (channel.indexOf(PRESENCE_SUFFIX) > 0) return; - - if (jsonp != '0') data['callback'] = jsonp; - - xdr({ - blocking : blocking || SSL, - timeout : 2000, - callback : jsonp, - data : data, - url : [ - origin, 'v2', 'presence', 'sub_key', - SUBSCRIBE_KEY, 'channel', encode(channel), 'leave' - ] - }); - }, - /* - PUBNUB.history({ - channel : 'my_chat_channel', - limit : 100, - callback : function(history) { } - }); - */ - 'history' : function( args, callback ) { - var callback = args['callback'] || callback - , count = args['count'] || args['limit'] || 100 - , reverse = args['reverse'] || "false" - , err = args['error'] || function(){} - , channel = args['channel'] - , start = args['start'] - , end = args['end'] - , params = {} - , jsonp = jsonp_cb(); - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - params['stringtoken'] = 'true'; - params['count'] = count; - params['reverse'] = reverse; - - if (jsonp) params['callback'] = jsonp; - if (start) params['start'] = start; - if (end) params['end'] = end; - - // Send Message - xdr({ - callback : jsonp, - data : params, - success : function(response) { callback(response) }, - fail : err, - url : [ - STD_ORIGIN, 'v2', 'history', 'sub-key', - SUBSCRIBE_KEY, 'channel', encode(channel) - ] - }); - }, - - /* - PUBNUB.replay({ - source : 'my_channel', - destination : 'new_channel' - }); - */ - 'replay' : function(args) { - var callback = callback || args['callback'] || function(){} - , source = args['source'] - , destination = args['destination'] - , stop = args['stop'] - , start = args['start'] - , end = args['end'] - , reverse = args['reverse'] - , limit = args['limit'] - , jsonp = jsonp_cb() - , data = {} - , url; - - // Check User Input - if (!source) return error('Missing Source Channel'); - if (!destination) return error('Missing Destination Channel'); - if (!PUBLISH_KEY) return error('Missing Publish Key'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // Setup URL Params - if (jsonp != '0') data['callback'] = jsonp; - if (stop) data['stop'] = 'all'; - if (reverse) data['reverse'] = 'true'; - if (start) data['start'] = start; - if (end) data['end'] = end; - if (limit) data['count'] = limit; - - // Compose URL Parts - url = [ - STD_ORIGIN, 'v1', 'replay', - PUBLISH_KEY, SUBSCRIBE_KEY, - source, destination - ]; - - // Start (or Stop) Replay! - xdr({ - callback : jsonp, - success : function(response) { callback(response) }, - fail : function() { callback([ 0, 'Disconnected' ]) }, - url : url, - data : data - }); - }, - - /* - PUBNUB.time(function(time){ }); - */ - 'time' : function(callback) { - var jsonp = jsonp_cb(); - xdr({ - callback : jsonp, - timeout : SECOND*5, - url : [STD_ORIGIN, 'time', jsonp], - success : function(response) { callback(response[0]) }, - fail : function() { callback(0) } - }); - }, - - /* - PUBNUB.publish({ - channel : 'my_chat_channel', - message : 'hello!' - }); - */ - 'publish' : function( args, callback ) { - var callback = callback || args['callback'] || function(){} - , msg = args['message'] - , channel = args['channel'] - , jsonp = jsonp_cb() - , url; - - if (!msg) return error('Missing Message'); - if (!channel) return error('Missing Channel'); - if (!PUBLISH_KEY) return error('Missing Publish Key'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // If trying to send Object - msg = JSON['stringify'](msg); - - // Create URL - url = [ - STD_ORIGIN, 'publish', - PUBLISH_KEY, SUBSCRIBE_KEY, - 0, encode(channel), - jsonp, encode(msg) - ]; - - // Queue Message Send - PUB_QUEUE.push({ - callback : jsonp, - timeout : SECOND*5, - url : url, - data : { 'uuid' : UUID }, - success : function(response){callback(response);publish(1)}, - fail : function(){callback([0,'Failed',msg]);publish(1)} - }); - - // Send Message - publish(); - }, - - /* - PUBNUB.unsubscribe({ channel : 'my_chat' }); - */ - 'unsubscribe' : function(args) { - var channel = args['channel']; - - TIMETOKEN = 0; - SUB_RESTORE = 1; - - // Prepare Channel(s) - channel = map( ( - channel.join ? channel.join(',') : ''+channel - ).split(','), function(channel) { - return channel + ',' + channel + PRESENCE_SUFFIX; - } ).join(','); - - // Iterate over Channels - each( channel.split(','), function(channel) { - if (READY) SELF['LEAVE']( channel, 0 ); - CHANNELS[channel] = 0; - } ); - - // ReOpen Connection if Any Channels Left - if (READY) CONNECT(); - }, - - /* - PUBNUB.subscribe({ - channel : 'my_chat' - callback : function(message) { } - }); - */ - 'subscribe' : function( args, callback ) { - var channel = args['channel'] - , callback = callback || args['callback'] - , callback = callback || args['message'] - , connect = args['connect'] || function(){} - , reconnect = args['reconnect'] || function(){} - , disconnect = args['disconnect'] || function(){} - , presence = args['presence'] || 0 - , noheresync = args['noheresync'] || 0 - , sub_timeout = args['timeout'] || SUB_TIMEOUT - , windowing = args['windowing'] || SUB_WINDOWING - , restore = args['restore']; - - // Restore Enabled? - if (restore) SUB_RESTORE = 1; - - TIMETOKEN = 0; - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // Setup Channel(s) - each( (channel.join ? channel.join(',') : ''+channel).split(','), - function(channel) { - var settings = CHANNELS[channel] || {}; - - // Store Channel State - CHANNELS[SUB_CHANNEL = channel] = { - name : channel, - connected : settings.connected, - disconnected : settings.disconnected, - subscribed : 1, - callback : SUB_CALLBACK = callback, - connect : connect, - disconnect : disconnect, - reconnect : reconnect - }; - - // Presence Enabled? - if (!presence) return; - - // Subscribe Presence Channel - SELF['subscribe']({ - 'channel' : channel + PRESENCE_SUFFIX, - 'callback' : presence - }); - - // Presence Subscribed? - if (settings.subscribed) return; - - // See Who's Here Now? - if (noheresync) return; - SELF['here_now']({ - 'channel' : channel, - 'callback' : function(here) { - each( 'uuids' in here ? here['uuids'] : [], - function(uid) { presence( { - 'action' : 'join', - 'uuid' : uid, - 'timestamp' : rnow(), - 'occupancy' : here['occupancy'] || 1 - }, here, channel ); } ); - } - }); - } ); - - // Test Network Connection - function _test_connection(success) { - if (success) { - // Begin Next Socket Connection - timeout( _connect, SECOND ); - } - else { - // New Origin on Failed Connection - STD_ORIGIN = nextorigin( ORIGIN, 1 ); - SUB_ORIGIN = nextorigin( ORIGIN, 1 ); - - // Re-test Connection - timeout( function() { - SELF['time'](_test_connection); - }, SECOND ); - } - - // Disconnect & Reconnect - each_channel(function(channel){ - // Reconnect - if (success && channel.disconnected) { - channel.disconnected = 0; - return channel.reconnect(channel.name); - } - - // Disconnect - if (!success && !channel.disconnected) { - channel.disconnected = 1; - channel.disconnect(channel.name); - } - }); - } - - // Evented Subscribe - function _connect() { - var jsonp = jsonp_cb() - , channels = generate_channel_list(CHANNELS).join(','); - - // Stop Connection - if (!channels) return; - - // Connect to PubNub Subscribe Servers - SUB_RECEIVER = xdr({ - timeout : sub_timeout, - callback : jsonp, - fail : function() { SELF['time'](_test_connection) }, - data : { 'uuid' : UUID }, - url : [ - SUB_ORIGIN, 'subscribe', - SUBSCRIBE_KEY, encode(channels), - jsonp, TIMETOKEN - ], - success : function(messages) { - if (!messages) return timeout( _connect, windowing ); - - // Connect - each_channel(function(channel){ - if (channel.connected) return; - channel.connected = 1; - channel.connect(channel.name); - }); - - // Restore Previous Connection Point if Needed - TIMETOKEN = !TIMETOKEN && - SUB_RESTORE && - db['get'](SUBSCRIBE_KEY) || messages[1]; - - // Update Saved Timetoken - if (TIMETOKEN) db['set']( SUBSCRIBE_KEY, messages[1] ); - - // Route Channel <---> Callback for Message - var next_callback = (function() { - var channels = (messages.length>2?messages[2]:'') - , list = channels.split(','); - - return function() { - var channel = list.shift()||''; - return [ - (CHANNELS[channel]||{}) - .callback||SUB_CALLBACK, - (channel||SUB_CHANNEL) - .split(PRESENCE_SUFFIX)[0] - ]; - }; - })(); - - each( messages[0], function(msg) { - var next = next_callback(); - if (!CHANNELS[next[1]].subscribed) return; - next[0]( msg, messages, next[1] ); - } ); - - timeout( _connect, windowing ); - } - }); - } - - CONNECT = function() { - // Close Previous Subscribe Connection - SELF['_reset_offline'](); - - // Begin Recursive Subscribe - clearTimeout(SUB_BUFF_WAIT); - SUB_BUFF_WAIT = timeout( _connect, 100 ); - }; - - // Reduce Status Flicker - if (!READY) return READY_BUFFER.push(CONNECT); - - // Connect Now - CONNECT(); - }, - - 'here_now' : function( args, callback ) { - var callback = args['callback'] || callback - , err = args['error'] || function(){} - , channel = args['channel'] - , jsonp = jsonp_cb() - , data = null; - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - if (jsonp != '0') { - data = {}; - data['callback'] = jsonp; - } - - xdr({ - callback : jsonp, - data : data, - success : function(response) { callback(response) }, - fail : err, - url : [ - STD_ORIGIN, 'v2', 'presence', - 'sub_key', SUBSCRIBE_KEY, - 'channel', encode(channel) - ] - }); - }, - - // Expose PUBNUB Functions - 'xdr' : xdr, - 'ready' : ready, - 'db' : db, - 'uuid' : uuid, - 'each' : each, - 'map' : map, - 'grep' : grep, - 'supplant' : supplant, - 'now' : rnow, - 'unique' : unique, - 'updater' : updater, - 'poll_online' : function() { - _is_online() || SELF['_reset_offline'](); - timeout( SELF['poll_online'], SECOND ); - }, - 'poll_online2' : function() { - SELF['time'](function(success){ - success || SELF['_reset_offline'](); - timeout( SELF['poll_online2'], KEEPALIVE ); - }) - } - }; - if (!UUID) UUID = SELF['uuid'](); - db['set']( SUBSCRIBE_KEY + 'uuid', UUID ); - - timeout( SELF['poll_online'], SECOND ); - timeout( SELF['poll_online2'], KEEPALIVE ); - - return SELF; -} -// 3.4/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= JSON =============================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -(window['JSON'] && window['JSON']['stringify']) || (function () { - window['JSON'] || (window['JSON'] = {}); - - function toJSON(key) { - try { return this.valueOf() } - catch(e) { return null } - } - - var cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, - escapable = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, - gap, - indent, - meta = { // table of character substitutions - '\b': '\\b', - '\t': '\\t', - '\n': '\\n', - '\f': '\\f', - '\r': '\\r', - '"' : '\\"', - '\\': '\\\\' - }, - rep; - - function quote(string) { - escapable.lastIndex = 0; - return escapable.test(string) ? - '"' + string.replace(escapable, function (a) { - var c = meta[a]; - return typeof c === 'string' ? c : - '\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4); - }) + '"' : - '"' + string + '"'; - } - - function str(key, holder) { - var i, // The loop counter. - k, // The member key. - v, // The member value. - length, - partial, - mind = gap, - value = holder[key]; - - if (value && typeof value === 'object') { - value = toJSON.call( value, key ); - } - - if (typeof rep === 'function') { - value = rep.call(holder, key, value); - } - - switch (typeof value) { - case 'string': - return quote(value); - - case 'number': - return isFinite(value) ? String(value) : 'null'; - - case 'boolean': - case 'null': - return String(value); - - case 'object': - - if (!value) { - return 'null'; - } - - gap += indent; - partial = []; - - if (Object.prototype.toString.apply(value) === '[object Array]') { - - length = value.length; - for (i = 0; i < length; i += 1) { - partial[i] = str(i, value) || 'null'; - } - - v = partial.length === 0 ? '[]' : - gap ? '[\n' + gap + - partial.join(',\n' + gap) + '\n' + - mind + ']' : - '[' + partial.join(',') + ']'; - gap = mind; - return v; - } - if (rep && typeof rep === 'object') { - length = rep.length; - for (i = 0; i < length; i += 1) { - k = rep[i]; - if (typeof k === 'string') { - v = str(k, value); - if (v) { - partial.push(quote(k) + (gap ? ': ' : ':') + v); - } - } - } - } else { - for (k in value) { - if (Object.hasOwnProperty.call(value, k)) { - v = str(k, value); - if (v) { - partial.push(quote(k) + (gap ? ': ' : ':') + v); - } - } - } - } - - v = partial.length === 0 ? '{}' : - gap ? '{\n' + gap + partial.join(',\n' + gap) + '\n' + - mind + '}' : '{' + partial.join(',') + '}'; - gap = mind; - return v; - } - } - - if (typeof JSON['stringify'] !== 'function') { - JSON['stringify'] = function (value, replacer, space) { - var i; - gap = ''; - indent = ''; - - if (typeof space === 'number') { - for (i = 0; i < space; i += 1) { - indent += ' '; - } - } else if (typeof space === 'string') { - indent = space; - } - rep = replacer; - if (replacer && typeof replacer !== 'function' && - (typeof replacer !== 'object' || - typeof replacer.length !== 'number')) { - throw new Error('JSON.stringify'); - } - return str('', {'': value}); - }; - } - - if (typeof JSON['parse'] !== 'function') { - // JSON is parsed on the server for security. - JSON['parse'] = function (text) {return eval('('+text+')')}; - } -}()); -/* --------------------------------------------------------------------------- -WAIT! - This file depends on instructions from the PUBNUB Cloud. -http://www.pubnub.com/account-javascript-api-include ---------------------------------------------------------------------------- */ - -/* --------------------------------------------------------------------------- -PubNub Real-time Cloud-Hosted Push API and Push Notification Client Frameworks -Copyright (c) 2011 PubNub Inc. -http://www.pubnub.com/ -http://www.pubnub.com/terms ---------------------------------------------------------------------------- */ - -/* --------------------------------------------------------------------------- -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. ---------------------------------------------------------------------------- */ - -/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= UTIL =============================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -window['PUBNUB'] || (function() { - -/** - * UTIL LOCALS - */ - -var SWF = 'https://pubnub.a.ssl.fastly.net/pubnub.swf' -, ASYNC = 'async' -, URLBIT = '/' -, PARAMSBIT = '&' -, UA = navigator.userAgent -, XORIGN = UA.indexOf('MSIE 6') == -1; - -/** - * CONSOLE COMPATIBILITY - */ -window.console || (window.console=window.console||{}); -console.log || ( - console.log = - console.error = - ((window.opera||{}).postError||function(){}) -); - - - -/** - * LOCAL STORAGE OR COOKIE - */ -var db = (function(){ - var ls = window['localStorage']; - return { - 'get' : function(key) { - try { - if (ls) return ls.getItem(key); - if (document.cookie.indexOf(key) == -1) return null; - return ((document.cookie||'').match( - RegExp(key+'=([^;]+)') - )||[])[1] || null; - } catch(e) { return } - }, - 'set' : function( key, value ) { - try { - if (ls) return ls.setItem( key, value ) && 0; - document.cookie = key + '=' + value + - '; expires=Thu, 1 Aug 2030 20:00:00 UTC; path=/'; - } catch(e) { return } - } - }; -})(); - - -/** - * $ - * = - * var div = $('divid'); - */ -function $(id) { return document.getElementById(id) } - -/** - * ERROR - * ===== - * error('message'); - */ -function error(message) { console['error'](message) } - -/** - * SEARCH - * ====== - * var elements = search('a div span'); - */ -function search( elements, start ) { - var list = []; - each( elements.split(/\s+/), function(el) { - each( (start || document).getElementsByTagName(el), function(node) { - list.push(node); - } ); - } ); - return list; -} - - - -/** - * BIND - * ==== - * bind( 'keydown', search('a')[0], function(element) { - * ... - * } ); - */ -function bind( type, el, fun ) { - each( type.split(','), function(etype) { - var rapfun = function(e) { - if (!e) e = window.event; - if (!fun(e)) { - e.cancelBubble = true; - e.returnValue = false; - e.preventDefault && e.preventDefault(); - e.stopPropagation && e.stopPropagation(); - } - }; - - if ( el.addEventListener ) el.addEventListener( etype, rapfun, false ); - else if ( el.attachEvent ) el.attachEvent( 'on' + etype, rapfun ); - else el[ 'on' + etype ] = rapfun; - } ); -} - -/** - * UNBIND - * ====== - * unbind( 'keydown', search('a')[0] ); - */ -function unbind( type, el, fun ) { - if ( el.removeEventListener ) el.removeEventListener( type, false ); - else if ( el.detachEvent ) el.detachEvent( 'on' + type, false ); - else el[ 'on' + type ] = null; -} - -/** - * HEAD - * ==== - * head().appendChild(elm); - */ -function head() { return search('head')[0] } - -/** - * ATTR - * ==== - * var attribute = attr( node, 'attribute' ); - */ -function attr( node, attribute, value ) { - if (value) node.setAttribute( attribute, value ); - else return node && node.getAttribute && node.getAttribute(attribute); -} - -/** - * CSS - * === - * var obj = create('div'); - */ -function css( element, styles ) { - for (var style in styles) if (styles.hasOwnProperty(style)) - try {element.style[style] = styles[style] + ( - '|width|height|top|left|'.indexOf(style) > 0 && - typeof styles[style] == 'number' - ? 'px' : '' - )}catch(e){} -} - -/** - * CREATE - * ====== - * var obj = create('div'); - */ -function create(element) { return document.createElement(element) } - - -/** - * jsonp_cb - * ======== - * var callback = jsonp_cb(); - */ -function jsonp_cb() { return XORIGN || FDomainRequest() ? 0 : unique() } - - - -/** - * EVENTS - * ====== - * PUBNUB.events.bind( 'you-stepped-on-flower', function(message) { - * // Do Stuff with message - * } ); - * - * PUBNUB.events.fire( 'you-stepped-on-flower', "message-data" ); - * PUBNUB.events.fire( 'you-stepped-on-flower', {message:"data"} ); - * PUBNUB.events.fire( 'you-stepped-on-flower', [1,2,3] ); - * - */ -var events = { - 'list' : {}, - 'unbind' : function( name ) { events.list[name] = [] }, - 'bind' : function( name, fun ) { - (events.list[name] = events.list[name] || []).push(fun); - }, - 'fire' : function( name, data ) { - each( - events.list[name] || [], - function(fun) { fun(data) } - ); - } -}; - -/** - * XDR Cross Domain Request - * ======================== - * xdr({ - * url : ['http://www.blah.com/url'], - * success : function(response) {}, - * fail : function() {} - * }); - */ -function xdr( setup ) { - if (XORIGN || FDomainRequest()) return ajax(setup); - - var script = create('script') - , callback = setup.callback - , id = unique() - , finished = 0 - , xhrtme = setup.timeout || DEF_TIMEOUT - , timer = timeout( function(){done(1)}, xhrtme ) - , fail = setup.fail || function(){} - , success = setup.success || function(){} - - , append = function() { - head().appendChild(script); - } - - , done = function( failed, response ) { - if (finished) return; - finished = 1; - - failed || success(response); - script.onerror = null; - clearTimeout(timer); - - timeout( function() { - failed && fail(); - var s = $(id) - , p = s && s.parentNode; - p && p.removeChild(s); - }, SECOND ); - }; - - window[callback] = function(response) { - done( 0, response ); - }; - - if (!setup.blocking) script[ASYNC] = ASYNC; - - script.onerror = function() { done(1) }; - script.src = setup.url.join(URLBIT); - - if (setup.data) { - var params = []; - script.src += "?"; - for (var key in setup.data) { - params.push(key+"="+setup.data[key]); - } - script.src += params.join(PARAMSBIT); - } - attr( script, 'id', id ); - - append(); - return done; -} - -/** - * CORS XHR Request - * ================ - * xdr({ - * url : ['http://www.blah.com/url'], - * success : function(response) {}, - * fail : function() {} - * }); - */ -function ajax( setup ) { - var xhr, response - , finished = function() { - if (loaded) return; - loaded = 1; - - clearTimeout(timer); - - try { response = JSON['parse'](xhr.responseText); } - catch (r) { return done(1); } - - success(response); - } - , complete = 0 - , loaded = 0 - , xhrtme = setup.timeout || DEF_TIMEOUT - , timer = timeout( function(){done(1)}, xhrtme ) - , fail = setup.fail || function(){} - , success = setup.success || function(){} - , done = function(failed) { - if (complete) return; - complete = 1; - - clearTimeout(timer); - - if (xhr) { - xhr.onerror = xhr.onload = null; - xhr.abort && xhr.abort(); - xhr = null; - } - - failed && fail(); - }; - - // Send - try { - xhr = FDomainRequest() || - window.XDomainRequest && - new XDomainRequest() || - new XMLHttpRequest(); - - xhr.onerror = xhr.onabort = function(){ done(1) }; - xhr.onload = xhr.onloadend = finished; - xhr.timeout = xhrtme; - - var url = setup.url.join(URLBIT); - if (setup.data) { - var params = []; - var key; - console.log(setup.data); - url += "?"; - for (key in setup.data) params.push(key+"="+setup.data[key]); - url += params.join(PARAMSBIT); - } - - xhr.open( 'GET', url, (typeof(setup.blocking === 'undefined')) ); - xhr.send(); - } - catch(eee) { - done(0); - XORIGN = 0; - return xdr(setup); - } - - // Return 'done' - return done; -} - - - - // Test Connection State -function _is_online() { - if (!('onLine' in navigator)) return 1; - return navigator['onLine']; -} - - -/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= PUBNUB ===========================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -var PDIV = $('pubnub') || 0 -, CREATE_PUBNUB = function(setup) { - - // Force JSONP if requested from user. - if (setup['jsonp']) XORIGN = 0; - - var SUBSCRIBE_KEY = setup['subscribe_key'] || '' - , KEEPALIVE = (+setup['keepalive'] || DEF_KEEPALIVE) * SECOND - , UUID = setup['uuid'] || db['get'](SUBSCRIBE_KEY+'uuid') || ''; - - setup['xdr'] = xdr; - setup['db'] = db; - setup['_is_online'] = _is_online; - setup['jsonp_cb'] = jsonp_cb; - var SELF = PN_API(setup); - - - SELF['css'] = css; - SELF['$'] = $; - SELF['create'] = create; - SELF['bind'] = bind; - SELF['head'] = head; - SELF['search'] = search; - SELF['attr'] = attr; - SELF['events'] = events; - SELF['init'] = CREATE_PUBNUB; - - // Return without Testing - if (setup['notest']) return SELF; - - // Add Leave Functions - bind( 'beforeunload', window, function() { - each_channel(function(ch){ SELF['LEAVE']( ch.name, 1 ) }); - return true; - } ); - - bind( 'offline', window, SELF['_reset_offline'] ); - bind( 'offline', document, SELF['_reset_offline'] ); - - // Return PUBNUB Socket Object - return SELF; -}; - - - -// Bind for PUBNUB Readiness to Subscribe -bind( 'load', window, function(){ timeout( ready, 0 ) } ); - -var pdiv = PDIV || {}; - -// CREATE A PUBNUB GLOBAL OBJECT -PUBNUB = CREATE_PUBNUB({ - 'notest' : 1, - 'publish_key' : attr( pdiv, 'pub-key' ), - 'subscribe_key' : attr( pdiv, 'sub-key' ), - 'ssl' : !document.location.href.indexOf('https') || - attr( pdiv, 'ssl' ) == 'on', - 'origin' : attr( pdiv, 'origin' ), - 'uuid' : attr( pdiv, 'uuid' ) -}); - -// jQuery Interface -window['jQuery'] && (window['jQuery']['PUBNUB'] = PUBNUB); - -// For Modern JS + Testling.js - http://testling.com/ -typeof(module) !== 'undefined' && (module['exports'] = PUBNUB) && ready(); - -var pubnubs = $('pubnubs') || 0; - -// LEAVE NOW IF NO PDIV. -if (!PDIV) return; - -// PUBNUB Flash Socket -css( PDIV, { 'position' : 'absolute', 'top' : -SECOND } ); - -if ('opera' in window || attr( PDIV, 'flash' )) PDIV['innerHTML'] = - ''; - -// Create Interface for Opera Flash -PUBNUB['rdx'] = function( id, data ) { - if (!data) return FDomainRequest[id]['onerror'](); - FDomainRequest[id]['responseText'] = unescape(data); - FDomainRequest[id]['onload'](); -}; - -function FDomainRequest() { - if (!pubnubs || !pubnubs['get']) return 0; - - var fdomainrequest = { - 'id' : FDomainRequest['id']++, - 'send' : function() {}, - 'abort' : function() { fdomainrequest['id'] = {} }, - 'open' : function( method, url ) { - FDomainRequest[fdomainrequest['id']] = fdomainrequest; - pubnubs['get']( fdomainrequest['id'], url ); - } - }; - - return fdomainrequest; -} -FDomainRequest['id'] = SECOND; - -})(); -(function(){ - -// --------------------------------------------------------------------------- -// WEBSOCKET INTERFACE -// --------------------------------------------------------------------------- -var WS = PUBNUB['ws'] = function( url, protocols ) { - if (!(this instanceof WS)) return new WS( url, protocols ); - - var self = this - , url = self.url = url || '' - , protocol = self.protocol = protocols || 'Sec-WebSocket-Protocol' - , bits = url.split('/') - , setup = { - 'ssl' : bits[0] === 'wss:' - ,'origin' : bits[2] - ,'publish_key' : bits[3] - ,'subscribe_key' : bits[4] - ,'channel' : bits[5] - }; - - // READY STATES - self['CONNECTING'] = 0; // The connection is not yet open. - self['OPEN'] = 1; // The connection is open and ready to communicate. - self['CLOSING'] = 2; // The connection is in the process of closing. - self['CLOSED'] = 3; // The connection is closed or couldn't be opened. - - // CLOSE STATES - self['CLOSE_NORMAL'] = 1000; // Normal Intended Close; completed. - self['CLOSE_GOING_AWAY'] = 1001; // Closed Unexpecttedly. - self['CLOSE_PROTOCOL_ERROR'] = 1002; // Server: Not Supported. - self['CLOSE_UNSUPPORTED'] = 1003; // Server: Unsupported Protocol. - self['CLOSE_TOO_LARGE'] = 1004; // Server: Too Much Data. - self['CLOSE_NO_STATUS'] = 1005; // Server: No reason. - self['CLOSE_ABNORMAL'] = 1006; // Abnormal Disconnect. - - // Events Default - self['onclose'] = self['onerror'] = - self['onmessage'] = self['onopen'] = - self['onsend'] = function(){}; - - // Attributes - self['binaryType'] = ''; - self['extensions'] = ''; - self['bufferedAmount'] = 0; - self['trasnmitting'] = false; - self['buffer'] = []; - self['readyState'] = self['CONNECTING']; - - // Close if no setup. - if (!url) { - self['readyState'] = self['CLOSED']; - self['onclose']({ - 'code' : self['CLOSE_ABNORMAL'], - 'reason' : 'Missing URL', - 'wasClean' : true - }); - return self; - } - - // PubNub WebSocket Emulation - self.pubnub = PUBNUB['init'](setup); - self.pubnub.setup = setup; - self.setup = setup; - - self.pubnub['subscribe']({ - 'restore' : false, - 'channel' : setup['channel'], - 'disconnect' : self['onerror'], - 'reconnect' : self['onopen'], - 'error' : function() { - self['onclose']({ - 'code' : self['CLOSE_ABNORMAL'], - 'reason' : 'Missing URL', - 'wasClean' : false - }); - }, - 'callback' : function(message) { - self['onmessage']({ 'data' : message }); - }, - 'connect' : function() { - self['readyState'] = self['OPEN']; - self['onopen'](); - } - }); -}; - -// --------------------------------------------------------------------------- -// WEBSOCKET SEND -// --------------------------------------------------------------------------- -WS.prototype.send = function(data) { - var self = this; - self.pubnub['publish']({ - 'channel' : self.pubnub.setup['channel'], - 'message' : data, - 'callback' : function(response) { - self['onsend']({ 'data' : response }); - } - }); -}; - -// --------------------------------------------------------------------------- -// WEBSOCKET CLOSE -// --------------------------------------------------------------------------- -WS.prototype.close = function() { - var self = this; - self.pubnub['unsubscribe']({ 'channel' : self.pubnub.setup['channel'] }); - self['readyState'] = self['CLOSED']; - self['onclose']({}); -}; - -})(); -(function(){ - -// --------------------------------------------------------------------------- -// WEBSOCKET INTERFACE -// --------------------------------------------------------------------------- -var WS = PUBNUB['ws'] = function( url, protocols ) { - if (!(this instanceof WS)) return new WS( url, protocols ); - - var self = this - , url = self.url = url || '' - , protocol = self.protocol = protocols || 'Sec-WebSocket-Protocol' - , bits = url.split('/') - , setup = { - 'ssl' : bits[0] === 'wss:' - ,'origin' : bits[2] - ,'publish_key' : bits[3] - ,'subscribe_key' : bits[4] - ,'channel' : bits[5] - }; - - // READY STATES - self['CONNECTING'] = 0; // The connection is not yet open. - self['OPEN'] = 1; // The connection is open and ready to communicate. - self['CLOSING'] = 2; // The connection is in the process of closing. - self['CLOSED'] = 3; // The connection is closed or couldn't be opened. - - // CLOSE STATES - self['CLOSE_NORMAL'] = 1000; // Normal Intended Close; completed. - self['CLOSE_GOING_AWAY'] = 1001; // Closed Unexpecttedly. - self['CLOSE_PROTOCOL_ERROR'] = 1002; // Server: Not Supported. - self['CLOSE_UNSUPPORTED'] = 1003; // Server: Unsupported Protocol. - self['CLOSE_TOO_LARGE'] = 1004; // Server: Too Much Data. - self['CLOSE_NO_STATUS'] = 1005; // Server: No reason. - self['CLOSE_ABNORMAL'] = 1006; // Abnormal Disconnect. - - // Events Default - self['onclose'] = self['onerror'] = - self['onmessage'] = self['onopen'] = - self['onsend'] = function(){}; - - // Attributes - self['binaryType'] = ''; - self['extensions'] = ''; - self['bufferedAmount'] = 0; - self['trasnmitting'] = false; - self['buffer'] = []; - self['readyState'] = self['CONNECTING']; - - // Close if no setup. - if (!url) { - self['readyState'] = self['CLOSED']; - self['onclose']({ - 'code' : self['CLOSE_ABNORMAL'], - 'reason' : 'Missing URL', - 'wasClean' : true - }); - return self; - } - - // PubNub WebSocket Emulation - self.pubnub = PUBNUB['init'](setup); - self.pubnub.setup = setup; - self.setup = setup; - - self.pubnub['subscribe']({ - 'restore' : false, - 'channel' : setup['channel'], - 'disconnect' : self['onerror'], - 'reconnect' : self['onopen'], - 'error' : function() { - self['onclose']({ - 'code' : self['CLOSE_ABNORMAL'], - 'reason' : 'Missing URL', - 'wasClean' : false - }); - }, - 'callback' : function(message) { - self['onmessage']({ 'data' : message }); - }, - 'connect' : function() { - self['readyState'] = self['OPEN']; - self['onopen'](); - } - }); -}; - -// --------------------------------------------------------------------------- -// WEBSOCKET SEND -// --------------------------------------------------------------------------- -WS.prototype.send = function(data) { - var self = this; - self.pubnub['publish']({ - 'channel' : self.pubnub.setup['channel'], - 'message' : data, - 'callback' : function(response) { - self['onsend']({ 'data' : response }); - } - }); -}; - -// --------------------------------------------------------------------------- -// WEBSOCKET CLOSE -// --------------------------------------------------------------------------- -WS.prototype.close = function() { - var self = this; - self.pubnub['unsubscribe']({ 'channel' : self.pubnub.setup['channel'] }); - self['readyState'] = self['CLOSED']; - self['onclose']({}); -}; - -})(); -/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= JSON =============================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -(window['JSON'] && window['JSON']['stringify']) || (function () { - window['JSON'] || (window['JSON'] = {}); - - function toJSON(key) { - try { return this.valueOf() } - catch(e) { return null } - } - - var cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, - escapable = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, - gap, - indent, - meta = { // table of character substitutions - '\b': '\\b', - '\t': '\\t', - '\n': '\\n', - '\f': '\\f', - '\r': '\\r', - '"' : '\\"', - '\\': '\\\\' - }, - rep; - - function quote(string) { - escapable.lastIndex = 0; - return escapable.test(string) ? - '"' + string.replace(escapable, function (a) { - var c = meta[a]; - return typeof c === 'string' ? c : - '\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4); - }) + '"' : - '"' + string + '"'; - } - - function str(key, holder) { - var i, // The loop counter. - k, // The member key. - v, // The member value. - length, - partial, - mind = gap, - value = holder[key]; - - if (value && typeof value === 'object') { - value = toJSON.call( value, key ); - } - - if (typeof rep === 'function') { - value = rep.call(holder, key, value); - } - - switch (typeof value) { - case 'string': - return quote(value); - - case 'number': - return isFinite(value) ? String(value) : 'null'; - - case 'boolean': - case 'null': - return String(value); - - case 'object': - - if (!value) { - return 'null'; - } - - gap += indent; - partial = []; - - if (Object.prototype.toString.apply(value) === '[object Array]') { - - length = value.length; - for (i = 0; i < length; i += 1) { - partial[i] = str(i, value) || 'null'; - } - - v = partial.length === 0 ? '[]' : - gap ? '[\n' + gap + - partial.join(',\n' + gap) + '\n' + - mind + ']' : - '[' + partial.join(',') + ']'; - gap = mind; - return v; - } - if (rep && typeof rep === 'object') { - length = rep.length; - for (i = 0; i < length; i += 1) { - k = rep[i]; - if (typeof k === 'string') { - v = str(k, value); - if (v) { - partial.push(quote(k) + (gap ? ': ' : ':') + v); - } - } - } - } else { - for (k in value) { - if (Object.hasOwnProperty.call(value, k)) { - v = str(k, value); - if (v) { - partial.push(quote(k) + (gap ? ': ' : ':') + v); - } - } - } - } - - v = partial.length === 0 ? '{}' : - gap ? '{\n' + gap + partial.join(',\n' + gap) + '\n' + - mind + '}' : '{' + partial.join(',') + '}'; - gap = mind; - return v; - } - } - - if (typeof JSON['stringify'] !== 'function') { - JSON['stringify'] = function (value, replacer, space) { - var i; - gap = ''; - indent = ''; - - if (typeof space === 'number') { - for (i = 0; i < space; i += 1) { - indent += ' '; - } - } else if (typeof space === 'string') { - indent = space; - } - rep = replacer; - if (replacer && typeof replacer !== 'function' && - (typeof replacer !== 'object' || - typeof replacer.length !== 'number')) { - throw new Error('JSON.stringify'); - } - return str('', {'': value}); - }; - } - - if (typeof JSON['parse'] !== 'function') { - // JSON is parsed on the server for security. - JSON['parse'] = function (text) {return eval('('+text+')')}; - } -}()); -// 3.4/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= JSON =============================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -(window['JSON'] && window['JSON']['stringify']) || (function () { - window['JSON'] || (window['JSON'] = {}); - - function toJSON(key) { - try { return this.valueOf() } - catch(e) { return null } - } - - var cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, - escapable = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, - gap, - indent, - meta = { // table of character substitutions - '\b': '\\b', - '\t': '\\t', - '\n': '\\n', - '\f': '\\f', - '\r': '\\r', - '"' : '\\"', - '\\': '\\\\' - }, - rep; - - function quote(string) { - escapable.lastIndex = 0; - return escapable.test(string) ? - '"' + string.replace(escapable, function (a) { - var c = meta[a]; - return typeof c === 'string' ? c : - '\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4); - }) + '"' : - '"' + string + '"'; - } - - function str(key, holder) { - var i, // The loop counter. - k, // The member key. - v, // The member value. - length, - partial, - mind = gap, - value = holder[key]; - - if (value && typeof value === 'object') { - value = toJSON.call( value, key ); - } - - if (typeof rep === 'function') { - value = rep.call(holder, key, value); - } - - switch (typeof value) { - case 'string': - return quote(value); - - case 'number': - return isFinite(value) ? String(value) : 'null'; - - case 'boolean': - case 'null': - return String(value); - - case 'object': - - if (!value) { - return 'null'; - } - - gap += indent; - partial = []; - - if (Object.prototype.toString.apply(value) === '[object Array]') { - - length = value.length; - for (i = 0; i < length; i += 1) { - partial[i] = str(i, value) || 'null'; - } - - v = partial.length === 0 ? '[]' : - gap ? '[\n' + gap + - partial.join(',\n' + gap) + '\n' + - mind + ']' : - '[' + partial.join(',') + ']'; - gap = mind; - return v; - } - if (rep && typeof rep === 'object') { - length = rep.length; - for (i = 0; i < length; i += 1) { - k = rep[i]; - if (typeof k === 'string') { - v = str(k, value); - if (v) { - partial.push(quote(k) + (gap ? ': ' : ':') + v); - } - } - } - } else { - for (k in value) { - if (Object.hasOwnProperty.call(value, k)) { - v = str(k, value); - if (v) { - partial.push(quote(k) + (gap ? ': ' : ':') + v); - } - } - } - } - - v = partial.length === 0 ? '{}' : - gap ? '{\n' + gap + partial.join(',\n' + gap) + '\n' + - mind + '}' : '{' + partial.join(',') + '}'; - gap = mind; - return v; - } - } - - if (typeof JSON['stringify'] !== 'function') { - JSON['stringify'] = function (value, replacer, space) { - var i; - gap = ''; - indent = ''; - - if (typeof space === 'number') { - for (i = 0; i < space; i += 1) { - indent += ' '; - } - } else if (typeof space === 'string') { - indent = space; - } - rep = replacer; - if (replacer && typeof replacer !== 'function' && - (typeof replacer !== 'object' || - typeof replacer.length !== 'number')) { - throw new Error('JSON.stringify'); - } - return str('', {'': value}); - }; - } - - if (typeof JSON['parse'] !== 'function') { - // JSON is parsed on the server for security. - JSON['parse'] = function (text) {return eval('('+text+')')}; - } -}()); -/* --------------------------------------------------------------------------- -WAIT! - This file depends on instructions from the PUBNUB Cloud. -http://www.pubnub.com/account-javascript-api-include ---------------------------------------------------------------------------- */ - -/* --------------------------------------------------------------------------- -PubNub Real-time Cloud-Hosted Push API and Push Notification Client Frameworks -Copyright (c) 2011 PubNub Inc. -http://www.pubnub.com/ -http://www.pubnub.com/terms ---------------------------------------------------------------------------- */ - -/* --------------------------------------------------------------------------- -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. ---------------------------------------------------------------------------- */ - -/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= UTIL =============================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -window['PUBNUB'] || (function() { - -/** - * UTIL LOCALS - */ - -var SWF = 'https://pubnub.a.ssl.fastly.net/pubnub.swf' -, ASYNC = 'async' -, URLBIT = '/' -, PARAMSBIT = '&' -, UA = navigator.userAgent -, XORIGN = UA.indexOf('MSIE 6') == -1; - -/** - * CONSOLE COMPATIBILITY - */ -window.console || (window.console=window.console||{}); -console.log || ( - console.log = - console.error = - ((window.opera||{}).postError||function(){}) -); - - - -/** - * LOCAL STORAGE OR COOKIE - */ -var db = (function(){ - var ls = window['localStorage']; - return { - 'get' : function(key) { - try { - if (ls) return ls.getItem(key); - if (document.cookie.indexOf(key) == -1) return null; - return ((document.cookie||'').match( - RegExp(key+'=([^;]+)') - )||[])[1] || null; - } catch(e) { return } - }, - 'set' : function( key, value ) { - try { - if (ls) return ls.setItem( key, value ) && 0; - document.cookie = key + '=' + value + - '; expires=Thu, 1 Aug 2030 20:00:00 UTC; path=/'; - } catch(e) { return } - } - }; -})(); - - -/** - * $ - * = - * var div = $('divid'); - */ -function $(id) { return document.getElementById(id) } - -/** - * ERROR - * ===== - * error('message'); - */ -function error(message) { console['error'](message) } - -/** - * SEARCH - * ====== - * var elements = search('a div span'); - */ -function search( elements, start ) { - var list = []; - each( elements.split(/\s+/), function(el) { - each( (start || document).getElementsByTagName(el), function(node) { - list.push(node); - } ); - } ); - return list; -} - - - -/** - * BIND - * ==== - * bind( 'keydown', search('a')[0], function(element) { - * ... - * } ); - */ -function bind( type, el, fun ) { - each( type.split(','), function(etype) { - var rapfun = function(e) { - if (!e) e = window.event; - if (!fun(e)) { - e.cancelBubble = true; - e.returnValue = false; - e.preventDefault && e.preventDefault(); - e.stopPropagation && e.stopPropagation(); - } - }; - - if ( el.addEventListener ) el.addEventListener( etype, rapfun, false ); - else if ( el.attachEvent ) el.attachEvent( 'on' + etype, rapfun ); - else el[ 'on' + etype ] = rapfun; - } ); -} - -/** - * UNBIND - * ====== - * unbind( 'keydown', search('a')[0] ); - */ -function unbind( type, el, fun ) { - if ( el.removeEventListener ) el.removeEventListener( type, false ); - else if ( el.detachEvent ) el.detachEvent( 'on' + type, false ); - else el[ 'on' + type ] = null; -} - -/** - * HEAD - * ==== - * head().appendChild(elm); - */ -function head() { return search('head')[0] } - -/** - * ATTR - * ==== - * var attribute = attr( node, 'attribute' ); - */ -function attr( node, attribute, value ) { - if (value) node.setAttribute( attribute, value ); - else return node && node.getAttribute && node.getAttribute(attribute); -} - -/** - * CSS - * === - * var obj = create('div'); - */ -function css( element, styles ) { - for (var style in styles) if (styles.hasOwnProperty(style)) - try {element.style[style] = styles[style] + ( - '|width|height|top|left|'.indexOf(style) > 0 && - typeof styles[style] == 'number' - ? 'px' : '' - )}catch(e){} -} - -/** - * CREATE - * ====== - * var obj = create('div'); - */ -function create(element) { return document.createElement(element) } - - -/** - * jsonp_cb - * ======== - * var callback = jsonp_cb(); - */ -function jsonp_cb() { return XORIGN || FDomainRequest() ? 0 : unique() } - - - -/** - * EVENTS - * ====== - * PUBNUB.events.bind( 'you-stepped-on-flower', function(message) { - * // Do Stuff with message - * } ); - * - * PUBNUB.events.fire( 'you-stepped-on-flower', "message-data" ); - * PUBNUB.events.fire( 'you-stepped-on-flower', {message:"data"} ); - * PUBNUB.events.fire( 'you-stepped-on-flower', [1,2,3] ); - * - */ -var events = { - 'list' : {}, - 'unbind' : function( name ) { events.list[name] = [] }, - 'bind' : function( name, fun ) { - (events.list[name] = events.list[name] || []).push(fun); - }, - 'fire' : function( name, data ) { - each( - events.list[name] || [], - function(fun) { fun(data) } - ); - } -}; - -/** - * XDR Cross Domain Request - * ======================== - * xdr({ - * url : ['http://www.blah.com/url'], - * success : function(response) {}, - * fail : function() {} - * }); - */ -function xdr( setup ) { - if (XORIGN || FDomainRequest()) return ajax(setup); - - var script = create('script') - , callback = setup.callback - , id = unique() - , finished = 0 - , xhrtme = setup.timeout || DEF_TIMEOUT - , timer = timeout( function(){done(1)}, xhrtme ) - , fail = setup.fail || function(){} - , success = setup.success || function(){} - - , append = function() { - head().appendChild(script); - } - - , done = function( failed, response ) { - if (finished) return; - finished = 1; - - failed || success(response); - script.onerror = null; - clearTimeout(timer); - - timeout( function() { - failed && fail(); - var s = $(id) - , p = s && s.parentNode; - p && p.removeChild(s); - }, SECOND ); - }; - - window[callback] = function(response) { - done( 0, response ); - }; - - if (!setup.blocking) script[ASYNC] = ASYNC; - - script.onerror = function() { done(1) }; - script.src = setup.url.join(URLBIT); - - if (setup.data) { - var params = []; - script.src += "?"; - for (var key in setup.data) { - params.push(key+"="+setup.data[key]); - } - script.src += params.join(PARAMSBIT); - } - attr( script, 'id', id ); - - append(); - return done; -} - -/** - * CORS XHR Request - * ================ - * xdr({ - * url : ['http://www.blah.com/url'], - * success : function(response) {}, - * fail : function() {} - * }); - */ -function ajax( setup ) { - var xhr, response - , finished = function() { - if (loaded) return; - loaded = 1; - - clearTimeout(timer); - - try { response = JSON['parse'](xhr.responseText); } - catch (r) { return done(1); } - - success(response); - } - , complete = 0 - , loaded = 0 - , xhrtme = setup.timeout || DEF_TIMEOUT - , timer = timeout( function(){done(1)}, xhrtme ) - , fail = setup.fail || function(){} - , success = setup.success || function(){} - , done = function(failed) { - if (complete) return; - complete = 1; - - clearTimeout(timer); - - if (xhr) { - xhr.onerror = xhr.onload = null; - xhr.abort && xhr.abort(); - xhr = null; - } - - failed && fail(); - }; - - // Send - try { - xhr = FDomainRequest() || - window.XDomainRequest && - new XDomainRequest() || - new XMLHttpRequest(); - - xhr.onerror = xhr.onabort = function(){ done(1) }; - xhr.onload = xhr.onloadend = finished; - xhr.timeout = xhrtme; - - var url = setup.url.join(URLBIT); - if (setup.data) { - var params = []; - var key; - console.log(setup.data); - url += "?"; - for (key in setup.data) params.push(key+"="+setup.data[key]); - url += params.join(PARAMSBIT); - } - - xhr.open( 'GET', url, (typeof(setup.blocking === 'undefined')) ); - xhr.send(); - } - catch(eee) { - done(0); - XORIGN = 0; - return xdr(setup); - } - - // Return 'done' - return done; -} - - - - // Test Connection State -function _is_online() { - if (!('onLine' in navigator)) return 1; - return navigator['onLine']; -} - - -/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= PUBNUB ===========================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -var PDIV = $('pubnub') || 0 -, CREATE_PUBNUB = function(setup) { - - // Force JSONP if requested from user. - if (setup['jsonp']) XORIGN = 0; - - var SUBSCRIBE_KEY = setup['subscribe_key'] || '' - , KEEPALIVE = (+setup['keepalive'] || DEF_KEEPALIVE) * SECOND - , UUID = setup['uuid'] || db['get'](SUBSCRIBE_KEY+'uuid') || ''; - - setup['xdr'] = xdr; - setup['db'] = db; - setup['_is_online'] = _is_online; - setup['jsonp_cb'] = jsonp_cb; - var SELF = PN_API(setup); - - - SELF['css'] = css; - SELF['$'] = $; - SELF['create'] = create; - SELF['bind'] = bind; - SELF['head'] = head; - SELF['search'] = search; - SELF['attr'] = attr; - SELF['events'] = events; - SELF['init'] = CREATE_PUBNUB; - - // Return without Testing - if (setup['notest']) return SELF; - - // Add Leave Functions - bind( 'beforeunload', window, function() { - each_channel(function(ch){ SELF['LEAVE']( ch.name, 1 ) }); - return true; - } ); - - bind( 'offline', window, SELF['_reset_offline'] ); - bind( 'offline', document, SELF['_reset_offline'] ); - - // Return PUBNUB Socket Object - return SELF; -}; - - - -// Bind for PUBNUB Readiness to Subscribe -bind( 'load', window, function(){ timeout( ready, 0 ) } ); - -var pdiv = PDIV || {}; - -// CREATE A PUBNUB GLOBAL OBJECT -PUBNUB = CREATE_PUBNUB({ - 'notest' : 1, - 'publish_key' : attr( pdiv, 'pub-key' ), - 'subscribe_key' : attr( pdiv, 'sub-key' ), - 'ssl' : !document.location.href.indexOf('https') || - attr( pdiv, 'ssl' ) == 'on', - 'origin' : attr( pdiv, 'origin' ), - 'uuid' : attr( pdiv, 'uuid' ) -}); - -// jQuery Interface -window['jQuery'] && (window['jQuery']['PUBNUB'] = PUBNUB); - -// For Modern JS + Testling.js - http://testling.com/ -typeof(module) !== 'undefined' && (module['exports'] = PUBNUB) && ready(); - -var pubnubs = $('pubnubs') || 0; - -// LEAVE NOW IF NO PDIV. -if (!PDIV) return; - -// PUBNUB Flash Socket -css( PDIV, { 'position' : 'absolute', 'top' : -SECOND } ); - -if ('opera' in window || attr( PDIV, 'flash' )) PDIV['innerHTML'] = - ''; - -// Create Interface for Opera Flash -PUBNUB['rdx'] = function( id, data ) { - if (!data) return FDomainRequest[id]['onerror'](); - FDomainRequest[id]['responseText'] = unescape(data); - FDomainRequest[id]['onload'](); -}; - -function FDomainRequest() { - if (!pubnubs || !pubnubs['get']) return 0; - - var fdomainrequest = { - 'id' : FDomainRequest['id']++, - 'send' : function() {}, - 'abort' : function() { fdomainrequest['id'] = {} }, - 'open' : function( method, url ) { - FDomainRequest[fdomainrequest['id']] = fdomainrequest; - pubnubs['get']( fdomainrequest['id'], url ); - } - }; - - return fdomainrequest; -} -FDomainRequest['id'] = SECOND; - -})(); -(function(){ - -// --------------------------------------------------------------------------- -// WEBSOCKET INTERFACE -// --------------------------------------------------------------------------- -var WS = PUBNUB['ws'] = function( url, protocols ) { - if (!(this instanceof WS)) return new WS( url, protocols ); - - var self = this - , url = self.url = url || '' - , protocol = self.protocol = protocols || 'Sec-WebSocket-Protocol' - , bits = url.split('/') - , setup = { - 'ssl' : bits[0] === 'wss:' - ,'origin' : bits[2] - ,'publish_key' : bits[3] - ,'subscribe_key' : bits[4] - ,'channel' : bits[5] - }; - - // READY STATES - self['CONNECTING'] = 0; // The connection is not yet open. - self['OPEN'] = 1; // The connection is open and ready to communicate. - self['CLOSING'] = 2; // The connection is in the process of closing. - self['CLOSED'] = 3; // The connection is closed or couldn't be opened. - - // CLOSE STATES - self['CLOSE_NORMAL'] = 1000; // Normal Intended Close; completed. - self['CLOSE_GOING_AWAY'] = 1001; // Closed Unexpecttedly. - self['CLOSE_PROTOCOL_ERROR'] = 1002; // Server: Not Supported. - self['CLOSE_UNSUPPORTED'] = 1003; // Server: Unsupported Protocol. - self['CLOSE_TOO_LARGE'] = 1004; // Server: Too Much Data. - self['CLOSE_NO_STATUS'] = 1005; // Server: No reason. - self['CLOSE_ABNORMAL'] = 1006; // Abnormal Disconnect. - - // Events Default - self['onclose'] = self['onerror'] = - self['onmessage'] = self['onopen'] = - self['onsend'] = function(){}; - - // Attributes - self['binaryType'] = ''; - self['extensions'] = ''; - self['bufferedAmount'] = 0; - self['trasnmitting'] = false; - self['buffer'] = []; - self['readyState'] = self['CONNECTING']; - - // Close if no setup. - if (!url) { - self['readyState'] = self['CLOSED']; - self['onclose']({ - 'code' : self['CLOSE_ABNORMAL'], - 'reason' : 'Missing URL', - 'wasClean' : true - }); - return self; - } - - // PubNub WebSocket Emulation - self.pubnub = PUBNUB['init'](setup); - self.pubnub.setup = setup; - self.setup = setup; - - self.pubnub['subscribe']({ - 'restore' : false, - 'channel' : setup['channel'], - 'disconnect' : self['onerror'], - 'reconnect' : self['onopen'], - 'error' : function() { - self['onclose']({ - 'code' : self['CLOSE_ABNORMAL'], - 'reason' : 'Missing URL', - 'wasClean' : false - }); - }, - 'callback' : function(message) { - self['onmessage']({ 'data' : message }); - }, - 'connect' : function() { - self['readyState'] = self['OPEN']; - self['onopen'](); - } - }); -}; - -// --------------------------------------------------------------------------- -// WEBSOCKET SEND -// --------------------------------------------------------------------------- -WS.prototype.send = function(data) { - var self = this; - self.pubnub['publish']({ - 'channel' : self.pubnub.setup['channel'], - 'message' : data, - 'callback' : function(response) { - self['onsend']({ 'data' : response }); - } - }); -}; - -// --------------------------------------------------------------------------- -// WEBSOCKET CLOSE -// --------------------------------------------------------------------------- -WS.prototype.close = function() { - var self = this; - self.pubnub['unsubscribe']({ 'channel' : self.pubnub.setup['channel'] }); - self['readyState'] = self['CLOSED']; - self['onclose']({}); -}; - -})(); -(function(){ - -// --------------------------------------------------------------------------- -// WEBSOCKET INTERFACE -// --------------------------------------------------------------------------- -var WS = PUBNUB['ws'] = function( url, protocols ) { - if (!(this instanceof WS)) return new WS( url, protocols ); - - var self = this - , url = self.url = url || '' - , protocol = self.protocol = protocols || 'Sec-WebSocket-Protocol' - , bits = url.split('/') - , setup = { - 'ssl' : bits[0] === 'wss:' - ,'origin' : bits[2] - ,'publish_key' : bits[3] - ,'subscribe_key' : bits[4] - ,'channel' : bits[5] - }; - - // READY STATES - self['CONNECTING'] = 0; // The connection is not yet open. - self['OPEN'] = 1; // The connection is open and ready to communicate. - self['CLOSING'] = 2; // The connection is in the process of closing. - self['CLOSED'] = 3; // The connection is closed or couldn't be opened. - - // CLOSE STATES - self['CLOSE_NORMAL'] = 1000; // Normal Intended Close; completed. - self['CLOSE_GOING_AWAY'] = 1001; // Closed Unexpecttedly. - self['CLOSE_PROTOCOL_ERROR'] = 1002; // Server: Not Supported. - self['CLOSE_UNSUPPORTED'] = 1003; // Server: Unsupported Protocol. - self['CLOSE_TOO_LARGE'] = 1004; // Server: Too Much Data. - self['CLOSE_NO_STATUS'] = 1005; // Server: No reason. - self['CLOSE_ABNORMAL'] = 1006; // Abnormal Disconnect. - - // Events Default - self['onclose'] = self['onerror'] = - self['onmessage'] = self['onopen'] = - self['onsend'] = function(){}; - - // Attributes - self['binaryType'] = ''; - self['extensions'] = ''; - self['bufferedAmount'] = 0; - self['trasnmitting'] = false; - self['buffer'] = []; - self['readyState'] = self['CONNECTING']; - - // Close if no setup. - if (!url) { - self['readyState'] = self['CLOSED']; - self['onclose']({ - 'code' : self['CLOSE_ABNORMAL'], - 'reason' : 'Missing URL', - 'wasClean' : true - }); - return self; - } - - // PubNub WebSocket Emulation - self.pubnub = PUBNUB['init'](setup); - self.pubnub.setup = setup; - self.setup = setup; - - self.pubnub['subscribe']({ - 'restore' : false, - 'channel' : setup['channel'], - 'disconnect' : self['onerror'], - 'reconnect' : self['onopen'], - 'error' : function() { - self['onclose']({ - 'code' : self['CLOSE_ABNORMAL'], - 'reason' : 'Missing URL', - 'wasClean' : false - }); - }, - 'callback' : function(message) { - self['onmessage']({ 'data' : message }); - }, - 'connect' : function() { - self['readyState'] = self['OPEN']; - self['onopen'](); - } - }); -}; - -// --------------------------------------------------------------------------- -// WEBSOCKET SEND -// --------------------------------------------------------------------------- -WS.prototype.send = function(data) { - var self = this; - self.pubnub['publish']({ - 'channel' : self.pubnub.setup['channel'], - 'message' : data, - 'callback' : function(response) { - self['onsend']({ 'data' : response }); - } - }); -}; - -// --------------------------------------------------------------------------- -// WEBSOCKET CLOSE -// --------------------------------------------------------------------------- -WS.prototype.close = function() { - var self = this; - self.pubnub['unsubscribe']({ 'channel' : self.pubnub.setup['channel'] }); - self['readyState'] = self['CLOSED']; - self['onclose']({}); -}; - -})(); -/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= JSON =============================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -(window['JSON'] && window['JSON']['stringify']) || (function () { - window['JSON'] || (window['JSON'] = {}); - - function toJSON(key) { - try { return this.valueOf() } - catch(e) { return null } - } - - var cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, - escapable = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, - gap, - indent, - meta = { // table of character substitutions - '\b': '\\b', - '\t': '\\t', - '\n': '\\n', - '\f': '\\f', - '\r': '\\r', - '"' : '\\"', - '\\': '\\\\' - }, - rep; - - function quote(string) { - escapable.lastIndex = 0; - return escapable.test(string) ? - '"' + string.replace(escapable, function (a) { - var c = meta[a]; - return typeof c === 'string' ? c : - '\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4); - }) + '"' : - '"' + string + '"'; - } - - function str(key, holder) { - var i, // The loop counter. - k, // The member key. - v, // The member value. - length, - partial, - mind = gap, - value = holder[key]; - - if (value && typeof value === 'object') { - value = toJSON.call( value, key ); - } - - if (typeof rep === 'function') { - value = rep.call(holder, key, value); - } - - switch (typeof value) { - case 'string': - return quote(value); - - case 'number': - return isFinite(value) ? String(value) : 'null'; - - case 'boolean': - case 'null': - return String(value); - - case 'object': - - if (!value) { - return 'null'; - } - - gap += indent; - partial = []; - - if (Object.prototype.toString.apply(value) === '[object Array]') { - - length = value.length; - for (i = 0; i < length; i += 1) { - partial[i] = str(i, value) || 'null'; - } - - v = partial.length === 0 ? '[]' : - gap ? '[\n' + gap + - partial.join(',\n' + gap) + '\n' + - mind + ']' : - '[' + partial.join(',') + ']'; - gap = mind; - return v; - } - if (rep && typeof rep === 'object') { - length = rep.length; - for (i = 0; i < length; i += 1) { - k = rep[i]; - if (typeof k === 'string') { - v = str(k, value); - if (v) { - partial.push(quote(k) + (gap ? ': ' : ':') + v); - } - } - } - } else { - for (k in value) { - if (Object.hasOwnProperty.call(value, k)) { - v = str(k, value); - if (v) { - partial.push(quote(k) + (gap ? ': ' : ':') + v); - } - } - } - } - - v = partial.length === 0 ? '{}' : - gap ? '{\n' + gap + partial.join(',\n' + gap) + '\n' + - mind + '}' : '{' + partial.join(',') + '}'; - gap = mind; - return v; - } - } - - if (typeof JSON['stringify'] !== 'function') { - JSON['stringify'] = function (value, replacer, space) { - var i; - gap = ''; - indent = ''; - - if (typeof space === 'number') { - for (i = 0; i < space; i += 1) { - indent += ' '; - } - } else if (typeof space === 'string') { - indent = space; - } - rep = replacer; - if (replacer && typeof replacer !== 'function' && - (typeof replacer !== 'object' || - typeof replacer.length !== 'number')) { - throw new Error('JSON.stringify'); - } - return str('', {'': value}); - }; - } - - if (typeof JSON['parse'] !== 'function') { - // JSON is parsed on the server for security. - JSON['parse'] = function (text) {return eval('('+text+')')}; - } -}()); -var NOW = 1 -, READY = false -, READY_BUFFER = [] -, PRESENCE_SUFFIX = '-pnpres' -, DEF_WINDOWING = 10 // MILLISECONDS. -, DEF_TIMEOUT = 10000 // MILLISECONDS. -, DEF_SUB_TIMEOUT = 310 // SECONDS. -, DEF_KEEPALIVE = 60 // SECONDS. -, SECOND = 1000 // A THOUSAND MILLISECONDS. -, REPL = /{([\w\-]+)}/g; - -/** - * UTILITIES - */ -function unique() { return'x'+ ++NOW+''+(+new Date) } -function rnow() { return+new Date } - -/** - * NEXTORIGIN - * ========== - * var next_origin = nextorigin(); - */ -var nextorigin = (function() { - var max = 20 - , ori = Math.floor(Math.random() * max); - return function( origin, failover ) { - return origin.indexOf('pubsub.') > 0 - && origin.replace( - 'pubsub', 'ps' + ( - failover ? uuid().split('-')[0] : - (++ori < max? ori : ori=1) - ) ) || origin; - } -})(); - -/** - * UPDATER - * ======= - * var timestamp = unique(); - */ -function updater( fun, rate ) { - var timeout - , last = 0 - , runnit = function() { - if (last + rate > rnow()) { - clearTimeout(timeout); - timeout = setTimeout( runnit, rate ); - } - else { - last = rnow(); - fun(); - } - }; - - return runnit; -} - -/** - * GREP - * ==== - * var list = grep( [1,2,3], function(item) { return item % 2 } ) - */ -function grep( list, fun ) { - var fin = []; - each( list || [], function(l) { fun(l) && fin.push(l) } ); - return fin -} - -/** - * SUPPLANT - * ======== - * var text = supplant( 'Hello {name}!', { name : 'John' } ) - */ -function supplant( str, values ) { - return str.replace( REPL, function( _, match ) { - return values[match] || _ - } ); -} - -/** - * timeout - * ======= - * timeout( function(){}, 100 ); - */ -function timeout( fun, wait ) { - return setTimeout( fun, wait ); -} - -/** - * uuid - * ==== - * var my_uuid = uuid(); - */ -function uuid(callback) { - var u = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, - function(c) { - var r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8); - return v.toString(16); - }); - if (callback) callback(u); - return u; -} - -/** - * EACH - * ==== - * each( [1,2,3], function(item) { } ) - */ -function each( o, f ) { - if ( !o || !f ) return; - - if ( typeof o[0] != 'undefined' ) - for ( var i = 0, l = o.length; i < l; ) - f.call( o[i], o[i], i++ ); - else - for ( var i in o ) - o.hasOwnProperty && - o.hasOwnProperty(i) && - f.call( o[i], i, o[i] ); -} - -/** - * MAP - * === - * var list = map( [1,2,3], function(item) { return item + 1 } ) - */ -function map( list, fun ) { - var fin = []; - each( list || [], function( k, v ) { fin.push(fun( k, v )) } ); - return fin; -} - -/** - * ENCODE - * ====== - * var encoded_path = encode('path'); - */ -function encode(path) { - return map( (encodeURIComponent(path)).split(''), function(chr) { - return "-_.!~*'()".indexOf(chr) < 0 ? chr : - "%"+chr.charCodeAt(0).toString(16).toUpperCase() - } ).join(''); -} - -/** - * Generate Subscription Channel List - * ================================== - * generate_channel_list(channels_object); - */ -function generate_channel_list(channels) { - var list = []; - each( channels, function( channel, status ) { - if (status.subscribed) list.push(channel); - } ); - return list.sort(); -} - -// PUBNUB READY TO CONNECT - function ready() { timeout( function() { - if (READY) return; - READY = 1; - each( READY_BUFFER, function(connect) { connect() } ); - }, SECOND ); } - -function PN_API(setup) { - var SUB_WINDOWING = +setup['windowing'] || DEF_WINDOWING - , SUB_TIMEOUT = (+setup['timeout'] || DEF_SUB_TIMEOUT) * SECOND - , KEEPALIVE = (+setup['keepalive'] || DEF_KEEPALIVE) * SECOND - , PUBLISH_KEY = setup['publish_key'] || '' - , SUBSCRIBE_KEY = setup['subscribe_key'] || '' - , SSL = setup['ssl'] ? 's' : '' - , ORIGIN = 'http'+SSL+'://'+(setup['origin']||'pubsub.pubnub.com') - , STD_ORIGIN = nextorigin(ORIGIN) - , SUB_ORIGIN = nextorigin(ORIGIN) - , CONNECT = function(){} - , PUB_QUEUE = [] - , SUB_CALLBACK = 0 - , SUB_CHANNEL = 0 - , SUB_RECEIVER = 0 - , SUB_RESTORE = 0 - , SUB_BUFF_WAIT = 0 - , TIMETOKEN = 0 - , CHANNELS = {} - , xdr = setup['xdr'] - , _is_online = setup['_is_online'] || function() { return 1; } - , jsonp_cb = setup['jsonp_cb'] || function(){ return 0; } - , db = setup['db'] || {'get': function(){}, 'set': function(){}} - , UUID = setup['uuid'] || ( db && db['get'](SUBSCRIBE_KEY+'uuid') || ''); - - - - function publish(next) { - if (next) PUB_QUEUE.sending = 0; - if (PUB_QUEUE.sending || !PUB_QUEUE.length) return; - PUB_QUEUE.sending = 1; - xdr(PUB_QUEUE.shift()); - } - - function each_channel(callback) { - each( generate_channel_list(CHANNELS), function(channel) { - var chan = CHANNELS[channel]; - if (!chan) return; - callback(chan); - } ); - } - - // Announce Leave Event - - - var SELF = { - - '_reset_offline' : function() { - SUB_RECEIVER && SUB_RECEIVER(1); - }, - - 'LEAVE' : function( channel, blocking ) { - var data = { 'uuid' : UUID } - , origin = nextorigin(ORIGIN) - , jsonp = jsonp_cb(); - - // Prevent Leaving a Presence Channel - if (channel.indexOf(PRESENCE_SUFFIX) > 0) return; - - if (jsonp != '0') data['callback'] = jsonp; - - xdr({ - blocking : blocking || SSL, - timeout : 2000, - callback : jsonp, - data : data, - url : [ - origin, 'v2', 'presence', 'sub_key', - SUBSCRIBE_KEY, 'channel', encode(channel), 'leave' - ] - }); - }, - /* - PUBNUB.history({ - channel : 'my_chat_channel', - limit : 100, - callback : function(history) { } - }); - */ - 'history' : function( args, callback ) { - var callback = args['callback'] || callback - , count = args['count'] || args['limit'] || 100 - , reverse = args['reverse'] || "false" - , err = args['error'] || function(){} - , channel = args['channel'] - , start = args['start'] - , end = args['end'] - , params = {} - , jsonp = jsonp_cb(); - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - params['stringtoken'] = 'true'; - params['count'] = count; - params['reverse'] = reverse; - - if (jsonp) params['callback'] = jsonp; - if (start) params['start'] = start; - if (end) params['end'] = end; - - // Send Message - xdr({ - callback : jsonp, - data : params, - success : function(response) { callback(response) }, - fail : err, - url : [ - STD_ORIGIN, 'v2', 'history', 'sub-key', - SUBSCRIBE_KEY, 'channel', encode(channel) - ] - }); - }, - - /* - PUBNUB.replay({ - source : 'my_channel', - destination : 'new_channel' - }); - */ - 'replay' : function(args) { - var callback = callback || args['callback'] || function(){} - , source = args['source'] - , destination = args['destination'] - , stop = args['stop'] - , start = args['start'] - , end = args['end'] - , reverse = args['reverse'] - , limit = args['limit'] - , jsonp = jsonp_cb() - , data = {} - , url; - - // Check User Input - if (!source) return error('Missing Source Channel'); - if (!destination) return error('Missing Destination Channel'); - if (!PUBLISH_KEY) return error('Missing Publish Key'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // Setup URL Params - if (jsonp != '0') data['callback'] = jsonp; - if (stop) data['stop'] = 'all'; - if (reverse) data['reverse'] = 'true'; - if (start) data['start'] = start; - if (end) data['end'] = end; - if (limit) data['count'] = limit; - - // Compose URL Parts - url = [ - STD_ORIGIN, 'v1', 'replay', - PUBLISH_KEY, SUBSCRIBE_KEY, - source, destination - ]; - - // Start (or Stop) Replay! - xdr({ - callback : jsonp, - success : function(response) { callback(response) }, - fail : function() { callback([ 0, 'Disconnected' ]) }, - url : url, - data : data - }); - }, - - /* - PUBNUB.time(function(time){ }); - */ - 'time' : function(callback) { - var jsonp = jsonp_cb(); - xdr({ - callback : jsonp, - timeout : SECOND*5, - url : [STD_ORIGIN, 'time', jsonp], - success : function(response) { callback(response[0]) }, - fail : function() { callback(0) } - }); - }, - - /* - PUBNUB.publish({ - channel : 'my_chat_channel', - message : 'hello!' - }); - */ - 'publish' : function( args, callback ) { - var callback = callback || args['callback'] || function(){} - , msg = args['message'] - , channel = args['channel'] - , jsonp = jsonp_cb() - , url; - - if (!msg) return error('Missing Message'); - if (!channel) return error('Missing Channel'); - if (!PUBLISH_KEY) return error('Missing Publish Key'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // If trying to send Object - msg = JSON['stringify'](msg); - - // Create URL - url = [ - STD_ORIGIN, 'publish', - PUBLISH_KEY, SUBSCRIBE_KEY, - 0, encode(channel), - jsonp, encode(msg) - ]; - - // Queue Message Send - PUB_QUEUE.push({ - callback : jsonp, - timeout : SECOND*5, - url : url, - data : { 'uuid' : UUID }, - success : function(response){callback(response);publish(1)}, - fail : function(){callback([0,'Failed',msg]);publish(1)} - }); - - // Send Message - publish(); - }, - - /* - PUBNUB.unsubscribe({ channel : 'my_chat' }); - */ - 'unsubscribe' : function(args) { - var channel = args['channel']; - - TIMETOKEN = 0; - SUB_RESTORE = 1; - - // Prepare Channel(s) - channel = map( ( - channel.join ? channel.join(',') : ''+channel - ).split(','), function(channel) { - return channel + ',' + channel + PRESENCE_SUFFIX; - } ).join(','); - - // Iterate over Channels - each( channel.split(','), function(channel) { - if (READY) SELF['LEAVE']( channel, 0 ); - CHANNELS[channel] = 0; - } ); - - // ReOpen Connection if Any Channels Left - if (READY) CONNECT(); - }, - - /* - PUBNUB.subscribe({ - channel : 'my_chat' - callback : function(message) { } - }); - */ - 'subscribe' : function( args, callback ) { - var channel = args['channel'] - , callback = callback || args['callback'] - , callback = callback || args['message'] - , connect = args['connect'] || function(){} - , reconnect = args['reconnect'] || function(){} - , disconnect = args['disconnect'] || function(){} - , presence = args['presence'] || 0 - , noheresync = args['noheresync'] || 0 - , sub_timeout = args['timeout'] || SUB_TIMEOUT - , windowing = args['windowing'] || SUB_WINDOWING - , restore = args['restore']; - - // Restore Enabled? - if (restore) SUB_RESTORE = 1; - - TIMETOKEN = 0; - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // Setup Channel(s) - each( (channel.join ? channel.join(',') : ''+channel).split(','), - function(channel) { - var settings = CHANNELS[channel] || {}; - - // Store Channel State - CHANNELS[SUB_CHANNEL = channel] = { - name : channel, - connected : settings.connected, - disconnected : settings.disconnected, - subscribed : 1, - callback : SUB_CALLBACK = callback, - connect : connect, - disconnect : disconnect, - reconnect : reconnect - }; - - // Presence Enabled? - if (!presence) return; - - // Subscribe Presence Channel - SELF['subscribe']({ - 'channel' : channel + PRESENCE_SUFFIX, - 'callback' : presence - }); - - // Presence Subscribed? - if (settings.subscribed) return; - - // See Who's Here Now? - if (noheresync) return; - SELF['here_now']({ - 'channel' : channel, - 'callback' : function(here) { - each( 'uuids' in here ? here['uuids'] : [], - function(uid) { presence( { - 'action' : 'join', - 'uuid' : uid, - 'timestamp' : rnow(), - 'occupancy' : here['occupancy'] || 1 - }, here, channel ); } ); - } - }); - } ); - - // Test Network Connection - function _test_connection(success) { - if (success) { - // Begin Next Socket Connection - timeout( _connect, SECOND ); - } - else { - // New Origin on Failed Connection - STD_ORIGIN = nextorigin( ORIGIN, 1 ); - SUB_ORIGIN = nextorigin( ORIGIN, 1 ); - - // Re-test Connection - timeout( function() { - SELF['time'](_test_connection); - }, SECOND ); - } - - // Disconnect & Reconnect - each_channel(function(channel){ - // Reconnect - if (success && channel.disconnected) { - channel.disconnected = 0; - return channel.reconnect(channel.name); - } - - // Disconnect - if (!success && !channel.disconnected) { - channel.disconnected = 1; - channel.disconnect(channel.name); - } - }); - } - - // Evented Subscribe - function _connect() { - var jsonp = jsonp_cb() - , channels = generate_channel_list(CHANNELS).join(','); - - // Stop Connection - if (!channels) return; - - // Connect to PubNub Subscribe Servers - SUB_RECEIVER = xdr({ - timeout : sub_timeout, - callback : jsonp, - fail : function() { SELF['time'](_test_connection) }, - data : { 'uuid' : UUID }, - url : [ - SUB_ORIGIN, 'subscribe', - SUBSCRIBE_KEY, encode(channels), - jsonp, TIMETOKEN - ], - success : function(messages) { - if (!messages) return timeout( _connect, windowing ); - - // Connect - each_channel(function(channel){ - if (channel.connected) return; - channel.connected = 1; - channel.connect(channel.name); - }); - - // Restore Previous Connection Point if Needed - TIMETOKEN = !TIMETOKEN && - SUB_RESTORE && - db['get'](SUBSCRIBE_KEY) || messages[1]; - - // Update Saved Timetoken - if (TIMETOKEN) db['set']( SUBSCRIBE_KEY, messages[1] ); - - // Route Channel <---> Callback for Message - var next_callback = (function() { - var channels = (messages.length>2?messages[2]:'') - , list = channels.split(','); - - return function() { - var channel = list.shift()||''; - return [ - (CHANNELS[channel]||{}) - .callback||SUB_CALLBACK, - (channel||SUB_CHANNEL) - .split(PRESENCE_SUFFIX)[0] - ]; - }; - })(); - - each( messages[0], function(msg) { - var next = next_callback(); - if (!CHANNELS[next[1]].subscribed) return; - next[0]( msg, messages, next[1] ); - } ); - - timeout( _connect, windowing ); - } - }); - } - - CONNECT = function() { - // Close Previous Subscribe Connection - SELF['_reset_offline'](); - - // Begin Recursive Subscribe - clearTimeout(SUB_BUFF_WAIT); - SUB_BUFF_WAIT = timeout( _connect, 100 ); - }; - - // Reduce Status Flicker - if (!READY) return READY_BUFFER.push(CONNECT); - - // Connect Now - CONNECT(); - }, - - 'here_now' : function( args, callback ) { - var callback = args['callback'] || callback - , err = args['error'] || function(){} - , channel = args['channel'] - , jsonp = jsonp_cb() - , data = null; - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - if (jsonp != '0') { - data = {}; - data['callback'] = jsonp; - } - - xdr({ - callback : jsonp, - data : data, - success : function(response) { callback(response) }, - fail : err, - url : [ - STD_ORIGIN, 'v2', 'presence', - 'sub_key', SUBSCRIBE_KEY, - 'channel', encode(channel) - ] - }); - }, - - // Expose PUBNUB Functions - 'xdr' : xdr, - 'ready' : ready, - 'db' : db, - 'uuid' : uuid, - 'each' : each, - 'map' : map, - 'grep' : grep, - 'supplant' : supplant, - 'now' : rnow, - 'unique' : unique, - 'updater' : updater, - 'poll_online' : function() { - _is_online() || SELF['_reset_offline'](); - timeout( SELF['poll_online'], SECOND ); - }, - 'poll_online2' : function() { - SELF['time'](function(success){ - success || SELF['_reset_offline'](); - timeout( SELF['poll_online2'], KEEPALIVE ); - }) - } - }; - if (!UUID) UUID = SELF['uuid'](); - db['set']( SUBSCRIBE_KEY + 'uuid', UUID ); - - timeout( SELF['poll_online'], SECOND ); - timeout( SELF['poll_online2'], KEEPALIVE ); - - return SELF; -} -// 3.4/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= JSON =============================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -(window['JSON'] && window['JSON']['stringify']) || (function () { - window['JSON'] || (window['JSON'] = {}); - - function toJSON(key) { - try { return this.valueOf() } - catch(e) { return null } - } - - var cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, - escapable = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, - gap, - indent, - meta = { // table of character substitutions - '\b': '\\b', - '\t': '\\t', - '\n': '\\n', - '\f': '\\f', - '\r': '\\r', - '"' : '\\"', - '\\': '\\\\' - }, - rep; - - function quote(string) { - escapable.lastIndex = 0; - return escapable.test(string) ? - '"' + string.replace(escapable, function (a) { - var c = meta[a]; - return typeof c === 'string' ? c : - '\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4); - }) + '"' : - '"' + string + '"'; - } - - function str(key, holder) { - var i, // The loop counter. - k, // The member key. - v, // The member value. - length, - partial, - mind = gap, - value = holder[key]; - - if (value && typeof value === 'object') { - value = toJSON.call( value, key ); - } - - if (typeof rep === 'function') { - value = rep.call(holder, key, value); - } - - switch (typeof value) { - case 'string': - return quote(value); - - case 'number': - return isFinite(value) ? String(value) : 'null'; - - case 'boolean': - case 'null': - return String(value); - - case 'object': - - if (!value) { - return 'null'; - } - - gap += indent; - partial = []; - - if (Object.prototype.toString.apply(value) === '[object Array]') { - - length = value.length; - for (i = 0; i < length; i += 1) { - partial[i] = str(i, value) || 'null'; - } - - v = partial.length === 0 ? '[]' : - gap ? '[\n' + gap + - partial.join(',\n' + gap) + '\n' + - mind + ']' : - '[' + partial.join(',') + ']'; - gap = mind; - return v; - } - if (rep && typeof rep === 'object') { - length = rep.length; - for (i = 0; i < length; i += 1) { - k = rep[i]; - if (typeof k === 'string') { - v = str(k, value); - if (v) { - partial.push(quote(k) + (gap ? ': ' : ':') + v); - } - } - } - } else { - for (k in value) { - if (Object.hasOwnProperty.call(value, k)) { - v = str(k, value); - if (v) { - partial.push(quote(k) + (gap ? ': ' : ':') + v); - } - } - } - } - - v = partial.length === 0 ? '{}' : - gap ? '{\n' + gap + partial.join(',\n' + gap) + '\n' + - mind + '}' : '{' + partial.join(',') + '}'; - gap = mind; - return v; - } - } - - if (typeof JSON['stringify'] !== 'function') { - JSON['stringify'] = function (value, replacer, space) { - var i; - gap = ''; - indent = ''; - - if (typeof space === 'number') { - for (i = 0; i < space; i += 1) { - indent += ' '; - } - } else if (typeof space === 'string') { - indent = space; - } - rep = replacer; - if (replacer && typeof replacer !== 'function' && - (typeof replacer !== 'object' || - typeof replacer.length !== 'number')) { - throw new Error('JSON.stringify'); - } - return str('', {'': value}); - }; - } - - if (typeof JSON['parse'] !== 'function') { - // JSON is parsed on the server for security. - JSON['parse'] = function (text) {return eval('('+text+')')}; - } -}()); -/* --------------------------------------------------------------------------- -WAIT! - This file depends on instructions from the PUBNUB Cloud. -http://www.pubnub.com/account-javascript-api-include ---------------------------------------------------------------------------- */ - -/* --------------------------------------------------------------------------- -PubNub Real-time Cloud-Hosted Push API and Push Notification Client Frameworks -Copyright (c) 2011 PubNub Inc. -http://www.pubnub.com/ -http://www.pubnub.com/terms ---------------------------------------------------------------------------- */ - -/* --------------------------------------------------------------------------- -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. ---------------------------------------------------------------------------- */ - -/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= UTIL =============================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -window['PUBNUB'] || (function() { - -/** - * UTIL LOCALS - */ - -var SWF = 'https://pubnub.a.ssl.fastly.net/pubnub.swf' -, ASYNC = 'async' -, URLBIT = '/' -, PARAMSBIT = '&' -, UA = navigator.userAgent -, XORIGN = UA.indexOf('MSIE 6') == -1; - -/** - * CONSOLE COMPATIBILITY - */ -window.console || (window.console=window.console||{}); -console.log || ( - console.log = - console.error = - ((window.opera||{}).postError||function(){}) -); - - - -/** - * LOCAL STORAGE OR COOKIE - */ -var db = (function(){ - var ls = window['localStorage']; - return { - 'get' : function(key) { - try { - if (ls) return ls.getItem(key); - if (document.cookie.indexOf(key) == -1) return null; - return ((document.cookie||'').match( - RegExp(key+'=([^;]+)') - )||[])[1] || null; - } catch(e) { return } - }, - 'set' : function( key, value ) { - try { - if (ls) return ls.setItem( key, value ) && 0; - document.cookie = key + '=' + value + - '; expires=Thu, 1 Aug 2030 20:00:00 UTC; path=/'; - } catch(e) { return } - } - }; -})(); - - -/** - * $ - * = - * var div = $('divid'); - */ -function $(id) { return document.getElementById(id) } - -/** - * ERROR - * ===== - * error('message'); - */ -function error(message) { console['error'](message) } - -/** - * SEARCH - * ====== - * var elements = search('a div span'); - */ -function search( elements, start ) { - var list = []; - each( elements.split(/\s+/), function(el) { - each( (start || document).getElementsByTagName(el), function(node) { - list.push(node); - } ); - } ); - return list; -} - - - -/** - * BIND - * ==== - * bind( 'keydown', search('a')[0], function(element) { - * ... - * } ); - */ -function bind( type, el, fun ) { - each( type.split(','), function(etype) { - var rapfun = function(e) { - if (!e) e = window.event; - if (!fun(e)) { - e.cancelBubble = true; - e.returnValue = false; - e.preventDefault && e.preventDefault(); - e.stopPropagation && e.stopPropagation(); - } - }; - - if ( el.addEventListener ) el.addEventListener( etype, rapfun, false ); - else if ( el.attachEvent ) el.attachEvent( 'on' + etype, rapfun ); - else el[ 'on' + etype ] = rapfun; - } ); -} - -/** - * UNBIND - * ====== - * unbind( 'keydown', search('a')[0] ); - */ -function unbind( type, el, fun ) { - if ( el.removeEventListener ) el.removeEventListener( type, false ); - else if ( el.detachEvent ) el.detachEvent( 'on' + type, false ); - else el[ 'on' + type ] = null; -} - -/** - * HEAD - * ==== - * head().appendChild(elm); - */ -function head() { return search('head')[0] } - -/** - * ATTR - * ==== - * var attribute = attr( node, 'attribute' ); - */ -function attr( node, attribute, value ) { - if (value) node.setAttribute( attribute, value ); - else return node && node.getAttribute && node.getAttribute(attribute); -} - -/** - * CSS - * === - * var obj = create('div'); - */ -function css( element, styles ) { - for (var style in styles) if (styles.hasOwnProperty(style)) - try {element.style[style] = styles[style] + ( - '|width|height|top|left|'.indexOf(style) > 0 && - typeof styles[style] == 'number' - ? 'px' : '' - )}catch(e){} -} - -/** - * CREATE - * ====== - * var obj = create('div'); - */ -function create(element) { return document.createElement(element) } - - -/** - * jsonp_cb - * ======== - * var callback = jsonp_cb(); - */ -function jsonp_cb() { return XORIGN || FDomainRequest() ? 0 : unique() } - - - -/** - * EVENTS - * ====== - * PUBNUB.events.bind( 'you-stepped-on-flower', function(message) { - * // Do Stuff with message - * } ); - * - * PUBNUB.events.fire( 'you-stepped-on-flower', "message-data" ); - * PUBNUB.events.fire( 'you-stepped-on-flower', {message:"data"} ); - * PUBNUB.events.fire( 'you-stepped-on-flower', [1,2,3] ); - * - */ -var events = { - 'list' : {}, - 'unbind' : function( name ) { events.list[name] = [] }, - 'bind' : function( name, fun ) { - (events.list[name] = events.list[name] || []).push(fun); - }, - 'fire' : function( name, data ) { - each( - events.list[name] || [], - function(fun) { fun(data) } - ); - } -}; - -/** - * XDR Cross Domain Request - * ======================== - * xdr({ - * url : ['http://www.blah.com/url'], - * success : function(response) {}, - * fail : function() {} - * }); - */ -function xdr( setup ) { - if (XORIGN || FDomainRequest()) return ajax(setup); - - var script = create('script') - , callback = setup.callback - , id = unique() - , finished = 0 - , xhrtme = setup.timeout || DEF_TIMEOUT - , timer = timeout( function(){done(1)}, xhrtme ) - , fail = setup.fail || function(){} - , success = setup.success || function(){} - - , append = function() { - head().appendChild(script); - } - - , done = function( failed, response ) { - if (finished) return; - finished = 1; - - failed || success(response); - script.onerror = null; - clearTimeout(timer); - - timeout( function() { - failed && fail(); - var s = $(id) - , p = s && s.parentNode; - p && p.removeChild(s); - }, SECOND ); - }; - - window[callback] = function(response) { - done( 0, response ); - }; - - if (!setup.blocking) script[ASYNC] = ASYNC; - - script.onerror = function() { done(1) }; - script.src = setup.url.join(URLBIT); - - if (setup.data) { - var params = []; - script.src += "?"; - for (var key in setup.data) { - params.push(key+"="+setup.data[key]); - } - script.src += params.join(PARAMSBIT); - } - attr( script, 'id', id ); - - append(); - return done; -} - -/** - * CORS XHR Request - * ================ - * xdr({ - * url : ['http://www.blah.com/url'], - * success : function(response) {}, - * fail : function() {} - * }); - */ -function ajax( setup ) { - var xhr, response - , finished = function() { - if (loaded) return; - loaded = 1; - - clearTimeout(timer); - - try { response = JSON['parse'](xhr.responseText); } - catch (r) { return done(1); } - - success(response); - } - , complete = 0 - , loaded = 0 - , xhrtme = setup.timeout || DEF_TIMEOUT - , timer = timeout( function(){done(1)}, xhrtme ) - , fail = setup.fail || function(){} - , success = setup.success || function(){} - , done = function(failed) { - if (complete) return; - complete = 1; - - clearTimeout(timer); - - if (xhr) { - xhr.onerror = xhr.onload = null; - xhr.abort && xhr.abort(); - xhr = null; - } - - failed && fail(); - }; - - // Send - try { - xhr = FDomainRequest() || - window.XDomainRequest && - new XDomainRequest() || - new XMLHttpRequest(); - - xhr.onerror = xhr.onabort = function(){ done(1) }; - xhr.onload = xhr.onloadend = finished; - xhr.timeout = xhrtme; - - var url = setup.url.join(URLBIT); - if (setup.data) { - var params = []; - var key; - console.log(setup.data); - url += "?"; - for (key in setup.data) params.push(key+"="+setup.data[key]); - url += params.join(PARAMSBIT); - } - - xhr.open( 'GET', url, (typeof(setup.blocking === 'undefined')) ); - xhr.send(); - } - catch(eee) { - done(0); - XORIGN = 0; - return xdr(setup); - } - - // Return 'done' - return done; -} - - - - // Test Connection State -function _is_online() { - if (!('onLine' in navigator)) return 1; - return navigator['onLine']; -} - - -/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= PUBNUB ===========================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -var PDIV = $('pubnub') || 0 -, CREATE_PUBNUB = function(setup) { - - // Force JSONP if requested from user. - if (setup['jsonp']) XORIGN = 0; - - var SUBSCRIBE_KEY = setup['subscribe_key'] || '' - , KEEPALIVE = (+setup['keepalive'] || DEF_KEEPALIVE) * SECOND - , UUID = setup['uuid'] || db['get'](SUBSCRIBE_KEY+'uuid') || ''; - - setup['xdr'] = xdr; - setup['db'] = db; - setup['_is_online'] = _is_online; - setup['jsonp_cb'] = jsonp_cb; - var SELF = PN_API(setup); - - - SELF['css'] = css; - SELF['$'] = $; - SELF['create'] = create; - SELF['bind'] = bind; - SELF['head'] = head; - SELF['search'] = search; - SELF['attr'] = attr; - SELF['events'] = events; - SELF['init'] = CREATE_PUBNUB; - - // Return without Testing - if (setup['notest']) return SELF; - - // Add Leave Functions - bind( 'beforeunload', window, function() { - each_channel(function(ch){ SELF['LEAVE']( ch.name, 1 ) }); - return true; - } ); - - bind( 'offline', window, SELF['_reset_offline'] ); - bind( 'offline', document, SELF['_reset_offline'] ); - - // Return PUBNUB Socket Object - return SELF; -}; - - - -// Bind for PUBNUB Readiness to Subscribe -bind( 'load', window, function(){ timeout( ready, 0 ) } ); - -var pdiv = PDIV || {}; - -// CREATE A PUBNUB GLOBAL OBJECT -PUBNUB = CREATE_PUBNUB({ - 'notest' : 1, - 'publish_key' : attr( pdiv, 'pub-key' ), - 'subscribe_key' : attr( pdiv, 'sub-key' ), - 'ssl' : !document.location.href.indexOf('https') || - attr( pdiv, 'ssl' ) == 'on', - 'origin' : attr( pdiv, 'origin' ), - 'uuid' : attr( pdiv, 'uuid' ) -}); - -// jQuery Interface -window['jQuery'] && (window['jQuery']['PUBNUB'] = PUBNUB); - -// For Modern JS + Testling.js - http://testling.com/ -typeof(module) !== 'undefined' && (module['exports'] = PUBNUB) && ready(); - -var pubnubs = $('pubnubs') || 0; - -// LEAVE NOW IF NO PDIV. -if (!PDIV) return; - -// PUBNUB Flash Socket -css( PDIV, { 'position' : 'absolute', 'top' : -SECOND } ); - -if ('opera' in window || attr( PDIV, 'flash' )) PDIV['innerHTML'] = - ''; - -// Create Interface for Opera Flash -PUBNUB['rdx'] = function( id, data ) { - if (!data) return FDomainRequest[id]['onerror'](); - FDomainRequest[id]['responseText'] = unescape(data); - FDomainRequest[id]['onload'](); -}; - -function FDomainRequest() { - if (!pubnubs || !pubnubs['get']) return 0; - - var fdomainrequest = { - 'id' : FDomainRequest['id']++, - 'send' : function() {}, - 'abort' : function() { fdomainrequest['id'] = {} }, - 'open' : function( method, url ) { - FDomainRequest[fdomainrequest['id']] = fdomainrequest; - pubnubs['get']( fdomainrequest['id'], url ); - } - }; - - return fdomainrequest; -} -FDomainRequest['id'] = SECOND; - -})(); -(function(){ - -// --------------------------------------------------------------------------- -// WEBSOCKET INTERFACE -// --------------------------------------------------------------------------- -var WS = PUBNUB['ws'] = function( url, protocols ) { - if (!(this instanceof WS)) return new WS( url, protocols ); - - var self = this - , url = self.url = url || '' - , protocol = self.protocol = protocols || 'Sec-WebSocket-Protocol' - , bits = url.split('/') - , setup = { - 'ssl' : bits[0] === 'wss:' - ,'origin' : bits[2] - ,'publish_key' : bits[3] - ,'subscribe_key' : bits[4] - ,'channel' : bits[5] - }; - - // READY STATES - self['CONNECTING'] = 0; // The connection is not yet open. - self['OPEN'] = 1; // The connection is open and ready to communicate. - self['CLOSING'] = 2; // The connection is in the process of closing. - self['CLOSED'] = 3; // The connection is closed or couldn't be opened. - - // CLOSE STATES - self['CLOSE_NORMAL'] = 1000; // Normal Intended Close; completed. - self['CLOSE_GOING_AWAY'] = 1001; // Closed Unexpecttedly. - self['CLOSE_PROTOCOL_ERROR'] = 1002; // Server: Not Supported. - self['CLOSE_UNSUPPORTED'] = 1003; // Server: Unsupported Protocol. - self['CLOSE_TOO_LARGE'] = 1004; // Server: Too Much Data. - self['CLOSE_NO_STATUS'] = 1005; // Server: No reason. - self['CLOSE_ABNORMAL'] = 1006; // Abnormal Disconnect. - - // Events Default - self['onclose'] = self['onerror'] = - self['onmessage'] = self['onopen'] = - self['onsend'] = function(){}; - - // Attributes - self['binaryType'] = ''; - self['extensions'] = ''; - self['bufferedAmount'] = 0; - self['trasnmitting'] = false; - self['buffer'] = []; - self['readyState'] = self['CONNECTING']; - - // Close if no setup. - if (!url) { - self['readyState'] = self['CLOSED']; - self['onclose']({ - 'code' : self['CLOSE_ABNORMAL'], - 'reason' : 'Missing URL', - 'wasClean' : true - }); - return self; - } - - // PubNub WebSocket Emulation - self.pubnub = PUBNUB['init'](setup); - self.pubnub.setup = setup; - self.setup = setup; - - self.pubnub['subscribe']({ - 'restore' : false, - 'channel' : setup['channel'], - 'disconnect' : self['onerror'], - 'reconnect' : self['onopen'], - 'error' : function() { - self['onclose']({ - 'code' : self['CLOSE_ABNORMAL'], - 'reason' : 'Missing URL', - 'wasClean' : false - }); - }, - 'callback' : function(message) { - self['onmessage']({ 'data' : message }); - }, - 'connect' : function() { - self['readyState'] = self['OPEN']; - self['onopen'](); - } - }); -}; - -// --------------------------------------------------------------------------- -// WEBSOCKET SEND -// --------------------------------------------------------------------------- -WS.prototype.send = function(data) { - var self = this; - self.pubnub['publish']({ - 'channel' : self.pubnub.setup['channel'], - 'message' : data, - 'callback' : function(response) { - self['onsend']({ 'data' : response }); - } - }); -}; - -// --------------------------------------------------------------------------- -// WEBSOCKET CLOSE -// --------------------------------------------------------------------------- -WS.prototype.close = function() { - var self = this; - self.pubnub['unsubscribe']({ 'channel' : self.pubnub.setup['channel'] }); - self['readyState'] = self['CLOSED']; - self['onclose']({}); -}; - -})(); -(function(){ - -// --------------------------------------------------------------------------- -// WEBSOCKET INTERFACE -// --------------------------------------------------------------------------- -var WS = PUBNUB['ws'] = function( url, protocols ) { - if (!(this instanceof WS)) return new WS( url, protocols ); - - var self = this - , url = self.url = url || '' - , protocol = self.protocol = protocols || 'Sec-WebSocket-Protocol' - , bits = url.split('/') - , setup = { - 'ssl' : bits[0] === 'wss:' - ,'origin' : bits[2] - ,'publish_key' : bits[3] - ,'subscribe_key' : bits[4] - ,'channel' : bits[5] - }; - - // READY STATES - self['CONNECTING'] = 0; // The connection is not yet open. - self['OPEN'] = 1; // The connection is open and ready to communicate. - self['CLOSING'] = 2; // The connection is in the process of closing. - self['CLOSED'] = 3; // The connection is closed or couldn't be opened. - - // CLOSE STATES - self['CLOSE_NORMAL'] = 1000; // Normal Intended Close; completed. - self['CLOSE_GOING_AWAY'] = 1001; // Closed Unexpecttedly. - self['CLOSE_PROTOCOL_ERROR'] = 1002; // Server: Not Supported. - self['CLOSE_UNSUPPORTED'] = 1003; // Server: Unsupported Protocol. - self['CLOSE_TOO_LARGE'] = 1004; // Server: Too Much Data. - self['CLOSE_NO_STATUS'] = 1005; // Server: No reason. - self['CLOSE_ABNORMAL'] = 1006; // Abnormal Disconnect. - - // Events Default - self['onclose'] = self['onerror'] = - self['onmessage'] = self['onopen'] = - self['onsend'] = function(){}; - - // Attributes - self['binaryType'] = ''; - self['extensions'] = ''; - self['bufferedAmount'] = 0; - self['trasnmitting'] = false; - self['buffer'] = []; - self['readyState'] = self['CONNECTING']; - - // Close if no setup. - if (!url) { - self['readyState'] = self['CLOSED']; - self['onclose']({ - 'code' : self['CLOSE_ABNORMAL'], - 'reason' : 'Missing URL', - 'wasClean' : true - }); - return self; - } - - // PubNub WebSocket Emulation - self.pubnub = PUBNUB['init'](setup); - self.pubnub.setup = setup; - self.setup = setup; - - self.pubnub['subscribe']({ - 'restore' : false, - 'channel' : setup['channel'], - 'disconnect' : self['onerror'], - 'reconnect' : self['onopen'], - 'error' : function() { - self['onclose']({ - 'code' : self['CLOSE_ABNORMAL'], - 'reason' : 'Missing URL', - 'wasClean' : false - }); - }, - 'callback' : function(message) { - self['onmessage']({ 'data' : message }); - }, - 'connect' : function() { - self['readyState'] = self['OPEN']; - self['onopen'](); - } - }); -}; - -// --------------------------------------------------------------------------- -// WEBSOCKET SEND -// --------------------------------------------------------------------------- -WS.prototype.send = function(data) { - var self = this; - self.pubnub['publish']({ - 'channel' : self.pubnub.setup['channel'], - 'message' : data, - 'callback' : function(response) { - self['onsend']({ 'data' : response }); - } - }); -}; - -// --------------------------------------------------------------------------- -// WEBSOCKET CLOSE -// --------------------------------------------------------------------------- -WS.prototype.close = function() { - var self = this; - self.pubnub['unsubscribe']({ 'channel' : self.pubnub.setup['channel'] }); - self['readyState'] = self['CLOSED']; - self['onclose']({}); -}; - -})(); -/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= JSON =============================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -(window['JSON'] && window['JSON']['stringify']) || (function () { - window['JSON'] || (window['JSON'] = {}); - - function toJSON(key) { - try { return this.valueOf() } - catch(e) { return null } - } - - var cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, - escapable = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, - gap, - indent, - meta = { // table of character substitutions - '\b': '\\b', - '\t': '\\t', - '\n': '\\n', - '\f': '\\f', - '\r': '\\r', - '"' : '\\"', - '\\': '\\\\' - }, - rep; - - function quote(string) { - escapable.lastIndex = 0; - return escapable.test(string) ? - '"' + string.replace(escapable, function (a) { - var c = meta[a]; - return typeof c === 'string' ? c : - '\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4); - }) + '"' : - '"' + string + '"'; - } - - function str(key, holder) { - var i, // The loop counter. - k, // The member key. - v, // The member value. - length, - partial, - mind = gap, - value = holder[key]; - - if (value && typeof value === 'object') { - value = toJSON.call( value, key ); - } - - if (typeof rep === 'function') { - value = rep.call(holder, key, value); - } - - switch (typeof value) { - case 'string': - return quote(value); - - case 'number': - return isFinite(value) ? String(value) : 'null'; - - case 'boolean': - case 'null': - return String(value); - - case 'object': - - if (!value) { - return 'null'; - } - - gap += indent; - partial = []; - - if (Object.prototype.toString.apply(value) === '[object Array]') { - - length = value.length; - for (i = 0; i < length; i += 1) { - partial[i] = str(i, value) || 'null'; - } - - v = partial.length === 0 ? '[]' : - gap ? '[\n' + gap + - partial.join(',\n' + gap) + '\n' + - mind + ']' : - '[' + partial.join(',') + ']'; - gap = mind; - return v; - } - if (rep && typeof rep === 'object') { - length = rep.length; - for (i = 0; i < length; i += 1) { - k = rep[i]; - if (typeof k === 'string') { - v = str(k, value); - if (v) { - partial.push(quote(k) + (gap ? ': ' : ':') + v); - } - } - } - } else { - for (k in value) { - if (Object.hasOwnProperty.call(value, k)) { - v = str(k, value); - if (v) { - partial.push(quote(k) + (gap ? ': ' : ':') + v); - } - } - } - } - - v = partial.length === 0 ? '{}' : - gap ? '{\n' + gap + partial.join(',\n' + gap) + '\n' + - mind + '}' : '{' + partial.join(',') + '}'; - gap = mind; - return v; - } - } - - if (typeof JSON['stringify'] !== 'function') { - JSON['stringify'] = function (value, replacer, space) { - var i; - gap = ''; - indent = ''; - - if (typeof space === 'number') { - for (i = 0; i < space; i += 1) { - indent += ' '; - } - } else if (typeof space === 'string') { - indent = space; - } - rep = replacer; - if (replacer && typeof replacer !== 'function' && - (typeof replacer !== 'object' || - typeof replacer.length !== 'number')) { - throw new Error('JSON.stringify'); - } - return str('', {'': value}); - }; - } - - if (typeof JSON['parse'] !== 'function') { - // JSON is parsed on the server for security. - JSON['parse'] = function (text) {return eval('('+text+')')}; - } -}()); -var NOW = 1 -, READY = false -, READY_BUFFER = [] -, PRESENCE_SUFFIX = '-pnpres' -, DEF_WINDOWING = 10 // MILLISECONDS. -, DEF_TIMEOUT = 10000 // MILLISECONDS. -, DEF_SUB_TIMEOUT = 310 // SECONDS. -, DEF_KEEPALIVE = 60 // SECONDS. -, SECOND = 1000 // A THOUSAND MILLISECONDS. -, REPL = /{([\w\-]+)}/g; - -/** - * UTILITIES - */ -function unique() { return'x'+ ++NOW+''+(+new Date) } -function rnow() { return+new Date } - -/** - * NEXTORIGIN - * ========== - * var next_origin = nextorigin(); - */ -var nextorigin = (function() { - var max = 20 - , ori = Math.floor(Math.random() * max); - return function( origin, failover ) { - return origin.indexOf('pubsub.') > 0 - && origin.replace( - 'pubsub', 'ps' + ( - failover ? uuid().split('-')[0] : - (++ori < max? ori : ori=1) - ) ) || origin; - } -})(); - -/** - * UPDATER - * ======= - * var timestamp = unique(); - */ -function updater( fun, rate ) { - var timeout - , last = 0 - , runnit = function() { - if (last + rate > rnow()) { - clearTimeout(timeout); - timeout = setTimeout( runnit, rate ); - } - else { - last = rnow(); - fun(); - } - }; - - return runnit; -} - -/** - * GREP - * ==== - * var list = grep( [1,2,3], function(item) { return item % 2 } ) - */ -function grep( list, fun ) { - var fin = []; - each( list || [], function(l) { fun(l) && fin.push(l) } ); - return fin -} - -/** - * SUPPLANT - * ======== - * var text = supplant( 'Hello {name}!', { name : 'John' } ) - */ -function supplant( str, values ) { - return str.replace( REPL, function( _, match ) { - return values[match] || _ - } ); -} - -/** - * timeout - * ======= - * timeout( function(){}, 100 ); - */ -function timeout( fun, wait ) { - return setTimeout( fun, wait ); -} - -/** - * uuid - * ==== - * var my_uuid = uuid(); - */ -function uuid(callback) { - var u = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, - function(c) { - var r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8); - return v.toString(16); - }); - if (callback) callback(u); - return u; -} - -/** - * EACH - * ==== - * each( [1,2,3], function(item) { } ) - */ -function each( o, f ) { - if ( !o || !f ) return; - - if ( typeof o[0] != 'undefined' ) - for ( var i = 0, l = o.length; i < l; ) - f.call( o[i], o[i], i++ ); - else - for ( var i in o ) - o.hasOwnProperty && - o.hasOwnProperty(i) && - f.call( o[i], i, o[i] ); -} - -/** - * MAP - * === - * var list = map( [1,2,3], function(item) { return item + 1 } ) - */ -function map( list, fun ) { - var fin = []; - each( list || [], function( k, v ) { fin.push(fun( k, v )) } ); - return fin; -} - -/** - * ENCODE - * ====== - * var encoded_path = encode('path'); - */ -function encode(path) { - return map( (encodeURIComponent(path)).split(''), function(chr) { - return "-_.!~*'()".indexOf(chr) < 0 ? chr : - "%"+chr.charCodeAt(0).toString(16).toUpperCase() - } ).join(''); -} - -/** - * Generate Subscription Channel List - * ================================== - * generate_channel_list(channels_object); - */ -function generate_channel_list(channels) { - var list = []; - each( channels, function( channel, status ) { - if (status.subscribed) list.push(channel); - } ); - return list.sort(); -} - -// PUBNUB READY TO CONNECT - function ready() { timeout( function() { - if (READY) return; - READY = 1; - each( READY_BUFFER, function(connect) { connect() } ); - }, SECOND ); } - -function PN_API(setup) { - var SUB_WINDOWING = +setup['windowing'] || DEF_WINDOWING - , SUB_TIMEOUT = (+setup['timeout'] || DEF_SUB_TIMEOUT) * SECOND - , KEEPALIVE = (+setup['keepalive'] || DEF_KEEPALIVE) * SECOND - , PUBLISH_KEY = setup['publish_key'] || '' - , SUBSCRIBE_KEY = setup['subscribe_key'] || '' - , SSL = setup['ssl'] ? 's' : '' - , ORIGIN = 'http'+SSL+'://'+(setup['origin']||'pubsub.pubnub.com') - , STD_ORIGIN = nextorigin(ORIGIN) - , SUB_ORIGIN = nextorigin(ORIGIN) - , CONNECT = function(){} - , PUB_QUEUE = [] - , SUB_CALLBACK = 0 - , SUB_CHANNEL = 0 - , SUB_RECEIVER = 0 - , SUB_RESTORE = 0 - , SUB_BUFF_WAIT = 0 - , TIMETOKEN = 0 - , CHANNELS = {} - , xdr = setup['xdr'] - , _is_online = setup['_is_online'] || function() { return 1; } - , jsonp_cb = setup['jsonp_cb'] || function(){ return 0; } - , db = setup['db'] || {'get': function(){}, 'set': function(){}} - , UUID = setup['uuid'] || ( db && db['get'](SUBSCRIBE_KEY+'uuid') || ''); - - - - function publish(next) { - if (next) PUB_QUEUE.sending = 0; - if (PUB_QUEUE.sending || !PUB_QUEUE.length) return; - PUB_QUEUE.sending = 1; - xdr(PUB_QUEUE.shift()); - } - - function each_channel(callback) { - each( generate_channel_list(CHANNELS), function(channel) { - var chan = CHANNELS[channel]; - if (!chan) return; - callback(chan); - } ); - } - - // Announce Leave Event - - - var SELF = { - - '_reset_offline' : function() { - SUB_RECEIVER && SUB_RECEIVER(1); - }, - - 'LEAVE' : function( channel, blocking ) { - var data = { 'uuid' : UUID } - , origin = nextorigin(ORIGIN) - , jsonp = jsonp_cb(); - - // Prevent Leaving a Presence Channel - if (channel.indexOf(PRESENCE_SUFFIX) > 0) return; - - if (jsonp != '0') data['callback'] = jsonp; - - xdr({ - blocking : blocking || SSL, - timeout : 2000, - callback : jsonp, - data : data, - url : [ - origin, 'v2', 'presence', 'sub_key', - SUBSCRIBE_KEY, 'channel', encode(channel), 'leave' - ] - }); - }, - /* - PUBNUB.history({ - channel : 'my_chat_channel', - limit : 100, - callback : function(history) { } - }); - */ - 'history' : function( args, callback ) { - var callback = args['callback'] || callback - , count = args['count'] || args['limit'] || 100 - , reverse = args['reverse'] || "false" - , err = args['error'] || function(){} - , channel = args['channel'] - , start = args['start'] - , end = args['end'] - , params = {} - , jsonp = jsonp_cb(); - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - params['stringtoken'] = 'true'; - params['count'] = count; - params['reverse'] = reverse; - - if (jsonp) params['callback'] = jsonp; - if (start) params['start'] = start; - if (end) params['end'] = end; - - // Send Message - xdr({ - callback : jsonp, - data : params, - success : function(response) { callback(response) }, - fail : err, - url : [ - STD_ORIGIN, 'v2', 'history', 'sub-key', - SUBSCRIBE_KEY, 'channel', encode(channel) - ] - }); - }, - - /* - PUBNUB.replay({ - source : 'my_channel', - destination : 'new_channel' - }); - */ - 'replay' : function(args) { - var callback = callback || args['callback'] || function(){} - , source = args['source'] - , destination = args['destination'] - , stop = args['stop'] - , start = args['start'] - , end = args['end'] - , reverse = args['reverse'] - , limit = args['limit'] - , jsonp = jsonp_cb() - , data = {} - , url; - - // Check User Input - if (!source) return error('Missing Source Channel'); - if (!destination) return error('Missing Destination Channel'); - if (!PUBLISH_KEY) return error('Missing Publish Key'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // Setup URL Params - if (jsonp != '0') data['callback'] = jsonp; - if (stop) data['stop'] = 'all'; - if (reverse) data['reverse'] = 'true'; - if (start) data['start'] = start; - if (end) data['end'] = end; - if (limit) data['count'] = limit; - - // Compose URL Parts - url = [ - STD_ORIGIN, 'v1', 'replay', - PUBLISH_KEY, SUBSCRIBE_KEY, - source, destination - ]; - - // Start (or Stop) Replay! - xdr({ - callback : jsonp, - success : function(response) { callback(response) }, - fail : function() { callback([ 0, 'Disconnected' ]) }, - url : url, - data : data - }); - }, - - /* - PUBNUB.time(function(time){ }); - */ - 'time' : function(callback) { - var jsonp = jsonp_cb(); - xdr({ - callback : jsonp, - timeout : SECOND*5, - url : [STD_ORIGIN, 'time', jsonp], - success : function(response) { callback(response[0]) }, - fail : function() { callback(0) } - }); - }, - - /* - PUBNUB.publish({ - channel : 'my_chat_channel', - message : 'hello!' - }); - */ - 'publish' : function( args, callback ) { - var callback = callback || args['callback'] || function(){} - , msg = args['message'] - , channel = args['channel'] - , jsonp = jsonp_cb() - , url; - - if (!msg) return error('Missing Message'); - if (!channel) return error('Missing Channel'); - if (!PUBLISH_KEY) return error('Missing Publish Key'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // If trying to send Object - msg = JSON['stringify'](msg); - - // Create URL - url = [ - STD_ORIGIN, 'publish', - PUBLISH_KEY, SUBSCRIBE_KEY, - 0, encode(channel), - jsonp, encode(msg) - ]; - - // Queue Message Send - PUB_QUEUE.push({ - callback : jsonp, - timeout : SECOND*5, - url : url, - data : { 'uuid' : UUID }, - success : function(response){callback(response);publish(1)}, - fail : function(){callback([0,'Failed',msg]);publish(1)} - }); - - // Send Message - publish(); - }, - - /* - PUBNUB.unsubscribe({ channel : 'my_chat' }); - */ - 'unsubscribe' : function(args) { - var channel = args['channel']; - - TIMETOKEN = 0; - SUB_RESTORE = 1; - - // Prepare Channel(s) - channel = map( ( - channel.join ? channel.join(',') : ''+channel - ).split(','), function(channel) { - return channel + ',' + channel + PRESENCE_SUFFIX; - } ).join(','); - - // Iterate over Channels - each( channel.split(','), function(channel) { - if (READY) SELF['LEAVE']( channel, 0 ); - CHANNELS[channel] = 0; - } ); - - // ReOpen Connection if Any Channels Left - if (READY) CONNECT(); - }, - - /* - PUBNUB.subscribe({ - channel : 'my_chat' - callback : function(message) { } - }); - */ - 'subscribe' : function( args, callback ) { - var channel = args['channel'] - , callback = callback || args['callback'] - , callback = callback || args['message'] - , connect = args['connect'] || function(){} - , reconnect = args['reconnect'] || function(){} - , disconnect = args['disconnect'] || function(){} - , presence = args['presence'] || 0 - , noheresync = args['noheresync'] || 0 - , sub_timeout = args['timeout'] || SUB_TIMEOUT - , windowing = args['windowing'] || SUB_WINDOWING - , restore = args['restore']; - - // Restore Enabled? - if (restore) SUB_RESTORE = 1; - - TIMETOKEN = 0; - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // Setup Channel(s) - each( (channel.join ? channel.join(',') : ''+channel).split(','), - function(channel) { - var settings = CHANNELS[channel] || {}; - - // Store Channel State - CHANNELS[SUB_CHANNEL = channel] = { - name : channel, - connected : settings.connected, - disconnected : settings.disconnected, - subscribed : 1, - callback : SUB_CALLBACK = callback, - connect : connect, - disconnect : disconnect, - reconnect : reconnect - }; - - // Presence Enabled? - if (!presence) return; - - // Subscribe Presence Channel - SELF['subscribe']({ - 'channel' : channel + PRESENCE_SUFFIX, - 'callback' : presence - }); - - // Presence Subscribed? - if (settings.subscribed) return; - - // See Who's Here Now? - if (noheresync) return; - SELF['here_now']({ - 'channel' : channel, - 'callback' : function(here) { - each( 'uuids' in here ? here['uuids'] : [], - function(uid) { presence( { - 'action' : 'join', - 'uuid' : uid, - 'timestamp' : rnow(), - 'occupancy' : here['occupancy'] || 1 - }, here, channel ); } ); - } - }); - } ); - - // Test Network Connection - function _test_connection(success) { - if (success) { - // Begin Next Socket Connection - timeout( _connect, SECOND ); - } - else { - // New Origin on Failed Connection - STD_ORIGIN = nextorigin( ORIGIN, 1 ); - SUB_ORIGIN = nextorigin( ORIGIN, 1 ); - - // Re-test Connection - timeout( function() { - SELF['time'](_test_connection); - }, SECOND ); - } - - // Disconnect & Reconnect - each_channel(function(channel){ - // Reconnect - if (success && channel.disconnected) { - channel.disconnected = 0; - return channel.reconnect(channel.name); - } - - // Disconnect - if (!success && !channel.disconnected) { - channel.disconnected = 1; - channel.disconnect(channel.name); - } - }); - } - - // Evented Subscribe - function _connect() { - var jsonp = jsonp_cb() - , channels = generate_channel_list(CHANNELS).join(','); - - // Stop Connection - if (!channels) return; - - // Connect to PubNub Subscribe Servers - SUB_RECEIVER = xdr({ - timeout : sub_timeout, - callback : jsonp, - fail : function() { SELF['time'](_test_connection) }, - data : { 'uuid' : UUID }, - url : [ - SUB_ORIGIN, 'subscribe', - SUBSCRIBE_KEY, encode(channels), - jsonp, TIMETOKEN - ], - success : function(messages) { - if (!messages) return timeout( _connect, windowing ); - - // Connect - each_channel(function(channel){ - if (channel.connected) return; - channel.connected = 1; - channel.connect(channel.name); - }); - - // Restore Previous Connection Point if Needed - TIMETOKEN = !TIMETOKEN && - SUB_RESTORE && - db['get'](SUBSCRIBE_KEY) || messages[1]; - - // Update Saved Timetoken - if (TIMETOKEN) db['set']( SUBSCRIBE_KEY, messages[1] ); - - // Route Channel <---> Callback for Message - var next_callback = (function() { - var channels = (messages.length>2?messages[2]:'') - , list = channels.split(','); - - return function() { - var channel = list.shift()||''; - return [ - (CHANNELS[channel]||{}) - .callback||SUB_CALLBACK, - (channel||SUB_CHANNEL) - .split(PRESENCE_SUFFIX)[0] - ]; - }; - })(); - - each( messages[0], function(msg) { - var next = next_callback(); - if (!CHANNELS[next[1]].subscribed) return; - next[0]( msg, messages, next[1] ); - } ); - - timeout( _connect, windowing ); - } - }); - } - - CONNECT = function() { - // Close Previous Subscribe Connection - SELF['_reset_offline'](); - - // Begin Recursive Subscribe - clearTimeout(SUB_BUFF_WAIT); - SUB_BUFF_WAIT = timeout( _connect, 100 ); - }; - - // Reduce Status Flicker - if (!READY) return READY_BUFFER.push(CONNECT); - - // Connect Now - CONNECT(); - }, - - 'here_now' : function( args, callback ) { - var callback = args['callback'] || callback - , err = args['error'] || function(){} - , channel = args['channel'] - , jsonp = jsonp_cb() - , data = null; - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - if (jsonp != '0') { - data = {}; - data['callback'] = jsonp; - } - - xdr({ - callback : jsonp, - data : data, - success : function(response) { callback(response) }, - fail : err, - url : [ - STD_ORIGIN, 'v2', 'presence', - 'sub_key', SUBSCRIBE_KEY, - 'channel', encode(channel) - ] - }); - }, - - // Expose PUBNUB Functions - 'xdr' : xdr, - 'ready' : ready, - 'db' : db, - 'uuid' : uuid, - 'each' : each, - 'map' : map, - 'grep' : grep, - 'supplant' : supplant, - 'now' : rnow, - 'unique' : unique, - 'updater' : updater, - 'poll_online' : function() { - _is_online() || SELF['_reset_offline'](); - timeout( SELF['poll_online'], SECOND ); - }, - 'poll_online2' : function() { - SELF['time'](function(success){ - success || SELF['_reset_offline'](); - timeout( SELF['poll_online2'], KEEPALIVE ); - }) - } - }; - if (!UUID) UUID = SELF['uuid'](); - db['set']( SUBSCRIBE_KEY + 'uuid', UUID ); - - timeout( SELF['poll_online'], SECOND ); - timeout( SELF['poll_online2'], KEEPALIVE ); - - return SELF; -} -// 3.4/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= JSON =============================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -(window['JSON'] && window['JSON']['stringify']) || (function () { - window['JSON'] || (window['JSON'] = {}); - - function toJSON(key) { - try { return this.valueOf() } - catch(e) { return null } - } - - var cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, - escapable = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, - gap, - indent, - meta = { // table of character substitutions - '\b': '\\b', - '\t': '\\t', - '\n': '\\n', - '\f': '\\f', - '\r': '\\r', - '"' : '\\"', - '\\': '\\\\' - }, - rep; - - function quote(string) { - escapable.lastIndex = 0; - return escapable.test(string) ? - '"' + string.replace(escapable, function (a) { - var c = meta[a]; - return typeof c === 'string' ? c : - '\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4); - }) + '"' : - '"' + string + '"'; - } - - function str(key, holder) { - var i, // The loop counter. - k, // The member key. - v, // The member value. - length, - partial, - mind = gap, - value = holder[key]; - - if (value && typeof value === 'object') { - value = toJSON.call( value, key ); - } - - if (typeof rep === 'function') { - value = rep.call(holder, key, value); - } - - switch (typeof value) { - case 'string': - return quote(value); - - case 'number': - return isFinite(value) ? String(value) : 'null'; - - case 'boolean': - case 'null': - return String(value); - - case 'object': - - if (!value) { - return 'null'; - } - - gap += indent; - partial = []; - - if (Object.prototype.toString.apply(value) === '[object Array]') { - - length = value.length; - for (i = 0; i < length; i += 1) { - partial[i] = str(i, value) || 'null'; - } - - v = partial.length === 0 ? '[]' : - gap ? '[\n' + gap + - partial.join(',\n' + gap) + '\n' + - mind + ']' : - '[' + partial.join(',') + ']'; - gap = mind; - return v; - } - if (rep && typeof rep === 'object') { - length = rep.length; - for (i = 0; i < length; i += 1) { - k = rep[i]; - if (typeof k === 'string') { - v = str(k, value); - if (v) { - partial.push(quote(k) + (gap ? ': ' : ':') + v); - } - } - } - } else { - for (k in value) { - if (Object.hasOwnProperty.call(value, k)) { - v = str(k, value); - if (v) { - partial.push(quote(k) + (gap ? ': ' : ':') + v); - } - } - } - } - - v = partial.length === 0 ? '{}' : - gap ? '{\n' + gap + partial.join(',\n' + gap) + '\n' + - mind + '}' : '{' + partial.join(',') + '}'; - gap = mind; - return v; - } - } - - if (typeof JSON['stringify'] !== 'function') { - JSON['stringify'] = function (value, replacer, space) { - var i; - gap = ''; - indent = ''; - - if (typeof space === 'number') { - for (i = 0; i < space; i += 1) { - indent += ' '; - } - } else if (typeof space === 'string') { - indent = space; - } - rep = replacer; - if (replacer && typeof replacer !== 'function' && - (typeof replacer !== 'object' || - typeof replacer.length !== 'number')) { - throw new Error('JSON.stringify'); - } - return str('', {'': value}); - }; - } - - if (typeof JSON['parse'] !== 'function') { - // JSON is parsed on the server for security. - JSON['parse'] = function (text) {return eval('('+text+')')}; - } -}()); -/* --------------------------------------------------------------------------- -WAIT! - This file depends on instructions from the PUBNUB Cloud. -http://www.pubnub.com/account-javascript-api-include ---------------------------------------------------------------------------- */ - -/* --------------------------------------------------------------------------- -PubNub Real-time Cloud-Hosted Push API and Push Notification Client Frameworks -Copyright (c) 2011 PubNub Inc. -http://www.pubnub.com/ -http://www.pubnub.com/terms ---------------------------------------------------------------------------- */ - -/* --------------------------------------------------------------------------- -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. ---------------------------------------------------------------------------- */ - -/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= UTIL =============================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -window['PUBNUB'] || (function() { - -/** - * UTIL LOCALS - */ - -var SWF = 'https://pubnub.a.ssl.fastly.net/pubnub.swf' -, ASYNC = 'async' -, URLBIT = '/' -, PARAMSBIT = '&' -, UA = navigator.userAgent -, XORIGN = UA.indexOf('MSIE 6') == -1; - -/** - * CONSOLE COMPATIBILITY - */ -window.console || (window.console=window.console||{}); -console.log || ( - console.log = - console.error = - ((window.opera||{}).postError||function(){}) -); - - - -/** - * LOCAL STORAGE OR COOKIE - */ -var db = (function(){ - var ls = window['localStorage']; - return { - 'get' : function(key) { - try { - if (ls) return ls.getItem(key); - if (document.cookie.indexOf(key) == -1) return null; - return ((document.cookie||'').match( - RegExp(key+'=([^;]+)') - )||[])[1] || null; - } catch(e) { return } - }, - 'set' : function( key, value ) { - try { - if (ls) return ls.setItem( key, value ) && 0; - document.cookie = key + '=' + value + - '; expires=Thu, 1 Aug 2030 20:00:00 UTC; path=/'; - } catch(e) { return } - } - }; -})(); - - -/** - * $ - * = - * var div = $('divid'); - */ -function $(id) { return document.getElementById(id) } - -/** - * ERROR - * ===== - * error('message'); - */ -function error(message) { console['error'](message) } - -/** - * SEARCH - * ====== - * var elements = search('a div span'); - */ -function search( elements, start ) { - var list = []; - each( elements.split(/\s+/), function(el) { - each( (start || document).getElementsByTagName(el), function(node) { - list.push(node); - } ); - } ); - return list; -} - - - -/** - * BIND - * ==== - * bind( 'keydown', search('a')[0], function(element) { - * ... - * } ); - */ -function bind( type, el, fun ) { - each( type.split(','), function(etype) { - var rapfun = function(e) { - if (!e) e = window.event; - if (!fun(e)) { - e.cancelBubble = true; - e.returnValue = false; - e.preventDefault && e.preventDefault(); - e.stopPropagation && e.stopPropagation(); - } - }; - - if ( el.addEventListener ) el.addEventListener( etype, rapfun, false ); - else if ( el.attachEvent ) el.attachEvent( 'on' + etype, rapfun ); - else el[ 'on' + etype ] = rapfun; - } ); -} - -/** - * UNBIND - * ====== - * unbind( 'keydown', search('a')[0] ); - */ -function unbind( type, el, fun ) { - if ( el.removeEventListener ) el.removeEventListener( type, false ); - else if ( el.detachEvent ) el.detachEvent( 'on' + type, false ); - else el[ 'on' + type ] = null; -} - -/** - * HEAD - * ==== - * head().appendChild(elm); - */ -function head() { return search('head')[0] } - -/** - * ATTR - * ==== - * var attribute = attr( node, 'attribute' ); - */ -function attr( node, attribute, value ) { - if (value) node.setAttribute( attribute, value ); - else return node && node.getAttribute && node.getAttribute(attribute); -} - -/** - * CSS - * === - * var obj = create('div'); - */ -function css( element, styles ) { - for (var style in styles) if (styles.hasOwnProperty(style)) - try {element.style[style] = styles[style] + ( - '|width|height|top|left|'.indexOf(style) > 0 && - typeof styles[style] == 'number' - ? 'px' : '' - )}catch(e){} -} - -/** - * CREATE - * ====== - * var obj = create('div'); - */ -function create(element) { return document.createElement(element) } - - -/** - * jsonp_cb - * ======== - * var callback = jsonp_cb(); - */ -function jsonp_cb() { return XORIGN || FDomainRequest() ? 0 : unique() } - - - -/** - * EVENTS - * ====== - * PUBNUB.events.bind( 'you-stepped-on-flower', function(message) { - * // Do Stuff with message - * } ); - * - * PUBNUB.events.fire( 'you-stepped-on-flower', "message-data" ); - * PUBNUB.events.fire( 'you-stepped-on-flower', {message:"data"} ); - * PUBNUB.events.fire( 'you-stepped-on-flower', [1,2,3] ); - * - */ -var events = { - 'list' : {}, - 'unbind' : function( name ) { events.list[name] = [] }, - 'bind' : function( name, fun ) { - (events.list[name] = events.list[name] || []).push(fun); - }, - 'fire' : function( name, data ) { - each( - events.list[name] || [], - function(fun) { fun(data) } - ); - } -}; - -/** - * XDR Cross Domain Request - * ======================== - * xdr({ - * url : ['http://www.blah.com/url'], - * success : function(response) {}, - * fail : function() {} - * }); - */ -function xdr( setup ) { - if (XORIGN || FDomainRequest()) return ajax(setup); - - var script = create('script') - , callback = setup.callback - , id = unique() - , finished = 0 - , xhrtme = setup.timeout || DEF_TIMEOUT - , timer = timeout( function(){done(1)}, xhrtme ) - , fail = setup.fail || function(){} - , success = setup.success || function(){} - - , append = function() { - head().appendChild(script); - } - - , done = function( failed, response ) { - if (finished) return; - finished = 1; - - failed || success(response); - script.onerror = null; - clearTimeout(timer); - - timeout( function() { - failed && fail(); - var s = $(id) - , p = s && s.parentNode; - p && p.removeChild(s); - }, SECOND ); - }; - - window[callback] = function(response) { - done( 0, response ); - }; - - if (!setup.blocking) script[ASYNC] = ASYNC; - - script.onerror = function() { done(1) }; - script.src = setup.url.join(URLBIT); - - if (setup.data) { - var params = []; - script.src += "?"; - for (var key in setup.data) { - params.push(key+"="+setup.data[key]); - } - script.src += params.join(PARAMSBIT); - } - attr( script, 'id', id ); - - append(); - return done; -} - -/** - * CORS XHR Request - * ================ - * xdr({ - * url : ['http://www.blah.com/url'], - * success : function(response) {}, - * fail : function() {} - * }); - */ -function ajax( setup ) { - var xhr, response - , finished = function() { - if (loaded) return; - loaded = 1; - - clearTimeout(timer); - - try { response = JSON['parse'](xhr.responseText); } - catch (r) { return done(1); } - - success(response); - } - , complete = 0 - , loaded = 0 - , xhrtme = setup.timeout || DEF_TIMEOUT - , timer = timeout( function(){done(1)}, xhrtme ) - , fail = setup.fail || function(){} - , success = setup.success || function(){} - , done = function(failed) { - if (complete) return; - complete = 1; - - clearTimeout(timer); - - if (xhr) { - xhr.onerror = xhr.onload = null; - xhr.abort && xhr.abort(); - xhr = null; - } - - failed && fail(); - }; - - // Send - try { - xhr = FDomainRequest() || - window.XDomainRequest && - new XDomainRequest() || - new XMLHttpRequest(); - - xhr.onerror = xhr.onabort = function(){ done(1) }; - xhr.onload = xhr.onloadend = finished; - xhr.timeout = xhrtme; - - var url = setup.url.join(URLBIT); - if (setup.data) { - var params = []; - var key; - console.log(setup.data); - url += "?"; - for (key in setup.data) params.push(key+"="+setup.data[key]); - url += params.join(PARAMSBIT); - } - - xhr.open( 'GET', url, (typeof(setup.blocking === 'undefined')) ); - xhr.send(); - } - catch(eee) { - done(0); - XORIGN = 0; - return xdr(setup); - } - - // Return 'done' - return done; -} - - - - // Test Connection State -function _is_online() { - if (!('onLine' in navigator)) return 1; - return navigator['onLine']; -} - - -/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= PUBNUB ===========================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -var PDIV = $('pubnub') || 0 -, CREATE_PUBNUB = function(setup) { - - // Force JSONP if requested from user. - if (setup['jsonp']) XORIGN = 0; - - var SUBSCRIBE_KEY = setup['subscribe_key'] || '' - , KEEPALIVE = (+setup['keepalive'] || DEF_KEEPALIVE) * SECOND - , UUID = setup['uuid'] || db['get'](SUBSCRIBE_KEY+'uuid') || ''; - - setup['xdr'] = xdr; - setup['db'] = db; - setup['_is_online'] = _is_online; - setup['jsonp_cb'] = jsonp_cb; - var SELF = PN_API(setup); - - - SELF['css'] = css; - SELF['$'] = $; - SELF['create'] = create; - SELF['bind'] = bind; - SELF['head'] = head; - SELF['search'] = search; - SELF['attr'] = attr; - SELF['events'] = events; - SELF['init'] = CREATE_PUBNUB; - - // Return without Testing - if (setup['notest']) return SELF; - - // Add Leave Functions - bind( 'beforeunload', window, function() { - each_channel(function(ch){ SELF['LEAVE']( ch.name, 1 ) }); - return true; - } ); - - bind( 'offline', window, SELF['_reset_offline'] ); - bind( 'offline', document, SELF['_reset_offline'] ); - - // Return PUBNUB Socket Object - return SELF; -}; - - - -// Bind for PUBNUB Readiness to Subscribe -bind( 'load', window, function(){ timeout( ready, 0 ) } ); - -var pdiv = PDIV || {}; - -// CREATE A PUBNUB GLOBAL OBJECT -PUBNUB = CREATE_PUBNUB({ - 'notest' : 1, - 'publish_key' : attr( pdiv, 'pub-key' ), - 'subscribe_key' : attr( pdiv, 'sub-key' ), - 'ssl' : !document.location.href.indexOf('https') || - attr( pdiv, 'ssl' ) == 'on', - 'origin' : attr( pdiv, 'origin' ), - 'uuid' : attr( pdiv, 'uuid' ) -}); - -// jQuery Interface -window['jQuery'] && (window['jQuery']['PUBNUB'] = PUBNUB); - -// For Modern JS + Testling.js - http://testling.com/ -typeof(module) !== 'undefined' && (module['exports'] = PUBNUB) && ready(); - -var pubnubs = $('pubnubs') || 0; - -// LEAVE NOW IF NO PDIV. -if (!PDIV) return; - -// PUBNUB Flash Socket -css( PDIV, { 'position' : 'absolute', 'top' : -SECOND } ); - -if ('opera' in window || attr( PDIV, 'flash' )) PDIV['innerHTML'] = - ''; - -// Create Interface for Opera Flash -PUBNUB['rdx'] = function( id, data ) { - if (!data) return FDomainRequest[id]['onerror'](); - FDomainRequest[id]['responseText'] = unescape(data); - FDomainRequest[id]['onload'](); -}; - -function FDomainRequest() { - if (!pubnubs || !pubnubs['get']) return 0; - - var fdomainrequest = { - 'id' : FDomainRequest['id']++, - 'send' : function() {}, - 'abort' : function() { fdomainrequest['id'] = {} }, - 'open' : function( method, url ) { - FDomainRequest[fdomainrequest['id']] = fdomainrequest; - pubnubs['get']( fdomainrequest['id'], url ); - } - }; - - return fdomainrequest; -} -FDomainRequest['id'] = SECOND; - -})(); -(function(){ - -// --------------------------------------------------------------------------- -// WEBSOCKET INTERFACE -// --------------------------------------------------------------------------- -var WS = PUBNUB['ws'] = function( url, protocols ) { - if (!(this instanceof WS)) return new WS( url, protocols ); - - var self = this - , url = self.url = url || '' - , protocol = self.protocol = protocols || 'Sec-WebSocket-Protocol' - , bits = url.split('/') - , setup = { - 'ssl' : bits[0] === 'wss:' - ,'origin' : bits[2] - ,'publish_key' : bits[3] - ,'subscribe_key' : bits[4] - ,'channel' : bits[5] - }; - - // READY STATES - self['CONNECTING'] = 0; // The connection is not yet open. - self['OPEN'] = 1; // The connection is open and ready to communicate. - self['CLOSING'] = 2; // The connection is in the process of closing. - self['CLOSED'] = 3; // The connection is closed or couldn't be opened. - - // CLOSE STATES - self['CLOSE_NORMAL'] = 1000; // Normal Intended Close; completed. - self['CLOSE_GOING_AWAY'] = 1001; // Closed Unexpecttedly. - self['CLOSE_PROTOCOL_ERROR'] = 1002; // Server: Not Supported. - self['CLOSE_UNSUPPORTED'] = 1003; // Server: Unsupported Protocol. - self['CLOSE_TOO_LARGE'] = 1004; // Server: Too Much Data. - self['CLOSE_NO_STATUS'] = 1005; // Server: No reason. - self['CLOSE_ABNORMAL'] = 1006; // Abnormal Disconnect. - - // Events Default - self['onclose'] = self['onerror'] = - self['onmessage'] = self['onopen'] = - self['onsend'] = function(){}; - - // Attributes - self['binaryType'] = ''; - self['extensions'] = ''; - self['bufferedAmount'] = 0; - self['trasnmitting'] = false; - self['buffer'] = []; - self['readyState'] = self['CONNECTING']; - - // Close if no setup. - if (!url) { - self['readyState'] = self['CLOSED']; - self['onclose']({ - 'code' : self['CLOSE_ABNORMAL'], - 'reason' : 'Missing URL', - 'wasClean' : true - }); - return self; - } - - // PubNub WebSocket Emulation - self.pubnub = PUBNUB['init'](setup); - self.pubnub.setup = setup; - self.setup = setup; - - self.pubnub['subscribe']({ - 'restore' : false, - 'channel' : setup['channel'], - 'disconnect' : self['onerror'], - 'reconnect' : self['onopen'], - 'error' : function() { - self['onclose']({ - 'code' : self['CLOSE_ABNORMAL'], - 'reason' : 'Missing URL', - 'wasClean' : false - }); - }, - 'callback' : function(message) { - self['onmessage']({ 'data' : message }); - }, - 'connect' : function() { - self['readyState'] = self['OPEN']; - self['onopen'](); - } - }); -}; - -// --------------------------------------------------------------------------- -// WEBSOCKET SEND -// --------------------------------------------------------------------------- -WS.prototype.send = function(data) { - var self = this; - self.pubnub['publish']({ - 'channel' : self.pubnub.setup['channel'], - 'message' : data, - 'callback' : function(response) { - self['onsend']({ 'data' : response }); - } - }); -}; - -// --------------------------------------------------------------------------- -// WEBSOCKET CLOSE -// --------------------------------------------------------------------------- -WS.prototype.close = function() { - var self = this; - self.pubnub['unsubscribe']({ 'channel' : self.pubnub.setup['channel'] }); - self['readyState'] = self['CLOSED']; - self['onclose']({}); -}; - -})(); -(function(){ - -// --------------------------------------------------------------------------- -// WEBSOCKET INTERFACE -// --------------------------------------------------------------------------- -var WS = PUBNUB['ws'] = function( url, protocols ) { - if (!(this instanceof WS)) return new WS( url, protocols ); - - var self = this - , url = self.url = url || '' - , protocol = self.protocol = protocols || 'Sec-WebSocket-Protocol' - , bits = url.split('/') - , setup = { - 'ssl' : bits[0] === 'wss:' - ,'origin' : bits[2] - ,'publish_key' : bits[3] - ,'subscribe_key' : bits[4] - ,'channel' : bits[5] - }; - - // READY STATES - self['CONNECTING'] = 0; // The connection is not yet open. - self['OPEN'] = 1; // The connection is open and ready to communicate. - self['CLOSING'] = 2; // The connection is in the process of closing. - self['CLOSED'] = 3; // The connection is closed or couldn't be opened. - - // CLOSE STATES - self['CLOSE_NORMAL'] = 1000; // Normal Intended Close; completed. - self['CLOSE_GOING_AWAY'] = 1001; // Closed Unexpecttedly. - self['CLOSE_PROTOCOL_ERROR'] = 1002; // Server: Not Supported. - self['CLOSE_UNSUPPORTED'] = 1003; // Server: Unsupported Protocol. - self['CLOSE_TOO_LARGE'] = 1004; // Server: Too Much Data. - self['CLOSE_NO_STATUS'] = 1005; // Server: No reason. - self['CLOSE_ABNORMAL'] = 1006; // Abnormal Disconnect. - - // Events Default - self['onclose'] = self['onerror'] = - self['onmessage'] = self['onopen'] = - self['onsend'] = function(){}; - - // Attributes - self['binaryType'] = ''; - self['extensions'] = ''; - self['bufferedAmount'] = 0; - self['trasnmitting'] = false; - self['buffer'] = []; - self['readyState'] = self['CONNECTING']; - - // Close if no setup. - if (!url) { - self['readyState'] = self['CLOSED']; - self['onclose']({ - 'code' : self['CLOSE_ABNORMAL'], - 'reason' : 'Missing URL', - 'wasClean' : true - }); - return self; - } - - // PubNub WebSocket Emulation - self.pubnub = PUBNUB['init'](setup); - self.pubnub.setup = setup; - self.setup = setup; - - self.pubnub['subscribe']({ - 'restore' : false, - 'channel' : setup['channel'], - 'disconnect' : self['onerror'], - 'reconnect' : self['onopen'], - 'error' : function() { - self['onclose']({ - 'code' : self['CLOSE_ABNORMAL'], - 'reason' : 'Missing URL', - 'wasClean' : false - }); - }, - 'callback' : function(message) { - self['onmessage']({ 'data' : message }); - }, - 'connect' : function() { - self['readyState'] = self['OPEN']; - self['onopen'](); - } - }); -}; - -// --------------------------------------------------------------------------- -// WEBSOCKET SEND -// --------------------------------------------------------------------------- -WS.prototype.send = function(data) { - var self = this; - self.pubnub['publish']({ - 'channel' : self.pubnub.setup['channel'], - 'message' : data, - 'callback' : function(response) { - self['onsend']({ 'data' : response }); - } - }); -}; - -// --------------------------------------------------------------------------- -// WEBSOCKET CLOSE -// --------------------------------------------------------------------------- -WS.prototype.close = function() { - var self = this; - self.pubnub['unsubscribe']({ 'channel' : self.pubnub.setup['channel'] }); - self['readyState'] = self['CLOSED']; - self['onclose']({}); -}; - -})(); -/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= JSON =============================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -(window['JSON'] && window['JSON']['stringify']) || (function () { - window['JSON'] || (window['JSON'] = {}); - - function toJSON(key) { - try { return this.valueOf() } - catch(e) { return null } - } - - var cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, - escapable = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, - gap, - indent, - meta = { // table of character substitutions - '\b': '\\b', - '\t': '\\t', - '\n': '\\n', - '\f': '\\f', - '\r': '\\r', - '"' : '\\"', - '\\': '\\\\' - }, - rep; - - function quote(string) { - escapable.lastIndex = 0; - return escapable.test(string) ? - '"' + string.replace(escapable, function (a) { - var c = meta[a]; - return typeof c === 'string' ? c : - '\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4); - }) + '"' : - '"' + string + '"'; - } - - function str(key, holder) { - var i, // The loop counter. - k, // The member key. - v, // The member value. - length, - partial, - mind = gap, - value = holder[key]; - - if (value && typeof value === 'object') { - value = toJSON.call( value, key ); - } - - if (typeof rep === 'function') { - value = rep.call(holder, key, value); - } - - switch (typeof value) { - case 'string': - return quote(value); - - case 'number': - return isFinite(value) ? String(value) : 'null'; - - case 'boolean': - case 'null': - return String(value); - - case 'object': - - if (!value) { - return 'null'; - } - - gap += indent; - partial = []; - - if (Object.prototype.toString.apply(value) === '[object Array]') { - - length = value.length; - for (i = 0; i < length; i += 1) { - partial[i] = str(i, value) || 'null'; - } - - v = partial.length === 0 ? '[]' : - gap ? '[\n' + gap + - partial.join(',\n' + gap) + '\n' + - mind + ']' : - '[' + partial.join(',') + ']'; - gap = mind; - return v; - } - if (rep && typeof rep === 'object') { - length = rep.length; - for (i = 0; i < length; i += 1) { - k = rep[i]; - if (typeof k === 'string') { - v = str(k, value); - if (v) { - partial.push(quote(k) + (gap ? ': ' : ':') + v); - } - } - } - } else { - for (k in value) { - if (Object.hasOwnProperty.call(value, k)) { - v = str(k, value); - if (v) { - partial.push(quote(k) + (gap ? ': ' : ':') + v); - } - } - } - } - - v = partial.length === 0 ? '{}' : - gap ? '{\n' + gap + partial.join(',\n' + gap) + '\n' + - mind + '}' : '{' + partial.join(',') + '}'; - gap = mind; - return v; - } - } - - if (typeof JSON['stringify'] !== 'function') { - JSON['stringify'] = function (value, replacer, space) { - var i; - gap = ''; - indent = ''; - - if (typeof space === 'number') { - for (i = 0; i < space; i += 1) { - indent += ' '; - } - } else if (typeof space === 'string') { - indent = space; - } - rep = replacer; - if (replacer && typeof replacer !== 'function' && - (typeof replacer !== 'object' || - typeof replacer.length !== 'number')) { - throw new Error('JSON.stringify'); - } - return str('', {'': value}); - }; - } - - if (typeof JSON['parse'] !== 'function') { - // JSON is parsed on the server for security. - JSON['parse'] = function (text) {return eval('('+text+')')}; - } -}()); -var NOW = 1 -, READY = false -, READY_BUFFER = [] -, PRESENCE_SUFFIX = '-pnpres' -, DEF_WINDOWING = 10 // MILLISECONDS. -, DEF_TIMEOUT = 10000 // MILLISECONDS. -, DEF_SUB_TIMEOUT = 310 // SECONDS. -, DEF_KEEPALIVE = 60 // SECONDS. -, SECOND = 1000 // A THOUSAND MILLISECONDS. -, REPL = /{([\w\-]+)}/g; - -/** - * UTILITIES - */ -function unique() { return'x'+ ++NOW+''+(+new Date) } -function rnow() { return+new Date } - -/** - * NEXTORIGIN - * ========== - * var next_origin = nextorigin(); - */ -var nextorigin = (function() { - var max = 20 - , ori = Math.floor(Math.random() * max); - return function( origin, failover ) { - return origin.indexOf('pubsub.') > 0 - && origin.replace( - 'pubsub', 'ps' + ( - failover ? uuid().split('-')[0] : - (++ori < max? ori : ori=1) - ) ) || origin; - } -})(); - -/** - * UPDATER - * ======= - * var timestamp = unique(); - */ -function updater( fun, rate ) { - var timeout - , last = 0 - , runnit = function() { - if (last + rate > rnow()) { - clearTimeout(timeout); - timeout = setTimeout( runnit, rate ); - } - else { - last = rnow(); - fun(); - } - }; - - return runnit; -} - -/** - * GREP - * ==== - * var list = grep( [1,2,3], function(item) { return item % 2 } ) - */ -function grep( list, fun ) { - var fin = []; - each( list || [], function(l) { fun(l) && fin.push(l) } ); - return fin -} - -/** - * SUPPLANT - * ======== - * var text = supplant( 'Hello {name}!', { name : 'John' } ) - */ -function supplant( str, values ) { - return str.replace( REPL, function( _, match ) { - return values[match] || _ - } ); -} - -/** - * timeout - * ======= - * timeout( function(){}, 100 ); - */ -function timeout( fun, wait ) { - return setTimeout( fun, wait ); -} - -/** - * uuid - * ==== - * var my_uuid = uuid(); - */ -function uuid(callback) { - var u = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, - function(c) { - var r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8); - return v.toString(16); - }); - if (callback) callback(u); - return u; -} - -/** - * EACH - * ==== - * each( [1,2,3], function(item) { } ) - */ -function each( o, f ) { - if ( !o || !f ) return; - - if ( typeof o[0] != 'undefined' ) - for ( var i = 0, l = o.length; i < l; ) - f.call( o[i], o[i], i++ ); - else - for ( var i in o ) - o.hasOwnProperty && - o.hasOwnProperty(i) && - f.call( o[i], i, o[i] ); -} - -/** - * MAP - * === - * var list = map( [1,2,3], function(item) { return item + 1 } ) - */ -function map( list, fun ) { - var fin = []; - each( list || [], function( k, v ) { fin.push(fun( k, v )) } ); - return fin; -} - -/** - * ENCODE - * ====== - * var encoded_path = encode('path'); - */ -function encode(path) { - return map( (encodeURIComponent(path)).split(''), function(chr) { - return "-_.!~*'()".indexOf(chr) < 0 ? chr : - "%"+chr.charCodeAt(0).toString(16).toUpperCase() - } ).join(''); -} - -/** - * Generate Subscription Channel List - * ================================== - * generate_channel_list(channels_object); - */ -function generate_channel_list(channels) { - var list = []; - each( channels, function( channel, status ) { - if (status.subscribed) list.push(channel); - } ); - return list.sort(); -} - -// PUBNUB READY TO CONNECT - function ready() { timeout( function() { - if (READY) return; - READY = 1; - each( READY_BUFFER, function(connect) { connect() } ); - }, SECOND ); } - -function PN_API(setup) { - var SUB_WINDOWING = +setup['windowing'] || DEF_WINDOWING - , SUB_TIMEOUT = (+setup['timeout'] || DEF_SUB_TIMEOUT) * SECOND - , KEEPALIVE = (+setup['keepalive'] || DEF_KEEPALIVE) * SECOND - , PUBLISH_KEY = setup['publish_key'] || '' - , SUBSCRIBE_KEY = setup['subscribe_key'] || '' - , SSL = setup['ssl'] ? 's' : '' - , ORIGIN = 'http'+SSL+'://'+(setup['origin']||'pubsub.pubnub.com') - , STD_ORIGIN = nextorigin(ORIGIN) - , SUB_ORIGIN = nextorigin(ORIGIN) - , CONNECT = function(){} - , PUB_QUEUE = [] - , SUB_CALLBACK = 0 - , SUB_CHANNEL = 0 - , SUB_RECEIVER = 0 - , SUB_RESTORE = 0 - , SUB_BUFF_WAIT = 0 - , TIMETOKEN = 0 - , CHANNELS = {} - , xdr = setup['xdr'] - , _is_online = setup['_is_online'] || function() { return 1; } - , jsonp_cb = setup['jsonp_cb'] || function(){ return 0; } - , db = setup['db'] || {'get': function(){}, 'set': function(){}} - , UUID = setup['uuid'] || ( db && db['get'](SUBSCRIBE_KEY+'uuid') || ''); - - - - function publish(next) { - if (next) PUB_QUEUE.sending = 0; - if (PUB_QUEUE.sending || !PUB_QUEUE.length) return; - PUB_QUEUE.sending = 1; - xdr(PUB_QUEUE.shift()); - } - - function each_channel(callback) { - each( generate_channel_list(CHANNELS), function(channel) { - var chan = CHANNELS[channel]; - if (!chan) return; - callback(chan); - } ); - } - - // Announce Leave Event - - - var SELF = { - - '_reset_offline' : function() { - SUB_RECEIVER && SUB_RECEIVER(1); - }, - - 'LEAVE' : function( channel, blocking ) { - var data = { 'uuid' : UUID } - , origin = nextorigin(ORIGIN) - , jsonp = jsonp_cb(); - - // Prevent Leaving a Presence Channel - if (channel.indexOf(PRESENCE_SUFFIX) > 0) return; - - if (jsonp != '0') data['callback'] = jsonp; - - xdr({ - blocking : blocking || SSL, - timeout : 2000, - callback : jsonp, - data : data, - url : [ - origin, 'v2', 'presence', 'sub_key', - SUBSCRIBE_KEY, 'channel', encode(channel), 'leave' - ] - }); - }, - /* - PUBNUB.history({ - channel : 'my_chat_channel', - limit : 100, - callback : function(history) { } - }); - */ - 'history' : function( args, callback ) { - var callback = args['callback'] || callback - , count = args['count'] || args['limit'] || 100 - , reverse = args['reverse'] || "false" - , err = args['error'] || function(){} - , channel = args['channel'] - , start = args['start'] - , end = args['end'] - , params = {} - , jsonp = jsonp_cb(); - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - params['stringtoken'] = 'true'; - params['count'] = count; - params['reverse'] = reverse; - - if (jsonp) params['callback'] = jsonp; - if (start) params['start'] = start; - if (end) params['end'] = end; - - // Send Message - xdr({ - callback : jsonp, - data : params, - success : function(response) { callback(response) }, - fail : err, - url : [ - STD_ORIGIN, 'v2', 'history', 'sub-key', - SUBSCRIBE_KEY, 'channel', encode(channel) - ] - }); - }, - - /* - PUBNUB.replay({ - source : 'my_channel', - destination : 'new_channel' - }); - */ - 'replay' : function(args) { - var callback = callback || args['callback'] || function(){} - , source = args['source'] - , destination = args['destination'] - , stop = args['stop'] - , start = args['start'] - , end = args['end'] - , reverse = args['reverse'] - , limit = args['limit'] - , jsonp = jsonp_cb() - , data = {} - , url; - - // Check User Input - if (!source) return error('Missing Source Channel'); - if (!destination) return error('Missing Destination Channel'); - if (!PUBLISH_KEY) return error('Missing Publish Key'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // Setup URL Params - if (jsonp != '0') data['callback'] = jsonp; - if (stop) data['stop'] = 'all'; - if (reverse) data['reverse'] = 'true'; - if (start) data['start'] = start; - if (end) data['end'] = end; - if (limit) data['count'] = limit; - - // Compose URL Parts - url = [ - STD_ORIGIN, 'v1', 'replay', - PUBLISH_KEY, SUBSCRIBE_KEY, - source, destination - ]; - - // Start (or Stop) Replay! - xdr({ - callback : jsonp, - success : function(response) { callback(response) }, - fail : function() { callback([ 0, 'Disconnected' ]) }, - url : url, - data : data - }); - }, - - /* - PUBNUB.time(function(time){ }); - */ - 'time' : function(callback) { - var jsonp = jsonp_cb(); - xdr({ - callback : jsonp, - timeout : SECOND*5, - url : [STD_ORIGIN, 'time', jsonp], - success : function(response) { callback(response[0]) }, - fail : function() { callback(0) } - }); - }, - - /* - PUBNUB.publish({ - channel : 'my_chat_channel', - message : 'hello!' - }); - */ - 'publish' : function( args, callback ) { - var callback = callback || args['callback'] || function(){} - , msg = args['message'] - , channel = args['channel'] - , jsonp = jsonp_cb() - , url; - - if (!msg) return error('Missing Message'); - if (!channel) return error('Missing Channel'); - if (!PUBLISH_KEY) return error('Missing Publish Key'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // If trying to send Object - msg = JSON['stringify'](msg); - - // Create URL - url = [ - STD_ORIGIN, 'publish', - PUBLISH_KEY, SUBSCRIBE_KEY, - 0, encode(channel), - jsonp, encode(msg) - ]; - - // Queue Message Send - PUB_QUEUE.push({ - callback : jsonp, - timeout : SECOND*5, - url : url, - data : { 'uuid' : UUID }, - success : function(response){callback(response);publish(1)}, - fail : function(){callback([0,'Failed',msg]);publish(1)} - }); - - // Send Message - publish(); - }, - - /* - PUBNUB.unsubscribe({ channel : 'my_chat' }); - */ - 'unsubscribe' : function(args) { - var channel = args['channel']; - - TIMETOKEN = 0; - SUB_RESTORE = 1; - - // Prepare Channel(s) - channel = map( ( - channel.join ? channel.join(',') : ''+channel - ).split(','), function(channel) { - return channel + ',' + channel + PRESENCE_SUFFIX; - } ).join(','); - - // Iterate over Channels - each( channel.split(','), function(channel) { - if (READY) SELF['LEAVE']( channel, 0 ); - CHANNELS[channel] = 0; - } ); - - // ReOpen Connection if Any Channels Left - if (READY) CONNECT(); - }, - - /* - PUBNUB.subscribe({ - channel : 'my_chat' - callback : function(message) { } - }); - */ - 'subscribe' : function( args, callback ) { - var channel = args['channel'] - , callback = callback || args['callback'] - , callback = callback || args['message'] - , connect = args['connect'] || function(){} - , reconnect = args['reconnect'] || function(){} - , disconnect = args['disconnect'] || function(){} - , presence = args['presence'] || 0 - , noheresync = args['noheresync'] || 0 - , sub_timeout = args['timeout'] || SUB_TIMEOUT - , windowing = args['windowing'] || SUB_WINDOWING - , restore = args['restore']; - - // Restore Enabled? - if (restore) SUB_RESTORE = 1; - - TIMETOKEN = 0; - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // Setup Channel(s) - each( (channel.join ? channel.join(',') : ''+channel).split(','), - function(channel) { - var settings = CHANNELS[channel] || {}; - - // Store Channel State - CHANNELS[SUB_CHANNEL = channel] = { - name : channel, - connected : settings.connected, - disconnected : settings.disconnected, - subscribed : 1, - callback : SUB_CALLBACK = callback, - connect : connect, - disconnect : disconnect, - reconnect : reconnect - }; - - // Presence Enabled? - if (!presence) return; - - // Subscribe Presence Channel - SELF['subscribe']({ - 'channel' : channel + PRESENCE_SUFFIX, - 'callback' : presence - }); - - // Presence Subscribed? - if (settings.subscribed) return; - - // See Who's Here Now? - if (noheresync) return; - SELF['here_now']({ - 'channel' : channel, - 'callback' : function(here) { - each( 'uuids' in here ? here['uuids'] : [], - function(uid) { presence( { - 'action' : 'join', - 'uuid' : uid, - 'timestamp' : rnow(), - 'occupancy' : here['occupancy'] || 1 - }, here, channel ); } ); - } - }); - } ); - - // Test Network Connection - function _test_connection(success) { - if (success) { - // Begin Next Socket Connection - timeout( _connect, SECOND ); - } - else { - // New Origin on Failed Connection - STD_ORIGIN = nextorigin( ORIGIN, 1 ); - SUB_ORIGIN = nextorigin( ORIGIN, 1 ); - - // Re-test Connection - timeout( function() { - SELF['time'](_test_connection); - }, SECOND ); - } - - // Disconnect & Reconnect - each_channel(function(channel){ - // Reconnect - if (success && channel.disconnected) { - channel.disconnected = 0; - return channel.reconnect(channel.name); - } - - // Disconnect - if (!success && !channel.disconnected) { - channel.disconnected = 1; - channel.disconnect(channel.name); - } - }); - } - - // Evented Subscribe - function _connect() { - var jsonp = jsonp_cb() - , channels = generate_channel_list(CHANNELS).join(','); - - // Stop Connection - if (!channels) return; - - // Connect to PubNub Subscribe Servers - SUB_RECEIVER = xdr({ - timeout : sub_timeout, - callback : jsonp, - fail : function() { SELF['time'](_test_connection) }, - data : { 'uuid' : UUID }, - url : [ - SUB_ORIGIN, 'subscribe', - SUBSCRIBE_KEY, encode(channels), - jsonp, TIMETOKEN - ], - success : function(messages) { - if (!messages) return timeout( _connect, windowing ); - - // Connect - each_channel(function(channel){ - if (channel.connected) return; - channel.connected = 1; - channel.connect(channel.name); - }); - - // Restore Previous Connection Point if Needed - TIMETOKEN = !TIMETOKEN && - SUB_RESTORE && - db['get'](SUBSCRIBE_KEY) || messages[1]; - - // Update Saved Timetoken - if (TIMETOKEN) db['set']( SUBSCRIBE_KEY, messages[1] ); - - // Route Channel <---> Callback for Message - var next_callback = (function() { - var channels = (messages.length>2?messages[2]:'') - , list = channels.split(','); - - return function() { - var channel = list.shift()||''; - return [ - (CHANNELS[channel]||{}) - .callback||SUB_CALLBACK, - (channel||SUB_CHANNEL) - .split(PRESENCE_SUFFIX)[0] - ]; - }; - })(); - - each( messages[0], function(msg) { - var next = next_callback(); - if (!CHANNELS[next[1]].subscribed) return; - next[0]( msg, messages, next[1] ); - } ); - - timeout( _connect, windowing ); - } - }); - } - - CONNECT = function() { - // Close Previous Subscribe Connection - SELF['_reset_offline'](); - - // Begin Recursive Subscribe - clearTimeout(SUB_BUFF_WAIT); - SUB_BUFF_WAIT = timeout( _connect, 100 ); - }; - - // Reduce Status Flicker - if (!READY) return READY_BUFFER.push(CONNECT); - - // Connect Now - CONNECT(); - }, - - 'here_now' : function( args, callback ) { - var callback = args['callback'] || callback - , err = args['error'] || function(){} - , channel = args['channel'] - , jsonp = jsonp_cb() - , data = null; - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - if (jsonp != '0') { - data = {}; - data['callback'] = jsonp; - } - - xdr({ - callback : jsonp, - data : data, - success : function(response) { callback(response) }, - fail : err, - url : [ - STD_ORIGIN, 'v2', 'presence', - 'sub_key', SUBSCRIBE_KEY, - 'channel', encode(channel) - ] - }); - }, - - // Expose PUBNUB Functions - 'xdr' : xdr, - 'ready' : ready, - 'db' : db, - 'uuid' : uuid, - 'each' : each, - 'map' : map, - 'grep' : grep, - 'supplant' : supplant, - 'now' : rnow, - 'unique' : unique, - 'updater' : updater, - 'poll_online' : function() { - _is_online() || SELF['_reset_offline'](); - timeout( SELF['poll_online'], SECOND ); - }, - 'poll_online2' : function() { - SELF['time'](function(success){ - success || SELF['_reset_offline'](); - timeout( SELF['poll_online2'], KEEPALIVE ); - }) - } - }; - if (!UUID) UUID = SELF['uuid'](); - db['set']( SUBSCRIBE_KEY + 'uuid', UUID ); - - timeout( SELF['poll_online'], SECOND ); - timeout( SELF['poll_online2'], KEEPALIVE ); - - return SELF; -} -// 3.4/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= JSON =============================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -(window['JSON'] && window['JSON']['stringify']) || (function () { - window['JSON'] || (window['JSON'] = {}); - - function toJSON(key) { - try { return this.valueOf() } - catch(e) { return null } - } - - var cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, - escapable = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, - gap, - indent, - meta = { // table of character substitutions - '\b': '\\b', - '\t': '\\t', - '\n': '\\n', - '\f': '\\f', - '\r': '\\r', - '"' : '\\"', - '\\': '\\\\' - }, - rep; - - function quote(string) { - escapable.lastIndex = 0; - return escapable.test(string) ? - '"' + string.replace(escapable, function (a) { - var c = meta[a]; - return typeof c === 'string' ? c : - '\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4); - }) + '"' : - '"' + string + '"'; - } - - function str(key, holder) { - var i, // The loop counter. - k, // The member key. - v, // The member value. - length, - partial, - mind = gap, - value = holder[key]; - - if (value && typeof value === 'object') { - value = toJSON.call( value, key ); - } - - if (typeof rep === 'function') { - value = rep.call(holder, key, value); - } - - switch (typeof value) { - case 'string': - return quote(value); - - case 'number': - return isFinite(value) ? String(value) : 'null'; - - case 'boolean': - case 'null': - return String(value); - - case 'object': - - if (!value) { - return 'null'; - } - - gap += indent; - partial = []; - - if (Object.prototype.toString.apply(value) === '[object Array]') { - - length = value.length; - for (i = 0; i < length; i += 1) { - partial[i] = str(i, value) || 'null'; - } - - v = partial.length === 0 ? '[]' : - gap ? '[\n' + gap + - partial.join(',\n' + gap) + '\n' + - mind + ']' : - '[' + partial.join(',') + ']'; - gap = mind; - return v; - } - if (rep && typeof rep === 'object') { - length = rep.length; - for (i = 0; i < length; i += 1) { - k = rep[i]; - if (typeof k === 'string') { - v = str(k, value); - if (v) { - partial.push(quote(k) + (gap ? ': ' : ':') + v); - } - } - } - } else { - for (k in value) { - if (Object.hasOwnProperty.call(value, k)) { - v = str(k, value); - if (v) { - partial.push(quote(k) + (gap ? ': ' : ':') + v); - } - } - } - } - - v = partial.length === 0 ? '{}' : - gap ? '{\n' + gap + partial.join(',\n' + gap) + '\n' + - mind + '}' : '{' + partial.join(',') + '}'; - gap = mind; - return v; - } - } - - if (typeof JSON['stringify'] !== 'function') { - JSON['stringify'] = function (value, replacer, space) { - var i; - gap = ''; - indent = ''; - - if (typeof space === 'number') { - for (i = 0; i < space; i += 1) { - indent += ' '; - } - } else if (typeof space === 'string') { - indent = space; - } - rep = replacer; - if (replacer && typeof replacer !== 'function' && - (typeof replacer !== 'object' || - typeof replacer.length !== 'number')) { - throw new Error('JSON.stringify'); - } - return str('', {'': value}); - }; - } - - if (typeof JSON['parse'] !== 'function') { - // JSON is parsed on the server for security. - JSON['parse'] = function (text) {return eval('('+text+')')}; - } -}()); -/* --------------------------------------------------------------------------- -WAIT! - This file depends on instructions from the PUBNUB Cloud. -http://www.pubnub.com/account-javascript-api-include ---------------------------------------------------------------------------- */ - -/* --------------------------------------------------------------------------- -PubNub Real-time Cloud-Hosted Push API and Push Notification Client Frameworks -Copyright (c) 2011 PubNub Inc. -http://www.pubnub.com/ -http://www.pubnub.com/terms ---------------------------------------------------------------------------- */ - -/* --------------------------------------------------------------------------- -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. ---------------------------------------------------------------------------- */ - -/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= UTIL =============================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -window['PUBNUB'] || (function() { - -/** - * UTIL LOCALS - */ - -var SWF = 'https://pubnub.a.ssl.fastly.net/pubnub.swf' -, ASYNC = 'async' -, URLBIT = '/' -, PARAMSBIT = '&' -, UA = navigator.userAgent -, XORIGN = UA.indexOf('MSIE 6') == -1; - -/** - * CONSOLE COMPATIBILITY - */ -window.console || (window.console=window.console||{}); -console.log || ( - console.log = - console.error = - ((window.opera||{}).postError||function(){}) -); - - - -/** - * LOCAL STORAGE OR COOKIE - */ -var db = (function(){ - var ls = window['localStorage']; - return { - 'get' : function(key) { - try { - if (ls) return ls.getItem(key); - if (document.cookie.indexOf(key) == -1) return null; - return ((document.cookie||'').match( - RegExp(key+'=([^;]+)') - )||[])[1] || null; - } catch(e) { return } - }, - 'set' : function( key, value ) { - try { - if (ls) return ls.setItem( key, value ) && 0; - document.cookie = key + '=' + value + - '; expires=Thu, 1 Aug 2030 20:00:00 UTC; path=/'; - } catch(e) { return } - } - }; -})(); - - -/** - * $ - * = - * var div = $('divid'); - */ -function $(id) { return document.getElementById(id) } - -/** - * ERROR - * ===== - * error('message'); - */ -function error(message) { console['error'](message) } - -/** - * SEARCH - * ====== - * var elements = search('a div span'); - */ -function search( elements, start ) { - var list = []; - each( elements.split(/\s+/), function(el) { - each( (start || document).getElementsByTagName(el), function(node) { - list.push(node); - } ); - } ); - return list; -} - - - -/** - * BIND - * ==== - * bind( 'keydown', search('a')[0], function(element) { - * ... - * } ); - */ -function bind( type, el, fun ) { - each( type.split(','), function(etype) { - var rapfun = function(e) { - if (!e) e = window.event; - if (!fun(e)) { - e.cancelBubble = true; - e.returnValue = false; - e.preventDefault && e.preventDefault(); - e.stopPropagation && e.stopPropagation(); - } - }; - - if ( el.addEventListener ) el.addEventListener( etype, rapfun, false ); - else if ( el.attachEvent ) el.attachEvent( 'on' + etype, rapfun ); - else el[ 'on' + etype ] = rapfun; - } ); -} - -/** - * UNBIND - * ====== - * unbind( 'keydown', search('a')[0] ); - */ -function unbind( type, el, fun ) { - if ( el.removeEventListener ) el.removeEventListener( type, false ); - else if ( el.detachEvent ) el.detachEvent( 'on' + type, false ); - else el[ 'on' + type ] = null; -} - -/** - * HEAD - * ==== - * head().appendChild(elm); - */ -function head() { return search('head')[0] } - -/** - * ATTR - * ==== - * var attribute = attr( node, 'attribute' ); - */ -function attr( node, attribute, value ) { - if (value) node.setAttribute( attribute, value ); - else return node && node.getAttribute && node.getAttribute(attribute); -} - -/** - * CSS - * === - * var obj = create('div'); - */ -function css( element, styles ) { - for (var style in styles) if (styles.hasOwnProperty(style)) - try {element.style[style] = styles[style] + ( - '|width|height|top|left|'.indexOf(style) > 0 && - typeof styles[style] == 'number' - ? 'px' : '' - )}catch(e){} -} - -/** - * CREATE - * ====== - * var obj = create('div'); - */ -function create(element) { return document.createElement(element) } - - -/** - * jsonp_cb - * ======== - * var callback = jsonp_cb(); - */ -function jsonp_cb() { return XORIGN || FDomainRequest() ? 0 : unique() } - - - -/** - * EVENTS - * ====== - * PUBNUB.events.bind( 'you-stepped-on-flower', function(message) { - * // Do Stuff with message - * } ); - * - * PUBNUB.events.fire( 'you-stepped-on-flower', "message-data" ); - * PUBNUB.events.fire( 'you-stepped-on-flower', {message:"data"} ); - * PUBNUB.events.fire( 'you-stepped-on-flower', [1,2,3] ); - * - */ -var events = { - 'list' : {}, - 'unbind' : function( name ) { events.list[name] = [] }, - 'bind' : function( name, fun ) { - (events.list[name] = events.list[name] || []).push(fun); - }, - 'fire' : function( name, data ) { - each( - events.list[name] || [], - function(fun) { fun(data) } - ); - } -}; - -/** - * XDR Cross Domain Request - * ======================== - * xdr({ - * url : ['http://www.blah.com/url'], - * success : function(response) {}, - * fail : function() {} - * }); - */ -function xdr( setup ) { - if (XORIGN || FDomainRequest()) return ajax(setup); - - var script = create('script') - , callback = setup.callback - , id = unique() - , finished = 0 - , xhrtme = setup.timeout || DEF_TIMEOUT - , timer = timeout( function(){done(1)}, xhrtme ) - , fail = setup.fail || function(){} - , success = setup.success || function(){} - - , append = function() { - head().appendChild(script); - } - - , done = function( failed, response ) { - if (finished) return; - finished = 1; - - failed || success(response); - script.onerror = null; - clearTimeout(timer); - - timeout( function() { - failed && fail(); - var s = $(id) - , p = s && s.parentNode; - p && p.removeChild(s); - }, SECOND ); - }; - - window[callback] = function(response) { - done( 0, response ); - }; - - if (!setup.blocking) script[ASYNC] = ASYNC; - - script.onerror = function() { done(1) }; - script.src = setup.url.join(URLBIT); - - if (setup.data) { - var params = []; - script.src += "?"; - for (var key in setup.data) { - params.push(key+"="+setup.data[key]); - } - script.src += params.join(PARAMSBIT); - } - attr( script, 'id', id ); - - append(); - return done; -} - -/** - * CORS XHR Request - * ================ - * xdr({ - * url : ['http://www.blah.com/url'], - * success : function(response) {}, - * fail : function() {} - * }); - */ -function ajax( setup ) { - var xhr, response - , finished = function() { - if (loaded) return; - loaded = 1; - - clearTimeout(timer); - - try { response = JSON['parse'](xhr.responseText); } - catch (r) { return done(1); } - - success(response); - } - , complete = 0 - , loaded = 0 - , xhrtme = setup.timeout || DEF_TIMEOUT - , timer = timeout( function(){done(1)}, xhrtme ) - , fail = setup.fail || function(){} - , success = setup.success || function(){} - , done = function(failed) { - if (complete) return; - complete = 1; - - clearTimeout(timer); - - if (xhr) { - xhr.onerror = xhr.onload = null; - xhr.abort && xhr.abort(); - xhr = null; - } - - failed && fail(); - }; - - // Send - try { - xhr = FDomainRequest() || - window.XDomainRequest && - new XDomainRequest() || - new XMLHttpRequest(); - - xhr.onerror = xhr.onabort = function(){ done(1) }; - xhr.onload = xhr.onloadend = finished; - xhr.timeout = xhrtme; - - var url = setup.url.join(URLBIT); - if (setup.data) { - var params = []; - var key; - console.log(setup.data); - url += "?"; - for (key in setup.data) params.push(key+"="+setup.data[key]); - url += params.join(PARAMSBIT); - } - - xhr.open( 'GET', url, (typeof(setup.blocking === 'undefined')) ); - xhr.send(); - } - catch(eee) { - done(0); - XORIGN = 0; - return xdr(setup); - } - - // Return 'done' - return done; -} - - - - // Test Connection State -function _is_online() { - if (!('onLine' in navigator)) return 1; - return navigator['onLine']; -} - - -/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= PUBNUB ===========================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -var PDIV = $('pubnub') || 0 -, CREATE_PUBNUB = function(setup) { - - // Force JSONP if requested from user. - if (setup['jsonp']) XORIGN = 0; - - var SUBSCRIBE_KEY = setup['subscribe_key'] || '' - , KEEPALIVE = (+setup['keepalive'] || DEF_KEEPALIVE) * SECOND - , UUID = setup['uuid'] || db['get'](SUBSCRIBE_KEY+'uuid') || ''; - - setup['xdr'] = xdr; - setup['db'] = db; - setup['_is_online'] = _is_online; - setup['jsonp_cb'] = jsonp_cb; - var SELF = PN_API(setup); - - - SELF['css'] = css; - SELF['$'] = $; - SELF['create'] = create; - SELF['bind'] = bind; - SELF['head'] = head; - SELF['search'] = search; - SELF['attr'] = attr; - SELF['events'] = events; - SELF['init'] = CREATE_PUBNUB; - - // Return without Testing - if (setup['notest']) return SELF; - - // Add Leave Functions - bind( 'beforeunload', window, function() { - each_channel(function(ch){ SELF['LEAVE']( ch.name, 1 ) }); - return true; - } ); - - bind( 'offline', window, SELF['_reset_offline'] ); - bind( 'offline', document, SELF['_reset_offline'] ); - - // Return PUBNUB Socket Object - return SELF; -}; - - - -// Bind for PUBNUB Readiness to Subscribe -bind( 'load', window, function(){ timeout( ready, 0 ) } ); - -var pdiv = PDIV || {}; - -// CREATE A PUBNUB GLOBAL OBJECT -PUBNUB = CREATE_PUBNUB({ - 'notest' : 1, - 'publish_key' : attr( pdiv, 'pub-key' ), - 'subscribe_key' : attr( pdiv, 'sub-key' ), - 'ssl' : !document.location.href.indexOf('https') || - attr( pdiv, 'ssl' ) == 'on', - 'origin' : attr( pdiv, 'origin' ), - 'uuid' : attr( pdiv, 'uuid' ) -}); - -// jQuery Interface -window['jQuery'] && (window['jQuery']['PUBNUB'] = PUBNUB); - -// For Modern JS + Testling.js - http://testling.com/ -typeof(module) !== 'undefined' && (module['exports'] = PUBNUB) && ready(); - -var pubnubs = $('pubnubs') || 0; - -// LEAVE NOW IF NO PDIV. -if (!PDIV) return; - -// PUBNUB Flash Socket -css( PDIV, { 'position' : 'absolute', 'top' : -SECOND } ); - -if ('opera' in window || attr( PDIV, 'flash' )) PDIV['innerHTML'] = - ''; - -// Create Interface for Opera Flash -PUBNUB['rdx'] = function( id, data ) { - if (!data) return FDomainRequest[id]['onerror'](); - FDomainRequest[id]['responseText'] = unescape(data); - FDomainRequest[id]['onload'](); -}; - -function FDomainRequest() { - if (!pubnubs || !pubnubs['get']) return 0; - - var fdomainrequest = { - 'id' : FDomainRequest['id']++, - 'send' : function() {}, - 'abort' : function() { fdomainrequest['id'] = {} }, - 'open' : function( method, url ) { - FDomainRequest[fdomainrequest['id']] = fdomainrequest; - pubnubs['get']( fdomainrequest['id'], url ); - } - }; - - return fdomainrequest; -} -FDomainRequest['id'] = SECOND; - -})(); -(function(){ - -// --------------------------------------------------------------------------- -// WEBSOCKET INTERFACE -// --------------------------------------------------------------------------- -var WS = PUBNUB['ws'] = function( url, protocols ) { - if (!(this instanceof WS)) return new WS( url, protocols ); - - var self = this - , url = self.url = url || '' - , protocol = self.protocol = protocols || 'Sec-WebSocket-Protocol' - , bits = url.split('/') - , setup = { - 'ssl' : bits[0] === 'wss:' - ,'origin' : bits[2] - ,'publish_key' : bits[3] - ,'subscribe_key' : bits[4] - ,'channel' : bits[5] - }; - - // READY STATES - self['CONNECTING'] = 0; // The connection is not yet open. - self['OPEN'] = 1; // The connection is open and ready to communicate. - self['CLOSING'] = 2; // The connection is in the process of closing. - self['CLOSED'] = 3; // The connection is closed or couldn't be opened. - - // CLOSE STATES - self['CLOSE_NORMAL'] = 1000; // Normal Intended Close; completed. - self['CLOSE_GOING_AWAY'] = 1001; // Closed Unexpecttedly. - self['CLOSE_PROTOCOL_ERROR'] = 1002; // Server: Not Supported. - self['CLOSE_UNSUPPORTED'] = 1003; // Server: Unsupported Protocol. - self['CLOSE_TOO_LARGE'] = 1004; // Server: Too Much Data. - self['CLOSE_NO_STATUS'] = 1005; // Server: No reason. - self['CLOSE_ABNORMAL'] = 1006; // Abnormal Disconnect. - - // Events Default - self['onclose'] = self['onerror'] = - self['onmessage'] = self['onopen'] = - self['onsend'] = function(){}; - - // Attributes - self['binaryType'] = ''; - self['extensions'] = ''; - self['bufferedAmount'] = 0; - self['trasnmitting'] = false; - self['buffer'] = []; - self['readyState'] = self['CONNECTING']; - - // Close if no setup. - if (!url) { - self['readyState'] = self['CLOSED']; - self['onclose']({ - 'code' : self['CLOSE_ABNORMAL'], - 'reason' : 'Missing URL', - 'wasClean' : true - }); - return self; - } - - // PubNub WebSocket Emulation - self.pubnub = PUBNUB['init'](setup); - self.pubnub.setup = setup; - self.setup = setup; - - self.pubnub['subscribe']({ - 'restore' : false, - 'channel' : setup['channel'], - 'disconnect' : self['onerror'], - 'reconnect' : self['onopen'], - 'error' : function() { - self['onclose']({ - 'code' : self['CLOSE_ABNORMAL'], - 'reason' : 'Missing URL', - 'wasClean' : false - }); - }, - 'callback' : function(message) { - self['onmessage']({ 'data' : message }); - }, - 'connect' : function() { - self['readyState'] = self['OPEN']; - self['onopen'](); - } - }); -}; - -// --------------------------------------------------------------------------- -// WEBSOCKET SEND -// --------------------------------------------------------------------------- -WS.prototype.send = function(data) { - var self = this; - self.pubnub['publish']({ - 'channel' : self.pubnub.setup['channel'], - 'message' : data, - 'callback' : function(response) { - self['onsend']({ 'data' : response }); - } - }); -}; - -// --------------------------------------------------------------------------- -// WEBSOCKET CLOSE -// --------------------------------------------------------------------------- -WS.prototype.close = function() { - var self = this; - self.pubnub['unsubscribe']({ 'channel' : self.pubnub.setup['channel'] }); - self['readyState'] = self['CLOSED']; - self['onclose']({}); -}; - -})(); -(function(){ - -// --------------------------------------------------------------------------- -// WEBSOCKET INTERFACE -// --------------------------------------------------------------------------- -var WS = PUBNUB['ws'] = function( url, protocols ) { - if (!(this instanceof WS)) return new WS( url, protocols ); - - var self = this - , url = self.url = url || '' - , protocol = self.protocol = protocols || 'Sec-WebSocket-Protocol' - , bits = url.split('/') - , setup = { - 'ssl' : bits[0] === 'wss:' - ,'origin' : bits[2] - ,'publish_key' : bits[3] - ,'subscribe_key' : bits[4] - ,'channel' : bits[5] - }; - - // READY STATES - self['CONNECTING'] = 0; // The connection is not yet open. - self['OPEN'] = 1; // The connection is open and ready to communicate. - self['CLOSING'] = 2; // The connection is in the process of closing. - self['CLOSED'] = 3; // The connection is closed or couldn't be opened. - - // CLOSE STATES - self['CLOSE_NORMAL'] = 1000; // Normal Intended Close; completed. - self['CLOSE_GOING_AWAY'] = 1001; // Closed Unexpecttedly. - self['CLOSE_PROTOCOL_ERROR'] = 1002; // Server: Not Supported. - self['CLOSE_UNSUPPORTED'] = 1003; // Server: Unsupported Protocol. - self['CLOSE_TOO_LARGE'] = 1004; // Server: Too Much Data. - self['CLOSE_NO_STATUS'] = 1005; // Server: No reason. - self['CLOSE_ABNORMAL'] = 1006; // Abnormal Disconnect. - - // Events Default - self['onclose'] = self['onerror'] = - self['onmessage'] = self['onopen'] = - self['onsend'] = function(){}; - - // Attributes - self['binaryType'] = ''; - self['extensions'] = ''; - self['bufferedAmount'] = 0; - self['trasnmitting'] = false; - self['buffer'] = []; - self['readyState'] = self['CONNECTING']; - - // Close if no setup. - if (!url) { - self['readyState'] = self['CLOSED']; - self['onclose']({ - 'code' : self['CLOSE_ABNORMAL'], - 'reason' : 'Missing URL', - 'wasClean' : true - }); - return self; - } - - // PubNub WebSocket Emulation - self.pubnub = PUBNUB['init'](setup); - self.pubnub.setup = setup; - self.setup = setup; - - self.pubnub['subscribe']({ - 'restore' : false, - 'channel' : setup['channel'], - 'disconnect' : self['onerror'], - 'reconnect' : self['onopen'], - 'error' : function() { - self['onclose']({ - 'code' : self['CLOSE_ABNORMAL'], - 'reason' : 'Missing URL', - 'wasClean' : false - }); - }, - 'callback' : function(message) { - self['onmessage']({ 'data' : message }); - }, - 'connect' : function() { - self['readyState'] = self['OPEN']; - self['onopen'](); - } - }); -}; - -// --------------------------------------------------------------------------- -// WEBSOCKET SEND -// --------------------------------------------------------------------------- -WS.prototype.send = function(data) { - var self = this; - self.pubnub['publish']({ - 'channel' : self.pubnub.setup['channel'], - 'message' : data, - 'callback' : function(response) { - self['onsend']({ 'data' : response }); - } - }); -}; - -// --------------------------------------------------------------------------- -// WEBSOCKET CLOSE -// --------------------------------------------------------------------------- -WS.prototype.close = function() { - var self = this; - self.pubnub['unsubscribe']({ 'channel' : self.pubnub.setup['channel'] }); - self['readyState'] = self['CLOSED']; - self['onclose']({}); -}; - -})(); -/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= JSON =============================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -(window['JSON'] && window['JSON']['stringify']) || (function () { - window['JSON'] || (window['JSON'] = {}); - - function toJSON(key) { - try { return this.valueOf() } - catch(e) { return null } - } - - var cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, - escapable = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, - gap, - indent, - meta = { // table of character substitutions - '\b': '\\b', - '\t': '\\t', - '\n': '\\n', - '\f': '\\f', - '\r': '\\r', - '"' : '\\"', - '\\': '\\\\' - }, - rep; - - function quote(string) { - escapable.lastIndex = 0; - return escapable.test(string) ? - '"' + string.replace(escapable, function (a) { - var c = meta[a]; - return typeof c === 'string' ? c : - '\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4); - }) + '"' : - '"' + string + '"'; - } - - function str(key, holder) { - var i, // The loop counter. - k, // The member key. - v, // The member value. - length, - partial, - mind = gap, - value = holder[key]; - - if (value && typeof value === 'object') { - value = toJSON.call( value, key ); - } - - if (typeof rep === 'function') { - value = rep.call(holder, key, value); - } - - switch (typeof value) { - case 'string': - return quote(value); - - case 'number': - return isFinite(value) ? String(value) : 'null'; - - case 'boolean': - case 'null': - return String(value); - - case 'object': - - if (!value) { - return 'null'; - } - - gap += indent; - partial = []; - - if (Object.prototype.toString.apply(value) === '[object Array]') { - - length = value.length; - for (i = 0; i < length; i += 1) { - partial[i] = str(i, value) || 'null'; - } - - v = partial.length === 0 ? '[]' : - gap ? '[\n' + gap + - partial.join(',\n' + gap) + '\n' + - mind + ']' : - '[' + partial.join(',') + ']'; - gap = mind; - return v; - } - if (rep && typeof rep === 'object') { - length = rep.length; - for (i = 0; i < length; i += 1) { - k = rep[i]; - if (typeof k === 'string') { - v = str(k, value); - if (v) { - partial.push(quote(k) + (gap ? ': ' : ':') + v); - } - } - } - } else { - for (k in value) { - if (Object.hasOwnProperty.call(value, k)) { - v = str(k, value); - if (v) { - partial.push(quote(k) + (gap ? ': ' : ':') + v); - } - } - } - } - - v = partial.length === 0 ? '{}' : - gap ? '{\n' + gap + partial.join(',\n' + gap) + '\n' + - mind + '}' : '{' + partial.join(',') + '}'; - gap = mind; - return v; - } - } - - if (typeof JSON['stringify'] !== 'function') { - JSON['stringify'] = function (value, replacer, space) { - var i; - gap = ''; - indent = ''; - - if (typeof space === 'number') { - for (i = 0; i < space; i += 1) { - indent += ' '; - } - } else if (typeof space === 'string') { - indent = space; - } - rep = replacer; - if (replacer && typeof replacer !== 'function' && - (typeof replacer !== 'object' || - typeof replacer.length !== 'number')) { - throw new Error('JSON.stringify'); - } - return str('', {'': value}); - }; - } - - if (typeof JSON['parse'] !== 'function') { - // JSON is parsed on the server for security. - JSON['parse'] = function (text) {return eval('('+text+')')}; - } -}()); -var NOW = 1 -, READY = false -, READY_BUFFER = [] -, PRESENCE_SUFFIX = '-pnpres' -, DEF_WINDOWING = 10 // MILLISECONDS. -, DEF_TIMEOUT = 10000 // MILLISECONDS. -, DEF_SUB_TIMEOUT = 310 // SECONDS. -, DEF_KEEPALIVE = 60 // SECONDS. -, SECOND = 1000 // A THOUSAND MILLISECONDS. -, REPL = /{([\w\-]+)}/g; - -/** - * UTILITIES - */ -function unique() { return'x'+ ++NOW+''+(+new Date) } -function rnow() { return+new Date } - -/** - * NEXTORIGIN - * ========== - * var next_origin = nextorigin(); - */ -var nextorigin = (function() { - var max = 20 - , ori = Math.floor(Math.random() * max); - return function( origin, failover ) { - return origin.indexOf('pubsub.') > 0 - && origin.replace( - 'pubsub', 'ps' + ( - failover ? uuid().split('-')[0] : - (++ori < max? ori : ori=1) - ) ) || origin; - } -})(); - -/** - * UPDATER - * ======= - * var timestamp = unique(); - */ -function updater( fun, rate ) { - var timeout - , last = 0 - , runnit = function() { - if (last + rate > rnow()) { - clearTimeout(timeout); - timeout = setTimeout( runnit, rate ); - } - else { - last = rnow(); - fun(); - } - }; - - return runnit; -} - -/** - * GREP - * ==== - * var list = grep( [1,2,3], function(item) { return item % 2 } ) - */ -function grep( list, fun ) { - var fin = []; - each( list || [], function(l) { fun(l) && fin.push(l) } ); - return fin -} - -/** - * SUPPLANT - * ======== - * var text = supplant( 'Hello {name}!', { name : 'John' } ) - */ -function supplant( str, values ) { - return str.replace( REPL, function( _, match ) { - return values[match] || _ - } ); -} - -/** - * timeout - * ======= - * timeout( function(){}, 100 ); - */ -function timeout( fun, wait ) { - return setTimeout( fun, wait ); -} - -/** - * uuid - * ==== - * var my_uuid = uuid(); - */ -function uuid(callback) { - var u = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, - function(c) { - var r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8); - return v.toString(16); - }); - if (callback) callback(u); - return u; -} - -/** - * EACH - * ==== - * each( [1,2,3], function(item) { } ) - */ -function each( o, f ) { - if ( !o || !f ) return; - - if ( typeof o[0] != 'undefined' ) - for ( var i = 0, l = o.length; i < l; ) - f.call( o[i], o[i], i++ ); - else - for ( var i in o ) - o.hasOwnProperty && - o.hasOwnProperty(i) && - f.call( o[i], i, o[i] ); -} - -/** - * MAP - * === - * var list = map( [1,2,3], function(item) { return item + 1 } ) - */ -function map( list, fun ) { - var fin = []; - each( list || [], function( k, v ) { fin.push(fun( k, v )) } ); - return fin; -} - -/** - * ENCODE - * ====== - * var encoded_path = encode('path'); - */ -function encode(path) { - return map( (encodeURIComponent(path)).split(''), function(chr) { - return "-_.!~*'()".indexOf(chr) < 0 ? chr : - "%"+chr.charCodeAt(0).toString(16).toUpperCase() - } ).join(''); -} - -/** - * Generate Subscription Channel List - * ================================== - * generate_channel_list(channels_object); - */ -function generate_channel_list(channels) { - var list = []; - each( channels, function( channel, status ) { - if (status.subscribed) list.push(channel); - } ); - return list.sort(); -} - -// PUBNUB READY TO CONNECT - function ready() { timeout( function() { - if (READY) return; - READY = 1; - each( READY_BUFFER, function(connect) { connect() } ); - }, SECOND ); } - -function PN_API(setup) { - var SUB_WINDOWING = +setup['windowing'] || DEF_WINDOWING - , SUB_TIMEOUT = (+setup['timeout'] || DEF_SUB_TIMEOUT) * SECOND - , KEEPALIVE = (+setup['keepalive'] || DEF_KEEPALIVE) * SECOND - , PUBLISH_KEY = setup['publish_key'] || '' - , SUBSCRIBE_KEY = setup['subscribe_key'] || '' - , SSL = setup['ssl'] ? 's' : '' - , ORIGIN = 'http'+SSL+'://'+(setup['origin']||'pubsub.pubnub.com') - , STD_ORIGIN = nextorigin(ORIGIN) - , SUB_ORIGIN = nextorigin(ORIGIN) - , CONNECT = function(){} - , PUB_QUEUE = [] - , SUB_CALLBACK = 0 - , SUB_CHANNEL = 0 - , SUB_RECEIVER = 0 - , SUB_RESTORE = 0 - , SUB_BUFF_WAIT = 0 - , TIMETOKEN = 0 - , CHANNELS = {} - , xdr = setup['xdr'] - , _is_online = setup['_is_online'] || function() { return 1; } - , jsonp_cb = setup['jsonp_cb'] || function(){ return 0; } - , db = setup['db'] || {'get': function(){}, 'set': function(){}} - , UUID = setup['uuid'] || ( db && db['get'](SUBSCRIBE_KEY+'uuid') || ''); - - - - function publish(next) { - if (next) PUB_QUEUE.sending = 0; - if (PUB_QUEUE.sending || !PUB_QUEUE.length) return; - PUB_QUEUE.sending = 1; - xdr(PUB_QUEUE.shift()); - } - - function each_channel(callback) { - each( generate_channel_list(CHANNELS), function(channel) { - var chan = CHANNELS[channel]; - if (!chan) return; - callback(chan); - } ); - } - - // Announce Leave Event - - - var SELF = { - - '_reset_offline' : function() { - SUB_RECEIVER && SUB_RECEIVER(1); - }, - - 'LEAVE' : function( channel, blocking ) { - var data = { 'uuid' : UUID } - , origin = nextorigin(ORIGIN) - , jsonp = jsonp_cb(); - - // Prevent Leaving a Presence Channel - if (channel.indexOf(PRESENCE_SUFFIX) > 0) return; - - if (jsonp != '0') data['callback'] = jsonp; - - xdr({ - blocking : blocking || SSL, - timeout : 2000, - callback : jsonp, - data : data, - url : [ - origin, 'v2', 'presence', 'sub_key', - SUBSCRIBE_KEY, 'channel', encode(channel), 'leave' - ] - }); - }, - /* - PUBNUB.history({ - channel : 'my_chat_channel', - limit : 100, - callback : function(history) { } - }); - */ - 'history' : function( args, callback ) { - var callback = args['callback'] || callback - , count = args['count'] || args['limit'] || 100 - , reverse = args['reverse'] || "false" - , err = args['error'] || function(){} - , channel = args['channel'] - , start = args['start'] - , end = args['end'] - , params = {} - , jsonp = jsonp_cb(); - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - params['stringtoken'] = 'true'; - params['count'] = count; - params['reverse'] = reverse; - - if (jsonp) params['callback'] = jsonp; - if (start) params['start'] = start; - if (end) params['end'] = end; - - // Send Message - xdr({ - callback : jsonp, - data : params, - success : function(response) { callback(response) }, - fail : err, - url : [ - STD_ORIGIN, 'v2', 'history', 'sub-key', - SUBSCRIBE_KEY, 'channel', encode(channel) - ] - }); - }, - - /* - PUBNUB.replay({ - source : 'my_channel', - destination : 'new_channel' - }); - */ - 'replay' : function(args) { - var callback = callback || args['callback'] || function(){} - , source = args['source'] - , destination = args['destination'] - , stop = args['stop'] - , start = args['start'] - , end = args['end'] - , reverse = args['reverse'] - , limit = args['limit'] - , jsonp = jsonp_cb() - , data = {} - , url; - - // Check User Input - if (!source) return error('Missing Source Channel'); - if (!destination) return error('Missing Destination Channel'); - if (!PUBLISH_KEY) return error('Missing Publish Key'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // Setup URL Params - if (jsonp != '0') data['callback'] = jsonp; - if (stop) data['stop'] = 'all'; - if (reverse) data['reverse'] = 'true'; - if (start) data['start'] = start; - if (end) data['end'] = end; - if (limit) data['count'] = limit; - - // Compose URL Parts - url = [ - STD_ORIGIN, 'v1', 'replay', - PUBLISH_KEY, SUBSCRIBE_KEY, - source, destination - ]; - - // Start (or Stop) Replay! - xdr({ - callback : jsonp, - success : function(response) { callback(response) }, - fail : function() { callback([ 0, 'Disconnected' ]) }, - url : url, - data : data - }); - }, - - /* - PUBNUB.time(function(time){ }); - */ - 'time' : function(callback) { - var jsonp = jsonp_cb(); - xdr({ - callback : jsonp, - timeout : SECOND*5, - url : [STD_ORIGIN, 'time', jsonp], - success : function(response) { callback(response[0]) }, - fail : function() { callback(0) } - }); - }, - - /* - PUBNUB.publish({ - channel : 'my_chat_channel', - message : 'hello!' - }); - */ - 'publish' : function( args, callback ) { - var callback = callback || args['callback'] || function(){} - , msg = args['message'] - , channel = args['channel'] - , jsonp = jsonp_cb() - , url; - - if (!msg) return error('Missing Message'); - if (!channel) return error('Missing Channel'); - if (!PUBLISH_KEY) return error('Missing Publish Key'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // If trying to send Object - msg = JSON['stringify'](msg); - - // Create URL - url = [ - STD_ORIGIN, 'publish', - PUBLISH_KEY, SUBSCRIBE_KEY, - 0, encode(channel), - jsonp, encode(msg) - ]; - - // Queue Message Send - PUB_QUEUE.push({ - callback : jsonp, - timeout : SECOND*5, - url : url, - data : { 'uuid' : UUID }, - success : function(response){callback(response);publish(1)}, - fail : function(){callback([0,'Failed',msg]);publish(1)} - }); - - // Send Message - publish(); - }, - - /* - PUBNUB.unsubscribe({ channel : 'my_chat' }); - */ - 'unsubscribe' : function(args) { - var channel = args['channel']; - - TIMETOKEN = 0; - SUB_RESTORE = 1; - - // Prepare Channel(s) - channel = map( ( - channel.join ? channel.join(',') : ''+channel - ).split(','), function(channel) { - return channel + ',' + channel + PRESENCE_SUFFIX; - } ).join(','); - - // Iterate over Channels - each( channel.split(','), function(channel) { - if (READY) SELF['LEAVE']( channel, 0 ); - CHANNELS[channel] = 0; - } ); - - // ReOpen Connection if Any Channels Left - if (READY) CONNECT(); - }, - - /* - PUBNUB.subscribe({ - channel : 'my_chat' - callback : function(message) { } - }); - */ - 'subscribe' : function( args, callback ) { - var channel = args['channel'] - , callback = callback || args['callback'] - , callback = callback || args['message'] - , connect = args['connect'] || function(){} - , reconnect = args['reconnect'] || function(){} - , disconnect = args['disconnect'] || function(){} - , presence = args['presence'] || 0 - , noheresync = args['noheresync'] || 0 - , backfill = args['backfill'] || 0 - , sub_timeout = args['timeout'] || SUB_TIMEOUT - , windowing = args['windowing'] || SUB_WINDOWING - , restore = args['restore']; - - // Restore Enabled? - if (restore) SUB_RESTORE = 1; - - TIMETOKEN = 0; - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // Setup Channel(s) - each( (channel.join ? channel.join(',') : ''+channel).split(','), - function(channel) { - var settings = CHANNELS[channel] || {}; - - // Store Channel State - CHANNELS[SUB_CHANNEL = channel] = { - name : channel, - connected : settings.connected, - disconnected : settings.disconnected, - subscribed : 1, - callback : SUB_CALLBACK = callback, - connect : connect, - disconnect : disconnect, - reconnect : reconnect - }; - - // Presence Enabled? - if (!presence) return; - - // Subscribe Presence Channel - SELF['subscribe']({ - 'channel' : channel + PRESENCE_SUFFIX, - 'callback' : presence - }); - - // Presence Subscribed? - if (settings.subscribed) return; - - // See Who's Here Now? - if (noheresync) return; - SELF['here_now']({ - 'channel' : channel, - 'callback' : function(here) { - each( 'uuids' in here ? here['uuids'] : [], - function(uid) { presence( { - 'action' : 'join', - 'uuid' : uid, - 'timestamp' : rnow(), - 'occupancy' : here['occupancy'] || 1 - }, here, channel ); } ); - } - }); - } ); - - // Test Network Connection - function _test_connection(success) { - if (success) { - // Begin Next Socket Connection - timeout( _connect, SECOND ); - } - else { - // New Origin on Failed Connection - STD_ORIGIN = nextorigin( ORIGIN, 1 ); - SUB_ORIGIN = nextorigin( ORIGIN, 1 ); - - // Re-test Connection - timeout( function() { - SELF['time'](_test_connection); - }, SECOND ); - } - - // Disconnect & Reconnect - each_channel(function(channel){ - // Reconnect - if (success && channel.disconnected) { - channel.disconnected = 0; - return channel.reconnect(channel.name); - } - - // Disconnect - if (!success && !channel.disconnected) { - channel.disconnected = 1; - channel.disconnect(channel.name); - } - }); - } - - // Evented Subscribe - function _connect() { - var jsonp = jsonp_cb() - , channels = generate_channel_list(CHANNELS).join(','); - - // Stop Connection - if (!channels) return; - - // Connect to PubNub Subscribe Servers - SUB_RECEIVER = xdr({ - timeout : sub_timeout, - callback : jsonp, - fail : function() { SELF['time'](_test_connection) }, - data : { 'uuid' : UUID }, - url : [ - SUB_ORIGIN, 'subscribe', - SUBSCRIBE_KEY, encode(channels), - jsonp, TIMETOKEN - ], - success : function(messages) { - if (!messages) return timeout( _connect, windowing ); - - // Connect - each_channel(function(channel){ - if (channel.connected) return; - channel.connected = 1; - channel.connect(channel.name); - }); - - // Restore Previous Connection Point if Needed - TIMETOKEN = !TIMETOKEN && - SUB_RESTORE && - db['get'](SUBSCRIBE_KEY) || messages[1]; - - - if (backfill) { - Timetoken = 10000; - backfill = 0; - } - - // Update Saved Timetoken - db['set']( SUBSCRIBE_KEY, messages[1] ); - - // Route Channel <---> Callback for Message - var next_callback = (function() { - var channels = (messages.length>2?messages[2]:'') - , list = channels.split(','); - - return function() { - var channel = list.shift()||''; - return [ - (CHANNELS[channel]||{}) - .callback||SUB_CALLBACK, - (channel||SUB_CHANNEL) - .split(PRESENCE_SUFFIX)[0] - ]; - }; - })(); - - each( messages[0], function(msg) { - var next = next_callback(); - if (!CHANNELS[next[1]].subscribed) return; - next[0]( msg, messages, next[1] ); - } ); - - timeout( _connect, windowing ); - } - }); - } - - CONNECT = function() { - // Close Previous Subscribe Connection - SELF['_reset_offline'](); - - // Begin Recursive Subscribe - clearTimeout(SUB_BUFF_WAIT); - SUB_BUFF_WAIT = timeout( _connect, 100 ); - }; - - // Reduce Status Flicker - if (!READY) return READY_BUFFER.push(CONNECT); - - // Connect Now - CONNECT(); - }, - - 'here_now' : function( args, callback ) { - var callback = args['callback'] || callback - , err = args['error'] || function(){} - , channel = args['channel'] - , jsonp = jsonp_cb() - , data = null; - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - if (jsonp != '0') { - data = {}; - data['callback'] = jsonp; - } - - xdr({ - callback : jsonp, - data : data, - success : function(response) { callback(response) }, - fail : err, - url : [ - STD_ORIGIN, 'v2', 'presence', - 'sub_key', SUBSCRIBE_KEY, - 'channel', encode(channel) - ] - }); - }, - - // Expose PUBNUB Functions - 'xdr' : xdr, - 'ready' : ready, - 'db' : db, - 'uuid' : uuid, - 'each' : each, - 'map' : map, - 'grep' : grep, - 'supplant' : supplant, - 'now' : rnow, - 'unique' : unique, - 'updater' : updater, - 'poll_online' : function() { - _is_online() || SELF['_reset_offline'](); - timeout( SELF['poll_online'], SECOND ); - }, - 'poll_online2' : function() { - SELF['time'](function(success){ - success || SELF['_reset_offline'](); - timeout( SELF['poll_online2'], KEEPALIVE ); - }) - } - }; - if (!UUID) UUID = SELF['uuid'](); - db['set']( SUBSCRIBE_KEY + 'uuid', UUID ); - - timeout( SELF['poll_online'], SECOND ); - timeout( SELF['poll_online2'], KEEPALIVE ); - - return SELF; -} -// 3.4/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= JSON =============================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -(window['JSON'] && window['JSON']['stringify']) || (function () { - window['JSON'] || (window['JSON'] = {}); - - function toJSON(key) { - try { return this.valueOf() } - catch(e) { return null } - } - - var cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, - escapable = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, - gap, - indent, - meta = { // table of character substitutions - '\b': '\\b', - '\t': '\\t', - '\n': '\\n', - '\f': '\\f', - '\r': '\\r', - '"' : '\\"', - '\\': '\\\\' - }, - rep; - - function quote(string) { - escapable.lastIndex = 0; - return escapable.test(string) ? - '"' + string.replace(escapable, function (a) { - var c = meta[a]; - return typeof c === 'string' ? c : - '\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4); - }) + '"' : - '"' + string + '"'; - } - - function str(key, holder) { - var i, // The loop counter. - k, // The member key. - v, // The member value. - length, - partial, - mind = gap, - value = holder[key]; - - if (value && typeof value === 'object') { - value = toJSON.call( value, key ); - } - - if (typeof rep === 'function') { - value = rep.call(holder, key, value); - } - - switch (typeof value) { - case 'string': - return quote(value); - - case 'number': - return isFinite(value) ? String(value) : 'null'; - - case 'boolean': - case 'null': - return String(value); - - case 'object': - - if (!value) { - return 'null'; - } - - gap += indent; - partial = []; - - if (Object.prototype.toString.apply(value) === '[object Array]') { - - length = value.length; - for (i = 0; i < length; i += 1) { - partial[i] = str(i, value) || 'null'; - } - - v = partial.length === 0 ? '[]' : - gap ? '[\n' + gap + - partial.join(',\n' + gap) + '\n' + - mind + ']' : - '[' + partial.join(',') + ']'; - gap = mind; - return v; - } - if (rep && typeof rep === 'object') { - length = rep.length; - for (i = 0; i < length; i += 1) { - k = rep[i]; - if (typeof k === 'string') { - v = str(k, value); - if (v) { - partial.push(quote(k) + (gap ? ': ' : ':') + v); - } - } - } - } else { - for (k in value) { - if (Object.hasOwnProperty.call(value, k)) { - v = str(k, value); - if (v) { - partial.push(quote(k) + (gap ? ': ' : ':') + v); - } - } - } - } - - v = partial.length === 0 ? '{}' : - gap ? '{\n' + gap + partial.join(',\n' + gap) + '\n' + - mind + '}' : '{' + partial.join(',') + '}'; - gap = mind; - return v; - } - } - - if (typeof JSON['stringify'] !== 'function') { - JSON['stringify'] = function (value, replacer, space) { - var i; - gap = ''; - indent = ''; - - if (typeof space === 'number') { - for (i = 0; i < space; i += 1) { - indent += ' '; - } - } else if (typeof space === 'string') { - indent = space; - } - rep = replacer; - if (replacer && typeof replacer !== 'function' && - (typeof replacer !== 'object' || - typeof replacer.length !== 'number')) { - throw new Error('JSON.stringify'); - } - return str('', {'': value}); - }; - } - - if (typeof JSON['parse'] !== 'function') { - // JSON is parsed on the server for security. - JSON['parse'] = function (text) {return eval('('+text+')')}; - } -}()); -/* --------------------------------------------------------------------------- -WAIT! - This file depends on instructions from the PUBNUB Cloud. -http://www.pubnub.com/account-javascript-api-include ---------------------------------------------------------------------------- */ - -/* --------------------------------------------------------------------------- -PubNub Real-time Cloud-Hosted Push API and Push Notification Client Frameworks -Copyright (c) 2011 PubNub Inc. -http://www.pubnub.com/ -http://www.pubnub.com/terms ---------------------------------------------------------------------------- */ - -/* --------------------------------------------------------------------------- -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. ---------------------------------------------------------------------------- */ - -/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= UTIL =============================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -window['PUBNUB'] || (function() { - -/** - * UTIL LOCALS - */ - -var SWF = 'https://pubnub.a.ssl.fastly.net/pubnub.swf' -, ASYNC = 'async' -, URLBIT = '/' -, PARAMSBIT = '&' -, UA = navigator.userAgent -, XORIGN = UA.indexOf('MSIE 6') == -1; - -/** - * CONSOLE COMPATIBILITY - */ -window.console || (window.console=window.console||{}); -console.log || ( - console.log = - console.error = - ((window.opera||{}).postError||function(){}) -); - - - -/** - * LOCAL STORAGE OR COOKIE - */ -var db = (function(){ - var ls = window['localStorage']; - return { - 'get' : function(key) { - try { - if (ls) return ls.getItem(key); - if (document.cookie.indexOf(key) == -1) return null; - return ((document.cookie||'').match( - RegExp(key+'=([^;]+)') - )||[])[1] || null; - } catch(e) { return } - }, - 'set' : function( key, value ) { - try { - if (ls) return ls.setItem( key, value ) && 0; - document.cookie = key + '=' + value + - '; expires=Thu, 1 Aug 2030 20:00:00 UTC; path=/'; - } catch(e) { return } - } - }; -})(); - - -/** - * $ - * = - * var div = $('divid'); - */ -function $(id) { return document.getElementById(id) } - -/** - * ERROR - * ===== - * error('message'); - */ -function error(message) { console['error'](message) } - -/** - * SEARCH - * ====== - * var elements = search('a div span'); - */ -function search( elements, start ) { - var list = []; - each( elements.split(/\s+/), function(el) { - each( (start || document).getElementsByTagName(el), function(node) { - list.push(node); - } ); - } ); - return list; -} - - - -/** - * BIND - * ==== - * bind( 'keydown', search('a')[0], function(element) { - * ... - * } ); - */ -function bind( type, el, fun ) { - each( type.split(','), function(etype) { - var rapfun = function(e) { - if (!e) e = window.event; - if (!fun(e)) { - e.cancelBubble = true; - e.returnValue = false; - e.preventDefault && e.preventDefault(); - e.stopPropagation && e.stopPropagation(); - } - }; - - if ( el.addEventListener ) el.addEventListener( etype, rapfun, false ); - else if ( el.attachEvent ) el.attachEvent( 'on' + etype, rapfun ); - else el[ 'on' + etype ] = rapfun; - } ); -} - -/** - * UNBIND - * ====== - * unbind( 'keydown', search('a')[0] ); - */ -function unbind( type, el, fun ) { - if ( el.removeEventListener ) el.removeEventListener( type, false ); - else if ( el.detachEvent ) el.detachEvent( 'on' + type, false ); - else el[ 'on' + type ] = null; -} - -/** - * HEAD - * ==== - * head().appendChild(elm); - */ -function head() { return search('head')[0] } - -/** - * ATTR - * ==== - * var attribute = attr( node, 'attribute' ); - */ -function attr( node, attribute, value ) { - if (value) node.setAttribute( attribute, value ); - else return node && node.getAttribute && node.getAttribute(attribute); -} - -/** - * CSS - * === - * var obj = create('div'); - */ -function css( element, styles ) { - for (var style in styles) if (styles.hasOwnProperty(style)) - try {element.style[style] = styles[style] + ( - '|width|height|top|left|'.indexOf(style) > 0 && - typeof styles[style] == 'number' - ? 'px' : '' - )}catch(e){} -} - -/** - * CREATE - * ====== - * var obj = create('div'); - */ -function create(element) { return document.createElement(element) } - - -/** - * jsonp_cb - * ======== - * var callback = jsonp_cb(); - */ -function jsonp_cb() { return XORIGN || FDomainRequest() ? 0 : unique() } - - - -/** - * EVENTS - * ====== - * PUBNUB.events.bind( 'you-stepped-on-flower', function(message) { - * // Do Stuff with message - * } ); - * - * PUBNUB.events.fire( 'you-stepped-on-flower', "message-data" ); - * PUBNUB.events.fire( 'you-stepped-on-flower', {message:"data"} ); - * PUBNUB.events.fire( 'you-stepped-on-flower', [1,2,3] ); - * - */ -var events = { - 'list' : {}, - 'unbind' : function( name ) { events.list[name] = [] }, - 'bind' : function( name, fun ) { - (events.list[name] = events.list[name] || []).push(fun); - }, - 'fire' : function( name, data ) { - each( - events.list[name] || [], - function(fun) { fun(data) } - ); - } -}; - -/** - * XDR Cross Domain Request - * ======================== - * xdr({ - * url : ['http://www.blah.com/url'], - * success : function(response) {}, - * fail : function() {} - * }); - */ -function xdr( setup ) { - if (XORIGN || FDomainRequest()) return ajax(setup); - - var script = create('script') - , callback = setup.callback - , id = unique() - , finished = 0 - , xhrtme = setup.timeout || DEF_TIMEOUT - , timer = timeout( function(){done(1)}, xhrtme ) - , fail = setup.fail || function(){} - , success = setup.success || function(){} - - , append = function() { - head().appendChild(script); - } - - , done = function( failed, response ) { - if (finished) return; - finished = 1; - - failed || success(response); - script.onerror = null; - clearTimeout(timer); - - timeout( function() { - failed && fail(); - var s = $(id) - , p = s && s.parentNode; - p && p.removeChild(s); - }, SECOND ); - }; - - window[callback] = function(response) { - done( 0, response ); - }; - - if (!setup.blocking) script[ASYNC] = ASYNC; - - script.onerror = function() { done(1) }; - script.src = setup.url.join(URLBIT); - - if (setup.data) { - var params = []; - script.src += "?"; - for (var key in setup.data) { - params.push(key+"="+setup.data[key]); - } - script.src += params.join(PARAMSBIT); - } - attr( script, 'id', id ); - - append(); - return done; -} - -/** - * CORS XHR Request - * ================ - * xdr({ - * url : ['http://www.blah.com/url'], - * success : function(response) {}, - * fail : function() {} - * }); - */ -function ajax( setup ) { - var xhr, response - , finished = function() { - if (loaded) return; - loaded = 1; - - clearTimeout(timer); - - try { response = JSON['parse'](xhr.responseText); } - catch (r) { return done(1); } - - success(response); - } - , complete = 0 - , loaded = 0 - , xhrtme = setup.timeout || DEF_TIMEOUT - , timer = timeout( function(){done(1)}, xhrtme ) - , fail = setup.fail || function(){} - , success = setup.success || function(){} - , done = function(failed) { - if (complete) return; - complete = 1; - - clearTimeout(timer); - - if (xhr) { - xhr.onerror = xhr.onload = null; - xhr.abort && xhr.abort(); - xhr = null; - } - - failed && fail(); - }; - - // Send - try { - xhr = FDomainRequest() || - window.XDomainRequest && - new XDomainRequest() || - new XMLHttpRequest(); - - xhr.onerror = xhr.onabort = function(){ done(1) }; - xhr.onload = xhr.onloadend = finished; - xhr.timeout = xhrtme; - - var url = setup.url.join(URLBIT); - if (setup.data) { - var params = []; - var key; - console.log(setup.data); - url += "?"; - for (key in setup.data) params.push(key+"="+setup.data[key]); - url += params.join(PARAMSBIT); - } - - xhr.open( 'GET', url, (typeof(setup.blocking === 'undefined')) ); - xhr.send(); - } - catch(eee) { - done(0); - XORIGN = 0; - return xdr(setup); - } - - // Return 'done' - return done; -} - - - - // Test Connection State -function _is_online() { - if (!('onLine' in navigator)) return 1; - return navigator['onLine']; -} - - -/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= PUBNUB ===========================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -var PDIV = $('pubnub') || 0 -, CREATE_PUBNUB = function(setup) { - - // Force JSONP if requested from user. - if (setup['jsonp']) XORIGN = 0; - - var SUBSCRIBE_KEY = setup['subscribe_key'] || '' - , KEEPALIVE = (+setup['keepalive'] || DEF_KEEPALIVE) * SECOND - , UUID = setup['uuid'] || db['get'](SUBSCRIBE_KEY+'uuid') || ''; - - setup['xdr'] = xdr; - setup['db'] = db; - setup['_is_online'] = _is_online; - setup['jsonp_cb'] = jsonp_cb; - var SELF = PN_API(setup); - - - SELF['css'] = css; - SELF['$'] = $; - SELF['create'] = create; - SELF['bind'] = bind; - SELF['head'] = head; - SELF['search'] = search; - SELF['attr'] = attr; - SELF['events'] = events; - SELF['init'] = CREATE_PUBNUB; - - // Return without Testing - if (setup['notest']) return SELF; - - // Add Leave Functions - bind( 'beforeunload', window, function() { - each_channel(function(ch){ SELF['LEAVE']( ch.name, 1 ) }); - return true; - } ); - - bind( 'offline', window, SELF['_reset_offline'] ); - bind( 'offline', document, SELF['_reset_offline'] ); - - // Return PUBNUB Socket Object - return SELF; -}; - - - -// Bind for PUBNUB Readiness to Subscribe -bind( 'load', window, function(){ timeout( ready, 0 ) } ); - -var pdiv = PDIV || {}; - -// CREATE A PUBNUB GLOBAL OBJECT -PUBNUB = CREATE_PUBNUB({ - 'notest' : 1, - 'publish_key' : attr( pdiv, 'pub-key' ), - 'subscribe_key' : attr( pdiv, 'sub-key' ), - 'ssl' : !document.location.href.indexOf('https') || - attr( pdiv, 'ssl' ) == 'on', - 'origin' : attr( pdiv, 'origin' ), - 'uuid' : attr( pdiv, 'uuid' ) -}); - -// jQuery Interface -window['jQuery'] && (window['jQuery']['PUBNUB'] = PUBNUB); - -// For Modern JS + Testling.js - http://testling.com/ -typeof(module) !== 'undefined' && (module['exports'] = PUBNUB) && ready(); - -var pubnubs = $('pubnubs') || 0; - -// LEAVE NOW IF NO PDIV. -if (!PDIV) return; - -// PUBNUB Flash Socket -css( PDIV, { 'position' : 'absolute', 'top' : -SECOND } ); - -if ('opera' in window || attr( PDIV, 'flash' )) PDIV['innerHTML'] = - ''; - -// Create Interface for Opera Flash -PUBNUB['rdx'] = function( id, data ) { - if (!data) return FDomainRequest[id]['onerror'](); - FDomainRequest[id]['responseText'] = unescape(data); - FDomainRequest[id]['onload'](); -}; - -function FDomainRequest() { - if (!pubnubs || !pubnubs['get']) return 0; - - var fdomainrequest = { - 'id' : FDomainRequest['id']++, - 'send' : function() {}, - 'abort' : function() { fdomainrequest['id'] = {} }, - 'open' : function( method, url ) { - FDomainRequest[fdomainrequest['id']] = fdomainrequest; - pubnubs['get']( fdomainrequest['id'], url ); - } - }; - - return fdomainrequest; -} -FDomainRequest['id'] = SECOND; - -})(); -(function(){ - -// --------------------------------------------------------------------------- -// WEBSOCKET INTERFACE -// --------------------------------------------------------------------------- -var WS = PUBNUB['ws'] = function( url, protocols ) { - if (!(this instanceof WS)) return new WS( url, protocols ); - - var self = this - , url = self.url = url || '' - , protocol = self.protocol = protocols || 'Sec-WebSocket-Protocol' - , bits = url.split('/') - , setup = { - 'ssl' : bits[0] === 'wss:' - ,'origin' : bits[2] - ,'publish_key' : bits[3] - ,'subscribe_key' : bits[4] - ,'channel' : bits[5] - }; - - // READY STATES - self['CONNECTING'] = 0; // The connection is not yet open. - self['OPEN'] = 1; // The connection is open and ready to communicate. - self['CLOSING'] = 2; // The connection is in the process of closing. - self['CLOSED'] = 3; // The connection is closed or couldn't be opened. - - // CLOSE STATES - self['CLOSE_NORMAL'] = 1000; // Normal Intended Close; completed. - self['CLOSE_GOING_AWAY'] = 1001; // Closed Unexpecttedly. - self['CLOSE_PROTOCOL_ERROR'] = 1002; // Server: Not Supported. - self['CLOSE_UNSUPPORTED'] = 1003; // Server: Unsupported Protocol. - self['CLOSE_TOO_LARGE'] = 1004; // Server: Too Much Data. - self['CLOSE_NO_STATUS'] = 1005; // Server: No reason. - self['CLOSE_ABNORMAL'] = 1006; // Abnormal Disconnect. - - // Events Default - self['onclose'] = self['onerror'] = - self['onmessage'] = self['onopen'] = - self['onsend'] = function(){}; - - // Attributes - self['binaryType'] = ''; - self['extensions'] = ''; - self['bufferedAmount'] = 0; - self['trasnmitting'] = false; - self['buffer'] = []; - self['readyState'] = self['CONNECTING']; - - // Close if no setup. - if (!url) { - self['readyState'] = self['CLOSED']; - self['onclose']({ - 'code' : self['CLOSE_ABNORMAL'], - 'reason' : 'Missing URL', - 'wasClean' : true - }); - return self; - } - - // PubNub WebSocket Emulation - self.pubnub = PUBNUB['init'](setup); - self.pubnub.setup = setup; - self.setup = setup; - - self.pubnub['subscribe']({ - 'restore' : false, - 'channel' : setup['channel'], - 'disconnect' : self['onerror'], - 'reconnect' : self['onopen'], - 'error' : function() { - self['onclose']({ - 'code' : self['CLOSE_ABNORMAL'], - 'reason' : 'Missing URL', - 'wasClean' : false - }); - }, - 'callback' : function(message) { - self['onmessage']({ 'data' : message }); - }, - 'connect' : function() { - self['readyState'] = self['OPEN']; - self['onopen'](); - } - }); -}; - -// --------------------------------------------------------------------------- -// WEBSOCKET SEND -// --------------------------------------------------------------------------- -WS.prototype.send = function(data) { - var self = this; - self.pubnub['publish']({ - 'channel' : self.pubnub.setup['channel'], - 'message' : data, - 'callback' : function(response) { - self['onsend']({ 'data' : response }); - } - }); -}; - -// --------------------------------------------------------------------------- -// WEBSOCKET CLOSE -// --------------------------------------------------------------------------- -WS.prototype.close = function() { - var self = this; - self.pubnub['unsubscribe']({ 'channel' : self.pubnub.setup['channel'] }); - self['readyState'] = self['CLOSED']; - self['onclose']({}); -}; - -})(); -(function(){ - -// --------------------------------------------------------------------------- -// WEBSOCKET INTERFACE -// --------------------------------------------------------------------------- -var WS = PUBNUB['ws'] = function( url, protocols ) { - if (!(this instanceof WS)) return new WS( url, protocols ); - - var self = this - , url = self.url = url || '' - , protocol = self.protocol = protocols || 'Sec-WebSocket-Protocol' - , bits = url.split('/') - , setup = { - 'ssl' : bits[0] === 'wss:' - ,'origin' : bits[2] - ,'publish_key' : bits[3] - ,'subscribe_key' : bits[4] - ,'channel' : bits[5] - }; - - // READY STATES - self['CONNECTING'] = 0; // The connection is not yet open. - self['OPEN'] = 1; // The connection is open and ready to communicate. - self['CLOSING'] = 2; // The connection is in the process of closing. - self['CLOSED'] = 3; // The connection is closed or couldn't be opened. - - // CLOSE STATES - self['CLOSE_NORMAL'] = 1000; // Normal Intended Close; completed. - self['CLOSE_GOING_AWAY'] = 1001; // Closed Unexpecttedly. - self['CLOSE_PROTOCOL_ERROR'] = 1002; // Server: Not Supported. - self['CLOSE_UNSUPPORTED'] = 1003; // Server: Unsupported Protocol. - self['CLOSE_TOO_LARGE'] = 1004; // Server: Too Much Data. - self['CLOSE_NO_STATUS'] = 1005; // Server: No reason. - self['CLOSE_ABNORMAL'] = 1006; // Abnormal Disconnect. - - // Events Default - self['onclose'] = self['onerror'] = - self['onmessage'] = self['onopen'] = - self['onsend'] = function(){}; - - // Attributes - self['binaryType'] = ''; - self['extensions'] = ''; - self['bufferedAmount'] = 0; - self['trasnmitting'] = false; - self['buffer'] = []; - self['readyState'] = self['CONNECTING']; - - // Close if no setup. - if (!url) { - self['readyState'] = self['CLOSED']; - self['onclose']({ - 'code' : self['CLOSE_ABNORMAL'], - 'reason' : 'Missing URL', - 'wasClean' : true - }); - return self; - } - - // PubNub WebSocket Emulation - self.pubnub = PUBNUB['init'](setup); - self.pubnub.setup = setup; - self.setup = setup; - - self.pubnub['subscribe']({ - 'restore' : false, - 'channel' : setup['channel'], - 'disconnect' : self['onerror'], - 'reconnect' : self['onopen'], - 'error' : function() { - self['onclose']({ - 'code' : self['CLOSE_ABNORMAL'], - 'reason' : 'Missing URL', - 'wasClean' : false - }); - }, - 'callback' : function(message) { - self['onmessage']({ 'data' : message }); - }, - 'connect' : function() { - self['readyState'] = self['OPEN']; - self['onopen'](); - } - }); -}; - -// --------------------------------------------------------------------------- -// WEBSOCKET SEND -// --------------------------------------------------------------------------- -WS.prototype.send = function(data) { - var self = this; - self.pubnub['publish']({ - 'channel' : self.pubnub.setup['channel'], - 'message' : data, - 'callback' : function(response) { - self['onsend']({ 'data' : response }); - } - }); -}; - -// --------------------------------------------------------------------------- -// WEBSOCKET CLOSE -// --------------------------------------------------------------------------- -WS.prototype.close = function() { - var self = this; - self.pubnub['unsubscribe']({ 'channel' : self.pubnub.setup['channel'] }); - self['readyState'] = self['CLOSED']; - self['onclose']({}); -}; - -})(); -/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= JSON =============================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -(window['JSON'] && window['JSON']['stringify']) || (function () { - window['JSON'] || (window['JSON'] = {}); - - function toJSON(key) { - try { return this.valueOf() } - catch(e) { return null } - } - - var cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, - escapable = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, - gap, - indent, - meta = { // table of character substitutions - '\b': '\\b', - '\t': '\\t', - '\n': '\\n', - '\f': '\\f', - '\r': '\\r', - '"' : '\\"', - '\\': '\\\\' - }, - rep; - - function quote(string) { - escapable.lastIndex = 0; - return escapable.test(string) ? - '"' + string.replace(escapable, function (a) { - var c = meta[a]; - return typeof c === 'string' ? c : - '\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4); - }) + '"' : - '"' + string + '"'; - } - - function str(key, holder) { - var i, // The loop counter. - k, // The member key. - v, // The member value. - length, - partial, - mind = gap, - value = holder[key]; - - if (value && typeof value === 'object') { - value = toJSON.call( value, key ); - } - - if (typeof rep === 'function') { - value = rep.call(holder, key, value); - } - - switch (typeof value) { - case 'string': - return quote(value); - - case 'number': - return isFinite(value) ? String(value) : 'null'; - - case 'boolean': - case 'null': - return String(value); - - case 'object': - - if (!value) { - return 'null'; - } - - gap += indent; - partial = []; - - if (Object.prototype.toString.apply(value) === '[object Array]') { - - length = value.length; - for (i = 0; i < length; i += 1) { - partial[i] = str(i, value) || 'null'; - } - - v = partial.length === 0 ? '[]' : - gap ? '[\n' + gap + - partial.join(',\n' + gap) + '\n' + - mind + ']' : - '[' + partial.join(',') + ']'; - gap = mind; - return v; - } - if (rep && typeof rep === 'object') { - length = rep.length; - for (i = 0; i < length; i += 1) { - k = rep[i]; - if (typeof k === 'string') { - v = str(k, value); - if (v) { - partial.push(quote(k) + (gap ? ': ' : ':') + v); - } - } - } - } else { - for (k in value) { - if (Object.hasOwnProperty.call(value, k)) { - v = str(k, value); - if (v) { - partial.push(quote(k) + (gap ? ': ' : ':') + v); - } - } - } - } - - v = partial.length === 0 ? '{}' : - gap ? '{\n' + gap + partial.join(',\n' + gap) + '\n' + - mind + '}' : '{' + partial.join(',') + '}'; - gap = mind; - return v; - } - } - - if (typeof JSON['stringify'] !== 'function') { - JSON['stringify'] = function (value, replacer, space) { - var i; - gap = ''; - indent = ''; - - if (typeof space === 'number') { - for (i = 0; i < space; i += 1) { - indent += ' '; - } - } else if (typeof space === 'string') { - indent = space; - } - rep = replacer; - if (replacer && typeof replacer !== 'function' && - (typeof replacer !== 'object' || - typeof replacer.length !== 'number')) { - throw new Error('JSON.stringify'); - } - return str('', {'': value}); - }; - } - - if (typeof JSON['parse'] !== 'function') { - // JSON is parsed on the server for security. - JSON['parse'] = function (text) {return eval('('+text+')')}; - } -}()); -var NOW = 1 -, READY = false -, READY_BUFFER = [] -, PRESENCE_SUFFIX = '-pnpres' -, DEF_WINDOWING = 10 // MILLISECONDS. -, DEF_TIMEOUT = 10000 // MILLISECONDS. -, DEF_SUB_TIMEOUT = 310 // SECONDS. -, DEF_KEEPALIVE = 60 // SECONDS. -, SECOND = 1000 // A THOUSAND MILLISECONDS. -, REPL = /{([\w\-]+)}/g; - -/** - * UTILITIES - */ -function unique() { return'x'+ ++NOW+''+(+new Date) } -function rnow() { return+new Date } - -/** - * NEXTORIGIN - * ========== - * var next_origin = nextorigin(); - */ -var nextorigin = (function() { - var max = 20 - , ori = Math.floor(Math.random() * max); - return function( origin, failover ) { - return origin.indexOf('pubsub.') > 0 - && origin.replace( - 'pubsub', 'ps' + ( - failover ? uuid().split('-')[0] : - (++ori < max? ori : ori=1) - ) ) || origin; - } -})(); - -/** - * UPDATER - * ======= - * var timestamp = unique(); - */ -function updater( fun, rate ) { - var timeout - , last = 0 - , runnit = function() { - if (last + rate > rnow()) { - clearTimeout(timeout); - timeout = setTimeout( runnit, rate ); - } - else { - last = rnow(); - fun(); - } - }; - - return runnit; -} - -/** - * GREP - * ==== - * var list = grep( [1,2,3], function(item) { return item % 2 } ) - */ -function grep( list, fun ) { - var fin = []; - each( list || [], function(l) { fun(l) && fin.push(l) } ); - return fin -} - -/** - * SUPPLANT - * ======== - * var text = supplant( 'Hello {name}!', { name : 'John' } ) - */ -function supplant( str, values ) { - return str.replace( REPL, function( _, match ) { - return values[match] || _ - } ); -} - -/** - * timeout - * ======= - * timeout( function(){}, 100 ); - */ -function timeout( fun, wait ) { - return setTimeout( fun, wait ); -} - -/** - * uuid - * ==== - * var my_uuid = uuid(); - */ -function uuid(callback) { - var u = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, - function(c) { - var r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8); - return v.toString(16); - }); - if (callback) callback(u); - return u; -} - -/** - * EACH - * ==== - * each( [1,2,3], function(item) { } ) - */ -function each( o, f ) { - if ( !o || !f ) return; - - if ( typeof o[0] != 'undefined' ) - for ( var i = 0, l = o.length; i < l; ) - f.call( o[i], o[i], i++ ); - else - for ( var i in o ) - o.hasOwnProperty && - o.hasOwnProperty(i) && - f.call( o[i], i, o[i] ); -} - -/** - * MAP - * === - * var list = map( [1,2,3], function(item) { return item + 1 } ) - */ -function map( list, fun ) { - var fin = []; - each( list || [], function( k, v ) { fin.push(fun( k, v )) } ); - return fin; -} - -/** - * ENCODE - * ====== - * var encoded_path = encode('path'); - */ -function encode(path) { - return map( (encodeURIComponent(path)).split(''), function(chr) { - return "-_.!~*'()".indexOf(chr) < 0 ? chr : - "%"+chr.charCodeAt(0).toString(16).toUpperCase() - } ).join(''); -} - -/** - * Generate Subscription Channel List - * ================================== - * generate_channel_list(channels_object); - */ -function generate_channel_list(channels) { - var list = []; - each( channels, function( channel, status ) { - if (status.subscribed) list.push(channel); - } ); - return list.sort(); -} - -// PUBNUB READY TO CONNECT - function ready() { timeout( function() { - if (READY) return; - READY = 1; - each( READY_BUFFER, function(connect) { connect() } ); - }, SECOND ); } - -function PN_API(setup) { - var SUB_WINDOWING = +setup['windowing'] || DEF_WINDOWING - , SUB_TIMEOUT = (+setup['timeout'] || DEF_SUB_TIMEOUT) * SECOND - , KEEPALIVE = (+setup['keepalive'] || DEF_KEEPALIVE) * SECOND - , PUBLISH_KEY = setup['publish_key'] || '' - , SUBSCRIBE_KEY = setup['subscribe_key'] || '' - , SSL = setup['ssl'] ? 's' : '' - , ORIGIN = 'http'+SSL+'://'+(setup['origin']||'pubsub.pubnub.com') - , STD_ORIGIN = nextorigin(ORIGIN) - , SUB_ORIGIN = nextorigin(ORIGIN) - , CONNECT = function(){} - , PUB_QUEUE = [] - , SUB_CALLBACK = 0 - , SUB_CHANNEL = 0 - , SUB_RECEIVER = 0 - , SUB_RESTORE = 0 - , SUB_BUFF_WAIT = 0 - , TIMETOKEN = 0 - , CHANNELS = {} - , xdr = setup['xdr'] - , _is_online = setup['_is_online'] || function() { return 1; } - , jsonp_cb = setup['jsonp_cb'] || function(){ return 0; } - , db = setup['db'] || {'get': function(){}, 'set': function(){}} - , UUID = setup['uuid'] || ( db && db['get'](SUBSCRIBE_KEY+'uuid') || ''); - - - - function publish(next) { - if (next) PUB_QUEUE.sending = 0; - if (PUB_QUEUE.sending || !PUB_QUEUE.length) return; - PUB_QUEUE.sending = 1; - xdr(PUB_QUEUE.shift()); - } - - function each_channel(callback) { - each( generate_channel_list(CHANNELS), function(channel) { - var chan = CHANNELS[channel]; - if (!chan) return; - callback(chan); - } ); - } - - // Announce Leave Event - - - var SELF = { - - '_reset_offline' : function() { - SUB_RECEIVER && SUB_RECEIVER(1); - }, - - 'LEAVE' : function( channel, blocking ) { - var data = { 'uuid' : UUID } - , origin = nextorigin(ORIGIN) - , jsonp = jsonp_cb(); - - // Prevent Leaving a Presence Channel - if (channel.indexOf(PRESENCE_SUFFIX) > 0) return; - - if (jsonp != '0') data['callback'] = jsonp; - - xdr({ - blocking : blocking || SSL, - timeout : 2000, - callback : jsonp, - data : data, - url : [ - origin, 'v2', 'presence', 'sub_key', - SUBSCRIBE_KEY, 'channel', encode(channel), 'leave' - ] - }); - }, - /* - PUBNUB.history({ - channel : 'my_chat_channel', - limit : 100, - callback : function(history) { } - }); - */ - 'history' : function( args, callback ) { - var callback = args['callback'] || callback - , count = args['count'] || args['limit'] || 100 - , reverse = args['reverse'] || "false" - , err = args['error'] || function(){} - , channel = args['channel'] - , start = args['start'] - , end = args['end'] - , params = {} - , jsonp = jsonp_cb(); - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - params['stringtoken'] = 'true'; - params['count'] = count; - params['reverse'] = reverse; - - if (jsonp) params['callback'] = jsonp; - if (start) params['start'] = start; - if (end) params['end'] = end; - - // Send Message - xdr({ - callback : jsonp, - data : params, - success : function(response) { callback(response) }, - fail : err, - url : [ - STD_ORIGIN, 'v2', 'history', 'sub-key', - SUBSCRIBE_KEY, 'channel', encode(channel) - ] - }); - }, - - /* - PUBNUB.replay({ - source : 'my_channel', - destination : 'new_channel' - }); - */ - 'replay' : function(args) { - var callback = callback || args['callback'] || function(){} - , source = args['source'] - , destination = args['destination'] - , stop = args['stop'] - , start = args['start'] - , end = args['end'] - , reverse = args['reverse'] - , limit = args['limit'] - , jsonp = jsonp_cb() - , data = {} - , url; - - // Check User Input - if (!source) return error('Missing Source Channel'); - if (!destination) return error('Missing Destination Channel'); - if (!PUBLISH_KEY) return error('Missing Publish Key'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // Setup URL Params - if (jsonp != '0') data['callback'] = jsonp; - if (stop) data['stop'] = 'all'; - if (reverse) data['reverse'] = 'true'; - if (start) data['start'] = start; - if (end) data['end'] = end; - if (limit) data['count'] = limit; - - // Compose URL Parts - url = [ - STD_ORIGIN, 'v1', 'replay', - PUBLISH_KEY, SUBSCRIBE_KEY, - source, destination - ]; - - // Start (or Stop) Replay! - xdr({ - callback : jsonp, - success : function(response) { callback(response) }, - fail : function() { callback([ 0, 'Disconnected' ]) }, - url : url, - data : data - }); - }, - - /* - PUBNUB.time(function(time){ }); - */ - 'time' : function(callback) { - var jsonp = jsonp_cb(); - xdr({ - callback : jsonp, - timeout : SECOND*5, - url : [STD_ORIGIN, 'time', jsonp], - success : function(response) { callback(response[0]) }, - fail : function() { callback(0) } - }); - }, - - /* - PUBNUB.publish({ - channel : 'my_chat_channel', - message : 'hello!' - }); - */ - 'publish' : function( args, callback ) { - var callback = callback || args['callback'] || function(){} - , msg = args['message'] - , channel = args['channel'] - , jsonp = jsonp_cb() - , url; - - if (!msg) return error('Missing Message'); - if (!channel) return error('Missing Channel'); - if (!PUBLISH_KEY) return error('Missing Publish Key'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // If trying to send Object - msg = JSON['stringify'](msg); - - // Create URL - url = [ - STD_ORIGIN, 'publish', - PUBLISH_KEY, SUBSCRIBE_KEY, - 0, encode(channel), - jsonp, encode(msg) - ]; - - // Queue Message Send - PUB_QUEUE.push({ - callback : jsonp, - timeout : SECOND*5, - url : url, - data : { 'uuid' : UUID }, - success : function(response){callback(response);publish(1)}, - fail : function(){callback([0,'Failed',msg]);publish(1)} - }); - - // Send Message - publish(); - }, - - /* - PUBNUB.unsubscribe({ channel : 'my_chat' }); - */ - 'unsubscribe' : function(args) { - var channel = args['channel']; - - TIMETOKEN = 0; - SUB_RESTORE = 1; - - // Prepare Channel(s) - channel = map( ( - channel.join ? channel.join(',') : ''+channel - ).split(','), function(channel) { - return channel + ',' + channel + PRESENCE_SUFFIX; - } ).join(','); - - // Iterate over Channels - each( channel.split(','), function(channel) { - if (READY) SELF['LEAVE']( channel, 0 ); - CHANNELS[channel] = 0; - } ); - - // ReOpen Connection if Any Channels Left - if (READY) CONNECT(); - }, - - /* - PUBNUB.subscribe({ - channel : 'my_chat' - callback : function(message) { } - }); - */ - 'subscribe' : function( args, callback ) { - var channel = args['channel'] - , callback = callback || args['callback'] - , callback = callback || args['message'] - , connect = args['connect'] || function(){} - , reconnect = args['reconnect'] || function(){} - , disconnect = args['disconnect'] || function(){} - , presence = args['presence'] || 0 - , noheresync = args['noheresync'] || 0 - , backfill = args['backfill'] || 0 - , sub_timeout = args['timeout'] || SUB_TIMEOUT - , windowing = args['windowing'] || SUB_WINDOWING - , restore = args['restore']; - - // Restore Enabled? - if (restore) SUB_RESTORE = 1; - - TIMETOKEN = 0; - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // Setup Channel(s) - each( (channel.join ? channel.join(',') : ''+channel).split(','), - function(channel) { - var settings = CHANNELS[channel] || {}; - - // Store Channel State - CHANNELS[SUB_CHANNEL = channel] = { - name : channel, - connected : settings.connected, - disconnected : settings.disconnected, - subscribed : 1, - callback : SUB_CALLBACK = callback, - connect : connect, - disconnect : disconnect, - reconnect : reconnect - }; - - // Presence Enabled? - if (!presence) return; - - // Subscribe Presence Channel - SELF['subscribe']({ - 'channel' : channel + PRESENCE_SUFFIX, - 'callback' : presence - }); - - // Presence Subscribed? - if (settings.subscribed) return; - - // See Who's Here Now? - if (noheresync) return; - SELF['here_now']({ - 'channel' : channel, - 'callback' : function(here) { - each( 'uuids' in here ? here['uuids'] : [], - function(uid) { presence( { - 'action' : 'join', - 'uuid' : uid, - 'timestamp' : rnow(), - 'occupancy' : here['occupancy'] || 1 - }, here, channel ); } ); - } - }); - } ); - - // Test Network Connection - function _test_connection(success) { - if (success) { - // Begin Next Socket Connection - timeout( _connect, SECOND ); - } - else { - // New Origin on Failed Connection - STD_ORIGIN = nextorigin( ORIGIN, 1 ); - SUB_ORIGIN = nextorigin( ORIGIN, 1 ); - - // Re-test Connection - timeout( function() { - SELF['time'](_test_connection); - }, SECOND ); - } - - // Disconnect & Reconnect - each_channel(function(channel){ - // Reconnect - if (success && channel.disconnected) { - channel.disconnected = 0; - return channel.reconnect(channel.name); - } - - // Disconnect - if (!success && !channel.disconnected) { - channel.disconnected = 1; - channel.disconnect(channel.name); - } - }); - } - - // Evented Subscribe - function _connect() { - var jsonp = jsonp_cb() - , channels = generate_channel_list(CHANNELS).join(','); - - // Stop Connection - if (!channels) return; - - // Connect to PubNub Subscribe Servers - SUB_RECEIVER = xdr({ - timeout : sub_timeout, - callback : jsonp, - fail : function() { SELF['time'](_test_connection) }, - data : { 'uuid' : UUID }, - url : [ - SUB_ORIGIN, 'subscribe', - SUBSCRIBE_KEY, encode(channels), - jsonp, TIMETOKEN - ], - success : function(messages) { - if (!messages) return timeout( _connect, windowing ); - - // Connect - each_channel(function(channel){ - if (channel.connected) return; - channel.connected = 1; - channel.connect(channel.name); - }); - - // Restore Previous Connection Point if Needed - TIMETOKEN = !TIMETOKEN && - SUB_RESTORE && - db['get'](SUBSCRIBE_KEY) || messages[1]; - - - if (backfill) { - Timetoken = 10000; - backfill = 0; - } - - // Update Saved Timetoken - db['set']( SUBSCRIBE_KEY, messages[1] ); - - // Route Channel <---> Callback for Message - var next_callback = (function() { - var channels = (messages.length>2?messages[2]:'') - , list = channels.split(','); - - return function() { - var channel = list.shift()||''; - return [ - (CHANNELS[channel]||{}) - .callback||SUB_CALLBACK, - (channel||SUB_CHANNEL) - .split(PRESENCE_SUFFIX)[0] - ]; - }; - })(); - - each( messages[0], function(msg) { - var next = next_callback(); - if (!CHANNELS[next[1]].subscribed) return; - next[0]( msg, messages, next[1] ); - } ); - - timeout( _connect, windowing ); - } - }); - } - - CONNECT = function() { - // Close Previous Subscribe Connection - SELF['_reset_offline'](); - - // Begin Recursive Subscribe - clearTimeout(SUB_BUFF_WAIT); - SUB_BUFF_WAIT = timeout( _connect, 100 ); - }; - - // Reduce Status Flicker - if (!READY) return READY_BUFFER.push(CONNECT); - - // Connect Now - CONNECT(); - }, - - 'here_now' : function( args, callback ) { - var callback = args['callback'] || callback - , err = args['error'] || function(){} - , channel = args['channel'] - , jsonp = jsonp_cb() - , data = null; - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - if (jsonp != '0') { - data = {}; - data['callback'] = jsonp; - } - - xdr({ - callback : jsonp, - data : data, - success : function(response) { callback(response) }, - fail : err, - url : [ - STD_ORIGIN, 'v2', 'presence', - 'sub_key', SUBSCRIBE_KEY, - 'channel', encode(channel) - ] - }); - }, - - // Expose PUBNUB Functions - 'xdr' : xdr, - 'ready' : ready, - 'db' : db, - 'uuid' : uuid, - 'each' : each, - 'map' : map, - 'grep' : grep, - 'supplant' : supplant, - 'now' : rnow, - 'unique' : unique, - 'updater' : updater, - 'poll_online' : function() { - _is_online() || SELF['_reset_offline'](); - timeout( SELF['poll_online'], SECOND ); - }, - 'poll_online2' : function() { - SELF['time'](function(success){ - success || SELF['_reset_offline'](); - timeout( SELF['poll_online2'], KEEPALIVE ); - }) - } - }; - if (!UUID) UUID = SELF['uuid'](); - db['set']( SUBSCRIBE_KEY + 'uuid', UUID ); - - timeout( SELF['poll_online'], SECOND ); - timeout( SELF['poll_online2'], KEEPALIVE ); - - return SELF; -} -// 3.4/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= JSON =============================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -(window['JSON'] && window['JSON']['stringify']) || (function () { - window['JSON'] || (window['JSON'] = {}); - - function toJSON(key) { - try { return this.valueOf() } - catch(e) { return null } - } - - var cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, - escapable = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, - gap, - indent, - meta = { // table of character substitutions - '\b': '\\b', - '\t': '\\t', - '\n': '\\n', - '\f': '\\f', - '\r': '\\r', - '"' : '\\"', - '\\': '\\\\' - }, - rep; - - function quote(string) { - escapable.lastIndex = 0; - return escapable.test(string) ? - '"' + string.replace(escapable, function (a) { - var c = meta[a]; - return typeof c === 'string' ? c : - '\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4); - }) + '"' : - '"' + string + '"'; - } - - function str(key, holder) { - var i, // The loop counter. - k, // The member key. - v, // The member value. - length, - partial, - mind = gap, - value = holder[key]; - - if (value && typeof value === 'object') { - value = toJSON.call( value, key ); - } - - if (typeof rep === 'function') { - value = rep.call(holder, key, value); - } - - switch (typeof value) { - case 'string': - return quote(value); - - case 'number': - return isFinite(value) ? String(value) : 'null'; - - case 'boolean': - case 'null': - return String(value); - - case 'object': - - if (!value) { - return 'null'; - } - - gap += indent; - partial = []; - - if (Object.prototype.toString.apply(value) === '[object Array]') { - - length = value.length; - for (i = 0; i < length; i += 1) { - partial[i] = str(i, value) || 'null'; - } - - v = partial.length === 0 ? '[]' : - gap ? '[\n' + gap + - partial.join(',\n' + gap) + '\n' + - mind + ']' : - '[' + partial.join(',') + ']'; - gap = mind; - return v; - } - if (rep && typeof rep === 'object') { - length = rep.length; - for (i = 0; i < length; i += 1) { - k = rep[i]; - if (typeof k === 'string') { - v = str(k, value); - if (v) { - partial.push(quote(k) + (gap ? ': ' : ':') + v); - } - } - } - } else { - for (k in value) { - if (Object.hasOwnProperty.call(value, k)) { - v = str(k, value); - if (v) { - partial.push(quote(k) + (gap ? ': ' : ':') + v); - } - } - } - } - - v = partial.length === 0 ? '{}' : - gap ? '{\n' + gap + partial.join(',\n' + gap) + '\n' + - mind + '}' : '{' + partial.join(',') + '}'; - gap = mind; - return v; - } - } - - if (typeof JSON['stringify'] !== 'function') { - JSON['stringify'] = function (value, replacer, space) { - var i; - gap = ''; - indent = ''; - - if (typeof space === 'number') { - for (i = 0; i < space; i += 1) { - indent += ' '; - } - } else if (typeof space === 'string') { - indent = space; - } - rep = replacer; - if (replacer && typeof replacer !== 'function' && - (typeof replacer !== 'object' || - typeof replacer.length !== 'number')) { - throw new Error('JSON.stringify'); - } - return str('', {'': value}); - }; - } - - if (typeof JSON['parse'] !== 'function') { - // JSON is parsed on the server for security. - JSON['parse'] = function (text) {return eval('('+text+')')}; - } -}()); -/* --------------------------------------------------------------------------- -WAIT! - This file depends on instructions from the PUBNUB Cloud. -http://www.pubnub.com/account-javascript-api-include ---------------------------------------------------------------------------- */ - -/* --------------------------------------------------------------------------- -PubNub Real-time Cloud-Hosted Push API and Push Notification Client Frameworks -Copyright (c) 2011 PubNub Inc. -http://www.pubnub.com/ -http://www.pubnub.com/terms ---------------------------------------------------------------------------- */ - -/* --------------------------------------------------------------------------- -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. ---------------------------------------------------------------------------- */ - -/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= UTIL =============================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -window['PUBNUB'] || (function() { - -/** - * UTIL LOCALS - */ - -var SWF = 'https://pubnub.a.ssl.fastly.net/pubnub.swf' -, ASYNC = 'async' -, URLBIT = '/' -, PARAMSBIT = '&' -, UA = navigator.userAgent -, XORIGN = UA.indexOf('MSIE 6') == -1; - -/** - * CONSOLE COMPATIBILITY - */ -window.console || (window.console=window.console||{}); -console.log || ( - console.log = - console.error = - ((window.opera||{}).postError||function(){}) -); - - - -/** - * LOCAL STORAGE OR COOKIE - */ -var db = (function(){ - var ls = window['localStorage']; - return { - 'get' : function(key) { - try { - if (ls) return ls.getItem(key); - if (document.cookie.indexOf(key) == -1) return null; - return ((document.cookie||'').match( - RegExp(key+'=([^;]+)') - )||[])[1] || null; - } catch(e) { return } - }, - 'set' : function( key, value ) { - try { - if (ls) return ls.setItem( key, value ) && 0; - document.cookie = key + '=' + value + - '; expires=Thu, 1 Aug 2030 20:00:00 UTC; path=/'; - } catch(e) { return } - } - }; -})(); - - -/** - * $ - * = - * var div = $('divid'); - */ -function $(id) { return document.getElementById(id) } - -/** - * ERROR - * ===== - * error('message'); - */ -function error(message) { console['error'](message) } - -/** - * SEARCH - * ====== - * var elements = search('a div span'); - */ -function search( elements, start ) { - var list = []; - each( elements.split(/\s+/), function(el) { - each( (start || document).getElementsByTagName(el), function(node) { - list.push(node); - } ); - } ); - return list; -} - - - -/** - * BIND - * ==== - * bind( 'keydown', search('a')[0], function(element) { - * ... - * } ); - */ -function bind( type, el, fun ) { - each( type.split(','), function(etype) { - var rapfun = function(e) { - if (!e) e = window.event; - if (!fun(e)) { - e.cancelBubble = true; - e.returnValue = false; - e.preventDefault && e.preventDefault(); - e.stopPropagation && e.stopPropagation(); - } - }; - - if ( el.addEventListener ) el.addEventListener( etype, rapfun, false ); - else if ( el.attachEvent ) el.attachEvent( 'on' + etype, rapfun ); - else el[ 'on' + etype ] = rapfun; - } ); -} - -/** - * UNBIND - * ====== - * unbind( 'keydown', search('a')[0] ); - */ -function unbind( type, el, fun ) { - if ( el.removeEventListener ) el.removeEventListener( type, false ); - else if ( el.detachEvent ) el.detachEvent( 'on' + type, false ); - else el[ 'on' + type ] = null; -} - -/** - * HEAD - * ==== - * head().appendChild(elm); - */ -function head() { return search('head')[0] } - -/** - * ATTR - * ==== - * var attribute = attr( node, 'attribute' ); - */ -function attr( node, attribute, value ) { - if (value) node.setAttribute( attribute, value ); - else return node && node.getAttribute && node.getAttribute(attribute); -} - -/** - * CSS - * === - * var obj = create('div'); - */ -function css( element, styles ) { - for (var style in styles) if (styles.hasOwnProperty(style)) - try {element.style[style] = styles[style] + ( - '|width|height|top|left|'.indexOf(style) > 0 && - typeof styles[style] == 'number' - ? 'px' : '' - )}catch(e){} -} - -/** - * CREATE - * ====== - * var obj = create('div'); - */ -function create(element) { return document.createElement(element) } - - -/** - * jsonp_cb - * ======== - * var callback = jsonp_cb(); - */ -function jsonp_cb() { return XORIGN || FDomainRequest() ? 0 : unique() } - - - -/** - * EVENTS - * ====== - * PUBNUB.events.bind( 'you-stepped-on-flower', function(message) { - * // Do Stuff with message - * } ); - * - * PUBNUB.events.fire( 'you-stepped-on-flower', "message-data" ); - * PUBNUB.events.fire( 'you-stepped-on-flower', {message:"data"} ); - * PUBNUB.events.fire( 'you-stepped-on-flower', [1,2,3] ); - * - */ -var events = { - 'list' : {}, - 'unbind' : function( name ) { events.list[name] = [] }, - 'bind' : function( name, fun ) { - (events.list[name] = events.list[name] || []).push(fun); - }, - 'fire' : function( name, data ) { - each( - events.list[name] || [], - function(fun) { fun(data) } - ); - } -}; - -/** - * XDR Cross Domain Request - * ======================== - * xdr({ - * url : ['http://www.blah.com/url'], - * success : function(response) {}, - * fail : function() {} - * }); - */ -function xdr( setup ) { - if (XORIGN || FDomainRequest()) return ajax(setup); - - var script = create('script') - , callback = setup.callback - , id = unique() - , finished = 0 - , xhrtme = setup.timeout || DEF_TIMEOUT - , timer = timeout( function(){done(1)}, xhrtme ) - , fail = setup.fail || function(){} - , success = setup.success || function(){} - - , append = function() { - head().appendChild(script); - } - - , done = function( failed, response ) { - if (finished) return; - finished = 1; - - failed || success(response); - script.onerror = null; - clearTimeout(timer); - - timeout( function() { - failed && fail(); - var s = $(id) - , p = s && s.parentNode; - p && p.removeChild(s); - }, SECOND ); - }; - - window[callback] = function(response) { - done( 0, response ); - }; - - if (!setup.blocking) script[ASYNC] = ASYNC; - - script.onerror = function() { done(1) }; - script.src = setup.url.join(URLBIT); - - if (setup.data) { - var params = []; - script.src += "?"; - for (var key in setup.data) { - params.push(key+"="+setup.data[key]); - } - script.src += params.join(PARAMSBIT); - } - attr( script, 'id', id ); - - append(); - return done; -} - -/** - * CORS XHR Request - * ================ - * xdr({ - * url : ['http://www.blah.com/url'], - * success : function(response) {}, - * fail : function() {} - * }); - */ -function ajax( setup ) { - var xhr, response - , finished = function() { - if (loaded) return; - loaded = 1; - - clearTimeout(timer); - - try { response = JSON['parse'](xhr.responseText); } - catch (r) { return done(1); } - - success(response); - } - , complete = 0 - , loaded = 0 - , xhrtme = setup.timeout || DEF_TIMEOUT - , timer = timeout( function(){done(1)}, xhrtme ) - , fail = setup.fail || function(){} - , success = setup.success || function(){} - , done = function(failed) { - if (complete) return; - complete = 1; - - clearTimeout(timer); - - if (xhr) { - xhr.onerror = xhr.onload = null; - xhr.abort && xhr.abort(); - xhr = null; - } - - failed && fail(); - }; - - // Send - try { - xhr = FDomainRequest() || - window.XDomainRequest && - new XDomainRequest() || - new XMLHttpRequest(); - - xhr.onerror = xhr.onabort = function(){ done(1) }; - xhr.onload = xhr.onloadend = finished; - xhr.timeout = xhrtme; - - var url = setup.url.join(URLBIT); - if (setup.data) { - var params = []; - var key; - console.log(setup.data); - url += "?"; - for (key in setup.data) params.push(key+"="+setup.data[key]); - url += params.join(PARAMSBIT); - } - - xhr.open( 'GET', url, (typeof(setup.blocking === 'undefined')) ); - xhr.send(); - } - catch(eee) { - done(0); - XORIGN = 0; - return xdr(setup); - } - - // Return 'done' - return done; -} - - - - // Test Connection State -function _is_online() { - if (!('onLine' in navigator)) return 1; - return navigator['onLine']; -} - - -/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= PUBNUB ===========================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -var PDIV = $('pubnub') || 0 -, CREATE_PUBNUB = function(setup) { - - // Force JSONP if requested from user. - if (setup['jsonp']) XORIGN = 0; - - var SUBSCRIBE_KEY = setup['subscribe_key'] || '' - , KEEPALIVE = (+setup['keepalive'] || DEF_KEEPALIVE) * SECOND - , UUID = setup['uuid'] || db['get'](SUBSCRIBE_KEY+'uuid') || ''; - - setup['xdr'] = xdr; - setup['db'] = db; - setup['_is_online'] = _is_online; - setup['jsonp_cb'] = jsonp_cb; - var SELF = PN_API(setup); - - - SELF['css'] = css; - SELF['$'] = $; - SELF['create'] = create; - SELF['bind'] = bind; - SELF['head'] = head; - SELF['search'] = search; - SELF['attr'] = attr; - SELF['events'] = events; - SELF['init'] = CREATE_PUBNUB; - - // Return without Testing - if (setup['notest']) return SELF; - - // Add Leave Functions - bind( 'beforeunload', window, function() { - each_channel(function(ch){ SELF['LEAVE']( ch.name, 1 ) }); - return true; - } ); - - bind( 'offline', window, SELF['_reset_offline'] ); - bind( 'offline', document, SELF['_reset_offline'] ); - - // Return PUBNUB Socket Object - return SELF; -}; - - - -// Bind for PUBNUB Readiness to Subscribe -bind( 'load', window, function(){ timeout( ready, 0 ) } ); - -var pdiv = PDIV || {}; - -// CREATE A PUBNUB GLOBAL OBJECT -PUBNUB = CREATE_PUBNUB({ - 'notest' : 1, - 'publish_key' : attr( pdiv, 'pub-key' ), - 'subscribe_key' : attr( pdiv, 'sub-key' ), - 'ssl' : !document.location.href.indexOf('https') || - attr( pdiv, 'ssl' ) == 'on', - 'origin' : attr( pdiv, 'origin' ), - 'uuid' : attr( pdiv, 'uuid' ) -}); - -// jQuery Interface -window['jQuery'] && (window['jQuery']['PUBNUB'] = PUBNUB); - -// For Modern JS + Testling.js - http://testling.com/ -typeof(module) !== 'undefined' && (module['exports'] = PUBNUB) && ready(); - -var pubnubs = $('pubnubs') || 0; - -// LEAVE NOW IF NO PDIV. -if (!PDIV) return; - -// PUBNUB Flash Socket -css( PDIV, { 'position' : 'absolute', 'top' : -SECOND } ); - -if ('opera' in window || attr( PDIV, 'flash' )) PDIV['innerHTML'] = - ''; - -// Create Interface for Opera Flash -PUBNUB['rdx'] = function( id, data ) { - if (!data) return FDomainRequest[id]['onerror'](); - FDomainRequest[id]['responseText'] = unescape(data); - FDomainRequest[id]['onload'](); -}; - -function FDomainRequest() { - if (!pubnubs || !pubnubs['get']) return 0; - - var fdomainrequest = { - 'id' : FDomainRequest['id']++, - 'send' : function() {}, - 'abort' : function() { fdomainrequest['id'] = {} }, - 'open' : function( method, url ) { - FDomainRequest[fdomainrequest['id']] = fdomainrequest; - pubnubs['get']( fdomainrequest['id'], url ); - } - }; - - return fdomainrequest; -} -FDomainRequest['id'] = SECOND; - -})(); -(function(){ - -// --------------------------------------------------------------------------- -// WEBSOCKET INTERFACE -// --------------------------------------------------------------------------- -var WS = PUBNUB['ws'] = function( url, protocols ) { - if (!(this instanceof WS)) return new WS( url, protocols ); - - var self = this - , url = self.url = url || '' - , protocol = self.protocol = protocols || 'Sec-WebSocket-Protocol' - , bits = url.split('/') - , setup = { - 'ssl' : bits[0] === 'wss:' - ,'origin' : bits[2] - ,'publish_key' : bits[3] - ,'subscribe_key' : bits[4] - ,'channel' : bits[5] - }; - - // READY STATES - self['CONNECTING'] = 0; // The connection is not yet open. - self['OPEN'] = 1; // The connection is open and ready to communicate. - self['CLOSING'] = 2; // The connection is in the process of closing. - self['CLOSED'] = 3; // The connection is closed or couldn't be opened. - - // CLOSE STATES - self['CLOSE_NORMAL'] = 1000; // Normal Intended Close; completed. - self['CLOSE_GOING_AWAY'] = 1001; // Closed Unexpecttedly. - self['CLOSE_PROTOCOL_ERROR'] = 1002; // Server: Not Supported. - self['CLOSE_UNSUPPORTED'] = 1003; // Server: Unsupported Protocol. - self['CLOSE_TOO_LARGE'] = 1004; // Server: Too Much Data. - self['CLOSE_NO_STATUS'] = 1005; // Server: No reason. - self['CLOSE_ABNORMAL'] = 1006; // Abnormal Disconnect. - - // Events Default - self['onclose'] = self['onerror'] = - self['onmessage'] = self['onopen'] = - self['onsend'] = function(){}; - - // Attributes - self['binaryType'] = ''; - self['extensions'] = ''; - self['bufferedAmount'] = 0; - self['trasnmitting'] = false; - self['buffer'] = []; - self['readyState'] = self['CONNECTING']; - - // Close if no setup. - if (!url) { - self['readyState'] = self['CLOSED']; - self['onclose']({ - 'code' : self['CLOSE_ABNORMAL'], - 'reason' : 'Missing URL', - 'wasClean' : true - }); - return self; - } - - // PubNub WebSocket Emulation - self.pubnub = PUBNUB['init'](setup); - self.pubnub.setup = setup; - self.setup = setup; - - self.pubnub['subscribe']({ - 'restore' : false, - 'channel' : setup['channel'], - 'disconnect' : self['onerror'], - 'reconnect' : self['onopen'], - 'error' : function() { - self['onclose']({ - 'code' : self['CLOSE_ABNORMAL'], - 'reason' : 'Missing URL', - 'wasClean' : false - }); - }, - 'callback' : function(message) { - self['onmessage']({ 'data' : message }); - }, - 'connect' : function() { - self['readyState'] = self['OPEN']; - self['onopen'](); - } - }); -}; - -// --------------------------------------------------------------------------- -// WEBSOCKET SEND -// --------------------------------------------------------------------------- -WS.prototype.send = function(data) { - var self = this; - self.pubnub['publish']({ - 'channel' : self.pubnub.setup['channel'], - 'message' : data, - 'callback' : function(response) { - self['onsend']({ 'data' : response }); - } - }); -}; - -// --------------------------------------------------------------------------- -// WEBSOCKET CLOSE -// --------------------------------------------------------------------------- -WS.prototype.close = function() { - var self = this; - self.pubnub['unsubscribe']({ 'channel' : self.pubnub.setup['channel'] }); - self['readyState'] = self['CLOSED']; - self['onclose']({}); -}; - -})(); -(function(){ - -// --------------------------------------------------------------------------- -// WEBSOCKET INTERFACE -// --------------------------------------------------------------------------- -var WS = PUBNUB['ws'] = function( url, protocols ) { - if (!(this instanceof WS)) return new WS( url, protocols ); - - var self = this - , url = self.url = url || '' - , protocol = self.protocol = protocols || 'Sec-WebSocket-Protocol' - , bits = url.split('/') - , setup = { - 'ssl' : bits[0] === 'wss:' - ,'origin' : bits[2] - ,'publish_key' : bits[3] - ,'subscribe_key' : bits[4] - ,'channel' : bits[5] - }; - - // READY STATES - self['CONNECTING'] = 0; // The connection is not yet open. - self['OPEN'] = 1; // The connection is open and ready to communicate. - self['CLOSING'] = 2; // The connection is in the process of closing. - self['CLOSED'] = 3; // The connection is closed or couldn't be opened. - - // CLOSE STATES - self['CLOSE_NORMAL'] = 1000; // Normal Intended Close; completed. - self['CLOSE_GOING_AWAY'] = 1001; // Closed Unexpecttedly. - self['CLOSE_PROTOCOL_ERROR'] = 1002; // Server: Not Supported. - self['CLOSE_UNSUPPORTED'] = 1003; // Server: Unsupported Protocol. - self['CLOSE_TOO_LARGE'] = 1004; // Server: Too Much Data. - self['CLOSE_NO_STATUS'] = 1005; // Server: No reason. - self['CLOSE_ABNORMAL'] = 1006; // Abnormal Disconnect. - - // Events Default - self['onclose'] = self['onerror'] = - self['onmessage'] = self['onopen'] = - self['onsend'] = function(){}; - - // Attributes - self['binaryType'] = ''; - self['extensions'] = ''; - self['bufferedAmount'] = 0; - self['trasnmitting'] = false; - self['buffer'] = []; - self['readyState'] = self['CONNECTING']; - - // Close if no setup. - if (!url) { - self['readyState'] = self['CLOSED']; - self['onclose']({ - 'code' : self['CLOSE_ABNORMAL'], - 'reason' : 'Missing URL', - 'wasClean' : true - }); - return self; - } - - // PubNub WebSocket Emulation - self.pubnub = PUBNUB['init'](setup); - self.pubnub.setup = setup; - self.setup = setup; - - self.pubnub['subscribe']({ - 'restore' : false, - 'channel' : setup['channel'], - 'disconnect' : self['onerror'], - 'reconnect' : self['onopen'], - 'error' : function() { - self['onclose']({ - 'code' : self['CLOSE_ABNORMAL'], - 'reason' : 'Missing URL', - 'wasClean' : false - }); - }, - 'callback' : function(message) { - self['onmessage']({ 'data' : message }); - }, - 'connect' : function() { - self['readyState'] = self['OPEN']; - self['onopen'](); - } - }); -}; - -// --------------------------------------------------------------------------- -// WEBSOCKET SEND -// --------------------------------------------------------------------------- -WS.prototype.send = function(data) { - var self = this; - self.pubnub['publish']({ - 'channel' : self.pubnub.setup['channel'], - 'message' : data, - 'callback' : function(response) { - self['onsend']({ 'data' : response }); - } - }); -}; - -// --------------------------------------------------------------------------- -// WEBSOCKET CLOSE -// --------------------------------------------------------------------------- -WS.prototype.close = function() { - var self = this; - self.pubnub['unsubscribe']({ 'channel' : self.pubnub.setup['channel'] }); - self['readyState'] = self['CLOSED']; - self['onclose']({}); -}; - -})(); -/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= JSON =============================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -(window['JSON'] && window['JSON']['stringify']) || (function () { - window['JSON'] || (window['JSON'] = {}); - - function toJSON(key) { - try { return this.valueOf() } - catch(e) { return null } - } - - var cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, - escapable = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, - gap, - indent, - meta = { // table of character substitutions - '\b': '\\b', - '\t': '\\t', - '\n': '\\n', - '\f': '\\f', - '\r': '\\r', - '"' : '\\"', - '\\': '\\\\' - }, - rep; - - function quote(string) { - escapable.lastIndex = 0; - return escapable.test(string) ? - '"' + string.replace(escapable, function (a) { - var c = meta[a]; - return typeof c === 'string' ? c : - '\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4); - }) + '"' : - '"' + string + '"'; - } - - function str(key, holder) { - var i, // The loop counter. - k, // The member key. - v, // The member value. - length, - partial, - mind = gap, - value = holder[key]; - - if (value && typeof value === 'object') { - value = toJSON.call( value, key ); - } - - if (typeof rep === 'function') { - value = rep.call(holder, key, value); - } - - switch (typeof value) { - case 'string': - return quote(value); - - case 'number': - return isFinite(value) ? String(value) : 'null'; - - case 'boolean': - case 'null': - return String(value); - - case 'object': - - if (!value) { - return 'null'; - } - - gap += indent; - partial = []; - - if (Object.prototype.toString.apply(value) === '[object Array]') { - - length = value.length; - for (i = 0; i < length; i += 1) { - partial[i] = str(i, value) || 'null'; - } - - v = partial.length === 0 ? '[]' : - gap ? '[\n' + gap + - partial.join(',\n' + gap) + '\n' + - mind + ']' : - '[' + partial.join(',') + ']'; - gap = mind; - return v; - } - if (rep && typeof rep === 'object') { - length = rep.length; - for (i = 0; i < length; i += 1) { - k = rep[i]; - if (typeof k === 'string') { - v = str(k, value); - if (v) { - partial.push(quote(k) + (gap ? ': ' : ':') + v); - } - } - } - } else { - for (k in value) { - if (Object.hasOwnProperty.call(value, k)) { - v = str(k, value); - if (v) { - partial.push(quote(k) + (gap ? ': ' : ':') + v); - } - } - } - } - - v = partial.length === 0 ? '{}' : - gap ? '{\n' + gap + partial.join(',\n' + gap) + '\n' + - mind + '}' : '{' + partial.join(',') + '}'; - gap = mind; - return v; - } - } - - if (typeof JSON['stringify'] !== 'function') { - JSON['stringify'] = function (value, replacer, space) { - var i; - gap = ''; - indent = ''; - - if (typeof space === 'number') { - for (i = 0; i < space; i += 1) { - indent += ' '; - } - } else if (typeof space === 'string') { - indent = space; - } - rep = replacer; - if (replacer && typeof replacer !== 'function' && - (typeof replacer !== 'object' || - typeof replacer.length !== 'number')) { - throw new Error('JSON.stringify'); - } - return str('', {'': value}); - }; - } - - if (typeof JSON['parse'] !== 'function') { - // JSON is parsed on the server for security. - JSON['parse'] = function (text) {return eval('('+text+')')}; - } -}()); -var NOW = 1 -, READY = false -, READY_BUFFER = [] -, PRESENCE_SUFFIX = '-pnpres' -, DEF_WINDOWING = 10 // MILLISECONDS. -, DEF_TIMEOUT = 10000 // MILLISECONDS. -, DEF_SUB_TIMEOUT = 310 // SECONDS. -, DEF_KEEPALIVE = 60 // SECONDS. -, SECOND = 1000 // A THOUSAND MILLISECONDS. -, REPL = /{([\w\-]+)}/g; - -/** - * UTILITIES - */ -function unique() { return'x'+ ++NOW+''+(+new Date) } -function rnow() { return+new Date } - -/** - * NEXTORIGIN - * ========== - * var next_origin = nextorigin(); - */ -var nextorigin = (function() { - var max = 20 - , ori = Math.floor(Math.random() * max); - return function( origin, failover ) { - return origin.indexOf('pubsub.') > 0 - && origin.replace( - 'pubsub', 'ps' + ( - failover ? uuid().split('-')[0] : - (++ori < max? ori : ori=1) - ) ) || origin; - } -})(); - -/** - * UPDATER - * ======= - * var timestamp = unique(); - */ -function updater( fun, rate ) { - var timeout - , last = 0 - , runnit = function() { - if (last + rate > rnow()) { - clearTimeout(timeout); - timeout = setTimeout( runnit, rate ); - } - else { - last = rnow(); - fun(); - } - }; - - return runnit; -} - -/** - * GREP - * ==== - * var list = grep( [1,2,3], function(item) { return item % 2 } ) - */ -function grep( list, fun ) { - var fin = []; - each( list || [], function(l) { fun(l) && fin.push(l) } ); - return fin -} - -/** - * SUPPLANT - * ======== - * var text = supplant( 'Hello {name}!', { name : 'John' } ) - */ -function supplant( str, values ) { - return str.replace( REPL, function( _, match ) { - return values[match] || _ - } ); -} - -/** - * timeout - * ======= - * timeout( function(){}, 100 ); - */ -function timeout( fun, wait ) { - return setTimeout( fun, wait ); -} - -/** - * uuid - * ==== - * var my_uuid = uuid(); - */ -function uuid(callback) { - var u = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, - function(c) { - var r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8); - return v.toString(16); - }); - if (callback) callback(u); - return u; -} - -/** - * EACH - * ==== - * each( [1,2,3], function(item) { } ) - */ -function each( o, f ) { - if ( !o || !f ) return; - - if ( typeof o[0] != 'undefined' ) - for ( var i = 0, l = o.length; i < l; ) - f.call( o[i], o[i], i++ ); - else - for ( var i in o ) - o.hasOwnProperty && - o.hasOwnProperty(i) && - f.call( o[i], i, o[i] ); -} - -/** - * MAP - * === - * var list = map( [1,2,3], function(item) { return item + 1 } ) - */ -function map( list, fun ) { - var fin = []; - each( list || [], function( k, v ) { fin.push(fun( k, v )) } ); - return fin; -} - -/** - * ENCODE - * ====== - * var encoded_path = encode('path'); - */ -function encode(path) { - return map( (encodeURIComponent(path)).split(''), function(chr) { - return "-_.!~*'()".indexOf(chr) < 0 ? chr : - "%"+chr.charCodeAt(0).toString(16).toUpperCase() - } ).join(''); -} - -/** - * Generate Subscription Channel List - * ================================== - * generate_channel_list(channels_object); - */ -function generate_channel_list(channels) { - var list = []; - each( channels, function( channel, status ) { - if (status.subscribed) list.push(channel); - } ); - return list.sort(); -} - -// PUBNUB READY TO CONNECT - function ready() { timeout( function() { - if (READY) return; - READY = 1; - each( READY_BUFFER, function(connect) { connect() } ); - }, SECOND ); } - -function PN_API(setup) { - var SUB_WINDOWING = +setup['windowing'] || DEF_WINDOWING - , SUB_TIMEOUT = (+setup['timeout'] || DEF_SUB_TIMEOUT) * SECOND - , KEEPALIVE = (+setup['keepalive'] || DEF_KEEPALIVE) * SECOND - , PUBLISH_KEY = setup['publish_key'] || '' - , SUBSCRIBE_KEY = setup['subscribe_key'] || '' - , SSL = setup['ssl'] ? 's' : '' - , ORIGIN = 'http'+SSL+'://'+(setup['origin']||'pubsub.pubnub.com') - , STD_ORIGIN = nextorigin(ORIGIN) - , SUB_ORIGIN = nextorigin(ORIGIN) - , CONNECT = function(){} - , PUB_QUEUE = [] - , SUB_CALLBACK = 0 - , SUB_CHANNEL = 0 - , SUB_RECEIVER = 0 - , SUB_RESTORE = 0 - , SUB_BUFF_WAIT = 0 - , TIMETOKEN = 0 - , CHANNELS = {} - , xdr = setup['xdr'] - , _is_online = setup['_is_online'] || function() { return 1; } - , jsonp_cb = setup['jsonp_cb'] || function(){ return 0; } - , db = setup['db'] || {'get': function(){}, 'set': function(){}} - , UUID = setup['uuid'] || ( db && db['get'](SUBSCRIBE_KEY+'uuid') || ''); - - - - function publish(next) { - if (next) PUB_QUEUE.sending = 0; - if (PUB_QUEUE.sending || !PUB_QUEUE.length) return; - PUB_QUEUE.sending = 1; - xdr(PUB_QUEUE.shift()); - } - - function each_channel(callback) { - each( generate_channel_list(CHANNELS), function(channel) { - var chan = CHANNELS[channel]; - if (!chan) return; - callback(chan); - } ); - } - - // Announce Leave Event - - - var SELF = { - - '_reset_offline' : function() { - SUB_RECEIVER && SUB_RECEIVER(1); - }, - - 'LEAVE' : function( channel, blocking ) { - var data = { 'uuid' : UUID } - , origin = nextorigin(ORIGIN) - , jsonp = jsonp_cb(); - - // Prevent Leaving a Presence Channel - if (channel.indexOf(PRESENCE_SUFFIX) > 0) return; - - if (jsonp != '0') data['callback'] = jsonp; - - xdr({ - blocking : blocking || SSL, - timeout : 2000, - callback : jsonp, - data : data, - url : [ - origin, 'v2', 'presence', 'sub_key', - SUBSCRIBE_KEY, 'channel', encode(channel), 'leave' - ] - }); - }, - /* - PUBNUB.history({ - channel : 'my_chat_channel', - limit : 100, - callback : function(history) { } - }); - */ - 'history' : function( args, callback ) { - var callback = args['callback'] || callback - , count = args['count'] || args['limit'] || 100 - , reverse = args['reverse'] || "false" - , err = args['error'] || function(){} - , channel = args['channel'] - , start = args['start'] - , end = args['end'] - , params = {} - , jsonp = jsonp_cb(); - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - params['stringtoken'] = 'true'; - params['count'] = count; - params['reverse'] = reverse; - - if (jsonp) params['callback'] = jsonp; - if (start) params['start'] = start; - if (end) params['end'] = end; - - // Send Message - xdr({ - callback : jsonp, - data : params, - success : function(response) { callback(response) }, - fail : err, - url : [ - STD_ORIGIN, 'v2', 'history', 'sub-key', - SUBSCRIBE_KEY, 'channel', encode(channel) - ] - }); - }, - - /* - PUBNUB.replay({ - source : 'my_channel', - destination : 'new_channel' - }); - */ - 'replay' : function(args) { - var callback = callback || args['callback'] || function(){} - , source = args['source'] - , destination = args['destination'] - , stop = args['stop'] - , start = args['start'] - , end = args['end'] - , reverse = args['reverse'] - , limit = args['limit'] - , jsonp = jsonp_cb() - , data = {} - , url; - - // Check User Input - if (!source) return error('Missing Source Channel'); - if (!destination) return error('Missing Destination Channel'); - if (!PUBLISH_KEY) return error('Missing Publish Key'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // Setup URL Params - if (jsonp != '0') data['callback'] = jsonp; - if (stop) data['stop'] = 'all'; - if (reverse) data['reverse'] = 'true'; - if (start) data['start'] = start; - if (end) data['end'] = end; - if (limit) data['count'] = limit; - - // Compose URL Parts - url = [ - STD_ORIGIN, 'v1', 'replay', - PUBLISH_KEY, SUBSCRIBE_KEY, - source, destination - ]; - - // Start (or Stop) Replay! - xdr({ - callback : jsonp, - success : function(response) { callback(response) }, - fail : function() { callback([ 0, 'Disconnected' ]) }, - url : url, - data : data - }); - }, - - /* - PUBNUB.time(function(time){ }); - */ - 'time' : function(callback) { - var jsonp = jsonp_cb(); - xdr({ - callback : jsonp, - timeout : SECOND*5, - url : [STD_ORIGIN, 'time', jsonp], - success : function(response) { callback(response[0]) }, - fail : function() { callback(0) } - }); - }, - - /* - PUBNUB.publish({ - channel : 'my_chat_channel', - message : 'hello!' - }); - */ - 'publish' : function( args, callback ) { - var callback = callback || args['callback'] || function(){} - , msg = args['message'] - , channel = args['channel'] - , jsonp = jsonp_cb() - , url; - - if (!msg) return error('Missing Message'); - if (!channel) return error('Missing Channel'); - if (!PUBLISH_KEY) return error('Missing Publish Key'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // If trying to send Object - msg = JSON['stringify'](msg); - - // Create URL - url = [ - STD_ORIGIN, 'publish', - PUBLISH_KEY, SUBSCRIBE_KEY, - 0, encode(channel), - jsonp, encode(msg) - ]; - - // Queue Message Send - PUB_QUEUE.push({ - callback : jsonp, - timeout : SECOND*5, - url : url, - data : { 'uuid' : UUID }, - success : function(response){callback(response);publish(1)}, - fail : function(){callback([0,'Failed',msg]);publish(1)} - }); - - // Send Message - publish(); - }, - - /* - PUBNUB.unsubscribe({ channel : 'my_chat' }); - */ - 'unsubscribe' : function(args) { - var channel = args['channel']; - - TIMETOKEN = 0; - SUB_RESTORE = 1; - - // Prepare Channel(s) - channel = map( ( - channel.join ? channel.join(',') : ''+channel - ).split(','), function(channel) { - return channel + ',' + channel + PRESENCE_SUFFIX; - } ).join(','); - - // Iterate over Channels - each( channel.split(','), function(channel) { - if (READY) SELF['LEAVE']( channel, 0 ); - CHANNELS[channel] = 0; - } ); - - // ReOpen Connection if Any Channels Left - if (READY) CONNECT(); - }, - - /* - PUBNUB.subscribe({ - channel : 'my_chat' - callback : function(message) { } - }); - */ - 'subscribe' : function( args, callback ) { - var channel = args['channel'] - , callback = callback || args['callback'] - , callback = callback || args['message'] - , connect = args['connect'] || function(){} - , reconnect = args['reconnect'] || function(){} - , disconnect = args['disconnect'] || function(){} - , presence = args['presence'] || 0 - , noheresync = args['noheresync'] || 0 - , backfill = args['backfill'] || 0 - , sub_timeout = args['timeout'] || SUB_TIMEOUT - , windowing = args['windowing'] || SUB_WINDOWING - , restore = args['restore']; - - // Restore Enabled? - if (restore) SUB_RESTORE = 1; - - TIMETOKEN = 0; - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // Setup Channel(s) - each( (channel.join ? channel.join(',') : ''+channel).split(','), - function(channel) { - var settings = CHANNELS[channel] || {}; - - // Store Channel State - CHANNELS[SUB_CHANNEL = channel] = { - name : channel, - connected : settings.connected, - disconnected : settings.disconnected, - subscribed : 1, - callback : SUB_CALLBACK = callback, - connect : connect, - disconnect : disconnect, - reconnect : reconnect - }; - - // Presence Enabled? - if (!presence) return; - - // Subscribe Presence Channel - SELF['subscribe']({ - 'channel' : channel + PRESENCE_SUFFIX, - 'callback' : presence - }); - - // Presence Subscribed? - if (settings.subscribed) return; - - // See Who's Here Now? - if (noheresync) return; - SELF['here_now']({ - 'channel' : channel, - 'callback' : function(here) { - each( 'uuids' in here ? here['uuids'] : [], - function(uid) { presence( { - 'action' : 'join', - 'uuid' : uid, - 'timestamp' : rnow(), - 'occupancy' : here['occupancy'] || 1 - }, here, channel ); } ); - } - }); - } ); - - // Test Network Connection - function _test_connection(success) { - if (success) { - // Begin Next Socket Connection - timeout( _connect, SECOND ); - } - else { - // New Origin on Failed Connection - STD_ORIGIN = nextorigin( ORIGIN, 1 ); - SUB_ORIGIN = nextorigin( ORIGIN, 1 ); - - // Re-test Connection - timeout( function() { - SELF['time'](_test_connection); - }, SECOND ); - } - - // Disconnect & Reconnect - each_channel(function(channel){ - // Reconnect - if (success && channel.disconnected) { - channel.disconnected = 0; - return channel.reconnect(channel.name); - } - - // Disconnect - if (!success && !channel.disconnected) { - channel.disconnected = 1; - channel.disconnect(channel.name); - } - }); - } - - // Evented Subscribe - function _connect() { - var jsonp = jsonp_cb() - , channels = generate_channel_list(CHANNELS).join(','); - - // Stop Connection - if (!channels) return; - - // Connect to PubNub Subscribe Servers - SUB_RECEIVER = xdr({ - timeout : sub_timeout, - callback : jsonp, - fail : function() { SELF['time'](_test_connection) }, - data : { 'uuid' : UUID }, - url : [ - SUB_ORIGIN, 'subscribe', - SUBSCRIBE_KEY, encode(channels), - jsonp, TIMETOKEN - ], - success : function(messages) { - if (!messages) return timeout( _connect, windowing ); - - // Connect - each_channel(function(channel){ - if (channel.connected) return; - channel.connected = 1; - channel.connect(channel.name); - }); - - // Restore Previous Connection Point if Needed - TIMETOKEN = !TIMETOKEN && - SUB_RESTORE && - db['get'](SUBSCRIBE_KEY) || messages[1]; - - - if (backfill) { - Timetoken = 10000; - backfill = 0; - } - - // Update Saved Timetoken - db['set']( SUBSCRIBE_KEY, messages[1] ); - - // Route Channel <---> Callback for Message - var next_callback = (function() { - var channels = (messages.length>2?messages[2]:'') - , list = channels.split(','); - - return function() { - var channel = list.shift()||''; - return [ - (CHANNELS[channel]||{}) - .callback||SUB_CALLBACK, - (channel||SUB_CHANNEL) - .split(PRESENCE_SUFFIX)[0] - ]; - }; - })(); - - each( messages[0], function(msg) { - var next = next_callback(); - if (!CHANNELS[next[1]].subscribed) return; - next[0]( msg, messages, next[1] ); - } ); - - timeout( _connect, windowing ); - } - }); - } - - CONNECT = function() { - // Close Previous Subscribe Connection - SELF['_reset_offline'](); - - // Begin Recursive Subscribe - clearTimeout(SUB_BUFF_WAIT); - SUB_BUFF_WAIT = timeout( _connect, 100 ); - }; - - // Reduce Status Flicker - if (!READY) return READY_BUFFER.push(CONNECT); - - // Connect Now - CONNECT(); - }, - - 'here_now' : function( args, callback ) { - var callback = args['callback'] || callback - , err = args['error'] || function(){} - , channel = args['channel'] - , jsonp = jsonp_cb() - , data = null; - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - if (jsonp != '0') { - data = {}; - data['callback'] = jsonp; - } - - xdr({ - callback : jsonp, - data : data, - success : function(response) { callback(response) }, - fail : err, - url : [ - STD_ORIGIN, 'v2', 'presence', - 'sub_key', SUBSCRIBE_KEY, - 'channel', encode(channel) - ] - }); - }, - - // Expose PUBNUB Functions - 'xdr' : xdr, - 'ready' : ready, - 'db' : db, - 'uuid' : uuid, - 'each' : each, - 'map' : map, - 'grep' : grep, - 'supplant' : supplant, - 'now' : rnow, - 'unique' : unique, - 'updater' : updater, - 'poll_online' : function() { - _is_online() || SELF['_reset_offline'](); - timeout( SELF['poll_online'], SECOND ); - }, - 'poll_online2' : function() { - SELF['time'](function(success){ - success || SELF['_reset_offline'](); - timeout( SELF['poll_online2'], KEEPALIVE ); - }) - } - }; - if (!UUID) UUID = SELF['uuid'](); - db['set']( SUBSCRIBE_KEY + 'uuid', UUID ); - - timeout( SELF['poll_online'], SECOND ); - timeout( SELF['poll_online2'], KEEPALIVE ); - - return SELF; -} -// 3.4/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= JSON =============================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -(window['JSON'] && window['JSON']['stringify']) || (function () { - window['JSON'] || (window['JSON'] = {}); - - function toJSON(key) { - try { return this.valueOf() } - catch(e) { return null } - } - - var cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, - escapable = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, - gap, - indent, - meta = { // table of character substitutions - '\b': '\\b', - '\t': '\\t', - '\n': '\\n', - '\f': '\\f', - '\r': '\\r', - '"' : '\\"', - '\\': '\\\\' - }, - rep; - - function quote(string) { - escapable.lastIndex = 0; - return escapable.test(string) ? - '"' + string.replace(escapable, function (a) { - var c = meta[a]; - return typeof c === 'string' ? c : - '\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4); - }) + '"' : - '"' + string + '"'; - } - - function str(key, holder) { - var i, // The loop counter. - k, // The member key. - v, // The member value. - length, - partial, - mind = gap, - value = holder[key]; - - if (value && typeof value === 'object') { - value = toJSON.call( value, key ); - } - - if (typeof rep === 'function') { - value = rep.call(holder, key, value); - } - - switch (typeof value) { - case 'string': - return quote(value); - - case 'number': - return isFinite(value) ? String(value) : 'null'; - - case 'boolean': - case 'null': - return String(value); - - case 'object': - - if (!value) { - return 'null'; - } - - gap += indent; - partial = []; - - if (Object.prototype.toString.apply(value) === '[object Array]') { - - length = value.length; - for (i = 0; i < length; i += 1) { - partial[i] = str(i, value) || 'null'; - } - - v = partial.length === 0 ? '[]' : - gap ? '[\n' + gap + - partial.join(',\n' + gap) + '\n' + - mind + ']' : - '[' + partial.join(',') + ']'; - gap = mind; - return v; - } - if (rep && typeof rep === 'object') { - length = rep.length; - for (i = 0; i < length; i += 1) { - k = rep[i]; - if (typeof k === 'string') { - v = str(k, value); - if (v) { - partial.push(quote(k) + (gap ? ': ' : ':') + v); - } - } - } - } else { - for (k in value) { - if (Object.hasOwnProperty.call(value, k)) { - v = str(k, value); - if (v) { - partial.push(quote(k) + (gap ? ': ' : ':') + v); - } - } - } - } - - v = partial.length === 0 ? '{}' : - gap ? '{\n' + gap + partial.join(',\n' + gap) + '\n' + - mind + '}' : '{' + partial.join(',') + '}'; - gap = mind; - return v; - } - } - - if (typeof JSON['stringify'] !== 'function') { - JSON['stringify'] = function (value, replacer, space) { - var i; - gap = ''; - indent = ''; - - if (typeof space === 'number') { - for (i = 0; i < space; i += 1) { - indent += ' '; - } - } else if (typeof space === 'string') { - indent = space; - } - rep = replacer; - if (replacer && typeof replacer !== 'function' && - (typeof replacer !== 'object' || - typeof replacer.length !== 'number')) { - throw new Error('JSON.stringify'); - } - return str('', {'': value}); - }; - } - - if (typeof JSON['parse'] !== 'function') { - // JSON is parsed on the server for security. - JSON['parse'] = function (text) {return eval('('+text+')')}; - } -}()); -/* --------------------------------------------------------------------------- -WAIT! - This file depends on instructions from the PUBNUB Cloud. -http://www.pubnub.com/account-javascript-api-include ---------------------------------------------------------------------------- */ - -/* --------------------------------------------------------------------------- -PubNub Real-time Cloud-Hosted Push API and Push Notification Client Frameworks -Copyright (c) 2011 PubNub Inc. -http://www.pubnub.com/ -http://www.pubnub.com/terms ---------------------------------------------------------------------------- */ - -/* --------------------------------------------------------------------------- -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. ---------------------------------------------------------------------------- */ - -/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= UTIL =============================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -window['PUBNUB'] || (function() { - -/** - * UTIL LOCALS - */ - -var SWF = 'https://pubnub.a.ssl.fastly.net/pubnub.swf' -, ASYNC = 'async' -, URLBIT = '/' -, PARAMSBIT = '&' -, UA = navigator.userAgent -, XORIGN = UA.indexOf('MSIE 6') == -1; - -/** - * CONSOLE COMPATIBILITY - */ -window.console || (window.console=window.console||{}); -console.log || ( - console.log = - console.error = - ((window.opera||{}).postError||function(){}) -); - - - -/** - * LOCAL STORAGE OR COOKIE - */ -var db = (function(){ - var ls = window['localStorage']; - return { - 'get' : function(key) { - try { - if (ls) return ls.getItem(key); - if (document.cookie.indexOf(key) == -1) return null; - return ((document.cookie||'').match( - RegExp(key+'=([^;]+)') - )||[])[1] || null; - } catch(e) { return } - }, - 'set' : function( key, value ) { - try { - if (ls) return ls.setItem( key, value ) && 0; - document.cookie = key + '=' + value + - '; expires=Thu, 1 Aug 2030 20:00:00 UTC; path=/'; - } catch(e) { return } - } - }; -})(); - - -/** - * $ - * = - * var div = $('divid'); - */ -function $(id) { return document.getElementById(id) } - -/** - * ERROR - * ===== - * error('message'); - */ -function error(message) { console['error'](message) } - -/** - * SEARCH - * ====== - * var elements = search('a div span'); - */ -function search( elements, start ) { - var list = []; - each( elements.split(/\s+/), function(el) { - each( (start || document).getElementsByTagName(el), function(node) { - list.push(node); - } ); - } ); - return list; -} - - - -/** - * BIND - * ==== - * bind( 'keydown', search('a')[0], function(element) { - * ... - * } ); - */ -function bind( type, el, fun ) { - each( type.split(','), function(etype) { - var rapfun = function(e) { - if (!e) e = window.event; - if (!fun(e)) { - e.cancelBubble = true; - e.returnValue = false; - e.preventDefault && e.preventDefault(); - e.stopPropagation && e.stopPropagation(); - } - }; - - if ( el.addEventListener ) el.addEventListener( etype, rapfun, false ); - else if ( el.attachEvent ) el.attachEvent( 'on' + etype, rapfun ); - else el[ 'on' + etype ] = rapfun; - } ); -} - -/** - * UNBIND - * ====== - * unbind( 'keydown', search('a')[0] ); - */ -function unbind( type, el, fun ) { - if ( el.removeEventListener ) el.removeEventListener( type, false ); - else if ( el.detachEvent ) el.detachEvent( 'on' + type, false ); - else el[ 'on' + type ] = null; -} - -/** - * HEAD - * ==== - * head().appendChild(elm); - */ -function head() { return search('head')[0] } - -/** - * ATTR - * ==== - * var attribute = attr( node, 'attribute' ); - */ -function attr( node, attribute, value ) { - if (value) node.setAttribute( attribute, value ); - else return node && node.getAttribute && node.getAttribute(attribute); -} - -/** - * CSS - * === - * var obj = create('div'); - */ -function css( element, styles ) { - for (var style in styles) if (styles.hasOwnProperty(style)) - try {element.style[style] = styles[style] + ( - '|width|height|top|left|'.indexOf(style) > 0 && - typeof styles[style] == 'number' - ? 'px' : '' - )}catch(e){} -} - -/** - * CREATE - * ====== - * var obj = create('div'); - */ -function create(element) { return document.createElement(element) } - - -/** - * jsonp_cb - * ======== - * var callback = jsonp_cb(); - */ -function jsonp_cb() { return XORIGN || FDomainRequest() ? 0 : unique() } - - - -/** - * EVENTS - * ====== - * PUBNUB.events.bind( 'you-stepped-on-flower', function(message) { - * // Do Stuff with message - * } ); - * - * PUBNUB.events.fire( 'you-stepped-on-flower', "message-data" ); - * PUBNUB.events.fire( 'you-stepped-on-flower', {message:"data"} ); - * PUBNUB.events.fire( 'you-stepped-on-flower', [1,2,3] ); - * - */ -var events = { - 'list' : {}, - 'unbind' : function( name ) { events.list[name] = [] }, - 'bind' : function( name, fun ) { - (events.list[name] = events.list[name] || []).push(fun); - }, - 'fire' : function( name, data ) { - each( - events.list[name] || [], - function(fun) { fun(data) } - ); - } -}; - -/** - * XDR Cross Domain Request - * ======================== - * xdr({ - * url : ['http://www.blah.com/url'], - * success : function(response) {}, - * fail : function() {} - * }); - */ -function xdr( setup ) { - if (XORIGN || FDomainRequest()) return ajax(setup); - - var script = create('script') - , callback = setup.callback - , id = unique() - , finished = 0 - , xhrtme = setup.timeout || DEF_TIMEOUT - , timer = timeout( function(){done(1)}, xhrtme ) - , fail = setup.fail || function(){} - , success = setup.success || function(){} - - , append = function() { - head().appendChild(script); - } - - , done = function( failed, response ) { - if (finished) return; - finished = 1; - - failed || success(response); - script.onerror = null; - clearTimeout(timer); - - timeout( function() { - failed && fail(); - var s = $(id) - , p = s && s.parentNode; - p && p.removeChild(s); - }, SECOND ); - }; - - window[callback] = function(response) { - done( 0, response ); - }; - - if (!setup.blocking) script[ASYNC] = ASYNC; - - script.onerror = function() { done(1) }; - script.src = setup.url.join(URLBIT); - - if (setup.data) { - var params = []; - script.src += "?"; - for (var key in setup.data) { - params.push(key+"="+setup.data[key]); - } - script.src += params.join(PARAMSBIT); - } - attr( script, 'id', id ); - - append(); - return done; -} - -/** - * CORS XHR Request - * ================ - * xdr({ - * url : ['http://www.blah.com/url'], - * success : function(response) {}, - * fail : function() {} - * }); - */ -function ajax( setup ) { - var xhr, response - , finished = function() { - if (loaded) return; - loaded = 1; - - clearTimeout(timer); - - try { response = JSON['parse'](xhr.responseText); } - catch (r) { return done(1); } - - success(response); - } - , complete = 0 - , loaded = 0 - , xhrtme = setup.timeout || DEF_TIMEOUT - , timer = timeout( function(){done(1)}, xhrtme ) - , fail = setup.fail || function(){} - , success = setup.success || function(){} - , done = function(failed) { - if (complete) return; - complete = 1; - - clearTimeout(timer); - - if (xhr) { - xhr.onerror = xhr.onload = null; - xhr.abort && xhr.abort(); - xhr = null; - } - - failed && fail(); - }; - - // Send - try { - xhr = FDomainRequest() || - window.XDomainRequest && - new XDomainRequest() || - new XMLHttpRequest(); - - xhr.onerror = xhr.onabort = function(){ done(1) }; - xhr.onload = xhr.onloadend = finished; - xhr.timeout = xhrtme; - - var url = setup.url.join(URLBIT); - if (setup.data) { - var params = []; - var key; - console.log(setup.data); - url += "?"; - for (key in setup.data) params.push(key+"="+setup.data[key]); - url += params.join(PARAMSBIT); - } - - xhr.open( 'GET', url, (typeof(setup.blocking === 'undefined')) ); - xhr.send(); - } - catch(eee) { - done(0); - XORIGN = 0; - return xdr(setup); - } - - // Return 'done' - return done; -} - - - - // Test Connection State -function _is_online() { - if (!('onLine' in navigator)) return 1; - return navigator['onLine']; -} - - -/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= PUBNUB ===========================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -var PDIV = $('pubnub') || 0 -, CREATE_PUBNUB = function(setup) { - - // Force JSONP if requested from user. - if (setup['jsonp']) XORIGN = 0; - - var SUBSCRIBE_KEY = setup['subscribe_key'] || '' - , KEEPALIVE = (+setup['keepalive'] || DEF_KEEPALIVE) * SECOND - , UUID = setup['uuid'] || db['get'](SUBSCRIBE_KEY+'uuid') || ''; - - setup['xdr'] = xdr; - setup['db'] = db; - setup['_is_online'] = _is_online; - setup['jsonp_cb'] = jsonp_cb; - var SELF = PN_API(setup); - - - SELF['css'] = css; - SELF['$'] = $; - SELF['create'] = create; - SELF['bind'] = bind; - SELF['head'] = head; - SELF['search'] = search; - SELF['attr'] = attr; - SELF['events'] = events; - SELF['init'] = CREATE_PUBNUB; - - // Return without Testing - if (setup['notest']) return SELF; - - // Add Leave Functions - bind( 'beforeunload', window, function() { - each_channel(function(ch){ SELF['LEAVE']( ch.name, 1 ) }); - return true; - } ); - - bind( 'offline', window, SELF['_reset_offline'] ); - bind( 'offline', document, SELF['_reset_offline'] ); - - // Return PUBNUB Socket Object - return SELF; -}; - - - -// Bind for PUBNUB Readiness to Subscribe -bind( 'load', window, function(){ timeout( ready, 0 ) } ); - -var pdiv = PDIV || {}; - -// CREATE A PUBNUB GLOBAL OBJECT -PUBNUB = CREATE_PUBNUB({ - 'notest' : 1, - 'publish_key' : attr( pdiv, 'pub-key' ), - 'subscribe_key' : attr( pdiv, 'sub-key' ), - 'ssl' : !document.location.href.indexOf('https') || - attr( pdiv, 'ssl' ) == 'on', - 'origin' : attr( pdiv, 'origin' ), - 'uuid' : attr( pdiv, 'uuid' ) -}); - -// jQuery Interface -window['jQuery'] && (window['jQuery']['PUBNUB'] = PUBNUB); - -// For Modern JS + Testling.js - http://testling.com/ -typeof(module) !== 'undefined' && (module['exports'] = PUBNUB) && ready(); - -var pubnubs = $('pubnubs') || 0; - -// LEAVE NOW IF NO PDIV. -if (!PDIV) return; - -// PUBNUB Flash Socket -css( PDIV, { 'position' : 'absolute', 'top' : -SECOND } ); - -if ('opera' in window || attr( PDIV, 'flash' )) PDIV['innerHTML'] = - ''; - -// Create Interface for Opera Flash -PUBNUB['rdx'] = function( id, data ) { - if (!data) return FDomainRequest[id]['onerror'](); - FDomainRequest[id]['responseText'] = unescape(data); - FDomainRequest[id]['onload'](); -}; - -function FDomainRequest() { - if (!pubnubs || !pubnubs['get']) return 0; - - var fdomainrequest = { - 'id' : FDomainRequest['id']++, - 'send' : function() {}, - 'abort' : function() { fdomainrequest['id'] = {} }, - 'open' : function( method, url ) { - FDomainRequest[fdomainrequest['id']] = fdomainrequest; - pubnubs['get']( fdomainrequest['id'], url ); - } - }; - - return fdomainrequest; -} -FDomainRequest['id'] = SECOND; - -})(); -(function(){ - -// --------------------------------------------------------------------------- -// WEBSOCKET INTERFACE -// --------------------------------------------------------------------------- -var WS = PUBNUB['ws'] = function( url, protocols ) { - if (!(this instanceof WS)) return new WS( url, protocols ); - - var self = this - , url = self.url = url || '' - , protocol = self.protocol = protocols || 'Sec-WebSocket-Protocol' - , bits = url.split('/') - , setup = { - 'ssl' : bits[0] === 'wss:' - ,'origin' : bits[2] - ,'publish_key' : bits[3] - ,'subscribe_key' : bits[4] - ,'channel' : bits[5] - }; - - // READY STATES - self['CONNECTING'] = 0; // The connection is not yet open. - self['OPEN'] = 1; // The connection is open and ready to communicate. - self['CLOSING'] = 2; // The connection is in the process of closing. - self['CLOSED'] = 3; // The connection is closed or couldn't be opened. - - // CLOSE STATES - self['CLOSE_NORMAL'] = 1000; // Normal Intended Close; completed. - self['CLOSE_GOING_AWAY'] = 1001; // Closed Unexpecttedly. - self['CLOSE_PROTOCOL_ERROR'] = 1002; // Server: Not Supported. - self['CLOSE_UNSUPPORTED'] = 1003; // Server: Unsupported Protocol. - self['CLOSE_TOO_LARGE'] = 1004; // Server: Too Much Data. - self['CLOSE_NO_STATUS'] = 1005; // Server: No reason. - self['CLOSE_ABNORMAL'] = 1006; // Abnormal Disconnect. - - // Events Default - self['onclose'] = self['onerror'] = - self['onmessage'] = self['onopen'] = - self['onsend'] = function(){}; - - // Attributes - self['binaryType'] = ''; - self['extensions'] = ''; - self['bufferedAmount'] = 0; - self['trasnmitting'] = false; - self['buffer'] = []; - self['readyState'] = self['CONNECTING']; - - // Close if no setup. - if (!url) { - self['readyState'] = self['CLOSED']; - self['onclose']({ - 'code' : self['CLOSE_ABNORMAL'], - 'reason' : 'Missing URL', - 'wasClean' : true - }); - return self; - } - - // PubNub WebSocket Emulation - self.pubnub = PUBNUB['init'](setup); - self.pubnub.setup = setup; - self.setup = setup; - - self.pubnub['subscribe']({ - 'restore' : false, - 'channel' : setup['channel'], - 'disconnect' : self['onerror'], - 'reconnect' : self['onopen'], - 'error' : function() { - self['onclose']({ - 'code' : self['CLOSE_ABNORMAL'], - 'reason' : 'Missing URL', - 'wasClean' : false - }); - }, - 'callback' : function(message) { - self['onmessage']({ 'data' : message }); - }, - 'connect' : function() { - self['readyState'] = self['OPEN']; - self['onopen'](); - } - }); -}; - -// --------------------------------------------------------------------------- -// WEBSOCKET SEND -// --------------------------------------------------------------------------- -WS.prototype.send = function(data) { - var self = this; - self.pubnub['publish']({ - 'channel' : self.pubnub.setup['channel'], - 'message' : data, - 'callback' : function(response) { - self['onsend']({ 'data' : response }); - } - }); -}; - -// --------------------------------------------------------------------------- -// WEBSOCKET CLOSE -// --------------------------------------------------------------------------- -WS.prototype.close = function() { - var self = this; - self.pubnub['unsubscribe']({ 'channel' : self.pubnub.setup['channel'] }); - self['readyState'] = self['CLOSED']; - self['onclose']({}); -}; - -})(); -(function(){ - -// --------------------------------------------------------------------------- -// WEBSOCKET INTERFACE -// --------------------------------------------------------------------------- -var WS = PUBNUB['ws'] = function( url, protocols ) { - if (!(this instanceof WS)) return new WS( url, protocols ); - - var self = this - , url = self.url = url || '' - , protocol = self.protocol = protocols || 'Sec-WebSocket-Protocol' - , bits = url.split('/') - , setup = { - 'ssl' : bits[0] === 'wss:' - ,'origin' : bits[2] - ,'publish_key' : bits[3] - ,'subscribe_key' : bits[4] - ,'channel' : bits[5] - }; - - // READY STATES - self['CONNECTING'] = 0; // The connection is not yet open. - self['OPEN'] = 1; // The connection is open and ready to communicate. - self['CLOSING'] = 2; // The connection is in the process of closing. - self['CLOSED'] = 3; // The connection is closed or couldn't be opened. - - // CLOSE STATES - self['CLOSE_NORMAL'] = 1000; // Normal Intended Close; completed. - self['CLOSE_GOING_AWAY'] = 1001; // Closed Unexpecttedly. - self['CLOSE_PROTOCOL_ERROR'] = 1002; // Server: Not Supported. - self['CLOSE_UNSUPPORTED'] = 1003; // Server: Unsupported Protocol. - self['CLOSE_TOO_LARGE'] = 1004; // Server: Too Much Data. - self['CLOSE_NO_STATUS'] = 1005; // Server: No reason. - self['CLOSE_ABNORMAL'] = 1006; // Abnormal Disconnect. - - // Events Default - self['onclose'] = self['onerror'] = - self['onmessage'] = self['onopen'] = - self['onsend'] = function(){}; - - // Attributes - self['binaryType'] = ''; - self['extensions'] = ''; - self['bufferedAmount'] = 0; - self['trasnmitting'] = false; - self['buffer'] = []; - self['readyState'] = self['CONNECTING']; - - // Close if no setup. - if (!url) { - self['readyState'] = self['CLOSED']; - self['onclose']({ - 'code' : self['CLOSE_ABNORMAL'], - 'reason' : 'Missing URL', - 'wasClean' : true - }); - return self; - } - - // PubNub WebSocket Emulation - self.pubnub = PUBNUB['init'](setup); - self.pubnub.setup = setup; - self.setup = setup; - - self.pubnub['subscribe']({ - 'restore' : false, - 'channel' : setup['channel'], - 'disconnect' : self['onerror'], - 'reconnect' : self['onopen'], - 'error' : function() { - self['onclose']({ - 'code' : self['CLOSE_ABNORMAL'], - 'reason' : 'Missing URL', - 'wasClean' : false - }); - }, - 'callback' : function(message) { - self['onmessage']({ 'data' : message }); - }, - 'connect' : function() { - self['readyState'] = self['OPEN']; - self['onopen'](); - } - }); -}; - -// --------------------------------------------------------------------------- -// WEBSOCKET SEND -// --------------------------------------------------------------------------- -WS.prototype.send = function(data) { - var self = this; - self.pubnub['publish']({ - 'channel' : self.pubnub.setup['channel'], - 'message' : data, - 'callback' : function(response) { - self['onsend']({ 'data' : response }); - } - }); -}; - -// --------------------------------------------------------------------------- -// WEBSOCKET CLOSE -// --------------------------------------------------------------------------- -WS.prototype.close = function() { - var self = this; - self.pubnub['unsubscribe']({ 'channel' : self.pubnub.setup['channel'] }); - self['readyState'] = self['CLOSED']; - self['onclose']({}); -}; - -})(); -/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= JSON =============================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -(window['JSON'] && window['JSON']['stringify']) || (function () { - window['JSON'] || (window['JSON'] = {}); - - function toJSON(key) { - try { return this.valueOf() } - catch(e) { return null } - } - - var cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, - escapable = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, - gap, - indent, - meta = { // table of character substitutions - '\b': '\\b', - '\t': '\\t', - '\n': '\\n', - '\f': '\\f', - '\r': '\\r', - '"' : '\\"', - '\\': '\\\\' - }, - rep; - - function quote(string) { - escapable.lastIndex = 0; - return escapable.test(string) ? - '"' + string.replace(escapable, function (a) { - var c = meta[a]; - return typeof c === 'string' ? c : - '\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4); - }) + '"' : - '"' + string + '"'; - } - - function str(key, holder) { - var i, // The loop counter. - k, // The member key. - v, // The member value. - length, - partial, - mind = gap, - value = holder[key]; - - if (value && typeof value === 'object') { - value = toJSON.call( value, key ); - } - - if (typeof rep === 'function') { - value = rep.call(holder, key, value); - } - - switch (typeof value) { - case 'string': - return quote(value); - - case 'number': - return isFinite(value) ? String(value) : 'null'; - - case 'boolean': - case 'null': - return String(value); - - case 'object': - - if (!value) { - return 'null'; - } - - gap += indent; - partial = []; - - if (Object.prototype.toString.apply(value) === '[object Array]') { - - length = value.length; - for (i = 0; i < length; i += 1) { - partial[i] = str(i, value) || 'null'; - } - - v = partial.length === 0 ? '[]' : - gap ? '[\n' + gap + - partial.join(',\n' + gap) + '\n' + - mind + ']' : - '[' + partial.join(',') + ']'; - gap = mind; - return v; - } - if (rep && typeof rep === 'object') { - length = rep.length; - for (i = 0; i < length; i += 1) { - k = rep[i]; - if (typeof k === 'string') { - v = str(k, value); - if (v) { - partial.push(quote(k) + (gap ? ': ' : ':') + v); - } - } - } - } else { - for (k in value) { - if (Object.hasOwnProperty.call(value, k)) { - v = str(k, value); - if (v) { - partial.push(quote(k) + (gap ? ': ' : ':') + v); - } - } - } - } - - v = partial.length === 0 ? '{}' : - gap ? '{\n' + gap + partial.join(',\n' + gap) + '\n' + - mind + '}' : '{' + partial.join(',') + '}'; - gap = mind; - return v; - } - } - - if (typeof JSON['stringify'] !== 'function') { - JSON['stringify'] = function (value, replacer, space) { - var i; - gap = ''; - indent = ''; - - if (typeof space === 'number') { - for (i = 0; i < space; i += 1) { - indent += ' '; - } - } else if (typeof space === 'string') { - indent = space; - } - rep = replacer; - if (replacer && typeof replacer !== 'function' && - (typeof replacer !== 'object' || - typeof replacer.length !== 'number')) { - throw new Error('JSON.stringify'); - } - return str('', {'': value}); - }; - } - - if (typeof JSON['parse'] !== 'function') { - // JSON is parsed on the server for security. - JSON['parse'] = function (text) {return eval('('+text+')')}; - } -}()); -var NOW = 1 -, READY = false -, READY_BUFFER = [] -, PRESENCE_SUFFIX = '-pnpres' -, DEF_WINDOWING = 10 // MILLISECONDS. -, DEF_TIMEOUT = 10000 // MILLISECONDS. -, DEF_SUB_TIMEOUT = 310 // SECONDS. -, DEF_KEEPALIVE = 60 // SECONDS. -, SECOND = 1000 // A THOUSAND MILLISECONDS. -, REPL = /{([\w\-]+)}/g; - -/** - * UTILITIES - */ -function unique() { return'x'+ ++NOW+''+(+new Date) } -function rnow() { return+new Date } - -/** - * NEXTORIGIN - * ========== - * var next_origin = nextorigin(); - */ -var nextorigin = (function() { - var max = 20 - , ori = Math.floor(Math.random() * max); - return function( origin, failover ) { - return origin.indexOf('pubsub.') > 0 - && origin.replace( - 'pubsub', 'ps' + ( - failover ? uuid().split('-')[0] : - (++ori < max? ori : ori=1) - ) ) || origin; - } -})(); - -/** - * UPDATER - * ======= - * var timestamp = unique(); - */ -function updater( fun, rate ) { - var timeout - , last = 0 - , runnit = function() { - if (last + rate > rnow()) { - clearTimeout(timeout); - timeout = setTimeout( runnit, rate ); - } - else { - last = rnow(); - fun(); - } - }; - - return runnit; -} - -/** - * GREP - * ==== - * var list = grep( [1,2,3], function(item) { return item % 2 } ) - */ -function grep( list, fun ) { - var fin = []; - each( list || [], function(l) { fun(l) && fin.push(l) } ); - return fin -} - -/** - * SUPPLANT - * ======== - * var text = supplant( 'Hello {name}!', { name : 'John' } ) - */ -function supplant( str, values ) { - return str.replace( REPL, function( _, match ) { - return values[match] || _ - } ); -} - -/** - * timeout - * ======= - * timeout( function(){}, 100 ); - */ -function timeout( fun, wait ) { - return setTimeout( fun, wait ); -} - -/** - * uuid - * ==== - * var my_uuid = uuid(); - */ -function uuid(callback) { - var u = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, - function(c) { - var r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8); - return v.toString(16); - }); - if (callback) callback(u); - return u; -} - -/** - * EACH - * ==== - * each( [1,2,3], function(item) { } ) - */ -function each( o, f ) { - if ( !o || !f ) return; - - if ( typeof o[0] != 'undefined' ) - for ( var i = 0, l = o.length; i < l; ) - f.call( o[i], o[i], i++ ); - else - for ( var i in o ) - o.hasOwnProperty && - o.hasOwnProperty(i) && - f.call( o[i], i, o[i] ); -} - -/** - * MAP - * === - * var list = map( [1,2,3], function(item) { return item + 1 } ) - */ -function map( list, fun ) { - var fin = []; - each( list || [], function( k, v ) { fin.push(fun( k, v )) } ); - return fin; -} - -/** - * ENCODE - * ====== - * var encoded_path = encode('path'); - */ -function encode(path) { - return map( (encodeURIComponent(path)).split(''), function(chr) { - return "-_.!~*'()".indexOf(chr) < 0 ? chr : - "%"+chr.charCodeAt(0).toString(16).toUpperCase() - } ).join(''); -} - -/** - * Generate Subscription Channel List - * ================================== - * generate_channel_list(channels_object); - */ -function generate_channel_list(channels) { - var list = []; - each( channels, function( channel, status ) { - if (status.subscribed) list.push(channel); - } ); - return list.sort(); -} - -// PUBNUB READY TO CONNECT - function ready() { timeout( function() { - if (READY) return; - READY = 1; - each( READY_BUFFER, function(connect) { connect() } ); - }, SECOND ); } - -function PN_API(setup) { - var SUB_WINDOWING = +setup['windowing'] || DEF_WINDOWING - , SUB_TIMEOUT = (+setup['timeout'] || DEF_SUB_TIMEOUT) * SECOND - , KEEPALIVE = (+setup['keepalive'] || DEF_KEEPALIVE) * SECOND - , PUBLISH_KEY = setup['publish_key'] || '' - , SUBSCRIBE_KEY = setup['subscribe_key'] || '' - , SSL = setup['ssl'] ? 's' : '' - , ORIGIN = 'http'+SSL+'://'+(setup['origin']||'pubsub.pubnub.com') - , STD_ORIGIN = nextorigin(ORIGIN) - , SUB_ORIGIN = nextorigin(ORIGIN) - , CONNECT = function(){} - , PUB_QUEUE = [] - , SUB_CALLBACK = 0 - , SUB_CHANNEL = 0 - , SUB_RECEIVER = 0 - , SUB_RESTORE = 0 - , SUB_BUFF_WAIT = 0 - , TIMETOKEN = 0 - , CHANNELS = {} - , xdr = setup['xdr'] - , _is_online = setup['_is_online'] || function() { return 1; } - , jsonp_cb = setup['jsonp_cb'] || function(){ return 0; } - , db = setup['db'] || {'get': function(){}, 'set': function(){}} - , UUID = setup['uuid'] || ( db && db['get'](SUBSCRIBE_KEY+'uuid') || ''); - - - - function publish(next) { - if (next) PUB_QUEUE.sending = 0; - if (PUB_QUEUE.sending || !PUB_QUEUE.length) return; - PUB_QUEUE.sending = 1; - xdr(PUB_QUEUE.shift()); - } - - function each_channel(callback) { - each( generate_channel_list(CHANNELS), function(channel) { - var chan = CHANNELS[channel]; - if (!chan) return; - callback(chan); - } ); - } - - // Announce Leave Event - - - var SELF = { - - '_reset_offline' : function() { - SUB_RECEIVER && SUB_RECEIVER(1); - }, - - 'LEAVE' : function( channel, blocking ) { - var data = { 'uuid' : UUID } - , origin = nextorigin(ORIGIN) - , jsonp = jsonp_cb(); - - // Prevent Leaving a Presence Channel - if (channel.indexOf(PRESENCE_SUFFIX) > 0) return; - - if (jsonp != '0') data['callback'] = jsonp; - - xdr({ - blocking : blocking || SSL, - timeout : 2000, - callback : jsonp, - data : data, - url : [ - origin, 'v2', 'presence', 'sub_key', - SUBSCRIBE_KEY, 'channel', encode(channel), 'leave' - ] - }); - }, - /* - PUBNUB.history({ - channel : 'my_chat_channel', - limit : 100, - callback : function(history) { } - }); - */ - 'history' : function( args, callback ) { - var callback = args['callback'] || callback - , count = args['count'] || args['limit'] || 100 - , reverse = args['reverse'] || "false" - , err = args['error'] || function(){} - , channel = args['channel'] - , start = args['start'] - , end = args['end'] - , params = {} - , jsonp = jsonp_cb(); - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - params['stringtoken'] = 'true'; - params['count'] = count; - params['reverse'] = reverse; - - if (jsonp) params['callback'] = jsonp; - if (start) params['start'] = start; - if (end) params['end'] = end; - - // Send Message - xdr({ - callback : jsonp, - data : params, - success : function(response) { callback(response) }, - fail : err, - url : [ - STD_ORIGIN, 'v2', 'history', 'sub-key', - SUBSCRIBE_KEY, 'channel', encode(channel) - ] - }); - }, - - /* - PUBNUB.replay({ - source : 'my_channel', - destination : 'new_channel' - }); - */ - 'replay' : function(args) { - var callback = callback || args['callback'] || function(){} - , source = args['source'] - , destination = args['destination'] - , stop = args['stop'] - , start = args['start'] - , end = args['end'] - , reverse = args['reverse'] - , limit = args['limit'] - , jsonp = jsonp_cb() - , data = {} - , url; - - // Check User Input - if (!source) return error('Missing Source Channel'); - if (!destination) return error('Missing Destination Channel'); - if (!PUBLISH_KEY) return error('Missing Publish Key'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // Setup URL Params - if (jsonp != '0') data['callback'] = jsonp; - if (stop) data['stop'] = 'all'; - if (reverse) data['reverse'] = 'true'; - if (start) data['start'] = start; - if (end) data['end'] = end; - if (limit) data['count'] = limit; - - // Compose URL Parts - url = [ - STD_ORIGIN, 'v1', 'replay', - PUBLISH_KEY, SUBSCRIBE_KEY, - source, destination - ]; - - // Start (or Stop) Replay! - xdr({ - callback : jsonp, - success : function(response) { callback(response) }, - fail : function() { callback([ 0, 'Disconnected' ]) }, - url : url, - data : data - }); - }, - - /* - PUBNUB.time(function(time){ }); - */ - 'time' : function(callback) { - var jsonp = jsonp_cb(); - xdr({ - callback : jsonp, - timeout : SECOND*5, - url : [STD_ORIGIN, 'time', jsonp], - success : function(response) { callback(response[0]) }, - fail : function() { callback(0) } - }); - }, - - /* - PUBNUB.publish({ - channel : 'my_chat_channel', - message : 'hello!' - }); - */ - 'publish' : function( args, callback ) { - var callback = callback || args['callback'] || function(){} - , msg = args['message'] - , channel = args['channel'] - , jsonp = jsonp_cb() - , url; - - if (!msg) return error('Missing Message'); - if (!channel) return error('Missing Channel'); - if (!PUBLISH_KEY) return error('Missing Publish Key'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // If trying to send Object - msg = JSON['stringify'](msg); - - // Create URL - url = [ - STD_ORIGIN, 'publish', - PUBLISH_KEY, SUBSCRIBE_KEY, - 0, encode(channel), - jsonp, encode(msg) - ]; - - // Queue Message Send - PUB_QUEUE.push({ - callback : jsonp, - timeout : SECOND*5, - url : url, - data : { 'uuid' : UUID }, - success : function(response){callback(response);publish(1)}, - fail : function(){callback([0,'Failed',msg]);publish(1)} - }); - - // Send Message - publish(); - }, - - /* - PUBNUB.unsubscribe({ channel : 'my_chat' }); - */ - 'unsubscribe' : function(args) { - var channel = args['channel']; - - TIMETOKEN = 0; - SUB_RESTORE = 1; - - // Prepare Channel(s) - channel = map( ( - channel.join ? channel.join(',') : ''+channel - ).split(','), function(channel) { - return channel + ',' + channel + PRESENCE_SUFFIX; - } ).join(','); - - // Iterate over Channels - each( channel.split(','), function(channel) { - if (READY) SELF['LEAVE']( channel, 0 ); - CHANNELS[channel] = 0; - } ); - - // ReOpen Connection if Any Channels Left - if (READY) CONNECT(); - }, - - /* - PUBNUB.subscribe({ - channel : 'my_chat' - callback : function(message) { } - }); - */ - 'subscribe' : function( args, callback ) { - var channel = args['channel'] - , callback = callback || args['callback'] - , callback = callback || args['message'] - , connect = args['connect'] || function(){} - , reconnect = args['reconnect'] || function(){} - , disconnect = args['disconnect'] || function(){} - , presence = args['presence'] || 0 - , noheresync = args['noheresync'] || 0 - , backfill = args['backfill'] || 0 - , sub_timeout = args['timeout'] || SUB_TIMEOUT - , windowing = args['windowing'] || SUB_WINDOWING - , restore = args['restore']; - - // Restore Enabled? - if (restore) SUB_RESTORE = 1; - - TIMETOKEN = 0; - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // Setup Channel(s) - each( (channel.join ? channel.join(',') : ''+channel).split(','), - function(channel) { - var settings = CHANNELS[channel] || {}; - - // Store Channel State - CHANNELS[SUB_CHANNEL = channel] = { - name : channel, - connected : settings.connected, - disconnected : settings.disconnected, - subscribed : 1, - callback : SUB_CALLBACK = callback, - connect : connect, - disconnect : disconnect, - reconnect : reconnect - }; - - // Presence Enabled? - if (!presence) return; - - // Subscribe Presence Channel - SELF['subscribe']({ - 'channel' : channel + PRESENCE_SUFFIX, - 'callback' : presence - }); - - // Presence Subscribed? - if (settings.subscribed) return; - - // See Who's Here Now? - if (noheresync) return; - SELF['here_now']({ - 'channel' : channel, - 'callback' : function(here) { - each( 'uuids' in here ? here['uuids'] : [], - function(uid) { presence( { - 'action' : 'join', - 'uuid' : uid, - 'timestamp' : rnow(), - 'occupancy' : here['occupancy'] || 1 - }, here, channel ); } ); - } - }); - } ); - - // Test Network Connection - function _test_connection(success) { - if (success) { - // Begin Next Socket Connection - timeout( _connect, SECOND ); - } - else { - // New Origin on Failed Connection - STD_ORIGIN = nextorigin( ORIGIN, 1 ); - SUB_ORIGIN = nextorigin( ORIGIN, 1 ); - - // Re-test Connection - timeout( function() { - SELF['time'](_test_connection); - }, SECOND ); - } - - // Disconnect & Reconnect - each_channel(function(channel){ - // Reconnect - if (success && channel.disconnected) { - channel.disconnected = 0; - return channel.reconnect(channel.name); - } - - // Disconnect - if (!success && !channel.disconnected) { - channel.disconnected = 1; - channel.disconnect(channel.name); - } - }); - } - - // Evented Subscribe - function _connect() { - var jsonp = jsonp_cb() - , channels = generate_channel_list(CHANNELS).join(','); - - // Stop Connection - if (!channels) return; - - // Connect to PubNub Subscribe Servers - SUB_RECEIVER = xdr({ - timeout : sub_timeout, - callback : jsonp, - fail : function() { SELF['time'](_test_connection) }, - data : { 'uuid' : UUID }, - url : [ - SUB_ORIGIN, 'subscribe', - SUBSCRIBE_KEY, encode(channels), - jsonp, TIMETOKEN - ], - success : function(messages) { - if (!messages) return timeout( _connect, windowing ); - - // Connect - each_channel(function(channel){ - if (channel.connected) return; - channel.connected = 1; - channel.connect(channel.name); - }); - - // Restore Previous Connection Point if Needed - TIMETOKEN = !TIMETOKEN && - SUB_RESTORE && - db['get'](SUBSCRIBE_KEY) || messages[1]; - - - if (backfill) { - Timetoken = 10000; - backfill = 0; - } - - // Update Saved Timetoken - db['set']( SUBSCRIBE_KEY, messages[1] ); - - // Route Channel <---> Callback for Message - var next_callback = (function() { - var channels = (messages.length>2?messages[2]:'') - , list = channels.split(','); - - return function() { - var channel = list.shift()||''; - return [ - (CHANNELS[channel]||{}) - .callback||SUB_CALLBACK, - (channel||SUB_CHANNEL) - .split(PRESENCE_SUFFIX)[0] - ]; - }; - })(); - - each( messages[0], function(msg) { - var next = next_callback(); - if (!CHANNELS[next[1]].subscribed) return; - next[0]( msg, messages, next[1] ); - } ); - - timeout( _connect, windowing ); - } - }); - } - - CONNECT = function() { - // Close Previous Subscribe Connection - SELF['_reset_offline'](); - - // Begin Recursive Subscribe - clearTimeout(SUB_BUFF_WAIT); - SUB_BUFF_WAIT = timeout( _connect, 100 ); - }; - - // Reduce Status Flicker - if (!READY) return READY_BUFFER.push(CONNECT); - - // Connect Now - CONNECT(); - }, - - 'here_now' : function( args, callback ) { - var callback = args['callback'] || callback - , err = args['error'] || function(){} - , channel = args['channel'] - , jsonp = jsonp_cb() - , data = null; - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - if (jsonp != '0') { - data = {}; - data['callback'] = jsonp; - } - - xdr({ - callback : jsonp, - data : data, - success : function(response) { callback(response) }, - fail : err, - url : [ - STD_ORIGIN, 'v2', 'presence', - 'sub_key', SUBSCRIBE_KEY, - 'channel', encode(channel) - ] - }); - }, - - // Expose PUBNUB Functions - 'xdr' : xdr, - 'ready' : ready, - 'db' : db, - 'uuid' : uuid, - 'each' : each, - 'map' : map, - 'grep' : grep, - 'supplant' : supplant, - 'now' : rnow, - 'unique' : unique, - 'updater' : updater, - 'poll_online' : function() { - _is_online() || SELF['_reset_offline'](); - timeout( SELF['poll_online'], SECOND ); - }, - 'poll_online2' : function() { - SELF['time'](function(success){ - success || SELF['_reset_offline'](); - timeout( SELF['poll_online2'], KEEPALIVE ); - }) - } - }; - if (!UUID) UUID = SELF['uuid'](); - db['set']( SUBSCRIBE_KEY + 'uuid', UUID ); - - timeout( SELF['poll_online'], SECOND ); - timeout( SELF['poll_online2'], KEEPALIVE ); - - return SELF; -} -// 3.4/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= JSON =============================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -(window['JSON'] && window['JSON']['stringify']) || (function () { - window['JSON'] || (window['JSON'] = {}); - - function toJSON(key) { - try { return this.valueOf() } - catch(e) { return null } - } - - var cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, - escapable = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, - gap, - indent, - meta = { // table of character substitutions - '\b': '\\b', - '\t': '\\t', - '\n': '\\n', - '\f': '\\f', - '\r': '\\r', - '"' : '\\"', - '\\': '\\\\' - }, - rep; - - function quote(string) { - escapable.lastIndex = 0; - return escapable.test(string) ? - '"' + string.replace(escapable, function (a) { - var c = meta[a]; - return typeof c === 'string' ? c : - '\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4); - }) + '"' : - '"' + string + '"'; - } - - function str(key, holder) { - var i, // The loop counter. - k, // The member key. - v, // The member value. - length, - partial, - mind = gap, - value = holder[key]; - - if (value && typeof value === 'object') { - value = toJSON.call( value, key ); - } - - if (typeof rep === 'function') { - value = rep.call(holder, key, value); - } - - switch (typeof value) { - case 'string': - return quote(value); - - case 'number': - return isFinite(value) ? String(value) : 'null'; - - case 'boolean': - case 'null': - return String(value); - - case 'object': - - if (!value) { - return 'null'; - } - - gap += indent; - partial = []; - - if (Object.prototype.toString.apply(value) === '[object Array]') { - - length = value.length; - for (i = 0; i < length; i += 1) { - partial[i] = str(i, value) || 'null'; - } - - v = partial.length === 0 ? '[]' : - gap ? '[\n' + gap + - partial.join(',\n' + gap) + '\n' + - mind + ']' : - '[' + partial.join(',') + ']'; - gap = mind; - return v; - } - if (rep && typeof rep === 'object') { - length = rep.length; - for (i = 0; i < length; i += 1) { - k = rep[i]; - if (typeof k === 'string') { - v = str(k, value); - if (v) { - partial.push(quote(k) + (gap ? ': ' : ':') + v); - } - } - } - } else { - for (k in value) { - if (Object.hasOwnProperty.call(value, k)) { - v = str(k, value); - if (v) { - partial.push(quote(k) + (gap ? ': ' : ':') + v); - } - } - } - } - - v = partial.length === 0 ? '{}' : - gap ? '{\n' + gap + partial.join(',\n' + gap) + '\n' + - mind + '}' : '{' + partial.join(',') + '}'; - gap = mind; - return v; - } - } - - if (typeof JSON['stringify'] !== 'function') { - JSON['stringify'] = function (value, replacer, space) { - var i; - gap = ''; - indent = ''; - - if (typeof space === 'number') { - for (i = 0; i < space; i += 1) { - indent += ' '; - } - } else if (typeof space === 'string') { - indent = space; - } - rep = replacer; - if (replacer && typeof replacer !== 'function' && - (typeof replacer !== 'object' || - typeof replacer.length !== 'number')) { - throw new Error('JSON.stringify'); - } - return str('', {'': value}); - }; - } - - if (typeof JSON['parse'] !== 'function') { - // JSON is parsed on the server for security. - JSON['parse'] = function (text) {return eval('('+text+')')}; - } -}()); -/* --------------------------------------------------------------------------- -WAIT! - This file depends on instructions from the PUBNUB Cloud. -http://www.pubnub.com/account-javascript-api-include ---------------------------------------------------------------------------- */ - -/* --------------------------------------------------------------------------- -PubNub Real-time Cloud-Hosted Push API and Push Notification Client Frameworks -Copyright (c) 2011 PubNub Inc. -http://www.pubnub.com/ -http://www.pubnub.com/terms ---------------------------------------------------------------------------- */ - -/* --------------------------------------------------------------------------- -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. ---------------------------------------------------------------------------- */ - -/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= UTIL =============================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -window['PUBNUB'] || (function() { - -/** - * UTIL LOCALS - */ - -var SWF = 'https://pubnub.a.ssl.fastly.net/pubnub.swf' -, ASYNC = 'async' -, URLBIT = '/' -, PARAMSBIT = '&' -, UA = navigator.userAgent -, XORIGN = UA.indexOf('MSIE 6') == -1; - -/** - * CONSOLE COMPATIBILITY - */ -window.console || (window.console=window.console||{}); -console.log || ( - console.log = - console.error = - ((window.opera||{}).postError||function(){}) -); - - - -/** - * LOCAL STORAGE OR COOKIE - */ -var db = (function(){ - var ls = window['localStorage']; - return { - 'get' : function(key) { - try { - if (ls) return ls.getItem(key); - if (document.cookie.indexOf(key) == -1) return null; - return ((document.cookie||'').match( - RegExp(key+'=([^;]+)') - )||[])[1] || null; - } catch(e) { return } - }, - 'set' : function( key, value ) { - try { - if (ls) return ls.setItem( key, value ) && 0; - document.cookie = key + '=' + value + - '; expires=Thu, 1 Aug 2030 20:00:00 UTC; path=/'; - } catch(e) { return } - } - }; -})(); - - -/** - * $ - * = - * var div = $('divid'); - */ -function $(id) { return document.getElementById(id) } - -/** - * ERROR - * ===== - * error('message'); - */ -function error(message) { console['error'](message) } - -/** - * SEARCH - * ====== - * var elements = search('a div span'); - */ -function search( elements, start ) { - var list = []; - each( elements.split(/\s+/), function(el) { - each( (start || document).getElementsByTagName(el), function(node) { - list.push(node); - } ); - } ); - return list; -} - - - -/** - * BIND - * ==== - * bind( 'keydown', search('a')[0], function(element) { - * ... - * } ); - */ -function bind( type, el, fun ) { - each( type.split(','), function(etype) { - var rapfun = function(e) { - if (!e) e = window.event; - if (!fun(e)) { - e.cancelBubble = true; - e.returnValue = false; - e.preventDefault && e.preventDefault(); - e.stopPropagation && e.stopPropagation(); - } - }; - - if ( el.addEventListener ) el.addEventListener( etype, rapfun, false ); - else if ( el.attachEvent ) el.attachEvent( 'on' + etype, rapfun ); - else el[ 'on' + etype ] = rapfun; - } ); -} - -/** - * UNBIND - * ====== - * unbind( 'keydown', search('a')[0] ); - */ -function unbind( type, el, fun ) { - if ( el.removeEventListener ) el.removeEventListener( type, false ); - else if ( el.detachEvent ) el.detachEvent( 'on' + type, false ); - else el[ 'on' + type ] = null; -} - -/** - * HEAD - * ==== - * head().appendChild(elm); - */ -function head() { return search('head')[0] } - -/** - * ATTR - * ==== - * var attribute = attr( node, 'attribute' ); - */ -function attr( node, attribute, value ) { - if (value) node.setAttribute( attribute, value ); - else return node && node.getAttribute && node.getAttribute(attribute); -} - -/** - * CSS - * === - * var obj = create('div'); - */ -function css( element, styles ) { - for (var style in styles) if (styles.hasOwnProperty(style)) - try {element.style[style] = styles[style] + ( - '|width|height|top|left|'.indexOf(style) > 0 && - typeof styles[style] == 'number' - ? 'px' : '' - )}catch(e){} -} - -/** - * CREATE - * ====== - * var obj = create('div'); - */ -function create(element) { return document.createElement(element) } - - -/** - * jsonp_cb - * ======== - * var callback = jsonp_cb(); - */ -function jsonp_cb() { return XORIGN || FDomainRequest() ? 0 : unique() } - - - -/** - * EVENTS - * ====== - * PUBNUB.events.bind( 'you-stepped-on-flower', function(message) { - * // Do Stuff with message - * } ); - * - * PUBNUB.events.fire( 'you-stepped-on-flower', "message-data" ); - * PUBNUB.events.fire( 'you-stepped-on-flower', {message:"data"} ); - * PUBNUB.events.fire( 'you-stepped-on-flower', [1,2,3] ); - * - */ -var events = { - 'list' : {}, - 'unbind' : function( name ) { events.list[name] = [] }, - 'bind' : function( name, fun ) { - (events.list[name] = events.list[name] || []).push(fun); - }, - 'fire' : function( name, data ) { - each( - events.list[name] || [], - function(fun) { fun(data) } - ); - } -}; - -/** - * XDR Cross Domain Request - * ======================== - * xdr({ - * url : ['http://www.blah.com/url'], - * success : function(response) {}, - * fail : function() {} - * }); - */ -function xdr( setup ) { - if (XORIGN || FDomainRequest()) return ajax(setup); - - var script = create('script') - , callback = setup.callback - , id = unique() - , finished = 0 - , xhrtme = setup.timeout || DEF_TIMEOUT - , timer = timeout( function(){done(1)}, xhrtme ) - , fail = setup.fail || function(){} - , success = setup.success || function(){} - - , append = function() { - head().appendChild(script); - } - - , done = function( failed, response ) { - if (finished) return; - finished = 1; - - failed || success(response); - script.onerror = null; - clearTimeout(timer); - - timeout( function() { - failed && fail(); - var s = $(id) - , p = s && s.parentNode; - p && p.removeChild(s); - }, SECOND ); - }; - - window[callback] = function(response) { - done( 0, response ); - }; - - if (!setup.blocking) script[ASYNC] = ASYNC; - - script.onerror = function() { done(1) }; - script.src = setup.url.join(URLBIT); - - if (setup.data) { - var params = []; - script.src += "?"; - for (var key in setup.data) { - params.push(key+"="+setup.data[key]); - } - script.src += params.join(PARAMSBIT); - } - attr( script, 'id', id ); - - append(); - return done; -} - -/** - * CORS XHR Request - * ================ - * xdr({ - * url : ['http://www.blah.com/url'], - * success : function(response) {}, - * fail : function() {} - * }); - */ -function ajax( setup ) { - var xhr, response - , finished = function() { - if (loaded) return; - loaded = 1; - - clearTimeout(timer); - - try { response = JSON['parse'](xhr.responseText); } - catch (r) { return done(1); } - - success(response); - } - , complete = 0 - , loaded = 0 - , xhrtme = setup.timeout || DEF_TIMEOUT - , timer = timeout( function(){done(1)}, xhrtme ) - , fail = setup.fail || function(){} - , success = setup.success || function(){} - , done = function(failed) { - if (complete) return; - complete = 1; - - clearTimeout(timer); - - if (xhr) { - xhr.onerror = xhr.onload = null; - xhr.abort && xhr.abort(); - xhr = null; - } - - failed && fail(); - }; - - // Send - try { - xhr = FDomainRequest() || - window.XDomainRequest && - new XDomainRequest() || - new XMLHttpRequest(); - - xhr.onerror = xhr.onabort = function(){ done(1) }; - xhr.onload = xhr.onloadend = finished; - xhr.timeout = xhrtme; - - var url = setup.url.join(URLBIT); - if (setup.data) { - var params = []; - var key; - console.log(setup.data); - url += "?"; - for (key in setup.data) params.push(key+"="+setup.data[key]); - url += params.join(PARAMSBIT); - } - - xhr.open( 'GET', url, (typeof(setup.blocking === 'undefined')) ); - xhr.send(); - } - catch(eee) { - done(0); - XORIGN = 0; - return xdr(setup); - } - - // Return 'done' - return done; -} - - - - // Test Connection State -function _is_online() { - if (!('onLine' in navigator)) return 1; - return navigator['onLine']; -} - - -/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= PUBNUB ===========================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -var PDIV = $('pubnub') || 0 -, CREATE_PUBNUB = function(setup) { - - // Force JSONP if requested from user. - if (setup['jsonp']) XORIGN = 0; - - var SUBSCRIBE_KEY = setup['subscribe_key'] || '' - , KEEPALIVE = (+setup['keepalive'] || DEF_KEEPALIVE) * SECOND - , UUID = setup['uuid'] || db['get'](SUBSCRIBE_KEY+'uuid') || ''; - - setup['xdr'] = xdr; - setup['db'] = db; - setup['_is_online'] = _is_online; - setup['jsonp_cb'] = jsonp_cb; - var SELF = PN_API(setup); - - - SELF['css'] = css; - SELF['$'] = $; - SELF['create'] = create; - SELF['bind'] = bind; - SELF['head'] = head; - SELF['search'] = search; - SELF['attr'] = attr; - SELF['events'] = events; - SELF['init'] = CREATE_PUBNUB; - - // Return without Testing - if (setup['notest']) return SELF; - - // Add Leave Functions - bind( 'beforeunload', window, function() { - each_channel(function(ch){ SELF['LEAVE']( ch.name, 1 ) }); - return true; - } ); - - bind( 'offline', window, SELF['_reset_offline'] ); - bind( 'offline', document, SELF['_reset_offline'] ); - - // Return PUBNUB Socket Object - return SELF; -}; - - - -// Bind for PUBNUB Readiness to Subscribe -bind( 'load', window, function(){ timeout( ready, 0 ) } ); - -var pdiv = PDIV || {}; - -// CREATE A PUBNUB GLOBAL OBJECT -PUBNUB = CREATE_PUBNUB({ - 'notest' : 1, - 'publish_key' : attr( pdiv, 'pub-key' ), - 'subscribe_key' : attr( pdiv, 'sub-key' ), - 'ssl' : !document.location.href.indexOf('https') || - attr( pdiv, 'ssl' ) == 'on', - 'origin' : attr( pdiv, 'origin' ), - 'uuid' : attr( pdiv, 'uuid' ) -}); - -// jQuery Interface -window['jQuery'] && (window['jQuery']['PUBNUB'] = PUBNUB); - -// For Modern JS + Testling.js - http://testling.com/ -typeof(module) !== 'undefined' && (module['exports'] = PUBNUB) && ready(); - -var pubnubs = $('pubnubs') || 0; - -// LEAVE NOW IF NO PDIV. -if (!PDIV) return; - -// PUBNUB Flash Socket -css( PDIV, { 'position' : 'absolute', 'top' : -SECOND } ); - -if ('opera' in window || attr( PDIV, 'flash' )) PDIV['innerHTML'] = - ''; - -// Create Interface for Opera Flash -PUBNUB['rdx'] = function( id, data ) { - if (!data) return FDomainRequest[id]['onerror'](); - FDomainRequest[id]['responseText'] = unescape(data); - FDomainRequest[id]['onload'](); -}; - -function FDomainRequest() { - if (!pubnubs || !pubnubs['get']) return 0; - - var fdomainrequest = { - 'id' : FDomainRequest['id']++, - 'send' : function() {}, - 'abort' : function() { fdomainrequest['id'] = {} }, - 'open' : function( method, url ) { - FDomainRequest[fdomainrequest['id']] = fdomainrequest; - pubnubs['get']( fdomainrequest['id'], url ); - } - }; - - return fdomainrequest; -} -FDomainRequest['id'] = SECOND; - -})(); -(function(){ - -// --------------------------------------------------------------------------- -// WEBSOCKET INTERFACE -// --------------------------------------------------------------------------- -var WS = PUBNUB['ws'] = function( url, protocols ) { - if (!(this instanceof WS)) return new WS( url, protocols ); - - var self = this - , url = self.url = url || '' - , protocol = self.protocol = protocols || 'Sec-WebSocket-Protocol' - , bits = url.split('/') - , setup = { - 'ssl' : bits[0] === 'wss:' - ,'origin' : bits[2] - ,'publish_key' : bits[3] - ,'subscribe_key' : bits[4] - ,'channel' : bits[5] - }; - - // READY STATES - self['CONNECTING'] = 0; // The connection is not yet open. - self['OPEN'] = 1; // The connection is open and ready to communicate. - self['CLOSING'] = 2; // The connection is in the process of closing. - self['CLOSED'] = 3; // The connection is closed or couldn't be opened. - - // CLOSE STATES - self['CLOSE_NORMAL'] = 1000; // Normal Intended Close; completed. - self['CLOSE_GOING_AWAY'] = 1001; // Closed Unexpecttedly. - self['CLOSE_PROTOCOL_ERROR'] = 1002; // Server: Not Supported. - self['CLOSE_UNSUPPORTED'] = 1003; // Server: Unsupported Protocol. - self['CLOSE_TOO_LARGE'] = 1004; // Server: Too Much Data. - self['CLOSE_NO_STATUS'] = 1005; // Server: No reason. - self['CLOSE_ABNORMAL'] = 1006; // Abnormal Disconnect. - - // Events Default - self['onclose'] = self['onerror'] = - self['onmessage'] = self['onopen'] = - self['onsend'] = function(){}; - - // Attributes - self['binaryType'] = ''; - self['extensions'] = ''; - self['bufferedAmount'] = 0; - self['trasnmitting'] = false; - self['buffer'] = []; - self['readyState'] = self['CONNECTING']; - - // Close if no setup. - if (!url) { - self['readyState'] = self['CLOSED']; - self['onclose']({ - 'code' : self['CLOSE_ABNORMAL'], - 'reason' : 'Missing URL', - 'wasClean' : true - }); - return self; - } - - // PubNub WebSocket Emulation - self.pubnub = PUBNUB['init'](setup); - self.pubnub.setup = setup; - self.setup = setup; - - self.pubnub['subscribe']({ - 'restore' : false, - 'channel' : setup['channel'], - 'disconnect' : self['onerror'], - 'reconnect' : self['onopen'], - 'error' : function() { - self['onclose']({ - 'code' : self['CLOSE_ABNORMAL'], - 'reason' : 'Missing URL', - 'wasClean' : false - }); - }, - 'callback' : function(message) { - self['onmessage']({ 'data' : message }); - }, - 'connect' : function() { - self['readyState'] = self['OPEN']; - self['onopen'](); - } - }); -}; - -// --------------------------------------------------------------------------- -// WEBSOCKET SEND -// --------------------------------------------------------------------------- -WS.prototype.send = function(data) { - var self = this; - self.pubnub['publish']({ - 'channel' : self.pubnub.setup['channel'], - 'message' : data, - 'callback' : function(response) { - self['onsend']({ 'data' : response }); - } - }); -}; - -// --------------------------------------------------------------------------- -// WEBSOCKET CLOSE -// --------------------------------------------------------------------------- -WS.prototype.close = function() { - var self = this; - self.pubnub['unsubscribe']({ 'channel' : self.pubnub.setup['channel'] }); - self['readyState'] = self['CLOSED']; - self['onclose']({}); -}; - -})(); -(function(){ - -// --------------------------------------------------------------------------- -// WEBSOCKET INTERFACE -// --------------------------------------------------------------------------- -var WS = PUBNUB['ws'] = function( url, protocols ) { - if (!(this instanceof WS)) return new WS( url, protocols ); - - var self = this - , url = self.url = url || '' - , protocol = self.protocol = protocols || 'Sec-WebSocket-Protocol' - , bits = url.split('/') - , setup = { - 'ssl' : bits[0] === 'wss:' - ,'origin' : bits[2] - ,'publish_key' : bits[3] - ,'subscribe_key' : bits[4] - ,'channel' : bits[5] - }; - - // READY STATES - self['CONNECTING'] = 0; // The connection is not yet open. - self['OPEN'] = 1; // The connection is open and ready to communicate. - self['CLOSING'] = 2; // The connection is in the process of closing. - self['CLOSED'] = 3; // The connection is closed or couldn't be opened. - - // CLOSE STATES - self['CLOSE_NORMAL'] = 1000; // Normal Intended Close; completed. - self['CLOSE_GOING_AWAY'] = 1001; // Closed Unexpecttedly. - self['CLOSE_PROTOCOL_ERROR'] = 1002; // Server: Not Supported. - self['CLOSE_UNSUPPORTED'] = 1003; // Server: Unsupported Protocol. - self['CLOSE_TOO_LARGE'] = 1004; // Server: Too Much Data. - self['CLOSE_NO_STATUS'] = 1005; // Server: No reason. - self['CLOSE_ABNORMAL'] = 1006; // Abnormal Disconnect. - - // Events Default - self['onclose'] = self['onerror'] = - self['onmessage'] = self['onopen'] = - self['onsend'] = function(){}; - - // Attributes - self['binaryType'] = ''; - self['extensions'] = ''; - self['bufferedAmount'] = 0; - self['trasnmitting'] = false; - self['buffer'] = []; - self['readyState'] = self['CONNECTING']; - - // Close if no setup. - if (!url) { - self['readyState'] = self['CLOSED']; - self['onclose']({ - 'code' : self['CLOSE_ABNORMAL'], - 'reason' : 'Missing URL', - 'wasClean' : true - }); - return self; - } - - // PubNub WebSocket Emulation - self.pubnub = PUBNUB['init'](setup); - self.pubnub.setup = setup; - self.setup = setup; - - self.pubnub['subscribe']({ - 'restore' : false, - 'channel' : setup['channel'], - 'disconnect' : self['onerror'], - 'reconnect' : self['onopen'], - 'error' : function() { - self['onclose']({ - 'code' : self['CLOSE_ABNORMAL'], - 'reason' : 'Missing URL', - 'wasClean' : false - }); - }, - 'callback' : function(message) { - self['onmessage']({ 'data' : message }); - }, - 'connect' : function() { - self['readyState'] = self['OPEN']; - self['onopen'](); - } - }); -}; - -// --------------------------------------------------------------------------- -// WEBSOCKET SEND -// --------------------------------------------------------------------------- -WS.prototype.send = function(data) { - var self = this; - self.pubnub['publish']({ - 'channel' : self.pubnub.setup['channel'], - 'message' : data, - 'callback' : function(response) { - self['onsend']({ 'data' : response }); - } - }); -}; - -// --------------------------------------------------------------------------- -// WEBSOCKET CLOSE -// --------------------------------------------------------------------------- -WS.prototype.close = function() { - var self = this; - self.pubnub['unsubscribe']({ 'channel' : self.pubnub.setup['channel'] }); - self['readyState'] = self['CLOSED']; - self['onclose']({}); -}; - -})(); -/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= JSON =============================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -(window['JSON'] && window['JSON']['stringify']) || (function () { - window['JSON'] || (window['JSON'] = {}); - - function toJSON(key) { - try { return this.valueOf() } - catch(e) { return null } - } - - var cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, - escapable = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, - gap, - indent, - meta = { // table of character substitutions - '\b': '\\b', - '\t': '\\t', - '\n': '\\n', - '\f': '\\f', - '\r': '\\r', - '"' : '\\"', - '\\': '\\\\' - }, - rep; - - function quote(string) { - escapable.lastIndex = 0; - return escapable.test(string) ? - '"' + string.replace(escapable, function (a) { - var c = meta[a]; - return typeof c === 'string' ? c : - '\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4); - }) + '"' : - '"' + string + '"'; - } - - function str(key, holder) { - var i, // The loop counter. - k, // The member key. - v, // The member value. - length, - partial, - mind = gap, - value = holder[key]; - - if (value && typeof value === 'object') { - value = toJSON.call( value, key ); - } - - if (typeof rep === 'function') { - value = rep.call(holder, key, value); - } - - switch (typeof value) { - case 'string': - return quote(value); - - case 'number': - return isFinite(value) ? String(value) : 'null'; - - case 'boolean': - case 'null': - return String(value); - - case 'object': - - if (!value) { - return 'null'; - } - - gap += indent; - partial = []; - - if (Object.prototype.toString.apply(value) === '[object Array]') { - - length = value.length; - for (i = 0; i < length; i += 1) { - partial[i] = str(i, value) || 'null'; - } - - v = partial.length === 0 ? '[]' : - gap ? '[\n' + gap + - partial.join(',\n' + gap) + '\n' + - mind + ']' : - '[' + partial.join(',') + ']'; - gap = mind; - return v; - } - if (rep && typeof rep === 'object') { - length = rep.length; - for (i = 0; i < length; i += 1) { - k = rep[i]; - if (typeof k === 'string') { - v = str(k, value); - if (v) { - partial.push(quote(k) + (gap ? ': ' : ':') + v); - } - } - } - } else { - for (k in value) { - if (Object.hasOwnProperty.call(value, k)) { - v = str(k, value); - if (v) { - partial.push(quote(k) + (gap ? ': ' : ':') + v); - } - } - } - } - - v = partial.length === 0 ? '{}' : - gap ? '{\n' + gap + partial.join(',\n' + gap) + '\n' + - mind + '}' : '{' + partial.join(',') + '}'; - gap = mind; - return v; - } - } - - if (typeof JSON['stringify'] !== 'function') { - JSON['stringify'] = function (value, replacer, space) { - var i; - gap = ''; - indent = ''; - - if (typeof space === 'number') { - for (i = 0; i < space; i += 1) { - indent += ' '; - } - } else if (typeof space === 'string') { - indent = space; - } - rep = replacer; - if (replacer && typeof replacer !== 'function' && - (typeof replacer !== 'object' || - typeof replacer.length !== 'number')) { - throw new Error('JSON.stringify'); - } - return str('', {'': value}); - }; - } - - if (typeof JSON['parse'] !== 'function') { - // JSON is parsed on the server for security. - JSON['parse'] = function (text) {return eval('('+text+')')}; - } -}()); -var NOW = 1 -, READY = false -, READY_BUFFER = [] -, PRESENCE_SUFFIX = '-pnpres' -, DEF_WINDOWING = 10 // MILLISECONDS. -, DEF_TIMEOUT = 10000 // MILLISECONDS. -, DEF_SUB_TIMEOUT = 310 // SECONDS. -, DEF_KEEPALIVE = 60 // SECONDS. -, SECOND = 1000 // A THOUSAND MILLISECONDS. -, REPL = /{([\w\-]+)}/g; - -/** - * UTILITIES - */ -function unique() { return'x'+ ++NOW+''+(+new Date) } -function rnow() { return+new Date } - -/** - * NEXTORIGIN - * ========== - * var next_origin = nextorigin(); - */ -var nextorigin = (function() { - var max = 20 - , ori = Math.floor(Math.random() * max); - return function( origin, failover ) { - return origin.indexOf('pubsub.') > 0 - && origin.replace( - 'pubsub', 'ps' + ( - failover ? uuid().split('-')[0] : - (++ori < max? ori : ori=1) - ) ) || origin; - } -})(); - -/** - * UPDATER - * ======= - * var timestamp = unique(); - */ -function updater( fun, rate ) { - var timeout - , last = 0 - , runnit = function() { - if (last + rate > rnow()) { - clearTimeout(timeout); - timeout = setTimeout( runnit, rate ); - } - else { - last = rnow(); - fun(); - } - }; - - return runnit; -} - -/** - * GREP - * ==== - * var list = grep( [1,2,3], function(item) { return item % 2 } ) - */ -function grep( list, fun ) { - var fin = []; - each( list || [], function(l) { fun(l) && fin.push(l) } ); - return fin -} - -/** - * SUPPLANT - * ======== - * var text = supplant( 'Hello {name}!', { name : 'John' } ) - */ -function supplant( str, values ) { - return str.replace( REPL, function( _, match ) { - return values[match] || _ - } ); -} - -/** - * timeout - * ======= - * timeout( function(){}, 100 ); - */ -function timeout( fun, wait ) { - return setTimeout( fun, wait ); -} - -/** - * uuid - * ==== - * var my_uuid = uuid(); - */ -function uuid(callback) { - var u = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, - function(c) { - var r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8); - return v.toString(16); - }); - if (callback) callback(u); - return u; -} - -/** - * EACH - * ==== - * each( [1,2,3], function(item) { } ) - */ -function each( o, f ) { - if ( !o || !f ) return; - - if ( typeof o[0] != 'undefined' ) - for ( var i = 0, l = o.length; i < l; ) - f.call( o[i], o[i], i++ ); - else - for ( var i in o ) - o.hasOwnProperty && - o.hasOwnProperty(i) && - f.call( o[i], i, o[i] ); -} - -/** - * MAP - * === - * var list = map( [1,2,3], function(item) { return item + 1 } ) - */ -function map( list, fun ) { - var fin = []; - each( list || [], function( k, v ) { fin.push(fun( k, v )) } ); - return fin; -} - -/** - * ENCODE - * ====== - * var encoded_path = encode('path'); - */ -function encode(path) { - return map( (encodeURIComponent(path)).split(''), function(chr) { - return "-_.!~*'()".indexOf(chr) < 0 ? chr : - "%"+chr.charCodeAt(0).toString(16).toUpperCase() - } ).join(''); -} - -/** - * Generate Subscription Channel List - * ================================== - * generate_channel_list(channels_object); - */ -function generate_channel_list(channels) { - var list = []; - each( channels, function( channel, status ) { - if (status.subscribed) list.push(channel); - } ); - return list.sort(); -} - -// PUBNUB READY TO CONNECT - function ready() { timeout( function() { - if (READY) return; - READY = 1; - each( READY_BUFFER, function(connect) { connect() } ); - }, SECOND ); } - -function PN_API(setup) { - var SUB_WINDOWING = +setup['windowing'] || DEF_WINDOWING - , SUB_TIMEOUT = (+setup['timeout'] || DEF_SUB_TIMEOUT) * SECOND - , KEEPALIVE = (+setup['keepalive'] || DEF_KEEPALIVE) * SECOND - , PUBLISH_KEY = setup['publish_key'] || '' - , SUBSCRIBE_KEY = setup['subscribe_key'] || '' - , SSL = setup['ssl'] ? 's' : '' - , ORIGIN = 'http'+SSL+'://'+(setup['origin']||'pubsub.pubnub.com') - , STD_ORIGIN = nextorigin(ORIGIN) - , SUB_ORIGIN = nextorigin(ORIGIN) - , CONNECT = function(){} - , PUB_QUEUE = [] - , SUB_CALLBACK = 0 - , SUB_CHANNEL = 0 - , SUB_RECEIVER = 0 - , SUB_RESTORE = 0 - , SUB_BUFF_WAIT = 0 - , TIMETOKEN = 0 - , CHANNELS = {} - , xdr = setup['xdr'] - , _is_online = setup['_is_online'] || function() { return 1; } - , jsonp_cb = setup['jsonp_cb'] || function(){ return 0; } - , db = setup['db'] || {'get': function(){}, 'set': function(){}} - , UUID = setup['uuid'] || ( db && db['get'](SUBSCRIBE_KEY+'uuid') || ''); - - - - function publish(next) { - if (next) PUB_QUEUE.sending = 0; - if (PUB_QUEUE.sending || !PUB_QUEUE.length) return; - PUB_QUEUE.sending = 1; - xdr(PUB_QUEUE.shift()); - } - - function each_channel(callback) { - each( generate_channel_list(CHANNELS), function(channel) { - var chan = CHANNELS[channel]; - if (!chan) return; - callback(chan); - } ); - } - - // Announce Leave Event - - - var SELF = { - - '_reset_offline' : function() { - SUB_RECEIVER && SUB_RECEIVER(1); - }, - - 'LEAVE' : function( channel, blocking ) { - var data = { 'uuid' : UUID } - , origin = nextorigin(ORIGIN) - , jsonp = jsonp_cb(); - - // Prevent Leaving a Presence Channel - if (channel.indexOf(PRESENCE_SUFFIX) > 0) return; - - if (jsonp != '0') data['callback'] = jsonp; - - xdr({ - blocking : blocking || SSL, - timeout : 2000, - callback : jsonp, - data : data, - url : [ - origin, 'v2', 'presence', 'sub_key', - SUBSCRIBE_KEY, 'channel', encode(channel), 'leave' - ] - }); - }, - /* - PUBNUB.history({ - channel : 'my_chat_channel', - limit : 100, - callback : function(history) { } - }); - */ - 'history' : function( args, callback ) { - var callback = args['callback'] || callback - , count = args['count'] || args['limit'] || 100 - , reverse = args['reverse'] || "false" - , err = args['error'] || function(){} - , channel = args['channel'] - , start = args['start'] - , end = args['end'] - , params = {} - , jsonp = jsonp_cb(); - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - params['stringtoken'] = 'true'; - params['count'] = count; - params['reverse'] = reverse; - - if (jsonp) params['callback'] = jsonp; - if (start) params['start'] = start; - if (end) params['end'] = end; - - // Send Message - xdr({ - callback : jsonp, - data : params, - success : function(response) { callback(response) }, - fail : err, - url : [ - STD_ORIGIN, 'v2', 'history', 'sub-key', - SUBSCRIBE_KEY, 'channel', encode(channel) - ] - }); - }, - - /* - PUBNUB.replay({ - source : 'my_channel', - destination : 'new_channel' - }); - */ - 'replay' : function(args) { - var callback = callback || args['callback'] || function(){} - , source = args['source'] - , destination = args['destination'] - , stop = args['stop'] - , start = args['start'] - , end = args['end'] - , reverse = args['reverse'] - , limit = args['limit'] - , jsonp = jsonp_cb() - , data = {} - , url; - - // Check User Input - if (!source) return error('Missing Source Channel'); - if (!destination) return error('Missing Destination Channel'); - if (!PUBLISH_KEY) return error('Missing Publish Key'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // Setup URL Params - if (jsonp != '0') data['callback'] = jsonp; - if (stop) data['stop'] = 'all'; - if (reverse) data['reverse'] = 'true'; - if (start) data['start'] = start; - if (end) data['end'] = end; - if (limit) data['count'] = limit; - - // Compose URL Parts - url = [ - STD_ORIGIN, 'v1', 'replay', - PUBLISH_KEY, SUBSCRIBE_KEY, - source, destination - ]; - - // Start (or Stop) Replay! - xdr({ - callback : jsonp, - success : function(response) { callback(response) }, - fail : function() { callback([ 0, 'Disconnected' ]) }, - url : url, - data : data - }); - }, - - /* - PUBNUB.time(function(time){ }); - */ - 'time' : function(callback) { - var jsonp = jsonp_cb(); - xdr({ - callback : jsonp, - timeout : SECOND*5, - url : [STD_ORIGIN, 'time', jsonp], - success : function(response) { callback(response[0]) }, - fail : function() { callback(0) } - }); - }, - - /* - PUBNUB.publish({ - channel : 'my_chat_channel', - message : 'hello!' - }); - */ - 'publish' : function( args, callback ) { - var callback = callback || args['callback'] || function(){} - , msg = args['message'] - , channel = args['channel'] - , jsonp = jsonp_cb() - , url; - - if (!msg) return error('Missing Message'); - if (!channel) return error('Missing Channel'); - if (!PUBLISH_KEY) return error('Missing Publish Key'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // If trying to send Object - msg = JSON['stringify'](msg); - - // Create URL - url = [ - STD_ORIGIN, 'publish', - PUBLISH_KEY, SUBSCRIBE_KEY, - 0, encode(channel), - jsonp, encode(msg) - ]; - - // Queue Message Send - PUB_QUEUE.push({ - callback : jsonp, - timeout : SECOND*5, - url : url, - data : { 'uuid' : UUID }, - success : function(response){callback(response);publish(1)}, - fail : function(){callback([0,'Failed',msg]);publish(1)} - }); - - // Send Message - publish(); - }, - - /* - PUBNUB.unsubscribe({ channel : 'my_chat' }); - */ - 'unsubscribe' : function(args) { - var channel = args['channel']; - - TIMETOKEN = 0; - SUB_RESTORE = 1; - - // Prepare Channel(s) - channel = map( ( - channel.join ? channel.join(',') : ''+channel - ).split(','), function(channel) { - return channel + ',' + channel + PRESENCE_SUFFIX; - } ).join(','); - - // Iterate over Channels - each( channel.split(','), function(channel) { - if (READY) SELF['LEAVE']( channel, 0 ); - CHANNELS[channel] = 0; - } ); - - // ReOpen Connection if Any Channels Left - if (READY) CONNECT(); - }, - - /* - PUBNUB.subscribe({ - channel : 'my_chat' - callback : function(message) { } - }); - */ - 'subscribe' : function( args, callback ) { - var channel = args['channel'] - , callback = callback || args['callback'] - , callback = callback || args['message'] - , connect = args['connect'] || function(){} - , reconnect = args['reconnect'] || function(){} - , disconnect = args['disconnect'] || function(){} - , presence = args['presence'] || 0 - , noheresync = args['noheresync'] || 0 - , backfill = args['backfill'] || 0 - , sub_timeout = args['timeout'] || SUB_TIMEOUT - , windowing = args['windowing'] || SUB_WINDOWING - , restore = args['restore']; - - // Restore Enabled? - if (restore) SUB_RESTORE = 1; - - TIMETOKEN = 0; - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // Setup Channel(s) - each( (channel.join ? channel.join(',') : ''+channel).split(','), - function(channel) { - var settings = CHANNELS[channel] || {}; - - // Store Channel State - CHANNELS[SUB_CHANNEL = channel] = { - name : channel, - connected : settings.connected, - disconnected : settings.disconnected, - subscribed : 1, - callback : SUB_CALLBACK = callback, - connect : connect, - disconnect : disconnect, - reconnect : reconnect - }; - - // Presence Enabled? - if (!presence) return; - - // Subscribe Presence Channel - SELF['subscribe']({ - 'channel' : channel + PRESENCE_SUFFIX, - 'callback' : presence - }); - - // Presence Subscribed? - if (settings.subscribed) return; - - // See Who's Here Now? - if (noheresync) return; - SELF['here_now']({ - 'channel' : channel, - 'callback' : function(here) { - each( 'uuids' in here ? here['uuids'] : [], - function(uid) { presence( { - 'action' : 'join', - 'uuid' : uid, - 'timestamp' : rnow(), - 'occupancy' : here['occupancy'] || 1 - }, here, channel ); } ); - } - }); - } ); - - // Test Network Connection - function _test_connection(success) { - if (success) { - // Begin Next Socket Connection - timeout( _connect, SECOND ); - } - else { - // New Origin on Failed Connection - STD_ORIGIN = nextorigin( ORIGIN, 1 ); - SUB_ORIGIN = nextorigin( ORIGIN, 1 ); - - // Re-test Connection - timeout( function() { - SELF['time'](_test_connection); - }, SECOND ); - } - - // Disconnect & Reconnect - each_channel(function(channel){ - // Reconnect - if (success && channel.disconnected) { - channel.disconnected = 0; - return channel.reconnect(channel.name); - } - - // Disconnect - if (!success && !channel.disconnected) { - channel.disconnected = 1; - channel.disconnect(channel.name); - } - }); - } - - // Evented Subscribe - function _connect() { - var jsonp = jsonp_cb() - , channels = generate_channel_list(CHANNELS).join(','); - - // Stop Connection - if (!channels) return; - - // Connect to PubNub Subscribe Servers - SUB_RECEIVER = xdr({ - timeout : sub_timeout, - callback : jsonp, - fail : function() { SELF['time'](_test_connection) }, - data : { 'uuid' : UUID }, - url : [ - SUB_ORIGIN, 'subscribe', - SUBSCRIBE_KEY, encode(channels), - jsonp, TIMETOKEN - ], - success : function(messages) { - if (!messages) return timeout( _connect, windowing ); - - // Connect - each_channel(function(channel){ - if (channel.connected) return; - channel.connected = 1; - channel.connect(channel.name); - }); - - // Restore Previous Connection Point if Needed - TIMETOKEN = !TIMETOKEN && - SUB_RESTORE && - db['get'](SUBSCRIBE_KEY) || messages[1]; - - - if (backfill) { - Timetoken = 10000; - backfill = 0; - } - - // Update Saved Timetoken - db['set']( SUBSCRIBE_KEY, messages[1] ); - - // Route Channel <---> Callback for Message - var next_callback = (function() { - var channels = (messages.length>2?messages[2]:'') - , list = channels.split(','); - - return function() { - var channel = list.shift()||''; - return [ - (CHANNELS[channel]||{}) - .callback||SUB_CALLBACK, - (channel||SUB_CHANNEL) - .split(PRESENCE_SUFFIX)[0] - ]; - }; - })(); - - each( messages[0], function(msg) { - var next = next_callback(); - if (!CHANNELS[next[1]].subscribed) return; - next[0]( msg, messages, next[1] ); - } ); - - timeout( _connect, windowing ); - } - }); - } - - CONNECT = function() { - // Close Previous Subscribe Connection - SELF['_reset_offline'](); - - // Begin Recursive Subscribe - clearTimeout(SUB_BUFF_WAIT); - SUB_BUFF_WAIT = timeout( _connect, 100 ); - }; - - // Reduce Status Flicker - if (!READY) return READY_BUFFER.push(CONNECT); - - // Connect Now - CONNECT(); - }, - - 'here_now' : function( args, callback ) { - var callback = args['callback'] || callback - , err = args['error'] || function(){} - , channel = args['channel'] - , jsonp = jsonp_cb() - , data = null; - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - if (jsonp != '0') { - data = {}; - data['callback'] = jsonp; - } - - xdr({ - callback : jsonp, - data : data, - success : function(response) { callback(response) }, - fail : err, - url : [ - STD_ORIGIN, 'v2', 'presence', - 'sub_key', SUBSCRIBE_KEY, - 'channel', encode(channel) - ] - }); - }, - - // Expose PUBNUB Functions - 'xdr' : xdr, - 'ready' : ready, - 'db' : db, - 'uuid' : uuid, - 'each' : each, - 'map' : map, - 'grep' : grep, - 'supplant' : supplant, - 'now' : rnow, - 'unique' : unique, - 'updater' : updater, - 'poll_online' : function() { - _is_online() || SELF['_reset_offline'](); - timeout( SELF['poll_online'], SECOND ); - }, - 'poll_online2' : function() { - SELF['time'](function(success){ - success || SELF['_reset_offline'](); - timeout( SELF['poll_online2'], KEEPALIVE ); - }) - } - }; - if (!UUID) UUID = SELF['uuid'](); - db['set']( SUBSCRIBE_KEY + 'uuid', UUID ); - - timeout( SELF['poll_online'], SECOND ); - timeout( SELF['poll_online2'], KEEPALIVE ); - - return SELF; -} -// 3.4/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= JSON =============================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -(window['JSON'] && window['JSON']['stringify']) || (function () { - window['JSON'] || (window['JSON'] = {}); - - function toJSON(key) { - try { return this.valueOf() } - catch(e) { return null } - } - - var cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, - escapable = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, - gap, - indent, - meta = { // table of character substitutions - '\b': '\\b', - '\t': '\\t', - '\n': '\\n', - '\f': '\\f', - '\r': '\\r', - '"' : '\\"', - '\\': '\\\\' - }, - rep; - - function quote(string) { - escapable.lastIndex = 0; - return escapable.test(string) ? - '"' + string.replace(escapable, function (a) { - var c = meta[a]; - return typeof c === 'string' ? c : - '\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4); - }) + '"' : - '"' + string + '"'; - } - - function str(key, holder) { - var i, // The loop counter. - k, // The member key. - v, // The member value. - length, - partial, - mind = gap, - value = holder[key]; - - if (value && typeof value === 'object') { - value = toJSON.call( value, key ); - } - - if (typeof rep === 'function') { - value = rep.call(holder, key, value); - } - - switch (typeof value) { - case 'string': - return quote(value); - - case 'number': - return isFinite(value) ? String(value) : 'null'; - - case 'boolean': - case 'null': - return String(value); - - case 'object': - - if (!value) { - return 'null'; - } - - gap += indent; - partial = []; - - if (Object.prototype.toString.apply(value) === '[object Array]') { - - length = value.length; - for (i = 0; i < length; i += 1) { - partial[i] = str(i, value) || 'null'; - } - - v = partial.length === 0 ? '[]' : - gap ? '[\n' + gap + - partial.join(',\n' + gap) + '\n' + - mind + ']' : - '[' + partial.join(',') + ']'; - gap = mind; - return v; - } - if (rep && typeof rep === 'object') { - length = rep.length; - for (i = 0; i < length; i += 1) { - k = rep[i]; - if (typeof k === 'string') { - v = str(k, value); - if (v) { - partial.push(quote(k) + (gap ? ': ' : ':') + v); - } - } - } - } else { - for (k in value) { - if (Object.hasOwnProperty.call(value, k)) { - v = str(k, value); - if (v) { - partial.push(quote(k) + (gap ? ': ' : ':') + v); - } - } - } - } - - v = partial.length === 0 ? '{}' : - gap ? '{\n' + gap + partial.join(',\n' + gap) + '\n' + - mind + '}' : '{' + partial.join(',') + '}'; - gap = mind; - return v; - } - } - - if (typeof JSON['stringify'] !== 'function') { - JSON['stringify'] = function (value, replacer, space) { - var i; - gap = ''; - indent = ''; - - if (typeof space === 'number') { - for (i = 0; i < space; i += 1) { - indent += ' '; - } - } else if (typeof space === 'string') { - indent = space; - } - rep = replacer; - if (replacer && typeof replacer !== 'function' && - (typeof replacer !== 'object' || - typeof replacer.length !== 'number')) { - throw new Error('JSON.stringify'); - } - return str('', {'': value}); - }; - } - - if (typeof JSON['parse'] !== 'function') { - // JSON is parsed on the server for security. - JSON['parse'] = function (text) {return eval('('+text+')')}; - } -}()); -/* --------------------------------------------------------------------------- -WAIT! - This file depends on instructions from the PUBNUB Cloud. -http://www.pubnub.com/account-javascript-api-include ---------------------------------------------------------------------------- */ - -/* --------------------------------------------------------------------------- -PubNub Real-time Cloud-Hosted Push API and Push Notification Client Frameworks -Copyright (c) 2011 PubNub Inc. -http://www.pubnub.com/ -http://www.pubnub.com/terms ---------------------------------------------------------------------------- */ - -/* --------------------------------------------------------------------------- -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. ---------------------------------------------------------------------------- */ - -/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= UTIL =============================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -window['PUBNUB'] || (function() { - -/** - * UTIL LOCALS - */ - -var SWF = 'https://pubnub.a.ssl.fastly.net/pubnub.swf' -, ASYNC = 'async' -, URLBIT = '/' -, PARAMSBIT = '&' -, UA = navigator.userAgent -, XORIGN = UA.indexOf('MSIE 6') == -1; - -/** - * CONSOLE COMPATIBILITY - */ -window.console || (window.console=window.console||{}); -console.log || ( - console.log = - console.error = - ((window.opera||{}).postError||function(){}) -); - - - -/** - * LOCAL STORAGE OR COOKIE - */ -var db = (function(){ - var ls = window['localStorage']; - return { - 'get' : function(key) { - try { - if (ls) return ls.getItem(key); - if (document.cookie.indexOf(key) == -1) return null; - return ((document.cookie||'').match( - RegExp(key+'=([^;]+)') - )||[])[1] || null; - } catch(e) { return } - }, - 'set' : function( key, value ) { - try { - if (ls) return ls.setItem( key, value ) && 0; - document.cookie = key + '=' + value + - '; expires=Thu, 1 Aug 2030 20:00:00 UTC; path=/'; - } catch(e) { return } - } - }; -})(); - - -/** - * $ - * = - * var div = $('divid'); - */ -function $(id) { return document.getElementById(id) } - -/** - * ERROR - * ===== - * error('message'); - */ -function error(message) { console['error'](message) } - -/** - * SEARCH - * ====== - * var elements = search('a div span'); - */ -function search( elements, start ) { - var list = []; - each( elements.split(/\s+/), function(el) { - each( (start || document).getElementsByTagName(el), function(node) { - list.push(node); - } ); - } ); - return list; -} - - - -/** - * BIND - * ==== - * bind( 'keydown', search('a')[0], function(element) { - * ... - * } ); - */ -function bind( type, el, fun ) { - each( type.split(','), function(etype) { - var rapfun = function(e) { - if (!e) e = window.event; - if (!fun(e)) { - e.cancelBubble = true; - e.returnValue = false; - e.preventDefault && e.preventDefault(); - e.stopPropagation && e.stopPropagation(); - } - }; - - if ( el.addEventListener ) el.addEventListener( etype, rapfun, false ); - else if ( el.attachEvent ) el.attachEvent( 'on' + etype, rapfun ); - else el[ 'on' + etype ] = rapfun; - } ); -} - -/** - * UNBIND - * ====== - * unbind( 'keydown', search('a')[0] ); - */ -function unbind( type, el, fun ) { - if ( el.removeEventListener ) el.removeEventListener( type, false ); - else if ( el.detachEvent ) el.detachEvent( 'on' + type, false ); - else el[ 'on' + type ] = null; -} - -/** - * HEAD - * ==== - * head().appendChild(elm); - */ -function head() { return search('head')[0] } - -/** - * ATTR - * ==== - * var attribute = attr( node, 'attribute' ); - */ -function attr( node, attribute, value ) { - if (value) node.setAttribute( attribute, value ); - else return node && node.getAttribute && node.getAttribute(attribute); -} - -/** - * CSS - * === - * var obj = create('div'); - */ -function css( element, styles ) { - for (var style in styles) if (styles.hasOwnProperty(style)) - try {element.style[style] = styles[style] + ( - '|width|height|top|left|'.indexOf(style) > 0 && - typeof styles[style] == 'number' - ? 'px' : '' - )}catch(e){} -} - -/** - * CREATE - * ====== - * var obj = create('div'); - */ -function create(element) { return document.createElement(element) } - - -/** - * jsonp_cb - * ======== - * var callback = jsonp_cb(); - */ -function jsonp_cb() { return XORIGN || FDomainRequest() ? 0 : unique() } - - - -/** - * EVENTS - * ====== - * PUBNUB.events.bind( 'you-stepped-on-flower', function(message) { - * // Do Stuff with message - * } ); - * - * PUBNUB.events.fire( 'you-stepped-on-flower', "message-data" ); - * PUBNUB.events.fire( 'you-stepped-on-flower', {message:"data"} ); - * PUBNUB.events.fire( 'you-stepped-on-flower', [1,2,3] ); - * - */ -var events = { - 'list' : {}, - 'unbind' : function( name ) { events.list[name] = [] }, - 'bind' : function( name, fun ) { - (events.list[name] = events.list[name] || []).push(fun); - }, - 'fire' : function( name, data ) { - each( - events.list[name] || [], - function(fun) { fun(data) } - ); - } -}; - -/** - * XDR Cross Domain Request - * ======================== - * xdr({ - * url : ['http://www.blah.com/url'], - * success : function(response) {}, - * fail : function() {} - * }); - */ -function xdr( setup ) { - if (XORIGN || FDomainRequest()) return ajax(setup); - - var script = create('script') - , callback = setup.callback - , id = unique() - , finished = 0 - , xhrtme = setup.timeout || DEF_TIMEOUT - , timer = timeout( function(){done(1)}, xhrtme ) - , fail = setup.fail || function(){} - , success = setup.success || function(){} - - , append = function() { - head().appendChild(script); - } - - , done = function( failed, response ) { - if (finished) return; - finished = 1; - - failed || success(response); - script.onerror = null; - clearTimeout(timer); - - timeout( function() { - failed && fail(); - var s = $(id) - , p = s && s.parentNode; - p && p.removeChild(s); - }, SECOND ); - }; - - window[callback] = function(response) { - done( 0, response ); - }; - - if (!setup.blocking) script[ASYNC] = ASYNC; - - script.onerror = function() { done(1) }; - script.src = setup.url.join(URLBIT); - - if (setup.data) { - var params = []; - script.src += "?"; - for (var key in setup.data) { - params.push(key+"="+setup.data[key]); - } - script.src += params.join(PARAMSBIT); - } - attr( script, 'id', id ); - - append(); - return done; -} - -/** - * CORS XHR Request - * ================ - * xdr({ - * url : ['http://www.blah.com/url'], - * success : function(response) {}, - * fail : function() {} - * }); - */ -function ajax( setup ) { - var xhr, response - , finished = function() { - if (loaded) return; - loaded = 1; - - clearTimeout(timer); - - try { response = JSON['parse'](xhr.responseText); } - catch (r) { return done(1); } - - success(response); - } - , complete = 0 - , loaded = 0 - , xhrtme = setup.timeout || DEF_TIMEOUT - , timer = timeout( function(){done(1)}, xhrtme ) - , fail = setup.fail || function(){} - , success = setup.success || function(){} - , done = function(failed) { - if (complete) return; - complete = 1; - - clearTimeout(timer); - - if (xhr) { - xhr.onerror = xhr.onload = null; - xhr.abort && xhr.abort(); - xhr = null; - } - - failed && fail(); - }; - - // Send - try { - xhr = FDomainRequest() || - window.XDomainRequest && - new XDomainRequest() || - new XMLHttpRequest(); - - xhr.onerror = xhr.onabort = function(){ done(1) }; - xhr.onload = xhr.onloadend = finished; - xhr.timeout = xhrtme; - - var url = setup.url.join(URLBIT); - if (setup.data) { - var params = []; - var key; - console.log(setup.data); - url += "?"; - for (key in setup.data) params.push(key+"="+setup.data[key]); - url += params.join(PARAMSBIT); - } - - xhr.open( 'GET', url, (typeof(setup.blocking === 'undefined')) ); - xhr.send(); - } - catch(eee) { - done(0); - XORIGN = 0; - return xdr(setup); - } - - // Return 'done' - return done; -} - - - - // Test Connection State -function _is_online() { - if (!('onLine' in navigator)) return 1; - return navigator['onLine']; -} - - -/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= PUBNUB ===========================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -var PDIV = $('pubnub') || 0 -, CREATE_PUBNUB = function(setup) { - - // Force JSONP if requested from user. - if (setup['jsonp']) XORIGN = 0; - - var SUBSCRIBE_KEY = setup['subscribe_key'] || '' - , KEEPALIVE = (+setup['keepalive'] || DEF_KEEPALIVE) * SECOND - , UUID = setup['uuid'] || db['get'](SUBSCRIBE_KEY+'uuid') || ''; - - setup['xdr'] = xdr; - setup['db'] = db; - setup['_is_online'] = _is_online; - setup['jsonp_cb'] = jsonp_cb; - var SELF = PN_API(setup); - - - SELF['css'] = css; - SELF['$'] = $; - SELF['create'] = create; - SELF['bind'] = bind; - SELF['head'] = head; - SELF['search'] = search; - SELF['attr'] = attr; - SELF['events'] = events; - SELF['init'] = CREATE_PUBNUB; - - // Return without Testing - if (setup['notest']) return SELF; - - // Add Leave Functions - bind( 'beforeunload', window, function() { - each_channel(function(ch){ SELF['LEAVE']( ch.name, 1 ) }); - return true; - } ); - - bind( 'offline', window, SELF['_reset_offline'] ); - bind( 'offline', document, SELF['_reset_offline'] ); - - // Return PUBNUB Socket Object - return SELF; -}; - - - -// Bind for PUBNUB Readiness to Subscribe -bind( 'load', window, function(){ timeout( ready, 0 ) } ); - -var pdiv = PDIV || {}; - -// CREATE A PUBNUB GLOBAL OBJECT -PUBNUB = CREATE_PUBNUB({ - 'notest' : 1, - 'publish_key' : attr( pdiv, 'pub-key' ), - 'subscribe_key' : attr( pdiv, 'sub-key' ), - 'ssl' : !document.location.href.indexOf('https') || - attr( pdiv, 'ssl' ) == 'on', - 'origin' : attr( pdiv, 'origin' ), - 'uuid' : attr( pdiv, 'uuid' ) -}); - -// jQuery Interface -window['jQuery'] && (window['jQuery']['PUBNUB'] = PUBNUB); - -// For Modern JS + Testling.js - http://testling.com/ -typeof(module) !== 'undefined' && (module['exports'] = PUBNUB) && ready(); - -var pubnubs = $('pubnubs') || 0; - -// LEAVE NOW IF NO PDIV. -if (!PDIV) return; - -// PUBNUB Flash Socket -css( PDIV, { 'position' : 'absolute', 'top' : -SECOND } ); - -if ('opera' in window || attr( PDIV, 'flash' )) PDIV['innerHTML'] = - ''; - -// Create Interface for Opera Flash -PUBNUB['rdx'] = function( id, data ) { - if (!data) return FDomainRequest[id]['onerror'](); - FDomainRequest[id]['responseText'] = unescape(data); - FDomainRequest[id]['onload'](); -}; - -function FDomainRequest() { - if (!pubnubs || !pubnubs['get']) return 0; - - var fdomainrequest = { - 'id' : FDomainRequest['id']++, - 'send' : function() {}, - 'abort' : function() { fdomainrequest['id'] = {} }, - 'open' : function( method, url ) { - FDomainRequest[fdomainrequest['id']] = fdomainrequest; - pubnubs['get']( fdomainrequest['id'], url ); - } - }; - - return fdomainrequest; -} -FDomainRequest['id'] = SECOND; - -})(); -(function(){ - -// --------------------------------------------------------------------------- -// WEBSOCKET INTERFACE -// --------------------------------------------------------------------------- -var WS = PUBNUB['ws'] = function( url, protocols ) { - if (!(this instanceof WS)) return new WS( url, protocols ); - - var self = this - , url = self.url = url || '' - , protocol = self.protocol = protocols || 'Sec-WebSocket-Protocol' - , bits = url.split('/') - , setup = { - 'ssl' : bits[0] === 'wss:' - ,'origin' : bits[2] - ,'publish_key' : bits[3] - ,'subscribe_key' : bits[4] - ,'channel' : bits[5] - }; - - // READY STATES - self['CONNECTING'] = 0; // The connection is not yet open. - self['OPEN'] = 1; // The connection is open and ready to communicate. - self['CLOSING'] = 2; // The connection is in the process of closing. - self['CLOSED'] = 3; // The connection is closed or couldn't be opened. - - // CLOSE STATES - self['CLOSE_NORMAL'] = 1000; // Normal Intended Close; completed. - self['CLOSE_GOING_AWAY'] = 1001; // Closed Unexpecttedly. - self['CLOSE_PROTOCOL_ERROR'] = 1002; // Server: Not Supported. - self['CLOSE_UNSUPPORTED'] = 1003; // Server: Unsupported Protocol. - self['CLOSE_TOO_LARGE'] = 1004; // Server: Too Much Data. - self['CLOSE_NO_STATUS'] = 1005; // Server: No reason. - self['CLOSE_ABNORMAL'] = 1006; // Abnormal Disconnect. - - // Events Default - self['onclose'] = self['onerror'] = - self['onmessage'] = self['onopen'] = - self['onsend'] = function(){}; - - // Attributes - self['binaryType'] = ''; - self['extensions'] = ''; - self['bufferedAmount'] = 0; - self['trasnmitting'] = false; - self['buffer'] = []; - self['readyState'] = self['CONNECTING']; - - // Close if no setup. - if (!url) { - self['readyState'] = self['CLOSED']; - self['onclose']({ - 'code' : self['CLOSE_ABNORMAL'], - 'reason' : 'Missing URL', - 'wasClean' : true - }); - return self; - } - - // PubNub WebSocket Emulation - self.pubnub = PUBNUB['init'](setup); - self.pubnub.setup = setup; - self.setup = setup; - - self.pubnub['subscribe']({ - 'restore' : false, - 'channel' : setup['channel'], - 'disconnect' : self['onerror'], - 'reconnect' : self['onopen'], - 'error' : function() { - self['onclose']({ - 'code' : self['CLOSE_ABNORMAL'], - 'reason' : 'Missing URL', - 'wasClean' : false - }); - }, - 'callback' : function(message) { - self['onmessage']({ 'data' : message }); - }, - 'connect' : function() { - self['readyState'] = self['OPEN']; - self['onopen'](); - } - }); -}; - -// --------------------------------------------------------------------------- -// WEBSOCKET SEND -// --------------------------------------------------------------------------- -WS.prototype.send = function(data) { - var self = this; - self.pubnub['publish']({ - 'channel' : self.pubnub.setup['channel'], - 'message' : data, - 'callback' : function(response) { - self['onsend']({ 'data' : response }); - } - }); -}; - -// --------------------------------------------------------------------------- -// WEBSOCKET CLOSE -// --------------------------------------------------------------------------- -WS.prototype.close = function() { - var self = this; - self.pubnub['unsubscribe']({ 'channel' : self.pubnub.setup['channel'] }); - self['readyState'] = self['CLOSED']; - self['onclose']({}); -}; - -})(); -(function(){ - -// --------------------------------------------------------------------------- -// WEBSOCKET INTERFACE -// --------------------------------------------------------------------------- -var WS = PUBNUB['ws'] = function( url, protocols ) { - if (!(this instanceof WS)) return new WS( url, protocols ); - - var self = this - , url = self.url = url || '' - , protocol = self.protocol = protocols || 'Sec-WebSocket-Protocol' - , bits = url.split('/') - , setup = { - 'ssl' : bits[0] === 'wss:' - ,'origin' : bits[2] - ,'publish_key' : bits[3] - ,'subscribe_key' : bits[4] - ,'channel' : bits[5] - }; - - // READY STATES - self['CONNECTING'] = 0; // The connection is not yet open. - self['OPEN'] = 1; // The connection is open and ready to communicate. - self['CLOSING'] = 2; // The connection is in the process of closing. - self['CLOSED'] = 3; // The connection is closed or couldn't be opened. - - // CLOSE STATES - self['CLOSE_NORMAL'] = 1000; // Normal Intended Close; completed. - self['CLOSE_GOING_AWAY'] = 1001; // Closed Unexpecttedly. - self['CLOSE_PROTOCOL_ERROR'] = 1002; // Server: Not Supported. - self['CLOSE_UNSUPPORTED'] = 1003; // Server: Unsupported Protocol. - self['CLOSE_TOO_LARGE'] = 1004; // Server: Too Much Data. - self['CLOSE_NO_STATUS'] = 1005; // Server: No reason. - self['CLOSE_ABNORMAL'] = 1006; // Abnormal Disconnect. - - // Events Default - self['onclose'] = self['onerror'] = - self['onmessage'] = self['onopen'] = - self['onsend'] = function(){}; - - // Attributes - self['binaryType'] = ''; - self['extensions'] = ''; - self['bufferedAmount'] = 0; - self['trasnmitting'] = false; - self['buffer'] = []; - self['readyState'] = self['CONNECTING']; - - // Close if no setup. - if (!url) { - self['readyState'] = self['CLOSED']; - self['onclose']({ - 'code' : self['CLOSE_ABNORMAL'], - 'reason' : 'Missing URL', - 'wasClean' : true - }); - return self; - } - - // PubNub WebSocket Emulation - self.pubnub = PUBNUB['init'](setup); - self.pubnub.setup = setup; - self.setup = setup; - - self.pubnub['subscribe']({ - 'restore' : false, - 'channel' : setup['channel'], - 'disconnect' : self['onerror'], - 'reconnect' : self['onopen'], - 'error' : function() { - self['onclose']({ - 'code' : self['CLOSE_ABNORMAL'], - 'reason' : 'Missing URL', - 'wasClean' : false - }); - }, - 'callback' : function(message) { - self['onmessage']({ 'data' : message }); - }, - 'connect' : function() { - self['readyState'] = self['OPEN']; - self['onopen'](); - } - }); -}; - -// --------------------------------------------------------------------------- -// WEBSOCKET SEND -// --------------------------------------------------------------------------- -WS.prototype.send = function(data) { - var self = this; - self.pubnub['publish']({ - 'channel' : self.pubnub.setup['channel'], - 'message' : data, - 'callback' : function(response) { - self['onsend']({ 'data' : response }); - } - }); -}; - -// --------------------------------------------------------------------------- -// WEBSOCKET CLOSE -// --------------------------------------------------------------------------- -WS.prototype.close = function() { - var self = this; - self.pubnub['unsubscribe']({ 'channel' : self.pubnub.setup['channel'] }); - self['readyState'] = self['CLOSED']; - self['onclose']({}); -}; - -})(); diff --git a/web/pubnub.min.js b/web/pubnub.min.js index c21c6bbb1..5a6b74dfc 100644 --- a/web/pubnub.min.js +++ b/web/pubnub.min.js @@ -1,377 +1,30 @@ -// 3.4.3 (function(){ -function r(b){throw b;}var t=!0,u=null,v=!1;function y(){return function(){}}function A(b){return function(){return b}} -window.JSON&&window.JSON.stringify||function(){function b(){try{return this.valueOf()}catch(a){return u}}function c(a){d.lastIndex=0;return d.test(a)?'"'+a.replace(d,function(a){var b=w[a];return"string"===typeof b?b:"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+a+'"'}function a(d,q){var h,g,i,m,j,n=e,f=q[d];f&&"object"===typeof f&&(f=b.call(f));"function"===typeof l&&(f=l.call(q,d,f));switch(typeof f){case "string":return c(f);case "number":return isFinite(f)?String(f):"null";case "boolean":case "null":return String(f); -case "object":if(!f)return"null";e+=k;j=[];if("[object Array]"===Object.prototype.toString.apply(f)){m=f.length;for(h=0;h++ea?ea:ea=1))||b}; -function fa(b,c){function a(){e+c>P()?(clearTimeout(d),d=setTimeout(a,c)):(e=P(),b())}var d,e=0;return a}function ga(b,c){var a=[];T(b||[],function(b){c(b)&&a.push(b)});return a}function la(b,c){return b.replace(da,function(a,b){return c[b]||a})}function U(b,c){return setTimeout(b,c)}function S(b){var c="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});b&&b(c);return c} -function T(b,c){if(b&&c)if("undefined"!=typeof b[0])for(var a=0,d=b.length;a"-_.!~*'()".indexOf(b)?b:"%"+b.charCodeAt(0).toString(16).toUpperCase()}).join("")}function Y(b){var c=[];T(b,function(a,b){b.h&&c.push(a)});return c.sort()} -function Z(){U(function(){H||(H=1,T(I,function(b){b()}))},M)} -function $(b){function c(){}function a(a){a&&(m.j=0);!m.j&&m.length&&(m.j=1,z(m.shift()))}function d(a){T(Y(x),function(b){(b=x[b])&&a(b)})}var e=+b.windowing||aa,k=(+b.timeout||ba)*M,w=(+b.keepalive||ca)*M,l=b.publish_key||"",p=b.subscribe_key||"",q=b.ssl?"s":"",h="http"+q+"://"+(b.origin||"pubsub.pubnub.com"),g=Q(h),i=Q(h),m=[],j=0,n=0,f=0,D=0,J=0,B=0,x={},z=b.xdr,N=b._is_online||A(1),C=b.jsonp_cb||A(0),F=b.db||{get:y(),set:y()},G=b.uuid||F&&F.get(p+"uuid")||"",s={_reset_offline:function(){f&&f(1)}, -LEAVE:function(a,b){var c={uuid:G},d=Q(h),e=C();0++La?La:La=1))||b}; -function fa(b,c){function a(){e+c>P()?(clearTimeout(d),d=setTimeout(a,c)):(e=P(),b())}var d,e=0;return a}function ga(b,c){var a=[];T(b||[],function(b){c(b)&&a.push(b)});return a}function la(b,c){return b.replace(da,function(a,b){return c[b]||a})}function U(b,c){return setTimeout(b,c)}function S(b){var c="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});b&&b(c);return c} -function T(b,c){if(b&&c)if("undefined"!=typeof b[0])for(var a=0,d=b.length;a"-_.!~*'()".indexOf(b)?b:"%"+b.charCodeAt(0).toString(16).toUpperCase()}).join("")}function Y(b){var c=[];T(b,function(a,b){b.h&&c.push(a)});return c.sort()} -function Z(){U(function(){H||(H=1,T(I,function(b){b()}))},M)} -function $(b){function c(){}function a(a){a&&(m.j=0);!m.j&&m.length&&(m.j=1,z(m.shift()))}function d(a){T(Y(x),function(b){(b=x[b])&&a(b)})}var e=+b.windowing||aa,k=(+b.timeout||ba)*M,w=(+b.keepalive||ca)*M,l=b.publish_key||"",p=b.subscribe_key||"",q=b.ssl?"s":"",h="http"+q+"://"+(b.origin||"pubsub.pubnub.com"),g=Q(h),i=Q(h),m=[],j=0,n=0,f=0,D=0,J=0,B=0,x={},z=b.xdr,N=b._is_online||A(1),C=b.jsonp_cb||A(0),F=b.db||{get:y(),set:y()},G=b.uuid||F&&F.get(p+"uuid")||"",s={_reset_offline:function(){f&&f(1)}, -LEAVE:function(a,b){var c={uuid:G},d=Q(h),e=C();0++Hb?Hb:Hb=1))||b}; -function fa(b,c){function a(){e+c>P()?(clearTimeout(d),d=setTimeout(a,c)):(e=P(),b())}var d,e=0;return a}function ga(b,c){var a=[];T(b||[],function(b){c(b)&&a.push(b)});return a}function la(b,c){return b.replace(da,function(a,b){return c[b]||a})}function U(b,c){return setTimeout(b,c)}function S(b){var c="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});b&&b(c);return c} -function T(b,c){if(b&&c)if("undefined"!=typeof b[0])for(var a=0,d=b.length;a"-_.!~*'()".indexOf(b)?b:"%"+b.charCodeAt(0).toString(16).toUpperCase()}).join("")}function Y(b){var c=[];T(b,function(a,b){b.h&&c.push(a)});return c.sort()} -function Z(){U(function(){H||(H=1,T(I,function(b){b()}))},M)} -function $(b){function c(){}function a(a){a&&(m.j=0);!m.j&&m.length&&(m.j=1,z(m.shift()))}function d(a){T(Y(x),function(b){(b=x[b])&&a(b)})}var e=+b.windowing||aa,k=(+b.timeout||ba)*M,w=(+b.keepalive||ca)*M,l=b.publish_key||"",p=b.subscribe_key||"",q=b.ssl?"s":"",h="http"+q+"://"+(b.origin||"pubsub.pubnub.com"),g=Q(h),i=Q(h),m=[],j=0,n=0,f=0,D=0,J=0,B=0,x={},z=b.xdr,N=b._is_online||A(1),C=b.jsonp_cb||A(0),F=b.db||{get:y(),set:y()},G=b.uuid||F&&F.get(p+"uuid")||"",s={_reset_offline:function(){f&&f(1)}, -LEAVE:function(a,b){var c={uuid:G},d=Q(h),e=C();0++fc?fc:fc=1))||b}; -function fa(b,c){function a(){e+c>P()?(clearTimeout(d),d=setTimeout(a,c)):(e=P(),b())}var d,e=0;return a}function ga(b,c){var a=[];T(b||[],function(b){c(b)&&a.push(b)});return a}function la(b,c){return b.replace(da,function(a,b){return c[b]||a})}function U(b,c){return setTimeout(b,c)}function S(b){var c="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});b&&b(c);return c} -function T(b,c){if(b&&c)if("undefined"!=typeof b[0])for(var a=0,d=b.length;a"-_.!~*'()".indexOf(b)?b:"%"+b.charCodeAt(0).toString(16).toUpperCase()}).join("")}function Y(b){var c=[];T(b,function(a,b){b.h&&c.push(a)});return c.sort()} -function Z(){U(function(){H||(H=1,T(I,function(b){b()}))},M)} -function $(b){function c(){}function a(a){a&&(m.j=0);!m.j&&m.length&&(m.j=1,z(m.shift()))}function d(a){T(Y(x),function(b){(b=x[b])&&a(b)})}var e=+b.windowing||aa,k=(+b.timeout||ba)*M,w=(+b.keepalive||ca)*M,l=b.publish_key||"",p=b.subscribe_key||"",q=b.ssl?"s":"",h="http"+q+"://"+(b.origin||"pubsub.pubnub.com"),g=Q(h),i=Q(h),m=[],j=0,n=0,f=0,D=0,J=0,B=0,x={},z=b.xdr,N=b._is_online||A(1),C=b.jsonp_cb||A(0),F=b.db||{get:y(),set:y()},G=b.uuid||F&&F.get(p+"uuid")||"",s={_reset_offline:function(){f&&f(1)}, -LEAVE:function(a,b){var c={uuid:G},d=Q(h),e=C();0++Fc?Fc:Fc=1))||b}; -function fa(b,c){function a(){e+c>P()?(clearTimeout(d),d=setTimeout(a,c)):(e=P(),b())}var d,e=0;return a}function ga(b,c){var a=[];T(b||[],function(b){c(b)&&a.push(b)});return a}function la(b,c){return b.replace(da,function(a,b){return c[b]||a})}function U(b,c){return setTimeout(b,c)}function S(b){var c="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});b&&b(c);return c} -function T(b,c){if(b&&c)if("undefined"!=typeof b[0])for(var a=0,d=b.length;a"-_.!~*'()".indexOf(b)?b:"%"+b.charCodeAt(0).toString(16).toUpperCase()}).join("")}function Y(b){var c=[];T(b,function(a,b){b.h&&c.push(a)});return c.sort()} -function Z(){U(function(){H||(H=1,T(I,function(b){b()}))},M)} -function $(b){function c(){}function a(a){a&&(m.j=0);!m.j&&m.length&&(m.j=1,z(m.shift()))}function d(a){T(Y(x),function(b){(b=x[b])&&a(b)})}var e=+b.windowing||aa,k=(+b.timeout||ba)*M,w=(+b.keepalive||ca)*M,l=b.publish_key||"",p=b.subscribe_key||"",q=b.ssl?"s":"",h="http"+q+"://"+(b.origin||"pubsub.pubnub.com"),g=Q(h),i=Q(h),m=[],j=0,n=0,f=0,D=0,J=0,B=0,x={},z=b.xdr,N=b._is_online||A(1),C=b.jsonp_cb||A(0),F=b.db||{get:y(),set:y()},G=b.uuid||F&&F.get(p+"uuid")||"",s={_reset_offline:function(){f&&f(1)}, -LEAVE:function(a,b){var c={uuid:G},d=Q(h),e=C();0++dd?dd:dd=1))||b}; -function fa(b,c){function a(){e+c>P()?(clearTimeout(d),d=setTimeout(a,c)):(e=P(),b())}var d,e=0;return a}function ga(b,c){var a=[];T(b||[],function(b){c(b)&&a.push(b)});return a}function la(b,c){return b.replace(da,function(a,b){return c[b]||a})}function U(b,c){return setTimeout(b,c)}function S(b){var c="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});b&&b(c);return c} -function T(b,c){if(b&&c)if("undefined"!=typeof b[0])for(var a=0,d=b.length;a"-_.!~*'()".indexOf(b)?b:"%"+b.charCodeAt(0).toString(16).toUpperCase()}).join("")}function Y(b){var c=[];T(b,function(a,b){b.h&&c.push(a)});return c.sort()} -function Z(){U(function(){H||(H=1,T(I,function(b){b()}))},M)} -function $(b){function c(){}function a(a){a&&(m.j=0);!m.j&&m.length&&(m.j=1,z(m.shift()))}function d(a){T(Y(x),function(b){(b=x[b])&&a(b)})}var e=+b.windowing||aa,k=(+b.timeout||ba)*M,w=(+b.keepalive||ca)*M,l=b.publish_key||"",p=b.subscribe_key||"",q=b.ssl?"s":"",h="http"+q+"://"+(b.origin||"pubsub.pubnub.com"),g=Q(h),i=Q(h),m=[],j=0,n=0,f=0,D=0,J=0,B=0,x={},z=b.xdr,N=b._is_online||A(1),C=b.jsonp_cb||A(0),F=b.db||{get:y(),set:y()},G=b.uuid||F&&F.get(p+"uuid")||"",s={_reset_offline:function(){f&&f(1)}, -LEAVE:function(a,b){var c={uuid:G},d=Q(h),e=C();0++Cd?Cd:Cd=1))||b}; -function fa(b,c){function a(){e+c>P()?(clearTimeout(d),d=setTimeout(a,c)):(e=P(),b())}var d,e=0;return a}function ga(b,c){var a=[];T(b||[],function(b){c(b)&&a.push(b)});return a}function la(b,c){return b.replace(da,function(a,b){return c[b]||a})}function U(b,c){return setTimeout(b,c)}function S(b){var c="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});b&&b(c);return c} -function T(b,c){if(b&&c)if("undefined"!=typeof b[0])for(var a=0,d=b.length;a"-_.!~*'()".indexOf(b)?b:"%"+b.charCodeAt(0).toString(16).toUpperCase()}).join("")}function Y(b){var c=[];T(b,function(a,b){b.h&&c.push(a)});return c.sort()} -function Z(){U(function(){H||(H=1,T(I,function(b){b()}))},M)} -function $(b){function c(){}function a(a){a&&(m.j=0);!m.j&&m.length&&(m.j=1,z(m.shift()))}function d(a){T(Y(x),function(b){(b=x[b])&&a(b)})}var e=+b.windowing||aa,k=(+b.timeout||ba)*M,w=(+b.keepalive||ca)*M,l=b.publish_key||"",p=b.subscribe_key||"",q=b.ssl?"s":"",h="http"+q+"://"+(b.origin||"pubsub.pubnub.com"),g=Q(h),i=Q(h),m=[],j=0,n=0,f=0,D=0,J=0,B=0,x={},z=b.xdr,N=b._is_online||A(1),C=b.jsonp_cb||A(0),F=b.db||{get:y(),set:y()},G=b.uuid||F&&F.get(p+"uuid")||"",s={_reset_offline:function(){f&&f(1)}, -LEAVE:function(a,b){var c={uuid:G},d=Q(h),e=C();0++ae?ae:ae=1))||b}; -function fa(b,c){function a(){e+c>P()?(clearTimeout(d),d=setTimeout(a,c)):(e=P(),b())}var d,e=0;return a}function ga(b,c){var a=[];T(b||[],function(b){c(b)&&a.push(b)});return a}function la(b,c){return b.replace(da,function(a,b){return c[b]||a})}function U(b,c){return setTimeout(b,c)}function S(b){var c="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});b&&b(c);return c} -function T(b,c){if(b&&c)if("undefined"!=typeof b[0])for(var a=0,d=b.length;a"-_.!~*'()".indexOf(b)?b:"%"+b.charCodeAt(0).toString(16).toUpperCase()}).join("")}function Y(b){var c=[];T(b,function(a,b){b.h&&c.push(a)});return c.sort()} -function Z(){U(function(){H||(H=1,T(I,function(b){b()}))},M)} -function $(b){function c(){}function a(a){a&&(m.j=0);!m.j&&m.length&&(m.j=1,z(m.shift()))}function d(a){T(Y(x),function(b){(b=x[b])&&a(b)})}var e=+b.windowing||aa,k=(+b.timeout||ba)*M,w=(+b.keepalive||ca)*M,l=b.publish_key||"",p=b.subscribe_key||"",q=b.ssl?"s":"",h="http"+q+"://"+(b.origin||"pubsub.pubnub.com"),g=Q(h),i=Q(h),m=[],j=0,n=0,f=0,D=0,J=0,B=0,x={},z=b.xdr,N=b._is_online||A(1),C=b.jsonp_cb||A(0),F=b.db||{get:y(),set:y()},G=b.uuid||F&&F.get(p+"uuid")||"",s={_reset_offline:function(){f&&f(1)}, -LEAVE:function(a,b){var c={uuid:G},d=Q(h),e=C();0++ze?ze:ze=1))||b}; -function fa(b,c){function a(){e+c>P()?(clearTimeout(d),d=setTimeout(a,c)):(e=P(),b())}var d,e=0;return a}function ga(b,c){var a=[];T(b||[],function(b){c(b)&&a.push(b)});return a}function la(b,c){return b.replace(da,function(a,b){return c[b]||a})}function U(b,c){return setTimeout(b,c)}function S(b){var c="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});b&&b(c);return c} -function T(b,c){if(b&&c)if("undefined"!=typeof b[0])for(var a=0,d=b.length;a"-_.!~*'()".indexOf(b)?b:"%"+b.charCodeAt(0).toString(16).toUpperCase()}).join("")}function Y(b){var c=[];T(b,function(a,b){b.h&&c.push(a)});return c.sort()} -function Z(){U(function(){H||(H=1,T(I,function(b){b()}))},M)} -function $(b){function c(){}function a(a){a&&(m.j=0);!m.j&&m.length&&(m.j=1,z(m.shift()))}function d(a){T(Y(x),function(b){(b=x[b])&&a(b)})}var e=+b.windowing||aa,k=(+b.timeout||ba)*M,w=(+b.keepalive||ca)*M,l=b.publish_key||"",p=b.subscribe_key||"",q=b.ssl?"s":"",h="http"+q+"://"+(b.origin||"pubsub.pubnub.com"),g=Q(h),i=Q(h),m=[],j=0,n=0,f=0,D=0,J=0,B=0,x={},z=b.xdr,N=b._is_online||A(1),C=b.jsonp_cb||A(0),F=b.db||{get:y(),set:y()},G=b.uuid||F&&F.get(p+"uuid")||"",s={_reset_offline:function(){f&&f(1)}, -LEAVE:function(a,b){var c={uuid:G},d=Q(h),e=C();0++Ye?Ye:Ye=1))||b}; -function fa(b,c){function a(){e+c>P()?(clearTimeout(d),d=setTimeout(a,c)):(e=P(),b())}var d,e=0;return a}function ga(b,c){var a=[];T(b||[],function(b){c(b)&&a.push(b)});return a}function la(b,c){return b.replace(da,function(a,b){return c[b]||a})}function U(b,c){return setTimeout(b,c)}function S(b){var c="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});b&&b(c);return c} -function T(b,c){if(b&&c)if("undefined"!=typeof b[0])for(var a=0,d=b.length;a"-_.!~*'()".indexOf(b)?b:"%"+b.charCodeAt(0).toString(16).toUpperCase()}).join("")}function Y(b){var c=[];T(b,function(a,b){b.h&&c.push(a)});return c.sort()} -function Z(){U(function(){H||(H=1,T(I,function(b){b()}))},M)} -function $(b){function c(){}function a(a){a&&(m.j=0);!m.j&&m.length&&(m.j=1,z(m.shift()))}function d(a){T(Y(x),function(b){(b=x[b])&&a(b)})}var e=+b.windowing||aa,k=(+b.timeout||ba)*M,w=(+b.keepalive||ca)*M,l=b.publish_key||"",p=b.subscribe_key||"",q=b.ssl?"s":"",h="http"+q+"://"+(b.origin||"pubsub.pubnub.com"),g=Q(h),i=Q(h),m=[],j=0,n=0,f=0,D=0,J=0,B=0,x={},z=b.xdr,N=b._is_online||A(1),C=b.jsonp_cb||A(0),F=b.db||{get:y(),set:y()},G=b.uuid||F&&F.get(p+"uuid")||"",s={_reset_offline:function(){f&&f(1)}, -LEAVE:function(a,b){var c={uuid:G},d=Q(h),e=C();0++I?I:I=1))||a}; +function fa(a,c){function b(){e+c>E()?(clearTimeout(d),d=setTimeout(b,c)):(e=E(),a())}var d,e=0;return b}function ga(a,c){var b=[];J(a||[],function(a){c(a)&&b.push(a)});return b}function ha(a,c){return a.replace(da,function(a,d){return c[d]||a})}function ea(a){var c="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var c=16*Math.random()|0;return("x"==a?c:c&3|8).toString(16)});a&&a(c);return c} +function J(a,c){if(a&&c)if("undefined"!=typeof a[0])for(var b=0,d=a.length;b"-_.!~*'()".indexOf(a)?a:"%"+a.charCodeAt(0).toString(16).toUpperCase()}).join("")}function ia(a){var c=[];J(a,function(a,d){d.g&&c.push(a)});return c.sort()} +function N(){setTimeout(function(){t||(t=1,J(ba,function(a){a()}))},A)} +if(!window.PUBNUB){var P=function(a){return document.getElementById(a)},ja=function(a,c){var b=[];J(a.split(/\s+/),function(a){J((c||document).getElementsByTagName(a),function(a){b.push(a)})});return b},Q=function(a,c,b){J(a.split(","),function(a){function e(a){a||(a=window.event);b(a)||(a.cancelBubble=!0,a.returnValue=p,a.preventDefault&&a.preventDefault(),a.stopPropagation&&a.stopPropagation())}c.addEventListener?c.addEventListener(a,e,p):c.attachEvent?c.attachEvent("on"+a,e):c["on"+a]=e})},ka= +function(){return ja("head")[0]},R=function(a,c,b){if(b)a.setAttribute(c,b);else return a&&a.getAttribute&&a.getAttribute(c)},ma=function(a,c){for(var b in c)if(c.hasOwnProperty(b))try{a.style[b]=c[b]+(0<"|width|height|top|left|".indexOf(b)&&"number"==typeof c[b]?"px":"")}catch(d){}},na=function(a){return document.createElement(a)},oa=function(){return S||V()?0:C()},ta=function(a){function c(a,b){r||(r=1,a||u(b),l.onerror=n,clearTimeout(T),setTimeout(function(){a&&U();var b=P(i),c=b&&b.parentNode; +c&&c.removeChild(b)},A))}if(S||V()){a:{var b,d,e=function(){if(!v){v=1;clearTimeout(O);try{d=JSON.parse(b.responseText)}catch(a){return h(1)}k(d)}},m=0,v=0,f=a.timeout||1E4,O=setTimeout(function(){h(1)},f),D=a.b||s(),k=a.c||s(),h=function(a){m||(m=1,clearTimeout(O),b&&(b.onerror=b.onload=n,b.abort&&b.abort(),b=n),a&&D())};try{b=V()||window.XDomainRequest&&new XDomainRequest||new XMLHttpRequest;b.onerror=b.onabort=function(){h(1)};b.onload=b.onloadend=e;b.timeout=f;var g=a.url.join(pa);if(a.data){var e= +[],q;console.log(a.data);g+="?";for(q in a.data)e.push(q+"="+a.data[q]);g+=e.join(sa)}b.open("GET",g,typeof("undefined"===a.h));b.send()}catch(j){h(0);S=0;a=ta(a);break a}a=h}return a}var l=na("script"),g=a.a,i=C(),r=0,T=setTimeout(function(){c(1)},a.timeout||1E4),U=a.b||s(),u=a.c||s();window[g]=function(a){c(0,a)};a.h||(l[ua]=ua);l.onerror=function(){c(1)};l.src=a.url.join(pa);if(a.data){g=[];l.src+="?";for(e in a.data)g.push(e+"="+a.data[e]);l.src+=g.join(sa)}R(l,"id",i);ka().appendChild(l);return c}, +va=function(){return!("onLine"in navigator)?1:navigator.onLine},V=function(){if(!wa||!wa.get)return 0;var a={id:V.id++,send:s(),abort:function(){a.id={}},open:function(c,b){V[a.id]=a;wa.get(a.id,b)}};return a},ua="async",pa="/",sa="&",S=-1==navigator.userAgent.indexOf("MSIE 6");window.console||(window.console=window.console||{});console.log||(console.log=console.error=(window.opera||{}).postError||s());var xa,W=window.localStorage;xa={get:function(a){try{return W?W.getItem(a):-1==document.cookie.indexOf(a)? +n:((document.cookie||"").match(RegExp(a+"=([^;]+)"))||[])[1]||n}catch(c){}},set:function(a,c){try{if(W)return W.setItem(a,c)&&0;document.cookie=a+"="+c+"; expires=Thu, 1 Aug 2030 20:00:00 UTC; path=/"}catch(b){}}};var X={list:{},unbind:function(a){X.list[a]=[]},bind:function(a,c){(X.list[a]=X.list[a]||[]).push(c)},fire:function(a,c){J(X.list[a]||[],function(a){a(c)})}},Y=P("pubnub")||0,ya=function(a){function c(){}function b(){y.time(function(a){a||u&&u(1);setTimeout(b,k)})}function d(){ca()||u&& +u(1);setTimeout(d,A)}function e(a){J(ia(x),function(b){(b=x[b])&&a(b)})}function m(a){a&&(r.i=0);!r.i&&r.length&&(r.i=1,z(r.shift()))}a.jsonp&&(S=0);var v=a.subscribe_key||"";a.uuid||xa.get(v+"uuid");a.xdr=ta;a.db=xa;a._is_online=va;a.jsonp_cb=oa;var f,O=+a.windowing||10,D=(+a.timeout||310)*A,k=(+a.keepalive||60)*A,h=a.publish_key||"",g=a.subscribe_key||"",q=a.ssl?"s":"",j="http"+q+"://"+(a.origin||"pubsub.pubnub.com"),l=F(j),i=F(j),r=[],T=0,U=0,u=0,$=0,la=0,K=0,x={},z=a.xdr,ca=a._is_online||function(){return 1}, +B=a.jsonp_cb||function(){return 0},G=a.db||{get:s(),set:s()},H=a.uuid||G&&G.get(g+"uuid")||"",y={LEAVE:function(a,b){var c={uuid:H},d=F(j),e=B();0 Date: Thu, 4 Apr 2013 11:10:41 -0700 Subject: [PATCH 29/66] fixed web/modern and platform reference in make file. --- modern/Makefile | 17 +- modern/pubnub.js | 9332 ++---------------------------------------- modern/pubnub.min.js | 201 +- socket.io/Makefile | 1 - web/Makefile | 3 +- 5 files changed, 268 insertions(+), 9286 deletions(-) diff --git a/modern/Makefile b/modern/Makefile index 96d1faddb..3b28e88f5 100644 --- a/modern/Makefile +++ b/modern/Makefile @@ -1,5 +1,4 @@ include ../Makefile.inc -WEBSOCKET_JS=$(CORE_DIR)/websocket.js OUTPUT_FILES=$(PUBNUB_MIN_JS) $(PUBNUB_CRYPTO_MIN_JS) .PHONY : all @@ -8,20 +7,22 @@ all: build .PHONY : build build: $(PUBNUB_MIN_JS) $(PUBNUB_CRYPTO_MIN_JS) -$(PUBNUB_MIN_JS) : $(JSON_JS) $(PUBNUB_COMMON_JS) $(PUBNUB_MODERN_JS) - cat $(PUBNUB_COMMON_JS) $(PUBNUB_PLATFORM_JS) >> $(PUBNUB_JS) - $(ECHO) -n "// " > $(PUBNUB_MIN_JS) - $(ECHO) $(VERSION) >> $(PUBNUB_MIN_JS) - $(ECHO) "(function(){" >> $(PUBNUB_MIN_JS) +$(PUBNUB_MIN_JS) : $(PUBNUB_COMMON_JS) $(WEBSOCKET_JS) $(PUBNUB_PLATFORM_JS) + ## Full Version + $(ECHO) -n "// Version: $(VERSION)\n" > $(PUBNUB_JS) + cat $(JSON_JS) $(PUBNUB_COMMON_JS) $(PUBNUB_PLATFORM_JS) $(WEBSOCKET_JS) >> $(PUBNUB_JS) + ## Minfied Version + $(ECHO) -n "// Version: $(VERSION)\n" > $(PUBNUB_MIN_JS) + $(ECHO) "(function(){" > $(PUBNUB_MIN_JS) cat $(PUBNUB_JS) | java -jar $(GOOGLE_MINIFY) --compilation_level=ADVANCED_OPTIMIZATIONS >> $(PUBNUB_MIN_JS) $(ECHO) "})();" >> $(PUBNUB_MIN_JS) $(PUBNUB_CRYPTO_MIN_JS) : $(GIBBERISH_JS) $(ENCRYPTO_JS) - $(ECHO) "(function(){" >> $(PUBNUB_CRYPTO_MIN_JS) + ## Cryptography + $(ECHO) "(function(){" > $(PUBNUB_CRYPTO_MIN_JS) cat $(GIBBERISH_JS) $(ENCRYPT_JS) | java -jar $(GOOGLE_MINIFY) >> $(PUBNUB_CRYPTO_MIN_JS) $(ECHO) "})();" >> $(PUBNUB_CRYPTO_MIN_JS) - .PHONY : clean clean: rm -f $(OUTPUT_FILES) diff --git a/modern/pubnub.js b/modern/pubnub.js index 4c5030b27..e89d5707b 100644 --- a/modern/pubnub.js +++ b/modern/pubnub.js @@ -1,9126 +1,153 @@ -var NOW = 1 -, READY = false -, READY_BUFFER = [] -, PRESENCE_SUFFIX = '-pnpres' -, DEF_WINDOWING = 10 // MILLISECONDS. -, DEF_TIMEOUT = 10000 // MILLISECONDS. -, DEF_SUB_TIMEOUT = 310 // SECONDS. -, DEF_KEEPALIVE = 60 // SECONDS. -, SECOND = 1000 // A THOUSAND MILLISECONDS. -, REPL = /{([\w\-]+)}/g; - -/** - * UTILITIES - */ -function unique() { return'x'+ ++NOW+''+(+new Date) } -function rnow() { return+new Date } - -/** - * NEXTORIGIN - * ========== - * var next_origin = nextorigin(); - */ -var nextorigin = (function() { - var max = 20 - , ori = Math.floor(Math.random() * max); - return function( origin, failover ) { - return origin.indexOf('pubsub.') > 0 - && origin.replace( - 'pubsub', 'ps' + ( - failover ? uuid().split('-')[0] : - (++ori < max? ori : ori=1) - ) ) || origin; - } -})(); - -/** - * UPDATER - * ======= - * var timestamp = unique(); - */ -function updater( fun, rate ) { - var timeout - , last = 0 - , runnit = function() { - if (last + rate > rnow()) { - clearTimeout(timeout); - timeout = setTimeout( runnit, rate ); - } - else { - last = rnow(); - fun(); - } - }; - - return runnit; -} - -/** - * GREP - * ==== - * var list = grep( [1,2,3], function(item) { return item % 2 } ) - */ -function grep( list, fun ) { - var fin = []; - each( list || [], function(l) { fun(l) && fin.push(l) } ); - return fin -} - -/** - * SUPPLANT - * ======== - * var text = supplant( 'Hello {name}!', { name : 'John' } ) - */ -function supplant( str, values ) { - return str.replace( REPL, function( _, match ) { - return values[match] || _ - } ); -} - -/** - * timeout - * ======= - * timeout( function(){}, 100 ); - */ -function timeout( fun, wait ) { - return setTimeout( fun, wait ); -} - -/** - * uuid - * ==== - * var my_uuid = uuid(); - */ -function uuid(callback) { - var u = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, - function(c) { - var r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8); - return v.toString(16); - }); - if (callback) callback(u); - return u; -} - -/** - * EACH - * ==== - * each( [1,2,3], function(item) { } ) - */ -function each( o, f ) { - if ( !o || !f ) return; - - if ( typeof o[0] != 'undefined' ) - for ( var i = 0, l = o.length; i < l; ) - f.call( o[i], o[i], i++ ); - else - for ( var i in o ) - o.hasOwnProperty && - o.hasOwnProperty(i) && - f.call( o[i], i, o[i] ); -} - -/** - * MAP - * === - * var list = map( [1,2,3], function(item) { return item + 1 } ) - */ -function map( list, fun ) { - var fin = []; - each( list || [], function( k, v ) { fin.push(fun( k, v )) } ); - return fin; -} - -/** - * ENCODE - * ====== - * var encoded_path = encode('path'); - */ -function encode(path) { - return map( (encodeURIComponent(path)).split(''), function(chr) { - return "-_.!~*'()".indexOf(chr) < 0 ? chr : - "%"+chr.charCodeAt(0).toString(16).toUpperCase() - } ).join(''); -} - -/** - * Generate Subscription Channel List - * ================================== - * generate_channel_list(channels_object); - */ -function generate_channel_list(channels) { - var list = []; - each( channels, function( channel, status ) { - if (status.subscribed) list.push(channel); - } ); - return list.sort(); -} - -// PUBNUB READY TO CONNECT - function ready() { timeout( function() { - if (READY) return; - READY = 1; - each( READY_BUFFER, function(connect) { connect() } ); - }, SECOND ); } - -function PN_API(setup) { - var SUB_WINDOWING = +setup['windowing'] || DEF_WINDOWING - , SUB_TIMEOUT = (+setup['timeout'] || DEF_SUB_TIMEOUT) * SECOND - , KEEPALIVE = (+setup['keepalive'] || DEF_KEEPALIVE) * SECOND - , PUBLISH_KEY = setup['publish_key'] || '' - , SUBSCRIBE_KEY = setup['subscribe_key'] || '' - , SSL = setup['ssl'] ? 's' : '' - , ORIGIN = 'http'+SSL+'://'+(setup['origin']||'pubsub.pubnub.com') - , STD_ORIGIN = nextorigin(ORIGIN) - , SUB_ORIGIN = nextorigin(ORIGIN) - , CONNECT = function(){} - , PUB_QUEUE = [] - , SUB_CALLBACK = 0 - , SUB_CHANNEL = 0 - , SUB_RECEIVER = 0 - , SUB_RESTORE = 0 - , SUB_BUFF_WAIT = 0 - , TIMETOKEN = 0 - , CHANNELS = {} - , xdr = setup['xdr'] - , _is_online = setup['_is_online'] || function() { return 1; } - , jsonp_cb = setup['jsonp_cb'] || function(){ return 0; } - , db = setup['db'] || {'get': function(){}, 'set': function(){}} - , UUID = setup['uuid'] || ( db && db['get'](SUBSCRIBE_KEY+'uuid') || ''); - - - - function publish(next) { - if (next) PUB_QUEUE.sending = 0; - if (PUB_QUEUE.sending || !PUB_QUEUE.length) return; - PUB_QUEUE.sending = 1; - xdr(PUB_QUEUE.shift()); - } - - function each_channel(callback) { - each( generate_channel_list(CHANNELS), function(channel) { - var chan = CHANNELS[channel]; - if (!chan) return; - callback(chan); - } ); - } - - // Announce Leave Event - - - var SELF = { - - '_reset_offline' : function() { - SUB_RECEIVER && SUB_RECEIVER(1); - }, - - 'LEAVE' : function( channel, blocking ) { - var data = { 'uuid' : UUID } - , origin = nextorigin(ORIGIN) - , jsonp = jsonp_cb(); - - // Prevent Leaving a Presence Channel - if (channel.indexOf(PRESENCE_SUFFIX) > 0) return; - - if (jsonp != '0') data['callback'] = jsonp; - - xdr({ - blocking : blocking || SSL, - timeout : 2000, - callback : jsonp, - data : data, - url : [ - origin, 'v2', 'presence', 'sub_key', - SUBSCRIBE_KEY, 'channel', encode(channel), 'leave' - ] - }); - }, - /* - PUBNUB.history({ - channel : 'my_chat_channel', - limit : 100, - callback : function(history) { } - }); - */ - 'history' : function( args, callback ) { - var callback = args['callback'] || callback - , count = args['count'] || args['limit'] || 100 - , reverse = args['reverse'] || "false" - , err = args['error'] || function(){} - , channel = args['channel'] - , start = args['start'] - , end = args['end'] - , params = {} - , jsonp = jsonp_cb(); - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - params['stringtoken'] = 'true'; - params['count'] = count; - params['reverse'] = reverse; - - if (jsonp) params['callback'] = jsonp; - if (start) params['start'] = start; - if (end) params['end'] = end; - - // Send Message - xdr({ - callback : jsonp, - data : params, - success : function(response) { callback(response) }, - fail : err, - url : [ - STD_ORIGIN, 'v2', 'history', 'sub-key', - SUBSCRIBE_KEY, 'channel', encode(channel) - ] - }); - }, - - /* - PUBNUB.replay({ - source : 'my_channel', - destination : 'new_channel' - }); - */ - 'replay' : function(args) { - var callback = callback || args['callback'] || function(){} - , source = args['source'] - , destination = args['destination'] - , stop = args['stop'] - , start = args['start'] - , end = args['end'] - , reverse = args['reverse'] - , limit = args['limit'] - , jsonp = jsonp_cb() - , data = {} - , url; - - // Check User Input - if (!source) return error('Missing Source Channel'); - if (!destination) return error('Missing Destination Channel'); - if (!PUBLISH_KEY) return error('Missing Publish Key'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // Setup URL Params - if (jsonp != '0') data['callback'] = jsonp; - if (stop) data['stop'] = 'all'; - if (reverse) data['reverse'] = 'true'; - if (start) data['start'] = start; - if (end) data['end'] = end; - if (limit) data['count'] = limit; - - // Compose URL Parts - url = [ - STD_ORIGIN, 'v1', 'replay', - PUBLISH_KEY, SUBSCRIBE_KEY, - source, destination - ]; - - // Start (or Stop) Replay! - xdr({ - callback : jsonp, - success : function(response) { callback(response) }, - fail : function() { callback([ 0, 'Disconnected' ]) }, - url : url, - data : data - }); - }, - - /* - PUBNUB.time(function(time){ }); - */ - 'time' : function(callback) { - var jsonp = jsonp_cb(); - xdr({ - callback : jsonp, - timeout : SECOND*5, - url : [STD_ORIGIN, 'time', jsonp], - success : function(response) { callback(response[0]) }, - fail : function() { callback(0) } - }); - }, - - /* - PUBNUB.publish({ - channel : 'my_chat_channel', - message : 'hello!' - }); - */ - 'publish' : function( args, callback ) { - var callback = callback || args['callback'] || function(){} - , msg = args['message'] - , channel = args['channel'] - , jsonp = jsonp_cb() - , url; - - if (!msg) return error('Missing Message'); - if (!channel) return error('Missing Channel'); - if (!PUBLISH_KEY) return error('Missing Publish Key'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // If trying to send Object - msg = JSON['stringify'](msg); - - // Create URL - url = [ - STD_ORIGIN, 'publish', - PUBLISH_KEY, SUBSCRIBE_KEY, - 0, encode(channel), - jsonp, encode(msg) - ]; - - // Queue Message Send - PUB_QUEUE.push({ - callback : jsonp, - timeout : SECOND*5, - url : url, - data : { 'uuid' : UUID }, - success : function(response){callback(response);publish(1)}, - fail : function(){callback([0,'Failed',msg]);publish(1)} - }); - - // Send Message - publish(); - }, - - /* - PUBNUB.unsubscribe({ channel : 'my_chat' }); - */ - 'unsubscribe' : function(args) { - var channel = args['channel']; - - TIMETOKEN = 0; - SUB_RESTORE = 1; - - // Prepare Channel(s) - channel = map( ( - channel.join ? channel.join(',') : ''+channel - ).split(','), function(channel) { - return channel + ',' + channel + PRESENCE_SUFFIX; - } ).join(','); - - // Iterate over Channels - each( channel.split(','), function(channel) { - if (READY) SELF['LEAVE']( channel, 0 ); - CHANNELS[channel] = 0; - } ); - - // ReOpen Connection if Any Channels Left - if (READY) CONNECT(); - }, - - /* - PUBNUB.subscribe({ - channel : 'my_chat' - callback : function(message) { } - }); - */ - 'subscribe' : function( args, callback ) { - var channel = args['channel'] - , callback = callback || args['callback'] - , callback = callback || args['message'] - , connect = args['connect'] || function(){} - , reconnect = args['reconnect'] || function(){} - , disconnect = args['disconnect'] || function(){} - , presence = args['presence'] || 0 - , noheresync = args['noheresync'] || 0 - , sub_timeout = args['timeout'] || SUB_TIMEOUT - , windowing = args['windowing'] || SUB_WINDOWING - , restore = args['restore']; - - // Restore Enabled? - if (restore) SUB_RESTORE = 1; - - TIMETOKEN = 0; - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // Setup Channel(s) - each( (channel.join ? channel.join(',') : ''+channel).split(','), - function(channel) { - var settings = CHANNELS[channel] || {}; - - // Store Channel State - CHANNELS[SUB_CHANNEL = channel] = { - name : channel, - connected : settings.connected, - disconnected : settings.disconnected, - subscribed : 1, - callback : SUB_CALLBACK = callback, - connect : connect, - disconnect : disconnect, - reconnect : reconnect - }; - - // Presence Enabled? - if (!presence) return; - - // Subscribe Presence Channel - SELF['subscribe']({ - 'channel' : channel + PRESENCE_SUFFIX, - 'callback' : presence - }); - - // Presence Subscribed? - if (settings.subscribed) return; - - // See Who's Here Now? - if (noheresync) return; - SELF['here_now']({ - 'channel' : channel, - 'callback' : function(here) { - each( 'uuids' in here ? here['uuids'] : [], - function(uid) { presence( { - 'action' : 'join', - 'uuid' : uid, - 'timestamp' : rnow(), - 'occupancy' : here['occupancy'] || 1 - }, here, channel ); } ); - } - }); - } ); - - // Test Network Connection - function _test_connection(success) { - if (success) { - // Begin Next Socket Connection - timeout( _connect, SECOND ); - } - else { - // New Origin on Failed Connection - STD_ORIGIN = nextorigin( ORIGIN, 1 ); - SUB_ORIGIN = nextorigin( ORIGIN, 1 ); - - // Re-test Connection - timeout( function() { - SELF['time'](_test_connection); - }, SECOND ); - } - - // Disconnect & Reconnect - each_channel(function(channel){ - // Reconnect - if (success && channel.disconnected) { - channel.disconnected = 0; - return channel.reconnect(channel.name); - } - - // Disconnect - if (!success && !channel.disconnected) { - channel.disconnected = 1; - channel.disconnect(channel.name); - } - }); - } - - // Evented Subscribe - function _connect() { - var jsonp = jsonp_cb() - , channels = generate_channel_list(CHANNELS).join(','); - - // Stop Connection - if (!channels) return; - - // Connect to PubNub Subscribe Servers - SUB_RECEIVER = xdr({ - timeout : sub_timeout, - callback : jsonp, - fail : function() { SELF['time'](_test_connection) }, - data : { 'uuid' : UUID }, - url : [ - SUB_ORIGIN, 'subscribe', - SUBSCRIBE_KEY, encode(channels), - jsonp, TIMETOKEN - ], - success : function(messages) { - if (!messages) return timeout( _connect, windowing ); - - // Connect - each_channel(function(channel){ - if (channel.connected) return; - channel.connected = 1; - channel.connect(channel.name); - }); - - // Restore Previous Connection Point if Needed - TIMETOKEN = !TIMETOKEN && - SUB_RESTORE && - db['get'](SUBSCRIBE_KEY) || messages[1]; - - // Update Saved Timetoken - if (TIMETOKEN) db['set']( SUBSCRIBE_KEY, messages[1] ); - - // Route Channel <---> Callback for Message - var next_callback = (function() { - var channels = (messages.length>2?messages[2]:'') - , list = channels.split(','); - - return function() { - var channel = list.shift()||''; - return [ - (CHANNELS[channel]||{}) - .callback||SUB_CALLBACK, - (channel||SUB_CHANNEL) - .split(PRESENCE_SUFFIX)[0] - ]; - }; - })(); - - each( messages[0], function(msg) { - var next = next_callback(); - if (!CHANNELS[next[1]].subscribed) return; - next[0]( msg, messages, next[1] ); - } ); - - timeout( _connect, windowing ); - } - }); - } - - CONNECT = function() { - // Close Previous Subscribe Connection - SELF['_reset_offline'](); - - // Begin Recursive Subscribe - clearTimeout(SUB_BUFF_WAIT); - SUB_BUFF_WAIT = timeout( _connect, 100 ); - }; - - // Reduce Status Flicker - if (!READY) return READY_BUFFER.push(CONNECT); - - // Connect Now - CONNECT(); - }, - - 'here_now' : function( args, callback ) { - var callback = args['callback'] || callback - , err = args['error'] || function(){} - , channel = args['channel'] - , jsonp = jsonp_cb() - , data = null; - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - if (jsonp != '0') { - data = {}; - data['callback'] = jsonp; - } - - xdr({ - callback : jsonp, - data : data, - success : function(response) { callback(response) }, - fail : err, - url : [ - STD_ORIGIN, 'v2', 'presence', - 'sub_key', SUBSCRIBE_KEY, - 'channel', encode(channel) - ] - }); - }, - - // Expose PUBNUB Functions - 'xdr' : xdr, - 'ready' : ready, - 'db' : db, - 'uuid' : uuid, - 'each' : each, - 'map' : map, - 'grep' : grep, - 'supplant' : supplant, - 'now' : rnow, - 'unique' : unique, - 'updater' : updater, - 'poll_online' : function() { - _is_online() || SELF['_reset_offline'](); - timeout( SELF['poll_online'], SECOND ); - }, - 'poll_online2' : function() { - SELF['time'](function(success){ - success || SELF['_reset_offline'](); - timeout( SELF['poll_online2'], KEEPALIVE ); - }) - } - }; - if (!UUID) UUID = SELF['uuid'](); - db['set']( SUBSCRIBE_KEY + 'uuid', UUID ); - - timeout( SELF['poll_online'], SECOND ); - timeout( SELF['poll_online2'], KEEPALIVE ); - - return SELF; -} -/* --------------------------------------------------------------------------- ---------------------------------------------------------------------------- */ - -/* --------------------------------------------------------------------------- -PubNub Real-time Cloud-Hosted Push API and Push Notification Client Frameworks -Copyright (c) 2011 PubNub Inc. -http://www.pubnub.com/ -http://www.pubnub.com/terms ---------------------------------------------------------------------------- */ - -/* --------------------------------------------------------------------------- -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. ---------------------------------------------------------------------------- */ -(function(){ - -/** - * UTIL LOCALS - */ -var NOW = 1 -, URLBIT = '/' -, PARAMSBIT = '&' -, XHRTME = 310000; - -/** - * UTILITIES - */ -//function unique() { return'x'+ ++NOW+''+(+new Date) } -//function rnow() { return+new Date } - -/** - * LOCAL STORAGE - */ -var db = (function(){ - var ls = typeof localStorage != 'undefined' && localStorage; - return { - get : function(key) { - try { - if (ls) return ls.getItem(key); - if (document.cookie.indexOf(key) == -1) return null; - return ((document.cookie||'').match( - RegExp(key+'=([^;]+)') - )||[])[1] || null; - } catch(e) { return } - }, - set : function( key, value ) { - try { - if (ls) return ls.setItem( key, value ) && 0; - document.cookie = key + '=' + value + - '; expires=Thu, 1 Aug 2030 20:00:00 UTC; path=/'; - } catch(e) { return } - } - }; -})(); - - -/** - * CORS XHR Request - * ================ - * xdr({ - * url : ['http://www.blah.com/url'], - * success : function(response) {}, - * fail : function() {} - * }); - */ -function xdr( setup ) { - var xhr - , finished = function() { - if (loaded) return; - loaded = 1; - - clearTimeout(timer); - - try { response = JSON['parse'](xhr.responseText); } - catch (r) { return done(1); } - - success(response); - } - , complete = 0 - , loaded = 0 - , timer = timeout( function(){done(1)}, XHRTME ) - , fail = setup.fail || function(){} - , success = setup.success || function(){} - , done = function(failed) { - if (complete) return; - complete = 1; - - clearTimeout(timer); - - if (xhr) { - xhr.onerror = xhr.onload = null; - xhr.abort && xhr.abort(); - xhr = null; - } - - failed && fail(); - }; - - // Send - try { - xhr = typeof XDomainRequest !== 'undefined' && - new XDomainRequest() || - new XMLHttpRequest(); - - xhr.onerror = xhr.onabort = function(){ done(1) }; - xhr.onload = xhr.onloadend = finished; - xhr.timeout = XHRTME; - url = setup.url.join(URLBIT); - if (setup.data) { - var params = []; - url += "?"; - for (key in setup.data) { - params.push(key+"="+setup.data[key]); - } - url += params.join(PARAMSBIT); - } - xhr.open( 'GET', url, true ); - xhr.send(); - } - catch(eee) { - done(0); - return xdr(setup); - } - - // Return 'done' - return done; -} - -/** - * BIND - * ==== - * bind( 'keydown', search('a')[0], function(element) { - * ... - * } ); - */ -function bind( type, el, fun ) { - each( type.split(','), function(etype) { - var rapfun = function(e) { - if (!e) e = window.event; - if (!fun(e)) { - e.cancelBubble = true; - e.returnValue = false; - e.preventDefault && e.preventDefault(); - e.stopPropagation && e.stopPropagation(); - } - }; - - if ( el.addEventListener ) el.addEventListener( etype, rapfun, false ); - else if ( el.attachEvent ) el.attachEvent( 'on' + etype, rapfun ); - else el[ 'on' + etype ] = rapfun; - } ); -} - -/** - * UNBIND - * ====== - * unbind( 'keydown', search('a')[0] ); - */ -function unbind( type, el, fun ) { - if ( el.removeEventListener ) el.removeEventListener( type, false ); - else if ( el.detachEvent ) el.detachEvent( 'on' + type, false ); - else el[ 'on' + type ] = null; -} - -/** - * LOG - * === - * var list = grep( [1,2,3], function(item) { return item % 2 } ) - */ -var log = function(){}; - -/** - * EVENTS - * ====== - * PUBNUB.events.bind( 'you-stepped-on-flower', function(message) { - * // Do Stuff with message - * } ); - * - * PUBNUB.events.fire( 'you-stepped-on-flower', "message-data" ); - * PUBNUB.events.fire( 'you-stepped-on-flower', {message:"data"} ); - * PUBNUB.events.fire( 'you-stepped-on-flower', [1,2,3] ); - * - */ -var events = { - 'list' : {}, - 'unbind' : function( name ) { events.list[name] = [] }, - 'bind' : function( name, fun ) { - (events.list[name] = events.list[name] || []).push(fun); - }, - 'fire' : function( name, data ) { - each( - events.list[name] || [], - function(fun) { fun(data) } - ); - } -}; - -/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= PUBNUB ===========================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -function PN(setup) { - - - setup['db'] = db; - setup['xdr'] = xdr; - var SELF = PN_API(setup); - - SELF['init'] = PN; - - - // Return without Testing - if (setup['notest']) return SELF; - - // Add Leave Functions - bind( 'beforeunload', window, function() { - each_channel(function(ch){ SELF['LEAVE']( ch.name, 1 ) }); - return true; - } ); - - bind( 'offline', window, SELF['_reset_offline'] ); - bind( 'offline', document, SELF['_reset_offline'] ); - - SELF['ready'](); - return SELF; -} - -typeof module !== 'undefined' && (module.exports = PN) || -typeof exports !== 'undefined' && (exports.PN = PN) || (PUBNUB = PN); - -})(); -var NOW = 1 -, READY = false -, READY_BUFFER = [] -, PRESENCE_SUFFIX = '-pnpres' -, DEF_WINDOWING = 10 // MILLISECONDS. -, DEF_TIMEOUT = 10000 // MILLISECONDS. -, DEF_SUB_TIMEOUT = 310 // SECONDS. -, DEF_KEEPALIVE = 60 // SECONDS. -, SECOND = 1000 // A THOUSAND MILLISECONDS. -, REPL = /{([\w\-]+)}/g; - -/** - * UTILITIES - */ -function unique() { return'x'+ ++NOW+''+(+new Date) } -function rnow() { return+new Date } - -/** - * NEXTORIGIN - * ========== - * var next_origin = nextorigin(); - */ -var nextorigin = (function() { - var max = 20 - , ori = Math.floor(Math.random() * max); - return function( origin, failover ) { - return origin.indexOf('pubsub.') > 0 - && origin.replace( - 'pubsub', 'ps' + ( - failover ? uuid().split('-')[0] : - (++ori < max? ori : ori=1) - ) ) || origin; - } -})(); - -/** - * UPDATER - * ======= - * var timestamp = unique(); - */ -function updater( fun, rate ) { - var timeout - , last = 0 - , runnit = function() { - if (last + rate > rnow()) { - clearTimeout(timeout); - timeout = setTimeout( runnit, rate ); - } - else { - last = rnow(); - fun(); - } - }; - - return runnit; -} - -/** - * GREP - * ==== - * var list = grep( [1,2,3], function(item) { return item % 2 } ) - */ -function grep( list, fun ) { - var fin = []; - each( list || [], function(l) { fun(l) && fin.push(l) } ); - return fin -} - -/** - * SUPPLANT - * ======== - * var text = supplant( 'Hello {name}!', { name : 'John' } ) - */ -function supplant( str, values ) { - return str.replace( REPL, function( _, match ) { - return values[match] || _ - } ); -} - -/** - * timeout - * ======= - * timeout( function(){}, 100 ); - */ -function timeout( fun, wait ) { - return setTimeout( fun, wait ); -} - -/** - * uuid - * ==== - * var my_uuid = uuid(); - */ -function uuid(callback) { - var u = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, - function(c) { - var r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8); - return v.toString(16); - }); - if (callback) callback(u); - return u; -} - -/** - * EACH - * ==== - * each( [1,2,3], function(item) { } ) - */ -function each( o, f ) { - if ( !o || !f ) return; - - if ( typeof o[0] != 'undefined' ) - for ( var i = 0, l = o.length; i < l; ) - f.call( o[i], o[i], i++ ); - else - for ( var i in o ) - o.hasOwnProperty && - o.hasOwnProperty(i) && - f.call( o[i], i, o[i] ); -} - -/** - * MAP - * === - * var list = map( [1,2,3], function(item) { return item + 1 } ) - */ -function map( list, fun ) { - var fin = []; - each( list || [], function( k, v ) { fin.push(fun( k, v )) } ); - return fin; -} - -/** - * ENCODE - * ====== - * var encoded_path = encode('path'); - */ -function encode(path) { - return map( (encodeURIComponent(path)).split(''), function(chr) { - return "-_.!~*'()".indexOf(chr) < 0 ? chr : - "%"+chr.charCodeAt(0).toString(16).toUpperCase() - } ).join(''); -} - -/** - * Generate Subscription Channel List - * ================================== - * generate_channel_list(channels_object); - */ -function generate_channel_list(channels) { - var list = []; - each( channels, function( channel, status ) { - if (status.subscribed) list.push(channel); - } ); - return list.sort(); -} - -// PUBNUB READY TO CONNECT - function ready() { timeout( function() { - if (READY) return; - READY = 1; - each( READY_BUFFER, function(connect) { connect() } ); - }, SECOND ); } - -function PN_API(setup) { - var SUB_WINDOWING = +setup['windowing'] || DEF_WINDOWING - , SUB_TIMEOUT = (+setup['timeout'] || DEF_SUB_TIMEOUT) * SECOND - , KEEPALIVE = (+setup['keepalive'] || DEF_KEEPALIVE) * SECOND - , PUBLISH_KEY = setup['publish_key'] || '' - , SUBSCRIBE_KEY = setup['subscribe_key'] || '' - , SSL = setup['ssl'] ? 's' : '' - , ORIGIN = 'http'+SSL+'://'+(setup['origin']||'pubsub.pubnub.com') - , STD_ORIGIN = nextorigin(ORIGIN) - , SUB_ORIGIN = nextorigin(ORIGIN) - , CONNECT = function(){} - , PUB_QUEUE = [] - , SUB_CALLBACK = 0 - , SUB_CHANNEL = 0 - , SUB_RECEIVER = 0 - , SUB_RESTORE = 0 - , SUB_BUFF_WAIT = 0 - , TIMETOKEN = 0 - , CHANNELS = {} - , xdr = setup['xdr'] - , _is_online = setup['_is_online'] || function() { return 1; } - , jsonp_cb = setup['jsonp_cb'] || function(){ return 0; } - , db = setup['db'] || {'get': function(){}, 'set': function(){}} - , UUID = setup['uuid'] || ( db && db['get'](SUBSCRIBE_KEY+'uuid') || ''); - - - - function publish(next) { - if (next) PUB_QUEUE.sending = 0; - if (PUB_QUEUE.sending || !PUB_QUEUE.length) return; - PUB_QUEUE.sending = 1; - xdr(PUB_QUEUE.shift()); - } - - function each_channel(callback) { - each( generate_channel_list(CHANNELS), function(channel) { - var chan = CHANNELS[channel]; - if (!chan) return; - callback(chan); - } ); - } - - // Announce Leave Event - - - var SELF = { - - '_reset_offline' : function() { - SUB_RECEIVER && SUB_RECEIVER(1); - }, - - 'LEAVE' : function( channel, blocking ) { - var data = { 'uuid' : UUID } - , origin = nextorigin(ORIGIN) - , jsonp = jsonp_cb(); - - // Prevent Leaving a Presence Channel - if (channel.indexOf(PRESENCE_SUFFIX) > 0) return; - - if (jsonp != '0') data['callback'] = jsonp; - - xdr({ - blocking : blocking || SSL, - timeout : 2000, - callback : jsonp, - data : data, - url : [ - origin, 'v2', 'presence', 'sub_key', - SUBSCRIBE_KEY, 'channel', encode(channel), 'leave' - ] - }); - }, - /* - PUBNUB.history({ - channel : 'my_chat_channel', - limit : 100, - callback : function(history) { } - }); - */ - 'history' : function( args, callback ) { - var callback = args['callback'] || callback - , count = args['count'] || args['limit'] || 100 - , reverse = args['reverse'] || "false" - , err = args['error'] || function(){} - , channel = args['channel'] - , start = args['start'] - , end = args['end'] - , params = {} - , jsonp = jsonp_cb(); - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - params['stringtoken'] = 'true'; - params['count'] = count; - params['reverse'] = reverse; - - if (jsonp) params['callback'] = jsonp; - if (start) params['start'] = start; - if (end) params['end'] = end; - - // Send Message - xdr({ - callback : jsonp, - data : params, - success : function(response) { callback(response) }, - fail : err, - url : [ - STD_ORIGIN, 'v2', 'history', 'sub-key', - SUBSCRIBE_KEY, 'channel', encode(channel) - ] - }); - }, - - /* - PUBNUB.replay({ - source : 'my_channel', - destination : 'new_channel' - }); - */ - 'replay' : function(args) { - var callback = callback || args['callback'] || function(){} - , source = args['source'] - , destination = args['destination'] - , stop = args['stop'] - , start = args['start'] - , end = args['end'] - , reverse = args['reverse'] - , limit = args['limit'] - , jsonp = jsonp_cb() - , data = {} - , url; - - // Check User Input - if (!source) return error('Missing Source Channel'); - if (!destination) return error('Missing Destination Channel'); - if (!PUBLISH_KEY) return error('Missing Publish Key'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // Setup URL Params - if (jsonp != '0') data['callback'] = jsonp; - if (stop) data['stop'] = 'all'; - if (reverse) data['reverse'] = 'true'; - if (start) data['start'] = start; - if (end) data['end'] = end; - if (limit) data['count'] = limit; - - // Compose URL Parts - url = [ - STD_ORIGIN, 'v1', 'replay', - PUBLISH_KEY, SUBSCRIBE_KEY, - source, destination - ]; - - // Start (or Stop) Replay! - xdr({ - callback : jsonp, - success : function(response) { callback(response) }, - fail : function() { callback([ 0, 'Disconnected' ]) }, - url : url, - data : data - }); - }, - - /* - PUBNUB.time(function(time){ }); - */ - 'time' : function(callback) { - var jsonp = jsonp_cb(); - xdr({ - callback : jsonp, - timeout : SECOND*5, - url : [STD_ORIGIN, 'time', jsonp], - success : function(response) { callback(response[0]) }, - fail : function() { callback(0) } - }); - }, - - /* - PUBNUB.publish({ - channel : 'my_chat_channel', - message : 'hello!' - }); - */ - 'publish' : function( args, callback ) { - var callback = callback || args['callback'] || function(){} - , msg = args['message'] - , channel = args['channel'] - , jsonp = jsonp_cb() - , url; - - if (!msg) return error('Missing Message'); - if (!channel) return error('Missing Channel'); - if (!PUBLISH_KEY) return error('Missing Publish Key'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // If trying to send Object - msg = JSON['stringify'](msg); - - // Create URL - url = [ - STD_ORIGIN, 'publish', - PUBLISH_KEY, SUBSCRIBE_KEY, - 0, encode(channel), - jsonp, encode(msg) - ]; - - // Queue Message Send - PUB_QUEUE.push({ - callback : jsonp, - timeout : SECOND*5, - url : url, - data : { 'uuid' : UUID }, - success : function(response){callback(response);publish(1)}, - fail : function(){callback([0,'Failed',msg]);publish(1)} - }); - - // Send Message - publish(); - }, - - /* - PUBNUB.unsubscribe({ channel : 'my_chat' }); - */ - 'unsubscribe' : function(args) { - var channel = args['channel']; - - TIMETOKEN = 0; - SUB_RESTORE = 1; - - // Prepare Channel(s) - channel = map( ( - channel.join ? channel.join(',') : ''+channel - ).split(','), function(channel) { - return channel + ',' + channel + PRESENCE_SUFFIX; - } ).join(','); - - // Iterate over Channels - each( channel.split(','), function(channel) { - if (READY) SELF['LEAVE']( channel, 0 ); - CHANNELS[channel] = 0; - } ); - - // ReOpen Connection if Any Channels Left - if (READY) CONNECT(); - }, - - /* - PUBNUB.subscribe({ - channel : 'my_chat' - callback : function(message) { } - }); - */ - 'subscribe' : function( args, callback ) { - var channel = args['channel'] - , callback = callback || args['callback'] - , callback = callback || args['message'] - , connect = args['connect'] || function(){} - , reconnect = args['reconnect'] || function(){} - , disconnect = args['disconnect'] || function(){} - , presence = args['presence'] || 0 - , noheresync = args['noheresync'] || 0 - , sub_timeout = args['timeout'] || SUB_TIMEOUT - , windowing = args['windowing'] || SUB_WINDOWING - , restore = args['restore']; - - // Restore Enabled? - if (restore) SUB_RESTORE = 1; - - TIMETOKEN = 0; - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // Setup Channel(s) - each( (channel.join ? channel.join(',') : ''+channel).split(','), - function(channel) { - var settings = CHANNELS[channel] || {}; - - // Store Channel State - CHANNELS[SUB_CHANNEL = channel] = { - name : channel, - connected : settings.connected, - disconnected : settings.disconnected, - subscribed : 1, - callback : SUB_CALLBACK = callback, - connect : connect, - disconnect : disconnect, - reconnect : reconnect - }; - - // Presence Enabled? - if (!presence) return; - - // Subscribe Presence Channel - SELF['subscribe']({ - 'channel' : channel + PRESENCE_SUFFIX, - 'callback' : presence - }); - - // Presence Subscribed? - if (settings.subscribed) return; - - // See Who's Here Now? - if (noheresync) return; - SELF['here_now']({ - 'channel' : channel, - 'callback' : function(here) { - each( 'uuids' in here ? here['uuids'] : [], - function(uid) { presence( { - 'action' : 'join', - 'uuid' : uid, - 'timestamp' : rnow(), - 'occupancy' : here['occupancy'] || 1 - }, here, channel ); } ); - } - }); - } ); - - // Test Network Connection - function _test_connection(success) { - if (success) { - // Begin Next Socket Connection - timeout( _connect, SECOND ); - } - else { - // New Origin on Failed Connection - STD_ORIGIN = nextorigin( ORIGIN, 1 ); - SUB_ORIGIN = nextorigin( ORIGIN, 1 ); - - // Re-test Connection - timeout( function() { - SELF['time'](_test_connection); - }, SECOND ); - } - - // Disconnect & Reconnect - each_channel(function(channel){ - // Reconnect - if (success && channel.disconnected) { - channel.disconnected = 0; - return channel.reconnect(channel.name); - } - - // Disconnect - if (!success && !channel.disconnected) { - channel.disconnected = 1; - channel.disconnect(channel.name); - } - }); - } - - // Evented Subscribe - function _connect() { - var jsonp = jsonp_cb() - , channels = generate_channel_list(CHANNELS).join(','); - - // Stop Connection - if (!channels) return; - - // Connect to PubNub Subscribe Servers - SUB_RECEIVER = xdr({ - timeout : sub_timeout, - callback : jsonp, - fail : function() { SELF['time'](_test_connection) }, - data : { 'uuid' : UUID }, - url : [ - SUB_ORIGIN, 'subscribe', - SUBSCRIBE_KEY, encode(channels), - jsonp, TIMETOKEN - ], - success : function(messages) { - if (!messages) return timeout( _connect, windowing ); - - // Connect - each_channel(function(channel){ - if (channel.connected) return; - channel.connected = 1; - channel.connect(channel.name); - }); - - // Restore Previous Connection Point if Needed - TIMETOKEN = !TIMETOKEN && - SUB_RESTORE && - db['get'](SUBSCRIBE_KEY) || messages[1]; - - // Update Saved Timetoken - if (TIMETOKEN) db['set']( SUBSCRIBE_KEY, messages[1] ); - - // Route Channel <---> Callback for Message - var next_callback = (function() { - var channels = (messages.length>2?messages[2]:'') - , list = channels.split(','); - - return function() { - var channel = list.shift()||''; - return [ - (CHANNELS[channel]||{}) - .callback||SUB_CALLBACK, - (channel||SUB_CHANNEL) - .split(PRESENCE_SUFFIX)[0] - ]; - }; - })(); - - each( messages[0], function(msg) { - var next = next_callback(); - if (!CHANNELS[next[1]].subscribed) return; - next[0]( msg, messages, next[1] ); - } ); - - timeout( _connect, windowing ); - } - }); - } - - CONNECT = function() { - // Close Previous Subscribe Connection - SELF['_reset_offline'](); - - // Begin Recursive Subscribe - clearTimeout(SUB_BUFF_WAIT); - SUB_BUFF_WAIT = timeout( _connect, 100 ); - }; - - // Reduce Status Flicker - if (!READY) return READY_BUFFER.push(CONNECT); - - // Connect Now - CONNECT(); - }, - - 'here_now' : function( args, callback ) { - var callback = args['callback'] || callback - , err = args['error'] || function(){} - , channel = args['channel'] - , jsonp = jsonp_cb() - , data = null; - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - if (jsonp != '0') { - data = {}; - data['callback'] = jsonp; - } - - xdr({ - callback : jsonp, - data : data, - success : function(response) { callback(response) }, - fail : err, - url : [ - STD_ORIGIN, 'v2', 'presence', - 'sub_key', SUBSCRIBE_KEY, - 'channel', encode(channel) - ] - }); - }, - - // Expose PUBNUB Functions - 'xdr' : xdr, - 'ready' : ready, - 'db' : db, - 'uuid' : uuid, - 'each' : each, - 'map' : map, - 'grep' : grep, - 'supplant' : supplant, - 'now' : rnow, - 'unique' : unique, - 'updater' : updater, - 'poll_online' : function() { - _is_online() || SELF['_reset_offline'](); - timeout( SELF['poll_online'], SECOND ); - }, - 'poll_online2' : function() { - SELF['time'](function(success){ - success || SELF['_reset_offline'](); - timeout( SELF['poll_online2'], KEEPALIVE ); - }) - } - }; - if (!UUID) UUID = SELF['uuid'](); - db['set']( SUBSCRIBE_KEY + 'uuid', UUID ); - - timeout( SELF['poll_online'], SECOND ); - timeout( SELF['poll_online2'], KEEPALIVE ); - - return SELF; -} -/* --------------------------------------------------------------------------- ---------------------------------------------------------------------------- */ - -/* --------------------------------------------------------------------------- -PubNub Real-time Cloud-Hosted Push API and Push Notification Client Frameworks -Copyright (c) 2011 PubNub Inc. -http://www.pubnub.com/ -http://www.pubnub.com/terms ---------------------------------------------------------------------------- */ - -/* --------------------------------------------------------------------------- -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. ---------------------------------------------------------------------------- */ -(function(){ - -/** - * UTIL LOCALS - */ -var NOW = 1 -, URLBIT = '/' -, PARAMSBIT = '&' -, XHRTME = 310000; - -/** - * UTILITIES - */ -//function unique() { return'x'+ ++NOW+''+(+new Date) } -//function rnow() { return+new Date } - -/** - * LOCAL STORAGE - */ -var db = (function(){ - var ls = typeof localStorage != 'undefined' && localStorage; - return { - get : function(key) { - try { - if (ls) return ls.getItem(key); - if (document.cookie.indexOf(key) == -1) return null; - return ((document.cookie||'').match( - RegExp(key+'=([^;]+)') - )||[])[1] || null; - } catch(e) { return } - }, - set : function( key, value ) { - try { - if (ls) return ls.setItem( key, value ) && 0; - document.cookie = key + '=' + value + - '; expires=Thu, 1 Aug 2030 20:00:00 UTC; path=/'; - } catch(e) { return } - } - }; -})(); - - -/** - * CORS XHR Request - * ================ - * xdr({ - * url : ['http://www.blah.com/url'], - * success : function(response) {}, - * fail : function() {} - * }); - */ -function xdr( setup ) { - var xhr - , finished = function() { - if (loaded) return; - loaded = 1; - - clearTimeout(timer); - - try { response = JSON['parse'](xhr.responseText); } - catch (r) { return done(1); } - - success(response); - } - , complete = 0 - , loaded = 0 - , timer = timeout( function(){done(1)}, XHRTME ) - , fail = setup.fail || function(){} - , success = setup.success || function(){} - , done = function(failed) { - if (complete) return; - complete = 1; - - clearTimeout(timer); - - if (xhr) { - xhr.onerror = xhr.onload = null; - xhr.abort && xhr.abort(); - xhr = null; - } - - failed && fail(); - }; - - // Send - try { - xhr = typeof XDomainRequest !== 'undefined' && - new XDomainRequest() || - new XMLHttpRequest(); - - xhr.onerror = xhr.onabort = function(){ done(1) }; - xhr.onload = xhr.onloadend = finished; - xhr.timeout = XHRTME; - url = setup.url.join(URLBIT); - if (setup.data) { - var params = []; - url += "?"; - for (key in setup.data) { - params.push(key+"="+setup.data[key]); - } - url += params.join(PARAMSBIT); - } - xhr.open( 'GET', url, true ); - xhr.send(); - } - catch(eee) { - done(0); - return xdr(setup); - } - - // Return 'done' - return done; -} - -/** - * BIND - * ==== - * bind( 'keydown', search('a')[0], function(element) { - * ... - * } ); - */ -function bind( type, el, fun ) { - each( type.split(','), function(etype) { - var rapfun = function(e) { - if (!e) e = window.event; - if (!fun(e)) { - e.cancelBubble = true; - e.returnValue = false; - e.preventDefault && e.preventDefault(); - e.stopPropagation && e.stopPropagation(); - } - }; - - if ( el.addEventListener ) el.addEventListener( etype, rapfun, false ); - else if ( el.attachEvent ) el.attachEvent( 'on' + etype, rapfun ); - else el[ 'on' + etype ] = rapfun; - } ); -} - -/** - * UNBIND - * ====== - * unbind( 'keydown', search('a')[0] ); - */ -function unbind( type, el, fun ) { - if ( el.removeEventListener ) el.removeEventListener( type, false ); - else if ( el.detachEvent ) el.detachEvent( 'on' + type, false ); - else el[ 'on' + type ] = null; -} - -/** - * LOG - * === - * var list = grep( [1,2,3], function(item) { return item % 2 } ) - */ -var log = function(){}; - -/** - * EVENTS - * ====== - * PUBNUB.events.bind( 'you-stepped-on-flower', function(message) { - * // Do Stuff with message - * } ); - * - * PUBNUB.events.fire( 'you-stepped-on-flower', "message-data" ); - * PUBNUB.events.fire( 'you-stepped-on-flower', {message:"data"} ); - * PUBNUB.events.fire( 'you-stepped-on-flower', [1,2,3] ); - * - */ -var events = { - 'list' : {}, - 'unbind' : function( name ) { events.list[name] = [] }, - 'bind' : function( name, fun ) { - (events.list[name] = events.list[name] || []).push(fun); - }, - 'fire' : function( name, data ) { - each( - events.list[name] || [], - function(fun) { fun(data) } - ); - } -}; - -/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= PUBNUB ===========================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -function PN(setup) { - - - setup['db'] = db; - setup['xdr'] = xdr; - var SELF = PN_API(setup); - - SELF['init'] = PN; - - - // Return without Testing - if (setup['notest']) return SELF; - - // Add Leave Functions - bind( 'beforeunload', window, function() { - each_channel(function(ch){ SELF['LEAVE']( ch.name, 1 ) }); - return true; - } ); - - bind( 'offline', window, SELF['_reset_offline'] ); - bind( 'offline', document, SELF['_reset_offline'] ); - - SELF['ready'](); - return SELF; -} - -typeof module !== 'undefined' && (module.exports = PN) || -typeof exports !== 'undefined' && (exports.PN = PN) || (PUBNUB = PN); - -})(); -var NOW = 1 -, READY = false -, READY_BUFFER = [] -, PRESENCE_SUFFIX = '-pnpres' -, DEF_WINDOWING = 10 // MILLISECONDS. -, DEF_TIMEOUT = 10000 // MILLISECONDS. -, DEF_SUB_TIMEOUT = 310 // SECONDS. -, DEF_KEEPALIVE = 60 // SECONDS. -, SECOND = 1000 // A THOUSAND MILLISECONDS. -, REPL = /{([\w\-]+)}/g; - -/** - * UTILITIES - */ -function unique() { return'x'+ ++NOW+''+(+new Date) } -function rnow() { return+new Date } - -/** - * NEXTORIGIN - * ========== - * var next_origin = nextorigin(); - */ -var nextorigin = (function() { - var max = 20 - , ori = Math.floor(Math.random() * max); - return function( origin, failover ) { - return origin.indexOf('pubsub.') > 0 - && origin.replace( - 'pubsub', 'ps' + ( - failover ? uuid().split('-')[0] : - (++ori < max? ori : ori=1) - ) ) || origin; - } -})(); - -/** - * UPDATER - * ======= - * var timestamp = unique(); - */ -function updater( fun, rate ) { - var timeout - , last = 0 - , runnit = function() { - if (last + rate > rnow()) { - clearTimeout(timeout); - timeout = setTimeout( runnit, rate ); - } - else { - last = rnow(); - fun(); - } - }; - - return runnit; -} - -/** - * GREP - * ==== - * var list = grep( [1,2,3], function(item) { return item % 2 } ) - */ -function grep( list, fun ) { - var fin = []; - each( list || [], function(l) { fun(l) && fin.push(l) } ); - return fin -} - -/** - * SUPPLANT - * ======== - * var text = supplant( 'Hello {name}!', { name : 'John' } ) - */ -function supplant( str, values ) { - return str.replace( REPL, function( _, match ) { - return values[match] || _ - } ); -} - -/** - * timeout - * ======= - * timeout( function(){}, 100 ); - */ -function timeout( fun, wait ) { - return setTimeout( fun, wait ); -} - -/** - * uuid - * ==== - * var my_uuid = uuid(); - */ -function uuid(callback) { - var u = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, - function(c) { - var r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8); - return v.toString(16); - }); - if (callback) callback(u); - return u; -} - -/** - * EACH - * ==== - * each( [1,2,3], function(item) { } ) - */ -function each( o, f ) { - if ( !o || !f ) return; - - if ( typeof o[0] != 'undefined' ) - for ( var i = 0, l = o.length; i < l; ) - f.call( o[i], o[i], i++ ); - else - for ( var i in o ) - o.hasOwnProperty && - o.hasOwnProperty(i) && - f.call( o[i], i, o[i] ); -} - -/** - * MAP - * === - * var list = map( [1,2,3], function(item) { return item + 1 } ) - */ -function map( list, fun ) { - var fin = []; - each( list || [], function( k, v ) { fin.push(fun( k, v )) } ); - return fin; -} - -/** - * ENCODE - * ====== - * var encoded_path = encode('path'); - */ -function encode(path) { - return map( (encodeURIComponent(path)).split(''), function(chr) { - return "-_.!~*'()".indexOf(chr) < 0 ? chr : - "%"+chr.charCodeAt(0).toString(16).toUpperCase() - } ).join(''); -} - -/** - * Generate Subscription Channel List - * ================================== - * generate_channel_list(channels_object); - */ -function generate_channel_list(channels) { - var list = []; - each( channels, function( channel, status ) { - if (status.subscribed) list.push(channel); - } ); - return list.sort(); -} - -// PUBNUB READY TO CONNECT - function ready() { timeout( function() { - if (READY) return; - READY = 1; - each( READY_BUFFER, function(connect) { connect() } ); - }, SECOND ); } - -function PN_API(setup) { - var SUB_WINDOWING = +setup['windowing'] || DEF_WINDOWING - , SUB_TIMEOUT = (+setup['timeout'] || DEF_SUB_TIMEOUT) * SECOND - , KEEPALIVE = (+setup['keepalive'] || DEF_KEEPALIVE) * SECOND - , PUBLISH_KEY = setup['publish_key'] || '' - , SUBSCRIBE_KEY = setup['subscribe_key'] || '' - , SSL = setup['ssl'] ? 's' : '' - , ORIGIN = 'http'+SSL+'://'+(setup['origin']||'pubsub.pubnub.com') - , STD_ORIGIN = nextorigin(ORIGIN) - , SUB_ORIGIN = nextorigin(ORIGIN) - , CONNECT = function(){} - , PUB_QUEUE = [] - , SUB_CALLBACK = 0 - , SUB_CHANNEL = 0 - , SUB_RECEIVER = 0 - , SUB_RESTORE = 0 - , SUB_BUFF_WAIT = 0 - , TIMETOKEN = 0 - , CHANNELS = {} - , xdr = setup['xdr'] - , _is_online = setup['_is_online'] || function() { return 1; } - , jsonp_cb = setup['jsonp_cb'] || function(){ return 0; } - , db = setup['db'] || {'get': function(){}, 'set': function(){}} - , UUID = setup['uuid'] || ( db && db['get'](SUBSCRIBE_KEY+'uuid') || ''); - - - - function publish(next) { - if (next) PUB_QUEUE.sending = 0; - if (PUB_QUEUE.sending || !PUB_QUEUE.length) return; - PUB_QUEUE.sending = 1; - xdr(PUB_QUEUE.shift()); - } - - function each_channel(callback) { - each( generate_channel_list(CHANNELS), function(channel) { - var chan = CHANNELS[channel]; - if (!chan) return; - callback(chan); - } ); - } - - // Announce Leave Event - - - var SELF = { - - '_reset_offline' : function() { - SUB_RECEIVER && SUB_RECEIVER(1); - }, - - 'LEAVE' : function( channel, blocking ) { - var data = { 'uuid' : UUID } - , origin = nextorigin(ORIGIN) - , jsonp = jsonp_cb(); - - // Prevent Leaving a Presence Channel - if (channel.indexOf(PRESENCE_SUFFIX) > 0) return; - - if (jsonp != '0') data['callback'] = jsonp; - - xdr({ - blocking : blocking || SSL, - timeout : 2000, - callback : jsonp, - data : data, - url : [ - origin, 'v2', 'presence', 'sub_key', - SUBSCRIBE_KEY, 'channel', encode(channel), 'leave' - ] - }); - }, - /* - PUBNUB.history({ - channel : 'my_chat_channel', - limit : 100, - callback : function(history) { } - }); - */ - 'history' : function( args, callback ) { - var callback = args['callback'] || callback - , count = args['count'] || args['limit'] || 100 - , reverse = args['reverse'] || "false" - , err = args['error'] || function(){} - , channel = args['channel'] - , start = args['start'] - , end = args['end'] - , params = {} - , jsonp = jsonp_cb(); - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - params['stringtoken'] = 'true'; - params['count'] = count; - params['reverse'] = reverse; - - if (jsonp) params['callback'] = jsonp; - if (start) params['start'] = start; - if (end) params['end'] = end; - - // Send Message - xdr({ - callback : jsonp, - data : params, - success : function(response) { callback(response) }, - fail : err, - url : [ - STD_ORIGIN, 'v2', 'history', 'sub-key', - SUBSCRIBE_KEY, 'channel', encode(channel) - ] - }); - }, - - /* - PUBNUB.replay({ - source : 'my_channel', - destination : 'new_channel' - }); - */ - 'replay' : function(args) { - var callback = callback || args['callback'] || function(){} - , source = args['source'] - , destination = args['destination'] - , stop = args['stop'] - , start = args['start'] - , end = args['end'] - , reverse = args['reverse'] - , limit = args['limit'] - , jsonp = jsonp_cb() - , data = {} - , url; - - // Check User Input - if (!source) return error('Missing Source Channel'); - if (!destination) return error('Missing Destination Channel'); - if (!PUBLISH_KEY) return error('Missing Publish Key'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // Setup URL Params - if (jsonp != '0') data['callback'] = jsonp; - if (stop) data['stop'] = 'all'; - if (reverse) data['reverse'] = 'true'; - if (start) data['start'] = start; - if (end) data['end'] = end; - if (limit) data['count'] = limit; - - // Compose URL Parts - url = [ - STD_ORIGIN, 'v1', 'replay', - PUBLISH_KEY, SUBSCRIBE_KEY, - source, destination - ]; - - // Start (or Stop) Replay! - xdr({ - callback : jsonp, - success : function(response) { callback(response) }, - fail : function() { callback([ 0, 'Disconnected' ]) }, - url : url, - data : data - }); - }, - - /* - PUBNUB.time(function(time){ }); - */ - 'time' : function(callback) { - var jsonp = jsonp_cb(); - xdr({ - callback : jsonp, - timeout : SECOND*5, - url : [STD_ORIGIN, 'time', jsonp], - success : function(response) { callback(response[0]) }, - fail : function() { callback(0) } - }); - }, - - /* - PUBNUB.publish({ - channel : 'my_chat_channel', - message : 'hello!' - }); - */ - 'publish' : function( args, callback ) { - var callback = callback || args['callback'] || function(){} - , msg = args['message'] - , channel = args['channel'] - , jsonp = jsonp_cb() - , url; - - if (!msg) return error('Missing Message'); - if (!channel) return error('Missing Channel'); - if (!PUBLISH_KEY) return error('Missing Publish Key'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // If trying to send Object - msg = JSON['stringify'](msg); - - // Create URL - url = [ - STD_ORIGIN, 'publish', - PUBLISH_KEY, SUBSCRIBE_KEY, - 0, encode(channel), - jsonp, encode(msg) - ]; - - // Queue Message Send - PUB_QUEUE.push({ - callback : jsonp, - timeout : SECOND*5, - url : url, - data : { 'uuid' : UUID }, - success : function(response){callback(response);publish(1)}, - fail : function(){callback([0,'Failed',msg]);publish(1)} - }); - - // Send Message - publish(); - }, - - /* - PUBNUB.unsubscribe({ channel : 'my_chat' }); - */ - 'unsubscribe' : function(args) { - var channel = args['channel']; - - TIMETOKEN = 0; - SUB_RESTORE = 1; - - // Prepare Channel(s) - channel = map( ( - channel.join ? channel.join(',') : ''+channel - ).split(','), function(channel) { - return channel + ',' + channel + PRESENCE_SUFFIX; - } ).join(','); - - // Iterate over Channels - each( channel.split(','), function(channel) { - if (READY) SELF['LEAVE']( channel, 0 ); - CHANNELS[channel] = 0; - } ); - - // ReOpen Connection if Any Channels Left - if (READY) CONNECT(); - }, - - /* - PUBNUB.subscribe({ - channel : 'my_chat' - callback : function(message) { } - }); - */ - 'subscribe' : function( args, callback ) { - var channel = args['channel'] - , callback = callback || args['callback'] - , callback = callback || args['message'] - , connect = args['connect'] || function(){} - , reconnect = args['reconnect'] || function(){} - , disconnect = args['disconnect'] || function(){} - , presence = args['presence'] || 0 - , noheresync = args['noheresync'] || 0 - , sub_timeout = args['timeout'] || SUB_TIMEOUT - , windowing = args['windowing'] || SUB_WINDOWING - , restore = args['restore']; - - // Restore Enabled? - if (restore) SUB_RESTORE = 1; - - TIMETOKEN = 0; - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // Setup Channel(s) - each( (channel.join ? channel.join(',') : ''+channel).split(','), - function(channel) { - var settings = CHANNELS[channel] || {}; - - // Store Channel State - CHANNELS[SUB_CHANNEL = channel] = { - name : channel, - connected : settings.connected, - disconnected : settings.disconnected, - subscribed : 1, - callback : SUB_CALLBACK = callback, - connect : connect, - disconnect : disconnect, - reconnect : reconnect - }; - - // Presence Enabled? - if (!presence) return; - - // Subscribe Presence Channel - SELF['subscribe']({ - 'channel' : channel + PRESENCE_SUFFIX, - 'callback' : presence - }); - - // Presence Subscribed? - if (settings.subscribed) return; - - // See Who's Here Now? - if (noheresync) return; - SELF['here_now']({ - 'channel' : channel, - 'callback' : function(here) { - each( 'uuids' in here ? here['uuids'] : [], - function(uid) { presence( { - 'action' : 'join', - 'uuid' : uid, - 'timestamp' : rnow(), - 'occupancy' : here['occupancy'] || 1 - }, here, channel ); } ); - } - }); - } ); - - // Test Network Connection - function _test_connection(success) { - if (success) { - // Begin Next Socket Connection - timeout( _connect, SECOND ); - } - else { - // New Origin on Failed Connection - STD_ORIGIN = nextorigin( ORIGIN, 1 ); - SUB_ORIGIN = nextorigin( ORIGIN, 1 ); - - // Re-test Connection - timeout( function() { - SELF['time'](_test_connection); - }, SECOND ); - } - - // Disconnect & Reconnect - each_channel(function(channel){ - // Reconnect - if (success && channel.disconnected) { - channel.disconnected = 0; - return channel.reconnect(channel.name); - } - - // Disconnect - if (!success && !channel.disconnected) { - channel.disconnected = 1; - channel.disconnect(channel.name); - } - }); - } - - // Evented Subscribe - function _connect() { - var jsonp = jsonp_cb() - , channels = generate_channel_list(CHANNELS).join(','); - - // Stop Connection - if (!channels) return; - - // Connect to PubNub Subscribe Servers - SUB_RECEIVER = xdr({ - timeout : sub_timeout, - callback : jsonp, - fail : function() { SELF['time'](_test_connection) }, - data : { 'uuid' : UUID }, - url : [ - SUB_ORIGIN, 'subscribe', - SUBSCRIBE_KEY, encode(channels), - jsonp, TIMETOKEN - ], - success : function(messages) { - if (!messages) return timeout( _connect, windowing ); - - // Connect - each_channel(function(channel){ - if (channel.connected) return; - channel.connected = 1; - channel.connect(channel.name); - }); - - // Restore Previous Connection Point if Needed - TIMETOKEN = !TIMETOKEN && - SUB_RESTORE && - db['get'](SUBSCRIBE_KEY) || messages[1]; - - // Update Saved Timetoken - if (TIMETOKEN) db['set']( SUBSCRIBE_KEY, messages[1] ); - - // Route Channel <---> Callback for Message - var next_callback = (function() { - var channels = (messages.length>2?messages[2]:'') - , list = channels.split(','); - - return function() { - var channel = list.shift()||''; - return [ - (CHANNELS[channel]||{}) - .callback||SUB_CALLBACK, - (channel||SUB_CHANNEL) - .split(PRESENCE_SUFFIX)[0] - ]; - }; - })(); - - each( messages[0], function(msg) { - var next = next_callback(); - if (!CHANNELS[next[1]].subscribed) return; - next[0]( msg, messages, next[1] ); - } ); - - timeout( _connect, windowing ); - } - }); - } - - CONNECT = function() { - // Close Previous Subscribe Connection - SELF['_reset_offline'](); - - // Begin Recursive Subscribe - clearTimeout(SUB_BUFF_WAIT); - SUB_BUFF_WAIT = timeout( _connect, 100 ); - }; - - // Reduce Status Flicker - if (!READY) return READY_BUFFER.push(CONNECT); - - // Connect Now - CONNECT(); - }, - - 'here_now' : function( args, callback ) { - var callback = args['callback'] || callback - , err = args['error'] || function(){} - , channel = args['channel'] - , jsonp = jsonp_cb() - , data = null; - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - if (jsonp != '0') { - data = {}; - data['callback'] = jsonp; - } - - xdr({ - callback : jsonp, - data : data, - success : function(response) { callback(response) }, - fail : err, - url : [ - STD_ORIGIN, 'v2', 'presence', - 'sub_key', SUBSCRIBE_KEY, - 'channel', encode(channel) - ] - }); - }, - - // Expose PUBNUB Functions - 'xdr' : xdr, - 'ready' : ready, - 'db' : db, - 'uuid' : uuid, - 'each' : each, - 'map' : map, - 'grep' : grep, - 'supplant' : supplant, - 'now' : rnow, - 'unique' : unique, - 'updater' : updater, - 'poll_online' : function() { - _is_online() || SELF['_reset_offline'](); - timeout( SELF['poll_online'], SECOND ); - }, - 'poll_online2' : function() { - SELF['time'](function(success){ - success || SELF['_reset_offline'](); - timeout( SELF['poll_online2'], KEEPALIVE ); - }) - } - }; - if (!UUID) UUID = SELF['uuid'](); - db['set']( SUBSCRIBE_KEY + 'uuid', UUID ); - - timeout( SELF['poll_online'], SECOND ); - timeout( SELF['poll_online2'], KEEPALIVE ); - - return SELF; -} -/* --------------------------------------------------------------------------- ---------------------------------------------------------------------------- */ - -/* --------------------------------------------------------------------------- -PubNub Real-time Cloud-Hosted Push API and Push Notification Client Frameworks -Copyright (c) 2011 PubNub Inc. -http://www.pubnub.com/ -http://www.pubnub.com/terms ---------------------------------------------------------------------------- */ - -/* --------------------------------------------------------------------------- -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. ---------------------------------------------------------------------------- */ -(function(){ - -/** - * UTIL LOCALS - */ -var NOW = 1 -, URLBIT = '/' -, PARAMSBIT = '&' -, XHRTME = 310000; - -/** - * UTILITIES - */ -//function unique() { return'x'+ ++NOW+''+(+new Date) } -//function rnow() { return+new Date } - -/** - * LOCAL STORAGE - */ -var db = (function(){ - var ls = typeof localStorage != 'undefined' && localStorage; - return { - get : function(key) { - try { - if (ls) return ls.getItem(key); - if (document.cookie.indexOf(key) == -1) return null; - return ((document.cookie||'').match( - RegExp(key+'=([^;]+)') - )||[])[1] || null; - } catch(e) { return } - }, - set : function( key, value ) { - try { - if (ls) return ls.setItem( key, value ) && 0; - document.cookie = key + '=' + value + - '; expires=Thu, 1 Aug 2030 20:00:00 UTC; path=/'; - } catch(e) { return } - } - }; -})(); - - -/** - * CORS XHR Request - * ================ - * xdr({ - * url : ['http://www.blah.com/url'], - * success : function(response) {}, - * fail : function() {} - * }); - */ -function xdr( setup ) { - var xhr - , finished = function() { - if (loaded) return; - loaded = 1; - - clearTimeout(timer); - - try { response = JSON['parse'](xhr.responseText); } - catch (r) { return done(1); } - - success(response); - } - , complete = 0 - , loaded = 0 - , timer = timeout( function(){done(1)}, XHRTME ) - , fail = setup.fail || function(){} - , success = setup.success || function(){} - , done = function(failed) { - if (complete) return; - complete = 1; - - clearTimeout(timer); - - if (xhr) { - xhr.onerror = xhr.onload = null; - xhr.abort && xhr.abort(); - xhr = null; - } - - failed && fail(); - }; - - // Send - try { - xhr = typeof XDomainRequest !== 'undefined' && - new XDomainRequest() || - new XMLHttpRequest(); - - xhr.onerror = xhr.onabort = function(){ done(1) }; - xhr.onload = xhr.onloadend = finished; - xhr.timeout = XHRTME; - url = setup.url.join(URLBIT); - if (setup.data) { - var params = []; - url += "?"; - for (key in setup.data) { - params.push(key+"="+setup.data[key]); - } - url += params.join(PARAMSBIT); - } - xhr.open( 'GET', url, true ); - xhr.send(); - } - catch(eee) { - done(0); - return xdr(setup); - } - - // Return 'done' - return done; -} - -/** - * BIND - * ==== - * bind( 'keydown', search('a')[0], function(element) { - * ... - * } ); - */ -function bind( type, el, fun ) { - each( type.split(','), function(etype) { - var rapfun = function(e) { - if (!e) e = window.event; - if (!fun(e)) { - e.cancelBubble = true; - e.returnValue = false; - e.preventDefault && e.preventDefault(); - e.stopPropagation && e.stopPropagation(); - } - }; - - if ( el.addEventListener ) el.addEventListener( etype, rapfun, false ); - else if ( el.attachEvent ) el.attachEvent( 'on' + etype, rapfun ); - else el[ 'on' + etype ] = rapfun; - } ); -} - -/** - * UNBIND - * ====== - * unbind( 'keydown', search('a')[0] ); - */ -function unbind( type, el, fun ) { - if ( el.removeEventListener ) el.removeEventListener( type, false ); - else if ( el.detachEvent ) el.detachEvent( 'on' + type, false ); - else el[ 'on' + type ] = null; -} - -/** - * LOG - * === - * var list = grep( [1,2,3], function(item) { return item % 2 } ) - */ -var log = function(){}; - -/** - * EVENTS - * ====== - * PUBNUB.events.bind( 'you-stepped-on-flower', function(message) { - * // Do Stuff with message - * } ); - * - * PUBNUB.events.fire( 'you-stepped-on-flower', "message-data" ); - * PUBNUB.events.fire( 'you-stepped-on-flower', {message:"data"} ); - * PUBNUB.events.fire( 'you-stepped-on-flower', [1,2,3] ); - * - */ -var events = { - 'list' : {}, - 'unbind' : function( name ) { events.list[name] = [] }, - 'bind' : function( name, fun ) { - (events.list[name] = events.list[name] || []).push(fun); - }, - 'fire' : function( name, data ) { - each( - events.list[name] || [], - function(fun) { fun(data) } - ); - } -}; - -/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= PUBNUB ===========================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -function PN(setup) { - - - setup['db'] = db; - setup['xdr'] = xdr; - var SELF = PN_API(setup); - - SELF['init'] = PN; - - - // Return without Testing - if (setup['notest']) return SELF; - - // Add Leave Functions - bind( 'beforeunload', window, function() { - each_channel(function(ch){ SELF['LEAVE']( ch.name, 1 ) }); - return true; - } ); - - bind( 'offline', window, SELF['_reset_offline'] ); - bind( 'offline', document, SELF['_reset_offline'] ); - - SELF['ready'](); - return SELF; -} - -typeof module !== 'undefined' && (module.exports = PN) || -typeof exports !== 'undefined' && (exports.PN = PN) || (PUBNUB = PN); - -})(); -var NOW = 1 -, READY = false -, READY_BUFFER = [] -, PRESENCE_SUFFIX = '-pnpres' -, DEF_WINDOWING = 10 // MILLISECONDS. -, DEF_TIMEOUT = 10000 // MILLISECONDS. -, DEF_SUB_TIMEOUT = 310 // SECONDS. -, DEF_KEEPALIVE = 60 // SECONDS. -, SECOND = 1000 // A THOUSAND MILLISECONDS. -, REPL = /{([\w\-]+)}/g; - -/** - * UTILITIES - */ -function unique() { return'x'+ ++NOW+''+(+new Date) } -function rnow() { return+new Date } - -/** - * NEXTORIGIN - * ========== - * var next_origin = nextorigin(); - */ -var nextorigin = (function() { - var max = 20 - , ori = Math.floor(Math.random() * max); - return function( origin, failover ) { - return origin.indexOf('pubsub.') > 0 - && origin.replace( - 'pubsub', 'ps' + ( - failover ? uuid().split('-')[0] : - (++ori < max? ori : ori=1) - ) ) || origin; - } -})(); - -/** - * UPDATER - * ======= - * var timestamp = unique(); - */ -function updater( fun, rate ) { - var timeout - , last = 0 - , runnit = function() { - if (last + rate > rnow()) { - clearTimeout(timeout); - timeout = setTimeout( runnit, rate ); - } - else { - last = rnow(); - fun(); - } - }; - - return runnit; -} - -/** - * GREP - * ==== - * var list = grep( [1,2,3], function(item) { return item % 2 } ) - */ -function grep( list, fun ) { - var fin = []; - each( list || [], function(l) { fun(l) && fin.push(l) } ); - return fin -} - -/** - * SUPPLANT - * ======== - * var text = supplant( 'Hello {name}!', { name : 'John' } ) - */ -function supplant( str, values ) { - return str.replace( REPL, function( _, match ) { - return values[match] || _ - } ); -} - -/** - * timeout - * ======= - * timeout( function(){}, 100 ); - */ -function timeout( fun, wait ) { - return setTimeout( fun, wait ); -} - -/** - * uuid - * ==== - * var my_uuid = uuid(); - */ -function uuid(callback) { - var u = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, - function(c) { - var r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8); - return v.toString(16); - }); - if (callback) callback(u); - return u; -} - -/** - * EACH - * ==== - * each( [1,2,3], function(item) { } ) - */ -function each( o, f ) { - if ( !o || !f ) return; - - if ( typeof o[0] != 'undefined' ) - for ( var i = 0, l = o.length; i < l; ) - f.call( o[i], o[i], i++ ); - else - for ( var i in o ) - o.hasOwnProperty && - o.hasOwnProperty(i) && - f.call( o[i], i, o[i] ); -} - -/** - * MAP - * === - * var list = map( [1,2,3], function(item) { return item + 1 } ) - */ -function map( list, fun ) { - var fin = []; - each( list || [], function( k, v ) { fin.push(fun( k, v )) } ); - return fin; -} - -/** - * ENCODE - * ====== - * var encoded_path = encode('path'); - */ -function encode(path) { - return map( (encodeURIComponent(path)).split(''), function(chr) { - return "-_.!~*'()".indexOf(chr) < 0 ? chr : - "%"+chr.charCodeAt(0).toString(16).toUpperCase() - } ).join(''); -} - -/** - * Generate Subscription Channel List - * ================================== - * generate_channel_list(channels_object); - */ -function generate_channel_list(channels) { - var list = []; - each( channels, function( channel, status ) { - if (status.subscribed) list.push(channel); - } ); - return list.sort(); -} - -// PUBNUB READY TO CONNECT - function ready() { timeout( function() { - if (READY) return; - READY = 1; - each( READY_BUFFER, function(connect) { connect() } ); - }, SECOND ); } - -function PN_API(setup) { - var SUB_WINDOWING = +setup['windowing'] || DEF_WINDOWING - , SUB_TIMEOUT = (+setup['timeout'] || DEF_SUB_TIMEOUT) * SECOND - , KEEPALIVE = (+setup['keepalive'] || DEF_KEEPALIVE) * SECOND - , PUBLISH_KEY = setup['publish_key'] || '' - , SUBSCRIBE_KEY = setup['subscribe_key'] || '' - , SSL = setup['ssl'] ? 's' : '' - , ORIGIN = 'http'+SSL+'://'+(setup['origin']||'pubsub.pubnub.com') - , STD_ORIGIN = nextorigin(ORIGIN) - , SUB_ORIGIN = nextorigin(ORIGIN) - , CONNECT = function(){} - , PUB_QUEUE = [] - , SUB_CALLBACK = 0 - , SUB_CHANNEL = 0 - , SUB_RECEIVER = 0 - , SUB_RESTORE = 0 - , SUB_BUFF_WAIT = 0 - , TIMETOKEN = 0 - , CHANNELS = {} - , xdr = setup['xdr'] - , _is_online = setup['_is_online'] || function() { return 1; } - , jsonp_cb = setup['jsonp_cb'] || function(){ return 0; } - , db = setup['db'] || {'get': function(){}, 'set': function(){}} - , UUID = setup['uuid'] || ( db && db['get'](SUBSCRIBE_KEY+'uuid') || ''); - - - - function publish(next) { - if (next) PUB_QUEUE.sending = 0; - if (PUB_QUEUE.sending || !PUB_QUEUE.length) return; - PUB_QUEUE.sending = 1; - xdr(PUB_QUEUE.shift()); - } - - function each_channel(callback) { - each( generate_channel_list(CHANNELS), function(channel) { - var chan = CHANNELS[channel]; - if (!chan) return; - callback(chan); - } ); - } - - // Announce Leave Event - - - var SELF = { - - '_reset_offline' : function() { - SUB_RECEIVER && SUB_RECEIVER(1); - }, - - 'LEAVE' : function( channel, blocking ) { - var data = { 'uuid' : UUID } - , origin = nextorigin(ORIGIN) - , jsonp = jsonp_cb(); - - // Prevent Leaving a Presence Channel - if (channel.indexOf(PRESENCE_SUFFIX) > 0) return; - - if (jsonp != '0') data['callback'] = jsonp; - - xdr({ - blocking : blocking || SSL, - timeout : 2000, - callback : jsonp, - data : data, - url : [ - origin, 'v2', 'presence', 'sub_key', - SUBSCRIBE_KEY, 'channel', encode(channel), 'leave' - ] - }); - }, - /* - PUBNUB.history({ - channel : 'my_chat_channel', - limit : 100, - callback : function(history) { } - }); - */ - 'history' : function( args, callback ) { - var callback = args['callback'] || callback - , count = args['count'] || args['limit'] || 100 - , reverse = args['reverse'] || "false" - , err = args['error'] || function(){} - , channel = args['channel'] - , start = args['start'] - , end = args['end'] - , params = {} - , jsonp = jsonp_cb(); - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - params['stringtoken'] = 'true'; - params['count'] = count; - params['reverse'] = reverse; - - if (jsonp) params['callback'] = jsonp; - if (start) params['start'] = start; - if (end) params['end'] = end; - - // Send Message - xdr({ - callback : jsonp, - data : params, - success : function(response) { callback(response) }, - fail : err, - url : [ - STD_ORIGIN, 'v2', 'history', 'sub-key', - SUBSCRIBE_KEY, 'channel', encode(channel) - ] - }); - }, - - /* - PUBNUB.replay({ - source : 'my_channel', - destination : 'new_channel' - }); - */ - 'replay' : function(args) { - var callback = callback || args['callback'] || function(){} - , source = args['source'] - , destination = args['destination'] - , stop = args['stop'] - , start = args['start'] - , end = args['end'] - , reverse = args['reverse'] - , limit = args['limit'] - , jsonp = jsonp_cb() - , data = {} - , url; - - // Check User Input - if (!source) return error('Missing Source Channel'); - if (!destination) return error('Missing Destination Channel'); - if (!PUBLISH_KEY) return error('Missing Publish Key'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // Setup URL Params - if (jsonp != '0') data['callback'] = jsonp; - if (stop) data['stop'] = 'all'; - if (reverse) data['reverse'] = 'true'; - if (start) data['start'] = start; - if (end) data['end'] = end; - if (limit) data['count'] = limit; - - // Compose URL Parts - url = [ - STD_ORIGIN, 'v1', 'replay', - PUBLISH_KEY, SUBSCRIBE_KEY, - source, destination - ]; - - // Start (or Stop) Replay! - xdr({ - callback : jsonp, - success : function(response) { callback(response) }, - fail : function() { callback([ 0, 'Disconnected' ]) }, - url : url, - data : data - }); - }, - - /* - PUBNUB.time(function(time){ }); - */ - 'time' : function(callback) { - var jsonp = jsonp_cb(); - xdr({ - callback : jsonp, - timeout : SECOND*5, - url : [STD_ORIGIN, 'time', jsonp], - success : function(response) { callback(response[0]) }, - fail : function() { callback(0) } - }); - }, - - /* - PUBNUB.publish({ - channel : 'my_chat_channel', - message : 'hello!' - }); - */ - 'publish' : function( args, callback ) { - var callback = callback || args['callback'] || function(){} - , msg = args['message'] - , channel = args['channel'] - , jsonp = jsonp_cb() - , url; - - if (!msg) return error('Missing Message'); - if (!channel) return error('Missing Channel'); - if (!PUBLISH_KEY) return error('Missing Publish Key'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // If trying to send Object - msg = JSON['stringify'](msg); - - // Create URL - url = [ - STD_ORIGIN, 'publish', - PUBLISH_KEY, SUBSCRIBE_KEY, - 0, encode(channel), - jsonp, encode(msg) - ]; - - // Queue Message Send - PUB_QUEUE.push({ - callback : jsonp, - timeout : SECOND*5, - url : url, - data : { 'uuid' : UUID }, - success : function(response){callback(response);publish(1)}, - fail : function(){callback([0,'Failed',msg]);publish(1)} - }); - - // Send Message - publish(); - }, - - /* - PUBNUB.unsubscribe({ channel : 'my_chat' }); - */ - 'unsubscribe' : function(args) { - var channel = args['channel']; - - TIMETOKEN = 0; - SUB_RESTORE = 1; - - // Prepare Channel(s) - channel = map( ( - channel.join ? channel.join(',') : ''+channel - ).split(','), function(channel) { - return channel + ',' + channel + PRESENCE_SUFFIX; - } ).join(','); - - // Iterate over Channels - each( channel.split(','), function(channel) { - if (READY) SELF['LEAVE']( channel, 0 ); - CHANNELS[channel] = 0; - } ); - - // ReOpen Connection if Any Channels Left - if (READY) CONNECT(); - }, - - /* - PUBNUB.subscribe({ - channel : 'my_chat' - callback : function(message) { } - }); - */ - 'subscribe' : function( args, callback ) { - var channel = args['channel'] - , callback = callback || args['callback'] - , callback = callback || args['message'] - , connect = args['connect'] || function(){} - , reconnect = args['reconnect'] || function(){} - , disconnect = args['disconnect'] || function(){} - , presence = args['presence'] || 0 - , noheresync = args['noheresync'] || 0 - , sub_timeout = args['timeout'] || SUB_TIMEOUT - , windowing = args['windowing'] || SUB_WINDOWING - , restore = args['restore']; - - // Restore Enabled? - if (restore) SUB_RESTORE = 1; - - TIMETOKEN = 0; - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // Setup Channel(s) - each( (channel.join ? channel.join(',') : ''+channel).split(','), - function(channel) { - var settings = CHANNELS[channel] || {}; - - // Store Channel State - CHANNELS[SUB_CHANNEL = channel] = { - name : channel, - connected : settings.connected, - disconnected : settings.disconnected, - subscribed : 1, - callback : SUB_CALLBACK = callback, - connect : connect, - disconnect : disconnect, - reconnect : reconnect - }; - - // Presence Enabled? - if (!presence) return; - - // Subscribe Presence Channel - SELF['subscribe']({ - 'channel' : channel + PRESENCE_SUFFIX, - 'callback' : presence - }); - - // Presence Subscribed? - if (settings.subscribed) return; - - // See Who's Here Now? - if (noheresync) return; - SELF['here_now']({ - 'channel' : channel, - 'callback' : function(here) { - each( 'uuids' in here ? here['uuids'] : [], - function(uid) { presence( { - 'action' : 'join', - 'uuid' : uid, - 'timestamp' : rnow(), - 'occupancy' : here['occupancy'] || 1 - }, here, channel ); } ); - } - }); - } ); - - // Test Network Connection - function _test_connection(success) { - if (success) { - // Begin Next Socket Connection - timeout( _connect, SECOND ); - } - else { - // New Origin on Failed Connection - STD_ORIGIN = nextorigin( ORIGIN, 1 ); - SUB_ORIGIN = nextorigin( ORIGIN, 1 ); - - // Re-test Connection - timeout( function() { - SELF['time'](_test_connection); - }, SECOND ); - } - - // Disconnect & Reconnect - each_channel(function(channel){ - // Reconnect - if (success && channel.disconnected) { - channel.disconnected = 0; - return channel.reconnect(channel.name); - } - - // Disconnect - if (!success && !channel.disconnected) { - channel.disconnected = 1; - channel.disconnect(channel.name); - } - }); - } - - // Evented Subscribe - function _connect() { - var jsonp = jsonp_cb() - , channels = generate_channel_list(CHANNELS).join(','); - - // Stop Connection - if (!channels) return; - - // Connect to PubNub Subscribe Servers - SUB_RECEIVER = xdr({ - timeout : sub_timeout, - callback : jsonp, - fail : function() { SELF['time'](_test_connection) }, - data : { 'uuid' : UUID }, - url : [ - SUB_ORIGIN, 'subscribe', - SUBSCRIBE_KEY, encode(channels), - jsonp, TIMETOKEN - ], - success : function(messages) { - if (!messages) return timeout( _connect, windowing ); - - // Connect - each_channel(function(channel){ - if (channel.connected) return; - channel.connected = 1; - channel.connect(channel.name); - }); - - // Restore Previous Connection Point if Needed - TIMETOKEN = !TIMETOKEN && - SUB_RESTORE && - db['get'](SUBSCRIBE_KEY) || messages[1]; - - // Update Saved Timetoken - if (TIMETOKEN) db['set']( SUBSCRIBE_KEY, messages[1] ); - - // Route Channel <---> Callback for Message - var next_callback = (function() { - var channels = (messages.length>2?messages[2]:'') - , list = channels.split(','); - - return function() { - var channel = list.shift()||''; - return [ - (CHANNELS[channel]||{}) - .callback||SUB_CALLBACK, - (channel||SUB_CHANNEL) - .split(PRESENCE_SUFFIX)[0] - ]; - }; - })(); - - each( messages[0], function(msg) { - var next = next_callback(); - if (!CHANNELS[next[1]].subscribed) return; - next[0]( msg, messages, next[1] ); - } ); - - timeout( _connect, windowing ); - } - }); - } - - CONNECT = function() { - // Close Previous Subscribe Connection - SELF['_reset_offline'](); - - // Begin Recursive Subscribe - clearTimeout(SUB_BUFF_WAIT); - SUB_BUFF_WAIT = timeout( _connect, 100 ); - }; - - // Reduce Status Flicker - if (!READY) return READY_BUFFER.push(CONNECT); - - // Connect Now - CONNECT(); - }, - - 'here_now' : function( args, callback ) { - var callback = args['callback'] || callback - , err = args['error'] || function(){} - , channel = args['channel'] - , jsonp = jsonp_cb() - , data = null; - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - if (jsonp != '0') { - data = {}; - data['callback'] = jsonp; - } - - xdr({ - callback : jsonp, - data : data, - success : function(response) { callback(response) }, - fail : err, - url : [ - STD_ORIGIN, 'v2', 'presence', - 'sub_key', SUBSCRIBE_KEY, - 'channel', encode(channel) - ] - }); - }, - - // Expose PUBNUB Functions - 'xdr' : xdr, - 'ready' : ready, - 'db' : db, - 'uuid' : uuid, - 'each' : each, - 'map' : map, - 'grep' : grep, - 'supplant' : supplant, - 'now' : rnow, - 'unique' : unique, - 'updater' : updater, - 'poll_online' : function() { - _is_online() || SELF['_reset_offline'](); - timeout( SELF['poll_online'], SECOND ); - }, - 'poll_online2' : function() { - SELF['time'](function(success){ - success || SELF['_reset_offline'](); - timeout( SELF['poll_online2'], KEEPALIVE ); - }) - } - }; - if (!UUID) UUID = SELF['uuid'](); - db['set']( SUBSCRIBE_KEY + 'uuid', UUID ); - - timeout( SELF['poll_online'], SECOND ); - timeout( SELF['poll_online2'], KEEPALIVE ); - - return SELF; -} -/* --------------------------------------------------------------------------- ---------------------------------------------------------------------------- */ - -/* --------------------------------------------------------------------------- -PubNub Real-time Cloud-Hosted Push API and Push Notification Client Frameworks -Copyright (c) 2011 PubNub Inc. -http://www.pubnub.com/ -http://www.pubnub.com/terms ---------------------------------------------------------------------------- */ - -/* --------------------------------------------------------------------------- -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. ---------------------------------------------------------------------------- */ -(function(){ - -/** - * UTIL LOCALS - */ -var NOW = 1 -, URLBIT = '/' -, PARAMSBIT = '&' -, XHRTME = 310000; - -/** - * UTILITIES - */ -//function unique() { return'x'+ ++NOW+''+(+new Date) } -//function rnow() { return+new Date } - -/** - * LOCAL STORAGE - */ -var db = (function(){ - var ls = typeof localStorage != 'undefined' && localStorage; - return { - get : function(key) { - try { - if (ls) return ls.getItem(key); - if (document.cookie.indexOf(key) == -1) return null; - return ((document.cookie||'').match( - RegExp(key+'=([^;]+)') - )||[])[1] || null; - } catch(e) { return } - }, - set : function( key, value ) { - try { - if (ls) return ls.setItem( key, value ) && 0; - document.cookie = key + '=' + value + - '; expires=Thu, 1 Aug 2030 20:00:00 UTC; path=/'; - } catch(e) { return } - } - }; -})(); - - -/** - * CORS XHR Request - * ================ - * xdr({ - * url : ['http://www.blah.com/url'], - * success : function(response) {}, - * fail : function() {} - * }); - */ -function xdr( setup ) { - var xhr - , finished = function() { - if (loaded) return; - loaded = 1; - - clearTimeout(timer); - - try { response = JSON['parse'](xhr.responseText); } - catch (r) { return done(1); } - - success(response); - } - , complete = 0 - , loaded = 0 - , timer = timeout( function(){done(1)}, XHRTME ) - , fail = setup.fail || function(){} - , success = setup.success || function(){} - , done = function(failed) { - if (complete) return; - complete = 1; - - clearTimeout(timer); - - if (xhr) { - xhr.onerror = xhr.onload = null; - xhr.abort && xhr.abort(); - xhr = null; - } - - failed && fail(); - }; - - // Send - try { - xhr = typeof XDomainRequest !== 'undefined' && - new XDomainRequest() || - new XMLHttpRequest(); - - xhr.onerror = xhr.onabort = function(){ done(1) }; - xhr.onload = xhr.onloadend = finished; - xhr.timeout = XHRTME; - url = setup.url.join(URLBIT); - if (setup.data) { - var params = []; - url += "?"; - for (key in setup.data) { - params.push(key+"="+setup.data[key]); - } - url += params.join(PARAMSBIT); - } - xhr.open( 'GET', url, true ); - xhr.send(); - } - catch(eee) { - done(0); - return xdr(setup); - } - - // Return 'done' - return done; -} - -/** - * BIND - * ==== - * bind( 'keydown', search('a')[0], function(element) { - * ... - * } ); - */ -function bind( type, el, fun ) { - each( type.split(','), function(etype) { - var rapfun = function(e) { - if (!e) e = window.event; - if (!fun(e)) { - e.cancelBubble = true; - e.returnValue = false; - e.preventDefault && e.preventDefault(); - e.stopPropagation && e.stopPropagation(); - } - }; - - if ( el.addEventListener ) el.addEventListener( etype, rapfun, false ); - else if ( el.attachEvent ) el.attachEvent( 'on' + etype, rapfun ); - else el[ 'on' + etype ] = rapfun; - } ); -} - -/** - * UNBIND - * ====== - * unbind( 'keydown', search('a')[0] ); - */ -function unbind( type, el, fun ) { - if ( el.removeEventListener ) el.removeEventListener( type, false ); - else if ( el.detachEvent ) el.detachEvent( 'on' + type, false ); - else el[ 'on' + type ] = null; -} - -/** - * LOG - * === - * var list = grep( [1,2,3], function(item) { return item % 2 } ) - */ -var log = function(){}; - -/** - * EVENTS - * ====== - * PUBNUB.events.bind( 'you-stepped-on-flower', function(message) { - * // Do Stuff with message - * } ); - * - * PUBNUB.events.fire( 'you-stepped-on-flower', "message-data" ); - * PUBNUB.events.fire( 'you-stepped-on-flower', {message:"data"} ); - * PUBNUB.events.fire( 'you-stepped-on-flower', [1,2,3] ); - * - */ -var events = { - 'list' : {}, - 'unbind' : function( name ) { events.list[name] = [] }, - 'bind' : function( name, fun ) { - (events.list[name] = events.list[name] || []).push(fun); - }, - 'fire' : function( name, data ) { - each( - events.list[name] || [], - function(fun) { fun(data) } - ); - } -}; - -/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= PUBNUB ===========================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -function PN(setup) { - - - setup['db'] = db; - setup['xdr'] = xdr; - var SELF = PN_API(setup); - - SELF['init'] = PN; - - - // Return without Testing - if (setup['notest']) return SELF; - - // Add Leave Functions - bind( 'beforeunload', window, function() { - each_channel(function(ch){ SELF['LEAVE']( ch.name, 1 ) }); - return true; - } ); - - bind( 'offline', window, SELF['_reset_offline'] ); - bind( 'offline', document, SELF['_reset_offline'] ); - - SELF['ready'](); - return SELF; -} - -typeof module !== 'undefined' && (module.exports = PN) || -typeof exports !== 'undefined' && (exports.PN = PN) || (PUBNUB = PN); - -})(); -var NOW = 1 -, READY = false -, READY_BUFFER = [] -, PRESENCE_SUFFIX = '-pnpres' -, DEF_WINDOWING = 10 // MILLISECONDS. -, DEF_TIMEOUT = 10000 // MILLISECONDS. -, DEF_SUB_TIMEOUT = 310 // SECONDS. -, DEF_KEEPALIVE = 60 // SECONDS. -, SECOND = 1000 // A THOUSAND MILLISECONDS. -, REPL = /{([\w\-]+)}/g; - -/** - * UTILITIES - */ -function unique() { return'x'+ ++NOW+''+(+new Date) } -function rnow() { return+new Date } - -/** - * NEXTORIGIN - * ========== - * var next_origin = nextorigin(); - */ -var nextorigin = (function() { - var max = 20 - , ori = Math.floor(Math.random() * max); - return function( origin, failover ) { - return origin.indexOf('pubsub.') > 0 - && origin.replace( - 'pubsub', 'ps' + ( - failover ? uuid().split('-')[0] : - (++ori < max? ori : ori=1) - ) ) || origin; - } -})(); - -/** - * UPDATER - * ======= - * var timestamp = unique(); - */ -function updater( fun, rate ) { - var timeout - , last = 0 - , runnit = function() { - if (last + rate > rnow()) { - clearTimeout(timeout); - timeout = setTimeout( runnit, rate ); - } - else { - last = rnow(); - fun(); - } - }; - - return runnit; -} - -/** - * GREP - * ==== - * var list = grep( [1,2,3], function(item) { return item % 2 } ) - */ -function grep( list, fun ) { - var fin = []; - each( list || [], function(l) { fun(l) && fin.push(l) } ); - return fin -} - -/** - * SUPPLANT - * ======== - * var text = supplant( 'Hello {name}!', { name : 'John' } ) - */ -function supplant( str, values ) { - return str.replace( REPL, function( _, match ) { - return values[match] || _ - } ); -} - -/** - * timeout - * ======= - * timeout( function(){}, 100 ); - */ -function timeout( fun, wait ) { - return setTimeout( fun, wait ); -} - -/** - * uuid - * ==== - * var my_uuid = uuid(); - */ -function uuid(callback) { - var u = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, - function(c) { - var r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8); - return v.toString(16); - }); - if (callback) callback(u); - return u; -} - -/** - * EACH - * ==== - * each( [1,2,3], function(item) { } ) - */ -function each( o, f ) { - if ( !o || !f ) return; - - if ( typeof o[0] != 'undefined' ) - for ( var i = 0, l = o.length; i < l; ) - f.call( o[i], o[i], i++ ); - else - for ( var i in o ) - o.hasOwnProperty && - o.hasOwnProperty(i) && - f.call( o[i], i, o[i] ); -} - -/** - * MAP - * === - * var list = map( [1,2,3], function(item) { return item + 1 } ) - */ -function map( list, fun ) { - var fin = []; - each( list || [], function( k, v ) { fin.push(fun( k, v )) } ); - return fin; -} - -/** - * ENCODE - * ====== - * var encoded_path = encode('path'); - */ -function encode(path) { - return map( (encodeURIComponent(path)).split(''), function(chr) { - return "-_.!~*'()".indexOf(chr) < 0 ? chr : - "%"+chr.charCodeAt(0).toString(16).toUpperCase() - } ).join(''); -} - -/** - * Generate Subscription Channel List - * ================================== - * generate_channel_list(channels_object); - */ -function generate_channel_list(channels) { - var list = []; - each( channels, function( channel, status ) { - if (status.subscribed) list.push(channel); - } ); - return list.sort(); -} - -// PUBNUB READY TO CONNECT - function ready() { timeout( function() { - if (READY) return; - READY = 1; - each( READY_BUFFER, function(connect) { connect() } ); - }, SECOND ); } - -function PN_API(setup) { - var SUB_WINDOWING = +setup['windowing'] || DEF_WINDOWING - , SUB_TIMEOUT = (+setup['timeout'] || DEF_SUB_TIMEOUT) * SECOND - , KEEPALIVE = (+setup['keepalive'] || DEF_KEEPALIVE) * SECOND - , PUBLISH_KEY = setup['publish_key'] || '' - , SUBSCRIBE_KEY = setup['subscribe_key'] || '' - , SSL = setup['ssl'] ? 's' : '' - , ORIGIN = 'http'+SSL+'://'+(setup['origin']||'pubsub.pubnub.com') - , STD_ORIGIN = nextorigin(ORIGIN) - , SUB_ORIGIN = nextorigin(ORIGIN) - , CONNECT = function(){} - , PUB_QUEUE = [] - , SUB_CALLBACK = 0 - , SUB_CHANNEL = 0 - , SUB_RECEIVER = 0 - , SUB_RESTORE = 0 - , SUB_BUFF_WAIT = 0 - , TIMETOKEN = 0 - , CHANNELS = {} - , xdr = setup['xdr'] - , _is_online = setup['_is_online'] || function() { return 1; } - , jsonp_cb = setup['jsonp_cb'] || function(){ return 0; } - , db = setup['db'] || {'get': function(){}, 'set': function(){}} - , UUID = setup['uuid'] || ( db && db['get'](SUBSCRIBE_KEY+'uuid') || ''); - - - - function publish(next) { - if (next) PUB_QUEUE.sending = 0; - if (PUB_QUEUE.sending || !PUB_QUEUE.length) return; - PUB_QUEUE.sending = 1; - xdr(PUB_QUEUE.shift()); - } - - function each_channel(callback) { - each( generate_channel_list(CHANNELS), function(channel) { - var chan = CHANNELS[channel]; - if (!chan) return; - callback(chan); - } ); - } - - // Announce Leave Event - - - var SELF = { - - '_reset_offline' : function() { - SUB_RECEIVER && SUB_RECEIVER(1); - }, - - 'LEAVE' : function( channel, blocking ) { - var data = { 'uuid' : UUID } - , origin = nextorigin(ORIGIN) - , jsonp = jsonp_cb(); - - // Prevent Leaving a Presence Channel - if (channel.indexOf(PRESENCE_SUFFIX) > 0) return; - - if (jsonp != '0') data['callback'] = jsonp; - - xdr({ - blocking : blocking || SSL, - timeout : 2000, - callback : jsonp, - data : data, - url : [ - origin, 'v2', 'presence', 'sub_key', - SUBSCRIBE_KEY, 'channel', encode(channel), 'leave' - ] - }); - }, - /* - PUBNUB.history({ - channel : 'my_chat_channel', - limit : 100, - callback : function(history) { } - }); - */ - 'history' : function( args, callback ) { - var callback = args['callback'] || callback - , count = args['count'] || args['limit'] || 100 - , reverse = args['reverse'] || "false" - , err = args['error'] || function(){} - , channel = args['channel'] - , start = args['start'] - , end = args['end'] - , params = {} - , jsonp = jsonp_cb(); - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - params['stringtoken'] = 'true'; - params['count'] = count; - params['reverse'] = reverse; - - if (jsonp) params['callback'] = jsonp; - if (start) params['start'] = start; - if (end) params['end'] = end; - - // Send Message - xdr({ - callback : jsonp, - data : params, - success : function(response) { callback(response) }, - fail : err, - url : [ - STD_ORIGIN, 'v2', 'history', 'sub-key', - SUBSCRIBE_KEY, 'channel', encode(channel) - ] - }); - }, - - /* - PUBNUB.replay({ - source : 'my_channel', - destination : 'new_channel' - }); - */ - 'replay' : function(args) { - var callback = callback || args['callback'] || function(){} - , source = args['source'] - , destination = args['destination'] - , stop = args['stop'] - , start = args['start'] - , end = args['end'] - , reverse = args['reverse'] - , limit = args['limit'] - , jsonp = jsonp_cb() - , data = {} - , url; - - // Check User Input - if (!source) return error('Missing Source Channel'); - if (!destination) return error('Missing Destination Channel'); - if (!PUBLISH_KEY) return error('Missing Publish Key'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // Setup URL Params - if (jsonp != '0') data['callback'] = jsonp; - if (stop) data['stop'] = 'all'; - if (reverse) data['reverse'] = 'true'; - if (start) data['start'] = start; - if (end) data['end'] = end; - if (limit) data['count'] = limit; - - // Compose URL Parts - url = [ - STD_ORIGIN, 'v1', 'replay', - PUBLISH_KEY, SUBSCRIBE_KEY, - source, destination - ]; - - // Start (or Stop) Replay! - xdr({ - callback : jsonp, - success : function(response) { callback(response) }, - fail : function() { callback([ 0, 'Disconnected' ]) }, - url : url, - data : data - }); - }, - - /* - PUBNUB.time(function(time){ }); - */ - 'time' : function(callback) { - var jsonp = jsonp_cb(); - xdr({ - callback : jsonp, - timeout : SECOND*5, - url : [STD_ORIGIN, 'time', jsonp], - success : function(response) { callback(response[0]) }, - fail : function() { callback(0) } - }); - }, - - /* - PUBNUB.publish({ - channel : 'my_chat_channel', - message : 'hello!' - }); - */ - 'publish' : function( args, callback ) { - var callback = callback || args['callback'] || function(){} - , msg = args['message'] - , channel = args['channel'] - , jsonp = jsonp_cb() - , url; - - if (!msg) return error('Missing Message'); - if (!channel) return error('Missing Channel'); - if (!PUBLISH_KEY) return error('Missing Publish Key'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // If trying to send Object - msg = JSON['stringify'](msg); - - // Create URL - url = [ - STD_ORIGIN, 'publish', - PUBLISH_KEY, SUBSCRIBE_KEY, - 0, encode(channel), - jsonp, encode(msg) - ]; - - // Queue Message Send - PUB_QUEUE.push({ - callback : jsonp, - timeout : SECOND*5, - url : url, - data : { 'uuid' : UUID }, - success : function(response){callback(response);publish(1)}, - fail : function(){callback([0,'Failed',msg]);publish(1)} - }); - - // Send Message - publish(); - }, - - /* - PUBNUB.unsubscribe({ channel : 'my_chat' }); - */ - 'unsubscribe' : function(args) { - var channel = args['channel']; - - TIMETOKEN = 0; - SUB_RESTORE = 1; - - // Prepare Channel(s) - channel = map( ( - channel.join ? channel.join(',') : ''+channel - ).split(','), function(channel) { - return channel + ',' + channel + PRESENCE_SUFFIX; - } ).join(','); - - // Iterate over Channels - each( channel.split(','), function(channel) { - if (READY) SELF['LEAVE']( channel, 0 ); - CHANNELS[channel] = 0; - } ); - - // ReOpen Connection if Any Channels Left - if (READY) CONNECT(); - }, - - /* - PUBNUB.subscribe({ - channel : 'my_chat' - callback : function(message) { } - }); - */ - 'subscribe' : function( args, callback ) { - var channel = args['channel'] - , callback = callback || args['callback'] - , callback = callback || args['message'] - , connect = args['connect'] || function(){} - , reconnect = args['reconnect'] || function(){} - , disconnect = args['disconnect'] || function(){} - , presence = args['presence'] || 0 - , noheresync = args['noheresync'] || 0 - , sub_timeout = args['timeout'] || SUB_TIMEOUT - , windowing = args['windowing'] || SUB_WINDOWING - , restore = args['restore']; - - // Restore Enabled? - if (restore) SUB_RESTORE = 1; - - TIMETOKEN = 0; - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // Setup Channel(s) - each( (channel.join ? channel.join(',') : ''+channel).split(','), - function(channel) { - var settings = CHANNELS[channel] || {}; - - // Store Channel State - CHANNELS[SUB_CHANNEL = channel] = { - name : channel, - connected : settings.connected, - disconnected : settings.disconnected, - subscribed : 1, - callback : SUB_CALLBACK = callback, - connect : connect, - disconnect : disconnect, - reconnect : reconnect - }; - - // Presence Enabled? - if (!presence) return; - - // Subscribe Presence Channel - SELF['subscribe']({ - 'channel' : channel + PRESENCE_SUFFIX, - 'callback' : presence - }); - - // Presence Subscribed? - if (settings.subscribed) return; - - // See Who's Here Now? - if (noheresync) return; - SELF['here_now']({ - 'channel' : channel, - 'callback' : function(here) { - each( 'uuids' in here ? here['uuids'] : [], - function(uid) { presence( { - 'action' : 'join', - 'uuid' : uid, - 'timestamp' : rnow(), - 'occupancy' : here['occupancy'] || 1 - }, here, channel ); } ); - } - }); - } ); - - // Test Network Connection - function _test_connection(success) { - if (success) { - // Begin Next Socket Connection - timeout( _connect, SECOND ); - } - else { - // New Origin on Failed Connection - STD_ORIGIN = nextorigin( ORIGIN, 1 ); - SUB_ORIGIN = nextorigin( ORIGIN, 1 ); - - // Re-test Connection - timeout( function() { - SELF['time'](_test_connection); - }, SECOND ); - } - - // Disconnect & Reconnect - each_channel(function(channel){ - // Reconnect - if (success && channel.disconnected) { - channel.disconnected = 0; - return channel.reconnect(channel.name); - } - - // Disconnect - if (!success && !channel.disconnected) { - channel.disconnected = 1; - channel.disconnect(channel.name); - } - }); - } - - // Evented Subscribe - function _connect() { - var jsonp = jsonp_cb() - , channels = generate_channel_list(CHANNELS).join(','); - - // Stop Connection - if (!channels) return; - - // Connect to PubNub Subscribe Servers - SUB_RECEIVER = xdr({ - timeout : sub_timeout, - callback : jsonp, - fail : function() { SELF['time'](_test_connection) }, - data : { 'uuid' : UUID }, - url : [ - SUB_ORIGIN, 'subscribe', - SUBSCRIBE_KEY, encode(channels), - jsonp, TIMETOKEN - ], - success : function(messages) { - if (!messages) return timeout( _connect, windowing ); - - // Connect - each_channel(function(channel){ - if (channel.connected) return; - channel.connected = 1; - channel.connect(channel.name); - }); - - // Restore Previous Connection Point if Needed - TIMETOKEN = !TIMETOKEN && - SUB_RESTORE && - db['get'](SUBSCRIBE_KEY) || messages[1]; - - // Update Saved Timetoken - if (TIMETOKEN) db['set']( SUBSCRIBE_KEY, messages[1] ); - - // Route Channel <---> Callback for Message - var next_callback = (function() { - var channels = (messages.length>2?messages[2]:'') - , list = channels.split(','); - - return function() { - var channel = list.shift()||''; - return [ - (CHANNELS[channel]||{}) - .callback||SUB_CALLBACK, - (channel||SUB_CHANNEL) - .split(PRESENCE_SUFFIX)[0] - ]; - }; - })(); - - each( messages[0], function(msg) { - var next = next_callback(); - if (!CHANNELS[next[1]].subscribed) return; - next[0]( msg, messages, next[1] ); - } ); - - timeout( _connect, windowing ); - } - }); - } - - CONNECT = function() { - // Close Previous Subscribe Connection - SELF['_reset_offline'](); - - // Begin Recursive Subscribe - clearTimeout(SUB_BUFF_WAIT); - SUB_BUFF_WAIT = timeout( _connect, 100 ); - }; - - // Reduce Status Flicker - if (!READY) return READY_BUFFER.push(CONNECT); - - // Connect Now - CONNECT(); - }, - - 'here_now' : function( args, callback ) { - var callback = args['callback'] || callback - , err = args['error'] || function(){} - , channel = args['channel'] - , jsonp = jsonp_cb() - , data = null; - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - if (jsonp != '0') { - data = {}; - data['callback'] = jsonp; - } - - xdr({ - callback : jsonp, - data : data, - success : function(response) { callback(response) }, - fail : err, - url : [ - STD_ORIGIN, 'v2', 'presence', - 'sub_key', SUBSCRIBE_KEY, - 'channel', encode(channel) - ] - }); - }, - - // Expose PUBNUB Functions - 'xdr' : xdr, - 'ready' : ready, - 'db' : db, - 'uuid' : uuid, - 'each' : each, - 'map' : map, - 'grep' : grep, - 'supplant' : supplant, - 'now' : rnow, - 'unique' : unique, - 'updater' : updater, - 'poll_online' : function() { - _is_online() || SELF['_reset_offline'](); - timeout( SELF['poll_online'], SECOND ); - }, - 'poll_online2' : function() { - SELF['time'](function(success){ - success || SELF['_reset_offline'](); - timeout( SELF['poll_online2'], KEEPALIVE ); - }) - } - }; - if (!UUID) UUID = SELF['uuid'](); - db['set']( SUBSCRIBE_KEY + 'uuid', UUID ); - - timeout( SELF['poll_online'], SECOND ); - timeout( SELF['poll_online2'], KEEPALIVE ); - - return SELF; -} -/* --------------------------------------------------------------------------- ---------------------------------------------------------------------------- */ - -/* --------------------------------------------------------------------------- -PubNub Real-time Cloud-Hosted Push API and Push Notification Client Frameworks -Copyright (c) 2011 PubNub Inc. -http://www.pubnub.com/ -http://www.pubnub.com/terms ---------------------------------------------------------------------------- */ - -/* --------------------------------------------------------------------------- -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. ---------------------------------------------------------------------------- */ -(function(){ - -/** - * UTIL LOCALS - */ -var NOW = 1 -, URLBIT = '/' -, PARAMSBIT = '&' -, XHRTME = 310000; - -/** - * UTILITIES - */ -//function unique() { return'x'+ ++NOW+''+(+new Date) } -//function rnow() { return+new Date } - -/** - * LOCAL STORAGE - */ -var db = (function(){ - var ls = typeof localStorage != 'undefined' && localStorage; - return { - get : function(key) { - try { - if (ls) return ls.getItem(key); - if (document.cookie.indexOf(key) == -1) return null; - return ((document.cookie||'').match( - RegExp(key+'=([^;]+)') - )||[])[1] || null; - } catch(e) { return } - }, - set : function( key, value ) { - try { - if (ls) return ls.setItem( key, value ) && 0; - document.cookie = key + '=' + value + - '; expires=Thu, 1 Aug 2030 20:00:00 UTC; path=/'; - } catch(e) { return } - } - }; -})(); - - -/** - * CORS XHR Request - * ================ - * xdr({ - * url : ['http://www.blah.com/url'], - * success : function(response) {}, - * fail : function() {} - * }); - */ -function xdr( setup ) { - var xhr - , finished = function() { - if (loaded) return; - loaded = 1; - - clearTimeout(timer); - - try { response = JSON['parse'](xhr.responseText); } - catch (r) { return done(1); } - - success(response); - } - , complete = 0 - , loaded = 0 - , timer = timeout( function(){done(1)}, XHRTME ) - , fail = setup.fail || function(){} - , success = setup.success || function(){} - , done = function(failed) { - if (complete) return; - complete = 1; - - clearTimeout(timer); - - if (xhr) { - xhr.onerror = xhr.onload = null; - xhr.abort && xhr.abort(); - xhr = null; - } - - failed && fail(); - }; - - // Send - try { - xhr = typeof XDomainRequest !== 'undefined' && - new XDomainRequest() || - new XMLHttpRequest(); - - xhr.onerror = xhr.onabort = function(){ done(1) }; - xhr.onload = xhr.onloadend = finished; - xhr.timeout = XHRTME; - url = setup.url.join(URLBIT); - if (setup.data) { - var params = []; - url += "?"; - for (key in setup.data) { - params.push(key+"="+setup.data[key]); - } - url += params.join(PARAMSBIT); - } - xhr.open( 'GET', url, true ); - xhr.send(); - } - catch(eee) { - done(0); - return xdr(setup); - } - - // Return 'done' - return done; -} - -/** - * BIND - * ==== - * bind( 'keydown', search('a')[0], function(element) { - * ... - * } ); - */ -function bind( type, el, fun ) { - each( type.split(','), function(etype) { - var rapfun = function(e) { - if (!e) e = window.event; - if (!fun(e)) { - e.cancelBubble = true; - e.returnValue = false; - e.preventDefault && e.preventDefault(); - e.stopPropagation && e.stopPropagation(); - } - }; - - if ( el.addEventListener ) el.addEventListener( etype, rapfun, false ); - else if ( el.attachEvent ) el.attachEvent( 'on' + etype, rapfun ); - else el[ 'on' + etype ] = rapfun; - } ); -} - -/** - * UNBIND - * ====== - * unbind( 'keydown', search('a')[0] ); - */ -function unbind( type, el, fun ) { - if ( el.removeEventListener ) el.removeEventListener( type, false ); - else if ( el.detachEvent ) el.detachEvent( 'on' + type, false ); - else el[ 'on' + type ] = null; -} - -/** - * LOG - * === - * var list = grep( [1,2,3], function(item) { return item % 2 } ) - */ -var log = function(){}; - -/** - * EVENTS - * ====== - * PUBNUB.events.bind( 'you-stepped-on-flower', function(message) { - * // Do Stuff with message - * } ); - * - * PUBNUB.events.fire( 'you-stepped-on-flower', "message-data" ); - * PUBNUB.events.fire( 'you-stepped-on-flower', {message:"data"} ); - * PUBNUB.events.fire( 'you-stepped-on-flower', [1,2,3] ); - * - */ -var events = { - 'list' : {}, - 'unbind' : function( name ) { events.list[name] = [] }, - 'bind' : function( name, fun ) { - (events.list[name] = events.list[name] || []).push(fun); - }, - 'fire' : function( name, data ) { - each( - events.list[name] || [], - function(fun) { fun(data) } - ); - } -}; - -/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= PUBNUB ===========================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -function PN(setup) { - - - setup['db'] = db; - setup['xdr'] = xdr; - var SELF = PN_API(setup); - - SELF['init'] = PN; - - - // Return without Testing - if (setup['notest']) return SELF; - - // Add Leave Functions - bind( 'beforeunload', window, function() { - each_channel(function(ch){ SELF['LEAVE']( ch.name, 1 ) }); - return true; - } ); - - bind( 'offline', window, SELF['_reset_offline'] ); - bind( 'offline', document, SELF['_reset_offline'] ); - - SELF['ready'](); - return SELF; -} - -typeof module !== 'undefined' && (module.exports = PN) || -typeof exports !== 'undefined' && (exports.PN = PN) || (PUBNUB = PN); - -})(); -var NOW = 1 -, READY = false -, READY_BUFFER = [] -, PRESENCE_SUFFIX = '-pnpres' -, DEF_WINDOWING = 10 // MILLISECONDS. -, DEF_TIMEOUT = 10000 // MILLISECONDS. -, DEF_SUB_TIMEOUT = 310 // SECONDS. -, DEF_KEEPALIVE = 60 // SECONDS. -, SECOND = 1000 // A THOUSAND MILLISECONDS. -, REPL = /{([\w\-]+)}/g; - -/** - * UTILITIES - */ -function unique() { return'x'+ ++NOW+''+(+new Date) } -function rnow() { return+new Date } - -/** - * NEXTORIGIN - * ========== - * var next_origin = nextorigin(); - */ -var nextorigin = (function() { - var max = 20 - , ori = Math.floor(Math.random() * max); - return function( origin, failover ) { - return origin.indexOf('pubsub.') > 0 - && origin.replace( - 'pubsub', 'ps' + ( - failover ? uuid().split('-')[0] : - (++ori < max? ori : ori=1) - ) ) || origin; - } -})(); - -/** - * UPDATER - * ======= - * var timestamp = unique(); - */ -function updater( fun, rate ) { - var timeout - , last = 0 - , runnit = function() { - if (last + rate > rnow()) { - clearTimeout(timeout); - timeout = setTimeout( runnit, rate ); - } - else { - last = rnow(); - fun(); - } - }; - - return runnit; -} - -/** - * GREP - * ==== - * var list = grep( [1,2,3], function(item) { return item % 2 } ) - */ -function grep( list, fun ) { - var fin = []; - each( list || [], function(l) { fun(l) && fin.push(l) } ); - return fin -} - -/** - * SUPPLANT - * ======== - * var text = supplant( 'Hello {name}!', { name : 'John' } ) - */ -function supplant( str, values ) { - return str.replace( REPL, function( _, match ) { - return values[match] || _ - } ); -} - -/** - * timeout - * ======= - * timeout( function(){}, 100 ); - */ -function timeout( fun, wait ) { - return setTimeout( fun, wait ); -} - -/** - * uuid - * ==== - * var my_uuid = uuid(); - */ -function uuid(callback) { - var u = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, - function(c) { - var r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8); - return v.toString(16); - }); - if (callback) callback(u); - return u; -} - -/** - * EACH - * ==== - * each( [1,2,3], function(item) { } ) - */ -function each( o, f ) { - if ( !o || !f ) return; - - if ( typeof o[0] != 'undefined' ) - for ( var i = 0, l = o.length; i < l; ) - f.call( o[i], o[i], i++ ); - else - for ( var i in o ) - o.hasOwnProperty && - o.hasOwnProperty(i) && - f.call( o[i], i, o[i] ); -} - -/** - * MAP - * === - * var list = map( [1,2,3], function(item) { return item + 1 } ) - */ -function map( list, fun ) { - var fin = []; - each( list || [], function( k, v ) { fin.push(fun( k, v )) } ); - return fin; -} - -/** - * ENCODE - * ====== - * var encoded_path = encode('path'); - */ -function encode(path) { - return map( (encodeURIComponent(path)).split(''), function(chr) { - return "-_.!~*'()".indexOf(chr) < 0 ? chr : - "%"+chr.charCodeAt(0).toString(16).toUpperCase() - } ).join(''); -} - -/** - * Generate Subscription Channel List - * ================================== - * generate_channel_list(channels_object); - */ -function generate_channel_list(channels) { - var list = []; - each( channels, function( channel, status ) { - if (status.subscribed) list.push(channel); - } ); - return list.sort(); -} - -// PUBNUB READY TO CONNECT - function ready() { timeout( function() { - if (READY) return; - READY = 1; - each( READY_BUFFER, function(connect) { connect() } ); - }, SECOND ); } - -function PN_API(setup) { - var SUB_WINDOWING = +setup['windowing'] || DEF_WINDOWING - , SUB_TIMEOUT = (+setup['timeout'] || DEF_SUB_TIMEOUT) * SECOND - , KEEPALIVE = (+setup['keepalive'] || DEF_KEEPALIVE) * SECOND - , PUBLISH_KEY = setup['publish_key'] || '' - , SUBSCRIBE_KEY = setup['subscribe_key'] || '' - , SSL = setup['ssl'] ? 's' : '' - , ORIGIN = 'http'+SSL+'://'+(setup['origin']||'pubsub.pubnub.com') - , STD_ORIGIN = nextorigin(ORIGIN) - , SUB_ORIGIN = nextorigin(ORIGIN) - , CONNECT = function(){} - , PUB_QUEUE = [] - , SUB_CALLBACK = 0 - , SUB_CHANNEL = 0 - , SUB_RECEIVER = 0 - , SUB_RESTORE = 0 - , SUB_BUFF_WAIT = 0 - , TIMETOKEN = 0 - , CHANNELS = {} - , xdr = setup['xdr'] - , _is_online = setup['_is_online'] || function() { return 1; } - , jsonp_cb = setup['jsonp_cb'] || function(){ return 0; } - , db = setup['db'] || {'get': function(){}, 'set': function(){}} - , UUID = setup['uuid'] || ( db && db['get'](SUBSCRIBE_KEY+'uuid') || ''); - - - - function publish(next) { - if (next) PUB_QUEUE.sending = 0; - if (PUB_QUEUE.sending || !PUB_QUEUE.length) return; - PUB_QUEUE.sending = 1; - xdr(PUB_QUEUE.shift()); - } - - function each_channel(callback) { - each( generate_channel_list(CHANNELS), function(channel) { - var chan = CHANNELS[channel]; - if (!chan) return; - callback(chan); - } ); - } - - // Announce Leave Event - - - var SELF = { - - '_reset_offline' : function() { - SUB_RECEIVER && SUB_RECEIVER(1); - }, - - 'LEAVE' : function( channel, blocking ) { - var data = { 'uuid' : UUID } - , origin = nextorigin(ORIGIN) - , jsonp = jsonp_cb(); - - // Prevent Leaving a Presence Channel - if (channel.indexOf(PRESENCE_SUFFIX) > 0) return; - - if (jsonp != '0') data['callback'] = jsonp; - - xdr({ - blocking : blocking || SSL, - timeout : 2000, - callback : jsonp, - data : data, - url : [ - origin, 'v2', 'presence', 'sub_key', - SUBSCRIBE_KEY, 'channel', encode(channel), 'leave' - ] - }); - }, - /* - PUBNUB.history({ - channel : 'my_chat_channel', - limit : 100, - callback : function(history) { } - }); - */ - 'history' : function( args, callback ) { - var callback = args['callback'] || callback - , count = args['count'] || args['limit'] || 100 - , reverse = args['reverse'] || "false" - , err = args['error'] || function(){} - , channel = args['channel'] - , start = args['start'] - , end = args['end'] - , params = {} - , jsonp = jsonp_cb(); - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - params['stringtoken'] = 'true'; - params['count'] = count; - params['reverse'] = reverse; - - if (jsonp) params['callback'] = jsonp; - if (start) params['start'] = start; - if (end) params['end'] = end; - - // Send Message - xdr({ - callback : jsonp, - data : params, - success : function(response) { callback(response) }, - fail : err, - url : [ - STD_ORIGIN, 'v2', 'history', 'sub-key', - SUBSCRIBE_KEY, 'channel', encode(channel) - ] - }); - }, - - /* - PUBNUB.replay({ - source : 'my_channel', - destination : 'new_channel' - }); - */ - 'replay' : function(args) { - var callback = callback || args['callback'] || function(){} - , source = args['source'] - , destination = args['destination'] - , stop = args['stop'] - , start = args['start'] - , end = args['end'] - , reverse = args['reverse'] - , limit = args['limit'] - , jsonp = jsonp_cb() - , data = {} - , url; - - // Check User Input - if (!source) return error('Missing Source Channel'); - if (!destination) return error('Missing Destination Channel'); - if (!PUBLISH_KEY) return error('Missing Publish Key'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // Setup URL Params - if (jsonp != '0') data['callback'] = jsonp; - if (stop) data['stop'] = 'all'; - if (reverse) data['reverse'] = 'true'; - if (start) data['start'] = start; - if (end) data['end'] = end; - if (limit) data['count'] = limit; - - // Compose URL Parts - url = [ - STD_ORIGIN, 'v1', 'replay', - PUBLISH_KEY, SUBSCRIBE_KEY, - source, destination - ]; - - // Start (or Stop) Replay! - xdr({ - callback : jsonp, - success : function(response) { callback(response) }, - fail : function() { callback([ 0, 'Disconnected' ]) }, - url : url, - data : data - }); - }, - - /* - PUBNUB.time(function(time){ }); - */ - 'time' : function(callback) { - var jsonp = jsonp_cb(); - xdr({ - callback : jsonp, - timeout : SECOND*5, - url : [STD_ORIGIN, 'time', jsonp], - success : function(response) { callback(response[0]) }, - fail : function() { callback(0) } - }); - }, - - /* - PUBNUB.publish({ - channel : 'my_chat_channel', - message : 'hello!' - }); - */ - 'publish' : function( args, callback ) { - var callback = callback || args['callback'] || function(){} - , msg = args['message'] - , channel = args['channel'] - , jsonp = jsonp_cb() - , url; - - if (!msg) return error('Missing Message'); - if (!channel) return error('Missing Channel'); - if (!PUBLISH_KEY) return error('Missing Publish Key'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // If trying to send Object - msg = JSON['stringify'](msg); - - // Create URL - url = [ - STD_ORIGIN, 'publish', - PUBLISH_KEY, SUBSCRIBE_KEY, - 0, encode(channel), - jsonp, encode(msg) - ]; - - // Queue Message Send - PUB_QUEUE.push({ - callback : jsonp, - timeout : SECOND*5, - url : url, - data : { 'uuid' : UUID }, - success : function(response){callback(response);publish(1)}, - fail : function(){callback([0,'Failed',msg]);publish(1)} - }); - - // Send Message - publish(); - }, - - /* - PUBNUB.unsubscribe({ channel : 'my_chat' }); - */ - 'unsubscribe' : function(args) { - var channel = args['channel']; - - TIMETOKEN = 0; - SUB_RESTORE = 1; - - // Prepare Channel(s) - channel = map( ( - channel.join ? channel.join(',') : ''+channel - ).split(','), function(channel) { - return channel + ',' + channel + PRESENCE_SUFFIX; - } ).join(','); - - // Iterate over Channels - each( channel.split(','), function(channel) { - if (READY) SELF['LEAVE']( channel, 0 ); - CHANNELS[channel] = 0; - } ); - - // ReOpen Connection if Any Channels Left - if (READY) CONNECT(); - }, - - /* - PUBNUB.subscribe({ - channel : 'my_chat' - callback : function(message) { } - }); - */ - 'subscribe' : function( args, callback ) { - var channel = args['channel'] - , callback = callback || args['callback'] - , callback = callback || args['message'] - , connect = args['connect'] || function(){} - , reconnect = args['reconnect'] || function(){} - , disconnect = args['disconnect'] || function(){} - , presence = args['presence'] || 0 - , noheresync = args['noheresync'] || 0 - , backfill = args['backfill'] || 0 - , sub_timeout = args['timeout'] || SUB_TIMEOUT - , windowing = args['windowing'] || SUB_WINDOWING - , restore = args['restore']; - - // Restore Enabled? - if (restore) SUB_RESTORE = 1; - - TIMETOKEN = 0; - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // Setup Channel(s) - each( (channel.join ? channel.join(',') : ''+channel).split(','), - function(channel) { - var settings = CHANNELS[channel] || {}; - - // Store Channel State - CHANNELS[SUB_CHANNEL = channel] = { - name : channel, - connected : settings.connected, - disconnected : settings.disconnected, - subscribed : 1, - callback : SUB_CALLBACK = callback, - connect : connect, - disconnect : disconnect, - reconnect : reconnect - }; - - // Presence Enabled? - if (!presence) return; - - // Subscribe Presence Channel - SELF['subscribe']({ - 'channel' : channel + PRESENCE_SUFFIX, - 'callback' : presence - }); - - // Presence Subscribed? - if (settings.subscribed) return; - - // See Who's Here Now? - if (noheresync) return; - SELF['here_now']({ - 'channel' : channel, - 'callback' : function(here) { - each( 'uuids' in here ? here['uuids'] : [], - function(uid) { presence( { - 'action' : 'join', - 'uuid' : uid, - 'timestamp' : rnow(), - 'occupancy' : here['occupancy'] || 1 - }, here, channel ); } ); - } - }); - } ); - - // Test Network Connection - function _test_connection(success) { - if (success) { - // Begin Next Socket Connection - timeout( _connect, SECOND ); - } - else { - // New Origin on Failed Connection - STD_ORIGIN = nextorigin( ORIGIN, 1 ); - SUB_ORIGIN = nextorigin( ORIGIN, 1 ); - - // Re-test Connection - timeout( function() { - SELF['time'](_test_connection); - }, SECOND ); - } - - // Disconnect & Reconnect - each_channel(function(channel){ - // Reconnect - if (success && channel.disconnected) { - channel.disconnected = 0; - return channel.reconnect(channel.name); - } - - // Disconnect - if (!success && !channel.disconnected) { - channel.disconnected = 1; - channel.disconnect(channel.name); - } - }); - } - - // Evented Subscribe - function _connect() { - var jsonp = jsonp_cb() - , channels = generate_channel_list(CHANNELS).join(','); - - // Stop Connection - if (!channels) return; - - // Connect to PubNub Subscribe Servers - SUB_RECEIVER = xdr({ - timeout : sub_timeout, - callback : jsonp, - fail : function() { SELF['time'](_test_connection) }, - data : { 'uuid' : UUID }, - url : [ - SUB_ORIGIN, 'subscribe', - SUBSCRIBE_KEY, encode(channels), - jsonp, TIMETOKEN - ], - success : function(messages) { - if (!messages) return timeout( _connect, windowing ); - - // Connect - each_channel(function(channel){ - if (channel.connected) return; - channel.connected = 1; - channel.connect(channel.name); - }); - - // Restore Previous Connection Point if Needed - TIMETOKEN = !TIMETOKEN && - SUB_RESTORE && - db['get'](SUBSCRIBE_KEY) || messages[1]; - - - if (backfill) { - Timetoken = 10000; - backfill = 0; - } - - // Update Saved Timetoken - db['set']( SUBSCRIBE_KEY, messages[1] ); - - // Route Channel <---> Callback for Message - var next_callback = (function() { - var channels = (messages.length>2?messages[2]:'') - , list = channels.split(','); - - return function() { - var channel = list.shift()||''; - return [ - (CHANNELS[channel]||{}) - .callback||SUB_CALLBACK, - (channel||SUB_CHANNEL) - .split(PRESENCE_SUFFIX)[0] - ]; - }; - })(); - - each( messages[0], function(msg) { - var next = next_callback(); - if (!CHANNELS[next[1]].subscribed) return; - next[0]( msg, messages, next[1] ); - } ); - - timeout( _connect, windowing ); - } - }); - } - - CONNECT = function() { - // Close Previous Subscribe Connection - SELF['_reset_offline'](); - - // Begin Recursive Subscribe - clearTimeout(SUB_BUFF_WAIT); - SUB_BUFF_WAIT = timeout( _connect, 100 ); - }; - - // Reduce Status Flicker - if (!READY) return READY_BUFFER.push(CONNECT); - - // Connect Now - CONNECT(); - }, - - 'here_now' : function( args, callback ) { - var callback = args['callback'] || callback - , err = args['error'] || function(){} - , channel = args['channel'] - , jsonp = jsonp_cb() - , data = null; - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - if (jsonp != '0') { - data = {}; - data['callback'] = jsonp; - } - - xdr({ - callback : jsonp, - data : data, - success : function(response) { callback(response) }, - fail : err, - url : [ - STD_ORIGIN, 'v2', 'presence', - 'sub_key', SUBSCRIBE_KEY, - 'channel', encode(channel) - ] - }); - }, - - // Expose PUBNUB Functions - 'xdr' : xdr, - 'ready' : ready, - 'db' : db, - 'uuid' : uuid, - 'each' : each, - 'map' : map, - 'grep' : grep, - 'supplant' : supplant, - 'now' : rnow, - 'unique' : unique, - 'updater' : updater, - 'poll_online' : function() { - _is_online() || SELF['_reset_offline'](); - timeout( SELF['poll_online'], SECOND ); - }, - 'poll_online2' : function() { - SELF['time'](function(success){ - success || SELF['_reset_offline'](); - timeout( SELF['poll_online2'], KEEPALIVE ); - }) - } - }; - if (!UUID) UUID = SELF['uuid'](); - db['set']( SUBSCRIBE_KEY + 'uuid', UUID ); - - timeout( SELF['poll_online'], SECOND ); - timeout( SELF['poll_online2'], KEEPALIVE ); - - return SELF; -} -/* --------------------------------------------------------------------------- ---------------------------------------------------------------------------- */ - -/* --------------------------------------------------------------------------- -PubNub Real-time Cloud-Hosted Push API and Push Notification Client Frameworks -Copyright (c) 2011 PubNub Inc. -http://www.pubnub.com/ -http://www.pubnub.com/terms ---------------------------------------------------------------------------- */ - -/* --------------------------------------------------------------------------- -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. ---------------------------------------------------------------------------- */ -(function(){ - -/** - * UTIL LOCALS - */ -var NOW = 1 -, URLBIT = '/' -, PARAMSBIT = '&' -, XHRTME = 310000; - -/** - * UTILITIES - */ -//function unique() { return'x'+ ++NOW+''+(+new Date) } -//function rnow() { return+new Date } - -/** - * LOCAL STORAGE - */ -var db = (function(){ - var ls = typeof localStorage != 'undefined' && localStorage; - return { - get : function(key) { - try { - if (ls) return ls.getItem(key); - if (document.cookie.indexOf(key) == -1) return null; - return ((document.cookie||'').match( - RegExp(key+'=([^;]+)') - )||[])[1] || null; - } catch(e) { return } - }, - set : function( key, value ) { - try { - if (ls) return ls.setItem( key, value ) && 0; - document.cookie = key + '=' + value + - '; expires=Thu, 1 Aug 2030 20:00:00 UTC; path=/'; - } catch(e) { return } - } - }; -})(); - - -/** - * CORS XHR Request - * ================ - * xdr({ - * url : ['http://www.blah.com/url'], - * success : function(response) {}, - * fail : function() {} - * }); - */ -function xdr( setup ) { - var xhr - , finished = function() { - if (loaded) return; - loaded = 1; - - clearTimeout(timer); - - try { response = JSON['parse'](xhr.responseText); } - catch (r) { return done(1); } - - success(response); - } - , complete = 0 - , loaded = 0 - , timer = timeout( function(){done(1)}, XHRTME ) - , fail = setup.fail || function(){} - , success = setup.success || function(){} - , done = function(failed) { - if (complete) return; - complete = 1; - - clearTimeout(timer); - - if (xhr) { - xhr.onerror = xhr.onload = null; - xhr.abort && xhr.abort(); - xhr = null; - } - - failed && fail(); - }; - - // Send - try { - xhr = typeof XDomainRequest !== 'undefined' && - new XDomainRequest() || - new XMLHttpRequest(); - - xhr.onerror = xhr.onabort = function(){ done(1) }; - xhr.onload = xhr.onloadend = finished; - xhr.timeout = XHRTME; - url = setup.url.join(URLBIT); - if (setup.data) { - var params = []; - url += "?"; - for (key in setup.data) { - params.push(key+"="+setup.data[key]); - } - url += params.join(PARAMSBIT); - } - xhr.open( 'GET', url, true ); - xhr.send(); - } - catch(eee) { - done(0); - return xdr(setup); - } - - // Return 'done' - return done; -} - -/** - * BIND - * ==== - * bind( 'keydown', search('a')[0], function(element) { - * ... - * } ); - */ -function bind( type, el, fun ) { - each( type.split(','), function(etype) { - var rapfun = function(e) { - if (!e) e = window.event; - if (!fun(e)) { - e.cancelBubble = true; - e.returnValue = false; - e.preventDefault && e.preventDefault(); - e.stopPropagation && e.stopPropagation(); - } - }; - - if ( el.addEventListener ) el.addEventListener( etype, rapfun, false ); - else if ( el.attachEvent ) el.attachEvent( 'on' + etype, rapfun ); - else el[ 'on' + etype ] = rapfun; - } ); -} - -/** - * UNBIND - * ====== - * unbind( 'keydown', search('a')[0] ); - */ -function unbind( type, el, fun ) { - if ( el.removeEventListener ) el.removeEventListener( type, false ); - else if ( el.detachEvent ) el.detachEvent( 'on' + type, false ); - else el[ 'on' + type ] = null; -} - -/** - * LOG - * === - * var list = grep( [1,2,3], function(item) { return item % 2 } ) - */ -var log = function(){}; - -/** - * EVENTS - * ====== - * PUBNUB.events.bind( 'you-stepped-on-flower', function(message) { - * // Do Stuff with message - * } ); - * - * PUBNUB.events.fire( 'you-stepped-on-flower', "message-data" ); - * PUBNUB.events.fire( 'you-stepped-on-flower', {message:"data"} ); - * PUBNUB.events.fire( 'you-stepped-on-flower', [1,2,3] ); - * - */ -var events = { - 'list' : {}, - 'unbind' : function( name ) { events.list[name] = [] }, - 'bind' : function( name, fun ) { - (events.list[name] = events.list[name] || []).push(fun); - }, - 'fire' : function( name, data ) { - each( - events.list[name] || [], - function(fun) { fun(data) } - ); - } -}; - -/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= PUBNUB ===========================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -function PN(setup) { - - - setup['db'] = db; - setup['xdr'] = xdr; - var SELF = PN_API(setup); - - SELF['init'] = PN; - - - // Return without Testing - if (setup['notest']) return SELF; - - // Add Leave Functions - bind( 'beforeunload', window, function() { - each_channel(function(ch){ SELF['LEAVE']( ch.name, 1 ) }); - return true; - } ); - - bind( 'offline', window, SELF['_reset_offline'] ); - bind( 'offline', document, SELF['_reset_offline'] ); - - SELF['ready'](); - return SELF; -} - -typeof module !== 'undefined' && (module.exports = PN) || -typeof exports !== 'undefined' && (exports.PN = PN) || (PUBNUB = PN); - -})(); -var NOW = 1 -, READY = false -, READY_BUFFER = [] -, PRESENCE_SUFFIX = '-pnpres' -, DEF_WINDOWING = 10 // MILLISECONDS. -, DEF_TIMEOUT = 10000 // MILLISECONDS. -, DEF_SUB_TIMEOUT = 310 // SECONDS. -, DEF_KEEPALIVE = 60 // SECONDS. -, SECOND = 1000 // A THOUSAND MILLISECONDS. -, REPL = /{([\w\-]+)}/g; - -/** - * UTILITIES - */ -function unique() { return'x'+ ++NOW+''+(+new Date) } -function rnow() { return+new Date } - -/** - * NEXTORIGIN - * ========== - * var next_origin = nextorigin(); - */ -var nextorigin = (function() { - var max = 20 - , ori = Math.floor(Math.random() * max); - return function( origin, failover ) { - return origin.indexOf('pubsub.') > 0 - && origin.replace( - 'pubsub', 'ps' + ( - failover ? uuid().split('-')[0] : - (++ori < max? ori : ori=1) - ) ) || origin; - } -})(); - -/** - * UPDATER - * ======= - * var timestamp = unique(); - */ -function updater( fun, rate ) { - var timeout - , last = 0 - , runnit = function() { - if (last + rate > rnow()) { - clearTimeout(timeout); - timeout = setTimeout( runnit, rate ); - } - else { - last = rnow(); - fun(); - } - }; - - return runnit; -} - -/** - * GREP - * ==== - * var list = grep( [1,2,3], function(item) { return item % 2 } ) - */ -function grep( list, fun ) { - var fin = []; - each( list || [], function(l) { fun(l) && fin.push(l) } ); - return fin -} - -/** - * SUPPLANT - * ======== - * var text = supplant( 'Hello {name}!', { name : 'John' } ) - */ -function supplant( str, values ) { - return str.replace( REPL, function( _, match ) { - return values[match] || _ - } ); -} - -/** - * timeout - * ======= - * timeout( function(){}, 100 ); - */ -function timeout( fun, wait ) { - return setTimeout( fun, wait ); -} - -/** - * uuid - * ==== - * var my_uuid = uuid(); - */ -function uuid(callback) { - var u = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, - function(c) { - var r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8); - return v.toString(16); - }); - if (callback) callback(u); - return u; -} - -/** - * EACH - * ==== - * each( [1,2,3], function(item) { } ) - */ -function each( o, f ) { - if ( !o || !f ) return; - - if ( typeof o[0] != 'undefined' ) - for ( var i = 0, l = o.length; i < l; ) - f.call( o[i], o[i], i++ ); - else - for ( var i in o ) - o.hasOwnProperty && - o.hasOwnProperty(i) && - f.call( o[i], i, o[i] ); -} - -/** - * MAP - * === - * var list = map( [1,2,3], function(item) { return item + 1 } ) - */ -function map( list, fun ) { - var fin = []; - each( list || [], function( k, v ) { fin.push(fun( k, v )) } ); - return fin; -} - -/** - * ENCODE - * ====== - * var encoded_path = encode('path'); - */ -function encode(path) { - return map( (encodeURIComponent(path)).split(''), function(chr) { - return "-_.!~*'()".indexOf(chr) < 0 ? chr : - "%"+chr.charCodeAt(0).toString(16).toUpperCase() - } ).join(''); -} - -/** - * Generate Subscription Channel List - * ================================== - * generate_channel_list(channels_object); - */ -function generate_channel_list(channels) { - var list = []; - each( channels, function( channel, status ) { - if (status.subscribed) list.push(channel); - } ); - return list.sort(); -} - -// PUBNUB READY TO CONNECT - function ready() { timeout( function() { - if (READY) return; - READY = 1; - each( READY_BUFFER, function(connect) { connect() } ); - }, SECOND ); } - -function PN_API(setup) { - var SUB_WINDOWING = +setup['windowing'] || DEF_WINDOWING - , SUB_TIMEOUT = (+setup['timeout'] || DEF_SUB_TIMEOUT) * SECOND - , KEEPALIVE = (+setup['keepalive'] || DEF_KEEPALIVE) * SECOND - , PUBLISH_KEY = setup['publish_key'] || '' - , SUBSCRIBE_KEY = setup['subscribe_key'] || '' - , SSL = setup['ssl'] ? 's' : '' - , ORIGIN = 'http'+SSL+'://'+(setup['origin']||'pubsub.pubnub.com') - , STD_ORIGIN = nextorigin(ORIGIN) - , SUB_ORIGIN = nextorigin(ORIGIN) - , CONNECT = function(){} - , PUB_QUEUE = [] - , SUB_CALLBACK = 0 - , SUB_CHANNEL = 0 - , SUB_RECEIVER = 0 - , SUB_RESTORE = 0 - , SUB_BUFF_WAIT = 0 - , TIMETOKEN = 0 - , CHANNELS = {} - , xdr = setup['xdr'] - , _is_online = setup['_is_online'] || function() { return 1; } - , jsonp_cb = setup['jsonp_cb'] || function(){ return 0; } - , db = setup['db'] || {'get': function(){}, 'set': function(){}} - , UUID = setup['uuid'] || ( db && db['get'](SUBSCRIBE_KEY+'uuid') || ''); - - - - function publish(next) { - if (next) PUB_QUEUE.sending = 0; - if (PUB_QUEUE.sending || !PUB_QUEUE.length) return; - PUB_QUEUE.sending = 1; - xdr(PUB_QUEUE.shift()); - } - - function each_channel(callback) { - each( generate_channel_list(CHANNELS), function(channel) { - var chan = CHANNELS[channel]; - if (!chan) return; - callback(chan); - } ); - } - - // Announce Leave Event - - - var SELF = { - - '_reset_offline' : function() { - SUB_RECEIVER && SUB_RECEIVER(1); - }, - - 'LEAVE' : function( channel, blocking ) { - var data = { 'uuid' : UUID } - , origin = nextorigin(ORIGIN) - , jsonp = jsonp_cb(); - - // Prevent Leaving a Presence Channel - if (channel.indexOf(PRESENCE_SUFFIX) > 0) return; - - if (jsonp != '0') data['callback'] = jsonp; - - xdr({ - blocking : blocking || SSL, - timeout : 2000, - callback : jsonp, - data : data, - url : [ - origin, 'v2', 'presence', 'sub_key', - SUBSCRIBE_KEY, 'channel', encode(channel), 'leave' - ] - }); - }, - /* - PUBNUB.history({ - channel : 'my_chat_channel', - limit : 100, - callback : function(history) { } - }); - */ - 'history' : function( args, callback ) { - var callback = args['callback'] || callback - , count = args['count'] || args['limit'] || 100 - , reverse = args['reverse'] || "false" - , err = args['error'] || function(){} - , channel = args['channel'] - , start = args['start'] - , end = args['end'] - , params = {} - , jsonp = jsonp_cb(); - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - params['stringtoken'] = 'true'; - params['count'] = count; - params['reverse'] = reverse; - - if (jsonp) params['callback'] = jsonp; - if (start) params['start'] = start; - if (end) params['end'] = end; - - // Send Message - xdr({ - callback : jsonp, - data : params, - success : function(response) { callback(response) }, - fail : err, - url : [ - STD_ORIGIN, 'v2', 'history', 'sub-key', - SUBSCRIBE_KEY, 'channel', encode(channel) - ] - }); - }, - - /* - PUBNUB.replay({ - source : 'my_channel', - destination : 'new_channel' - }); - */ - 'replay' : function(args) { - var callback = callback || args['callback'] || function(){} - , source = args['source'] - , destination = args['destination'] - , stop = args['stop'] - , start = args['start'] - , end = args['end'] - , reverse = args['reverse'] - , limit = args['limit'] - , jsonp = jsonp_cb() - , data = {} - , url; - - // Check User Input - if (!source) return error('Missing Source Channel'); - if (!destination) return error('Missing Destination Channel'); - if (!PUBLISH_KEY) return error('Missing Publish Key'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // Setup URL Params - if (jsonp != '0') data['callback'] = jsonp; - if (stop) data['stop'] = 'all'; - if (reverse) data['reverse'] = 'true'; - if (start) data['start'] = start; - if (end) data['end'] = end; - if (limit) data['count'] = limit; - - // Compose URL Parts - url = [ - STD_ORIGIN, 'v1', 'replay', - PUBLISH_KEY, SUBSCRIBE_KEY, - source, destination - ]; - - // Start (or Stop) Replay! - xdr({ - callback : jsonp, - success : function(response) { callback(response) }, - fail : function() { callback([ 0, 'Disconnected' ]) }, - url : url, - data : data - }); - }, - - /* - PUBNUB.time(function(time){ }); - */ - 'time' : function(callback) { - var jsonp = jsonp_cb(); - xdr({ - callback : jsonp, - timeout : SECOND*5, - url : [STD_ORIGIN, 'time', jsonp], - success : function(response) { callback(response[0]) }, - fail : function() { callback(0) } - }); - }, - - /* - PUBNUB.publish({ - channel : 'my_chat_channel', - message : 'hello!' - }); - */ - 'publish' : function( args, callback ) { - var callback = callback || args['callback'] || function(){} - , msg = args['message'] - , channel = args['channel'] - , jsonp = jsonp_cb() - , url; - - if (!msg) return error('Missing Message'); - if (!channel) return error('Missing Channel'); - if (!PUBLISH_KEY) return error('Missing Publish Key'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // If trying to send Object - msg = JSON['stringify'](msg); - - // Create URL - url = [ - STD_ORIGIN, 'publish', - PUBLISH_KEY, SUBSCRIBE_KEY, - 0, encode(channel), - jsonp, encode(msg) - ]; - - // Queue Message Send - PUB_QUEUE.push({ - callback : jsonp, - timeout : SECOND*5, - url : url, - data : { 'uuid' : UUID }, - success : function(response){callback(response);publish(1)}, - fail : function(){callback([0,'Failed',msg]);publish(1)} - }); - - // Send Message - publish(); - }, - - /* - PUBNUB.unsubscribe({ channel : 'my_chat' }); - */ - 'unsubscribe' : function(args) { - var channel = args['channel']; - - TIMETOKEN = 0; - SUB_RESTORE = 1; - - // Prepare Channel(s) - channel = map( ( - channel.join ? channel.join(',') : ''+channel - ).split(','), function(channel) { - return channel + ',' + channel + PRESENCE_SUFFIX; - } ).join(','); - - // Iterate over Channels - each( channel.split(','), function(channel) { - if (READY) SELF['LEAVE']( channel, 0 ); - CHANNELS[channel] = 0; - } ); - - // ReOpen Connection if Any Channels Left - if (READY) CONNECT(); - }, - - /* - PUBNUB.subscribe({ - channel : 'my_chat' - callback : function(message) { } - }); - */ - 'subscribe' : function( args, callback ) { - var channel = args['channel'] - , callback = callback || args['callback'] - , callback = callback || args['message'] - , connect = args['connect'] || function(){} - , reconnect = args['reconnect'] || function(){} - , disconnect = args['disconnect'] || function(){} - , presence = args['presence'] || 0 - , noheresync = args['noheresync'] || 0 - , backfill = args['backfill'] || 0 - , sub_timeout = args['timeout'] || SUB_TIMEOUT - , windowing = args['windowing'] || SUB_WINDOWING - , restore = args['restore']; - - // Restore Enabled? - if (restore) SUB_RESTORE = 1; - - TIMETOKEN = 0; - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // Setup Channel(s) - each( (channel.join ? channel.join(',') : ''+channel).split(','), - function(channel) { - var settings = CHANNELS[channel] || {}; - - // Store Channel State - CHANNELS[SUB_CHANNEL = channel] = { - name : channel, - connected : settings.connected, - disconnected : settings.disconnected, - subscribed : 1, - callback : SUB_CALLBACK = callback, - connect : connect, - disconnect : disconnect, - reconnect : reconnect - }; - - // Presence Enabled? - if (!presence) return; - - // Subscribe Presence Channel - SELF['subscribe']({ - 'channel' : channel + PRESENCE_SUFFIX, - 'callback' : presence - }); - - // Presence Subscribed? - if (settings.subscribed) return; - - // See Who's Here Now? - if (noheresync) return; - SELF['here_now']({ - 'channel' : channel, - 'callback' : function(here) { - each( 'uuids' in here ? here['uuids'] : [], - function(uid) { presence( { - 'action' : 'join', - 'uuid' : uid, - 'timestamp' : rnow(), - 'occupancy' : here['occupancy'] || 1 - }, here, channel ); } ); - } - }); - } ); - - // Test Network Connection - function _test_connection(success) { - if (success) { - // Begin Next Socket Connection - timeout( _connect, SECOND ); - } - else { - // New Origin on Failed Connection - STD_ORIGIN = nextorigin( ORIGIN, 1 ); - SUB_ORIGIN = nextorigin( ORIGIN, 1 ); - - // Re-test Connection - timeout( function() { - SELF['time'](_test_connection); - }, SECOND ); - } - - // Disconnect & Reconnect - each_channel(function(channel){ - // Reconnect - if (success && channel.disconnected) { - channel.disconnected = 0; - return channel.reconnect(channel.name); - } - - // Disconnect - if (!success && !channel.disconnected) { - channel.disconnected = 1; - channel.disconnect(channel.name); - } - }); - } - - // Evented Subscribe - function _connect() { - var jsonp = jsonp_cb() - , channels = generate_channel_list(CHANNELS).join(','); - - // Stop Connection - if (!channels) return; - - // Connect to PubNub Subscribe Servers - SUB_RECEIVER = xdr({ - timeout : sub_timeout, - callback : jsonp, - fail : function() { SELF['time'](_test_connection) }, - data : { 'uuid' : UUID }, - url : [ - SUB_ORIGIN, 'subscribe', - SUBSCRIBE_KEY, encode(channels), - jsonp, TIMETOKEN - ], - success : function(messages) { - if (!messages) return timeout( _connect, windowing ); - - // Connect - each_channel(function(channel){ - if (channel.connected) return; - channel.connected = 1; - channel.connect(channel.name); - }); - - // Restore Previous Connection Point if Needed - TIMETOKEN = !TIMETOKEN && - SUB_RESTORE && - db['get'](SUBSCRIBE_KEY) || messages[1]; - - - if (backfill) { - Timetoken = 10000; - backfill = 0; - } - - // Update Saved Timetoken - db['set']( SUBSCRIBE_KEY, messages[1] ); - - // Route Channel <---> Callback for Message - var next_callback = (function() { - var channels = (messages.length>2?messages[2]:'') - , list = channels.split(','); - - return function() { - var channel = list.shift()||''; - return [ - (CHANNELS[channel]||{}) - .callback||SUB_CALLBACK, - (channel||SUB_CHANNEL) - .split(PRESENCE_SUFFIX)[0] - ]; - }; - })(); - - each( messages[0], function(msg) { - var next = next_callback(); - if (!CHANNELS[next[1]].subscribed) return; - next[0]( msg, messages, next[1] ); - } ); - - timeout( _connect, windowing ); - } - }); - } - - CONNECT = function() { - // Close Previous Subscribe Connection - SELF['_reset_offline'](); - - // Begin Recursive Subscribe - clearTimeout(SUB_BUFF_WAIT); - SUB_BUFF_WAIT = timeout( _connect, 100 ); - }; - - // Reduce Status Flicker - if (!READY) return READY_BUFFER.push(CONNECT); - - // Connect Now - CONNECT(); - }, - - 'here_now' : function( args, callback ) { - var callback = args['callback'] || callback - , err = args['error'] || function(){} - , channel = args['channel'] - , jsonp = jsonp_cb() - , data = null; - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - if (jsonp != '0') { - data = {}; - data['callback'] = jsonp; - } - - xdr({ - callback : jsonp, - data : data, - success : function(response) { callback(response) }, - fail : err, - url : [ - STD_ORIGIN, 'v2', 'presence', - 'sub_key', SUBSCRIBE_KEY, - 'channel', encode(channel) - ] - }); - }, - - // Expose PUBNUB Functions - 'xdr' : xdr, - 'ready' : ready, - 'db' : db, - 'uuid' : uuid, - 'each' : each, - 'map' : map, - 'grep' : grep, - 'supplant' : supplant, - 'now' : rnow, - 'unique' : unique, - 'updater' : updater, - 'poll_online' : function() { - _is_online() || SELF['_reset_offline'](); - timeout( SELF['poll_online'], SECOND ); - }, - 'poll_online2' : function() { - SELF['time'](function(success){ - success || SELF['_reset_offline'](); - timeout( SELF['poll_online2'], KEEPALIVE ); - }) - } - }; - if (!UUID) UUID = SELF['uuid'](); - db['set']( SUBSCRIBE_KEY + 'uuid', UUID ); - - timeout( SELF['poll_online'], SECOND ); - timeout( SELF['poll_online2'], KEEPALIVE ); - - return SELF; -} -/* --------------------------------------------------------------------------- ---------------------------------------------------------------------------- */ - -/* --------------------------------------------------------------------------- -PubNub Real-time Cloud-Hosted Push API and Push Notification Client Frameworks -Copyright (c) 2011 PubNub Inc. -http://www.pubnub.com/ -http://www.pubnub.com/terms ---------------------------------------------------------------------------- */ - -/* --------------------------------------------------------------------------- -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. ---------------------------------------------------------------------------- */ -(function(){ - -/** - * UTIL LOCALS - */ -var NOW = 1 -, URLBIT = '/' -, PARAMSBIT = '&' -, XHRTME = 310000; - -/** - * UTILITIES - */ -//function unique() { return'x'+ ++NOW+''+(+new Date) } -//function rnow() { return+new Date } - -/** - * LOCAL STORAGE - */ -var db = (function(){ - var ls = typeof localStorage != 'undefined' && localStorage; - return { - get : function(key) { - try { - if (ls) return ls.getItem(key); - if (document.cookie.indexOf(key) == -1) return null; - return ((document.cookie||'').match( - RegExp(key+'=([^;]+)') - )||[])[1] || null; - } catch(e) { return } - }, - set : function( key, value ) { - try { - if (ls) return ls.setItem( key, value ) && 0; - document.cookie = key + '=' + value + - '; expires=Thu, 1 Aug 2030 20:00:00 UTC; path=/'; - } catch(e) { return } - } - }; -})(); - - -/** - * CORS XHR Request - * ================ - * xdr({ - * url : ['http://www.blah.com/url'], - * success : function(response) {}, - * fail : function() {} - * }); - */ -function xdr( setup ) { - var xhr - , finished = function() { - if (loaded) return; - loaded = 1; - - clearTimeout(timer); - - try { response = JSON['parse'](xhr.responseText); } - catch (r) { return done(1); } - - success(response); - } - , complete = 0 - , loaded = 0 - , timer = timeout( function(){done(1)}, XHRTME ) - , fail = setup.fail || function(){} - , success = setup.success || function(){} - , done = function(failed) { - if (complete) return; - complete = 1; - - clearTimeout(timer); - - if (xhr) { - xhr.onerror = xhr.onload = null; - xhr.abort && xhr.abort(); - xhr = null; - } - - failed && fail(); - }; - - // Send - try { - xhr = typeof XDomainRequest !== 'undefined' && - new XDomainRequest() || - new XMLHttpRequest(); - - xhr.onerror = xhr.onabort = function(){ done(1) }; - xhr.onload = xhr.onloadend = finished; - xhr.timeout = XHRTME; - url = setup.url.join(URLBIT); - if (setup.data) { - var params = []; - url += "?"; - for (key in setup.data) { - params.push(key+"="+setup.data[key]); - } - url += params.join(PARAMSBIT); - } - xhr.open( 'GET', url, true ); - xhr.send(); - } - catch(eee) { - done(0); - return xdr(setup); - } - - // Return 'done' - return done; -} - -/** - * BIND - * ==== - * bind( 'keydown', search('a')[0], function(element) { - * ... - * } ); - */ -function bind( type, el, fun ) { - each( type.split(','), function(etype) { - var rapfun = function(e) { - if (!e) e = window.event; - if (!fun(e)) { - e.cancelBubble = true; - e.returnValue = false; - e.preventDefault && e.preventDefault(); - e.stopPropagation && e.stopPropagation(); - } - }; - - if ( el.addEventListener ) el.addEventListener( etype, rapfun, false ); - else if ( el.attachEvent ) el.attachEvent( 'on' + etype, rapfun ); - else el[ 'on' + etype ] = rapfun; - } ); -} - -/** - * UNBIND - * ====== - * unbind( 'keydown', search('a')[0] ); - */ -function unbind( type, el, fun ) { - if ( el.removeEventListener ) el.removeEventListener( type, false ); - else if ( el.detachEvent ) el.detachEvent( 'on' + type, false ); - else el[ 'on' + type ] = null; -} - -/** - * LOG - * === - * var list = grep( [1,2,3], function(item) { return item % 2 } ) - */ -var log = function(){}; - -/** - * EVENTS - * ====== - * PUBNUB.events.bind( 'you-stepped-on-flower', function(message) { - * // Do Stuff with message - * } ); - * - * PUBNUB.events.fire( 'you-stepped-on-flower', "message-data" ); - * PUBNUB.events.fire( 'you-stepped-on-flower', {message:"data"} ); - * PUBNUB.events.fire( 'you-stepped-on-flower', [1,2,3] ); - * - */ -var events = { - 'list' : {}, - 'unbind' : function( name ) { events.list[name] = [] }, - 'bind' : function( name, fun ) { - (events.list[name] = events.list[name] || []).push(fun); - }, - 'fire' : function( name, data ) { - each( - events.list[name] || [], - function(fun) { fun(data) } - ); - } -}; - -/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= PUBNUB ===========================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -function PN(setup) { - - - setup['db'] = db; - setup['xdr'] = xdr; - var SELF = PN_API(setup); - - SELF['init'] = PN; - - - // Return without Testing - if (setup['notest']) return SELF; - - // Add Leave Functions - bind( 'beforeunload', window, function() { - each_channel(function(ch){ SELF['LEAVE']( ch.name, 1 ) }); - return true; - } ); - - bind( 'offline', window, SELF['_reset_offline'] ); - bind( 'offline', document, SELF['_reset_offline'] ); - - SELF['ready'](); - return SELF; -} - -typeof module !== 'undefined' && (module.exports = PN) || -typeof exports !== 'undefined' && (exports.PN = PN) || (PUBNUB = PN); - -})(); -var NOW = 1 -, READY = false -, READY_BUFFER = [] -, PRESENCE_SUFFIX = '-pnpres' -, DEF_WINDOWING = 10 // MILLISECONDS. -, DEF_TIMEOUT = 10000 // MILLISECONDS. -, DEF_SUB_TIMEOUT = 310 // SECONDS. -, DEF_KEEPALIVE = 60 // SECONDS. -, SECOND = 1000 // A THOUSAND MILLISECONDS. -, REPL = /{([\w\-]+)}/g; - -/** - * UTILITIES - */ -function unique() { return'x'+ ++NOW+''+(+new Date) } -function rnow() { return+new Date } - -/** - * NEXTORIGIN - * ========== - * var next_origin = nextorigin(); - */ -var nextorigin = (function() { - var max = 20 - , ori = Math.floor(Math.random() * max); - return function( origin, failover ) { - return origin.indexOf('pubsub.') > 0 - && origin.replace( - 'pubsub', 'ps' + ( - failover ? uuid().split('-')[0] : - (++ori < max? ori : ori=1) - ) ) || origin; - } -})(); - -/** - * UPDATER - * ======= - * var timestamp = unique(); - */ -function updater( fun, rate ) { - var timeout - , last = 0 - , runnit = function() { - if (last + rate > rnow()) { - clearTimeout(timeout); - timeout = setTimeout( runnit, rate ); - } - else { - last = rnow(); - fun(); - } - }; - - return runnit; -} - -/** - * GREP - * ==== - * var list = grep( [1,2,3], function(item) { return item % 2 } ) - */ -function grep( list, fun ) { - var fin = []; - each( list || [], function(l) { fun(l) && fin.push(l) } ); - return fin -} - -/** - * SUPPLANT - * ======== - * var text = supplant( 'Hello {name}!', { name : 'John' } ) - */ -function supplant( str, values ) { - return str.replace( REPL, function( _, match ) { - return values[match] || _ - } ); -} - -/** - * timeout - * ======= - * timeout( function(){}, 100 ); - */ -function timeout( fun, wait ) { - return setTimeout( fun, wait ); -} - -/** - * uuid - * ==== - * var my_uuid = uuid(); - */ -function uuid(callback) { - var u = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, - function(c) { - var r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8); - return v.toString(16); - }); - if (callback) callback(u); - return u; -} - -/** - * EACH - * ==== - * each( [1,2,3], function(item) { } ) - */ -function each( o, f ) { - if ( !o || !f ) return; - - if ( typeof o[0] != 'undefined' ) - for ( var i = 0, l = o.length; i < l; ) - f.call( o[i], o[i], i++ ); - else - for ( var i in o ) - o.hasOwnProperty && - o.hasOwnProperty(i) && - f.call( o[i], i, o[i] ); -} - -/** - * MAP - * === - * var list = map( [1,2,3], function(item) { return item + 1 } ) - */ -function map( list, fun ) { - var fin = []; - each( list || [], function( k, v ) { fin.push(fun( k, v )) } ); - return fin; -} - -/** - * ENCODE - * ====== - * var encoded_path = encode('path'); - */ -function encode(path) { - return map( (encodeURIComponent(path)).split(''), function(chr) { - return "-_.!~*'()".indexOf(chr) < 0 ? chr : - "%"+chr.charCodeAt(0).toString(16).toUpperCase() - } ).join(''); -} - -/** - * Generate Subscription Channel List - * ================================== - * generate_channel_list(channels_object); - */ -function generate_channel_list(channels) { - var list = []; - each( channels, function( channel, status ) { - if (status.subscribed) list.push(channel); - } ); - return list.sort(); -} - -// PUBNUB READY TO CONNECT - function ready() { timeout( function() { - if (READY) return; - READY = 1; - each( READY_BUFFER, function(connect) { connect() } ); - }, SECOND ); } - -function PN_API(setup) { - var SUB_WINDOWING = +setup['windowing'] || DEF_WINDOWING - , SUB_TIMEOUT = (+setup['timeout'] || DEF_SUB_TIMEOUT) * SECOND - , KEEPALIVE = (+setup['keepalive'] || DEF_KEEPALIVE) * SECOND - , PUBLISH_KEY = setup['publish_key'] || '' - , SUBSCRIBE_KEY = setup['subscribe_key'] || '' - , SSL = setup['ssl'] ? 's' : '' - , ORIGIN = 'http'+SSL+'://'+(setup['origin']||'pubsub.pubnub.com') - , STD_ORIGIN = nextorigin(ORIGIN) - , SUB_ORIGIN = nextorigin(ORIGIN) - , CONNECT = function(){} - , PUB_QUEUE = [] - , SUB_CALLBACK = 0 - , SUB_CHANNEL = 0 - , SUB_RECEIVER = 0 - , SUB_RESTORE = 0 - , SUB_BUFF_WAIT = 0 - , TIMETOKEN = 0 - , CHANNELS = {} - , xdr = setup['xdr'] - , _is_online = setup['_is_online'] || function() { return 1; } - , jsonp_cb = setup['jsonp_cb'] || function(){ return 0; } - , db = setup['db'] || {'get': function(){}, 'set': function(){}} - , UUID = setup['uuid'] || ( db && db['get'](SUBSCRIBE_KEY+'uuid') || ''); - - - - function publish(next) { - if (next) PUB_QUEUE.sending = 0; - if (PUB_QUEUE.sending || !PUB_QUEUE.length) return; - PUB_QUEUE.sending = 1; - xdr(PUB_QUEUE.shift()); - } - - function each_channel(callback) { - each( generate_channel_list(CHANNELS), function(channel) { - var chan = CHANNELS[channel]; - if (!chan) return; - callback(chan); - } ); - } - - // Announce Leave Event - - - var SELF = { - - '_reset_offline' : function() { - SUB_RECEIVER && SUB_RECEIVER(1); - }, - - 'LEAVE' : function( channel, blocking ) { - var data = { 'uuid' : UUID } - , origin = nextorigin(ORIGIN) - , jsonp = jsonp_cb(); - - // Prevent Leaving a Presence Channel - if (channel.indexOf(PRESENCE_SUFFIX) > 0) return; - - if (jsonp != '0') data['callback'] = jsonp; - - xdr({ - blocking : blocking || SSL, - timeout : 2000, - callback : jsonp, - data : data, - url : [ - origin, 'v2', 'presence', 'sub_key', - SUBSCRIBE_KEY, 'channel', encode(channel), 'leave' - ] - }); - }, - /* - PUBNUB.history({ - channel : 'my_chat_channel', - limit : 100, - callback : function(history) { } - }); - */ - 'history' : function( args, callback ) { - var callback = args['callback'] || callback - , count = args['count'] || args['limit'] || 100 - , reverse = args['reverse'] || "false" - , err = args['error'] || function(){} - , channel = args['channel'] - , start = args['start'] - , end = args['end'] - , params = {} - , jsonp = jsonp_cb(); - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - params['stringtoken'] = 'true'; - params['count'] = count; - params['reverse'] = reverse; - - if (jsonp) params['callback'] = jsonp; - if (start) params['start'] = start; - if (end) params['end'] = end; - - // Send Message - xdr({ - callback : jsonp, - data : params, - success : function(response) { callback(response) }, - fail : err, - url : [ - STD_ORIGIN, 'v2', 'history', 'sub-key', - SUBSCRIBE_KEY, 'channel', encode(channel) - ] - }); - }, - - /* - PUBNUB.replay({ - source : 'my_channel', - destination : 'new_channel' - }); - */ - 'replay' : function(args) { - var callback = callback || args['callback'] || function(){} - , source = args['source'] - , destination = args['destination'] - , stop = args['stop'] - , start = args['start'] - , end = args['end'] - , reverse = args['reverse'] - , limit = args['limit'] - , jsonp = jsonp_cb() - , data = {} - , url; - - // Check User Input - if (!source) return error('Missing Source Channel'); - if (!destination) return error('Missing Destination Channel'); - if (!PUBLISH_KEY) return error('Missing Publish Key'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // Setup URL Params - if (jsonp != '0') data['callback'] = jsonp; - if (stop) data['stop'] = 'all'; - if (reverse) data['reverse'] = 'true'; - if (start) data['start'] = start; - if (end) data['end'] = end; - if (limit) data['count'] = limit; - - // Compose URL Parts - url = [ - STD_ORIGIN, 'v1', 'replay', - PUBLISH_KEY, SUBSCRIBE_KEY, - source, destination - ]; - - // Start (or Stop) Replay! - xdr({ - callback : jsonp, - success : function(response) { callback(response) }, - fail : function() { callback([ 0, 'Disconnected' ]) }, - url : url, - data : data - }); - }, - - /* - PUBNUB.time(function(time){ }); - */ - 'time' : function(callback) { - var jsonp = jsonp_cb(); - xdr({ - callback : jsonp, - timeout : SECOND*5, - url : [STD_ORIGIN, 'time', jsonp], - success : function(response) { callback(response[0]) }, - fail : function() { callback(0) } - }); - }, - - /* - PUBNUB.publish({ - channel : 'my_chat_channel', - message : 'hello!' - }); - */ - 'publish' : function( args, callback ) { - var callback = callback || args['callback'] || function(){} - , msg = args['message'] - , channel = args['channel'] - , jsonp = jsonp_cb() - , url; - - if (!msg) return error('Missing Message'); - if (!channel) return error('Missing Channel'); - if (!PUBLISH_KEY) return error('Missing Publish Key'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // If trying to send Object - msg = JSON['stringify'](msg); - - // Create URL - url = [ - STD_ORIGIN, 'publish', - PUBLISH_KEY, SUBSCRIBE_KEY, - 0, encode(channel), - jsonp, encode(msg) - ]; - - // Queue Message Send - PUB_QUEUE.push({ - callback : jsonp, - timeout : SECOND*5, - url : url, - data : { 'uuid' : UUID }, - success : function(response){callback(response);publish(1)}, - fail : function(){callback([0,'Failed',msg]);publish(1)} - }); - - // Send Message - publish(); - }, - - /* - PUBNUB.unsubscribe({ channel : 'my_chat' }); - */ - 'unsubscribe' : function(args) { - var channel = args['channel']; - - TIMETOKEN = 0; - SUB_RESTORE = 1; - - // Prepare Channel(s) - channel = map( ( - channel.join ? channel.join(',') : ''+channel - ).split(','), function(channel) { - return channel + ',' + channel + PRESENCE_SUFFIX; - } ).join(','); - - // Iterate over Channels - each( channel.split(','), function(channel) { - if (READY) SELF['LEAVE']( channel, 0 ); - CHANNELS[channel] = 0; - } ); - - // ReOpen Connection if Any Channels Left - if (READY) CONNECT(); - }, - - /* - PUBNUB.subscribe({ - channel : 'my_chat' - callback : function(message) { } - }); - */ - 'subscribe' : function( args, callback ) { - var channel = args['channel'] - , callback = callback || args['callback'] - , callback = callback || args['message'] - , connect = args['connect'] || function(){} - , reconnect = args['reconnect'] || function(){} - , disconnect = args['disconnect'] || function(){} - , presence = args['presence'] || 0 - , noheresync = args['noheresync'] || 0 - , backfill = args['backfill'] || 0 - , sub_timeout = args['timeout'] || SUB_TIMEOUT - , windowing = args['windowing'] || SUB_WINDOWING - , restore = args['restore']; - - // Restore Enabled? - if (restore) SUB_RESTORE = 1; - - TIMETOKEN = 0; - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // Setup Channel(s) - each( (channel.join ? channel.join(',') : ''+channel).split(','), - function(channel) { - var settings = CHANNELS[channel] || {}; - - // Store Channel State - CHANNELS[SUB_CHANNEL = channel] = { - name : channel, - connected : settings.connected, - disconnected : settings.disconnected, - subscribed : 1, - callback : SUB_CALLBACK = callback, - connect : connect, - disconnect : disconnect, - reconnect : reconnect - }; - - // Presence Enabled? - if (!presence) return; - - // Subscribe Presence Channel - SELF['subscribe']({ - 'channel' : channel + PRESENCE_SUFFIX, - 'callback' : presence - }); - - // Presence Subscribed? - if (settings.subscribed) return; - - // See Who's Here Now? - if (noheresync) return; - SELF['here_now']({ - 'channel' : channel, - 'callback' : function(here) { - each( 'uuids' in here ? here['uuids'] : [], - function(uid) { presence( { - 'action' : 'join', - 'uuid' : uid, - 'timestamp' : rnow(), - 'occupancy' : here['occupancy'] || 1 - }, here, channel ); } ); - } - }); - } ); - - // Test Network Connection - function _test_connection(success) { - if (success) { - // Begin Next Socket Connection - timeout( _connect, SECOND ); - } - else { - // New Origin on Failed Connection - STD_ORIGIN = nextorigin( ORIGIN, 1 ); - SUB_ORIGIN = nextorigin( ORIGIN, 1 ); - - // Re-test Connection - timeout( function() { - SELF['time'](_test_connection); - }, SECOND ); - } - - // Disconnect & Reconnect - each_channel(function(channel){ - // Reconnect - if (success && channel.disconnected) { - channel.disconnected = 0; - return channel.reconnect(channel.name); - } - - // Disconnect - if (!success && !channel.disconnected) { - channel.disconnected = 1; - channel.disconnect(channel.name); - } - }); - } - - // Evented Subscribe - function _connect() { - var jsonp = jsonp_cb() - , channels = generate_channel_list(CHANNELS).join(','); - - // Stop Connection - if (!channels) return; - - // Connect to PubNub Subscribe Servers - SUB_RECEIVER = xdr({ - timeout : sub_timeout, - callback : jsonp, - fail : function() { SELF['time'](_test_connection) }, - data : { 'uuid' : UUID }, - url : [ - SUB_ORIGIN, 'subscribe', - SUBSCRIBE_KEY, encode(channels), - jsonp, TIMETOKEN - ], - success : function(messages) { - if (!messages) return timeout( _connect, windowing ); - - // Connect - each_channel(function(channel){ - if (channel.connected) return; - channel.connected = 1; - channel.connect(channel.name); - }); - - // Restore Previous Connection Point if Needed - TIMETOKEN = !TIMETOKEN && - SUB_RESTORE && - db['get'](SUBSCRIBE_KEY) || messages[1]; - - - if (backfill) { - Timetoken = 10000; - backfill = 0; - } - - // Update Saved Timetoken - db['set']( SUBSCRIBE_KEY, messages[1] ); - - // Route Channel <---> Callback for Message - var next_callback = (function() { - var channels = (messages.length>2?messages[2]:'') - , list = channels.split(','); - - return function() { - var channel = list.shift()||''; - return [ - (CHANNELS[channel]||{}) - .callback||SUB_CALLBACK, - (channel||SUB_CHANNEL) - .split(PRESENCE_SUFFIX)[0] - ]; - }; - })(); - - each( messages[0], function(msg) { - var next = next_callback(); - if (!CHANNELS[next[1]].subscribed) return; - next[0]( msg, messages, next[1] ); - } ); - - timeout( _connect, windowing ); - } - }); - } - - CONNECT = function() { - // Close Previous Subscribe Connection - SELF['_reset_offline'](); - - // Begin Recursive Subscribe - clearTimeout(SUB_BUFF_WAIT); - SUB_BUFF_WAIT = timeout( _connect, 100 ); - }; - - // Reduce Status Flicker - if (!READY) return READY_BUFFER.push(CONNECT); - - // Connect Now - CONNECT(); - }, - - 'here_now' : function( args, callback ) { - var callback = args['callback'] || callback - , err = args['error'] || function(){} - , channel = args['channel'] - , jsonp = jsonp_cb() - , data = null; - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - if (jsonp != '0') { - data = {}; - data['callback'] = jsonp; - } - - xdr({ - callback : jsonp, - data : data, - success : function(response) { callback(response) }, - fail : err, - url : [ - STD_ORIGIN, 'v2', 'presence', - 'sub_key', SUBSCRIBE_KEY, - 'channel', encode(channel) - ] - }); - }, - - // Expose PUBNUB Functions - 'xdr' : xdr, - 'ready' : ready, - 'db' : db, - 'uuid' : uuid, - 'each' : each, - 'map' : map, - 'grep' : grep, - 'supplant' : supplant, - 'now' : rnow, - 'unique' : unique, - 'updater' : updater, - 'poll_online' : function() { - _is_online() || SELF['_reset_offline'](); - timeout( SELF['poll_online'], SECOND ); - }, - 'poll_online2' : function() { - SELF['time'](function(success){ - success || SELF['_reset_offline'](); - timeout( SELF['poll_online2'], KEEPALIVE ); - }) - } - }; - if (!UUID) UUID = SELF['uuid'](); - db['set']( SUBSCRIBE_KEY + 'uuid', UUID ); - - timeout( SELF['poll_online'], SECOND ); - timeout( SELF['poll_online2'], KEEPALIVE ); - - return SELF; -} -/* --------------------------------------------------------------------------- ---------------------------------------------------------------------------- */ - -/* --------------------------------------------------------------------------- -PubNub Real-time Cloud-Hosted Push API and Push Notification Client Frameworks -Copyright (c) 2011 PubNub Inc. -http://www.pubnub.com/ -http://www.pubnub.com/terms ---------------------------------------------------------------------------- */ - -/* --------------------------------------------------------------------------- -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. ---------------------------------------------------------------------------- */ -(function(){ - -/** - * UTIL LOCALS - */ -var NOW = 1 -, URLBIT = '/' -, PARAMSBIT = '&' -, XHRTME = 310000; - -/** - * UTILITIES - */ -//function unique() { return'x'+ ++NOW+''+(+new Date) } -//function rnow() { return+new Date } - -/** - * LOCAL STORAGE - */ -var db = (function(){ - var ls = typeof localStorage != 'undefined' && localStorage; - return { - get : function(key) { - try { - if (ls) return ls.getItem(key); - if (document.cookie.indexOf(key) == -1) return null; - return ((document.cookie||'').match( - RegExp(key+'=([^;]+)') - )||[])[1] || null; - } catch(e) { return } - }, - set : function( key, value ) { - try { - if (ls) return ls.setItem( key, value ) && 0; - document.cookie = key + '=' + value + - '; expires=Thu, 1 Aug 2030 20:00:00 UTC; path=/'; - } catch(e) { return } - } - }; -})(); - - -/** - * CORS XHR Request - * ================ - * xdr({ - * url : ['http://www.blah.com/url'], - * success : function(response) {}, - * fail : function() {} - * }); - */ -function xdr( setup ) { - var xhr - , finished = function() { - if (loaded) return; - loaded = 1; - - clearTimeout(timer); - - try { response = JSON['parse'](xhr.responseText); } - catch (r) { return done(1); } - - success(response); - } - , complete = 0 - , loaded = 0 - , timer = timeout( function(){done(1)}, XHRTME ) - , fail = setup.fail || function(){} - , success = setup.success || function(){} - , done = function(failed) { - if (complete) return; - complete = 1; - - clearTimeout(timer); - - if (xhr) { - xhr.onerror = xhr.onload = null; - xhr.abort && xhr.abort(); - xhr = null; - } - - failed && fail(); - }; - - // Send - try { - xhr = typeof XDomainRequest !== 'undefined' && - new XDomainRequest() || - new XMLHttpRequest(); - - xhr.onerror = xhr.onabort = function(){ done(1) }; - xhr.onload = xhr.onloadend = finished; - xhr.timeout = XHRTME; - url = setup.url.join(URLBIT); - if (setup.data) { - var params = []; - url += "?"; - for (key in setup.data) { - params.push(key+"="+setup.data[key]); - } - url += params.join(PARAMSBIT); - } - xhr.open( 'GET', url, true ); - xhr.send(); - } - catch(eee) { - done(0); - return xdr(setup); - } - - // Return 'done' - return done; -} - -/** - * BIND - * ==== - * bind( 'keydown', search('a')[0], function(element) { - * ... - * } ); - */ -function bind( type, el, fun ) { - each( type.split(','), function(etype) { - var rapfun = function(e) { - if (!e) e = window.event; - if (!fun(e)) { - e.cancelBubble = true; - e.returnValue = false; - e.preventDefault && e.preventDefault(); - e.stopPropagation && e.stopPropagation(); - } - }; - - if ( el.addEventListener ) el.addEventListener( etype, rapfun, false ); - else if ( el.attachEvent ) el.attachEvent( 'on' + etype, rapfun ); - else el[ 'on' + etype ] = rapfun; - } ); -} - -/** - * UNBIND - * ====== - * unbind( 'keydown', search('a')[0] ); - */ -function unbind( type, el, fun ) { - if ( el.removeEventListener ) el.removeEventListener( type, false ); - else if ( el.detachEvent ) el.detachEvent( 'on' + type, false ); - else el[ 'on' + type ] = null; -} - -/** - * LOG - * === - * var list = grep( [1,2,3], function(item) { return item % 2 } ) - */ -var log = function(){}; - -/** - * EVENTS - * ====== - * PUBNUB.events.bind( 'you-stepped-on-flower', function(message) { - * // Do Stuff with message - * } ); - * - * PUBNUB.events.fire( 'you-stepped-on-flower', "message-data" ); - * PUBNUB.events.fire( 'you-stepped-on-flower', {message:"data"} ); - * PUBNUB.events.fire( 'you-stepped-on-flower', [1,2,3] ); - * - */ -var events = { - 'list' : {}, - 'unbind' : function( name ) { events.list[name] = [] }, - 'bind' : function( name, fun ) { - (events.list[name] = events.list[name] || []).push(fun); - }, - 'fire' : function( name, data ) { - each( - events.list[name] || [], - function(fun) { fun(data) } - ); - } -}; - -/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= PUBNUB ===========================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -function PN(setup) { - - - setup['db'] = db; - setup['xdr'] = xdr; - var SELF = PN_API(setup); - - SELF['init'] = PN; - - - // Return without Testing - if (setup['notest']) return SELF; - - // Add Leave Functions - bind( 'beforeunload', window, function() { - each_channel(function(ch){ SELF['LEAVE']( ch.name, 1 ) }); - return true; - } ); - - bind( 'offline', window, SELF['_reset_offline'] ); - bind( 'offline', document, SELF['_reset_offline'] ); - - SELF['ready'](); - return SELF; -} - -typeof module !== 'undefined' && (module.exports = PN) || -typeof exports !== 'undefined' && (exports.PN = PN) || (PUBNUB = PN); - -})(); -var NOW = 1 -, READY = false -, READY_BUFFER = [] -, PRESENCE_SUFFIX = '-pnpres' -, DEF_WINDOWING = 10 // MILLISECONDS. -, DEF_TIMEOUT = 10000 // MILLISECONDS. -, DEF_SUB_TIMEOUT = 310 // SECONDS. -, DEF_KEEPALIVE = 60 // SECONDS. -, SECOND = 1000 // A THOUSAND MILLISECONDS. -, REPL = /{([\w\-]+)}/g; - -/** - * UTILITIES - */ -function unique() { return'x'+ ++NOW+''+(+new Date) } -function rnow() { return+new Date } - -/** - * NEXTORIGIN - * ========== - * var next_origin = nextorigin(); - */ -var nextorigin = (function() { - var max = 20 - , ori = Math.floor(Math.random() * max); - return function( origin, failover ) { - return origin.indexOf('pubsub.') > 0 - && origin.replace( - 'pubsub', 'ps' + ( - failover ? uuid().split('-')[0] : - (++ori < max? ori : ori=1) - ) ) || origin; - } -})(); - -/** - * UPDATER - * ======= - * var timestamp = unique(); - */ -function updater( fun, rate ) { - var timeout - , last = 0 - , runnit = function() { - if (last + rate > rnow()) { - clearTimeout(timeout); - timeout = setTimeout( runnit, rate ); - } - else { - last = rnow(); - fun(); - } - }; - - return runnit; -} - -/** - * GREP - * ==== - * var list = grep( [1,2,3], function(item) { return item % 2 } ) - */ -function grep( list, fun ) { - var fin = []; - each( list || [], function(l) { fun(l) && fin.push(l) } ); - return fin -} - -/** - * SUPPLANT - * ======== - * var text = supplant( 'Hello {name}!', { name : 'John' } ) - */ -function supplant( str, values ) { - return str.replace( REPL, function( _, match ) { - return values[match] || _ - } ); -} - -/** - * timeout - * ======= - * timeout( function(){}, 100 ); - */ -function timeout( fun, wait ) { - return setTimeout( fun, wait ); -} - -/** - * uuid - * ==== - * var my_uuid = uuid(); - */ -function uuid(callback) { - var u = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, - function(c) { - var r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8); - return v.toString(16); - }); - if (callback) callback(u); - return u; -} - -/** - * EACH - * ==== - * each( [1,2,3], function(item) { } ) - */ -function each( o, f ) { - if ( !o || !f ) return; - - if ( typeof o[0] != 'undefined' ) - for ( var i = 0, l = o.length; i < l; ) - f.call( o[i], o[i], i++ ); - else - for ( var i in o ) - o.hasOwnProperty && - o.hasOwnProperty(i) && - f.call( o[i], i, o[i] ); -} - -/** - * MAP - * === - * var list = map( [1,2,3], function(item) { return item + 1 } ) - */ -function map( list, fun ) { - var fin = []; - each( list || [], function( k, v ) { fin.push(fun( k, v )) } ); - return fin; -} - -/** - * ENCODE - * ====== - * var encoded_path = encode('path'); - */ -function encode(path) { - return map( (encodeURIComponent(path)).split(''), function(chr) { - return "-_.!~*'()".indexOf(chr) < 0 ? chr : - "%"+chr.charCodeAt(0).toString(16).toUpperCase() - } ).join(''); -} - -/** - * Generate Subscription Channel List - * ================================== - * generate_channel_list(channels_object); - */ -function generate_channel_list(channels) { - var list = []; - each( channels, function( channel, status ) { - if (status.subscribed) list.push(channel); - } ); - return list.sort(); -} - -// PUBNUB READY TO CONNECT - function ready() { timeout( function() { - if (READY) return; - READY = 1; - each( READY_BUFFER, function(connect) { connect() } ); - }, SECOND ); } - -function PN_API(setup) { - var SUB_WINDOWING = +setup['windowing'] || DEF_WINDOWING - , SUB_TIMEOUT = (+setup['timeout'] || DEF_SUB_TIMEOUT) * SECOND - , KEEPALIVE = (+setup['keepalive'] || DEF_KEEPALIVE) * SECOND - , PUBLISH_KEY = setup['publish_key'] || '' - , SUBSCRIBE_KEY = setup['subscribe_key'] || '' - , SSL = setup['ssl'] ? 's' : '' - , ORIGIN = 'http'+SSL+'://'+(setup['origin']||'pubsub.pubnub.com') - , STD_ORIGIN = nextorigin(ORIGIN) - , SUB_ORIGIN = nextorigin(ORIGIN) - , CONNECT = function(){} - , PUB_QUEUE = [] - , SUB_CALLBACK = 0 - , SUB_CHANNEL = 0 - , SUB_RECEIVER = 0 - , SUB_RESTORE = 0 - , SUB_BUFF_WAIT = 0 - , TIMETOKEN = 0 - , CHANNELS = {} - , xdr = setup['xdr'] - , _is_online = setup['_is_online'] || function() { return 1; } - , jsonp_cb = setup['jsonp_cb'] || function(){ return 0; } - , db = setup['db'] || {'get': function(){}, 'set': function(){}} - , UUID = setup['uuid'] || ( db && db['get'](SUBSCRIBE_KEY+'uuid') || ''); - - - - function publish(next) { - if (next) PUB_QUEUE.sending = 0; - if (PUB_QUEUE.sending || !PUB_QUEUE.length) return; - PUB_QUEUE.sending = 1; - xdr(PUB_QUEUE.shift()); - } - - function each_channel(callback) { - each( generate_channel_list(CHANNELS), function(channel) { - var chan = CHANNELS[channel]; - if (!chan) return; - callback(chan); - } ); - } - - // Announce Leave Event - - - var SELF = { - - '_reset_offline' : function() { - SUB_RECEIVER && SUB_RECEIVER(1); - }, - - 'LEAVE' : function( channel, blocking ) { - var data = { 'uuid' : UUID } - , origin = nextorigin(ORIGIN) - , jsonp = jsonp_cb(); - - // Prevent Leaving a Presence Channel - if (channel.indexOf(PRESENCE_SUFFIX) > 0) return; - - if (jsonp != '0') data['callback'] = jsonp; - - xdr({ - blocking : blocking || SSL, - timeout : 2000, - callback : jsonp, - data : data, - url : [ - origin, 'v2', 'presence', 'sub_key', - SUBSCRIBE_KEY, 'channel', encode(channel), 'leave' - ] - }); - }, - /* - PUBNUB.history({ - channel : 'my_chat_channel', - limit : 100, - callback : function(history) { } - }); - */ - 'history' : function( args, callback ) { - var callback = args['callback'] || callback - , count = args['count'] || args['limit'] || 100 - , reverse = args['reverse'] || "false" - , err = args['error'] || function(){} - , channel = args['channel'] - , start = args['start'] - , end = args['end'] - , params = {} - , jsonp = jsonp_cb(); - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - params['stringtoken'] = 'true'; - params['count'] = count; - params['reverse'] = reverse; - - if (jsonp) params['callback'] = jsonp; - if (start) params['start'] = start; - if (end) params['end'] = end; - - // Send Message - xdr({ - callback : jsonp, - data : params, - success : function(response) { callback(response) }, - fail : err, - url : [ - STD_ORIGIN, 'v2', 'history', 'sub-key', - SUBSCRIBE_KEY, 'channel', encode(channel) - ] - }); - }, - - /* - PUBNUB.replay({ - source : 'my_channel', - destination : 'new_channel' - }); - */ - 'replay' : function(args) { - var callback = callback || args['callback'] || function(){} - , source = args['source'] - , destination = args['destination'] - , stop = args['stop'] - , start = args['start'] - , end = args['end'] - , reverse = args['reverse'] - , limit = args['limit'] - , jsonp = jsonp_cb() - , data = {} - , url; - - // Check User Input - if (!source) return error('Missing Source Channel'); - if (!destination) return error('Missing Destination Channel'); - if (!PUBLISH_KEY) return error('Missing Publish Key'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // Setup URL Params - if (jsonp != '0') data['callback'] = jsonp; - if (stop) data['stop'] = 'all'; - if (reverse) data['reverse'] = 'true'; - if (start) data['start'] = start; - if (end) data['end'] = end; - if (limit) data['count'] = limit; - - // Compose URL Parts - url = [ - STD_ORIGIN, 'v1', 'replay', - PUBLISH_KEY, SUBSCRIBE_KEY, - source, destination - ]; - - // Start (or Stop) Replay! - xdr({ - callback : jsonp, - success : function(response) { callback(response) }, - fail : function() { callback([ 0, 'Disconnected' ]) }, - url : url, - data : data - }); - }, - - /* - PUBNUB.time(function(time){ }); - */ - 'time' : function(callback) { - var jsonp = jsonp_cb(); - xdr({ - callback : jsonp, - timeout : SECOND*5, - url : [STD_ORIGIN, 'time', jsonp], - success : function(response) { callback(response[0]) }, - fail : function() { callback(0) } - }); - }, - - /* - PUBNUB.publish({ - channel : 'my_chat_channel', - message : 'hello!' - }); - */ - 'publish' : function( args, callback ) { - var callback = callback || args['callback'] || function(){} - , msg = args['message'] - , channel = args['channel'] - , jsonp = jsonp_cb() - , url; - - if (!msg) return error('Missing Message'); - if (!channel) return error('Missing Channel'); - if (!PUBLISH_KEY) return error('Missing Publish Key'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // If trying to send Object - msg = JSON['stringify'](msg); - - // Create URL - url = [ - STD_ORIGIN, 'publish', - PUBLISH_KEY, SUBSCRIBE_KEY, - 0, encode(channel), - jsonp, encode(msg) - ]; - - // Queue Message Send - PUB_QUEUE.push({ - callback : jsonp, - timeout : SECOND*5, - url : url, - data : { 'uuid' : UUID }, - success : function(response){callback(response);publish(1)}, - fail : function(){callback([0,'Failed',msg]);publish(1)} - }); - - // Send Message - publish(); - }, - - /* - PUBNUB.unsubscribe({ channel : 'my_chat' }); - */ - 'unsubscribe' : function(args) { - var channel = args['channel']; - - TIMETOKEN = 0; - SUB_RESTORE = 1; - - // Prepare Channel(s) - channel = map( ( - channel.join ? channel.join(',') : ''+channel - ).split(','), function(channel) { - return channel + ',' + channel + PRESENCE_SUFFIX; - } ).join(','); - - // Iterate over Channels - each( channel.split(','), function(channel) { - if (READY) SELF['LEAVE']( channel, 0 ); - CHANNELS[channel] = 0; - } ); - - // ReOpen Connection if Any Channels Left - if (READY) CONNECT(); - }, - - /* - PUBNUB.subscribe({ - channel : 'my_chat' - callback : function(message) { } - }); - */ - 'subscribe' : function( args, callback ) { - var channel = args['channel'] - , callback = callback || args['callback'] - , callback = callback || args['message'] - , connect = args['connect'] || function(){} - , reconnect = args['reconnect'] || function(){} - , disconnect = args['disconnect'] || function(){} - , presence = args['presence'] || 0 - , noheresync = args['noheresync'] || 0 - , backfill = args['backfill'] || 0 - , sub_timeout = args['timeout'] || SUB_TIMEOUT - , windowing = args['windowing'] || SUB_WINDOWING - , restore = args['restore']; - - // Restore Enabled? - if (restore) SUB_RESTORE = 1; - - TIMETOKEN = 0; - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // Setup Channel(s) - each( (channel.join ? channel.join(',') : ''+channel).split(','), - function(channel) { - var settings = CHANNELS[channel] || {}; - - // Store Channel State - CHANNELS[SUB_CHANNEL = channel] = { - name : channel, - connected : settings.connected, - disconnected : settings.disconnected, - subscribed : 1, - callback : SUB_CALLBACK = callback, - connect : connect, - disconnect : disconnect, - reconnect : reconnect - }; - - // Presence Enabled? - if (!presence) return; - - // Subscribe Presence Channel - SELF['subscribe']({ - 'channel' : channel + PRESENCE_SUFFIX, - 'callback' : presence - }); - - // Presence Subscribed? - if (settings.subscribed) return; - - // See Who's Here Now? - if (noheresync) return; - SELF['here_now']({ - 'channel' : channel, - 'callback' : function(here) { - each( 'uuids' in here ? here['uuids'] : [], - function(uid) { presence( { - 'action' : 'join', - 'uuid' : uid, - 'timestamp' : rnow(), - 'occupancy' : here['occupancy'] || 1 - }, here, channel ); } ); - } - }); - } ); - - // Test Network Connection - function _test_connection(success) { - if (success) { - // Begin Next Socket Connection - timeout( _connect, SECOND ); - } - else { - // New Origin on Failed Connection - STD_ORIGIN = nextorigin( ORIGIN, 1 ); - SUB_ORIGIN = nextorigin( ORIGIN, 1 ); - - // Re-test Connection - timeout( function() { - SELF['time'](_test_connection); - }, SECOND ); - } - - // Disconnect & Reconnect - each_channel(function(channel){ - // Reconnect - if (success && channel.disconnected) { - channel.disconnected = 0; - return channel.reconnect(channel.name); - } - - // Disconnect - if (!success && !channel.disconnected) { - channel.disconnected = 1; - channel.disconnect(channel.name); - } - }); - } - - // Evented Subscribe - function _connect() { - var jsonp = jsonp_cb() - , channels = generate_channel_list(CHANNELS).join(','); - - // Stop Connection - if (!channels) return; - - // Connect to PubNub Subscribe Servers - SUB_RECEIVER = xdr({ - timeout : sub_timeout, - callback : jsonp, - fail : function() { SELF['time'](_test_connection) }, - data : { 'uuid' : UUID }, - url : [ - SUB_ORIGIN, 'subscribe', - SUBSCRIBE_KEY, encode(channels), - jsonp, TIMETOKEN - ], - success : function(messages) { - if (!messages) return timeout( _connect, windowing ); - - // Connect - each_channel(function(channel){ - if (channel.connected) return; - channel.connected = 1; - channel.connect(channel.name); - }); - - // Restore Previous Connection Point if Needed - TIMETOKEN = !TIMETOKEN && - SUB_RESTORE && - db['get'](SUBSCRIBE_KEY) || messages[1]; - - - if (backfill) { - Timetoken = 10000; - backfill = 0; - } - - // Update Saved Timetoken - db['set']( SUBSCRIBE_KEY, messages[1] ); - - // Route Channel <---> Callback for Message - var next_callback = (function() { - var channels = (messages.length>2?messages[2]:'') - , list = channels.split(','); - - return function() { - var channel = list.shift()||''; - return [ - (CHANNELS[channel]||{}) - .callback||SUB_CALLBACK, - (channel||SUB_CHANNEL) - .split(PRESENCE_SUFFIX)[0] - ]; - }; - })(); - - each( messages[0], function(msg) { - var next = next_callback(); - if (!CHANNELS[next[1]].subscribed) return; - next[0]( msg, messages, next[1] ); - } ); - - timeout( _connect, windowing ); - } - }); - } - - CONNECT = function() { - // Close Previous Subscribe Connection - SELF['_reset_offline'](); - - // Begin Recursive Subscribe - clearTimeout(SUB_BUFF_WAIT); - SUB_BUFF_WAIT = timeout( _connect, 100 ); - }; - - // Reduce Status Flicker - if (!READY) return READY_BUFFER.push(CONNECT); - - // Connect Now - CONNECT(); - }, - - 'here_now' : function( args, callback ) { - var callback = args['callback'] || callback - , err = args['error'] || function(){} - , channel = args['channel'] - , jsonp = jsonp_cb() - , data = null; - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - if (jsonp != '0') { - data = {}; - data['callback'] = jsonp; - } - - xdr({ - callback : jsonp, - data : data, - success : function(response) { callback(response) }, - fail : err, - url : [ - STD_ORIGIN, 'v2', 'presence', - 'sub_key', SUBSCRIBE_KEY, - 'channel', encode(channel) - ] - }); - }, - - // Expose PUBNUB Functions - 'xdr' : xdr, - 'ready' : ready, - 'db' : db, - 'uuid' : uuid, - 'each' : each, - 'map' : map, - 'grep' : grep, - 'supplant' : supplant, - 'now' : rnow, - 'unique' : unique, - 'updater' : updater, - 'poll_online' : function() { - _is_online() || SELF['_reset_offline'](); - timeout( SELF['poll_online'], SECOND ); - }, - 'poll_online2' : function() { - SELF['time'](function(success){ - success || SELF['_reset_offline'](); - timeout( SELF['poll_online2'], KEEPALIVE ); - }) - } - }; - if (!UUID) UUID = SELF['uuid'](); - db['set']( SUBSCRIBE_KEY + 'uuid', UUID ); - - timeout( SELF['poll_online'], SECOND ); - timeout( SELF['poll_online2'], KEEPALIVE ); - - return SELF; -} -/* --------------------------------------------------------------------------- ---------------------------------------------------------------------------- */ - -/* --------------------------------------------------------------------------- -PubNub Real-time Cloud-Hosted Push API and Push Notification Client Frameworks -Copyright (c) 2011 PubNub Inc. -http://www.pubnub.com/ -http://www.pubnub.com/terms ---------------------------------------------------------------------------- */ - -/* --------------------------------------------------------------------------- -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. ---------------------------------------------------------------------------- */ -(function(){ - -/** - * UTIL LOCALS - */ -var NOW = 1 -, URLBIT = '/' -, PARAMSBIT = '&' -, XHRTME = 310000; - -/** - * UTILITIES - */ -//function unique() { return'x'+ ++NOW+''+(+new Date) } -//function rnow() { return+new Date } - -/** - * LOCAL STORAGE - */ -var db = (function(){ - var ls = typeof localStorage != 'undefined' && localStorage; - return { - get : function(key) { - try { - if (ls) return ls.getItem(key); - if (document.cookie.indexOf(key) == -1) return null; - return ((document.cookie||'').match( - RegExp(key+'=([^;]+)') - )||[])[1] || null; - } catch(e) { return } - }, - set : function( key, value ) { - try { - if (ls) return ls.setItem( key, value ) && 0; - document.cookie = key + '=' + value + - '; expires=Thu, 1 Aug 2030 20:00:00 UTC; path=/'; - } catch(e) { return } - } - }; -})(); - - -/** - * CORS XHR Request - * ================ - * xdr({ - * url : ['http://www.blah.com/url'], - * success : function(response) {}, - * fail : function() {} - * }); - */ -function xdr( setup ) { - var xhr - , finished = function() { - if (loaded) return; - loaded = 1; - - clearTimeout(timer); - - try { response = JSON['parse'](xhr.responseText); } - catch (r) { return done(1); } - - success(response); - } - , complete = 0 - , loaded = 0 - , timer = timeout( function(){done(1)}, XHRTME ) - , fail = setup.fail || function(){} - , success = setup.success || function(){} - , done = function(failed) { - if (complete) return; - complete = 1; - - clearTimeout(timer); - - if (xhr) { - xhr.onerror = xhr.onload = null; - xhr.abort && xhr.abort(); - xhr = null; - } - - failed && fail(); - }; - - // Send - try { - xhr = typeof XDomainRequest !== 'undefined' && - new XDomainRequest() || - new XMLHttpRequest(); - - xhr.onerror = xhr.onabort = function(){ done(1) }; - xhr.onload = xhr.onloadend = finished; - xhr.timeout = XHRTME; - url = setup.url.join(URLBIT); - if (setup.data) { - var params = []; - url += "?"; - for (key in setup.data) { - params.push(key+"="+setup.data[key]); - } - url += params.join(PARAMSBIT); - } - xhr.open( 'GET', url, true ); - xhr.send(); - } - catch(eee) { - done(0); - return xdr(setup); - } - - // Return 'done' - return done; -} - -/** - * BIND - * ==== - * bind( 'keydown', search('a')[0], function(element) { - * ... - * } ); - */ -function bind( type, el, fun ) { - each( type.split(','), function(etype) { - var rapfun = function(e) { - if (!e) e = window.event; - if (!fun(e)) { - e.cancelBubble = true; - e.returnValue = false; - e.preventDefault && e.preventDefault(); - e.stopPropagation && e.stopPropagation(); - } - }; - - if ( el.addEventListener ) el.addEventListener( etype, rapfun, false ); - else if ( el.attachEvent ) el.attachEvent( 'on' + etype, rapfun ); - else el[ 'on' + etype ] = rapfun; - } ); -} - -/** - * UNBIND - * ====== - * unbind( 'keydown', search('a')[0] ); - */ -function unbind( type, el, fun ) { - if ( el.removeEventListener ) el.removeEventListener( type, false ); - else if ( el.detachEvent ) el.detachEvent( 'on' + type, false ); - else el[ 'on' + type ] = null; -} - -/** - * LOG - * === - * var list = grep( [1,2,3], function(item) { return item % 2 } ) - */ -var log = function(){}; - -/** - * EVENTS - * ====== - * PUBNUB.events.bind( 'you-stepped-on-flower', function(message) { - * // Do Stuff with message - * } ); - * - * PUBNUB.events.fire( 'you-stepped-on-flower', "message-data" ); - * PUBNUB.events.fire( 'you-stepped-on-flower', {message:"data"} ); - * PUBNUB.events.fire( 'you-stepped-on-flower', [1,2,3] ); - * - */ -var events = { - 'list' : {}, - 'unbind' : function( name ) { events.list[name] = [] }, - 'bind' : function( name, fun ) { - (events.list[name] = events.list[name] || []).push(fun); - }, - 'fire' : function( name, data ) { - each( - events.list[name] || [], - function(fun) { fun(data) } - ); - } -}; - -/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= PUBNUB ===========================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -function PN(setup) { - - - setup['db'] = db; - setup['xdr'] = xdr; - var SELF = PN_API(setup); - - SELF['init'] = PN; - - - // Return without Testing - if (setup['notest']) return SELF; - - // Add Leave Functions - bind( 'beforeunload', window, function() { - each_channel(function(ch){ SELF['LEAVE']( ch.name, 1 ) }); - return true; - } ); - - bind( 'offline', window, SELF['_reset_offline'] ); - bind( 'offline', document, SELF['_reset_offline'] ); - - SELF['ready'](); - return SELF; -} - -typeof module !== 'undefined' && (module.exports = PN) || -typeof exports !== 'undefined' && (exports.PN = PN) || (PUBNUB = PN); - -})(); -var NOW = 1 -, READY = false -, READY_BUFFER = [] -, PRESENCE_SUFFIX = '-pnpres' -, DEF_WINDOWING = 10 // MILLISECONDS. -, DEF_TIMEOUT = 10000 // MILLISECONDS. -, DEF_SUB_TIMEOUT = 310 // SECONDS. -, DEF_KEEPALIVE = 60 // SECONDS. -, SECOND = 1000 // A THOUSAND MILLISECONDS. -, REPL = /{([\w\-]+)}/g; - -/** - * UTILITIES - */ -function unique() { return'x'+ ++NOW+''+(+new Date) } -function rnow() { return+new Date } - -/** - * NEXTORIGIN - * ========== - * var next_origin = nextorigin(); - */ -var nextorigin = (function() { - var max = 20 - , ori = Math.floor(Math.random() * max); - return function( origin, failover ) { - return origin.indexOf('pubsub.') > 0 - && origin.replace( - 'pubsub', 'ps' + ( - failover ? uuid().split('-')[0] : - (++ori < max? ori : ori=1) - ) ) || origin; - } -})(); - -/** - * UPDATER - * ======= - * var timestamp = unique(); - */ -function updater( fun, rate ) { - var timeout - , last = 0 - , runnit = function() { - if (last + rate > rnow()) { - clearTimeout(timeout); - timeout = setTimeout( runnit, rate ); - } - else { - last = rnow(); - fun(); - } - }; - - return runnit; -} - -/** - * GREP - * ==== - * var list = grep( [1,2,3], function(item) { return item % 2 } ) - */ -function grep( list, fun ) { - var fin = []; - each( list || [], function(l) { fun(l) && fin.push(l) } ); - return fin -} - -/** - * SUPPLANT - * ======== - * var text = supplant( 'Hello {name}!', { name : 'John' } ) - */ -function supplant( str, values ) { - return str.replace( REPL, function( _, match ) { - return values[match] || _ - } ); -} - -/** - * timeout - * ======= - * timeout( function(){}, 100 ); - */ -function timeout( fun, wait ) { - return setTimeout( fun, wait ); -} - -/** - * uuid - * ==== - * var my_uuid = uuid(); - */ -function uuid(callback) { - var u = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, - function(c) { - var r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8); - return v.toString(16); - }); - if (callback) callback(u); - return u; -} - -/** - * EACH - * ==== - * each( [1,2,3], function(item) { } ) - */ -function each( o, f ) { - if ( !o || !f ) return; - - if ( typeof o[0] != 'undefined' ) - for ( var i = 0, l = o.length; i < l; ) - f.call( o[i], o[i], i++ ); - else - for ( var i in o ) - o.hasOwnProperty && - o.hasOwnProperty(i) && - f.call( o[i], i, o[i] ); -} - -/** - * MAP - * === - * var list = map( [1,2,3], function(item) { return item + 1 } ) - */ -function map( list, fun ) { - var fin = []; - each( list || [], function( k, v ) { fin.push(fun( k, v )) } ); - return fin; -} - -/** - * ENCODE - * ====== - * var encoded_path = encode('path'); - */ -function encode(path) { - return map( (encodeURIComponent(path)).split(''), function(chr) { - return "-_.!~*'()".indexOf(chr) < 0 ? chr : - "%"+chr.charCodeAt(0).toString(16).toUpperCase() - } ).join(''); -} - -/** - * Generate Subscription Channel List - * ================================== - * generate_channel_list(channels_object); - */ -function generate_channel_list(channels) { - var list = []; - each( channels, function( channel, status ) { - if (status.subscribed) list.push(channel); - } ); - return list.sort(); -} - -// PUBNUB READY TO CONNECT -function ready() { timeout( function() { - if (READY) return; - READY = 1; - each( READY_BUFFER, function(connect) { connect() } ); -}, SECOND ); } - -function PN_API(setup) { - var SUB_WINDOWING = +setup['windowing'] || DEF_WINDOWING - , SUB_TIMEOUT = (+setup['timeout'] || DEF_SUB_TIMEOUT) * SECOND - , KEEPALIVE = (+setup['keepalive'] || DEF_KEEPALIVE) * SECOND - , PUBLISH_KEY = setup['publish_key'] || '' - , SUBSCRIBE_KEY = setup['subscribe_key'] || '' - , SSL = setup['ssl'] ? 's' : '' - , ORIGIN = 'http'+SSL+'://'+(setup['origin']||'pubsub.pubnub.com') - , STD_ORIGIN = nextorigin(ORIGIN) - , SUB_ORIGIN = nextorigin(ORIGIN) - , CONNECT = function(){} - , PUB_QUEUE = [] - , SUB_CALLBACK = 0 - , SUB_CHANNEL = 0 - , SUB_RECEIVER = 0 - , SUB_RESTORE = 0 - , SUB_BUFF_WAIT = 0 - , TIMETOKEN = 0 - , CHANNELS = {} - , xdr = setup['xdr'] - , _is_online = setup['_is_online'] || function() { return 1; } - , jsonp_cb = setup['jsonp_cb'] || function(){ return 0; } - , db = setup['db'] || {'get': function(){}, 'set': function(){}} - , UUID = setup['uuid'] || ( db && db['get'](SUBSCRIBE_KEY+'uuid') || ''); - - function publish(next) { - if (next) PUB_QUEUE.sending = 0; - if (PUB_QUEUE.sending || !PUB_QUEUE.length) return; - PUB_QUEUE.sending = 1; - xdr(PUB_QUEUE.shift()); - } - - function each_channel(callback) { - each( generate_channel_list(CHANNELS), function(channel) { - var chan = CHANNELS[channel]; - if (!chan) return; - callback(chan); - } ); - } - - // Announce Leave Event - var SELF = { - 'LEAVE' : function( channel, blocking ) { - var data = { 'uuid' : UUID } - , origin = nextorigin(ORIGIN) - , jsonp = jsonp_cb(); - - // Prevent Leaving a Presence Channel - if (channel.indexOf(PRESENCE_SUFFIX) > 0) return; - - if (jsonp != '0') data['callback'] = jsonp; - - xdr({ - blocking : blocking || SSL, - timeout : 2000, - callback : jsonp, - data : data, - url : [ - origin, 'v2', 'presence', 'sub_key', - SUBSCRIBE_KEY, 'channel', encode(channel), 'leave' - ] - }); - }, - /* - PUBNUB.history({ - channel : 'my_chat_channel', - limit : 100, - callback : function(history) { } - }); - */ - 'history' : function( args, callback ) { - var callback = args['callback'] || callback - , count = args['count'] || args['limit'] || 100 - , reverse = args['reverse'] || "false" - , err = args['error'] || function(){} - , channel = args['channel'] - , start = args['start'] - , end = args['end'] - , params = {} - , jsonp = jsonp_cb(); - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - params['stringtoken'] = 'true'; - params['count'] = count; - params['reverse'] = reverse; - - if (jsonp) params['callback'] = jsonp; - if (start) params['start'] = start; - if (end) params['end'] = end; - - // Send Message - xdr({ - callback : jsonp, - data : params, - success : function(response) { callback(response) }, - fail : err, - url : [ - STD_ORIGIN, 'v2', 'history', 'sub-key', - SUBSCRIBE_KEY, 'channel', encode(channel) - ] - }); - }, - - /* - PUBNUB.replay({ - source : 'my_channel', - destination : 'new_channel' - }); - */ - 'replay' : function(args) { - var callback = callback || args['callback'] || function(){} - , source = args['source'] - , destination = args['destination'] - , stop = args['stop'] - , start = args['start'] - , end = args['end'] - , reverse = args['reverse'] - , limit = args['limit'] - , jsonp = jsonp_cb() - , data = {} - , url; - - // Check User Input - if (!source) return error('Missing Source Channel'); - if (!destination) return error('Missing Destination Channel'); - if (!PUBLISH_KEY) return error('Missing Publish Key'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // Setup URL Params - if (jsonp != '0') data['callback'] = jsonp; - if (stop) data['stop'] = 'all'; - if (reverse) data['reverse'] = 'true'; - if (start) data['start'] = start; - if (end) data['end'] = end; - if (limit) data['count'] = limit; - - // Compose URL Parts - url = [ - STD_ORIGIN, 'v1', 'replay', - PUBLISH_KEY, SUBSCRIBE_KEY, - source, destination - ]; - - // Start (or Stop) Replay! - xdr({ - callback : jsonp, - success : function(response) { callback(response) }, - fail : function() { callback([ 0, 'Disconnected' ]) }, - url : url, - data : data - }); - }, - - /* - PUBNUB.time(function(time){ }); - */ - 'time' : function(callback) { - var jsonp = jsonp_cb(); - xdr({ - callback : jsonp, - timeout : SECOND*5, - url : [STD_ORIGIN, 'time', jsonp], - success : function(response) { callback(response[0]) }, - fail : function() { callback(0) } - }); - }, - - /* - PUBNUB.publish({ - channel : 'my_chat_channel', - message : 'hello!' - }); - */ - 'publish' : function( args, callback ) { - var callback = callback || args['callback'] || function(){} - , msg = args['message'] - , channel = args['channel'] - , jsonp = jsonp_cb() - , url; - - if (!msg) return error('Missing Message'); - if (!channel) return error('Missing Channel'); - if (!PUBLISH_KEY) return error('Missing Publish Key'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // If trying to send Object - msg = JSON['stringify'](msg); - - // Create URL - url = [ - STD_ORIGIN, 'publish', - PUBLISH_KEY, SUBSCRIBE_KEY, - 0, encode(channel), - jsonp, encode(msg) - ]; - - // Queue Message Send - PUB_QUEUE.push({ - callback : jsonp, - timeout : SECOND*5, - url : url, - data : { 'uuid' : UUID }, - success : function(response){callback(response);publish(1)}, - fail : function(){callback([0,'Failed',msg]);publish(1)} - }); - - // Send Message - publish(); - }, - - /* - PUBNUB.unsubscribe({ channel : 'my_chat' }); - */ - 'unsubscribe' : function(args) { - var channel = args['channel']; - - TIMETOKEN = 0; - SUB_RESTORE = 1; - - // Prepare Channel(s) - channel = map( ( - channel.join ? channel.join(',') : ''+channel - ).split(','), function(channel) { - return channel + ',' + channel + PRESENCE_SUFFIX; - } ).join(','); - - // Iterate over Channels - each( channel.split(','), function(channel) { - if (READY) SELF['LEAVE']( channel, 0 ); - CHANNELS[channel] = 0; - } ); - - // ReOpen Connection if Any Channels Left - if (READY) CONNECT(); - }, - - /* - PUBNUB.subscribe({ - channel : 'my_chat' - callback : function(message) { } - }); - */ - 'subscribe' : function( args, callback ) { - var channel = args['channel'] - , callback = callback || args['callback'] - , callback = callback || args['message'] - , connect = args['connect'] || function(){} - , reconnect = args['reconnect'] || function(){} - , disconnect = args['disconnect'] || function(){} - , presence = args['presence'] || 0 - , noheresync = args['noheresync'] || 0 - , backfill = args['backfill'] || 0 - , sub_timeout = args['timeout'] || SUB_TIMEOUT - , windowing = args['windowing'] || SUB_WINDOWING - , restore = args['restore']; - - // Restore Enabled? - if (restore) SUB_RESTORE = 1; - - TIMETOKEN = 0; - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - // Setup Channel(s) - each( (channel.join ? channel.join(',') : ''+channel).split(','), - function(channel) { - var settings = CHANNELS[channel] || {}; - - // Store Channel State - CHANNELS[SUB_CHANNEL = channel] = { - name : channel, - connected : settings.connected, - disconnected : settings.disconnected, - subscribed : 1, - callback : SUB_CALLBACK = callback, - connect : connect, - disconnect : disconnect, - reconnect : reconnect - }; - - // Presence Enabled? - if (!presence) return; - - // Subscribe Presence Channel - SELF['subscribe']({ - 'channel' : channel + PRESENCE_SUFFIX, - 'callback' : presence - }); - - // Presence Subscribed? - if (settings.subscribed) return; - - // See Who's Here Now? - if (noheresync) return; - SELF['here_now']({ - 'channel' : channel, - 'callback' : function(here) { - each( 'uuids' in here ? here['uuids'] : [], - function(uid) { presence( { - 'action' : 'join', - 'uuid' : uid, - 'timestamp' : rnow(), - 'occupancy' : here['occupancy'] || 1 - }, here, channel ); } ); - } - }); - } ); - - // Test Network Connection - function _test_connection(success) { - if (success) { - // Begin Next Socket Connection - timeout( _connect, SECOND ); - } - else { - // New Origin on Failed Connection - STD_ORIGIN = nextorigin( ORIGIN, 1 ); - SUB_ORIGIN = nextorigin( ORIGIN, 1 ); - - // Re-test Connection - timeout( function() { - SELF['time'](_test_connection); - }, SECOND ); - } - - // Disconnect & Reconnect - each_channel(function(channel){ - // Reconnect - if (success && channel.disconnected) { - channel.disconnected = 0; - return channel.reconnect(channel.name); - } - - // Disconnect - if (!success && !channel.disconnected) { - channel.disconnected = 1; - channel.disconnect(channel.name); - } - }); - } - - // Evented Subscribe - function _connect() { - var jsonp = jsonp_cb() - , channels = generate_channel_list(CHANNELS).join(','); - - // Stop Connection - if (!channels) return; - - // Connect to PubNub Subscribe Servers - SUB_RECEIVER = xdr({ - timeout : sub_timeout, - callback : jsonp, - fail : function() { SELF['time'](_test_connection) }, - data : { 'uuid' : UUID }, - url : [ - SUB_ORIGIN, 'subscribe', - SUBSCRIBE_KEY, encode(channels), - jsonp, TIMETOKEN - ], - success : function(messages) { - if (!messages) return timeout( _connect, windowing ); - - // Connect - each_channel(function(channel){ - if (channel.connected) return; - channel.connected = 1; - channel.connect(channel.name); - }); - - // Restore Previous Connection Point if Needed - TIMETOKEN = !TIMETOKEN && - SUB_RESTORE && - db['get'](SUBSCRIBE_KEY) || messages[1]; - - - if (backfill) { - Timetoken = 10000; - backfill = 0; - } - - // Update Saved Timetoken - db['set']( SUBSCRIBE_KEY, messages[1] ); - - // Route Channel <---> Callback for Message - var next_callback = (function() { - var channels = (messages.length>2?messages[2]:'') - , list = channels.split(','); - - return function() { - var channel = list.shift()||''; - return [ - (CHANNELS[channel]||{}) - .callback||SUB_CALLBACK, - (channel||SUB_CHANNEL) - .split(PRESENCE_SUFFIX)[0] - ]; - }; - })(); - - each( messages[0], function(msg) { - var next = next_callback(); - if (!CHANNELS[next[1]].subscribed) return; - next[0]( msg, messages, next[1] ); - } ); - - timeout( _connect, windowing ); - } - }); - } - - CONNECT = function() { - // Close Previous Subscribe Connection - _reset_offline(); - - // Begin Recursive Subscribe - clearTimeout(SUB_BUFF_WAIT); - SUB_BUFF_WAIT = timeout( _connect, 100 ); - }; - - // Reduce Status Flicker - if (!READY) return READY_BUFFER.push(CONNECT); - - // Connect Now - CONNECT(); - }, - - 'here_now' : function( args, callback ) { - var callback = args['callback'] || callback - , err = args['error'] || function(){} - , channel = args['channel'] - , jsonp = jsonp_cb() - , data = null; - - // Make sure we have a Channel - if (!channel) return error('Missing Channel'); - if (!callback) return error('Missing Callback'); - if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); - - if (jsonp != '0') { - data = {}; - data['callback'] = jsonp; - } - - xdr({ - callback : jsonp, - data : data, - success : function(response) { callback(response) }, - fail : err, - url : [ - STD_ORIGIN, 'v2', 'presence', - 'sub_key', SUBSCRIBE_KEY, - 'channel', encode(channel) - ] - }); - }, - - // Expose PUBNUB Functions - 'xdr' : xdr, - 'ready' : ready, - 'db' : db, - 'uuid' : uuid, - 'each' : each, - 'map' : map, - 'grep' : grep, - 'supplant' : supplant, - 'now' : rnow, - 'unique' : unique, - 'updater' : updater - }; - - function _poll_online() { - _is_online() || _reset_offline(); - timeout( _poll_online, SECOND ); - } - - function _poll_online2() { - SELF['time'](function(success){ - success || _reset_offline(); - timeout( _poll_online2, KEEPALIVE ); - }) - } - - function _reset_offline() { - SUB_RECEIVER && SUB_RECEIVER(1); - } - - if (!UUID) UUID = SELF['uuid'](); - db['set']( SUBSCRIBE_KEY + 'uuid', UUID ); - - timeout( _poll_online, SECOND ); - timeout( _poll_online2, KEEPALIVE ); - - return SELF; -} -/* --------------------------------------------------------------------------- ---------------------------------------------------------------------------- */ - -/* --------------------------------------------------------------------------- -PubNub Real-time Cloud-Hosted Push API and Push Notification Client Frameworks -Copyright (c) 2011 PubNub Inc. -http://www.pubnub.com/ -http://www.pubnub.com/terms ---------------------------------------------------------------------------- */ +// Version: 3.4.3\n/* =-====================================================================-= */ +/* =-====================================================================-= */ +/* =-========================= JSON =============================-= */ +/* =-====================================================================-= */ +/* =-====================================================================-= */ -/* --------------------------------------------------------------------------- -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +(window['JSON'] && window['JSON']['stringify']) || (function () { + window['JSON'] || (window['JSON'] = {}); -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. + function toJSON(key) { + try { return this.valueOf() } + catch(e) { return null } + } -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. ---------------------------------------------------------------------------- */ -(function(){ + var cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, + escapable = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, + gap, + indent, + meta = { // table of character substitutions + '\b': '\\b', + '\t': '\\t', + '\n': '\\n', + '\f': '\\f', + '\r': '\\r', + '"' : '\\"', + '\\': '\\\\' + }, + rep; -/** - * UTIL LOCALS - */ -var NOW = 1 -, URLBIT = '/' -, PARAMSBIT = '&' -, XHRTME = 310000; + function quote(string) { + escapable.lastIndex = 0; + return escapable.test(string) ? + '"' + string.replace(escapable, function (a) { + var c = meta[a]; + return typeof c === 'string' ? c : + '\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4); + }) + '"' : + '"' + string + '"'; + } -/** - * UTILITIES - */ -//function unique() { return'x'+ ++NOW+''+(+new Date) } -//function rnow() { return+new Date } + function str(key, holder) { + var i, // The loop counter. + k, // The member key. + v, // The member value. + length, + partial, + mind = gap, + value = holder[key]; -/** - * LOCAL STORAGE - */ -var db = (function(){ - var ls = typeof localStorage != 'undefined' && localStorage; - return { - get : function(key) { - try { - if (ls) return ls.getItem(key); - if (document.cookie.indexOf(key) == -1) return null; - return ((document.cookie||'').match( - RegExp(key+'=([^;]+)') - )||[])[1] || null; - } catch(e) { return } - }, - set : function( key, value ) { - try { - if (ls) return ls.setItem( key, value ) && 0; - document.cookie = key + '=' + value + - '; expires=Thu, 1 Aug 2030 20:00:00 UTC; path=/'; - } catch(e) { return } + if (value && typeof value === 'object') { + value = toJSON.call( value, key ); } - }; -})(); + if (typeof rep === 'function') { + value = rep.call(holder, key, value); + } -/** - * CORS XHR Request - * ================ - * xdr({ - * url : ['http://www.blah.com/url'], - * success : function(response) {}, - * fail : function() {} - * }); - */ -function xdr( setup ) { - var xhr - , finished = function() { - if (loaded) return; - loaded = 1; - - clearTimeout(timer); + switch (typeof value) { + case 'string': + return quote(value); - try { response = JSON['parse'](xhr.responseText); } - catch (r) { return done(1); } + case 'number': + return isFinite(value) ? String(value) : 'null'; - success(response); - } - , complete = 0 - , loaded = 0 - , timer = timeout( function(){done(1)}, XHRTME ) - , fail = setup.fail || function(){} - , success = setup.success || function(){} - , done = function(failed) { - if (complete) return; - complete = 1; + case 'boolean': + case 'null': + return String(value); - clearTimeout(timer); + case 'object': - if (xhr) { - xhr.onerror = xhr.onload = null; - xhr.abort && xhr.abort(); - xhr = null; + if (!value) { + return 'null'; } - failed && fail(); - }; + gap += indent; + partial = []; - // Send - try { - xhr = typeof XDomainRequest !== 'undefined' && - new XDomainRequest() || - new XMLHttpRequest(); + if (Object.prototype.toString.apply(value) === '[object Array]') { - xhr.onerror = xhr.onabort = function(){ done(1) }; - xhr.onload = xhr.onloadend = finished; - xhr.timeout = XHRTME; - url = setup.url.join(URLBIT); - if (setup.data) { - var params = []; - url += "?"; - for (key in setup.data) { - params.push(key+"="+setup.data[key]); + length = value.length; + for (i = 0; i < length; i += 1) { + partial[i] = str(i, value) || 'null'; + } + + v = partial.length === 0 ? '[]' : + gap ? '[\n' + gap + + partial.join(',\n' + gap) + '\n' + + mind + ']' : + '[' + partial.join(',') + ']'; + gap = mind; + return v; + } + if (rep && typeof rep === 'object') { + length = rep.length; + for (i = 0; i < length; i += 1) { + k = rep[i]; + if (typeof k === 'string') { + v = str(k, value); + if (v) { + partial.push(quote(k) + (gap ? ': ' : ':') + v); + } + } + } + } else { + for (k in value) { + if (Object.hasOwnProperty.call(value, k)) { + v = str(k, value); + if (v) { + partial.push(quote(k) + (gap ? ': ' : ':') + v); + } + } + } } - url += params.join(PARAMSBIT); + + v = partial.length === 0 ? '{}' : + gap ? '{\n' + gap + partial.join(',\n' + gap) + '\n' + + mind + '}' : '{' + partial.join(',') + '}'; + gap = mind; + return v; } - xhr.open( 'GET', url, true ); - xhr.send(); - } - catch(eee) { - done(0); - return xdr(setup); } - // Return 'done' - return done; -} + if (typeof JSON['stringify'] !== 'function') { + JSON['stringify'] = function (value, replacer, space) { + var i; + gap = ''; + indent = ''; -/** - * BIND - * ==== - * bind( 'keydown', search('a')[0], function(element) { - * ... - * } ); - */ -function bind( type, el, fun ) { - each( type.split(','), function(etype) { - var rapfun = function(e) { - if (!e) e = window.event; - if (!fun(e)) { - e.cancelBubble = true; - e.returnValue = false; - e.preventDefault && e.preventDefault(); - e.stopPropagation && e.stopPropagation(); + if (typeof space === 'number') { + for (i = 0; i < space; i += 1) { + indent += ' '; + } + } else if (typeof space === 'string') { + indent = space; } + rep = replacer; + if (replacer && typeof replacer !== 'function' && + (typeof replacer !== 'object' || + typeof replacer.length !== 'number')) { + throw new Error('JSON.stringify'); + } + return str('', {'': value}); }; - - if ( el.addEventListener ) el.addEventListener( etype, rapfun, false ); - else if ( el.attachEvent ) el.attachEvent( 'on' + etype, rapfun ); - else el[ 'on' + etype ] = rapfun; - } ); -} - -/** - * UNBIND - * ====== - * unbind( 'keydown', search('a')[0] ); - */ -function unbind( type, el, fun ) { - if ( el.removeEventListener ) el.removeEventListener( type, false ); - else if ( el.detachEvent ) el.detachEvent( 'on' + type, false ); - else el[ 'on' + type ] = null; -} - -/** - * LOG - * === - * var list = grep( [1,2,3], function(item) { return item % 2 } ) - */ -var log = function(){}; - -/** - * EVENTS - * ====== - * PUBNUB.events.bind( 'you-stepped-on-flower', function(message) { - * // Do Stuff with message - * } ); - * - * PUBNUB.events.fire( 'you-stepped-on-flower', "message-data" ); - * PUBNUB.events.fire( 'you-stepped-on-flower', {message:"data"} ); - * PUBNUB.events.fire( 'you-stepped-on-flower', [1,2,3] ); - * - */ -var events = { - 'list' : {}, - 'unbind' : function( name ) { events.list[name] = [] }, - 'bind' : function( name, fun ) { - (events.list[name] = events.list[name] || []).push(fun); - }, - 'fire' : function( name, data ) { - each( - events.list[name] || [], - function(fun) { fun(data) } - ); } -}; - -/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= PUBNUB ===========================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -function PN(setup) { - - - setup['db'] = db; - setup['xdr'] = xdr; - var SELF = PN_API(setup); - - SELF['init'] = PN; - - - // Return without Testing - if (setup['notest']) return SELF; - - // Add Leave Functions - bind( 'beforeunload', window, function() { - each_channel(function(ch){ SELF['LEAVE']( ch.name, 1 ) }); - return true; - } ); - - bind( 'offline', window, SELF['_reset_offline'] ); - bind( 'offline', document, SELF['_reset_offline'] ); - SELF['ready'](); - return SELF; -} - -typeof module !== 'undefined' && (module.exports = PN) || -typeof exports !== 'undefined' && (exports.PN = PN) || (PUBNUB = PN); - -})(); + if (typeof JSON['parse'] !== 'function') { + // JSON is parsed on the server for security. + JSON['parse'] = function (text) {return eval('('+text+')')}; + } +}()); var NOW = 1 , READY = false , READY_BUFFER = [] @@ -10035,3 +1062,114 @@ typeof module !== 'undefined' && (module.exports = PN) || typeof exports !== 'undefined' && (exports.PN = PN) || (PUBNUB = PN); })(); +(function(){ + +// --------------------------------------------------------------------------- +// WEBSOCKET INTERFACE +// --------------------------------------------------------------------------- +var WS = PUBNUB['ws'] = function( url, protocols ) { + if (!(this instanceof WS)) return new WS( url, protocols ); + + var self = this + , url = self.url = url || '' + , protocol = self.protocol = protocols || 'Sec-WebSocket-Protocol' + , bits = url.split('/') + , setup = { + 'ssl' : bits[0] === 'wss:' + ,'origin' : bits[2] + ,'publish_key' : bits[3] + ,'subscribe_key' : bits[4] + ,'channel' : bits[5] + }; + + // READY STATES + self['CONNECTING'] = 0; // The connection is not yet open. + self['OPEN'] = 1; // The connection is open and ready to communicate. + self['CLOSING'] = 2; // The connection is in the process of closing. + self['CLOSED'] = 3; // The connection is closed or couldn't be opened. + + // CLOSE STATES + self['CLOSE_NORMAL'] = 1000; // Normal Intended Close; completed. + self['CLOSE_GOING_AWAY'] = 1001; // Closed Unexpecttedly. + self['CLOSE_PROTOCOL_ERROR'] = 1002; // Server: Not Supported. + self['CLOSE_UNSUPPORTED'] = 1003; // Server: Unsupported Protocol. + self['CLOSE_TOO_LARGE'] = 1004; // Server: Too Much Data. + self['CLOSE_NO_STATUS'] = 1005; // Server: No reason. + self['CLOSE_ABNORMAL'] = 1006; // Abnormal Disconnect. + + // Events Default + self['onclose'] = self['onerror'] = + self['onmessage'] = self['onopen'] = + self['onsend'] = function(){}; + + // Attributes + self['binaryType'] = ''; + self['extensions'] = ''; + self['bufferedAmount'] = 0; + self['trasnmitting'] = false; + self['buffer'] = []; + self['readyState'] = self['CONNECTING']; + + // Close if no setup. + if (!url) { + self['readyState'] = self['CLOSED']; + self['onclose']({ + 'code' : self['CLOSE_ABNORMAL'], + 'reason' : 'Missing URL', + 'wasClean' : true + }); + return self; + } + + // PubNub WebSocket Emulation + self.pubnub = PUBNUB['init'](setup); + self.pubnub.setup = setup; + self.setup = setup; + + self.pubnub['subscribe']({ + 'restore' : false, + 'channel' : setup['channel'], + 'disconnect' : self['onerror'], + 'reconnect' : self['onopen'], + 'error' : function() { + self['onclose']({ + 'code' : self['CLOSE_ABNORMAL'], + 'reason' : 'Missing URL', + 'wasClean' : false + }); + }, + 'callback' : function(message) { + self['onmessage']({ 'data' : message }); + }, + 'connect' : function() { + self['readyState'] = self['OPEN']; + self['onopen'](); + } + }); +}; + +// --------------------------------------------------------------------------- +// WEBSOCKET SEND +// --------------------------------------------------------------------------- +WS.prototype.send = function(data) { + var self = this; + self.pubnub['publish']({ + 'channel' : self.pubnub.setup['channel'], + 'message' : data, + 'callback' : function(response) { + self['onsend']({ 'data' : response }); + } + }); +}; + +// --------------------------------------------------------------------------- +// WEBSOCKET CLOSE +// --------------------------------------------------------------------------- +WS.prototype.close = function() { + var self = this; + self.pubnub['unsubscribe']({ 'channel' : self.pubnub.setup['channel'] }); + self['readyState'] = self['CLOSED']; + self['onclose']({}); +}; + +})(); diff --git a/modern/pubnub.min.js b/modern/pubnub.min.js index 71a8d5f36..65635d5f3 100644 --- a/modern/pubnub.min.js +++ b/modern/pubnub.min.js @@ -1,180 +1,25 @@ -// 3.4.3 (function(){ -var l=!0,m=null,n=!1;function q(){return function(){}}function y(a){return function(){return a}}var D=1,E=n,G=[],H="-pnpres",I=10,aa=310,ba=60,L=1E3,ca=/{([\w\-]+)}/g;function da(){return"x"+ ++D+""+ +new Date}function Q(){return+new Date}var R,ea=Math.floor(20*Math.random());R=function(a,b){return 0++ea?ea:ea=1))||a};function fa(a,b){function c(){f+b>Q()?(clearTimeout(d),d=setTimeout(c,b)):(f=Q(),a())}var d,f=0;return c} -function ga(a,b){var c=[];T(a||[],function(a){b(a)&&c.push(a)});return c}function ha(a,b){return a.replace(ca,function(a,d){return b[d]||a})}function U(a,b){return setTimeout(a,b)}function S(a){var b="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});a&&a(b);return b} -function T(a,b){if(a&&b)if("undefined"!=typeof a[0])for(var c=0,d=a.length;c"-_.!~*'()".indexOf(a)?a:"%"+a.charCodeAt(0).toString(16).toUpperCase()}).join("")}function $(a){var b=[];T(a,function(a,d){d.f&&b.push(a)});return b.sort()} -function ia(){U(function(){E||(E=1,T(G,function(a){a()}))},L)} -function pa(a){function b(){}function c(a){a&&(t.g=0);!t.g&&t.length&&(t.g=1,p(t.shift()))}function d(a){T($(r),function(b){(b=r[b])&&a(b)})}var f=+a.windowing||I,j=(+a.timeout||aa)*L,A=(+a.keepalive||ba)*L,w=a.publish_key||"",g=a.subscribe_key||"",v=a.ssl?"s":"",s="http"+v+"://"+(a.origin||"pubsub.pubnub.com"),z=R(s),P=R(s),t=[],V=0,J=0,N=0,O=0,M=0,F=0,r={},p=a.xdr,K=a._is_online||y(1),u=a.jsonp_cb||y(0),B=a.db||{get:q(),set:q()},x=a.uuid||B&&B.get(g+"uuid")||"",e={_reset_offline:function(){N&&N(1)}, -LEAVE:function(a,b){var d={uuid:x},c=R(s),h=u();0++ya?ya:ya=1))||a};function fa(a,b){function c(){f+b>Q()?(clearTimeout(d),d=setTimeout(c,b)):(f=Q(),a())}var d,f=0;return c}function ga(a,b){var c=[];T(a||[],function(a){b(a)&&c.push(a)});return c}function ha(a,b){return a.replace(ca,function(a,d){return b[d]||a})} -function U(a,b){return setTimeout(a,b)}function S(a){var b="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});a&&a(b);return b}function T(a,b){if(a&&b)if("undefined"!=typeof a[0])for(var c=0,d=a.length;c"-_.!~*'()".indexOf(a)?a:"%"+a.charCodeAt(0).toString(16).toUpperCase()}).join("")}function $(a){var b=[];T(a,function(a,d){d.f&&b.push(a)});return b.sort()}function ia(){U(function(){E||(E=1,T(G,function(a){a()}))},L)} -function pa(a){function b(){}function c(a){a&&(t.g=0);!t.g&&t.length&&(t.g=1,p(t.shift()))}function d(a){T($(r),function(b){(b=r[b])&&a(b)})}var f=+a.windowing||I,j=(+a.timeout||aa)*L,A=(+a.keepalive||ba)*L,w=a.publish_key||"",g=a.subscribe_key||"",v=a.ssl?"s":"",s="http"+v+"://"+(a.origin||"pubsub.pubnub.com"),z=R(s),P=R(s),t=[],V=0,J=0,N=0,O=0,M=0,F=0,r={},p=a.xdr,K=a._is_online||y(1),u=a.jsonp_cb||y(0),B=a.db||{get:q(),set:q()},x=a.uuid||B&&B.get(g+"uuid")||"",e={_reset_offline:function(){N&&N(1)}, -LEAVE:function(a,b){var d={uuid:x},c=R(s),h=u();0++Ha?Ha:Ha=1))||a};function fa(a,b){function c(){f+b>Q()?(clearTimeout(d),d=setTimeout(c,b)):(f=Q(),a())}var d,f=0;return c}function ga(a,b){var c=[];T(a||[],function(a){b(a)&&c.push(a)});return c}function ha(a,b){return a.replace(ca,function(a,d){return b[d]||a})} -function U(a,b){return setTimeout(a,b)}function S(a){var b="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});a&&a(b);return b}function T(a,b){if(a&&b)if("undefined"!=typeof a[0])for(var c=0,d=a.length;c"-_.!~*'()".indexOf(a)?a:"%"+a.charCodeAt(0).toString(16).toUpperCase()}).join("")}function $(a){var b=[];T(a,function(a,d){d.f&&b.push(a)});return b.sort()}function ia(){U(function(){E||(E=1,T(G,function(a){a()}))},L)} -function pa(a){function b(){}function c(a){a&&(t.g=0);!t.g&&t.length&&(t.g=1,p(t.shift()))}function d(a){T($(r),function(b){(b=r[b])&&a(b)})}var f=+a.windowing||I,j=(+a.timeout||aa)*L,A=(+a.keepalive||ba)*L,w=a.publish_key||"",g=a.subscribe_key||"",v=a.ssl?"s":"",s="http"+v+"://"+(a.origin||"pubsub.pubnub.com"),z=R(s),P=R(s),t=[],V=0,J=0,N=0,O=0,M=0,F=0,r={},p=a.xdr,K=a._is_online||y(1),u=a.jsonp_cb||y(0),B=a.db||{get:q(),set:q()},x=a.uuid||B&&B.get(g+"uuid")||"",e={_reset_offline:function(){N&&N(1)}, -LEAVE:function(a,b){var d={uuid:x},c=R(s),h=u();0++Sa?Sa:Sa=1))||a};function fa(a,b){function c(){f+b>Q()?(clearTimeout(d),d=setTimeout(c,b)):(f=Q(),a())}var d,f=0;return c}function ga(a,b){var c=[];T(a||[],function(a){b(a)&&c.push(a)});return c}function ha(a,b){return a.replace(ca,function(a,d){return b[d]||a})} -function U(a,b){return setTimeout(a,b)}function S(a){var b="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});a&&a(b);return b}function T(a,b){if(a&&b)if("undefined"!=typeof a[0])for(var c=0,d=a.length;c"-_.!~*'()".indexOf(a)?a:"%"+a.charCodeAt(0).toString(16).toUpperCase()}).join("")}function $(a){var b=[];T(a,function(a,d){d.f&&b.push(a)});return b.sort()}function ia(){U(function(){E||(E=1,T(G,function(a){a()}))},L)} -function pa(a){function b(){}function c(a){a&&(t.g=0);!t.g&&t.length&&(t.g=1,p(t.shift()))}function d(a){T($(r),function(b){(b=r[b])&&a(b)})}var f=+a.windowing||I,j=(+a.timeout||aa)*L,A=(+a.keepalive||ba)*L,w=a.publish_key||"",g=a.subscribe_key||"",v=a.ssl?"s":"",s="http"+v+"://"+(a.origin||"pubsub.pubnub.com"),z=R(s),P=R(s),t=[],V=0,J=0,N=0,O=0,M=0,F=0,r={},p=a.xdr,K=a._is_online||y(1),u=a.jsonp_cb||y(0),B=a.db||{get:q(),set:q()},x=a.uuid||B&&B.get(g+"uuid")||"",e={_reset_offline:function(){N&&N(1)}, -LEAVE:function(a,b){var d={uuid:x},c=R(s),h=u();0++ab?ab:ab=1))||a};function fa(a,b){function c(){f+b>Q()?(clearTimeout(d),d=setTimeout(c,b)):(f=Q(),a())}var d,f=0;return c}function ga(a,b){var c=[];T(a||[],function(a){b(a)&&c.push(a)});return c}function ha(a,b){return a.replace(ca,function(a,d){return b[d]||a})} -function U(a,b){return setTimeout(a,b)}function S(a){var b="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});a&&a(b);return b}function T(a,b){if(a&&b)if("undefined"!=typeof a[0])for(var c=0,d=a.length;c"-_.!~*'()".indexOf(a)?a:"%"+a.charCodeAt(0).toString(16).toUpperCase()}).join("")}function $(a){var b=[];T(a,function(a,d){d.f&&b.push(a)});return b.sort()}function ia(){U(function(){E||(E=1,T(G,function(a){a()}))},L)} -function pa(a){function b(){}function c(a){a&&(t.g=0);!t.g&&t.length&&(t.g=1,p(t.shift()))}function d(a){T($(r),function(b){(b=r[b])&&a(b)})}var f=+a.windowing||I,j=(+a.timeout||aa)*L,A=(+a.keepalive||ba)*L,w=a.publish_key||"",g=a.subscribe_key||"",v=a.ssl?"s":"",s="http"+v+"://"+(a.origin||"pubsub.pubnub.com"),z=R(s),P=R(s),t=[],V=0,J=0,N=0,O=0,M=0,F=0,r={},p=a.xdr,K=a._is_online||y(1),u=a.jsonp_cb||y(0),B=a.db||{get:q(),set:q()},x=a.uuid||B&&B.get(g+"uuid")||"",e={_reset_offline:function(){N&&N(1)}, -LEAVE:function(a,b){var d={uuid:x},c=R(s),h=u();0++jb?jb:jb=1))||a};function fa(a,b){function c(){f+b>Q()?(clearTimeout(d),d=setTimeout(c,b)):(f=Q(),a())}var d,f=0;return c}function ga(a,b){var c=[];T(a||[],function(a){b(a)&&c.push(a)});return c}function ha(a,b){return a.replace(ca,function(a,d){return b[d]||a})} -function U(a,b){return setTimeout(a,b)}function S(a){var b="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});a&&a(b);return b}function T(a,b){if(a&&b)if("undefined"!=typeof a[0])for(var c=0,d=a.length;c"-_.!~*'()".indexOf(a)?a:"%"+a.charCodeAt(0).toString(16).toUpperCase()}).join("")}function $(a){var b=[];T(a,function(a,d){d.f&&b.push(a)});return b.sort()}function ia(){U(function(){E||(E=1,T(G,function(a){a()}))},L)} -function pa(a){function b(){}function c(a){a&&(t.g=0);!t.g&&t.length&&(t.g=1,p(t.shift()))}function d(a){T($(r),function(b){(b=r[b])&&a(b)})}var f=+a.windowing||I,j=(+a.timeout||aa)*L,A=(+a.keepalive||ba)*L,w=a.publish_key||"",g=a.subscribe_key||"",v=a.ssl?"s":"",s="http"+v+"://"+(a.origin||"pubsub.pubnub.com"),z=R(s),P=R(s),t=[],V=0,J=0,N=0,O=0,M=0,F=0,r={},p=a.xdr,K=a._is_online||y(1),u=a.jsonp_cb||y(0),B=a.db||{get:q(),set:q()},x=a.uuid||B&&B.get(g+"uuid")||"",e={_reset_offline:function(){N&&N(1)}, -LEAVE:function(a,b){var d={uuid:x},c=R(s),h=u();0++sb?sb:sb=1))||a};function fa(a,b){function c(){f+b>Q()?(clearTimeout(d),d=setTimeout(c,b)):(f=Q(),a())}var d,f=0;return c}function ga(a,b){var c=[];T(a||[],function(a){b(a)&&c.push(a)});return c}function ha(a,b){return a.replace(ca,function(a,d){return b[d]||a})} -function U(a,b){return setTimeout(a,b)}function S(a){var b="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});a&&a(b);return b}function T(a,b){if(a&&b)if("undefined"!=typeof a[0])for(var c=0,d=a.length;c"-_.!~*'()".indexOf(a)?a:"%"+a.charCodeAt(0).toString(16).toUpperCase()}).join("")}function $(a){var b=[];T(a,function(a,d){d.f&&b.push(a)});return b.sort()}function ia(){U(function(){E||(E=1,T(G,function(a){a()}))},L)} -function pa(a){function b(){}function c(a){a&&(t.g=0);!t.g&&t.length&&(t.g=1,p(t.shift()))}function d(a){T($(r),function(b){(b=r[b])&&a(b)})}var f=+a.windowing||I,j=(+a.timeout||aa)*L,A=(+a.keepalive||ba)*L,w=a.publish_key||"",g=a.subscribe_key||"",v=a.ssl?"s":"",s="http"+v+"://"+(a.origin||"pubsub.pubnub.com"),z=R(s),P=R(s),t=[],V=0,J=0,N=0,O=0,M=0,F=0,r={},p=a.xdr,K=a._is_online||y(1),u=a.jsonp_cb||y(0),B=a.db||{get:q(),set:q()},x=a.uuid||B&&B.get(g+"uuid")||"",e={_reset_offline:function(){N&&N(1)}, -LEAVE:function(a,b){var d={uuid:x},c=R(s),h=u();0++Bb?Bb:Bb=1))||a};function fa(a,b){function c(){f+b>Q()?(clearTimeout(d),d=setTimeout(c,b)):(f=Q(),a())}var d,f=0;return c}function ga(a,b){var c=[];T(a||[],function(a){b(a)&&c.push(a)});return c}function ha(a,b){return a.replace(ca,function(a,d){return b[d]||a})} -function U(a,b){return setTimeout(a,b)}function S(a){var b="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});a&&a(b);return b}function T(a,b){if(a&&b)if("undefined"!=typeof a[0])for(var c=0,d=a.length;c"-_.!~*'()".indexOf(a)?a:"%"+a.charCodeAt(0).toString(16).toUpperCase()}).join("")}function $(a){var b=[];T(a,function(a,d){d.f&&b.push(a)});return b.sort()}function ia(){U(function(){E||(E=1,T(G,function(a){a()}))},L)} -function pa(a){function b(){}function c(a){a&&(t.g=0);!t.g&&t.length&&(t.g=1,p(t.shift()))}function d(a){T($(r),function(b){(b=r[b])&&a(b)})}var f=+a.windowing||I,j=(+a.timeout||aa)*L,A=(+a.keepalive||ba)*L,w=a.publish_key||"",g=a.subscribe_key||"",v=a.ssl?"s":"",s="http"+v+"://"+(a.origin||"pubsub.pubnub.com"),z=R(s),P=R(s),t=[],V=0,J=0,N=0,O=0,M=0,F=0,r={},p=a.xdr,K=a._is_online||y(1),u=a.jsonp_cb||y(0),B=a.db||{get:q(),set:q()},x=a.uuid||B&&B.get(g+"uuid")||"",e={_reset_offline:function(){N&&N(1)}, -LEAVE:function(a,b){var d={uuid:x},c=R(s),e=u();0++Kb?Kb:Kb=1))||a};function fa(a,b){function c(){f+b>Q()?(clearTimeout(d),d=setTimeout(c,b)):(f=Q(),a())}var d,f=0;return c}function ga(a,b){var c=[];T(a||[],function(a){b(a)&&c.push(a)});return c}function ha(a,b){return a.replace(ca,function(a,d){return b[d]||a})} -function U(a,b){return setTimeout(a,b)}function S(a){var b="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});a&&a(b);return b}function T(a,b){if(a&&b)if("undefined"!=typeof a[0])for(var c=0,d=a.length;c"-_.!~*'()".indexOf(a)?a:"%"+a.charCodeAt(0).toString(16).toUpperCase()}).join("")}function $(a){var b=[];T(a,function(a,d){d.f&&b.push(a)});return b.sort()}function ia(){U(function(){E||(E=1,T(G,function(a){a()}))},L)} -function pa(a){function b(){}function c(a){a&&(t.g=0);!t.g&&t.length&&(t.g=1,p(t.shift()))}function d(a){T($(r),function(b){(b=r[b])&&a(b)})}var f=+a.windowing||I,j=(+a.timeout||aa)*L,A=(+a.keepalive||ba)*L,w=a.publish_key||"",g=a.subscribe_key||"",v=a.ssl?"s":"",s="http"+v+"://"+(a.origin||"pubsub.pubnub.com"),z=R(s),P=R(s),t=[],V=0,J=0,N=0,O=0,M=0,F=0,r={},p=a.xdr,K=a._is_online||y(1),u=a.jsonp_cb||y(0),B=a.db||{get:q(),set:q()},x=a.uuid||B&&B.get(g+"uuid")||"",e={_reset_offline:function(){N&&N(1)}, -LEAVE:function(a,b){var d={uuid:x},c=R(s),e=u();0++Tb?Tb:Tb=1))||a};function fa(a,b){function c(){f+b>Q()?(clearTimeout(d),d=setTimeout(c,b)):(f=Q(),a())}var d,f=0;return c}function ga(a,b){var c=[];T(a||[],function(a){b(a)&&c.push(a)});return c}function ha(a,b){return a.replace(ca,function(a,d){return b[d]||a})} -function U(a,b){return setTimeout(a,b)}function S(a){var b="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});a&&a(b);return b}function T(a,b){if(a&&b)if("undefined"!=typeof a[0])for(var c=0,d=a.length;c"-_.!~*'()".indexOf(a)?a:"%"+a.charCodeAt(0).toString(16).toUpperCase()}).join("")}function $(a){var b=[];T(a,function(a,d){d.f&&b.push(a)});return b.sort()}function ia(){U(function(){E||(E=1,T(G,function(a){a()}))},L)} -function pa(a){function b(){}function c(a){a&&(J.g=0);!J.g&&J.length&&(J.g=1,u(J.shift()))}function d(a){T($(K),function(b){(b=K[b])&&a(b)})}function f(){B()||M&&M(1);U(f,L)}function j(){ja.time(function(a){a||M&&M(1);U(j,g)})}var A=+a.windowing||I,w=(+a.timeout||aa)*L,g=(+a.keepalive||ba)*L,v=a.publish_key||"",s=a.subscribe_key||"",z=a.ssl?"s":"",P="http"+z+"://"+(a.origin||"pubsub.pubnub.com"),t=R(P),V=R(P),J=[],N=0,O=0,M=0,F=0,r=0,p=0,K={},u=a.xdr,B=a._is_online||y(1),x=a.jsonp_cb||y(0),e=a.db|| -{get:q(),set:q()},X=a.uuid||e&&e.get(s+"uuid")||"",ja={LEAVE:function(a,b){var c={uuid:X},d=R(P),e=x();0++bc?bc:bc=1))||a};function fa(a,b){function c(){f+b>Q()?(clearTimeout(d),d=setTimeout(c,b)):(f=Q(),a())}var d,f=0;return c}function ga(a,b){var c=[];T(a||[],function(a){b(a)&&c.push(a)});return c}function ha(a,b){return a.replace(ca,function(a,d){return b[d]||a})} -function U(a,b){return setTimeout(a,b)}function S(a){var b="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"==a?b:b&3|8).toString(16)});a&&a(b);return b}function T(a,b){if(a&&b)if("undefined"!=typeof a[0])for(var c=0,d=a.length;c"-_.!~*'()".indexOf(a)?a:"%"+a.charCodeAt(0).toString(16).toUpperCase()}).join("")}function $(a){var b=[];T(a,function(a,d){d.f&&b.push(a)});return b.sort()}function ia(){U(function(){E||(E=1,T(G,function(a){a()}))},L)} -function pa(a){function b(){}function c(a){a&&(J.g=0);!J.g&&J.length&&(J.g=1,u(J.shift()))}function d(a){T($(K),function(b){(b=K[b])&&a(b)})}function f(){B()||M&&M(1);U(f,L)}function j(){ja.time(function(a){a||M&&M(1);U(j,g)})}var A=+a.windowing||I,w=(+a.timeout||aa)*L,g=(+a.keepalive||ba)*L,v=a.publish_key||"",s=a.subscribe_key||"",z=a.ssl?"s":"",P="http"+z+"://"+(a.origin||"pubsub.pubnub.com"),t=R(P),V=R(P),J=[],N=0,O=0,M=0,F=0,r=0,p=0,K={},u=a.xdr,B=a._is_online||y(1),x=a.jsonp_cb||y(0),e=a.db|| -{get:q(),set:q()},X=a.uuid||e&&e.get(s+"uuid")||"",ja={LEAVE:function(a,b){var c={uuid:X},d=R(P),e=x();0++K?K:K=1))||a}; +function ga(a,c){function b(){e+c>H()?(clearTimeout(d),d=setTimeout(b,c)):(e=H(),a())}var d,e=0;return b}function ha(a,c){var b=[];M(a||[],function(a){c(a)&&b.push(a)});return b}function ia(a,c){return a.replace(ea,function(b,a){return c[a]||b})}function L(a){var c="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(b){var a=16*Math.random()|0;return("x"==b?a:a&3|8).toString(16)});a&&a(c);return c} +function M(a,c){if(a&&c)if("undefined"!=typeof a[0])for(var b=0,d=a.length;b"-_.!~*'()".indexOf(a)?a:"%"+a.charCodeAt(0).toString(16).toUpperCase()}).join("")}function Q(a){var c=[];M(a,function(a,d){d.g&&c.push(a)});return c.sort()} +function ja(){setTimeout(function(){B||(B=1,M(C,function(a){a()}))},E)} +function T(a){function c(a){e||(e=1,clearTimeout(h),d&&(d.onerror=d.onload=p,d.abort&&d.abort(),d=p),a&&q())}function b(){if(!k){k=1;clearTimeout(h);try{response=JSON.parse(d.responseText)}catch(a){return c(1)}N(response)}}var d,e=0,k=0,h;h=setTimeout(function(){c(1)},U);var q=a.b||t(),N=a.c||t();try{d="undefined"!==typeof XDomainRequest&&new XDomainRequest||new XMLHttpRequest;d.onerror=d.onabort=function(){c(1)};d.onload=d.onloadend=b;d.timeout=U;url=a.url.join(ka);if(a.data){var u=[];url+="?";for(key in a.data)u.push(key+ +"="+a.data[key]);url+=u.join(la)}d.open("GET",url,!0);d.send()}catch(i){return c(0),T(a)}return c}function V(a,c,b){M(a.split(","),function(a){function e(a){a||(a=window.event);b(a)||(a.cancelBubble=!0,a.returnValue=r,a.preventDefault&&a.preventDefault(),a.stopPropagation&&a.stopPropagation())}c.addEventListener?c.addEventListener(a,e,r):c.attachEvent?c.attachEvent("on"+a,e):c["on"+a]=e})} +function W(a){function c(){}function b(){v.time(function(a){a||z&&z(1);setTimeout(b,u)})}function d(){R()||z&&z(1);setTimeout(d,E)}function e(a){M(Q(w),function(b){(b=w[b])&&a(b)})}function k(a){a&&(f.h=0);!f.h&&f.length&&(f.h=1,x(f.shift()))}a.db=X;a.xdr=T;var h,q=+a.windowing||10,N=(+a.timeout||310)*E,u=(+a.keepalive||60)*E,i=a.publish_key||"",g=a.subscribe_key||"",m=a.ssl?"s":"",s="http"+m+"://"+(a.origin||"pubsub.pubnub.com"),j=J(s),y=J(s),f=[],$=0,aa=0,z=0,S=0,ba=0,I=0,w={},x=a.xdr,R=a._is_online|| +function(){return 1},A=a.jsonp_cb||function(){return 0},F=a.db||{get:t(),set:t()},G=a.uuid||F&&F.get(g+"uuid")||"",v={LEAVE:function(a,b){var c={uuid:G},d=J(s),e=A();0 $(PUBNUB_JS) cat $(JSON_JS) $(PUBNUB_COMMON_JS) $(PUBNUB_PLATFORM_JS) $(WEBSOCKET_JS) >> $(PUBNUB_JS) - ## Minfied Version $(ECHO) -n "// Version: $(VERSION)\n" > $(PUBNUB_MIN_JS) $(ECHO) "(function(){" > $(PUBNUB_MIN_JS) From b9103061eda7cc7c755ef4e01d1ceaaf08007139 Mon Sep 17 00:00:00 2001 From: Devendra Date: Fri, 5 Apr 2013 00:18:05 +0530 Subject: [PATCH 30/66] removed duplicate entry for function --- modern/pubnub.js | 27 ----------------------- modern/pubnub.min.js | 39 +++++++++++++++++----------------- modern/unassembled/platform.js | 27 ----------------------- 3 files changed, 19 insertions(+), 74 deletions(-) diff --git a/modern/pubnub.js b/modern/pubnub.js index 3ed84c9dd..a224c535e 100644 --- a/modern/pubnub.js +++ b/modern/pubnub.js @@ -1059,33 +1059,6 @@ function search( elements, start ) { return list; } - - -/** - * BIND - * ==== - * bind( 'keydown', search('a')[0], function(element) { - * ... - * } ); - */ -function bind( type, el, fun ) { - each( type.split(','), function(etype) { - var rapfun = function(e) { - if (!e) e = window.event; - if (!fun(e)) { - e.cancelBubble = true; - e.returnValue = false; - e.preventDefault && e.preventDefault(); - e.stopPropagation && e.stopPropagation(); - } - }; - - if ( el.addEventListener ) el.addEventListener( etype, rapfun, false ); - else if ( el.attachEvent ) el.attachEvent( 'on' + etype, rapfun ); - else el[ 'on' + etype ] = rapfun; - } ); -} - /** * CSS * === diff --git a/modern/pubnub.min.js b/modern/pubnub.min.js index bcb3da47a..b2bf4a0b3 100644 --- a/modern/pubnub.min.js +++ b/modern/pubnub.min.js @@ -1,26 +1,25 @@ (function(){ -var m=null,q=!1;function t(){return function(){}} -window.JSON&&window.JSON.stringify||function(){function a(){try{return this.valueOf()}catch(b){return m}}function c(b){d.lastIndex=0;return d.test(b)?'"'+b.replace(d,function(b){var a=g[b];return"string"===typeof a?a:"\\u"+("0000"+b.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+b+'"'}function b(d,g){var i,h,n,s,j,z=e,f=g[d];f&&"object"===typeof f&&(f=a.call(f));"function"===typeof r&&(f=r.call(g,d,f));switch(typeof f){case "string":return c(f);case "number":return isFinite(f)?String(f):"null";case "boolean":case "null":return String(f); -case "object":if(!f)return"null";e+=k;j=[];if("[object Array]"===Object.prototype.toString.apply(f)){s=f.length;for(i=0;i++K?K:K=1))||a}; +var n=null,q=!1;function t(){return function(){}} +window.JSON&&window.JSON.stringify||function(){function a(){try{return this.valueOf()}catch(b){return n}}function c(b){d.lastIndex=0;return d.test(b)?'"'+b.replace(d,function(b){var a=g[b];return"string"===typeof a?a:"\\u"+("0000"+b.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+b+'"'}function b(d,g){var i,h,m,s,j,y=e,f=g[d];f&&"object"===typeof f&&(f=a.call(f));"function"===typeof r&&(f=r.call(g,d,f));switch(typeof f){case "string":return c(f);case "number":return isFinite(f)?String(f):"null";case "boolean":case "null":return String(f); +case "object":if(!f)return"null";e+=k;j=[];if("[object Array]"===Object.prototype.toString.apply(f)){s=f.length;for(i=0;i++K?K:K=1))||a}; function ga(a,c){function b(){e+c>H()?(clearTimeout(d),d=setTimeout(b,c)):(e=H(),a())}var d,e=0;return b}function ha(a,c){var b=[];M(a||[],function(a){c(a)&&b.push(a)});return b}function ia(a,c){return a.replace(ea,function(b,a){return c[a]||b})}function L(a){var c="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(b){var a=16*Math.random()|0;return("x"==b?a:a&3|8).toString(16)});a&&a(c);return c} function M(a,c){if(a&&c)if("undefined"!=typeof a[0])for(var b=0,d=a.length;b"-_.!~*'()".indexOf(a)?a:"%"+a.charCodeAt(0).toString(16).toUpperCase()}).join("")}function Q(a){var c=[];M(a,function(a,d){d.g&&c.push(a)});return c.sort()} -function ja(){setTimeout(function(){u||(u=1,M(C,function(a){a()}))},E)} -function T(a){function c(a){e||(e=1,clearTimeout(g),d&&(d.onerror=d.onload=m,d.abort&&d.abort(),d=m),a&&r())}function b(){if(!k){k=1;clearTimeout(g);try{response=JSON.parse(d.responseText)}catch(a){return c(1)}O(response)}}var d,e=0,k=0,g;g=setTimeout(function(){c(1)},U);var r=a.b||t(),O=a.c||t();try{d="undefined"!==typeof XDomainRequest&&new XDomainRequest||new XMLHttpRequest;d.onerror=d.onabort=function(){c(1)};d.onload=d.onloadend=b;d.timeout=U;url=a.url.join(ka);if(a.data){var v=[];url+="?";for(key in a.data)v.push(key+ -"="+a.data[key]);url+=v.join(la)}d.open("GET",url,!0);d.send()}catch(i){return c(0),T(a)}return c}function V(a,c,b){M(a.split(","),function(a){function e(a){a||(a=window.event);b(a)||(a.cancelBubble=!0,a.returnValue=q,a.preventDefault&&a.preventDefault(),a.stopPropagation&&a.stopPropagation())}c.addEventListener?c.addEventListener(a,e,q):c.attachEvent?c.attachEvent("on"+a,e):c["on"+a]=e})}function ma(a,c,b){if(b)a.setAttribute(c,b);else return a&&a.getAttribute&&a.getAttribute(c)} -function na(a){return document.getElementById(a)}function oa(a,c){var b=[];M(a.split(/\s+/),function(a){M((c||document).getElementsByTagName(a),function(a){b.push(a)})});return b}function V(a,c,b){M(a.split(","),function(a){function e(a){a||(a=window.event);b(a)||(a.cancelBubble=!0,a.returnValue=q,a.preventDefault&&a.preventDefault(),a.stopPropagation&&a.stopPropagation())}c.addEventListener?c.addEventListener(a,e,q):c.attachEvent?c.attachEvent("on"+a,e):c["on"+a]=e})} -function pa(a,c){for(var b in c)if(c.hasOwnProperty(b))try{a.style[b]=c[b]+(0<"|width|height|top|left|".indexOf(b)&&"number"==typeof c[b]?"px":"")}catch(d){}}function qa(a){return document.createElement(a)} -function W(a){function c(){}function b(){w.time(function(a){a||A&&A(1);setTimeout(b,v)})}function d(){R()||A&&A(1);setTimeout(d,E)}function e(a){M(Q(x),function(b){(b=x[b])&&a(b)})}function k(a){a&&(f.h=0);!f.h&&f.length&&(f.h=1,y(f.shift()))}a.db=X;a.xdr=T;var g,r=+a.windowing||10,O=(+a.timeout||310)*E,v=(+a.keepalive||60)*E,i=a.publish_key||"",h=a.subscribe_key||"",n=a.ssl?"s":"",s="http"+n+"://"+(a.origin||"pubsub.pubnub.com"),j=I(s),z=I(s),f=[],$=0,aa=0,A=0,S=0,ba=0,J=0,x={},y=a.xdr,R=a._is_online|| -function(){return 1},B=a.jsonp_cb||function(){return 0},F=a.db||{get:t(),set:t()},G=a.uuid||F&&F.get(h+"uuid")||"",w={LEAVE:function(a,b){var c={uuid:G},d=I(s),e=B();0 Date: Fri, 5 Apr 2013 00:21:34 +0530 Subject: [PATCH 31/66] titanium new pubnub.js --- Makefile | 2 +- titanium/examples/desktop/pubnub.js | 56 +++++++++---------- .../chat-example-app/Resources/pubnub.js | 56 +++++++++---------- .../Resources/pubnub.js | 56 +++++++++---------- .../here-now-example-app/Resources/pubnub.js | 56 +++++++++---------- titanium/pubnub.js | 56 +++++++++---------- 6 files changed, 136 insertions(+), 146 deletions(-) diff --git a/Makefile b/Makefile index 99ff14f0d..2f6d8934d 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -SUBDIRS = web socket.io nodejs modern +SUBDIRS = web socket.io nodejs modern titanium .PHONY: all all: diff --git a/titanium/examples/desktop/pubnub.js b/titanium/examples/desktop/pubnub.js index b4f497897..1c64a318d 100644 --- a/titanium/examples/desktop/pubnub.js +++ b/titanium/examples/desktop/pubnub.js @@ -158,11 +158,11 @@ function generate_channel_list(channels) { } // PUBNUB READY TO CONNECT - function ready() { timeout( function() { - if (READY) return; - READY = 1; - each( READY_BUFFER, function(connect) { connect() } ); - }, SECOND ); } +function ready() { timeout( function() { + if (READY) return; + READY = 1; + each( READY_BUFFER, function(connect) { connect() } ); +}, SECOND ); } function PN_API(setup) { var SUB_WINDOWING = +setup['windowing'] || DEF_WINDOWING @@ -189,8 +189,6 @@ function PN_API(setup) { , db = setup['db'] || {'get': function(){}, 'set': function(){}} , UUID = setup['uuid'] || ( db && db['get'](SUBSCRIBE_KEY+'uuid') || ''); - - function publish(next) { if (next) PUB_QUEUE.sending = 0; if (PUB_QUEUE.sending || !PUB_QUEUE.length) return; @@ -207,14 +205,7 @@ function PN_API(setup) { } // Announce Leave Event - - - var SELF = { - - '_reset_offline' : function() { - SUB_RECEIVER && SUB_RECEIVER(1); - }, - + var SELF = { 'LEAVE' : function( channel, blocking ) { var data = { 'uuid' : UUID } , origin = nextorigin(ORIGIN) @@ -593,7 +584,7 @@ function PN_API(setup) { CONNECT = function() { // Close Previous Subscribe Connection - SELF['_reset_offline'](); + _reset_offline(); // Begin Recursive Subscribe clearTimeout(SUB_BUFF_WAIT); @@ -648,23 +639,30 @@ function PN_API(setup) { 'supplant' : supplant, 'now' : rnow, 'unique' : unique, - 'updater' : updater, - 'poll_online' : function() { - _is_online() || SELF['_reset_offline'](); - timeout( SELF['poll_online'], SECOND ); - }, - 'poll_online2' : function() { - SELF['time'](function(success){ - success || SELF['_reset_offline'](); - timeout( SELF['poll_online2'], KEEPALIVE ); - }) - } + 'updater' : updater }; + + function _poll_online() { + _is_online() || _reset_offline(); + timeout( _poll_online, SECOND ); + } + + function _poll_online2() { + SELF['time'](function(success){ + success || _reset_offline(); + timeout( _poll_online2, KEEPALIVE ); + }) + } + + function _reset_offline() { + SUB_RECEIVER && SUB_RECEIVER(1); + } + if (!UUID) UUID = SELF['uuid'](); db['set']( SUBSCRIBE_KEY + 'uuid', UUID ); - timeout( SELF['poll_online'], SECOND ); - timeout( SELF['poll_online2'], KEEPALIVE ); + timeout( _poll_online, SECOND ); + timeout( _poll_online2, KEEPALIVE ); return SELF; } diff --git a/titanium/examples/mobile/chat-example-app/Resources/pubnub.js b/titanium/examples/mobile/chat-example-app/Resources/pubnub.js index b4f497897..1c64a318d 100644 --- a/titanium/examples/mobile/chat-example-app/Resources/pubnub.js +++ b/titanium/examples/mobile/chat-example-app/Resources/pubnub.js @@ -158,11 +158,11 @@ function generate_channel_list(channels) { } // PUBNUB READY TO CONNECT - function ready() { timeout( function() { - if (READY) return; - READY = 1; - each( READY_BUFFER, function(connect) { connect() } ); - }, SECOND ); } +function ready() { timeout( function() { + if (READY) return; + READY = 1; + each( READY_BUFFER, function(connect) { connect() } ); +}, SECOND ); } function PN_API(setup) { var SUB_WINDOWING = +setup['windowing'] || DEF_WINDOWING @@ -189,8 +189,6 @@ function PN_API(setup) { , db = setup['db'] || {'get': function(){}, 'set': function(){}} , UUID = setup['uuid'] || ( db && db['get'](SUBSCRIBE_KEY+'uuid') || ''); - - function publish(next) { if (next) PUB_QUEUE.sending = 0; if (PUB_QUEUE.sending || !PUB_QUEUE.length) return; @@ -207,14 +205,7 @@ function PN_API(setup) { } // Announce Leave Event - - - var SELF = { - - '_reset_offline' : function() { - SUB_RECEIVER && SUB_RECEIVER(1); - }, - + var SELF = { 'LEAVE' : function( channel, blocking ) { var data = { 'uuid' : UUID } , origin = nextorigin(ORIGIN) @@ -593,7 +584,7 @@ function PN_API(setup) { CONNECT = function() { // Close Previous Subscribe Connection - SELF['_reset_offline'](); + _reset_offline(); // Begin Recursive Subscribe clearTimeout(SUB_BUFF_WAIT); @@ -648,23 +639,30 @@ function PN_API(setup) { 'supplant' : supplant, 'now' : rnow, 'unique' : unique, - 'updater' : updater, - 'poll_online' : function() { - _is_online() || SELF['_reset_offline'](); - timeout( SELF['poll_online'], SECOND ); - }, - 'poll_online2' : function() { - SELF['time'](function(success){ - success || SELF['_reset_offline'](); - timeout( SELF['poll_online2'], KEEPALIVE ); - }) - } + 'updater' : updater }; + + function _poll_online() { + _is_online() || _reset_offline(); + timeout( _poll_online, SECOND ); + } + + function _poll_online2() { + SELF['time'](function(success){ + success || _reset_offline(); + timeout( _poll_online2, KEEPALIVE ); + }) + } + + function _reset_offline() { + SUB_RECEIVER && SUB_RECEIVER(1); + } + if (!UUID) UUID = SELF['uuid'](); db['set']( SUBSCRIBE_KEY + 'uuid', UUID ); - timeout( SELF['poll_online'], SECOND ); - timeout( SELF['poll_online2'], KEEPALIVE ); + timeout( _poll_online, SECOND ); + timeout( _poll_online2, KEEPALIVE ); return SELF; } diff --git a/titanium/examples/mobile/detailed-history-example-app/Resources/pubnub.js b/titanium/examples/mobile/detailed-history-example-app/Resources/pubnub.js index b4f497897..1c64a318d 100644 --- a/titanium/examples/mobile/detailed-history-example-app/Resources/pubnub.js +++ b/titanium/examples/mobile/detailed-history-example-app/Resources/pubnub.js @@ -158,11 +158,11 @@ function generate_channel_list(channels) { } // PUBNUB READY TO CONNECT - function ready() { timeout( function() { - if (READY) return; - READY = 1; - each( READY_BUFFER, function(connect) { connect() } ); - }, SECOND ); } +function ready() { timeout( function() { + if (READY) return; + READY = 1; + each( READY_BUFFER, function(connect) { connect() } ); +}, SECOND ); } function PN_API(setup) { var SUB_WINDOWING = +setup['windowing'] || DEF_WINDOWING @@ -189,8 +189,6 @@ function PN_API(setup) { , db = setup['db'] || {'get': function(){}, 'set': function(){}} , UUID = setup['uuid'] || ( db && db['get'](SUBSCRIBE_KEY+'uuid') || ''); - - function publish(next) { if (next) PUB_QUEUE.sending = 0; if (PUB_QUEUE.sending || !PUB_QUEUE.length) return; @@ -207,14 +205,7 @@ function PN_API(setup) { } // Announce Leave Event - - - var SELF = { - - '_reset_offline' : function() { - SUB_RECEIVER && SUB_RECEIVER(1); - }, - + var SELF = { 'LEAVE' : function( channel, blocking ) { var data = { 'uuid' : UUID } , origin = nextorigin(ORIGIN) @@ -593,7 +584,7 @@ function PN_API(setup) { CONNECT = function() { // Close Previous Subscribe Connection - SELF['_reset_offline'](); + _reset_offline(); // Begin Recursive Subscribe clearTimeout(SUB_BUFF_WAIT); @@ -648,23 +639,30 @@ function PN_API(setup) { 'supplant' : supplant, 'now' : rnow, 'unique' : unique, - 'updater' : updater, - 'poll_online' : function() { - _is_online() || SELF['_reset_offline'](); - timeout( SELF['poll_online'], SECOND ); - }, - 'poll_online2' : function() { - SELF['time'](function(success){ - success || SELF['_reset_offline'](); - timeout( SELF['poll_online2'], KEEPALIVE ); - }) - } + 'updater' : updater }; + + function _poll_online() { + _is_online() || _reset_offline(); + timeout( _poll_online, SECOND ); + } + + function _poll_online2() { + SELF['time'](function(success){ + success || _reset_offline(); + timeout( _poll_online2, KEEPALIVE ); + }) + } + + function _reset_offline() { + SUB_RECEIVER && SUB_RECEIVER(1); + } + if (!UUID) UUID = SELF['uuid'](); db['set']( SUBSCRIBE_KEY + 'uuid', UUID ); - timeout( SELF['poll_online'], SECOND ); - timeout( SELF['poll_online2'], KEEPALIVE ); + timeout( _poll_online, SECOND ); + timeout( _poll_online2, KEEPALIVE ); return SELF; } diff --git a/titanium/examples/mobile/here-now-example-app/Resources/pubnub.js b/titanium/examples/mobile/here-now-example-app/Resources/pubnub.js index b4f497897..1c64a318d 100644 --- a/titanium/examples/mobile/here-now-example-app/Resources/pubnub.js +++ b/titanium/examples/mobile/here-now-example-app/Resources/pubnub.js @@ -158,11 +158,11 @@ function generate_channel_list(channels) { } // PUBNUB READY TO CONNECT - function ready() { timeout( function() { - if (READY) return; - READY = 1; - each( READY_BUFFER, function(connect) { connect() } ); - }, SECOND ); } +function ready() { timeout( function() { + if (READY) return; + READY = 1; + each( READY_BUFFER, function(connect) { connect() } ); +}, SECOND ); } function PN_API(setup) { var SUB_WINDOWING = +setup['windowing'] || DEF_WINDOWING @@ -189,8 +189,6 @@ function PN_API(setup) { , db = setup['db'] || {'get': function(){}, 'set': function(){}} , UUID = setup['uuid'] || ( db && db['get'](SUBSCRIBE_KEY+'uuid') || ''); - - function publish(next) { if (next) PUB_QUEUE.sending = 0; if (PUB_QUEUE.sending || !PUB_QUEUE.length) return; @@ -207,14 +205,7 @@ function PN_API(setup) { } // Announce Leave Event - - - var SELF = { - - '_reset_offline' : function() { - SUB_RECEIVER && SUB_RECEIVER(1); - }, - + var SELF = { 'LEAVE' : function( channel, blocking ) { var data = { 'uuid' : UUID } , origin = nextorigin(ORIGIN) @@ -593,7 +584,7 @@ function PN_API(setup) { CONNECT = function() { // Close Previous Subscribe Connection - SELF['_reset_offline'](); + _reset_offline(); // Begin Recursive Subscribe clearTimeout(SUB_BUFF_WAIT); @@ -648,23 +639,30 @@ function PN_API(setup) { 'supplant' : supplant, 'now' : rnow, 'unique' : unique, - 'updater' : updater, - 'poll_online' : function() { - _is_online() || SELF['_reset_offline'](); - timeout( SELF['poll_online'], SECOND ); - }, - 'poll_online2' : function() { - SELF['time'](function(success){ - success || SELF['_reset_offline'](); - timeout( SELF['poll_online2'], KEEPALIVE ); - }) - } + 'updater' : updater }; + + function _poll_online() { + _is_online() || _reset_offline(); + timeout( _poll_online, SECOND ); + } + + function _poll_online2() { + SELF['time'](function(success){ + success || _reset_offline(); + timeout( _poll_online2, KEEPALIVE ); + }) + } + + function _reset_offline() { + SUB_RECEIVER && SUB_RECEIVER(1); + } + if (!UUID) UUID = SELF['uuid'](); db['set']( SUBSCRIBE_KEY + 'uuid', UUID ); - timeout( SELF['poll_online'], SECOND ); - timeout( SELF['poll_online2'], KEEPALIVE ); + timeout( _poll_online, SECOND ); + timeout( _poll_online2, KEEPALIVE ); return SELF; } diff --git a/titanium/pubnub.js b/titanium/pubnub.js index b4f497897..1c64a318d 100644 --- a/titanium/pubnub.js +++ b/titanium/pubnub.js @@ -158,11 +158,11 @@ function generate_channel_list(channels) { } // PUBNUB READY TO CONNECT - function ready() { timeout( function() { - if (READY) return; - READY = 1; - each( READY_BUFFER, function(connect) { connect() } ); - }, SECOND ); } +function ready() { timeout( function() { + if (READY) return; + READY = 1; + each( READY_BUFFER, function(connect) { connect() } ); +}, SECOND ); } function PN_API(setup) { var SUB_WINDOWING = +setup['windowing'] || DEF_WINDOWING @@ -189,8 +189,6 @@ function PN_API(setup) { , db = setup['db'] || {'get': function(){}, 'set': function(){}} , UUID = setup['uuid'] || ( db && db['get'](SUBSCRIBE_KEY+'uuid') || ''); - - function publish(next) { if (next) PUB_QUEUE.sending = 0; if (PUB_QUEUE.sending || !PUB_QUEUE.length) return; @@ -207,14 +205,7 @@ function PN_API(setup) { } // Announce Leave Event - - - var SELF = { - - '_reset_offline' : function() { - SUB_RECEIVER && SUB_RECEIVER(1); - }, - + var SELF = { 'LEAVE' : function( channel, blocking ) { var data = { 'uuid' : UUID } , origin = nextorigin(ORIGIN) @@ -593,7 +584,7 @@ function PN_API(setup) { CONNECT = function() { // Close Previous Subscribe Connection - SELF['_reset_offline'](); + _reset_offline(); // Begin Recursive Subscribe clearTimeout(SUB_BUFF_WAIT); @@ -648,23 +639,30 @@ function PN_API(setup) { 'supplant' : supplant, 'now' : rnow, 'unique' : unique, - 'updater' : updater, - 'poll_online' : function() { - _is_online() || SELF['_reset_offline'](); - timeout( SELF['poll_online'], SECOND ); - }, - 'poll_online2' : function() { - SELF['time'](function(success){ - success || SELF['_reset_offline'](); - timeout( SELF['poll_online2'], KEEPALIVE ); - }) - } + 'updater' : updater }; + + function _poll_online() { + _is_online() || _reset_offline(); + timeout( _poll_online, SECOND ); + } + + function _poll_online2() { + SELF['time'](function(success){ + success || _reset_offline(); + timeout( _poll_online2, KEEPALIVE ); + }) + } + + function _reset_offline() { + SUB_RECEIVER && SUB_RECEIVER(1); + } + if (!UUID) UUID = SELF['uuid'](); db['set']( SUBSCRIBE_KEY + 'uuid', UUID ); - timeout( SELF['poll_online'], SECOND ); - timeout( SELF['poll_online2'], KEEPALIVE ); + timeout( _poll_online, SECOND ); + timeout( _poll_online2, KEEPALIVE ); return SELF; } From 6f7222d5a37d9c843c1aaa28d68851961ce615d6 Mon Sep 17 00:00:00 2001 From: Devendra Date: Fri, 5 Apr 2013 00:28:22 +0530 Subject: [PATCH 32/66] adding empty test target --- Makefile.inc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Makefile.inc b/Makefile.inc index 2fff98672..43cea91cd 100644 --- a/Makefile.inc +++ b/Makefile.inc @@ -16,3 +16,6 @@ GIBBERISH_JS=$(CORE_DIR)/crypto/gibberish-aes.js WEBSOCKET_JS=$(CORE_DIR)/websocket.js ENCRYPT_JS=$(CORE_DIR)/crypto/encrypt-pubnub.js PUBNUB_MIN_JS=pubnub.min.js + +.PHONY : test +test : # empty From 0c9614cac17b8c02febf5c267772c816e4a9ef1b Mon Sep 17 00:00:00 2001 From: Devendra Date: Fri, 5 Apr 2013 00:35:59 +0530 Subject: [PATCH 33/66] fixed tests webos --- webos/index.html | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/webos/index.html b/webos/index.html index ea9c8ed82..ca9734a4e 100644 --- a/webos/index.html +++ b/webos/index.html @@ -80,7 +80,7 @@ } } - var p = PUBNUB + var p = PUBNUB({ publish_key : 'demo', subscribe_key : 'demo' }) , many_con_tst = 'opera' in window ? -1 : 10 , channel = 'pn-javascript-unit-test' , out = p.$('unit-test-out') @@ -137,7 +137,7 @@ message : { test : "test" }, callback : function(response) { test( response[0], 'Successful Publish' ); - test( response[1] === 'D', 'Success With Demo' ); + test( response[1] === 'Sent', 'Success With Demo' ); history_test(); } }); @@ -151,7 +151,7 @@ channel : channel, callback : function(messages) { test( messages, 'History Response' ); - test( messages[0].test === "test", 'History Content' ); + test( messages[0][0].test === "test", 'History Content' ); } }); } From 790fdf282845f84a89bb2bb1e4181b2615a8e7b2 Mon Sep 17 00:00:00 2001 From: Devendra Date: Fri, 5 Apr 2013 00:38:13 +0530 Subject: [PATCH 34/66] fixed test --- modern/tests/unit-test.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modern/tests/unit-test.html b/modern/tests/unit-test.html index 9b33b91f5..d1de7ab3b 100644 --- a/modern/tests/unit-test.html +++ b/modern/tests/unit-test.html @@ -240,7 +240,7 @@ channel : channel, callback : function(messages) { test( messages, 'History Response' ); - test( messages[0].test === "test", 'History Content' ); + test( messages[0][0].test === "test", 'History Content' ); } }); } From 3d422bc784cf41e5f848b0c8862243d72921cb29 Mon Sep 17 00:00:00 2001 From: Stephen Blum Date: Fri, 5 Apr 2013 12:19:58 -0700 Subject: [PATCH 35/66] removed debug console log and also added Remote Print Example. --- examples/print-remote/print.html | 54 ++++++++++++++++++++++++++++++++ socket.io/socket.io.min.js | 26 +++++++-------- web/pubnub.js | 4 +-- web/pubnub.min.js | 26 +++++++-------- web/unassembled/platform.js | 4 +-- 5 files changed, 82 insertions(+), 32 deletions(-) create mode 100644 examples/print-remote/print.html diff --git a/examples/print-remote/print.html b/examples/print-remote/print.html new file mode 100644 index 000000000..4b5c9efe5 --- /dev/null +++ b/examples/print-remote/print.html @@ -0,0 +1,54 @@ + + + + PubNub Remote Control Printer + + + + + + + + + diff --git a/socket.io/socket.io.min.js b/socket.io/socket.io.min.js index 121626644..3fde49cfb 100644 --- a/socket.io/socket.io.min.js +++ b/socket.io/socket.io.min.js @@ -10,19 +10,19 @@ function N(){setTimeout(function(){t||(t=1,J(ba,function(a){a()}))},A)} if(!window.PUBNUB){var P=function(a){return document.getElementById(a)},ja=function(a,c){var b=[];J(a.split(/\s+/),function(a){J((c||document).getElementsByTagName(a),function(a){b.push(a)})});return b},Q=function(a,c,b){J(a.split(","),function(a){function e(a){a||(a=window.event);b(a)||(a.cancelBubble=!0,a.returnValue=p,a.preventDefault&&a.preventDefault(),a.stopPropagation&&a.stopPropagation())}c.addEventListener?c.addEventListener(a,e,p):c.attachEvent?c.attachEvent("on"+a,e):c["on"+a]=e})},ka= function(){return ja("head")[0]},R=function(a,c,b){if(b)a.setAttribute(c,b);else return a&&a.getAttribute&&a.getAttribute(c)},ma=function(a,c){for(var b in c)if(c.hasOwnProperty(b))try{a.style[b]=c[b]+(0<"|width|height|top|left|".indexOf(b)&&"number"==typeof c[b]?"px":"")}catch(d){}},na=function(a){return document.createElement(a)},oa=function(){return S||V()?0:C()},ta=function(a){function c(a,b){r||(r=1,a||u(b),l.onerror=n,clearTimeout(T),setTimeout(function(){a&&U();var b=P(i),c=b&&b.parentNode; c&&c.removeChild(b)},A))}if(S||V()){a:{var b,d,e=function(){if(!v){v=1;clearTimeout(O);try{d=JSON.parse(b.responseText)}catch(a){return h(1)}k(d)}},m=0,v=0,f=a.timeout||1E4,O=setTimeout(function(){h(1)},f),D=a.b||s(),k=a.c||s(),h=function(a){m||(m=1,clearTimeout(O),b&&(b.onerror=b.onload=n,b.abort&&b.abort(),b=n),a&&D())};try{b=V()||window.XDomainRequest&&new XDomainRequest||new XMLHttpRequest;b.onerror=b.onabort=function(){h(1)};b.onload=b.onloadend=e;b.timeout=f;var g=a.url.join(pa);if(a.data){var e= -[],q;console.log(a.data);g+="?";for(q in a.data)e.push(q+"="+a.data[q]);g+=e.join(sa)}b.open("GET",g,typeof("undefined"===a.h));b.send()}catch(j){h(0);S=0;a=ta(a);break a}a=h}return a}var l=na("script"),g=a.a,i=C(),r=0,T=setTimeout(function(){c(1)},a.timeout||1E4),U=a.b||s(),u=a.c||s();window[g]=function(a){c(0,a)};a.h||(l[ua]=ua);l.onerror=function(){c(1)};l.src=a.url.join(pa);if(a.data){g=[];l.src+="?";for(e in a.data)g.push(e+"="+a.data[e]);l.src+=g.join(sa)}R(l,"id",i);ka().appendChild(l);return c}, -va=function(){return!("onLine"in navigator)?1:navigator.onLine},V=function(){if(!wa||!wa.get)return 0;var a={id:V.id++,send:s(),abort:function(){a.id={}},open:function(c,b){V[a.id]=a;wa.get(a.id,b)}};return a},ua="async",pa="/",sa="&",S=-1==navigator.userAgent.indexOf("MSIE 6");window.console||(window.console=window.console||{});console.log||(console.log=console.error=(window.opera||{}).postError||s());var xa,W=window.localStorage;xa={get:function(a){try{return W?W.getItem(a):-1==document.cookie.indexOf(a)? -n:((document.cookie||"").match(RegExp(a+"=([^;]+)"))||[])[1]||n}catch(c){}},set:function(a,c){try{if(W)return W.setItem(a,c)&&0;document.cookie=a+"="+c+"; expires=Thu, 1 Aug 2030 20:00:00 UTC; path=/"}catch(b){}}};var X={list:{},unbind:function(a){X.list[a]=[]},bind:function(a,c){(X.list[a]=X.list[a]||[]).push(c)},fire:function(a,c){J(X.list[a]||[],function(a){a(c)})}},Y=P("pubnub")||0,ya=function(a){function c(){}function b(){y.time(function(a){a||u&&u(1);setTimeout(b,k)})}function d(){ca()||u&& -u(1);setTimeout(d,A)}function e(a){J(ia(x),function(b){(b=x[b])&&a(b)})}function m(a){a&&(r.i=0);!r.i&&r.length&&(r.i=1,z(r.shift()))}a.jsonp&&(S=0);var v=a.subscribe_key||"";a.uuid||xa.get(v+"uuid");a.xdr=ta;a.db=xa;a._is_online=va;a.jsonp_cb=oa;var f,O=+a.windowing||10,D=(+a.timeout||310)*A,k=(+a.keepalive||60)*A,h=a.publish_key||"",g=a.subscribe_key||"",q=a.ssl?"s":"",j="http"+q+"://"+(a.origin||"pubsub.pubnub.com"),l=F(j),i=F(j),r=[],T=0,U=0,u=0,$=0,la=0,K=0,x={},z=a.xdr,ca=a._is_online||function(){return 1}, -B=a.jsonp_cb||function(){return 0},G=a.db||{get:s(),set:s()},H=a.uuid||G&&G.get(g+"uuid")||"",y={LEAVE:function(a,b){var c={uuid:H},d=F(j),e=B();0++K?K:K=1))||a}; -function ga(a,c){function b(){e+c>H()?(clearTimeout(d),d=setTimeout(b,c)):(e=H(),a())}var d,e=0;return b}function ha(a,c){var b=[];M(a||[],function(a){c(a)&&b.push(a)});return b}function ia(a,c){return a.replace(ea,function(b,a){return c[a]||b})}function L(a){var c="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(b){var a=16*Math.random()|0;return("x"==b?a:a&3|8).toString(16)});a&&a(c);return c} -function M(a,c){if(a&&c)if("undefined"!=typeof a[0])for(var b=0,d=a.length;b"-_.!~*'()".indexOf(a)?a:"%"+a.charCodeAt(0).toString(16).toUpperCase()}).join("")}function Q(a){var c=[];M(a,function(a,d){d.g&&c.push(a)});return c.sort()} -function ja(){setTimeout(function(){B||(B=1,M(C,function(a){a()}))},E)} -function T(a){function c(a){e||(e=1,clearTimeout(h),d&&(d.onerror=d.onload=p,d.abort&&d.abort(),d=p),a&&q())}function b(){if(!k){k=1;clearTimeout(h);try{response=JSON.parse(d.responseText)}catch(a){return c(1)}N(response)}}var d,e=0,k=0,h;h=setTimeout(function(){c(1)},U);var q=a.b||t(),N=a.c||t();try{d="undefined"!==typeof XDomainRequest&&new XDomainRequest||new XMLHttpRequest;d.onerror=d.onabort=function(){c(1)};d.onload=d.onloadend=b;d.timeout=U;url=a.url.join(ka);if(a.data){var u=[];url+="?";for(key in a.data)u.push(key+ -"="+a.data[key]);url+=u.join(la)}d.open("GET",url,!0);d.send()}catch(i){return c(0),T(a)}return c}function V(a,c,b){M(a.split(","),function(a){function e(a){a||(a=window.event);b(a)||(a.cancelBubble=!0,a.returnValue=r,a.preventDefault&&a.preventDefault(),a.stopPropagation&&a.stopPropagation())}c.addEventListener?c.addEventListener(a,e,r):c.attachEvent?c.attachEvent("on"+a,e):c["on"+a]=e})} -function W(a){function c(){}function b(){v.time(function(a){a||z&&z(1);setTimeout(b,u)})}function d(){R()||z&&z(1);setTimeout(d,E)}function e(a){M(Q(w),function(b){(b=w[b])&&a(b)})}function k(a){a&&(f.h=0);!f.h&&f.length&&(f.h=1,x(f.shift()))}a.db=X;a.xdr=T;var h,q=+a.windowing||10,N=(+a.timeout||310)*E,u=(+a.keepalive||60)*E,i=a.publish_key||"",g=a.subscribe_key||"",m=a.ssl?"s":"",s="http"+m+"://"+(a.origin||"pubsub.pubnub.com"),j=J(s),y=J(s),f=[],$=0,aa=0,z=0,S=0,ba=0,I=0,w={},x=a.xdr,R=a._is_online|| -function(){return 1},A=a.jsonp_cb||function(){return 0},F=a.db||{get:t(),set:t()},G=a.uuid||F&&F.get(g+"uuid")||"",v={LEAVE:function(a,b){var c={uuid:G},d=J(s),e=A();0++L?L:L=1))||a}; +function ha(a,c){function b(){e+c>I()?(clearTimeout(d),d=setTimeout(b,c)):(e=I(),a())}var d,e=0;return b}function ia(a,c){var b=[];N(a||[],function(a){c(a)&&b.push(a)});return b}function ja(a,c){return a.replace(fa,function(b,a){return c[a]||b})}function M(a){var c="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(b){var a=16*Math.random()|0;return("x"==b?a:a&3|8).toString(16)});a&&a(c);return c} +function N(a,c){if(a&&c)if("undefined"!=typeof a[0])for(var b=0,d=a.length;b"-_.!~*'()".indexOf(a)?a:"%"+a.charCodeAt(0).toString(16).toUpperCase()}).join("")}function R(a){var c=[];N(a,function(a,d){d.g&&c.push(a)});return c.sort()} +function ka(){setTimeout(function(){C||(C=1,N(D,function(a){a()}))},F)} +function U(a){function c(a){e||(e=1,clearTimeout(h),d&&(d.onerror=d.onload=n,d.abort&&d.abort(),d=n),a&&r())}function b(){if(!l){l=1;clearTimeout(h);try{response=JSON.parse(d.responseText)}catch(a){return c(1)}O(response)}}var d,e=0,l=0,h;h=setTimeout(function(){c(1)},V);var r=a.b||u(),O=a.c||u();try{d="undefined"!==typeof XDomainRequest&&new XDomainRequest||new XMLHttpRequest;d.onerror=d.onabort=function(){c(1)};d.onload=d.onloadend=b;d.timeout=V;url=a.url.join(la);if(a.data){var v=[];url+="?";for(key in a.data)v.push(key+ +"="+a.data[key]);url+=v.join(ma)}d.open("GET",url,!0);d.send()}catch(i){return c(0),U(a)}return c}function W(a,c,b){N(a.split(","),function(a){function e(a){a||(a=window.event);b(a)||(a.cancelBubble=!0,a.returnValue=s,a.preventDefault&&a.preventDefault(),a.stopPropagation&&a.stopPropagation())}c.addEventListener?c.addEventListener(a,e,s):c.attachEvent?c.attachEvent("on"+a,e):c["on"+a]=e})}function na(a){console.error(a)} +function X(a){function c(){}function b(){w.time(function(a){a||A&&A(1);setTimeout(b,v)})}function d(){S()||A&&A(1);setTimeout(d,F)}function e(a){N(R(x),function(b){(b=x[b])&&a(b)})}function l(a){a&&(f.h=0);!f.h&&f.length&&(f.h=1,y(f.shift()))}a.db=Y;a.xdr=U;a.error=na;var h,r=+a.windowing||10,O=(+a.timeout||310)*F,v=(+a.keepalive||60)*F,i=a.publish_key||"",g=a.subscribe_key||"",p=a.ssl?"s":"",t="http"+p+"://"+(a.origin||"pubsub.pubnub.com"),j=K(t),z=K(t),f=[],aa=0,ba=0,A=0,T=0,ca=0,J=0,x={},y=a.xdr, +k=a.error||u(),S=a._is_online||function(){return 1},B=a.jsonp_cb||function(){return 0},G=a.db||{get:u(),set:u()},H=a.uuid||G&&G.get(g+"uuid")||"",w={LEAVE:function(a,b){var c={uuid:H},d=K(t),e=B();0++I?I:I=1))||a}; -function fa(a,c){function b(){e+c>E()?(clearTimeout(d),d=setTimeout(b,c)):(e=E(),a())}var d,e=0;return b}function ga(a,c){var b=[];J(a||[],function(a){c(a)&&b.push(a)});return b}function ha(a,c){return a.replace(da,function(a,d){return c[d]||a})}function ea(a){var c="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var c=16*Math.random()|0;return("x"==a?c:c&3|8).toString(16)});a&&a(c);return c} -function J(a,c){if(a&&c)if("undefined"!=typeof a[0])for(var b=0,d=a.length;b"-_.!~*'()".indexOf(a)?a:"%"+a.charCodeAt(0).toString(16).toUpperCase()}).join("")}function ia(a){var c=[];J(a,function(a,d){d.g&&c.push(a)});return c.sort()} -function N(){setTimeout(function(){t||(t=1,J(ba,function(a){a()}))},A)} -if(!window.PUBNUB){var P=function(a){return document.getElementById(a)},ja=function(a,c){var b=[];J(a.split(/\s+/),function(a){J((c||document).getElementsByTagName(a),function(a){b.push(a)})});return b},Q=function(a,c,b){J(a.split(","),function(a){function e(a){a||(a=window.event);b(a)||(a.cancelBubble=!0,a.returnValue=p,a.preventDefault&&a.preventDefault(),a.stopPropagation&&a.stopPropagation())}c.addEventListener?c.addEventListener(a,e,p):c.attachEvent?c.attachEvent("on"+a,e):c["on"+a]=e})},ka= -function(){return ja("head")[0]},R=function(a,c,b){if(b)a.setAttribute(c,b);else return a&&a.getAttribute&&a.getAttribute(c)},ma=function(a,c){for(var b in c)if(c.hasOwnProperty(b))try{a.style[b]=c[b]+(0<"|width|height|top|left|".indexOf(b)&&"number"==typeof c[b]?"px":"")}catch(d){}},na=function(a){return document.createElement(a)},oa=function(){return S||V()?0:C()},ta=function(a){function c(a,b){r||(r=1,a||u(b),l.onerror=n,clearTimeout(T),setTimeout(function(){a&&U();var b=P(i),c=b&&b.parentNode; -c&&c.removeChild(b)},A))}if(S||V()){a:{var b,d,e=function(){if(!v){v=1;clearTimeout(O);try{d=JSON.parse(b.responseText)}catch(a){return h(1)}k(d)}},m=0,v=0,f=a.timeout||1E4,O=setTimeout(function(){h(1)},f),D=a.b||s(),k=a.c||s(),h=function(a){m||(m=1,clearTimeout(O),b&&(b.onerror=b.onload=n,b.abort&&b.abort(),b=n),a&&D())};try{b=V()||window.XDomainRequest&&new XDomainRequest||new XMLHttpRequest;b.onerror=b.onabort=function(){h(1)};b.onload=b.onloadend=e;b.timeout=f;var g=a.url.join(pa);if(a.data){var e= -[],q,g=g+"?";for(q in a.data)e.push(q+"="+a.data[q]);g+=e.join(sa)}b.open("GET",g,typeof("undefined"===a.h));b.send()}catch(j){h(0);S=0;a=ta(a);break a}a=h}return a}var l=na("script"),g=a.a,i=C(),r=0,T=setTimeout(function(){c(1)},a.timeout||1E4),U=a.b||s(),u=a.c||s();window[g]=function(a){c(0,a)};a.h||(l[ua]=ua);l.onerror=function(){c(1)};l.src=a.url.join(pa);if(a.data){g=[];l.src+="?";for(e in a.data)g.push(e+"="+a.data[e]);l.src+=g.join(sa)}R(l,"id",i);ka().appendChild(l);return c},va=function(){return!("onLine"in -navigator)?1:navigator.onLine},V=function(){if(!wa||!wa.get)return 0;var a={id:V.id++,send:s(),abort:function(){a.id={}},open:function(c,b){V[a.id]=a;wa.get(a.id,b)}};return a},ua="async",pa="/",sa="&",S=-1==navigator.userAgent.indexOf("MSIE 6");window.console||(window.console=window.console||{});console.log||(console.log=console.error=(window.opera||{}).postError||s());var xa,W=window.localStorage;xa={get:function(a){try{return W?W.getItem(a):-1==document.cookie.indexOf(a)?n:((document.cookie||"").match(RegExp(a+ -"=([^;]+)"))||[])[1]||n}catch(c){}},set:function(a,c){try{if(W)return W.setItem(a,c)&&0;document.cookie=a+"="+c+"; expires=Thu, 1 Aug 2030 20:00:00 UTC; path=/"}catch(b){}}};var X={list:{},unbind:function(a){X.list[a]=[]},bind:function(a,c){(X.list[a]=X.list[a]||[]).push(c)},fire:function(a,c){J(X.list[a]||[],function(a){a(c)})}},Y=P("pubnub")||0,ya=function(a){function c(){}function b(){y.time(function(a){a||u&&u(1);setTimeout(b,k)})}function d(){ca()||u&&u(1);setTimeout(d,A)}function e(a){J(ia(x), -function(b){(b=x[b])&&a(b)})}function m(a){a&&(r.i=0);!r.i&&r.length&&(r.i=1,z(r.shift()))}a.jsonp&&(S=0);var v=a.subscribe_key||"";a.uuid||xa.get(v+"uuid");a.xdr=ta;a.db=xa;a._is_online=va;a.jsonp_cb=oa;var f,O=+a.windowing||10,D=(+a.timeout||310)*A,k=(+a.keepalive||60)*A,h=a.publish_key||"",g=a.subscribe_key||"",q=a.ssl?"s":"",j="http"+q+"://"+(a.origin||"pubsub.pubnub.com"),l=F(j),i=F(j),r=[],T=0,U=0,u=0,$=0,la=0,K=0,x={},z=a.xdr,ca=a._is_online||function(){return 1},B=a.jsonp_cb||function(){return 0}, -G=a.db||{get:s(),set:s()},H=a.uuid||G&&G.get(g+"uuid")||"",y={LEAVE:function(a,b){var c={uuid:H},d=F(j),e=B();0++J?J:J=1))||a}; +function ga(a,c){function b(){e+c>F()?(clearTimeout(d),d=setTimeout(b,c)):(e=F(),a())}var d,e=0;return b}function ha(a,c){var b=[];K(a||[],function(a){c(a)&&b.push(a)});return b}function ia(a,c){return a.replace(ea,function(a,d){return c[d]||a})}function fa(a){var c="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var c=16*Math.random()|0;return("x"==a?c:c&3|8).toString(16)});a&&a(c);return c} +function K(a,c){if(a&&c)if("undefined"!=typeof a[0])for(var b=0,d=a.length;b"-_.!~*'()".indexOf(a)?a:"%"+a.charCodeAt(0).toString(16).toUpperCase()}).join("")}function ja(a){var c=[];K(a,function(a,d){d.g&&c.push(a)});return c.sort()} +function O(){setTimeout(function(){u||(u=1,K(ca,function(a){a()}))},B)} +if(!window.PUBNUB){var Q=function(a){return document.getElementById(a)},ka=function(a){console.error(a)},la=function(a,c){var b=[];K(a.split(/\s+/),function(a){K((c||document).getElementsByTagName(a),function(a){b.push(a)})});return b},R=function(a,c,b){K(a.split(","),function(a){function e(a){a||(a=window.event);b(a)||(a.cancelBubble=!0,a.returnValue=q,a.preventDefault&&a.preventDefault(),a.stopPropagation&&a.stopPropagation())}c.addEventListener?c.addEventListener(a,e,q):c.attachEvent?c.attachEvent("on"+ +a,e):c["on"+a]=e})},na=function(){return la("head")[0]},S=function(a,c,b){if(b)a.setAttribute(c,b);else return a&&a.getAttribute&&a.getAttribute(c)},oa=function(a,c){for(var b in c)if(c.hasOwnProperty(b))try{a.style[b]=c[b]+(0<"|width|height|top|left|".indexOf(b)&&"number"==typeof c[b]?"px":"")}catch(d){}},pa=function(a){return document.createElement(a)},qa=function(){return T||W()?0:D()},va=function(a){function c(a,b){s||(s=1,a||v(b),l.onerror=n,clearTimeout(U),setTimeout(function(){a&&V();var b= +Q(i),c=b&&b.parentNode;c&&c.removeChild(b)},B))}if(T||W()){a:{var b,d,e=function(){if(!w){w=1;clearTimeout(P);try{d=JSON.parse(b.responseText)}catch(a){return h(1)}k(d)}},m=0,w=0,f=a.timeout||1E4,P=setTimeout(function(){h(1)},f),E=a.b||t(),k=a.c||t(),h=function(a){m||(m=1,clearTimeout(P),b&&(b.onerror=b.onload=n,b.abort&&b.abort(),b=n),a&&E())};try{b=W()||window.XDomainRequest&&new XDomainRequest||new XMLHttpRequest;b.onerror=b.onabort=function(){h(1)};b.onload=b.onloadend=e;b.timeout=f;var g=a.url.join(ta); +if(a.data){var e=[],r,g=g+"?";for(r in a.data)e.push(r+"="+a.data[r]);g+=e.join(ua)}b.open("GET",g,typeof("undefined"===a.h));b.send()}catch(j){h(0);T=0;a=va(a);break a}a=h}return a}var l=pa("script"),g=a.a,i=D(),s=0,U=setTimeout(function(){c(1)},a.timeout||1E4),V=a.b||t(),v=a.c||t();window[g]=function(a){c(0,a)};a.h||(l[wa]=wa);l.onerror=function(){c(1)};l.src=a.url.join(ta);if(a.data){g=[];l.src+="?";for(e in a.data)g.push(e+"="+a.data[e]);l.src+=g.join(ua)}S(l,"id",i);na().appendChild(l);return c}, +xa=function(){return!("onLine"in navigator)?1:navigator.onLine},W=function(){if(!ya||!ya.get)return 0;var a={id:W.id++,send:t(),abort:function(){a.id={}},open:function(c,b){W[a.id]=a;ya.get(a.id,b)}};return a},wa="async",ta="/",ua="&",T=-1==navigator.userAgent.indexOf("MSIE 6");window.console||(window.console=window.console||{});console.log||(console.log=console.error=(window.opera||{}).postError||t());var za,X=window.localStorage;za={get:function(a){try{return X?X.getItem(a):-1==document.cookie.indexOf(a)? +n:((document.cookie||"").match(RegExp(a+"=([^;]+)"))||[])[1]||n}catch(c){}},set:function(a,c){try{if(X)return X.setItem(a,c)&&0;document.cookie=a+"="+c+"; expires=Thu, 1 Aug 2030 20:00:00 UTC; path=/"}catch(b){}}};var Y={list:{},unbind:function(a){Y.list[a]=[]},bind:function(a,c){(Y.list[a]=Y.list[a]||[]).push(c)},fire:function(a,c){K(Y.list[a]||[],function(a){a(c)})}},Z=Q("pubnub")||0,Aa=function(a){function c(){}function b(){z.time(function(a){a||v&&v(1);setTimeout(b,k)})}function d(){da()||v&& +v(1);setTimeout(d,B)}function e(a){K(ja(y),function(b){(b=y[b])&&a(b)})}function m(a){a&&(s.i=0);!s.i&&s.length&&(s.i=1,A(s.shift()))}a.jsonp&&(T=0);var w=a.subscribe_key||"";a.uuid||za.get(w+"uuid");a.xdr=va;a.db=za;a.error=ka;a._is_online=xa;a.jsonp_cb=qa;var f,P=+a.windowing||10,E=(+a.timeout||310)*B,k=(+a.keepalive||60)*B,h=a.publish_key||"",g=a.subscribe_key||"",r=a.ssl?"s":"",j="http"+r+"://"+(a.origin||"pubsub.pubnub.com"),l=G(j),i=G(j),s=[],U=0,V=0,v=0,aa=0,ma=0,L=0,y={},A=a.xdr,p=a.error|| +t(),da=a._is_online||function(){return 1},C=a.jsonp_cb||function(){return 0},H=a.db||{get:t(),set:t()},I=a.uuid||H&&H.get(g+"uuid")||"",z={LEAVE:function(a,b){var c={uuid:I},d=G(j),e=C();0++I?I:I=1))||a}; -function fa(a,c){function b(){e+c>E()?(clearTimeout(d),d=setTimeout(b,c)):(e=E(),a())}var d,e=0;return b}function ga(a,c){var b=[];J(a||[],function(a){c(a)&&b.push(a)});return b}function ha(a,c){return a.replace(da,function(a,d){return c[d]||a})}function ea(a){var c="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var c=16*Math.random()|0;return("x"==a?c:c&3|8).toString(16)});a&&a(c);return c} -function J(a,c){if(a&&c)if("undefined"!=typeof a[0])for(var b=0,d=a.length;b"-_.!~*'()".indexOf(a)?a:"%"+a.charCodeAt(0).toString(16).toUpperCase()}).join("")}function ia(a){var c=[];J(a,function(a,d){d.g&&c.push(a)});return c.sort()} -function N(){setTimeout(function(){t||(t=1,J(ba,function(a){a()}))},A)} -if(!window.PUBNUB){var P=function(a){return document.getElementById(a)},ja=function(a,c){var b=[];J(a.split(/\s+/),function(a){J((c||document).getElementsByTagName(a),function(a){b.push(a)})});return b},Q=function(a,c,b){J(a.split(","),function(a){function e(a){a||(a=window.event);b(a)||(a.cancelBubble=!0,a.returnValue=p,a.preventDefault&&a.preventDefault(),a.stopPropagation&&a.stopPropagation())}c.addEventListener?c.addEventListener(a,e,p):c.attachEvent?c.attachEvent("on"+a,e):c["on"+a]=e})},ka= -function(){return ja("head")[0]},R=function(a,c,b){if(b)a.setAttribute(c,b);else return a&&a.getAttribute&&a.getAttribute(c)},ma=function(a,c){for(var b in c)if(c.hasOwnProperty(b))try{a.style[b]=c[b]+(0<"|width|height|top|left|".indexOf(b)&&"number"==typeof c[b]?"px":"")}catch(d){}},na=function(a){return document.createElement(a)},oa=function(){return S||V()?0:C()},ta=function(a){function c(a,b){r||(r=1,a||u(b),l.onerror=n,clearTimeout(T),setTimeout(function(){a&&U();var b=P(i),c=b&&b.parentNode; -c&&c.removeChild(b)},A))}if(S||V()){a:{var b,d,e=function(){if(!v){v=1;clearTimeout(O);try{d=JSON.parse(b.responseText)}catch(a){return h(1)}k(d)}},m=0,v=0,f=a.timeout||1E4,O=setTimeout(function(){h(1)},f),D=a.b||s(),k=a.c||s(),h=function(a){m||(m=1,clearTimeout(O),b&&(b.onerror=b.onload=n,b.abort&&b.abort(),b=n),a&&D())};try{b=V()||window.XDomainRequest&&new XDomainRequest||new XMLHttpRequest;b.onerror=b.onabort=function(){h(1)};b.onload=b.onloadend=e;b.timeout=f;var g=a.url.join(pa);if(a.data){var e= -[],q,g=g+"?";for(q in a.data)e.push(q+"="+a.data[q]);g+=e.join(sa)}b.open("GET",g,typeof("undefined"===a.h));b.send()}catch(j){h(0);S=0;a=ta(a);break a}a=h}return a}var l=na("script"),g=a.a,i=C(),r=0,T=setTimeout(function(){c(1)},a.timeout||1E4),U=a.b||s(),u=a.c||s();window[g]=function(a){c(0,a)};a.h||(l[ua]=ua);l.onerror=function(){c(1)};l.src=a.url.join(pa);if(a.data){g=[];l.src+="?";for(e in a.data)g.push(e+"="+a.data[e]);l.src+=g.join(sa)}R(l,"id",i);ka().appendChild(l);return c},va=function(){return!("onLine"in -navigator)?1:navigator.onLine},V=function(){if(!wa||!wa.get)return 0;var a={id:V.id++,send:s(),abort:function(){a.id={}},open:function(c,b){V[a.id]=a;wa.get(a.id,b)}};return a},ua="async",pa="/",sa="&",S=-1==navigator.userAgent.indexOf("MSIE 6");window.console||(window.console=window.console||{});console.log||(console.log=console.error=(window.opera||{}).postError||s());var xa,W=window.localStorage;xa={get:function(a){try{return W?W.getItem(a):-1==document.cookie.indexOf(a)?n:((document.cookie||"").match(RegExp(a+ -"=([^;]+)"))||[])[1]||n}catch(c){}},set:function(a,c){try{if(W)return W.setItem(a,c)&&0;document.cookie=a+"="+c+"; expires=Thu, 1 Aug 2030 20:00:00 UTC; path=/"}catch(b){}}};var X={list:{},unbind:function(a){X.list[a]=[]},bind:function(a,c){(X.list[a]=X.list[a]||[]).push(c)},fire:function(a,c){J(X.list[a]||[],function(a){a(c)})}},Y=P("pubnub")||0,ya=function(a){function c(){}function b(){y.time(function(a){a||u&&u(1);setTimeout(b,k)})}function d(){ca()||u&&u(1);setTimeout(d,A)}function e(a){J(ia(x), -function(b){(b=x[b])&&a(b)})}function m(a){a&&(r.i=0);!r.i&&r.length&&(r.i=1,z(r.shift()))}a.jsonp&&(S=0);var v=a.subscribe_key||"";a.uuid||xa.get(v+"uuid");a.xdr=ta;a.db=xa;a._is_online=va;a.jsonp_cb=oa;var f,O=+a.windowing||10,D=(+a.timeout||310)*A,k=(+a.keepalive||60)*A,h=a.publish_key||"",g=a.subscribe_key||"",q=a.ssl?"s":"",j="http"+q+"://"+(a.origin||"pubsub.pubnub.com"),l=F(j),i=F(j),r=[],T=0,U=0,u=0,$=0,la=0,K=0,x={},z=a.xdr,ca=a._is_online||function(){return 1},B=a.jsonp_cb||function(){return 0}, -G=a.db||{get:s(),set:s()},H=a.uuid||G&&G.get(g+"uuid")||"",y={LEAVE:function(a,b){var c={uuid:H},d=F(j),e=B();0++J?J:J=1))||a}; +function ga(a,c){function b(){e+c>F()?(clearTimeout(d),d=setTimeout(b,c)):(e=F(),a())}var d,e=0;return b}function ha(a,c){var b=[];K(a||[],function(a){c(a)&&b.push(a)});return b}function ia(a,c){return a.replace(ea,function(a,d){return c[d]||a})}function fa(a){var c="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var c=16*Math.random()|0;return("x"==a?c:c&3|8).toString(16)});a&&a(c);return c} +function K(a,c){if(a&&c)if("undefined"!=typeof a[0])for(var b=0,d=a.length;b"-_.!~*'()".indexOf(a)?a:"%"+a.charCodeAt(0).toString(16).toUpperCase()}).join("")}function ja(a){var c=[];K(a,function(a,d){d.g&&c.push(a)});return c.sort()} +function O(){setTimeout(function(){u||(u=1,K(ca,function(a){a()}))},B)} +if(!window.PUBNUB){var Q=function(a){return document.getElementById(a)},ka=function(a){console.error(a)},la=function(a,c){var b=[];K(a.split(/\s+/),function(a){K((c||document).getElementsByTagName(a),function(a){b.push(a)})});return b},R=function(a,c,b){K(a.split(","),function(a){function e(a){a||(a=window.event);b(a)||(a.cancelBubble=!0,a.returnValue=q,a.preventDefault&&a.preventDefault(),a.stopPropagation&&a.stopPropagation())}c.addEventListener?c.addEventListener(a,e,q):c.attachEvent?c.attachEvent("on"+ +a,e):c["on"+a]=e})},na=function(){return la("head")[0]},S=function(a,c,b){if(b)a.setAttribute(c,b);else return a&&a.getAttribute&&a.getAttribute(c)},oa=function(a,c){for(var b in c)if(c.hasOwnProperty(b))try{a.style[b]=c[b]+(0<"|width|height|top|left|".indexOf(b)&&"number"==typeof c[b]?"px":"")}catch(d){}},pa=function(a){return document.createElement(a)},qa=function(){return T||W()?0:D()},va=function(a){function c(a,b){s||(s=1,a||v(b),l.onerror=n,clearTimeout(U),setTimeout(function(){a&&V();var b= +Q(i),c=b&&b.parentNode;c&&c.removeChild(b)},B))}if(T||W()){a:{var b,d,e=function(){if(!w){w=1;clearTimeout(P);try{d=JSON.parse(b.responseText)}catch(a){return h(1)}k(d)}},m=0,w=0,f=a.timeout||1E4,P=setTimeout(function(){h(1)},f),E=a.b||t(),k=a.c||t(),h=function(a){m||(m=1,clearTimeout(P),b&&(b.onerror=b.onload=n,b.abort&&b.abort(),b=n),a&&E())};try{b=W()||window.XDomainRequest&&new XDomainRequest||new XMLHttpRequest;b.onerror=b.onabort=function(){h(1)};b.onload=b.onloadend=e;b.timeout=f;var g=a.url.join(ta); +if(a.data){var e=[],r,g=g+"?";for(r in a.data)e.push(r+"="+a.data[r]);g+=e.join(ua)}b.open("GET",g,typeof("undefined"===a.h));b.send()}catch(j){h(0);T=0;a=va(a);break a}a=h}return a}var l=pa("script"),g=a.a,i=D(),s=0,U=setTimeout(function(){c(1)},a.timeout||1E4),V=a.b||t(),v=a.c||t();window[g]=function(a){c(0,a)};a.h||(l[wa]=wa);l.onerror=function(){c(1)};l.src=a.url.join(ta);if(a.data){g=[];l.src+="?";for(e in a.data)g.push(e+"="+a.data[e]);l.src+=g.join(ua)}S(l,"id",i);na().appendChild(l);return c}, +xa=function(){return!("onLine"in navigator)?1:navigator.onLine},W=function(){if(!ya||!ya.get)return 0;var a={id:W.id++,send:t(),abort:function(){a.id={}},open:function(c,b){W[a.id]=a;ya.get(a.id,b)}};return a},wa="async",ta="/",ua="&",T=-1==navigator.userAgent.indexOf("MSIE 6");window.console||(window.console=window.console||{});console.log||(console.log=console.error=(window.opera||{}).postError||t());var za,X=window.localStorage;za={get:function(a){try{return X?X.getItem(a):-1==document.cookie.indexOf(a)? +n:((document.cookie||"").match(RegExp(a+"=([^;]+)"))||[])[1]||n}catch(c){}},set:function(a,c){try{if(X)return X.setItem(a,c)&&0;document.cookie=a+"="+c+"; expires=Thu, 1 Aug 2030 20:00:00 UTC; path=/"}catch(b){}}};var Y={list:{},unbind:function(a){Y.list[a]=[]},bind:function(a,c){(Y.list[a]=Y.list[a]||[]).push(c)},fire:function(a,c){K(Y.list[a]||[],function(a){a(c)})}},Z=Q("pubnub")||0,Aa=function(a){function c(){}function b(){z.time(function(a){a||v&&v(1);setTimeout(b,k)})}function d(){da()||v&& +v(1);setTimeout(d,B)}function e(a){K(ja(y),function(b){(b=y[b])&&a(b)})}function m(a){a&&(s.i=0);!s.i&&s.length&&(s.i=1,A(s.shift()))}a.jsonp&&(T=0);var w=a.subscribe_key||"";a.uuid||za.get(w+"uuid");a.xdr=va;a.db=za;a.error=ka;a._is_online=xa;a.jsonp_cb=qa;var f,P=+a.windowing||10,E=(+a.timeout||310)*B,k=(+a.keepalive||60)*B,h=a.publish_key||"",g=a.subscribe_key||"",r=a.ssl?"s":"",j="http"+r+"://"+(a.origin||"pubsub.pubnub.com"),l=G(j),i=G(j),s=[],U=0,V=0,v=0,aa=0,ma=0,L=0,y={},A=a.xdr,p=a.error|| +t(),da=a._is_online||function(){return 1},C=a.jsonp_cb||function(){return 0},H=a.db||{get:t(),set:t()},I=a.uuid||H&&H.get(g+"uuid")||"",z={LEAVE:function(a,b){var c={uuid:I},d=G(j),e=C();0 Date: Fri, 12 Apr 2013 02:15:12 +0530 Subject: [PATCH 47/66] fixing makefiles, bumped revision to 3.4.4 --- VERSION | 2 +- modern/Makefile | 8 +- modern/pubnub.js | 151 +------------------------------------ modern/pubnub.min.js | 42 +++++------ nodejs/Makefile | 3 +- nodejs/pubnub.js | 1 + socket.io/socket.io.min.js | 1 + web/Makefile | 6 +- web/pubnub.js | 3 +- web/pubnub.min.js | 1 + 10 files changed, 35 insertions(+), 183 deletions(-) diff --git a/VERSION b/VERSION index 6cb9d3dd0..f9892605c 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -3.4.3 +3.4.4 diff --git a/modern/Makefile b/modern/Makefile index 3b28e88f5..6fff56f02 100644 --- a/modern/Makefile +++ b/modern/Makefile @@ -9,11 +9,11 @@ build: $(PUBNUB_MIN_JS) $(PUBNUB_CRYPTO_MIN_JS) $(PUBNUB_MIN_JS) : $(PUBNUB_COMMON_JS) $(WEBSOCKET_JS) $(PUBNUB_PLATFORM_JS) ## Full Version - $(ECHO) -n "// Version: $(VERSION)\n" > $(PUBNUB_JS) - cat $(JSON_JS) $(PUBNUB_COMMON_JS) $(PUBNUB_PLATFORM_JS) $(WEBSOCKET_JS) >> $(PUBNUB_JS) + $(ECHO) "// Version: $(VERSION)" > $(PUBNUB_JS) + cat $(PUBNUB_COMMON_JS) $(PUBNUB_PLATFORM_JS) $(WEBSOCKET_JS) >> $(PUBNUB_JS) ## Minfied Version - $(ECHO) -n "// Version: $(VERSION)\n" > $(PUBNUB_MIN_JS) - $(ECHO) "(function(){" > $(PUBNUB_MIN_JS) + $(ECHO) "// Version: $(VERSION)" > $(PUBNUB_MIN_JS) + $(ECHO) "(function(){" >> $(PUBNUB_MIN_JS) cat $(PUBNUB_JS) | java -jar $(GOOGLE_MINIFY) --compilation_level=ADVANCED_OPTIMIZATIONS >> $(PUBNUB_MIN_JS) $(ECHO) "})();" >> $(PUBNUB_MIN_JS) diff --git a/modern/pubnub.js b/modern/pubnub.js index 495d49969..88be7aa7e 100644 --- a/modern/pubnub.js +++ b/modern/pubnub.js @@ -1,153 +1,4 @@ -// Version: 3.4.3\n/* =-====================================================================-= */ -/* =-====================================================================-= */ -/* =-========================= JSON =============================-= */ -/* =-====================================================================-= */ -/* =-====================================================================-= */ - -(window['JSON'] && window['JSON']['stringify']) || (function () { - window['JSON'] || (window['JSON'] = {}); - - function toJSON(key) { - try { return this.valueOf() } - catch(e) { return null } - } - - var cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, - escapable = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, - gap, - indent, - meta = { // table of character substitutions - '\b': '\\b', - '\t': '\\t', - '\n': '\\n', - '\f': '\\f', - '\r': '\\r', - '"' : '\\"', - '\\': '\\\\' - }, - rep; - - function quote(string) { - escapable.lastIndex = 0; - return escapable.test(string) ? - '"' + string.replace(escapable, function (a) { - var c = meta[a]; - return typeof c === 'string' ? c : - '\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4); - }) + '"' : - '"' + string + '"'; - } - - function str(key, holder) { - var i, // The loop counter. - k, // The member key. - v, // The member value. - length, - partial, - mind = gap, - value = holder[key]; - - if (value && typeof value === 'object') { - value = toJSON.call( value, key ); - } - - if (typeof rep === 'function') { - value = rep.call(holder, key, value); - } - - switch (typeof value) { - case 'string': - return quote(value); - - case 'number': - return isFinite(value) ? String(value) : 'null'; - - case 'boolean': - case 'null': - return String(value); - - case 'object': - - if (!value) { - return 'null'; - } - - gap += indent; - partial = []; - - if (Object.prototype.toString.apply(value) === '[object Array]') { - - length = value.length; - for (i = 0; i < length; i += 1) { - partial[i] = str(i, value) || 'null'; - } - - v = partial.length === 0 ? '[]' : - gap ? '[\n' + gap + - partial.join(',\n' + gap) + '\n' + - mind + ']' : - '[' + partial.join(',') + ']'; - gap = mind; - return v; - } - if (rep && typeof rep === 'object') { - length = rep.length; - for (i = 0; i < length; i += 1) { - k = rep[i]; - if (typeof k === 'string') { - v = str(k, value); - if (v) { - partial.push(quote(k) + (gap ? ': ' : ':') + v); - } - } - } - } else { - for (k in value) { - if (Object.hasOwnProperty.call(value, k)) { - v = str(k, value); - if (v) { - partial.push(quote(k) + (gap ? ': ' : ':') + v); - } - } - } - } - - v = partial.length === 0 ? '{}' : - gap ? '{\n' + gap + partial.join(',\n' + gap) + '\n' + - mind + '}' : '{' + partial.join(',') + '}'; - gap = mind; - return v; - } - } - - if (typeof JSON['stringify'] !== 'function') { - JSON['stringify'] = function (value, replacer, space) { - var i; - gap = ''; - indent = ''; - - if (typeof space === 'number') { - for (i = 0; i < space; i += 1) { - indent += ' '; - } - } else if (typeof space === 'string') { - indent = space; - } - rep = replacer; - if (replacer && typeof replacer !== 'function' && - (typeof replacer !== 'object' || - typeof replacer.length !== 'number')) { - throw new Error('JSON.stringify'); - } - return str('', {'': value}); - }; - } - - if (typeof JSON['parse'] !== 'function') { - // JSON is parsed on the server for security. - JSON['parse'] = function (text) {return eval('('+text+')')}; - } -}()); +// Version: 3.4.4 var NOW = 1 , READY = false , READY_BUFFER = [] diff --git a/modern/pubnub.min.js b/modern/pubnub.min.js index 7e04a7dd9..b91f371f3 100644 --- a/modern/pubnub.min.js +++ b/modern/pubnub.min.js @@ -1,25 +1,21 @@ +// Version: 3.4.4 (function(){ -var n=null,s=!1;function u(){return function(){}} -window.JSON&&window.JSON.stringify||function(){function a(){try{return this.valueOf()}catch(b){return n}}function c(b){d.lastIndex=0;return d.test(b)?'"'+b.replace(d,function(b){var a=h[b];return"string"===typeof a?a:"\\u"+("0000"+b.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+b+'"'}function b(d,h){var i,g,p,t,j,z=e,f=h[d];f&&"object"===typeof f&&(f=a.call(f));"function"===typeof r&&(f=r.call(h,d,f));switch(typeof f){case "string":return c(f);case "number":return isFinite(f)?String(f):"null";case "boolean":case "null":return String(f); -case "object":if(!f)return"null";e+=l;j=[];if("[object Array]"===Object.prototype.toString.apply(f)){t=f.length;for(i=0;i++L?L:L=1))||a}; -function ha(a,c){function b(){e+c>I()?(clearTimeout(d),d=setTimeout(b,c)):(e=I(),a())}var d,e=0;return b}function ia(a,c){var b=[];N(a||[],function(a){c(a)&&b.push(a)});return b}function ja(a,c){return a.replace(fa,function(b,a){return c[a]||b})}function M(a){var c="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(b){var a=16*Math.random()|0;return("x"==b?a:a&3|8).toString(16)});a&&a(c);return c} -function N(a,c){if(a&&c)if("undefined"!=typeof a[0])for(var b=0,d=a.length;b"-_.!~*'()".indexOf(a)?a:"%"+a.charCodeAt(0).toString(16).toUpperCase()}).join("")}function R(a){var c=[];N(a,function(a,d){d.g&&c.push(a)});return c.sort()} -function ka(){setTimeout(function(){C||(C=1,N(D,function(a){a()}))},F)} -function U(a){function c(a){e||(e=1,clearTimeout(h),d&&(d.onerror=d.onload=n,d.abort&&d.abort(),d=n),a&&r())}function b(){if(!l){l=1;clearTimeout(h);try{response=JSON.parse(d.responseText)}catch(a){return c(1)}O(response)}}var d,e=0,l=0,h;h=setTimeout(function(){c(1)},V);var r=a.b||u(),O=a.c||u();try{d="undefined"!==typeof XDomainRequest&&new XDomainRequest||new XMLHttpRequest;d.onerror=d.onabort=function(){c(1)};d.onload=d.onloadend=b;d.timeout=V;url=a.url.join(la);if(a.data){var v=[];url+="?";for(key in a.data)v.push(key+ -"="+a.data[key]);url+=v.join(ma)}d.open("GET",url,!0);d.send()}catch(i){return c(0),U(a)}return c}function W(a,c,b){N(a.split(","),function(a){function e(a){a||(a=window.event);b(a)||(a.cancelBubble=!0,a.returnValue=s,a.preventDefault&&a.preventDefault(),a.stopPropagation&&a.stopPropagation())}c.addEventListener?c.addEventListener(a,e,s):c.attachEvent?c.attachEvent("on"+a,e):c["on"+a]=e})}function na(a){console.error(a)} -function X(a){function c(){}function b(){w.time(function(a){a||A&&A(1);setTimeout(b,v)})}function d(){S()||A&&A(1);setTimeout(d,F)}function e(a){N(R(x),function(b){(b=x[b])&&a(b)})}function l(a){a&&(f.h=0);!f.h&&f.length&&(f.h=1,y(f.shift()))}a.db=Y;a.xdr=U;a.error=na;var h,r=+a.windowing||10,O=(+a.timeout||310)*F,v=(+a.keepalive||60)*F,i=a.publish_key||"",g=a.subscribe_key||"",p=a.ssl?"s":"",t="http"+p+"://"+(a.origin||"pubsub.pubnub.com"),j=K(t),z=K(t),f=[],aa=0,ba=0,A=0,T=0,ca=0,J=0,x={},y=a.xdr, -k=a.error||u(),S=a._is_online||function(){return 1},B=a.jsonp_cb||function(){return 0},G=a.db||{get:u(),set:u()},H=a.uuid||G&&G.get(g+"uuid")||"",w={LEAVE:function(a,b){var c={uuid:H},d=K(t),e=B();0++I?I:I=1))||a};function ga(a,c){function b(){f+c>E()?(clearTimeout(d),d=setTimeout(b,c)):(f=E(),a())}var d,f=0;return b}function ha(a,c){var b=[];L(a||[],function(a){c(a)&&b.push(a)});return b} +function ia(a,c){return a.replace(ea,function(a,d){return c[d]||a})}function J(a){var c="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var c=16*Math.random()|0;return("x"==a?c:c&3|8).toString(16)});a&&a(c);return c}function L(a,c){if(a&&c)if("undefined"!=typeof a[0])for(var b=0,d=a.length;b"-_.!~*'()".indexOf(a)?a:"%"+a.charCodeAt(0).toString(16).toUpperCase()}).join("")}function Q(a){var c=[];L(a,function(a,d){d.g&&c.push(a)});return c.sort()}function ja(){setTimeout(function(){q||(q=1,L(y,function(a){a()}))},A)} +function S(a){function c(a){f||(f=1,clearTimeout(e),d&&(d.onerror=d.onload=null,d.abort&&d.abort(),d=null),a&&O())}function b(){if(!r){r=1;clearTimeout(e);try{response=JSON.parse(d.responseText)}catch(a){return c(1)}P(response)}}var d,f=0,r=0,e;e=setTimeout(function(){c(1)},T);var O=a.b||m(),P=a.c||m();try{d="undefined"!==typeof XDomainRequest&&new XDomainRequest||new XMLHttpRequest;d.onerror=d.onabort=function(){c(1)};d.onload=d.onloadend=b;d.timeout=T;url=a.url.join(ka);if(a.data){var v=[];url+= +"?";for(key in a.data)v.push(key+"="+a.data[key]);url+=v.join(la)}d.open("GET",url,!0);d.send()}catch(s){return c(0),S(a)}return c}function U(a,c,b){L(a.split(","),function(a){function f(a){a||(a=window.event);b(a)||(a.cancelBubble=!0,a.returnValue=k,a.preventDefault&&a.preventDefault(),a.stopPropagation&&a.stopPropagation())}c.addEventListener?c.addEventListener(a,f,k):c.attachEvent?c.attachEvent("on"+a,f):c["on"+a]=f})}function ma(a){console.error(a)} +function V(a){function c(){}function b(){j.time(function(a){a||w&&w(1);setTimeout(b,v)})}function d(){na()||w&&w(1);setTimeout(d,A)}function f(a){L(Q(n),function(b){(b=n[b])&&a(b)})}function r(a){a&&(t.h=0);!t.h&&t.length&&(t.h=1,u(t.shift()))}a.db=W;a.xdr=S;a.error=ma;var e,O=+a.windowing||10,P=(+a.timeout||310)*A,v=(+a.keepalive||60)*A,s=a.publish_key||"",h=a.subscribe_key||"",K=a.ssl?"s":"",F="http"+K+"://"+(a.origin||"pubsub.pubnub.com"),B=H(F),Z=H(F),t=[],$=0,aa=0,w=0,R=0,ba=0,G=0,n={},u=a.xdr, +g=a.error||m(),na=a._is_online||function(){return 1},x=a.jsonp_cb||function(){return 0},C=a.db||{get:m(),set:m()},D=a.uuid||C&&C.get(h+"uuid")||"",j={LEAVE:function(a,b){var c={uuid:D},d=H(F),p=x();0 $(PUBNUB_JS) + $(ECHO) "// Version: $(VERSION)" > $(PUBNUB_JS) + cat $(PUBNUB_COMMON_JS) $(PUBNUB_PLATFORM_JS) >> $(PUBNUB_JS) .PHONY : clean clean: diff --git a/nodejs/pubnub.js b/nodejs/pubnub.js index b1bf9f44d..9ac060892 100644 --- a/nodejs/pubnub.js +++ b/nodejs/pubnub.js @@ -1,3 +1,4 @@ +// Version: 3.4.4 var NOW = 1 , READY = false , READY_BUFFER = [] diff --git a/socket.io/socket.io.min.js b/socket.io/socket.io.min.js index 8944a856d..b482946fd 100644 --- a/socket.io/socket.io.min.js +++ b/socket.io/socket.io.min.js @@ -1,3 +1,4 @@ +// Version: 3.4.4 (function(){ var n=null,q=!1;function t(){return function(){}} window.JSON&&window.JSON.stringify||function(){function a(){try{return this.valueOf()}catch(a){return n}}function c(a){d.lastIndex=0;return d.test(a)?'"'+a.replace(d,function(a){var b=w[a];return"string"===typeof b?b:"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+a+'"'}function b(d,E){var k,h,g,r,j,l=e,i=E[d];i&&"object"===typeof i&&(i=a.call(i));"function"===typeof f&&(i=f.call(E,d,i));switch(typeof i){case "string":return c(i);case "number":return isFinite(i)?String(i):"null";case "boolean":case "null":return String(i); diff --git a/web/Makefile b/web/Makefile index 2bd39600f..1a11253ef 100644 --- a/web/Makefile +++ b/web/Makefile @@ -9,11 +9,11 @@ build: $(PUBNUB_MIN_JS) $(PUBNUB_CRYPTO_MIN_JS) $(PUBNUB_MIN_JS) : $(JSON_JS) $(PUBNUB_COMMON_JS) $(WEBSOCKET_JS) $(PUBNUB_PLATFORM_JS) ## Full Version - $(ECHO) -n "// Version: $(VERSION)\n" > $(PUBNUB_JS) + $(ECHO) "// Version: $(VERSION)" > $(PUBNUB_JS) cat $(JSON_JS) $(PUBNUB_COMMON_JS) $(PUBNUB_PLATFORM_JS) $(WEBSOCKET_JS) >> $(PUBNUB_JS) ## Minfied Version - $(ECHO) -n "// Version: $(VERSION)\n" > $(PUBNUB_MIN_JS) - $(ECHO) "(function(){" > $(PUBNUB_MIN_JS) + $(ECHO) "// Version: $(VERSION)" > $(PUBNUB_MIN_JS) + $(ECHO) "(function(){" >> $(PUBNUB_MIN_JS) cat $(PUBNUB_JS) | java -jar $(GOOGLE_MINIFY) --compilation_level=ADVANCED_OPTIMIZATIONS >> $(PUBNUB_MIN_JS) $(ECHO) "})();" >> $(PUBNUB_MIN_JS) diff --git a/web/pubnub.js b/web/pubnub.js index fe364199c..198ad0f0c 100644 --- a/web/pubnub.js +++ b/web/pubnub.js @@ -1,4 +1,5 @@ -// Version: 3.4.3\n/* =-====================================================================-= */ +// Version: 3.4.4 +/* =-====================================================================-= */ /* =-====================================================================-= */ /* =-========================= JSON =============================-= */ /* =-====================================================================-= */ diff --git a/web/pubnub.min.js b/web/pubnub.min.js index d8e4d65a1..259462645 100644 --- a/web/pubnub.min.js +++ b/web/pubnub.min.js @@ -1,3 +1,4 @@ +// Version: 3.4.4 (function(){ var n=null,q=!1;function t(){return function(){}} window.JSON&&window.JSON.stringify||function(){function a(){try{return this.valueOf()}catch(a){return n}}function c(a){d.lastIndex=0;return d.test(a)?'"'+a.replace(d,function(a){var b=w[a];return"string"===typeof b?b:"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+a+'"'}function b(d,E){var k,h,g,r,j,l=e,i=E[d];i&&"object"===typeof i&&(i=a.call(i));"function"===typeof f&&(i=f.call(E,d,i));switch(typeof i){case "string":return c(i);case "number":return isFinite(i)?String(i):"null";case "boolean":case "null":return String(i); From 8bacc05a39d08f95c4736772119953f624ee5f98 Mon Sep 17 00:00:00 2001 From: Devendra Date: Fri, 12 Apr 2013 14:29:22 +0530 Subject: [PATCH 48/66] adding pubnub sdk url parameter --- Makefile | 2 +- Makefile.inc | 2 - Makefile.post | 2 + core/pubnub-common.js | 25 +- modern/Makefile | 5 + modern/pubnub.js | 40 +- modern/pubnub.min.js | 32 +- modern/unassembled/platform.js | 15 +- nodejs/Makefile | 19 +- nodejs/pubnub.js | 29 +- nodejs/unassembled/platform.js | 4 +- phonegap/Makefile | 34 + phonegap/index.html | 2 +- phonegap/pubnub-crypto.min.js | 25 + phonegap/pubnub.js | 1099 +++++++++++++++++ phonegap/pubnub.min.js | 23 + sencha/Makefile | 34 + sencha/examples/here_now/index.html | 2 +- sencha/examples/history/index.html | 2 +- sencha/examples/subscribe/index.html | 2 +- sencha/pubnub-crypto.min.js | 25 + sencha/pubnub.js | 1099 +++++++++++++++++ sencha/pubnub.min.js | 23 + socket.io/Makefile | 2 + socket.io/socket.io.min.js | 54 +- titanium/Makefile | 2 + titanium/examples/desktop/pubnub.js | 28 +- .../chat-example-app/Resources/pubnub.js | 28 +- .../Resources/pubnub.js | 28 +- .../here-now-example-app/Resources/pubnub.js | 28 +- titanium/pubnub.js | 28 +- web/Makefile | 5 + web/pubnub.js | 52 +- web/pubnub.min.js | 54 +- web/unassembled/platform.js | 27 +- webos/Makefile | 34 + webos/index.html | 2 +- webos/pubnub-crypto.min.js | 25 + webos/pubnub.js | 1099 +++++++++++++++++ webos/pubnub.min.js | 23 + 40 files changed, 3900 insertions(+), 164 deletions(-) create mode 100644 Makefile.post create mode 100644 phonegap/Makefile create mode 100644 phonegap/pubnub-crypto.min.js create mode 100644 phonegap/pubnub.js create mode 100644 phonegap/pubnub.min.js create mode 100644 sencha/Makefile create mode 100644 sencha/pubnub-crypto.min.js create mode 100644 sencha/pubnub.js create mode 100644 sencha/pubnub.min.js create mode 100644 webos/Makefile create mode 100644 webos/pubnub-crypto.min.js create mode 100644 webos/pubnub.js create mode 100644 webos/pubnub.min.js diff --git a/Makefile b/Makefile index 2f6d8934d..47248ffec 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -SUBDIRS = web socket.io nodejs modern titanium +SUBDIRS = web socket.io nodejs modern titanium phonegap sencha webos .PHONY: all all: diff --git a/Makefile.inc b/Makefile.inc index 43cea91cd..08ccca2fd 100644 --- a/Makefile.inc +++ b/Makefile.inc @@ -17,5 +17,3 @@ WEBSOCKET_JS=$(CORE_DIR)/websocket.js ENCRYPT_JS=$(CORE_DIR)/crypto/encrypt-pubnub.js PUBNUB_MIN_JS=pubnub.min.js -.PHONY : test -test : # empty diff --git a/Makefile.post b/Makefile.post new file mode 100644 index 000000000..b9a91a195 --- /dev/null +++ b/Makefile.post @@ -0,0 +1,2 @@ +.PHONY: test +test: #empty diff --git a/core/pubnub-common.js b/core/pubnub-common.js index d03e59bec..95aa681bd 100644 --- a/core/pubnub-common.js +++ b/core/pubnub-common.js @@ -7,6 +7,8 @@ var NOW = 1 , DEF_SUB_TIMEOUT = 310 // SECONDS. , DEF_KEEPALIVE = 60 // SECONDS. , SECOND = 1000 // A THOUSAND MILLISECONDS. +, URLBIT = '/' +, PARAMSBIT = '&' , REPL = /{([\w\-]+)}/g; /** @@ -33,6 +35,26 @@ var nextorigin = (function() { } })(); + +/** + * Build Url + * ======= + * + */ +function build_url(url_components, url_params) { + var url = url_components.join(URLBIT); + + if (url_params) { + var params = []; + url += "?"; + for (var key in url_params) { + params.push(key+"="+url_params[key]); + } + url += params.join(PARAMSBIT); + } + return url; +} + /** * UPDATER * ======= @@ -206,7 +228,7 @@ function PN_API(setup) { // Announce Leave Event var SELF = { 'LEAVE' : function( channel, blocking ) { - var data = { 'uuid' : UUID } + var data = { 'uuid' : UUID} , origin = nextorigin(ORIGIN) , jsonp = jsonp_cb(); @@ -215,6 +237,7 @@ function PN_API(setup) { if (jsonp != '0') data['callback'] = jsonp; + xdr({ blocking : blocking || SSL, timeout : 2000, diff --git a/modern/Makefile b/modern/Makefile index 6fff56f02..13299e725 100644 --- a/modern/Makefile +++ b/modern/Makefile @@ -1,5 +1,6 @@ include ../Makefile.inc OUTPUT_FILES=$(PUBNUB_MIN_JS) $(PUBNUB_CRYPTO_MIN_JS) +PLATFORM=Modern .PHONY : all all: build @@ -11,6 +12,8 @@ $(PUBNUB_MIN_JS) : $(PUBNUB_COMMON_JS) $(WEBSOCKET_JS) $(PUBNUB_PLATFORM_JS) ## Full Version $(ECHO) "// Version: $(VERSION)" > $(PUBNUB_JS) cat $(PUBNUB_COMMON_JS) $(PUBNUB_PLATFORM_JS) $(WEBSOCKET_JS) >> $(PUBNUB_JS) + sed -i -e "s/VERSION/\'$(VERSION)\'/g" $(PUBNUB_JS) + sed -i -e "s/PLATFORM/\'$(PLATFORM)\'/g" $(PUBNUB_JS) ## Minfied Version $(ECHO) "// Version: $(VERSION)" > $(PUBNUB_MIN_JS) $(ECHO) "(function(){" >> $(PUBNUB_MIN_JS) @@ -26,3 +29,5 @@ $(PUBNUB_CRYPTO_MIN_JS) : $(GIBBERISH_JS) $(ENCRYPTO_JS) .PHONY : clean clean: rm -f $(OUTPUT_FILES) + +include ../Makefile.post diff --git a/modern/pubnub.js b/modern/pubnub.js index 412195525..c07eb10b3 100644 --- a/modern/pubnub.js +++ b/modern/pubnub.js @@ -8,6 +8,8 @@ var NOW = 1 , DEF_SUB_TIMEOUT = 310 // SECONDS. , DEF_KEEPALIVE = 60 // SECONDS. , SECOND = 1000 // A THOUSAND MILLISECONDS. +, URLBIT = '/' +, PARAMSBIT = '&' , REPL = /{([\w\-]+)}/g; /** @@ -34,6 +36,26 @@ var nextorigin = (function() { } })(); + +/** + * Build Url + * ======= + * + */ +function build_url(url_components, url_params) { + var url = url_components.join(URLBIT); + + if (url_params) { + var params = []; + url += "?"; + for (var key in url_params) { + params.push(key+"="+url_params[key]); + } + url += params.join(PARAMSBIT); + } + return url; +} + /** * UPDATER * ======= @@ -207,7 +229,7 @@ function PN_API(setup) { // Announce Leave Event var SELF = { 'LEAVE' : function( channel, blocking ) { - var data = { 'uuid' : UUID } + var data = { 'uuid' : UUID} , origin = nextorigin(ORIGIN) , jsonp = jsonp_cb(); @@ -216,6 +238,7 @@ function PN_API(setup) { if (jsonp != '0') data['callback'] = jsonp; + xdr({ blocking : blocking || SSL, timeout : 2000, @@ -701,8 +724,7 @@ THE SOFTWARE. * UTIL LOCALS */ var NOW = 1 -, URLBIT = '/' -, PARAMSBIT = '&' +, PNSDK = encode('PubNub-JS-' + 'Modern' + '/' + '3.4.4') , XHRTME = 310000; @@ -758,6 +780,7 @@ function xdr( setup ) { , complete = 0 , loaded = 0 , timer = timeout( function(){done(1)}, XHRTME ) + , data = setup.data || {} , fail = setup.fail || function(){} , success = setup.success || function(){} , done = function(failed) { @@ -784,15 +807,8 @@ function xdr( setup ) { xhr.onerror = xhr.onabort = function(){ done(1) }; xhr.onload = xhr.onloadend = finished; xhr.timeout = XHRTME; - url = setup.url.join(URLBIT); - if (setup.data) { - var params = []; - url += "?"; - for (key in setup.data) { - params.push(key+"="+setup.data[key]); - } - url += params.join(PARAMSBIT); - } + data['pnsdk'] = PNSDK; + url = build_url(setup.url, data); xhr.open( 'GET', url, true ); xhr.send(); } diff --git a/modern/pubnub.min.js b/modern/pubnub.min.js index 1ab9cda91..5192436e3 100644 --- a/modern/pubnub.min.js +++ b/modern/pubnub.min.js @@ -1,21 +1,21 @@ // Version: 3.4.4 (function(){ -var k=!1;function l(){return function(){}}var da=1,q=k,y=[],z="-pnpres",A=1E3,ea=/{([\w\-]+)}/g;function fa(){return"x"+ ++da+""+ +new Date}function E(){return+new Date}var H,I=Math.floor(20*Math.random());H=function(a,c){return 0++I?I:I=1))||a};function ga(a,c){function b(){f+c>E()?(clearTimeout(d),d=setTimeout(b,c)):(f=E(),a())}var d,f=0;return b}function ha(a,c){var b=[];K(a||[],function(a){c(a)&&b.push(a)});return b} -function ia(a,c){return a.replace(ea,function(a,d){return c[d]||a})}function J(a){var c="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var c=16*Math.random()|0;return("x"==a?c:c&3|8).toString(16)});a&&a(c);return c}function K(a,c){if(a&&c)if("undefined"!=typeof a[0])for(var b=0,d=a.length;b"-_.!~*'()".indexOf(a)?a:"%"+a.charCodeAt(0).toString(16).toUpperCase()}).join("")}function O(a){var c=[];K(a,function(a,d){d.g&&c.push(a)});return c.sort()}function ja(){setTimeout(function(){q||(q=1,K(y,function(a){a()}))},A)} -function S(a){function c(a){f||(f=1,clearTimeout(e),d&&(d.onerror=d.onload=null,d.abort&&d.abort(),d=null),a&&P())}function b(){if(!r){r=1;clearTimeout(e);try{response=JSON.parse(d.responseText)}catch(a){return c(1)}Q(response)}}var d,f=0,r=0,e;e=setTimeout(function(){c(1)},T);var P=a.b||l(),Q=a.c||l();try{d="undefined"!==typeof XDomainRequest&&new XDomainRequest||new XMLHttpRequest;d.onerror=d.onabort=function(){c(1)};d.onload=d.onloadend=b;d.timeout=T;url=a.url.join(ka);if(a.data){var v=[];url+= -"?";for(key in a.data)v.push(key+"="+a.data[key]);url+=v.join(la)}d.open("GET",url,!0);d.send()}catch(s){return c(0),S(a)}return c}function U(a,c,b){K(a.split(","),function(a){function f(a){a||(a=window.event);b(a)||(a.cancelBubble=!0,a.returnValue=k,a.preventDefault&&a.preventDefault(),a.stopPropagation&&a.stopPropagation())}c.addEventListener?c.addEventListener(a,f,k):c.attachEvent?c.attachEvent("on"+a,f):c["on"+a]=f})}function ma(a){console.error(a)} -function na(a,c,b){if(b)a.setAttribute(c,b);else return a&&a.getAttribute&&a.getAttribute(c)}function oa(a){return document.getElementById(a)}function pa(a,c){var b=[];K(a.split(/\s+/),function(a){K((c||document).getElementsByTagName(a),function(a){b.push(a)})});return b}function qa(a,c){for(var b in c)if(c.hasOwnProperty(b))try{a.style[b]=c[b]+(0<"|width|height|top|left|".indexOf(b)&&"number"==typeof c[b]?"px":"")}catch(d){}}function ra(a){return document.createElement(a)} -function V(a){function c(){}function b(){j.time(function(a){a||w&&w(1);setTimeout(b,v)})}function d(){sa()||w&&w(1);setTimeout(d,A)}function f(a){K(O(n),function(b){(b=n[b])&&a(b)})}function r(a){a&&(t.h=0);!t.h&&t.length&&(t.h=1,u(t.shift()))}a.db=W;a.xdr=S;a.error=ma;var e,P=+a.windowing||10,Q=(+a.timeout||310)*A,v=(+a.keepalive||60)*A,s=a.publish_key||"",h=a.subscribe_key||"",L=a.ssl?"s":"",F="http"+L+"://"+(a.origin||"pubsub.pubnub.com"),B=H(F),Z=H(F),t=[],$=0,aa=0,w=0,R=0,ba=0,G=0,n={},u=a.xdr, -g=a.error||l(),sa=a._is_online||function(){return 1},x=a.jsonp_cb||function(){return 0},C=a.db||{get:l(),set:l()},D=a.uuid||C&&C.get(h+"uuid")||"",j={LEAVE:function(a,b){var c={uuid:D},d=H(F),p=x();0++K?K:K=1))||a};function ga(a,c){function b(){f+c>H()?(clearTimeout(d),d=setTimeout(b,c)):(f=H(),a())}var d,f=0;return b}function ha(a,c){var b=[];M(a||[],function(a){c(a)&&b.push(a)});return b} +function ia(a,c){return a.replace(ea,function(a,d){return c[d]||a})}function L(a){var c="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var c=16*Math.random()|0;return("x"==a?c:c&3|8).toString(16)});a&&a(c);return c}function M(a,c){if(a&&c)if("undefined"!=typeof a[0])for(var b=0,d=a.length;b"-_.!~*'()".indexOf(a)?a:"%"+a.charCodeAt(0).toString(16).toUpperCase()}).join("")}function P(a){var c=[];M(a,function(a,d){d.g&&c.push(a)});return c.sort()}function ja(){setTimeout(function(){r||(r=1,M(w,function(a){a()}))},A)} +function S(a){function c(a){f||(f=1,clearTimeout(e),d&&(d.onerror=d.onload=null,d.abort&&d.abort(),d=null),a&&Q())}function b(){if(!t){t=1;clearTimeout(e);try{response=JSON.parse(d.responseText)}catch(a){return c(1)}C(response)}}var d,f=0,t=0,e;e=setTimeout(function(){c(1)},T);var D=a.data||{},Q=a.b||l(),C=a.c||l();try{d="undefined"!==typeof XDomainRequest&&new XDomainRequest||new XMLHttpRequest;d.onerror=d.onabort=function(){c(1)};d.onload=d.onloadend=b;d.timeout=T;D.pnsdk=ka;var i=a.url.join("/"); +if(D){var g=[],i=i+"?",u;for(u in D)g.push(u+"="+D[u]);i+=g.join("&")}url=i;d.open("GET",url,!0);d.send()}catch(E){return c(0),S(a)}return c}function U(a,c,b){M(a.split(","),function(a){function f(a){a||(a=window.event);b(a)||(a.cancelBubble=!0,a.returnValue=k,a.preventDefault&&a.preventDefault(),a.stopPropagation&&a.stopPropagation())}c.addEventListener?c.addEventListener(a,f,k):c.attachEvent?c.attachEvent("on"+a,f):c["on"+a]=f})}function la(a){console.error(a)} +function ma(a,c,b){if(b)a.setAttribute(c,b);else return a&&a.getAttribute&&a.getAttribute(c)}function na(a){return document.getElementById(a)}function oa(a,c){var b=[];M(a.split(/\s+/),function(a){M((c||document).getElementsByTagName(a),function(a){b.push(a)})});return b}function pa(a,c){for(var b in c)if(c.hasOwnProperty(b))try{a.style[b]=c[b]+(0<"|width|height|top|left|".indexOf(b)&&"number"==typeof c[b]?"px":"")}catch(d){}}function qa(a){return document.createElement(a)} +function V(a){function c(){}function b(){n.time(function(a){a||x&&x(1);setTimeout(b,C)})}function d(){ra()||x&&x(1);setTimeout(d,A)}function f(a){M(P(p),function(b){(b=p[b])&&a(b)})}function t(a){a&&(s.h=0);!s.h&&s.length&&(s.h=1,v(s.shift()))}a.db=W;a.xdr=S;a.error=la;var e,D=+a.windowing||10,Q=(+a.timeout||310)*A,C=(+a.keepalive||60)*A,i=a.publish_key||"",g=a.subscribe_key||"",u=a.ssl?"s":"",E="http"+u+"://"+(a.origin||"pubsub.pubnub.com"),B=J(E),Z=J(E),s=[],$=0,aa=0,x=0,R=0,ba=0,I=0,p={},v=a.xdr, +h=a.error||l(),ra=a._is_online||function(){return 1},y=a.jsonp_cb||function(){return 0},F=a.db||{get:l(),set:l()},G=a.uuid||F&&F.get(g+"uuid")||"",n={LEAVE:function(a,b){var c={uuid:G},d=J(E),q=y();0 $(PUBNUB_JS) cat $(PUBNUB_COMMON_JS) $(PUBNUB_PLATFORM_JS) >> $(PUBNUB_JS) + sed -i -e "s/VERSION/\'$(VERSION)\'/g" $(PUBNUB_JS) + sed -i -e "s/PLATFORM/\'$(PLATFORM)\'/g" $(PUBNUB_JS) -.PHONY : clean +.PHONY: clean clean: rm -f $(OUTPUT_FILES) -.PHONY : test +.PHONY: test test: mocha -R spec tests/test.js + +include ../Makefile.post diff --git a/nodejs/pubnub.js b/nodejs/pubnub.js index 9ac060892..a61164c3a 100644 --- a/nodejs/pubnub.js +++ b/nodejs/pubnub.js @@ -8,6 +8,8 @@ var NOW = 1 , DEF_SUB_TIMEOUT = 310 // SECONDS. , DEF_KEEPALIVE = 60 // SECONDS. , SECOND = 1000 // A THOUSAND MILLISECONDS. +, URLBIT = '/' +, PARAMSBIT = '&' , REPL = /{([\w\-]+)}/g; /** @@ -34,6 +36,26 @@ var nextorigin = (function() { } })(); + +/** + * Build Url + * ======= + * + */ +function build_url(url_components, url_params) { + var url = url_components.join(URLBIT); + + if (url_params) { + var params = []; + url += "?"; + for (var key in url_params) { + params.push(key+"="+url_params[key]); + } + url += params.join(PARAMSBIT); + } + return url; +} + /** * UPDATER * ======= @@ -207,7 +229,7 @@ function PN_API(setup) { // Announce Leave Event var SELF = { 'LEAVE' : function( channel, blocking ) { - var data = { 'uuid' : UUID } + var data = { 'uuid' : UUID} , origin = nextorigin(ORIGIN) , jsonp = jsonp_cb(); @@ -216,6 +238,7 @@ function PN_API(setup) { if (jsonp != '0') data['callback'] = jsonp; + xdr({ blocking : blocking || SSL, timeout : 2000, @@ -708,6 +731,7 @@ var NOW = 1 , XHRTME = 310000 , DEF_TIMEOUT = 10000 , SECOND = 1000 +, PNSDK = encode('PubNub-JS-' + 'Nodejs' + '/' + '3.4.4') , XORIGN = 1; @@ -728,7 +752,6 @@ function error(message) { console['error'](message) } * }); */ function xdr( setup ) { - //setup.url.unshift(''); var url = setup.url.join(URLBIT) , request , response @@ -776,6 +799,8 @@ function xdr( setup ) { } url += params.join(PARAMSBIT); } + url += '&pnsdk=' + PNSDK ; + console.log(url); var options = { hostname : origin, port : ssl ? 443 : 80, diff --git a/nodejs/unassembled/platform.js b/nodejs/unassembled/platform.js index d2b31d25c..7930b5389 100644 --- a/nodejs/unassembled/platform.js +++ b/nodejs/unassembled/platform.js @@ -40,6 +40,7 @@ var NOW = 1 , XHRTME = 310000 , DEF_TIMEOUT = 10000 , SECOND = 1000 +, PNSDK = encode('PubNub-JS-' + PLATFORM + '/' + VERSION) , XORIGN = 1; @@ -60,7 +61,6 @@ function error(message) { console['error'](message) } * }); */ function xdr( setup ) { - //setup.url.unshift(''); var url = setup.url.join(URLBIT) , request , response @@ -108,6 +108,8 @@ function xdr( setup ) { } url += params.join(PARAMSBIT); } + url += '&pnsdk=' + PNSDK ; + console.log(url); var options = { hostname : origin, port : ssl ? 443 : 80, diff --git a/phonegap/Makefile b/phonegap/Makefile new file mode 100644 index 000000000..19905ab64 --- /dev/null +++ b/phonegap/Makefile @@ -0,0 +1,34 @@ +include ../Makefile.inc +OUTPUT_FILES=$(PUBNUB_MIN_JS) $(PUBNUB_CRYPTO_MIN_JS) +PLATFORM=Phonegap +MODERN_PLATFORM_JS=../modern/$(PUBNUB_PLATFORM_JS) + +.PHONY : all +all: build + +.PHONY : build +build: $(PUBNUB_MIN_JS) $(PUBNUB_CRYPTO_MIN_JS) + +$(PUBNUB_MIN_JS) : $(PUBNUB_COMMON_JS) $(WEBSOCKET_JS) $(MODERN_PLATFORM_JS) + ## Full Version + $(ECHO) "// Version: $(VERSION)" > $(PUBNUB_JS) + cat $(PUBNUB_COMMON_JS) $(MODERN_PLATFORM_JS) $(WEBSOCKET_JS) >> $(PUBNUB_JS) + sed -i -e "s/VERSION/\'$(VERSION)\'/g" $(PUBNUB_JS) + sed -i -e "s/PLATFORM/\'$(PLATFORM)\'/g" $(PUBNUB_JS) + ## Minfied Version + $(ECHO) "// Version: $(VERSION)" > $(PUBNUB_MIN_JS) + $(ECHO) "(function(){" >> $(PUBNUB_MIN_JS) + cat $(PUBNUB_JS) | java -jar $(GOOGLE_MINIFY) --compilation_level=ADVANCED_OPTIMIZATIONS >> $(PUBNUB_MIN_JS) + $(ECHO) "})();" >> $(PUBNUB_MIN_JS) + +$(PUBNUB_CRYPTO_MIN_JS) : $(GIBBERISH_JS) $(ENCRYPTO_JS) + ## Cryptography + $(ECHO) "(function(){" > $(PUBNUB_CRYPTO_MIN_JS) + cat $(GIBBERISH_JS) $(ENCRYPT_JS) | java -jar $(GOOGLE_MINIFY) >> $(PUBNUB_CRYPTO_MIN_JS) + $(ECHO) "})();" >> $(PUBNUB_CRYPTO_MIN_JS) + +.PHONY : clean +clean: + rm -f $(OUTPUT_FILES) + +include ../Makefile.post diff --git a/phonegap/index.html b/phonegap/index.html index b4c9d1ab6..c98cef933 100644 --- a/phonegap/index.html +++ b/phonegap/index.html @@ -46,7 +46,7 @@
- + - + diff --git a/sencha/examples/history/index.html b/sencha/examples/history/index.html index 5573f1f14..e843402c4 100644 --- a/sencha/examples/history/index.html +++ b/sencha/examples/history/index.html @@ -52,7 +52,7 @@ - + diff --git a/sencha/examples/subscribe/index.html b/sencha/examples/subscribe/index.html index 5573f1f14..e843402c4 100644 --- a/sencha/examples/subscribe/index.html +++ b/sencha/examples/subscribe/index.html @@ -52,7 +52,7 @@ - + diff --git a/sencha/pubnub-crypto.min.js b/sencha/pubnub-crypto.min.js new file mode 100644 index 000000000..209ee5218 --- /dev/null +++ b/sencha/pubnub-crypto.min.js @@ -0,0 +1,25 @@ +(function(){ +PUBNUB.crypto=function(){var e=14,j=8,s=!1,v=function(b,f){var c="",d,q;if(f){d=b[15];if(16q;q++)c+=String.fromCharCode(b[q]);return c},u=function(b,f){var c=[],d;if(!f)try{b=unescape(encodeURIComponent(b))}catch(q){throw"Error on UTF-8 encode";}for(d=0;dj.length&&(t=16-j.length,r=[t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t]);for(t=0;td;d++)c[d]=f[b[d]];return c},E=function(b){var f=[],c=s?[0,13,10,7,4,1,14,11,8,5,2,15,12,9,6,3]:[0,5,10,15,4,9,14,3,8,13,2,7,12,1,6,11],d;for(d=0;16>d;d++)f[d]=b[c[d]];return f},F=function(b){var f=[],c;if(s)for(c=0;4>c;c++)f[4*c]=L[b[4*c]]^M[b[1+4*c]]^N[b[2+4*c]]^O[b[3+4*c]],f[1+4*c]=O[b[4*c]]^L[b[1+4*c]]^M[b[2+4*c]]^N[b[3+4*c]],f[2+4*c]=N[b[4*c]]^O[b[1+4*c]]^L[b[2+4*c]]^M[b[3+4*c]], +f[3+4*c]=M[b[4*c]]^N[b[1+4*c]]^O[b[2+4*c]]^L[b[3+4*c]];else for(c=0;4>c;c++)f[4*c]=P[b[4*c]]^Q[b[1+4*c]]^b[2+4*c]^b[3+4*c],f[1+4*c]=b[4*c]^P[b[1+4*c]]^Q[b[2+4*c]]^b[3+4*c],f[2+4*c]=b[4*c]^b[1+4*c]^P[b[2+4*c]]^Q[b[3+4*c]],f[3+4*c]=Q[b[4*c]]^b[1+4*c]^b[2+4*c]^P[b[3+4*c]];return f},C=function(b,f,c){var d=[],q;for(q=0;16>q;q++)d[q]=b[q]^f[c][q];return d},B=function(b,f){var c=[],d;for(d=0;16>d;d++)c[d]=b[d]^f[d];return c},x=function(b){var f=[],c=[],d,q,p=[];for(d=0;db;b++)c[b]=f[d-1][b];if(0===d%j){b=c[0];q=void 0;for(q=0;4>q;q++)c[q]=c[q+1];c[3]=b;c=G(c);c[0]^=X[d/j-1]}else 6b;b++)f[d][b]=f[d-j][b]^c[b]}for(d=0;dc;c++)p[d].push(f[4*d+c][0],f[4*d+c][1],f[4*d+c][2],f[4*d+c][3])}return p},G=function(b){for(var f=0;4>f;f++)b[f]=S[b[f]];return b},H=function(b,f){var c=[];for(i=0;ic;c++){for(var d=f,q=c,e=b,j=c,m=void 0,p=void 0,m=p=0;8>m;m++)p=1==(j&1)?p^e:p,e=127>>=1;d[q]=p}return f},S=H("637c777bf26b6fc53001672bfed7ab76ca82c97dfa5947f0add4a2af9ca472c0b7fd9326363ff7cc34a5e5f171d8311504c723c31896059a071280e2eb27b27509832c1a1b6e5aa0523bd6b329e32f8453d100ed20fcb15b6acbbe394a4c58cfd0efaafb434d338545f9027f503c9fa851a3408f929d38f5bcb6da2110fff3d2cd0c13ec5f974417c4a77e3d645d197360814fdc222a908846eeb814de5e0bdbe0323a0a4906245cc2d3ac629195e479e7c8376d8dd54ea96c56f4ea657aae08ba78252e1ca6b4c6e8dd741f4bbd8b8a703eb5664803f60e613557b986c11d9ee1f8981169d98e949b1e87e9ce5528df8ca1890dbfe6426841992d0fb054bb16", +2),U,V=S,W=[];for(i=0;i>2],c+=K[(f[d]&3)<<4|f[d+1]>>4],c=void 0!== +f[d+1]?c+K[(f[d+1]&15)<<2|f[d+2]>>6]:c+"=",c=void 0!==f[d+2]?c+K[f[d+2]&63]:c+"=";b=c.slice(0,64);for(d=1;d>4,d[1]=(c[1]&15)<<4|c[2]>>2,d[2]=(c[2]&3)<<6|c[3],f.push(d[0],d[1],d[2]); +return f=f.slice(0,f.length-f.length%16)}};return{size:function(b){switch(b){case 128:e=10;j=4;break;case 192:e=12;j=6;break;case 256:e=14;j=8;break;default:throw"Invalid Key Size Specified:"+b;}},h2a:function(b){var f=[];b.replace(/(..)/g,function(b){f.push(parseInt(b,16))});return f},expandKey:x,encryptBlock:z,decryptBlock:D,Decrypt:s,s2a:u,rawEncrypt:r,rawDecrypt:w,dec:function(b,f,c){var b=R.decode(b),d=b.slice(8,16),d=p(u(f,c),d),f=d.key,d=d.iv,b=b.slice(16,b.length);return b=w(b,f,d,c)},openSSLKey:p, +a2h:function(b){var f="",c;for(c=0;cb[c]?"0":"")+b[c].toString(16);return f},enc:function(b,f,c){var d;d=[];var e;for(e=0;8>e;e++)d=d.concat(Math.floor(256*Math.random()));e=p(u(f,c),d);f=e.key;e=e.iv;d=[[83,97,108,116,101,100,95,95].concat(d)];b=u(b,c);b=r(b,f,e);b=d.concat(b);return R.encode(b)},Hash:{MD5:function(b){function f(b,c){var d,e,f,g,h;f=b&2147483648;g=c&2147483648;d=b&1073741824;e=c&1073741824;h=(b&1073741823)+(c&1073741823);return d&e?h^2147483648^f^g:d|e?h&1073741824? +h^3221225472^f^g:h^1073741824^f^g:h^f^g}function c(b,c,d,e,g,h,k){b=f(b,f(f(c&d|~c&e,g),k));return f(b<>>32-h,c)}function d(b,c,d,e,g,h,k){b=f(b,f(f(c&e|d&~e,g),k));return f(b<>>32-h,c)}function e(b,c,d,g,h,k,l){b=f(b,f(f(c^d^g,h),l));return f(b<>>32-k,c)}function j(b,c,d,e,g,h,k){b=f(b,f(f(d^(c|~e),g),k));return f(b<>>32-h,c)}function p(b){var c,d,e=[];for(d=0;3>=d;d++)c=b>>>8*d&255,e=e.concat(c);return e}var m=[],r,s,w,t,g,h,k,l,n=H("67452301efcdab8998badcfe10325476d76aa478e8c7b756242070dbc1bdceeef57c0faf4787c62aa8304613fd469501698098d88b44f7afffff5bb1895cd7be6b901122fd987193a679438e49b40821f61e2562c040b340265e5a51e9b6c7aad62f105d02441453d8a1e681e7d3fbc821e1cde6c33707d6f4d50d87455a14eda9e3e905fcefa3f8676f02d98d2a4c8afffa39428771f6816d9d6122fde5380ca4beea444bdecfa9f6bb4b60bebfbc70289b7ec6eaa127fad4ef308504881d05d9d4d039e6db99e51fa27cf8c4ac5665f4292244432aff97ab9423a7fc93a039655b59c38f0ccc92ffeff47d85845dd16fa87e4ffe2ce6e0a30143144e0811a1f7537e82bd3af2352ad7d2bbeb86d391", +8),m=b.length;r=m+8;s=16*((r-r%64)/64+1);w=[];for(g=t=0;g>>29;m=w;g=n[0];h=n[1];k=n[2];l=n[3];for(b=0;b>16)+(j>>16)+(p>>16)<<16|p&65535}function s(e,j){return e>>>j|e<<32-j}var v;v=e.replace(/\r\n/g,"\n");for(var e="",u=0;up?e+=String.fromCharCode(p):(127p?e+=String.fromCharCode(p>>6|192):(e+=String.fromCharCode(p>>12|224),e+=String.fromCharCode(p>>6&63|128)),e+=String.fromCharCode(p&63|128))}u=e;v=[];for(p=0;p<8*u.length;p+=8)v[p>>5]|=(u.charCodeAt(p/8)&255)<<24-p%32;var r=8*e.length, +u=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909, +275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],e=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],p=Array(64),w,z,D,y,E,F,C,B,x,G,H;v[r>>5]|=128<<24-r%32;v[(r+64>>9<<4)+15]=r;for(B=0;Bx;x++)p[x]=16>x?v[x+B]:j(j(j(s(p[x-2],17)^s(p[x-2],19)^p[x- +2]>>>10,p[x-7]),s(p[x-15],7)^s(p[x-15],18)^p[x-15]>>>3),p[x-16]),G=j(j(j(j(C,s(y,6)^s(y,11)^s(y,25)),y&E^~y&F),u[x]),p[x]),H=j(s(r,2)^s(r,13)^s(r,22),r&w^r&z^w&z),C=F,F=E,E=y,y=j(D,G),D=z,z=w,w=r,r=j(G,H);e[0]=j(r,e[0]);e[1]=j(w,e[1]);e[2]=j(z,e[2]);e[3]=j(D,e[3]);e[4]=j(y,e[4]);e[5]=j(E,e[5]);e[6]=j(F,e[6]);e[7]=j(C,e[7])}v="";for(u=0;u<4*e.length;u++)v+="0123456789abcdef".charAt(e[u>>2]>>8*(3-u%4)+4&15)+"0123456789abcdef".charAt(e[u>>2]>>8*(3-u%4)&15);return v}; +})(); diff --git a/sencha/pubnub.js b/sencha/pubnub.js new file mode 100644 index 000000000..b5062dcff --- /dev/null +++ b/sencha/pubnub.js @@ -0,0 +1,1099 @@ +// Version: 3.4.4 +var NOW = 1 +, READY = false +, READY_BUFFER = [] +, PRESENCE_SUFFIX = '-pnpres' +, DEF_WINDOWING = 10 // MILLISECONDS. +, DEF_TIMEOUT = 10000 // MILLISECONDS. +, DEF_SUB_TIMEOUT = 310 // SECONDS. +, DEF_KEEPALIVE = 60 // SECONDS. +, SECOND = 1000 // A THOUSAND MILLISECONDS. +, URLBIT = '/' +, PARAMSBIT = '&' +, REPL = /{([\w\-]+)}/g; + +/** + * UTILITIES + */ +function unique() { return'x'+ ++NOW+''+(+new Date) } +function rnow() { return+new Date } + +/** + * NEXTORIGIN + * ========== + * var next_origin = nextorigin(); + */ +var nextorigin = (function() { + var max = 20 + , ori = Math.floor(Math.random() * max); + return function( origin, failover ) { + return origin.indexOf('pubsub.') > 0 + && origin.replace( + 'pubsub', 'ps' + ( + failover ? uuid().split('-')[0] : + (++ori < max? ori : ori=1) + ) ) || origin; + } +})(); + + +/** + * Build Url + * ======= + * + */ +function build_url(url_components, url_params) { + var url = url_components.join(URLBIT); + + if (url_params) { + var params = []; + url += "?"; + for (var key in url_params) { + params.push(key+"="+url_params[key]); + } + url += params.join(PARAMSBIT); + } + return url; +} + +/** + * UPDATER + * ======= + * var timestamp = unique(); + */ +function updater( fun, rate ) { + var timeout + , last = 0 + , runnit = function() { + if (last + rate > rnow()) { + clearTimeout(timeout); + timeout = setTimeout( runnit, rate ); + } + else { + last = rnow(); + fun(); + } + }; + + return runnit; +} + +/** + * GREP + * ==== + * var list = grep( [1,2,3], function(item) { return item % 2 } ) + */ +function grep( list, fun ) { + var fin = []; + each( list || [], function(l) { fun(l) && fin.push(l) } ); + return fin +} + +/** + * SUPPLANT + * ======== + * var text = supplant( 'Hello {name}!', { name : 'John' } ) + */ +function supplant( str, values ) { + return str.replace( REPL, function( _, match ) { + return values[match] || _ + } ); +} + +/** + * timeout + * ======= + * timeout( function(){}, 100 ); + */ +function timeout( fun, wait ) { + return setTimeout( fun, wait ); +} + +/** + * uuid + * ==== + * var my_uuid = uuid(); + */ +function uuid(callback) { + var u = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, + function(c) { + var r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8); + return v.toString(16); + }); + if (callback) callback(u); + return u; +} + +/** + * EACH + * ==== + * each( [1,2,3], function(item) { } ) + */ +function each( o, f ) { + if ( !o || !f ) return; + + if ( typeof o[0] != 'undefined' ) + for ( var i = 0, l = o.length; i < l; ) + f.call( o[i], o[i], i++ ); + else + for ( var i in o ) + o.hasOwnProperty && + o.hasOwnProperty(i) && + f.call( o[i], i, o[i] ); +} + +/** + * MAP + * === + * var list = map( [1,2,3], function(item) { return item + 1 } ) + */ +function map( list, fun ) { + var fin = []; + each( list || [], function( k, v ) { fin.push(fun( k, v )) } ); + return fin; +} + +/** + * ENCODE + * ====== + * var encoded_path = encode('path'); + */ +function encode(path) { + return map( (encodeURIComponent(path)).split(''), function(chr) { + return "-_.!~*'()".indexOf(chr) < 0 ? chr : + "%"+chr.charCodeAt(0).toString(16).toUpperCase() + } ).join(''); +} + +/** + * Generate Subscription Channel List + * ================================== + * generate_channel_list(channels_object); + */ +function generate_channel_list(channels) { + var list = []; + each( channels, function( channel, status ) { + if (status.subscribed) list.push(channel); + } ); + return list.sort(); +} + +// PUBNUB READY TO CONNECT +function ready() { timeout( function() { + if (READY) return; + READY = 1; + each( READY_BUFFER, function(connect) { connect() } ); +}, SECOND ); } + +function PN_API(setup) { + var SUB_WINDOWING = +setup['windowing'] || DEF_WINDOWING + , SUB_TIMEOUT = (+setup['timeout'] || DEF_SUB_TIMEOUT) * SECOND + , KEEPALIVE = (+setup['keepalive'] || DEF_KEEPALIVE) * SECOND + , PUBLISH_KEY = setup['publish_key'] || '' + , SUBSCRIBE_KEY = setup['subscribe_key'] || '' + , SSL = setup['ssl'] ? 's' : '' + , ORIGIN = 'http'+SSL+'://'+(setup['origin']||'pubsub.pubnub.com') + , STD_ORIGIN = nextorigin(ORIGIN) + , SUB_ORIGIN = nextorigin(ORIGIN) + , CONNECT = function(){} + , PUB_QUEUE = [] + , SUB_CALLBACK = 0 + , SUB_CHANNEL = 0 + , SUB_RECEIVER = 0 + , SUB_RESTORE = 0 + , SUB_BUFF_WAIT = 0 + , TIMETOKEN = 0 + , CHANNELS = {} + , xdr = setup['xdr'] + , error = setup['error'] || function() {} + , _is_online = setup['_is_online'] || function() { return 1; } + , jsonp_cb = setup['jsonp_cb'] || function(){ return 0; } + , db = setup['db'] || {'get': function(){}, 'set': function(){}} + , UUID = setup['uuid'] || ( db && db['get'](SUBSCRIBE_KEY+'uuid') || ''); + + function publish(next) { + if (next) PUB_QUEUE.sending = 0; + if (PUB_QUEUE.sending || !PUB_QUEUE.length) return; + PUB_QUEUE.sending = 1; + xdr(PUB_QUEUE.shift()); + } + + function each_channel(callback) { + each( generate_channel_list(CHANNELS), function(channel) { + var chan = CHANNELS[channel]; + if (!chan) return; + callback(chan); + } ); + } + + // Announce Leave Event + var SELF = { + 'LEAVE' : function( channel, blocking ) { + var data = { 'uuid' : UUID} + , origin = nextorigin(ORIGIN) + , jsonp = jsonp_cb(); + + // Prevent Leaving a Presence Channel + if (channel.indexOf(PRESENCE_SUFFIX) > 0) return; + + if (jsonp != '0') data['callback'] = jsonp; + + + xdr({ + blocking : blocking || SSL, + timeout : 2000, + callback : jsonp, + data : data, + url : [ + origin, 'v2', 'presence', 'sub_key', + SUBSCRIBE_KEY, 'channel', encode(channel), 'leave' + ] + }); + }, + /* + PUBNUB.history({ + channel : 'my_chat_channel', + limit : 100, + callback : function(history) { } + }); + */ + 'history' : function( args, callback ) { + var callback = args['callback'] || callback + , count = args['count'] || args['limit'] || 100 + , reverse = args['reverse'] || "false" + , err = args['error'] || function(){} + , channel = args['channel'] + , start = args['start'] + , end = args['end'] + , params = {} + , jsonp = jsonp_cb(); + + // Make sure we have a Channel + if (!channel) return error('Missing Channel'); + if (!callback) return error('Missing Callback'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + params['stringtoken'] = 'true'; + params['count'] = count; + params['reverse'] = reverse; + + if (jsonp) params['callback'] = jsonp; + if (start) params['start'] = start; + if (end) params['end'] = end; + + // Send Message + xdr({ + callback : jsonp, + data : params, + success : function(response) { callback(response) }, + fail : err, + url : [ + STD_ORIGIN, 'v2', 'history', 'sub-key', + SUBSCRIBE_KEY, 'channel', encode(channel) + ] + }); + }, + + /* + PUBNUB.replay({ + source : 'my_channel', + destination : 'new_channel' + }); + */ + 'replay' : function(args) { + var callback = callback || args['callback'] || function(){} + , source = args['source'] + , destination = args['destination'] + , stop = args['stop'] + , start = args['start'] + , end = args['end'] + , reverse = args['reverse'] + , limit = args['limit'] + , jsonp = jsonp_cb() + , data = {} + , url; + + // Check User Input + if (!source) return error('Missing Source Channel'); + if (!destination) return error('Missing Destination Channel'); + if (!PUBLISH_KEY) return error('Missing Publish Key'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + // Setup URL Params + if (jsonp != '0') data['callback'] = jsonp; + if (stop) data['stop'] = 'all'; + if (reverse) data['reverse'] = 'true'; + if (start) data['start'] = start; + if (end) data['end'] = end; + if (limit) data['count'] = limit; + + // Compose URL Parts + url = [ + STD_ORIGIN, 'v1', 'replay', + PUBLISH_KEY, SUBSCRIBE_KEY, + source, destination + ]; + + // Start (or Stop) Replay! + xdr({ + callback : jsonp, + success : function(response) { callback(response) }, + fail : function() { callback([ 0, 'Disconnected' ]) }, + url : url, + data : data + }); + }, + + /* + PUBNUB.time(function(time){ }); + */ + 'time' : function(callback) { + var jsonp = jsonp_cb(); + xdr({ + callback : jsonp, + timeout : SECOND*5, + url : [STD_ORIGIN, 'time', jsonp], + success : function(response) { callback(response[0]) }, + fail : function() { callback(0) } + }); + }, + + /* + PUBNUB.publish({ + channel : 'my_chat_channel', + message : 'hello!' + }); + */ + 'publish' : function( args, callback ) { + var callback = callback || args['callback'] || function(){} + , msg = args['message'] + , channel = args['channel'] + , jsonp = jsonp_cb() + , url; + + if (!msg) return error('Missing Message'); + if (!channel) return error('Missing Channel'); + if (!PUBLISH_KEY) return error('Missing Publish Key'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + // If trying to send Object + msg = JSON['stringify'](msg); + + // Create URL + url = [ + STD_ORIGIN, 'publish', + PUBLISH_KEY, SUBSCRIBE_KEY, + 0, encode(channel), + jsonp, encode(msg) + ]; + + // Queue Message Send + PUB_QUEUE.push({ + callback : jsonp, + timeout : SECOND*5, + url : url, + data : { 'uuid' : UUID }, + success : function(response){callback(response);publish(1)}, + fail : function(){callback([0,'Failed',msg]);publish(1)} + }); + + // Send Message + publish(); + }, + + /* + PUBNUB.unsubscribe({ channel : 'my_chat' }); + */ + 'unsubscribe' : function(args) { + var channel = args['channel']; + + TIMETOKEN = 0; + SUB_RESTORE = 1; + + // Prepare Channel(s) + channel = map( ( + channel.join ? channel.join(',') : ''+channel + ).split(','), function(channel) { + return channel + ',' + channel + PRESENCE_SUFFIX; + } ).join(','); + + // Iterate over Channels + each( channel.split(','), function(channel) { + if (READY) SELF['LEAVE']( channel, 0 ); + CHANNELS[channel] = 0; + } ); + + // ReOpen Connection if Any Channels Left + if (READY) CONNECT(); + }, + + /* + PUBNUB.subscribe({ + channel : 'my_chat' + callback : function(message) { } + }); + */ + 'subscribe' : function( args, callback ) { + var channel = args['channel'] + , callback = callback || args['callback'] + , callback = callback || args['message'] + , connect = args['connect'] || function(){} + , reconnect = args['reconnect'] || function(){} + , disconnect = args['disconnect'] || function(){} + , presence = args['presence'] || 0 + , noheresync = args['noheresync'] || 0 + , backfill = args['backfill'] || 0 + , sub_timeout = args['timeout'] || SUB_TIMEOUT + , windowing = args['windowing'] || SUB_WINDOWING + , restore = args['restore']; + + // Restore Enabled? + if (restore) SUB_RESTORE = 1; + + TIMETOKEN = 0; + + // Make sure we have a Channel + if (!channel) return error('Missing Channel'); + if (!callback) return error('Missing Callback'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + // Setup Channel(s) + each( (channel.join ? channel.join(',') : ''+channel).split(','), + function(channel) { + var settings = CHANNELS[channel] || {}; + + // Store Channel State + CHANNELS[SUB_CHANNEL = channel] = { + name : channel, + connected : settings.connected, + disconnected : settings.disconnected, + subscribed : 1, + callback : SUB_CALLBACK = callback, + connect : connect, + disconnect : disconnect, + reconnect : reconnect + }; + + // Presence Enabled? + if (!presence) return; + + // Subscribe Presence Channel + SELF['subscribe']({ + 'channel' : channel + PRESENCE_SUFFIX, + 'callback' : presence + }); + + // Presence Subscribed? + if (settings.subscribed) return; + + // See Who's Here Now? + if (noheresync) return; + SELF['here_now']({ + 'channel' : channel, + 'callback' : function(here) { + each( 'uuids' in here ? here['uuids'] : [], + function(uid) { presence( { + 'action' : 'join', + 'uuid' : uid, + 'timestamp' : rnow(), + 'occupancy' : here['occupancy'] || 1 + }, here, channel ); } ); + } + }); + } ); + + // Test Network Connection + function _test_connection(success) { + if (success) { + // Begin Next Socket Connection + timeout( _connect, SECOND ); + } + else { + // New Origin on Failed Connection + STD_ORIGIN = nextorigin( ORIGIN, 1 ); + SUB_ORIGIN = nextorigin( ORIGIN, 1 ); + + // Re-test Connection + timeout( function() { + SELF['time'](_test_connection); + }, SECOND ); + } + + // Disconnect & Reconnect + each_channel(function(channel){ + // Reconnect + if (success && channel.disconnected) { + channel.disconnected = 0; + return channel.reconnect(channel.name); + } + + // Disconnect + if (!success && !channel.disconnected) { + channel.disconnected = 1; + channel.disconnect(channel.name); + } + }); + } + + // Evented Subscribe + function _connect() { + var jsonp = jsonp_cb() + , channels = generate_channel_list(CHANNELS).join(','); + + // Stop Connection + if (!channels) return; + + // Connect to PubNub Subscribe Servers + SUB_RECEIVER = xdr({ + timeout : sub_timeout, + callback : jsonp, + fail : function() { SELF['time'](_test_connection) }, + data : { 'uuid' : UUID }, + url : [ + SUB_ORIGIN, 'subscribe', + SUBSCRIBE_KEY, encode(channels), + jsonp, TIMETOKEN + ], + success : function(messages) { + if (!messages) return timeout( _connect, windowing ); + + // Connect + each_channel(function(channel){ + if (channel.connected) return; + channel.connected = 1; + channel.connect(channel.name); + }); + + // Restore Previous Connection Point if Needed + TIMETOKEN = !TIMETOKEN && + SUB_RESTORE && + db['get'](SUBSCRIBE_KEY) || messages[1]; + + + if (backfill) { + Timetoken = 10000; + backfill = 0; + } + + // Update Saved Timetoken + db['set']( SUBSCRIBE_KEY, messages[1] ); + + // Route Channel <---> Callback for Message + var next_callback = (function() { + var channels = (messages.length>2?messages[2]:'') + , list = channels.split(','); + + return function() { + var channel = list.shift()||''; + return [ + (CHANNELS[channel]||{}) + .callback||SUB_CALLBACK, + (channel||SUB_CHANNEL) + .split(PRESENCE_SUFFIX)[0] + ]; + }; + })(); + + each( messages[0], function(msg) { + var next = next_callback(); + if (!CHANNELS[next[1]].subscribed) return; + next[0]( msg, messages, next[1] ); + } ); + + timeout( _connect, windowing ); + } + }); + } + + CONNECT = function() { + // Close Previous Subscribe Connection + _reset_offline(); + + // Begin Recursive Subscribe + clearTimeout(SUB_BUFF_WAIT); + SUB_BUFF_WAIT = timeout( _connect, 100 ); + }; + + // Reduce Status Flicker + if (!READY) return READY_BUFFER.push(CONNECT); + + // Connect Now + CONNECT(); + }, + + 'here_now' : function( args, callback ) { + var callback = args['callback'] || callback + , err = args['error'] || function(){} + , channel = args['channel'] + , jsonp = jsonp_cb() + , data = null; + + // Make sure we have a Channel + if (!channel) return error('Missing Channel'); + if (!callback) return error('Missing Callback'); + if (!SUBSCRIBE_KEY) return error('Missing Subscribe Key'); + + if (jsonp != '0') { + data = {}; + data['callback'] = jsonp; + } + + xdr({ + callback : jsonp, + data : data, + success : function(response) { callback(response) }, + fail : err, + url : [ + STD_ORIGIN, 'v2', 'presence', + 'sub_key', SUBSCRIBE_KEY, + 'channel', encode(channel) + ] + }); + }, + + // Expose PUBNUB Functions + 'xdr' : xdr, + 'ready' : ready, + 'db' : db, + 'uuid' : uuid, + 'each' : each, + 'map' : map, + 'grep' : grep, + 'supplant' : supplant, + 'now' : rnow, + 'unique' : unique, + 'updater' : updater + }; + + function _poll_online() { + _is_online() || _reset_offline(); + timeout( _poll_online, SECOND ); + } + + function _poll_online2() { + SELF['time'](function(success){ + success || _reset_offline(); + timeout( _poll_online2, KEEPALIVE ); + }) + } + + function _reset_offline() { + SUB_RECEIVER && SUB_RECEIVER(1); + } + + if (!UUID) UUID = SELF['uuid'](); + db['set']( SUBSCRIBE_KEY + 'uuid', UUID ); + + timeout( _poll_online, SECOND ); + timeout( _poll_online2, KEEPALIVE ); + + return SELF; +} +/* --------------------------------------------------------------------------- +--------------------------------------------------------------------------- */ + +/* --------------------------------------------------------------------------- +PubNub Real-time Cloud-Hosted Push API and Push Notification Client Frameworks +Copyright (c) 2011 PubNub Inc. +http://www.pubnub.com/ +http://www.pubnub.com/terms +--------------------------------------------------------------------------- */ + +/* --------------------------------------------------------------------------- +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +--------------------------------------------------------------------------- */ +(function(){ + +/** + * UTIL LOCALS + */ +var NOW = 1 +, PNSDK = encode('PubNub-JS-' + 'Sencha' + '/' + '3.4.4') +, XHRTME = 310000; + + + +/** + * LOCAL STORAGE + */ +var db = (function(){ + var ls = typeof localStorage != 'undefined' && localStorage; + return { + get : function(key) { + try { + if (ls) return ls.getItem(key); + if (document.cookie.indexOf(key) == -1) return null; + return ((document.cookie||'').match( + RegExp(key+'=([^;]+)') + )||[])[1] || null; + } catch(e) { return } + }, + set : function( key, value ) { + try { + if (ls) return ls.setItem( key, value ) && 0; + document.cookie = key + '=' + value + + '; expires=Thu, 1 Aug 2030 20:00:00 UTC; path=/'; + } catch(e) { return } + } + }; +})(); + + +/** + * CORS XHR Request + * ================ + * xdr({ + * url : ['http://www.blah.com/url'], + * success : function(response) {}, + * fail : function() {} + * }); + */ +function xdr( setup ) { + var xhr + , finished = function() { + if (loaded) return; + loaded = 1; + + clearTimeout(timer); + + try { response = JSON['parse'](xhr.responseText); } + catch (r) { return done(1); } + + success(response); + } + , complete = 0 + , loaded = 0 + , timer = timeout( function(){done(1)}, XHRTME ) + , data = setup.data || {} + , fail = setup.fail || function(){} + , success = setup.success || function(){} + , done = function(failed) { + if (complete) return; + complete = 1; + + clearTimeout(timer); + + if (xhr) { + xhr.onerror = xhr.onload = null; + xhr.abort && xhr.abort(); + xhr = null; + } + + failed && fail(); + }; + + // Send + try { + xhr = typeof XDomainRequest !== 'undefined' && + new XDomainRequest() || + new XMLHttpRequest(); + + xhr.onerror = xhr.onabort = function(){ done(1) }; + xhr.onload = xhr.onloadend = finished; + xhr.timeout = XHRTME; + data['pnsdk'] = PNSDK; + url = build_url(setup.url, data); + xhr.open( 'GET', url, true ); + xhr.send(); + } + catch(eee) { + done(0); + return xdr(setup); + } + + // Return 'done' + return done; +} + +/** + * BIND + * ==== + * bind( 'keydown', search('a')[0], function(element) { + * ... + * } ); + */ +function bind( type, el, fun ) { + each( type.split(','), function(etype) { + var rapfun = function(e) { + if (!e) e = window.event; + if (!fun(e)) { + e.cancelBubble = true; + e.returnValue = false; + e.preventDefault && e.preventDefault(); + e.stopPropagation && e.stopPropagation(); + } + }; + + if ( el.addEventListener ) el.addEventListener( etype, rapfun, false ); + else if ( el.attachEvent ) el.attachEvent( 'on' + etype, rapfun ); + else el[ 'on' + etype ] = rapfun; + } ); +} + +/** + * UNBIND + * ====== + * unbind( 'keydown', search('a')[0] ); + */ +function unbind( type, el, fun ) { + if ( el.removeEventListener ) el.removeEventListener( type, false ); + else if ( el.detachEvent ) el.detachEvent( 'on' + type, false ); + else el[ 'on' + type ] = null; +} + +/** + * ERROR + * === + * error('message'); + */ +function error(message) { console['error'](message) } + +/** + * EVENTS + * ====== + * PUBNUB.events.bind( 'you-stepped-on-flower', function(message) { + * // Do Stuff with message + * } ); + * + * PUBNUB.events.fire( 'you-stepped-on-flower', "message-data" ); + * PUBNUB.events.fire( 'you-stepped-on-flower', {message:"data"} ); + * PUBNUB.events.fire( 'you-stepped-on-flower', [1,2,3] ); + * + */ +var events = { + 'list' : {}, + 'unbind' : function( name ) { events.list[name] = [] }, + 'bind' : function( name, fun ) { + (events.list[name] = events.list[name] || []).push(fun); + }, + 'fire' : function( name, data ) { + each( + events.list[name] || [], + function(fun) { fun(data) } + ); + } +}; + +/** + * ATTR + * ==== + * var attribute = attr( node, 'attribute' ); + */ +function attr( node, attribute, value ) { + if (value) node.setAttribute( attribute, value ); + else return node && node.getAttribute && node.getAttribute(attribute); +} + +/** + * $ + * = + * var div = $('divid'); + */ +function $(id) { return document.getElementById(id) } + + +/** + * SEARCH + * ====== + * var elements = search('a div span'); + */ +function search( elements, start ) { + var list = []; + each( elements.split(/\s+/), function(el) { + each( (start || document).getElementsByTagName(el), function(node) { + list.push(node); + } ); + } ); + return list; +} + +/** + * CSS + * === + * var obj = create('div'); + */ +function css( element, styles ) { + for (var style in styles) if (styles.hasOwnProperty(style)) + try {element.style[style] = styles[style] + ( + '|width|height|top|left|'.indexOf(style) > 0 && + typeof styles[style] == 'number' + ? 'px' : '' + )}catch(e){} +} + +/** + * CREATE + * ====== + * var obj = create('div'); + */ +function create(element) { return document.createElement(element) } + +/* =-====================================================================-= */ +/* =-====================================================================-= */ +/* =-========================= PUBNUB ===========================-= */ +/* =-====================================================================-= */ +/* =-====================================================================-= */ + +function PN(setup) { + + + setup['db'] = db; + setup['xdr'] = xdr; + setup['error'] = error; + var SELF = PN_API(setup); + + SELF['init'] = PN; + SELF['$'] = $; + SELF['attr'] = attr; + SELF['search'] = search; + SELF['bind'] = bind; + SELF['css'] = css; + SELF['create'] = create; + + // Return without Testing + if (setup['notest']) return SELF; + + // Add Leave Functions + bind( 'beforeunload', window, function() { + each_channel(function(ch){ SELF['LEAVE']( ch.name, 1 ) }); + return true; + } ); + + bind( 'offline', window, SELF['_reset_offline'] ); + bind( 'offline', document, SELF['_reset_offline'] ); + + SELF['ready'](); + return SELF; +} + +typeof module !== 'undefined' && (module.exports = PN) || +typeof exports !== 'undefined' && (exports.PN = PN) || (PUBNUB = PN); + +})(); +(function(){ + +// --------------------------------------------------------------------------- +// WEBSOCKET INTERFACE +// --------------------------------------------------------------------------- +var WS = PUBNUB['ws'] = function( url, protocols ) { + if (!(this instanceof WS)) return new WS( url, protocols ); + + var self = this + , url = self.url = url || '' + , protocol = self.protocol = protocols || 'Sec-WebSocket-Protocol' + , bits = url.split('/') + , setup = { + 'ssl' : bits[0] === 'wss:' + ,'origin' : bits[2] + ,'publish_key' : bits[3] + ,'subscribe_key' : bits[4] + ,'channel' : bits[5] + }; + + // READY STATES + self['CONNECTING'] = 0; // The connection is not yet open. + self['OPEN'] = 1; // The connection is open and ready to communicate. + self['CLOSING'] = 2; // The connection is in the process of closing. + self['CLOSED'] = 3; // The connection is closed or couldn't be opened. + + // CLOSE STATES + self['CLOSE_NORMAL'] = 1000; // Normal Intended Close; completed. + self['CLOSE_GOING_AWAY'] = 1001; // Closed Unexpecttedly. + self['CLOSE_PROTOCOL_ERROR'] = 1002; // Server: Not Supported. + self['CLOSE_UNSUPPORTED'] = 1003; // Server: Unsupported Protocol. + self['CLOSE_TOO_LARGE'] = 1004; // Server: Too Much Data. + self['CLOSE_NO_STATUS'] = 1005; // Server: No reason. + self['CLOSE_ABNORMAL'] = 1006; // Abnormal Disconnect. + + // Events Default + self['onclose'] = self['onerror'] = + self['onmessage'] = self['onopen'] = + self['onsend'] = function(){}; + + // Attributes + self['binaryType'] = ''; + self['extensions'] = ''; + self['bufferedAmount'] = 0; + self['trasnmitting'] = false; + self['buffer'] = []; + self['readyState'] = self['CONNECTING']; + + // Close if no setup. + if (!url) { + self['readyState'] = self['CLOSED']; + self['onclose']({ + 'code' : self['CLOSE_ABNORMAL'], + 'reason' : 'Missing URL', + 'wasClean' : true + }); + return self; + } + + // PubNub WebSocket Emulation + self.pubnub = PUBNUB['init'](setup); + self.pubnub.setup = setup; + self.setup = setup; + + self.pubnub['subscribe']({ + 'restore' : false, + 'channel' : setup['channel'], + 'disconnect' : self['onerror'], + 'reconnect' : self['onopen'], + 'error' : function() { + self['onclose']({ + 'code' : self['CLOSE_ABNORMAL'], + 'reason' : 'Missing URL', + 'wasClean' : false + }); + }, + 'callback' : function(message) { + self['onmessage']({ 'data' : message }); + }, + 'connect' : function() { + self['readyState'] = self['OPEN']; + self['onopen'](); + } + }); +}; + +// --------------------------------------------------------------------------- +// WEBSOCKET SEND +// --------------------------------------------------------------------------- +WS.prototype.send = function(data) { + var self = this; + self.pubnub['publish']({ + 'channel' : self.pubnub.setup['channel'], + 'message' : data, + 'callback' : function(response) { + self['onsend']({ 'data' : response }); + } + }); +}; + +// --------------------------------------------------------------------------- +// WEBSOCKET CLOSE +// --------------------------------------------------------------------------- +WS.prototype.close = function() { + var self = this; + self.pubnub['unsubscribe']({ 'channel' : self.pubnub.setup['channel'] }); + self['readyState'] = self['CLOSED']; + self['onclose']({}); +}; + +})(); diff --git a/sencha/pubnub.min.js b/sencha/pubnub.min.js new file mode 100644 index 000000000..27cb10707 --- /dev/null +++ b/sencha/pubnub.min.js @@ -0,0 +1,23 @@ +// Version: 3.4.4 +(function(){ +var k=!1;function l(){return function(){}}var da=1,r=k,w=[],z="-pnpres",A=1E3,ea=/{([\w\-]+)}/g;function fa(){return"x"+ ++da+""+ +new Date}function H(){return+new Date}var J,K=Math.floor(20*Math.random());J=function(a,c){return 0++K?K:K=1))||a};function ga(a,c){function b(){f+c>H()?(clearTimeout(d),d=setTimeout(b,c)):(f=H(),a())}var d,f=0;return b}function ha(a,c){var b=[];M(a||[],function(a){c(a)&&b.push(a)});return b} +function ia(a,c){return a.replace(ea,function(a,d){return c[d]||a})}function L(a){var c="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var c=16*Math.random()|0;return("x"==a?c:c&3|8).toString(16)});a&&a(c);return c}function M(a,c){if(a&&c)if("undefined"!=typeof a[0])for(var b=0,d=a.length;b"-_.!~*'()".indexOf(a)?a:"%"+a.charCodeAt(0).toString(16).toUpperCase()}).join("")}function P(a){var c=[];M(a,function(a,d){d.g&&c.push(a)});return c.sort()}function ja(){setTimeout(function(){r||(r=1,M(w,function(a){a()}))},A)} +function S(a){function c(a){f||(f=1,clearTimeout(e),d&&(d.onerror=d.onload=null,d.abort&&d.abort(),d=null),a&&Q())}function b(){if(!t){t=1;clearTimeout(e);try{response=JSON.parse(d.responseText)}catch(a){return c(1)}C(response)}}var d,f=0,t=0,e;e=setTimeout(function(){c(1)},T);var D=a.data||{},Q=a.b||l(),C=a.c||l();try{d="undefined"!==typeof XDomainRequest&&new XDomainRequest||new XMLHttpRequest;d.onerror=d.onabort=function(){c(1)};d.onload=d.onloadend=b;d.timeout=T;D.pnsdk=ka;var i=a.url.join("/"); +if(D){var g=[],i=i+"?",u;for(u in D)g.push(u+"="+D[u]);i+=g.join("&")}url=i;d.open("GET",url,!0);d.send()}catch(E){return c(0),S(a)}return c}function U(a,c,b){M(a.split(","),function(a){function f(a){a||(a=window.event);b(a)||(a.cancelBubble=!0,a.returnValue=k,a.preventDefault&&a.preventDefault(),a.stopPropagation&&a.stopPropagation())}c.addEventListener?c.addEventListener(a,f,k):c.attachEvent?c.attachEvent("on"+a,f):c["on"+a]=f})}function la(a){console.error(a)} +function ma(a,c,b){if(b)a.setAttribute(c,b);else return a&&a.getAttribute&&a.getAttribute(c)}function na(a){return document.getElementById(a)}function oa(a,c){var b=[];M(a.split(/\s+/),function(a){M((c||document).getElementsByTagName(a),function(a){b.push(a)})});return b}function pa(a,c){for(var b in c)if(c.hasOwnProperty(b))try{a.style[b]=c[b]+(0<"|width|height|top|left|".indexOf(b)&&"number"==typeof c[b]?"px":"")}catch(d){}}function qa(a){return document.createElement(a)} +function V(a){function c(){}function b(){n.time(function(a){a||x&&x(1);setTimeout(b,C)})}function d(){ra()||x&&x(1);setTimeout(d,A)}function f(a){M(P(p),function(b){(b=p[b])&&a(b)})}function t(a){a&&(s.h=0);!s.h&&s.length&&(s.h=1,v(s.shift()))}a.db=W;a.xdr=S;a.error=la;var e,D=+a.windowing||10,Q=(+a.timeout||310)*A,C=(+a.keepalive||60)*A,i=a.publish_key||"",g=a.subscribe_key||"",u=a.ssl?"s":"",E="http"+u+"://"+(a.origin||"pubsub.pubnub.com"),B=J(E),Z=J(E),s=[],$=0,aa=0,x=0,R=0,ba=0,I=0,p={},v=a.xdr, +h=a.error||l(),ra=a._is_online||function(){return 1},y=a.jsonp_cb||function(){return 0},F=a.db||{get:l(),set:l()},G=a.uuid||F&&F.get(g+"uuid")||"",n={LEAVE:function(a,b){var c={uuid:G},d=J(E),q=y();0++J?J:J=1))||a}; -function ga(a,c){function b(){e+c>F()?(clearTimeout(d),d=setTimeout(b,c)):(e=F(),a())}var d,e=0;return b}function ha(a,c){var b=[];K(a||[],function(a){c(a)&&b.push(a)});return b}function ia(a,c){return a.replace(ea,function(a,d){return c[d]||a})}function fa(a){var c="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var c=16*Math.random()|0;return("x"==a?c:c&3|8).toString(16)});a&&a(c);return c} -function K(a,c){if(a&&c)if("undefined"!=typeof a[0])for(var b=0,d=a.length;b"-_.!~*'()".indexOf(a)?a:"%"+a.charCodeAt(0).toString(16).toUpperCase()}).join("")}function ja(a){var c=[];K(a,function(a,d){d.g&&c.push(a)});return c.sort()} -function O(){setTimeout(function(){u||(u=1,K(ca,function(a){a()}))},B)} -if(!window.PUBNUB){var Q=function(a){return document.getElementById(a)},ka=function(a){console.error(a)},la=function(a,c){var b=[];K(a.split(/\s+/),function(a){K((c||document).getElementsByTagName(a),function(a){b.push(a)})});return b},R=function(a,c,b){K(a.split(","),function(a){function e(a){a||(a=window.event);b(a)||(a.cancelBubble=!0,a.returnValue=q,a.preventDefault&&a.preventDefault(),a.stopPropagation&&a.stopPropagation())}c.addEventListener?c.addEventListener(a,e,q):c.attachEvent?c.attachEvent("on"+ -a,e):c["on"+a]=e})},na=function(){return la("head")[0]},S=function(a,c,b){if(b)a.setAttribute(c,b);else return a&&a.getAttribute&&a.getAttribute(c)},oa=function(a,c){for(var b in c)if(c.hasOwnProperty(b))try{a.style[b]=c[b]+(0<"|width|height|top|left|".indexOf(b)&&"number"==typeof c[b]?"px":"")}catch(d){}},pa=function(a){return document.createElement(a)},qa=function(){return T||W()?0:D()},va=function(a){function c(a,b){s||(s=1,a||v(b),l.onerror=n,clearTimeout(U),setTimeout(function(){a&&V();var b= -Q(i),c=b&&b.parentNode;c&&c.removeChild(b)},B))}if(T||W()){a:{var b,d,e=function(){if(!w){w=1;clearTimeout(P);try{d=JSON.parse(b.responseText)}catch(a){return h(1)}k(d)}},m=0,w=0,f=a.timeout||1E4,P=setTimeout(function(){h(1)},f),E=a.b||t(),k=a.c||t(),h=function(a){m||(m=1,clearTimeout(P),b&&(b.onerror=b.onload=n,b.abort&&b.abort(),b=n),a&&E())};try{b=W()||window.XDomainRequest&&new XDomainRequest||new XMLHttpRequest;b.onerror=b.onabort=function(){h(1)};b.onload=b.onloadend=e;b.timeout=f;var g=a.url.join(ta); -if(a.data){var e=[],r,g=g+"?";for(r in a.data)e.push(r+"="+a.data[r]);g+=e.join(ua)}b.open("GET",g,typeof("undefined"===a.h));b.send()}catch(j){h(0);T=0;a=va(a);break a}a=h}return a}var l=pa("script"),g=a.a,i=D(),s=0,U=setTimeout(function(){c(1)},a.timeout||1E4),V=a.b||t(),v=a.c||t();window[g]=function(a){c(0,a)};a.h||(l[wa]=wa);l.onerror=function(){c(1)};l.src=a.url.join(ta);if(a.data){g=[];l.src+="?";for(e in a.data)g.push(e+"="+a.data[e]);l.src+=g.join(ua)}S(l,"id",i);na().appendChild(l);return c}, -xa=function(){return!("onLine"in navigator)?1:navigator.onLine},W=function(){if(!ya||!ya.get)return 0;var a={id:W.id++,send:t(),abort:function(){a.id={}},open:function(c,b){W[a.id]=a;ya.get(a.id,b)}};return a},wa="async",ta="/",ua="&",T=-1==navigator.userAgent.indexOf("MSIE 6");window.console||(window.console=window.console||{});console.log||(console.log=console.error=(window.opera||{}).postError||t());var za,X=window.localStorage;za={get:function(a){try{return X?X.getItem(a):-1==document.cookie.indexOf(a)? -n:((document.cookie||"").match(RegExp(a+"=([^;]+)"))||[])[1]||n}catch(c){}},set:function(a,c){try{if(X)return X.setItem(a,c)&&0;document.cookie=a+"="+c+"; expires=Thu, 1 Aug 2030 20:00:00 UTC; path=/"}catch(b){}}};var Y={list:{},unbind:function(a){Y.list[a]=[]},bind:function(a,c){(Y.list[a]=Y.list[a]||[]).push(c)},fire:function(a,c){K(Y.list[a]||[],function(a){a(c)})}},Z=Q("pubnub")||0,Aa=function(a){function c(){}function b(){z.time(function(a){a||v&&v(1);setTimeout(b,k)})}function d(){da()||v&& -v(1);setTimeout(d,B)}function e(a){K(ja(y),function(b){(b=y[b])&&a(b)})}function m(a){a&&(s.i=0);!s.i&&s.length&&(s.i=1,A(s.shift()))}a.jsonp&&(T=0);var w=a.subscribe_key||"";a.uuid||za.get(w+"uuid");a.xdr=va;a.db=za;a.error=ka;a._is_online=xa;a.jsonp_cb=qa;var f,P=+a.windowing||10,E=(+a.timeout||310)*B,k=(+a.keepalive||60)*B,h=a.publish_key||"",g=a.subscribe_key||"",r=a.ssl?"s":"",j="http"+r+"://"+(a.origin||"pubsub.pubnub.com"),l=G(j),i=G(j),s=[],U=0,V=0,v=0,aa=0,ma=0,L=0,y={},A=a.xdr,p=a.error|| -t(),da=a._is_online||function(){return 1},C=a.jsonp_cb||function(){return 0},H=a.db||{get:t(),set:t()},I=a.uuid||H&&H.get(g+"uuid")||"",z={LEAVE:function(a,b){var c={uuid:I},d=G(j),e=C();0++J?J:J=1))||a}; +function ia(a,c){var b=a.join(ea);if(c){var d=[],b=b+"?",e;for(e in c)d.push(e+"="+c[e]);b+=d.join(fa)}return b}function ja(a,c){function b(){e+c>E()?(clearTimeout(d),d=setTimeout(b,c)):(e=E(),a())}var d,e=0;return b}function ka(a,c){var b=[];K(a||[],function(a){c(a)&&b.push(a)});return b}function la(a,c){return a.replace(ga,function(a,d){return c[d]||a})} +function ha(a){var c="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var c=16*Math.random()|0;return("x"==a?c:c&3|8).toString(16)});a&&a(c);return c}function K(a,c){if(a&&c)if("undefined"!=typeof a[0])for(var b=0,d=a.length;b"-_.!~*'()".indexOf(a)?a:"%"+a.charCodeAt(0).toString(16).toUpperCase()}).join("")}function ma(a){var c=[];K(a,function(a,d){d.g&&c.push(a)});return c.sort()}function O(){setTimeout(function(){u||(u=1,K(ca,function(a){a()}))},B)} +if(!window.PUBNUB){var Q=function(a){return document.getElementById(a)},oa=function(a){console.error(a)},pa=function(a,c){var b=[];K(a.split(/\s+/),function(a){K((c||document).getElementsByTagName(a),function(a){b.push(a)})});return b},R=function(a,c,b){K(a.split(","),function(a){function e(a){a||(a=window.event);b(a)||(a.cancelBubble=!0,a.returnValue=q,a.preventDefault&&a.preventDefault(),a.stopPropagation&&a.stopPropagation())}c.addEventListener?c.addEventListener(a,e,q):c.attachEvent?c.attachEvent("on"+ +a,e):c["on"+a]=e})},qa=function(){return pa("head")[0]},S=function(a,c,b){if(b)a.setAttribute(c,b);else return a&&a.getAttribute&&a.getAttribute(c)},ta=function(a,c){for(var b in c)if(c.hasOwnProperty(b))try{a.style[b]=c[b]+(0<"|width|height|top|left|".indexOf(b)&&"number"==typeof c[b]?"px":"")}catch(d){}},ua=function(a){return document.createElement(a)},va=function(){return T||W()?0:C()},xa=function(a){function c(a,b){r||(r=1,a||v(b),m.onerror=n,clearTimeout(U),setTimeout(function(){a&&V();var b= +Q(h),c=b&&b.parentNode;c&&c.removeChild(b)},B))}if(T||W()){a:{var b,d,e=function(){if(!w){w=1;clearTimeout(P);try{d=JSON.parse(b.responseText)}catch(a){return i(1)}j(d)}},l=0,w=0,f=a.timeout||1E4,P=setTimeout(function(){i(1)},f),F=a.b||s(),g=a.data||{},j=a.c||s(),i=function(a){l||(l=1,clearTimeout(P),b&&(b.onerror=b.onload=n,b.abort&&b.abort(),b=n),a&&F())};try{b=W()||window.XDomainRequest&&new XDomainRequest||new XMLHttpRequest;b.onerror=b.onabort=function(){i(1)};b.onload=b.onloadend=e;b.timeout= +f;g.pnsdk=wa;var t=ia(a.url,g);b.open("GET",t,typeof("undefined"===a.h));b.send()}catch(k){i(0);T=0;a=xa(a);break a}a=i}return a}var m=ua("script"),e=a.a,h=C(),r=0,U=setTimeout(function(){c(1)},a.timeout||1E4),V=a.b||s(),f=a.data||{},v=a.c||s();window[e]=function(a){c(0,a)};a.h||(m[ya]=ya);m.onerror=function(){c(1)};f.pnsdk=wa;m.src=ia(a.url,f);S(m,"id",h);qa().appendChild(m);return c},za=function(){return!("onLine"in navigator)?1:navigator.onLine},W=function(){if(!Aa||!Aa.get)return 0;var a={id:W.id++, +send:s(),abort:function(){a.id={}},open:function(c,b){W[a.id]=a;Aa.get(a.id,b)}};return a},ya="async",Ba=navigator.userAgent,wa=N("PubNub-JS-Web/3.4.4"),T=-1==Ba.indexOf("MSIE 6");window.console||(window.console=window.console||{});console.log||(console.log=console.error=(window.opera||{}).postError||s());var Ca,X=window.localStorage;Ca={get:function(a){try{return X?X.getItem(a):-1==document.cookie.indexOf(a)?n:((document.cookie||"").match(RegExp(a+"=([^;]+)"))||[])[1]||n}catch(c){}},set:function(a, +c){try{if(X)return X.setItem(a,c)&&0;document.cookie=a+"="+c+"; expires=Thu, 1 Aug 2030 20:00:00 UTC; path=/"}catch(b){}}};var Y={list:{},unbind:function(a){Y.list[a]=[]},bind:function(a,c){(Y.list[a]=Y.list[a]||[]).push(c)},fire:function(a,c){K(Y.list[a]||[],function(a){a(c)})}},Z=Q("pubnub")||0,Da=function(a){function c(){}function b(){z.time(function(a){a||v&&v(1);setTimeout(b,g)})}function d(){da()||v&&v(1);setTimeout(d,B)}function e(a){K(ma(y),function(b){(b=y[b])&&a(b)})}function l(a){a&&(r.i= +0);!r.i&&r.length&&(r.i=1,A(r.shift()))}a.jsonp&&(T=0);var w=a.subscribe_key||"";a.uuid||Ca.get(w+"uuid");a.xdr=xa;a.db=Ca;a.error=oa;a._is_online=za;a.jsonp_cb=va;var f,P=+a.windowing||10,F=(+a.timeout||310)*B,g=(+a.keepalive||60)*B,j=a.publish_key||"",i=a.subscribe_key||"",t=a.ssl?"s":"",k="http"+t+"://"+(a.origin||"pubsub.pubnub.com"),m=G(k),h=G(k),r=[],U=0,V=0,v=0,aa=0,na=0,L=0,y={},A=a.xdr,p=a.error||s(),da=a._is_online||function(){return 1},D=a.jsonp_cb||function(){return 0},H=a.db||{get:s(), +set:s()},I=a.uuid||H&&H.get(i+"uuid")||"",z={LEAVE:function(a,b){var c={uuid:I},d=G(k),e=D();0 $(PUBNUB_JS) cat $(JSON_JS) $(PUBNUB_COMMON_JS) $(PUBNUB_PLATFORM_JS) $(WEBSOCKET_JS) >> $(PUBNUB_JS) + sed -i -e "s/VERSION/\'$(VERSION)\'/g" $(PUBNUB_JS) + sed -i -e "s/PLATFORM/\'$(PLATFORM)\'/g" $(PUBNUB_JS) ## Minfied Version $(ECHO) "// Version: $(VERSION)" > $(PUBNUB_MIN_JS) $(ECHO) "(function(){" >> $(PUBNUB_MIN_JS) @@ -26,3 +29,5 @@ $(PUBNUB_CRYPTO_MIN_JS) : $(GIBBERISH_JS) $(ENCRYPTO_JS) .PHONY : clean clean: rm -f $(OUTPUT_FILES) + +include ../Makefile.post diff --git a/web/pubnub.js b/web/pubnub.js index 198ad0f0c..14a885ec2 100644 --- a/web/pubnub.js +++ b/web/pubnub.js @@ -158,6 +158,8 @@ var NOW = 1 , DEF_SUB_TIMEOUT = 310 // SECONDS. , DEF_KEEPALIVE = 60 // SECONDS. , SECOND = 1000 // A THOUSAND MILLISECONDS. +, URLBIT = '/' +, PARAMSBIT = '&' , REPL = /{([\w\-]+)}/g; /** @@ -184,6 +186,26 @@ var nextorigin = (function() { } })(); + +/** + * Build Url + * ======= + * + */ +function build_url(url_components, url_params) { + var url = url_components.join(URLBIT); + + if (url_params) { + var params = []; + url += "?"; + for (var key in url_params) { + params.push(key+"="+url_params[key]); + } + url += params.join(PARAMSBIT); + } + return url; +} + /** * UPDATER * ======= @@ -357,7 +379,7 @@ function PN_API(setup) { // Announce Leave Event var SELF = { 'LEAVE' : function( channel, blocking ) { - var data = { 'uuid' : UUID } + var data = { 'uuid' : UUID} , origin = nextorigin(ORIGIN) , jsonp = jsonp_cb(); @@ -366,6 +388,7 @@ function PN_API(setup) { if (jsonp != '0') data['callback'] = jsonp; + xdr({ blocking : blocking || SSL, timeout : 2000, @@ -828,11 +851,10 @@ window['PUBNUB'] || (function() { * UTIL LOCALS */ -var SWF = 'https://pubnub.a.ssl.fastly.net/pubnub.swf' +var SWF = 'https://pubnub.a.ssl.fastly.net/pubnub.swf' , ASYNC = 'async' -, URLBIT = '/' -, PARAMSBIT = '&' , UA = navigator.userAgent +, PNSDK = encode('PubNub-JS-' + 'Web' + '/' + '3.4.4') , XORIGN = UA.indexOf('MSIE 6') == -1; /** @@ -1033,6 +1055,7 @@ function xdr( setup ) { , xhrtme = setup.timeout || DEF_TIMEOUT , timer = timeout( function(){done(1)}, xhrtme ) , fail = setup.fail || function(){} + , data = setup.data || {} , success = setup.success || function(){} , append = function() { @@ -1062,16 +1085,9 @@ function xdr( setup ) { if (!setup.blocking) script[ASYNC] = ASYNC; script.onerror = function() { done(1) }; - script.src = setup.url.join(URLBIT); + data['pnsdk'] = PNSDK; + script.src = build_url(setup.url,data); - if (setup.data) { - var params = []; - script.src += "?"; - for (var key in setup.data) { - params.push(key+"="+setup.data[key]); - } - script.src += params.join(PARAMSBIT); - } attr( script, 'id', id ); append(); @@ -1105,6 +1121,7 @@ function ajax( setup ) { , xhrtme = setup.timeout || DEF_TIMEOUT , timer = timeout( function(){done(1)}, xhrtme ) , fail = setup.fail || function(){} + , data = setup.data || {} , success = setup.success || function(){} , done = function(failed) { if (complete) return; @@ -1132,13 +1149,8 @@ function ajax( setup ) { xhr.onload = xhr.onloadend = finished; xhr.timeout = xhrtme; - var url = setup.url.join(URLBIT); - if (setup.data) { - var params = [], key; - url += "?"; - for (key in setup.data) params.push(key+"="+setup.data[key]); - url += params.join(PARAMSBIT); - } + data['pnsdk'] = PNSDK; + var url = build_url(setup.url,data); xhr.open( 'GET', url, (typeof(setup.blocking === 'undefined')) ); xhr.send(); diff --git a/web/pubnub.min.js b/web/pubnub.min.js index 259462645..2bfb5a4c5 100644 --- a/web/pubnub.min.js +++ b/web/pubnub.min.js @@ -1,31 +1,31 @@ // Version: 3.4.4 (function(){ -var n=null,q=!1;function t(){return function(){}} -window.JSON&&window.JSON.stringify||function(){function a(){try{return this.valueOf()}catch(a){return n}}function c(a){d.lastIndex=0;return d.test(a)?'"'+a.replace(d,function(a){var b=w[a];return"string"===typeof b?b:"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+a+'"'}function b(d,E){var k,h,g,r,j,l=e,i=E[d];i&&"object"===typeof i&&(i=a.call(i));"function"===typeof f&&(i=f.call(E,d,i));switch(typeof i){case "string":return c(i);case "number":return isFinite(i)?String(i):"null";case "boolean":case "null":return String(i); -case "object":if(!i)return"null";e+=m;j=[];if("[object Array]"===Object.prototype.toString.apply(i)){r=i.length;for(k=0;k++J?J:J=1))||a}; -function ga(a,c){function b(){e+c>F()?(clearTimeout(d),d=setTimeout(b,c)):(e=F(),a())}var d,e=0;return b}function ha(a,c){var b=[];K(a||[],function(a){c(a)&&b.push(a)});return b}function ia(a,c){return a.replace(ea,function(a,d){return c[d]||a})}function fa(a){var c="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var c=16*Math.random()|0;return("x"==a?c:c&3|8).toString(16)});a&&a(c);return c} -function K(a,c){if(a&&c)if("undefined"!=typeof a[0])for(var b=0,d=a.length;b"-_.!~*'()".indexOf(a)?a:"%"+a.charCodeAt(0).toString(16).toUpperCase()}).join("")}function ja(a){var c=[];K(a,function(a,d){d.g&&c.push(a)});return c.sort()} -function O(){setTimeout(function(){u||(u=1,K(ca,function(a){a()}))},B)} -if(!window.PUBNUB){var Q=function(a){return document.getElementById(a)},ka=function(a){console.error(a)},la=function(a,c){var b=[];K(a.split(/\s+/),function(a){K((c||document).getElementsByTagName(a),function(a){b.push(a)})});return b},R=function(a,c,b){K(a.split(","),function(a){function e(a){a||(a=window.event);b(a)||(a.cancelBubble=!0,a.returnValue=q,a.preventDefault&&a.preventDefault(),a.stopPropagation&&a.stopPropagation())}c.addEventListener?c.addEventListener(a,e,q):c.attachEvent?c.attachEvent("on"+ -a,e):c["on"+a]=e})},na=function(){return la("head")[0]},S=function(a,c,b){if(b)a.setAttribute(c,b);else return a&&a.getAttribute&&a.getAttribute(c)},oa=function(a,c){for(var b in c)if(c.hasOwnProperty(b))try{a.style[b]=c[b]+(0<"|width|height|top|left|".indexOf(b)&&"number"==typeof c[b]?"px":"")}catch(d){}},pa=function(a){return document.createElement(a)},qa=function(){return T||W()?0:D()},va=function(a){function c(a,b){s||(s=1,a||v(b),l.onerror=n,clearTimeout(U),setTimeout(function(){a&&V();var b= -Q(i),c=b&&b.parentNode;c&&c.removeChild(b)},B))}if(T||W()){a:{var b,d,e=function(){if(!w){w=1;clearTimeout(P);try{d=JSON.parse(b.responseText)}catch(a){return h(1)}k(d)}},m=0,w=0,f=a.timeout||1E4,P=setTimeout(function(){h(1)},f),E=a.b||t(),k=a.c||t(),h=function(a){m||(m=1,clearTimeout(P),b&&(b.onerror=b.onload=n,b.abort&&b.abort(),b=n),a&&E())};try{b=W()||window.XDomainRequest&&new XDomainRequest||new XMLHttpRequest;b.onerror=b.onabort=function(){h(1)};b.onload=b.onloadend=e;b.timeout=f;var g=a.url.join(ta); -if(a.data){var e=[],r,g=g+"?";for(r in a.data)e.push(r+"="+a.data[r]);g+=e.join(ua)}b.open("GET",g,typeof("undefined"===a.h));b.send()}catch(j){h(0);T=0;a=va(a);break a}a=h}return a}var l=pa("script"),g=a.a,i=D(),s=0,U=setTimeout(function(){c(1)},a.timeout||1E4),V=a.b||t(),v=a.c||t();window[g]=function(a){c(0,a)};a.h||(l[wa]=wa);l.onerror=function(){c(1)};l.src=a.url.join(ta);if(a.data){g=[];l.src+="?";for(e in a.data)g.push(e+"="+a.data[e]);l.src+=g.join(ua)}S(l,"id",i);na().appendChild(l);return c}, -xa=function(){return!("onLine"in navigator)?1:navigator.onLine},W=function(){if(!ya||!ya.get)return 0;var a={id:W.id++,send:t(),abort:function(){a.id={}},open:function(c,b){W[a.id]=a;ya.get(a.id,b)}};return a},wa="async",ta="/",ua="&",T=-1==navigator.userAgent.indexOf("MSIE 6");window.console||(window.console=window.console||{});console.log||(console.log=console.error=(window.opera||{}).postError||t());var za,X=window.localStorage;za={get:function(a){try{return X?X.getItem(a):-1==document.cookie.indexOf(a)? -n:((document.cookie||"").match(RegExp(a+"=([^;]+)"))||[])[1]||n}catch(c){}},set:function(a,c){try{if(X)return X.setItem(a,c)&&0;document.cookie=a+"="+c+"; expires=Thu, 1 Aug 2030 20:00:00 UTC; path=/"}catch(b){}}};var Y={list:{},unbind:function(a){Y.list[a]=[]},bind:function(a,c){(Y.list[a]=Y.list[a]||[]).push(c)},fire:function(a,c){K(Y.list[a]||[],function(a){a(c)})}},Z=Q("pubnub")||0,Aa=function(a){function c(){}function b(){z.time(function(a){a||v&&v(1);setTimeout(b,k)})}function d(){da()||v&& -v(1);setTimeout(d,B)}function e(a){K(ja(y),function(b){(b=y[b])&&a(b)})}function m(a){a&&(s.i=0);!s.i&&s.length&&(s.i=1,A(s.shift()))}a.jsonp&&(T=0);var w=a.subscribe_key||"";a.uuid||za.get(w+"uuid");a.xdr=va;a.db=za;a.error=ka;a._is_online=xa;a.jsonp_cb=qa;var f,P=+a.windowing||10,E=(+a.timeout||310)*B,k=(+a.keepalive||60)*B,h=a.publish_key||"",g=a.subscribe_key||"",r=a.ssl?"s":"",j="http"+r+"://"+(a.origin||"pubsub.pubnub.com"),l=G(j),i=G(j),s=[],U=0,V=0,v=0,aa=0,ma=0,L=0,y={},A=a.xdr,p=a.error|| -t(),da=a._is_online||function(){return 1},C=a.jsonp_cb||function(){return 0},H=a.db||{get:t(),set:t()},I=a.uuid||H&&H.get(g+"uuid")||"",z={LEAVE:function(a,b){var c={uuid:I},d=G(j),e=C();0++J?J:J=1))||a}; +function ia(a,c){var b=a.join(ea);if(c){var d=[],b=b+"?",e;for(e in c)d.push(e+"="+c[e]);b+=d.join(fa)}return b}function ja(a,c){function b(){e+c>E()?(clearTimeout(d),d=setTimeout(b,c)):(e=E(),a())}var d,e=0;return b}function ka(a,c){var b=[];K(a||[],function(a){c(a)&&b.push(a)});return b}function la(a,c){return a.replace(ga,function(a,d){return c[d]||a})} +function ha(a){var c="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var c=16*Math.random()|0;return("x"==a?c:c&3|8).toString(16)});a&&a(c);return c}function K(a,c){if(a&&c)if("undefined"!=typeof a[0])for(var b=0,d=a.length;b"-_.!~*'()".indexOf(a)?a:"%"+a.charCodeAt(0).toString(16).toUpperCase()}).join("")}function ma(a){var c=[];K(a,function(a,d){d.g&&c.push(a)});return c.sort()}function O(){setTimeout(function(){u||(u=1,K(ca,function(a){a()}))},B)} +if(!window.PUBNUB){var Q=function(a){return document.getElementById(a)},oa=function(a){console.error(a)},pa=function(a,c){var b=[];K(a.split(/\s+/),function(a){K((c||document).getElementsByTagName(a),function(a){b.push(a)})});return b},R=function(a,c,b){K(a.split(","),function(a){function e(a){a||(a=window.event);b(a)||(a.cancelBubble=!0,a.returnValue=q,a.preventDefault&&a.preventDefault(),a.stopPropagation&&a.stopPropagation())}c.addEventListener?c.addEventListener(a,e,q):c.attachEvent?c.attachEvent("on"+ +a,e):c["on"+a]=e})},qa=function(){return pa("head")[0]},S=function(a,c,b){if(b)a.setAttribute(c,b);else return a&&a.getAttribute&&a.getAttribute(c)},ta=function(a,c){for(var b in c)if(c.hasOwnProperty(b))try{a.style[b]=c[b]+(0<"|width|height|top|left|".indexOf(b)&&"number"==typeof c[b]?"px":"")}catch(d){}},ua=function(a){return document.createElement(a)},va=function(){return T||W()?0:C()},xa=function(a){function c(a,b){r||(r=1,a||v(b),m.onerror=n,clearTimeout(U),setTimeout(function(){a&&V();var b= +Q(h),c=b&&b.parentNode;c&&c.removeChild(b)},B))}if(T||W()){a:{var b,d,e=function(){if(!w){w=1;clearTimeout(P);try{d=JSON.parse(b.responseText)}catch(a){return i(1)}j(d)}},l=0,w=0,f=a.timeout||1E4,P=setTimeout(function(){i(1)},f),F=a.b||s(),g=a.data||{},j=a.c||s(),i=function(a){l||(l=1,clearTimeout(P),b&&(b.onerror=b.onload=n,b.abort&&b.abort(),b=n),a&&F())};try{b=W()||window.XDomainRequest&&new XDomainRequest||new XMLHttpRequest;b.onerror=b.onabort=function(){i(1)};b.onload=b.onloadend=e;b.timeout= +f;g.pnsdk=wa;var t=ia(a.url,g);b.open("GET",t,typeof("undefined"===a.h));b.send()}catch(k){i(0);T=0;a=xa(a);break a}a=i}return a}var m=ua("script"),e=a.a,h=C(),r=0,U=setTimeout(function(){c(1)},a.timeout||1E4),V=a.b||s(),f=a.data||{},v=a.c||s();window[e]=function(a){c(0,a)};a.h||(m[ya]=ya);m.onerror=function(){c(1)};f.pnsdk=wa;m.src=ia(a.url,f);S(m,"id",h);qa().appendChild(m);return c},za=function(){return!("onLine"in navigator)?1:navigator.onLine},W=function(){if(!Aa||!Aa.get)return 0;var a={id:W.id++, +send:s(),abort:function(){a.id={}},open:function(c,b){W[a.id]=a;Aa.get(a.id,b)}};return a},ya="async",Ba=navigator.userAgent,wa=N("PubNub-JS-Web/3.4.4"),T=-1==Ba.indexOf("MSIE 6");window.console||(window.console=window.console||{});console.log||(console.log=console.error=(window.opera||{}).postError||s());var Ca,X=window.localStorage;Ca={get:function(a){try{return X?X.getItem(a):-1==document.cookie.indexOf(a)?n:((document.cookie||"").match(RegExp(a+"=([^;]+)"))||[])[1]||n}catch(c){}},set:function(a, +c){try{if(X)return X.setItem(a,c)&&0;document.cookie=a+"="+c+"; expires=Thu, 1 Aug 2030 20:00:00 UTC; path=/"}catch(b){}}};var Y={list:{},unbind:function(a){Y.list[a]=[]},bind:function(a,c){(Y.list[a]=Y.list[a]||[]).push(c)},fire:function(a,c){K(Y.list[a]||[],function(a){a(c)})}},Z=Q("pubnub")||0,Da=function(a){function c(){}function b(){z.time(function(a){a||v&&v(1);setTimeout(b,g)})}function d(){da()||v&&v(1);setTimeout(d,B)}function e(a){K(ma(y),function(b){(b=y[b])&&a(b)})}function l(a){a&&(r.i= +0);!r.i&&r.length&&(r.i=1,A(r.shift()))}a.jsonp&&(T=0);var w=a.subscribe_key||"";a.uuid||Ca.get(w+"uuid");a.xdr=xa;a.db=Ca;a.error=oa;a._is_online=za;a.jsonp_cb=va;var f,P=+a.windowing||10,F=(+a.timeout||310)*B,g=(+a.keepalive||60)*B,j=a.publish_key||"",i=a.subscribe_key||"",t=a.ssl?"s":"",k="http"+t+"://"+(a.origin||"pubsub.pubnub.com"),m=G(k),h=G(k),r=[],U=0,V=0,v=0,aa=0,na=0,L=0,y={},A=a.xdr,p=a.error||s(),da=a._is_online||function(){return 1},D=a.jsonp_cb||function(){return 0},H=a.db||{get:s(), +set:s()},I=a.uuid||H&&H.get(i+"uuid")||"",z={LEAVE:function(a,b){var c={uuid:I},d=G(k),e=D();0 $(PUBNUB_JS) + cat $(PUBNUB_COMMON_JS) $(MODERN_PLATFORM_JS) $(WEBSOCKET_JS) >> $(PUBNUB_JS) + sed -i -e "s/VERSION/\'$(VERSION)\'/g" $(PUBNUB_JS) + sed -i -e "s/PLATFORM/\'$(PLATFORM)\'/g" $(PUBNUB_JS) + ## Minfied Version + $(ECHO) "// Version: $(VERSION)" > $(PUBNUB_MIN_JS) + $(ECHO) "(function(){" >> $(PUBNUB_MIN_JS) + cat $(PUBNUB_JS) | java -jar $(GOOGLE_MINIFY) --compilation_level=ADVANCED_OPTIMIZATIONS >> $(PUBNUB_MIN_JS) + $(ECHO) "})();" >> $(PUBNUB_MIN_JS) + +$(PUBNUB_CRYPTO_MIN_JS) : $(GIBBERISH_JS) $(ENCRYPTO_JS) + ## Cryptography + $(ECHO) "(function(){" > $(PUBNUB_CRYPTO_MIN_JS) + cat $(GIBBERISH_JS) $(ENCRYPT_JS) | java -jar $(GOOGLE_MINIFY) >> $(PUBNUB_CRYPTO_MIN_JS) + $(ECHO) "})();" >> $(PUBNUB_CRYPTO_MIN_JS) + +.PHONY : clean +clean: + rm -f $(OUTPUT_FILES) + +include ../Makefile.post diff --git a/webos/index.html b/webos/index.html index ca9734a4e..669eea67d 100644 --- a/webos/index.html +++ b/webos/index.html @@ -46,7 +46,7 @@
- + diff --git a/examples/audio-mosaic/audio-mosaic.html b/examples/audio-mosaic/audio-mosaic.html index d6b488b49..c56cdc777 100644 --- a/examples/audio-mosaic/audio-mosaic.html +++ b/examples/audio-mosaic/audio-mosaic.html @@ -1,14 +1,14 @@ - - - - PubNub Audio Mosaic + + + + PubNub Audio Mosaic - +

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 z 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 Vl&Pa*A%6e>002ovPDHLkV1l92(mMbE literal 0 HcmV?d00001 diff --git a/titanium/examples/mobile/here-now-example-app/Resources/iphone/Default.png b/titanium/examples/mobile/here-now-example-app/Resources/iphone/Default.png new file mode 100644 index 0000000000000000000000000000000000000000..b41d4a9068d6a9c9cf7b98977d20653b4e104501 GIT binary patch literal 114262 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%0AId`Um+nQld&d$E9$L_8CbF#8>`@U0M`x9 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

|Fs0|>v<=5iv6xX`dv(>mF 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�JJLr=;QtP zsWpQxcQ4!Ehq?{EazAYlUIfiuU|tQK#Mc)oV38npg6`GYs$HA=7^7=FMB3J_<;H4u zooNiH-q=y=QRXBY+7%9}BTwu_05{tmSP{Y}^Kng6yo8uvH1{edN*lo}scl{_t)+KO9B`j(9 zecYad_*>(6i7d%F^q~xMk|a)mhB0BWNDQs!Z;ty}6ojcF2L+KuNl+tzq{wFgl&c|D z7ppipXvD}^ZjprM6l+t`Ose$ekpy1k6l{yMKft0VS40xX$FKHK-Lr-_aEX_c_-*UcjF4OY7?N#V{JigNjTdEKMg2TD(J_q5aCHFU&=*)FlfFIfQ?wXIof<}&W%%P>Ma5unEmXFKl{053u&#$$yA zH6j3rviocnHm-3h*pac>+O0mG0c$J|2N+d(!(_4!3`wg_z^iP%4pIu}BQ{aZgha`t z9+T`P463s69Fw`T?2?;@*e^<%gA`q9uT_^`yuwwJQ~eoptENiF3DX7%nS^XteV(8z8B0u>mUG%#L+2y{@hcjE*F!HNKxWovs)lX-^dU6a3tR}EqR45A>7Hbfwg6)5(Vw-- z3Olo6^NvL;?Z!}Dr*7g&He;(U-yDMiAmvDuxtXOxQ9}#Of=!7**#-=;^AiEILQ)?g ztRgLs)Z{(wV)i4A!8__{NJAgg#XWHXLo>4JLI4T02dGU=-=x@JGlQp#m4=X0I6xi4P{8x7>=%)gh_cfhm zg+1>|qo3oO{o&>Pu)?1I{h$3W|N6DVF0fbk{p-6@D^wVu-C$>dSvB?NN-q6*-vCg# zYVyklVMWkSZSywEwwFVQ(xz?230-nTf2lqrCJv@p5UMzdARV>noBD=e%9X^66#&zJ z+B%!`4J#eop0lQ)c2$zX=f@isLK)`!OLx7tn zXsfc3WgziYsU|G(F`J;4KztYAf^vjm4waydJy()3n!1p@*qSO>Rocf}H3axT(mT3m zS-}8*f5LIjF}h8rS-~`)*av6HHIn);4J4X2soT4Svr~F>M${`G&XzFkzT9eA;+!`8 z?ktsslf?J)2288nSY&tAgpDQ}G9z(L3s|4H5SRybrAyof!P!e7HPX!b7W%%5Frabx zVp<3g&$Q~>kWV+Sn3t76`lhqTHAVI=#ZKyO07>~vbrWi)l!HXRvOfjTrrH-*a{<#e$Wy9C_|%+9JC0cxughVL+AcYzIl#> z8}<2b^36A4&CPuCKIEGr7735*9a{ABU*?j6T*m@(|ytfe{M-E0!SwPQ2 zx5z2(0t@I0aim8xOw}dF44Kq&azQF8bqXD({&d@kO7fRr-J#nojL3|Ny4WBfxJGfw z*H}-3wZ>}RU^LO!JM~hJ%^kK8p{`DFX^N_K2ib;TP}bIl@r+8H&%_~&8bcl2iI)tL?cfIpg+Y<>+rb> zWV1F&PpKcN|GVZB{>wVi1b`r!L_e`u9sme~Y(YZZ|5Z~-zj;^aRtAJ!VBhQM6r~2J zJKAaRAMeWb;cocjt|YQPb*J}!7TBBJ`09Qz0QB#BOM&f%m-Sb#?)x{p;qCpnVxT`N zZu(fyQ!RVJY7Nlm+GepFx6#)FF}l;&iozcInu@E{+E0}MYA0j#ZSz4<{;vKc&q{dj-s!MkmkpSRB{zLa@~rw;zS6$#uVz;rOq-4If+a|LK?NE3*A}tW3!}38i1b1?Dce2| zZ6+}x_>->AbF0@mHj~oMV?L=a&n_yDcKAd6Zdfm_MH|2~pK^BXrUlb}BoNfr?F^sk zWaQDR_|MGI zxFwjQ+3V!&119HF&yrrdkG$Fu?~Bq>F(zTHTb3j`8Y~~X({XFg*$2is_s?g_hcaw8 zPj4M_*^_Sc&%QyFPrJj1`=KyEyVBCR90k8Wye;Q_4ORg3^1f6+|Gpo8`PY5_VsF11 zY9FA(yV41Iu#I3JYX0lba<16~0N|?6Wy*Xt6}DPB^)<7tucjyjA~nZKuvQ z$nxBs<~U|}xW&)94;ZeFSy@m#B*7 zJoN3(1Y~@R_WAWGkIv*lpJmLg%B1mpdyI;+q%IKlRA%F>xL(JAr8L)011i|XXQnZH z=BVlcF$Z5Vn(X*{%F^8GhX6!^qXOV|0XsaaSrN+%L4A^^UvUcF0O&xA^VH_&qB8^g z`|JP+b|=mo-&&!DNxS-87}>dPG`&25>gRK*5%y5GyayLH87J&)RoE5)_`VFA*fy*F zEjXlT6CZf6bDP@}F{nV>^Q5mA8mCIl|D>c3|K zbS<4g(^U>a%mJ7cprv7uH9~sjpwgP#lMXSf4@7vjmz#t)TB}keX?TL zHv!2hj($;0xiPz{6h4xaCbmOfHT@8J76YCE9GlII%jba3oVorTloREWt0{=jJST8N zC0-VOgaoK(&3*;%2^K+3G&CwbHD%QO-0OKH3>S-)#Gqvla#{7w5>Q*gRdrk}B?8z= zMbdb+)}EblM%A)$aU{D?w>A3|>wl~DPB}$zRq+5T&g4w-he?K@kr zsUU{23Qf;eEW0O*og@0SOxg@fvCylgval1wJyK-ZuL(ntW3b-lxVRvEadKz*n81TA?jxrzutquaFnw7i6?y-<)D{X^+eM+x_PbWdkyTD$hlb{m;N-slg#+?H_G~=f> zy-SQsVBgv?sZ6pLER7(&iDSvHh2ICH94)=CHPay37gnMXIB8(Go|C%L%to4uoCxVT z>E*eUib~)yU@fQCQr0_|kV}hHn1ohy1_5-IoyrJFm+~5bxt55K@?6kwxGX|$d@*RK zbfB9m$&|!gkT>&4a)9qw>Bg`)R3HXWOL5TwrRF`ou7%Ac+#~7@oEkdWd2*|8cDBwg z@$5DU+QT}?b{HMXe3aL=Hc=sTA--}3qgkL4phLfv5W7+?XzNZ?gV01FLo;&A#z6P& z4RKi;cX=K%Awyvq14}Yc5HTJV*j2M>5L!I-)SVQJl>kbNaI+BQ^03VcxEiI}37{#pxY_G@knLVd?O88Y}*8Hl<<5}vfzf!|JA62 zqKz-$%9K8rD5Dyi>EA``3j7$u*eFi1Ud4Ln#_5XM9_OWhmDb5p@Vz2k?5r(;sVC;2 z)|8Z5pJS^}v06#)K(x}%_^~iycf9Q%!H2A^Jmr=f>AJZp1G#n=Awb`=M)SR!zZL2- zJe<;dFg_;sGk$2sx9P~k=Fjx<(|)Htzx~qe1gI~ELEr7PD76S>t~6!^sLwBipT6W5 ztBL}Y?r~0SKu`G{9Qh!`>8ULxFxd;1A4yt*YyryrB2YoaA=-|A)zDkum=vJD`>d^l z^~LH42D^?Fcgn{Nu$UgXT-j&auI^qK{Z9(R`dbsU6xJ>K=kci9&))bhw{8x%SXp!O zq{>kQrdF}9Wim(Y-KaKC$T+N$brKy3pvK)NDDhOoYa>43=hbss? zLE^EwHJ!+hF66L2S*5FS(*j#K`c#)%a^8PP*|N4}V z|CyIefS$@8_*sfn`30ua=bgsf^&mhW(+2pR0JWLw3_I<~1nAsL6Lk7(J}CN~aG-pA z(5Lh8wVl5vN|k$ny0poDr&{Sa#JmmuhaN|rcv<47qg1~3M@ni{QWrRXDl||gvG|pS zc22M|1plg8g>ltqt@V1L*m7txcbDL@_=GNpp9ImW%a3bh+MA+ed_bvX%{5ekati-0 zrwsAwFKVW~Sw70Tv`d@9zY+*)XC=A^06kO$qQKaua(@l3Y$48k z>rKhPT;)0MgZ{_b7z^fdJM#g|%ut>A`&D8X4#HK?tR6I`r2iV-ID zp@2x{!Oaji*HU_kz+GAnFOq6YYXXrWwnochi;|=rGoeJNq1_51_?iVXr!1BdB$14n zepNC{K$xuWU-l_Ic0#^Iz(<*bwQk&f<)Wn1`7Q8>sjQ7xn>19&9ZeyQ#c>q_%HLf} zthYvMGKGEsjp47*PU}l!hgD!oj%8+MWX~(BN@r_J=QY~Ubtl$N6)0L?OLd-&YJ@~l z2P0P)@E)bnm662t#y=$ z`4$d_flpC@pZRKw?%3eUAP5k^O~#BgX2BW#iagYmeLxPLwbO-D3rs2V?3JvSt(vY0 z8a%V#Niv#B;c{Ty(R7a`+CyF-^YX$6FO54U0ngucEvFe^g6u zvFnSe&m{Z5w*EdhBW=+KEa!2D<-p9(UgIxhVuFZG&$T0eY8C0Lmvp zpNChc?zb1B0KKph*gNG)54n3tUk5gQYefM{Z=C;r9=@N)$5tA!cj}Y2faP6a@=DZ+ zb)ePy3~WzR%pTYZl^q9hkI{M4_SmCVV%IUSskU@=-StNjy#z}-lfx~r&#Npr{X|tF z%Q#Y`^e&T;ytvJmh`Pk2Jpgw>0URd3j9PwBmv+?6zb-gD7>B2IG3ftPS_MV zsK|@~UN?nTwk{3;YH3#TpfEgPZaItcp~&1PI#kFA&3=5Q>+|nQ#k3XNNFlqqQrhf+ z-j|1bSuM=NjpnVMXGRJ25el@_p|V!{4c#+pHt$QN#txZkID806g^g3ifR-?dTg$DS z1VxZ~;C#0-6LGdK)IG7#8`B-%Yx3M5EH{-@Oc%LTC0DNI1G+(@y+Ov>4HI7`b2k*| z;d)l~avG{rvi-BTAnLJ>_R~2eCx|v{A%vu&xx$Vk-<%!?5MVvYgxE<5)@48Q?A(z0?9<%-GsR{Z#JQfjXD(t6>Oq-x}+|0pQ)n{jZ z*47Zn7@N5tM8BHh4(w^jQwtzM;lQSek_V7N?z8_*MeLHAyY5A&&XwycPhT6y`irE` z&1kWLtNFKrGRT>g(pWBTtyH(Qu5t{?!QomgEV2s44sVrg=6o8A9R-v{L}v^)6bBN< zjnC{wYw2t0tKAR-?`XgsH!8{i9I?u`va@M^)-;racUxKC((V;CPY^+^^bxB5i2;CU zB`5FF6}fc9Dchljb%Y?q{Xnq)t+gF<^52`^rGgyV$Ms9>D$p%myf1^j%p}If_USBI zx%W(zRYUG+fEO5ut3p#u9k#l`l6zGRTf=U>a@<|T7Hb5{VMyuNSZE9JrhC>D?tKps z9X6pP!1`dGwXelGV~D&ebDf}QQi1!zWQ)lJ*^=&BlJm*ZH8q>30DQCEtcID;Un$#; z#SZ2WxEc(A0T3FSp$g6X^T6GKlmt={2ON=Y{%SJ0LqE6M4tho;;tl~oan@MGDHuW! z%7-Jk`M-5B)y$(xisMcFjy%X#eBsU>?GwF0+yZp_7BTe>mqOfJsm`SwK=`6p5kXW> z9Ly7433cRoMr`#e-~{c8k}F3~c_XbAI(t9E4rFLvqauDLzX8h7lU)y>A-<`%J0(95EebK#1 zLQgvN@Z~SfPJ4cT(WYHs+5^<03Ho9GSu;H}VHeo=<<#fbfzdfYsRUNKvNzoYCLPei z+O+;>eLsqrvCfJxiDlSaw}k8GXI1TH%-ZKbRSE@DyHW1Q)t{j6QSqA;W}k6-@z9HY z#QGO%a?~)ur4~+YWBGt_ANc{x7`U%lUicxaQ>2{~xTFq%n`R7H4hZIGmE~4wT?@;z zH9wd_?j>+jXln~yPy?qQ70rg<$I+DlFNmfPY+-n_#zUtmG8JR}-;}w=KZQ@T0%kkJQh!8fkD^Q~*%EuLoaG)IxI!o)PH>X-;9rHtyj# znw+gBuT_-+i;iASwSkd*EzAjmlkrG?e47Z~|rxZS8E zx*l!a(C4ZMP~2*6D=0x1R1dgxvtAHRGop4C=AU)|86ePoA)n}a@fk4ad-I1N5Dd-= z7x$E}o6@lAt{;!RUWsWYwFmvXGtRhg=pbqky)d{4eJ~15fB6Faiq2Fd(w>6z(~+>j z((eT1uK@fY`fNt`Sxq!B=jC8U9Nq_tz}@|@NzQ^es;=5-U)jk_)eBfTVTjOP2`H zLm@!zoAlC)HlKpnH}?+NoEA3b4EgSUU&6UM}G z``ezd^(Q@HrrUXCaN}E++>=s__Bb`a-_F&BJ@Xtt9EgjO_k0UR~ zj@4H}plqcRfO!e>e{x)6vmGJ_xbLHu$gUjbP~npvQK8l=q=pBhoDU^4HGHP8A@> zi#exZo_lCRWQZXJQJ3a2F!NAVFEoI;}1}UO8S*$lH}+MAHhI%#)a}x&}*_E z>k+Z}(LSfOsSnzACV?E3-L{_9&3Do99v1t~!I|J7_iU3<-@rTn+Uhhve;$>kD|WEL>QqKDHguB3GnbbM58q+3yKIMky_viE~_Ww~>fIsR4V@GZ_;d6CJ3(mnz-0 zNQ<&BOpZ;Hs-&D1G|D4McefC|oAA)0@z{TFh2@kUqijj|W4TLFH9Bb>pX4|qura(t z`K+n{HTv|DD~o%i z|G1Wpr4bV)KYz;m>~O}C&YMk+TtOxipZ!7P88HcVthl|sr0m^W%0wET4v0AuU zpq@xuq+P5?T5F7L$#1xm`LE{TqHD*iKhv7V8PjW;Wv+$bV#a2iqJGtvjmVgB9jsT` z6H$zF^42BSk6r^$%8njP%}pukgz z4eNJipbb6d!3AkN>^r=&(LFICWJ?9{_;xy;dzzV%zB2#`6`U_>dv1o+N=LE~_#=Ls z@CRdKn*>g-P*MqC#W0{FYNVL4F1(Jo3%pX+iywR~yN?}UlA<%+^r*e1Xt&O@fN6rm zYBLjNl^1K(5-{O82M)U+{`Gnu8GoM01>B1u)LQI1{e`0sFhP-RfE`e z}45OmLsK}vZ1hwEq)RWn+pn>cF}bc(T+e;a%Rz{G^fLLku& z<75aDdLs+NOmK;SI`GxiMdW6fp+ z$O_zyY;}^ns$JE1>)q3^E)Zz)tn#mnwCaPf|G@AZwg;qQuqEGdDbUYXVGiTr!Rvgw zyRcPr>gDOOMXtQ*J?*T@ydu$wr*qnMp4d;D*iULi*0+Ft&&NQ2&98zlF9J)i^XfnB zl;+gGOK(E$+ucGC1|CsXN#@Tryhi|qo- zZ`^2v0Hp?O*$#Hi8`5N;JNvl}zh(|pCPknMWlPZ{f+ocOO>x%K16q+FB+`4-4mUk3gBdg`z+X{(<%rX%?t03v3nEbDWz395aA-qb z#f$9I5*zXYGi<&-4Uc)7Erh0UrVei1h1Ya5vQ;M=mKQ+{g3VyX#YZ?KV1_9SL(yb) ziV=^g>V?q&mQP}X!yFDvuurB7SYKHk)=lN16mvL!a|&t*fAcyzQyF+MeomBvQy`Aq zj>_QH*GlP!wSdMc;vEq5E!U5N9R`*h#7=%*T&Idb7Hbr-%_{h}@Nt%z8HM z3Lsr5hs5<)?e(Nw+K`#&T&*{r{|5pDCb#POe}u*cu#0JaK<4b%L(x-i>Ahf=Yd&`8 z$9|Wr{iK(`=aZSgo`&>E8{qp)fO;W7?_YH9UbJuX=S?nfy-p>todD&75MQ)K0ZO~T zPW_wn@HTIk-|5na^YD=CXQ_&|lc7_tf92DFK!6hY%8V>?F(^PnfRwu_d~BuiEyY5Y z&jk|?`brQIf}F^-l$j>W6%^);^;2%@vO@}Q%xB$V^Ad(k{V04|o=0~v{V-?=tIJ4C zASGp3s;9L^GBN@3N#rs3GNAiU`0~gmiwUPo+3;4%swr2CVvo-TTwJNc_RongEGI}H zVU=C>tZrtmsN}$cE>pc)FG(L?uppYwbdaS29#t5U*;{2}fhdOyf~-uuIzDZ+#F5uX z!O;OI+Y-t>8@eA3QdnC!3b7$<b8!bb?k$q6uxAu*J3 zovIi8qM9qdCOwpccZTa=T?pRz0ugK>Z(9{C65Q(v3mdulS8v)r^3piI6_{g2(AvL1DnsL)?% zxXczu26tL`LmyxJbSedfrGHu%_mxq%wCm67;!MW>f9v9AXMmN}5upF8x_D?{(pmlI zb#a$Dt+6idW{j90Ai!j&&9bozjmI^Skd}5Fuz}`q&fvf|>I&l3SzGQ5n*&5bE2@)Y zFwV8*Um=;cF<0Pd!G@m&l~%Cl&6j%uO(zhfl*4DkoR5P3a;Froz++&ReDmPAnx^tA zE2eAiTciv%&YmaAmZ5U0aHTF8fcVqE|Mete;wZNKqkdNI=$N^Xy;NkEI~vKJZD7H3dBzACj3Dv{ z2~0@yYRXln#ps0SK)){CB_Dy9U&fXDa2_)!**VacQ(`|~o21u#e37<8VJ~Y#Z zrt|>qJm<}M%mgTX{_Xd>E-OGgGa7{hWd*4FaPA*+`}9tuKIOe&xd$k}Z8g7i<1rt_ zxD%j!4p80#)|Vq1xf5ukeixR`l&427>D}AqK%Te8sw#ppk@t`>2c3qqWbW(9(kh6wtY za}Z@?u@t|#7`H?L7*ku697P$IOpq%aHqqa?G&;q-*MFgi~vr7RVT- z4&}l|z$FeCN_1xL^)uV~(I+0h=fL1O0d{0DP*q+*?|_a# z`%Nt&J&0-8R!IQPN5?}q5vfwC$pb-r$KvwL;)I76ZFgUGSozX_P@SuhD?CQ_oq?>*Hg&PP|{BG$#Sxoq1=!%7(&!VG#u{0j0XK3z>5)jo&6&5WHs2a3Q~ zW9ls5Bm%@i-Fy=kxWwL$poghAWMSUAyJ)S=id3bG<=`cDkQ6}_dI|6E1H!PsL$bQ{ zF(fGdpa&~=D^`-eAG4_}@N{0a$_ULDg4Cxr78E=4M54lWi_Pm3!GDoHu|6HWkGn1u z4}Y#$I3HyFK)-ps19$sxDi(Rh;zp`}tymyNa6sMug<@e0_#Y@1j>c_K4P^(ZNz$)C zV>VYNTMW5t>-uBVH%I@-b`hkz2w3`COj#LikL8`maqYfn@@enxH?P`;XWL zpAUTgbLT)HK>1~;sV7JpfZnF>r5>R7=^d(lejV7D&x6J;u%ZAxX$#W+ziZ-UmsQ?b zpG%?OYavasaw+|{x^zh2!+*P^oVrpt1F+3vm|VS4&H4{{bnWC0{rNf|UJ7L9oZ#TT zHwA7M>aS>iEZNenXSlbYdo~^E;8BRONA@lewtt76+pIb`M(?5y)#Lfu!!trlU_c4U z1hQV8`GXXb@)Daj9~!qri2J8g)d znZw>x&mk@M=qc>PW9C#Rl-2VcfKAD2ROb+Y-91Cssl z3OZBA)bTfKQiZ!v5Sn3}we5w17qEiIR#_AXaV)!oUZ82(D=0yowb(&3Un?I+s}ps4 zC-BJsO(P*n%H-Q8z|Lz3MeCGuKKcZ`%2g6Kci;lkCQj)C;cz~_9VKrysxL9D*dlJ0 zXu0QQ=C@LR57jz2@Hu24k9LX?(H*xI2o z&%-JA@HB%GpkXIKuTs4$H9hBDVEs;j5*2!#_Q#KJ^4r4R-u3V9y8ZM1uH6YxdaZoY zloGM}wv(@{HSIUM_7`~*{WVda`+OSEtZLPyd~JqH)cGQBvqa|M*D@+Gn+4sNVPmhv zLaGweh^660f*4?(CBUPtJI>2>@kXL7g)Gy)EyuE%1n|BCO2S6$DcGn(fCjreJ4%mKVa%_S$;+4N(bepr@r#`x?ud96*SFq zFx9Kuj?O60`|0eoC;sN@f<$>(`02{!Kc~ZSF`~}GEy>|8YzJpGkwR&w3OQ9qa$kDt zi6_d3Qk#FWTa!g$uOUN9R!^ZoTm4OQQ9T~@eGNC-Ej#neAKBeoVaNJOHLibDeQ)K0ks zmOkIxS!5bL1#$Y^rXC=E8EPUxFVew>>GYpdmr7ttfClUWdw&`}D1*U=(XeFhAf9`=ON%lD+%zy2)j_rD(4DvFAh=4&8L;J{{V1Tx5YZt zK3%1mN5xc^a|LGo$QM0SA;Yu$hC!Btx9{|1!O%e=a-EvuthCiL#H948nmReKku1UP zVZj&<#t`iDB-Z?n4;A#_V!8WI$}S^OC2Onq=`7}!0gJO4rq^HzmWu})U@)Rw$G{@Q zDo*r6S|3Dd{-MhPOF(s3z=QyiKyJU>dIrj%6R@%p^gp|%JQvaQpD7toT&#y|@y8-? zt{+wn|4I=zDqa*YE*te{FlivoGL|5bDriyF`j`C-TO?+>!}0s(4@58@sb-Zt+B|}v zk-(u=qvK_3nqGfaDvRLaH8KSHzM8h=RwN)Q1x}|65;9nbR0&8$4pmHx+YiVo06v7eUy;!`OJt-ahX=(Xj(K z2yDw0C~gMTz);Q)&x{kR<`W@@_C)e{%=kW(DmOp1WXp3-^MEmr%s3ZU4?#f*HKnAp zJT}9RbDs%NYK2bwv5EpTf{{UB=r_-?T$!)@n*q{*xTVF?bv9^%DzE^W;G{k1B} zur01yP-C5j&5=Qt=MaNm-T4iXz`?yKJPeetQ#)IA=4rs7E1l$IenRs8N(Bg6Vy_Kw z(U1ucHu3dKV+tI+HxO$L81vdV=VToVamDv_IelntEgQROWt|j9?qYH2a+nzgP!j5X z^_qkW_M9cJl}07mu-6^KdDD)>FPgQ>H`R-oZW_(fy+3BjoA1M*kmg_-_M`4#p659aaCc0D8)AE^A^TlSL_a{FOwCv!y2*4!4I%PL)E}5%g^QM z5pxlj@GLGdKBTH3D6WBtX)*9*)7^QjhN8*7;Qi=OMk!O#g^_nV$T(KW)*I2<{L6szP%oI<#b#z)WCiu<_ABgvDYL5A z^z&B6DUU3x$d%<7g+ZP!J-Dupe$&k% zR$-GzXyh5~*`JVsr3aJ|%CZhmWoF2h@X;rQ9p*ol>pvYB41aV&^j~3nY&PO4Ja708 zMvmt#cPaDftj-LqDT`jO5s!qQ^k9A4=t{+l^)72!msu^)`8bWxOogU;D$do}cgzOz zqF;3dZI#QUslBPK7NReNMm<6witlwW8)V4?{K$^{$kSM;b7N~Q7dOPvkFA}KLBI!( zc^i@?KV|=26h9eN2t&#(5|$3$ayqp%{SV+FFvMAPXE4Gx6K*O$p-~M5$%jk&=p5R! z`x#pbb`fgPRQMG!3nA#97vKiD#*JO6SMft_n2{#{zFT5iO&$5jv(5Ha?q2?t){!FA zLiSH9G8+nEcg}DLPFg(3qaS%?!6jL{5DhUu&e+(yyV>E7!!9;6=iM3+*jg$Kfk}JM zGVeb1DKKT*CO4n+49vnJ3YSQ{B8e>5-4}KOlsM4-ztdBf-+`KrXijH9C+c%b8{iXZ zIrksZcCP+oGrVuc_f6X7mA1h*!=I@Gx_^1@5&`=CMf>}U=H)NvS1+13r}RSj_xbFg z{b%_w=qc$)i2x-Ilq9B8|K+aRKi^LM_tb?%1SkjE$Nfn_fIuKLoJfp(lqWwcP0^rb zj9!mY%)Bo{z&W3goBx=iELKR}UZ;M1vS6xnas~J!(}=C|4hs(&u}C!>z>+1hVuWhpvu1T= zW#!`HgEtFW>8Sw}V!A0~F5kIO94fP#tvCJUF+a5~7Q?-UB9P|RQBqzV&JCCi$oR$l z*t&=+4RD0VOv{XZxsd7Xu>AJyseqcO+)E|_X+}Yn!Lae_LgS^3P*ICUUgnT|hv{Zd z)8%kgz=z`*-0c`!0;e~Ro;biWv#-$Gs9`~mg4;1^DR}7CZYF=6iI&+Ry(J`<6*P#> zb6!x9DaFcZm5s1qW57?0!6Jfwhwma6#FCW-vJc0gd7;_xB(mT?S-!@Xf_vpDkkKuE zZedHf5%~g$Bd6SOoI&H)pf{Zlt!trJxfHA@ZlaOPEJtlVk3sx8?Ry`dKsFNfne!)a zfWPZL-*unvx_o3$_vxGn(8p8%{w|$ps01h}K$!p~1?Z2R`P{Wd0eYDU&>t_F*LU5U zyYB5>_x@Cl0{W5)VbkZV{d{fZFz8X<2)47IbP(dXyqF^^K!pH3DPLm*p>#xDOF|cC z52g+HU`zzFOeK^I#Wk>Xg>_9MG&p%sn^*c*f!&n7(1U%n5vkvd;+LC0waBQ?_CG z+{$8!QlCHw%B)%zW%-28wmpbxV-}Ueyt!OZ-9G?k$$Bxwrltt`3_{@g%%o7iUXusqX~pYK)p9jxH8X1 zp%+0D@<>9ELUY((cqFh=?-4!;QBL6LxISsaaB%=-{P*B-Mrb;C_r!Kf>BNPSv=JB; zW}9JwxE#++-jT+-i@r|rW%{kbP~5P?L;~~z5&&Bn}2kr6KKEvx4a|& zM>?8%T>4Z3`vF3?KZz>CE5mxn%vUv=vnmIyd_cD#b?5Qqc%{Lj;hL*5__A6Icvmur z5a5NO^E*8_#%RD(F7HKMgqa(OoE#S=W$~F)&W$t?Su~f$jnpltClb##RoAYr(Bq1O z!Vf6>DP&P;77>UbhcXwz;3-dq%nP4^E)oI^GS@>u(Qxj{VT%%9#3xa_Hs^%4SR2>i zy=`DcIJZ#!YznzG2oOtIY!9S}_)s(y;YXp|N{uTOa5qJnC!-@JIR*q=vmQfwr-rv| zYzt*qxK3GLE)tc0EoR2r7@?;t_XO|YT)fPfqT8lI2xv#qJm|C`sAzKE!_lh#N`+w1 zyKaVR#h8Fh*9?^?9n_$khB0w zQE;4IVWIfcK0*u6q=~}9seEAbxps~PK6(X$XMm~3(pGbB34>*N6$a95Q*d3>ia2HE zAI996?z{CD=W#ZBvE(OXTS{xhsAQVbY~pI{-A{(Sq2?eRPNlpaKJXV!YoYfKi18pm z>QF}V94!MO?u>*nkFl|-C9@ZkziB;mg8LmQ<8cTzC4Bo1jx4bovbGla6Q}zqM%#*q3HV?B_+h6QFzy z^iW=fkln{)T>l()gBcc^wBcS=>>2qsO? zW7!G6hv%IMB?8n50m`rEC`?U0GF+FeH@tYU3nADL%dIPeGG)UCnw|9@m`iv!V+UaF zuhvP7L5;&18OrvS8#!qm!+;SO#<^Q_PYH?M6d>)6E&Xc;J-|um+HHVmu|B72&O^t~ zWQ4|-;gRcyjBwGaf9X0ZSLU84C*w1r1k53{EaYhbVp9G_8X*d51d)`}usCFd6>YPG zxkg7qPYKN!$4dqys8$>aFlJhJJY^)5VP|T=7;JjVmiyP zzF6@t^o?;k=*4-4KM)sLcOg%fw9s`TKEx2n>JBa&(j=u3?s>1~FZ00)LZYXVA6qX3 zPExi;W-2o5!vPCkm2s*(S<%f4TWKsxHa03NU}@=U`iQ>q5%aC~OIG5x5D$a*i0mC0Z0H-Z6sf9iJk`on-yw?z& zC2duC&&p|J<+DT$O$CI7t0g-}_Pztno4X`wX$+rzOBtz6o)q*110nCE?DoRF9$(hlD>ibK{ zQ%B#zS)%?z*~XK)M#U(E(yfjr0I`@Q_HdB98%h*y%=9fXU`JW5+Tl?)>Q^bj0)j#v8;TEx>0IJeoyJrg zS?HBCj79%@weVbek18ZoTlJJTSTfd25z=*TJ>g^>QmU$!6w{UvIECsh)KkbS1r#+~ zWtGbdLO~f_sr5ThrA;;RvM$uqg9Ux0vJ_h{d}pOG`)9nEBC8e>)((glY=&B}V}is_ zZNiUwy6R`XN!)03@Omp-tL@zr0is?&@u}Q*g^C#HT0uxc=7qFXwlq#_ndofPC<3c? z!JYMED+_ATEq{MgYqQT|Iu}f0OtY$9C-4(=AG~@Ar!Y zaBx8N_)B)Two2t1&vZ*9h|9qNNErai)KL53-2c&zpG&*Ym(m3NXH%{nMxFW$fQSLQ zcKNOJS_0cW&JGTG8Kvw6E2u316yIf|%WuG9MJcDQO?sOrj0fJwdKyAkd}w(Kjd+B| zfxA5m*Cs(mGu*L(Lkl z$#Ey|Mhc;nV+s2yHprDsSL|vHT$&~j?!>)(qdFk2^F|v1r~{+gspshJ=q`^e1+T)! znL1x=z_B$FFpjwNu-u-ZMlP*DThhQWYM_~ zSjg%kzxZF)Q&P=0Rq74!L^*2(fFc)St(W#2ZxFr%`(h$7_?@i*)8b9w?c5TRCJZB@ zeswq8Dzc~42~_R(X&n-|no+@hB@KU8AmRl?UQp8NBP$TrbPMgY2rypqHjionGB#8D zUyc7GxLkvw;I;a|OQCNXy1`y?jpN5XImO@5Kr__=g5f0DXZIRxl~oC8$$eq{jkrU0OKc{=-#f4&x^tN?)zhpi}rz*VdUfLQks0*Qej6Q=yqy@4&b#7N?F>LSfCk#aeB2Kky^7bbZN%U6}YB!BxP1g zt8~Nzh03TRbmHGwbpVHtN*S>#Wx%nm53wZBYjIoPQ6bE9$$uTXXEy2@L0%GzP=RrQ zF+BSgP)D_~R7VWcG1npA6vx2E>0#qgdan?=(~tLz_5wo^1AkW==6fj+844Vw;hET^{|aRx{QU2%jg*mc5Ajaecupm-J->56zy2S8P39G9l* z;i%j_whfDq+laY5>Nc#n0{Z6Mz35ZTg%Mj_f{9b}fNFUv02WU_!1}Y zX68^>|IHw0}ZUe+x5|X4P~tQ3C23koB(CwJwx6bpQl#gOF+W zfm5cFODOMOeGicVpk^dyXu2KqEw=>9bdCH>G3c^uV0;}7AkgEXNYqn}Hhe}uiIG&n zz$?Dd#c!df%9k=7X!eZ^4+E&iuvJ`hxYlc54*ssV2QE|N(nH+&6`QF zu`>cDyE$gDS=LwqAa=@}%2%i9a5XB0oj6tL0X-kcf%L4{jrxQPrpz)(JTZkd& zlh-ROouInGy@*LH9d$cAdrwl(^J8UZi~JV6B}el+bq0%5QHSg8LHRTL=Vf(yqEGSPNSD^a)T@NLU7zv|eeQOD`;AZPa=3INI!Bk-#4+eQB^dQ+~; zM)xm&(!UnnB9tv_0aNd13^ifyxK9}#P;U|x-_4ud(}O4|I$KkA#JC&(H{tLrx#aV9 z=Y*3Xib`NLw{mk43&~0qOz!Y(GGT$^*s8Tuomt-!N;WioS8U&_IV|8sf}T)(>U_n0 zMJ%~tD_BhCiGSa@{wLZu5wwxp2AR1rty}y)Gd+3=XShomgR%nBkDipD$4Q@e8}Dlg zyRm0s1~?@$PeFRbC7TZ5S<#mBJ+m~-;(Uz;v7@;X;L8`i)yLGS_Eb>IazplSxF7^| zM|;4KuxFmfHMub5HoQsxi+#UQt3_wT56qj{k?V;LY2ruQgH(}jx{g-pcd@7{lIPL! z$el6Mqp}r&3|IJn84uK+v<1(CE5Nm)fYrp4DkTw0K?`^bmflOyLd=aZldQ2A4OfMf%FIoMhDz<-c!@TZJ^cG&aVxz7OTmwz?C zJ+x(WeE+`G$z&JU$5Z#&sH88ae7a((g5@?KJq~flT<77(x&P7RODb~<%zKw$5n@0O z7TPtuolDp#(nc{~YD@5-VP2h!fFuEoFeh^a5-O7M0lvoNyKAm8#tnEhX3=#( z0q_v=EinKIu{ND?2?0ahH}8y-8F^4QS9=GX`3ab#g$+~L)((j(&z0ksf|Q2fI;(If zcFV3=RtNr<`=9U>4Yv`>7!WZz!ztJ!2x^FFDd_ak+OnFFPjE4Q2!z4Mjoh4ot(Ddk z*p3}5WSA;x2Z*MaCef**vJk2D<2~0N8HvS9{c90U=00CbvQjN(G=Vi;fUhN$T!}6*An_67rY^0>#79+q`4y>Ivl`}8NcW$fdem00r$_t zCRmR(WjT<4Q!gZw1w3LvAPaYm{$ZtNTLxa72=POqBoq|fOP9YAV`>!!6=3IRX@z_` zPswav24zTxtHhN(yr?C4)N%(0YPv=QTpUC`<19B}Tx^1#D#TQc5^sBhf;_8JpQ98A z9W=A*yk3JNLDa(M*49T)PV9>LE8?fzDYaoh>EDUqw8 zSmwTBGTXeY9KVLgy!Bl=Z888Vm%j=lb1?<|*8H#_v{K0LJV zU$yT_nd@yi`0&lS&*uQ`0O;3;{Qm-gx&nYQ1GEF6KhFJUIZCJ*KA*~aFuLh`*=+W` zk=KC@1po;KDs4c9{^Vfj=o;X646OqRdQ83C!Mv8)u%f8yINGJ$tB<*_8L)+f3m~>X zvC7_@37C-WiIXDJ@|;qUFT0`pnGgXoxP!sLoQ=f81`M%GZTVotS{Y z3b+_USb{V4fhh=UV`5jvhA>c3MDFiQo>5|cR(Qx-?2{2XgS!&kFjs7oyAsbKnBki$ z$CsR7XLD7jxzGfWbuBJoPoU9&vQ&VK6x+f))%)qWoOdPy#{w)|-$?fmj3o;s2y2-u z1*ha|?aR#p6&wt?{+KCJI_|+QunqxO@Mkz*Op)_jgI1V*HBJSskwwEDR?@VMM};gu zG7ao=R%RuKLpUd<3R8y9f#k1%yrvH+tf|{YorDDPc*4ApH33>-3d9`1Lcv%Ndq-T$ z8s(hs%}%bBl=4rya*1D;TC}0j_a|UtRDIiIXwXQj8WWOWa#v z-Y@y)r*+u+arJ1T)?5-2wi<=2UQ zIrX1U-M6v}?0YwTI}bbHDi}!6PX<7;5iAwlvyb&Ew3`E<`5+h z;2mlexB(q zY*5YlSsM+lY~=jBsQn`6*AVB|{X@=gIC6e-Wu&kXkDb`v`9I_QEUB103H+aOeomMr zvaA<4zt=zE{E|y=P;;{+fl6tS|LaNrBe1KW40H=t`7p(8ulX*{g7&1DQ#mtixzl2ZGDp>jN z4uF1~`X9UWW z*!*#m$c~QyP@s`k%nMm&&nx03KMCOpTUg7~D%OXFr;9?L@e|K67f%ztqA`)X zw7fRc`Cy=2fG&37b-P!p=9-3lXAWQ!9DA(ay!42vb zC<9qm2LlA6a&OR9+7+BNW#Mjv8aM$WE9SU6B)Ie&)~=PqLrjG&xtdq{C0|&zii2V0 zTmf*Ya1-tvADRf5GKVCy*2IZ&w$MIBl3`5%-bLv3kZ+LJp6f*xPwhBKI26PyZ81MU zy-n5CnJXsfAArJ<#dO;wyQamhIAe|l8-Jcy`|`E3}}*K&km*#lqRX_5PR za(mCaTdNip`5fizH)aK>{IA&t z*RY(MdBm;Qgesg)TmnFVV zdH`8eqH>RRFi1t5pqPbo>bQy-VTI%pck?KOrMwL?IqMyqDWqqufS-}D3~ z{h1_LW!Mw32*y^{%*W%#ORqf^lu6eTBmRj%)oMg+4Qr^wFVQ}cwGYL?=Lmod?h}U* zti}@_W!H=iO7J=0jY2R$Kbg7+S!mdZ1LD|E<|zgVQ{tAzGB~ofdTd{3_k-ioazHdp>B!>_rI0R6Lbk=ehKxZviVu^9+wq z!{x`YW1v}2K`bxz`c!s-{n3mcG5~7dyea^wF#z=IsVlp{atSQ6L$7kF?DvQ6<5|D? zwcx2Qq$>{yEY6 z=NE=4y@z2k(ZC+94uh&vONF-rWZ?hq45AF%w>m$(2btHc>fSH zRU@+w4DVcw;2VtOWWv@7ZDW84@5h}%;EK$56YJxJLM#E-yn^=+4PjRDppGcO;*jO^ z90&7^#8pXDjps+vHV_Pl+Ch_OBg29KbF)Kg{R>`8csM|nchPPxJE?#1` zv08K4&A^-ygO8p!G_)m~%2gcj!n{C4SuV0t*G?sQXDlq4_A*?oNdxv-mOP-y1)k$( zTV$2mrLraiphQiD@PJjJ%AGHsMQNy(DbcqvShtE5E0Ix!Tpz@e395W+poEh5dJq7L zhRqxj%0Pi5wC)+ss%eef1uzp?IXHA3fy2OBIBj`1prQwh^82LwQ|R<|qUDu>*3Phr zos>f~s@X5J5nZ9VeK!#7p-dT@E-i;PmP?=O$&8JhOMxo$-q8#-BssIOR6_p3;heHIBStst$qGI<7h+utM z9$&^scI+wa4ZKu3QzsP`u&V6t=02RbQtsPBQO_C5klui)UGLHp4&W|MI`}aMk>3@d zT>78|3FUi^k16kaFP%WcWhrH-n{7+~DuTTu%GWJt~VfCISk3_I+dsdL!_0~8V| zI3OtKzh!_bCkUtx28ak)XMhOi&$Otq01+t1u*rNoc%?O*NAeQ}C~gU+O90;zs9j=! z9N0Mn1b61q5#1hOfYj2gAQgIm?lM5JpU!-rWR1wxi13K?={*WJnU6r|szN*G4Y5<9 zVt_aUuJSe)LevL`*DE?F+UOweFhG8=UgG^Ym8KzIY?%QX*%<{M@n;Osoej@ba+a_a zfElciqley$ngNPB?B9wrUAw^5t=-YRf&rS?MWT33A>^es3Yj{sGBZE{@NuZC24)OU zwYSKM$Q5gH*k`1VsN~s46R^2JZ7QPZ`KVo$RldXkQ9n&wo!OhggB`uV0GZ@t;PE_@ zd)nYt!g?{gaAbhkdvh1du~{1+lI*<-&ubszMPyIG2hZWJmL#Yjs5l$4{q4}r=9}Rw z1}K)84|ih*sNR29QL~h?1`tel2t*_GiUl9L(&i5!$ZCWhg#!!j)^Ut1M+WH5RrNd( zexflO-%nf)G_YD1fp>_uYaiqE}H_%L_d~>p$uNa)cWi5x6D=N0#aypt=)cad%TSL3_>z$Fv$< zPb%dhr-oLs2gtI|f7$~SQ8O434{|V`|4t7O7lZ4)6`gylpY#BkJdZsPgXkAh0K@U(o4QOTl%tN62z>Pd! z*gp|_fMEOJn}5;+WWfE{17!O1f7t^Bp5x^nAo7`250J5*2RO2NLjKbppz&|@043`3 z2}!JRU7@1#_j`bthH&P!N?dazO}=?oic7<>2WY5!fO_-*4L|DvLKE~a-UOWi(A!t- z+j3se4uC$j1wG}>^!Z-j+A*I4lyO$R3rp!lSG zoecF6-&&<8Xn(zt;_|h0PUaT~snx`_0Lirs(x2O7FmXIGBy=9wj21hSU@(-ez{qAr{*4J_~TF$1X^OdJ# zE(_|-_Vgm^iSN7uzNkERyj%V{&>i$-1YePxxI#NIp)7~+oRnG(7x^#NC|NChv+62% zrmNi3-V&TYCQM|fYb^^QUzDG7z_Yuh{Iii&GB8ed<@5PtVSPQU3J6B{X?ZQ?YLx>k z=9+2Wh2oj1L$(BAC+xEH?ntH?NVku7-YCpqf-9XzoZx7%vV&U(tj{cE_9t;##3e5< zt0BJGoI~+@wT7$TkRHcD-41)d%7WPL;&*+GMAd!RwBL3m*8w~ApM4#Jnwfa@>9=ZL zWU9%^5F*bjAJ))KDSGJ?Bx5qHcve~?XLk$E)9)@r?qYQx^bGX#?5;(8qKC zrIgS2K3VQIz^A9mL?fXJ zXR4-7CZu6wzw@Y(n?ceskc8D4+>FWb&47C3EOLk0TKF5403EFbYHzKbcvY>L%&wY0YUi<3a&=x$7p(QzU{TheBt_44x&?GzS3NLQ3({2LXloR1sV%k_^MgL_k+G){6CT6%J z{KTh)F{BtSc-GQ|;8$rKw6R{Pq8qE^tTB5@mVP+;w7{9iJVI6z$H=Sbp%FHQ7j?9% zoc17JUk1u9+Y11kAb$5Gyp)|DLaS0jHV@73=b&9RT=sO4<7hI+vZ0%etY)=S(5}cy z01k=|gkOTUzeN|l6n|BFvwL0$k~yZVcVUDB6!(O>`WOQPpyY`qrGKn%4&@b(YOd>N zw#_TU!~zhJj0Nq5<+6{8hMWv+IcP(Ns3}j9XQ6`%v4bcBD7+`dXs;z9Y4D(`0Zj64+4ICbO$yf1Ix%($;k-Yshp99nkI|#||WiNEh_jdZT z902{b9D$h60V>6>9RTH*z@Ph%$=`?c{JLaotcEd!-b)szI|odEXaT1TIz;TxfFK>55eFps0IzHS6EW+B{E;e!9BVi{Jw8#gc{vvS zMk}=tyI^o+B6Jm)4_*<2O_teEc(6R_bu~vsj%y9d$?Rh`=Bp1d4fg8@sRy?X3QJII zVm<4;)&qbKhC>2#pOl2G@g`MJgsLNm-uM)gK5~k@YQ$y%zzN*v)wFf=RF!kb)v{_1 zX+fig%UVew{553%ZeQe-d={z$7eM(Mqy~;BWYq@#oJsOP#atIDHn=g@MnhN3g8LPF zaTWsl1{a*SFo0gO$aoyY6+8?9K|loHY=p*J^jb$)!;%U90ofPnj|IrUXeRnh@U*Z9 z$7gfxEg23n2vBh2IRN?FsfJVWWo;%Ihl8+=I$b%WJ(9*_xtD_un2M6d+PuJR`#oDY z5F}%scvNgUZ?w<-#GT8%#1U_SA5Y|L2Mi_kxI z4$uxiru-I)eN?3(Cs)4ONl${dveo|Y=K_E}HvPx*{_pr9pL*E6J@;=;`4yUBDkf>!W6X6YLTb-*3ZPmB-XuEz+QL?5)ci34~jRlCJN%W4C- z15Jh-VcyY`87g2Q*hc{8aLqqSGQUwNFj2XG7d0oY$mxyT)iJ|a-6$M7$wWAwMX}xE zs?|3cPv5mHV=teuD6tR z01x>7DgdAzis(tu1pwJe&|lj@N?@6_X$Gl+!DM`0D;F~SV9FgRwIO&#$dF|xa~$AKfn{D&E(CA zlc-FKJ9`!*QIn1 z37mvK$hc+J+oh%IxOPoB$AGzTnvMb}%9lLr;DBDB3gB4rUGFnEjPRzgAk3G)em%mY zA;8>_hTbilb+xZ#^RIa_lC6aw@0>s+sQ3~ORI#WR02XVYV<63FSAtyW-pvC~(+7+8 z;Ac>n7$8avC_k?KMvGzr5w{$1j0wbzp+a^rcA;7T{kQ}!-si1b$R7trLotP zys@uvJyF0>1O*G#kuxI_Q=QriQ6CIJWKw%eZXNxwbGF~`YNl$f*&?E2XST^gyJbeB?Hg?x&4FU1BlK9k1#q7=_fXb?sX zHQ;)4F3JN93@MOHg)S)L1FT&pyw50h46p+-rr}0`JjJlV(2zsXBAp+NRgN3&{J@IW z0jBqwx_nV0B zV6+?W%<|#_^>g6<#Az|$I8p^X5_ek!$~{YNDd#3on~0F-FrQv%jX!b~G35Bp4yYWo zR7Yj<;j+uEbs=x)vGca*3-qU&MFe@Ft1s9)->u@3k$bS!TR)I|i^&xLaZf57)EXBn z{eQwdl`guKOIH+HmU6cz>&7@Zu9pgb3eJcjp5W80w_{8dEH*9;b_d8vFqiuOxOHH2YGWy9cVwYE8=-GtY0o{#%$;pLn zp>GrbWk|CFpx>L}%_;8!lQy7Vn;|zr|8~j@(EGFO0_)zt>VALd|Hur|DD|(*06ho; zv_DMhU-`PW^Ha00L_Q0#oCLkA`@V#e^}$&d)r(LrYlokAA&N~-x3io&uuGwcV82OI zS5>oQJ2UmJe0~2+OBlSFa6|byi~eNQ^!+-I`mu85`|pp-gORJ;ww+UVp`XcMS{rBi zt7-tASbmoO>QIX)Fzoyw`IZh(zB}s|JNs@+pBFu7XZeaVANB%Ao681_QbI6YcX^dT0GSIdoGhmZwb?#L!p{SYmk)meob!pNC4&>|nFaJ#DP#YwIP? z?L4%QezN9(0h(MnJJQCYPNv2aG(lbM35CB)HFpYWWV7a-lITO$BC}KbFzLn!3DA9X zBs#FO;fb>vnpv*9uSA|f*S)2mi(g{tsaBYRT}4Z6LCuQi6cvo`BOlH#(KQzS$}EMg zraf2$ei?N*cq9|%26t*pdCg)OO(yON>|5q=%)P){iVlm#iSjSUF{^)8Q7fitke*G6 z{1Qpqh8Hz?F*gqXpjs-Dj6os!`cAmTyH14e(e@mVcVvSrH&CRP*^igN)YGXpfbP50hoXBIobr*RH z`}b4-{ajv!(at|wIR<+ED^o%9*G3Kj8b6)#`%pjScfyaq?;z(Pm%!eg3II9}zn=PB z0?YNUb7_L!ko=XX=K%b|~L_L=4QVv4Q80c0Mu_Qg?)4ps) z`8K$3Qxp+U_7o?*fPtX;;@Y<1wFplCb@1eXAUlN&Bmgfs z>((KH0idi#DcAA|QDL;@TjjQ|WvKe|pb99U`iNB4MyV}LR}0tBs3klI4qHs!B&SOYTm`ws)))Z7^S%H0spnhdI(gw<4g01 zHOfKGfX+rh8UD`i4-N)E$_xyUS^K5{~YqOhh8UOB0=K*GP2r)T}i`u~U+Uq)_TtH}9gAsiqqO9shg zt0TM``eA6L)^sR7%6;I1ki=?4q`=G}-1Qb#L#`5_zk&`L3oS!y}J5ahk_aK<{4|TqH0Z!HWp2^GY=n z{;D+r{*B6cyqh+&tQeLtXj?2@A%FY0vCp@k*Ume}QVW7W#2exrgRK;RwQzp3n}9hb z_;4l*)DL8xL9$0=fdL>i)#SksuXh-fyKXW78gd_WlL1h{B)K!^d+vtL0O(736Y58$ za;6;sz}bvpoh%K+$?2RR8^-UdIsKlQl@`ZRnz_xTW^^Y~{0Q(tfnkRAhlxfU$8 zKl|F~e)wxfKjmsNYSX>G1q7@mf4%8K&Xuvj@&i&f2OV&i{FP_)7TfVkB__@b-Kyn7O>B$ z5u1C+j6Hj^q@qqI%s~r84yc!tv&zY;Ug^3MXW0c^s^JbkQ_sR8+jP&IJ9u3(&cRk3iX*dTLs2v=3e4{Bqsz#%4ST@FP9 zwc_64`GSVX00cI1&W(f+Y%%9QEA!L9d?vA@of^=es=vC9*}6DqRwY!l`nCTI?50WB z(x;m<2bvmjG);l)LY07}7x{Hlr!pg>sfYzJy=BMF2^;*Fr&XT%;#-x5kh>Pxz0zt% zq*ZZ*v+0I2=&V!@^2jw+>{`fzh-LREdFHpl>%1(fbLI)L6(K{wpV>HHL1OMv&m(zk zXXcWTks_#4P%0}@;>(gtPm^GvALnrgKtJ022KYh(U3Q4_t=-YjC}pdU4_$d1d|`l2 z!-w+5ivo4VybXQ_K>zuw`E`dy5Baz6&%^I!x7ep<%HKKlpLYNx??Y|Mi#GC;GQ#?i z_rT{8SRO&9p~fc}WovsGj8eADZx$c)R8Tp>b69nXrWG84;yO;$Ja`1nlUxrx+JS#U z4x!1x*?i?8<0MEiY7RjL02B`;3lPmlg-pUTSIIE4L(xGd$}g7|-C-B!100oWfJfH5 zTh}x4LL&Cbs4gP&n-y7-mj#IgvRrv_vf8C2{`Uw>3xEhP%iOMIs>HrlcZtdpyrbnL8v zGXb7`0_0KIkyUrlFl=OaD8HH?G`ASReHHxNS4J6z5LIp^8L--jCUCJlIvgdbL3gz$ z!gAf6ReB3%)Sq745%E0%_$KPbVLlH4hy%8D$WQcRcngSlVYY z1DGhme#Sx=h^%0x7uP(gBL;;bh+0tO8il%eX4?#aUZA0Wy?Dh-M0g7R0yhk{rUIap zr60j-A{Ly}a*c7~6&u&jK*Kb~sHvybwMgK7$&TPpm;+v|EVu&XHDM9qH^BF7>}29- zsWl>Ss}TUbM(jpX$C+UwceGGa@f_1v(;O6Y)dRC_-pZIYwQK!nK|jLpN-WC&s1%(t z25NTTk>5=E*LnOaLzMYjJAQ2h{d9jkbQu7Zp5`3@eQc)RoAE`0pB{utr@!;@8!lciifk#06pPWV-w#nRD`yl5(2!#YTLw6zv`LL(!&5!%h} zSlc0W0Deiq(Vl`Y+O`z?e5W#j^jucumsk`nU+yX;UQ!$Jd=@+^mUg&LYmLv`4Q3AI zW-u#A)mQ|PCstN&W$onlxOgqZvMjzgWL`S@u#rG|b6eRfO3QZV#dEBS%eHgHsMeG? zn@7*3cAYr7A<#C#~O5ug??3Ompqz3Sq;h8ngokgbG|JWOS4M=#C72~RPd zsq9YFMzy6UsrI$D*V1ll+lK%}V%lLWJvRBnmz%wUBDWyt;#Y0}%9x~?zBT#1rI`WB zHLKDCbl#y)*#(w+fW{Av>~3cY)EIduZ19-Nq8fMk5!9B z?c!kI7wJBSLC|T4>V^Y$V1LP)+{i1wg8?o8kl-GWK$-ZNZrzlRph#t?r=~RLK>0YZPYElfcA>u-Sv)qRDq13ey2l;#Ud~Fen=ruFN>T=GS7!)R`SxtG? zg9pb`%=s#-5vp&TA2=tjpWJA#f_iEZwhu@VPIP>@4Uht=CO?70f&p(@++mIfFTN^w zeN$$Rtv8^tFbnQQlx{(i%|Xa{Kq8a3mWqZ09Jj?qNDsjqPKRd%83XLrWyuU3DBP~Z zY#Cw0=?*lcvn)0^aRAD@f+Xm3f!D}f{nIz_-YWdXw&--64bV&=^S5qh{-dmT(mS&& zTq#peV;)LQ#yYct4b>F6WdEc*?Cv>=z>(osD`l%2gY~YW{m;hO0omaD9HO90O#C?M z`4j>}Wg&-WVa=C=HLaWRm%PX02w*^cn93mPiOk-9e>oIP@+KwiWwQAjME7xIM; zBvG3(iwr43pu7{fx99*lOC@CB*yQX25?Hln0!5NHGV{!VNhII^4QU9Rfb%e|lMmj# z0H9n`D%GTnhjye<@Wu{2n(_NX|NT590F;)&=L*%o0-*N~=_rg3=kc93LASsE+Pq6m z&=~-ohtvb40O;?$nEs#BuwVI2I&Pn$U*+vMSRMW#H9xZQCkfpz8@$g4ICp)iK$|GIEIiEa)=7mR_BPB`{~^K zhHIm|%|Kqrd)kPo;Io3{O{zcPq9Q2t`MrHVWC=%3-$fcqSzPwnx;(FzcKz-Qu#D*b z*NhO;WTOqeHT{7`)zfVw!E`eT_*02(fzW1Jsr4jNZa^4BR8kjQ*q9g$h5WsoTVo!~ot-2nW)L>pb>KK9J zJE!i+t0w>?=ts_6zopaQr|0vSns9dXa~=x=l+n+(ya)7SlK@cK$+;cBBn*^#fIgmN zC+G}-PW_vQ?w8;GPqPD{w-23c1tcXf0HA;JEz-T3R9#C|ur_TsluK@7S_5B7ar6Ga zTh1h&%f5|;yyA$GC3St_I=z;hLteFYbM1&%^n5f9jRHk(RWB`&_(5ZDX8;Jl+EBvq zEq*I#NdiE@B{3Fe6=bZvQSS&Mx4{usDZW&`01#&+9E?{qrBZK!a}ZQW zaxI*`(6IQt~AF#u?me zDJ|HY%!qI;@?7MyELD>{7fJg|$n{rWKvAnSrX=uN%uK|@EHH4C({F*%WcDRkJ;hFw zr)LmlBy5`u;O^W!&{0A{JoH_`ea*h}7wV9?YF#XNDod97D%^OC5-iKot*Uphu3D(y zAei1$*mmC`-oL6-u6gilFlf#v;oy6NdO{5TCyO=?H}QC6wX zJ4AWRXSV|YWfEu-0QBc6p9LmIVVwFuUbVmc_G|OUuW2DzYJxtc)8Nx-7!UmpfCT+~ zZDdvb@b%n(O{cAn(sBJG9RXGtAh}X^Qfo*p9}e%DI&neWq2CsmHJ{jg0s+-TF3Wae z`t99lP(dKmJLiJFYs`vSjp1t$cNjVQQ`Y0VlC+@&U{0#3TzQqULru*9d`}5O4VFW3 zOucF9c2qAv2#1taW1Iph*pE0@MbOGQdiKtg$$5kq30pRpaD|-4um!ilQm2%alL!ED z)*F&tj<`Xu?g7$Oj)rsS@V+j=rIm?W$ZK0?@M}vPry{M;b_$OM-sr_Iy>X$)-xDHb znPA=nkPW?78&TO?-AzUJVTp06dh0Bf15H8?@7;wxHHR^tUnDAsvw$NCureUUG z^(*yQH)w)F+gUU75p-t=bkX)=NO<^A=PKtfv3dNBc!Of&p=vmC~}^y zbABVFqc7-vY%5c;(B&v_aI^=m&s&p0fza<58XkVeOOdB~p#Z^-dh2GsXRwPXtLCSP z9GFW7*L>>e;7H})4zb!&_N#MxcqdkA)gm~9!tkA+0V96dI&ua0@L2B1mM&kj@!0CfofeQDA*(4S6; z-^ul_UKW0(64>vrnm4aX*Hiy^8e|oi0H9l^ zO-Tt1mDTxc#;S7Nsm}mrcJG{eak|Wi;Q+~Um9(ANmdsgDU6ZqFi_LwEc~Eyl!5;qx z;tp2LVZhujS9}RZILFPjKl#d-4Nxd$-xR;;a*L88tez$fQR+?&>Gp`9jQsAqJvanz zsMFgTlZgu%FWRHPi-zzNcm99&ObEUFJ10DGXeQVY1wP z<-Ff7t(Q-@=X;+u8YNTHc{$H;b6c{cy*Mf)V2&gb2pWGRGW3 zME-|8E6(W1@WWg{Zj6(h3IC^_6^4CIyF3gvNc6wbv!b>TdRAb+rDupaEzdoh&iBq= zt+f4tbC|x3eN}Fi8$b=s`1OXIC=zQPYfr&rb3EFJwRQZKpM_vM_3Cey20Wp0>eSch zpn0FYP;M;N9d-%;$~yq1O@N+q15i2xbw@v^0)Wy=_;9UE%nP`P1D4t_@+LL89pN7*5xV9xwtnfeH7 z&gDvkUvS8u0B@~rWN0{GvoSBU9)Ys~7KqP#4q&3YgU`>9{_=Q2zOwq25pKRb32!`E z8Y*=ggytLSNisQCZ$ZJBniza|Sh$NTta_u4khmzCOGQ<~JG6q6=D_PX8Me-khn$Qn zR$EvZq+i>J9pL~57cZ}AVP?420O)17@;yz|^{Orsre)`v7h12gS21pwS$=33FxWCn2Kq}FB`xcClo4A8r z7yzQ|ziycimJ*m|vrVQCPleKU^ad4=*mrFV{TTo;dl3K={4jIaofEZu{$CVmxhB90 z7Unb-oqhVcwvJ7F@e$|H`3Fso$wm`lqO->eM)3U)VX@6DEhohA!i$@|SJgClHugov zp$5zy$OUG~joUl0ju+y6S=$*1nwOwh1FON8nWKWsy?cPm$+P%p_X<)++Q%asJ@f{E zY#*RjPeMJ9kEh`=7pY1QP&54_TRJysUDuzlx_k=Q@ZsDG0Lq7&2u>3eF$*pDO zLMkP$rL1^Sj!J$tO0$(JS*||IhRWIQmEq@-!Jd0%MMqInkvaW z7pceVG-Sz-26hM8za*{x%M!cDTi|hcO4%c72hAscpKOhI3j@$9VMm0PMY$$J6-YTL zMnoi)Y#~}e-#&8wm8oMOgG8>ZMVkWYfbHV42c*=a>;l0FFiNqP!;DtGviA z6MEv6yh<@c-QXiu~_!juOq=)ib9R@jv`3BL6xj7rL*_1IzW5in0 zv!c~S8kM!K#fRv4M3U;$Hk}>G_|v=>iyr7S%9-^lS+Qw;dR75yWa+pwB#ha&IdwiW z+pOl&Fxa&eZCRh;wMIQHy!awWdogWSJZN3}+_k!2pX*VL_74TA3Zu6V^=m`-QAPJ`|TL zx7{+YtPwK?wH0q6UgCsq;E^LBhj>Kx5<8^rr0B^-T;jIhKPky;>Hb+#1CVsxltbB{ z^42^%`pNXq@C{4A^7^kY&3;XvPQ!;+?T5SsY{xloAKEvk?oB=oK5Yn{0MSF608o<- z#Q5`}`*`ZG70?%9fTRaV>87*~&@SA399X8I##?TM#wGnqK_?1;Py#T|w{u=mS=9^} zpvbHg^C&z7_MV<-CQ4|Lup!}7?zxrR?uz}27Ih`$wbd`{6Ga_WU0^nsdTKS01amcD z5ugmIU;!&o%_AkYdqOpDje*FmRC8ysD0Pu6u>uZC*efP6v)Nb}6D=eYOgv_`We%uH)lBdkHm6}`>1FAL?pYj$`Q4)@F$;}} z4TZq#ffDMQa`-ekl$d1U92N@SXp3qKx}9)m=**gvKp3(?XYb7bChP=j!z&t=yk+@o z(y&AwpRkD5VDw6Ext7e@)}FyYHYWp|lF@xG_>dLYE6D}31BEOa-rJngHS(?2j_*9% zvpfzXu^d=E%WZK|Hn`HOrn`{D<>7Vb-`0X?R0Hvc#n;iqq z(*2XJcKUoC-WLEQ3{d}eM?UA&1JwTUs(bUQeVe+Y`%if#d;&lZI{?ZUChz~eCY?QyQ?R>ZWiUg<*=4$}RvX&sQZ3=({*vijK})c+W5~*A%lKDC)6W@RY&!np_zn>FxWSB!yNF9FhU8>Y-q$-v<6RcY%z;zw1BhE@04;n)mKW8R|p6L`+Srk?d5 zzK;B!O#!T%Q$+ET#(!&K7C03L@0cxSU?i}+zp&$4;PwF>#9lP*fiwVsVBIecsz!ii z+M@m{uzGF=J)=oJ77X#s(~Vg!cUE?gank0&83;L8+*(!uJ}xKBzKN`DY>;0Hp21gjw!L_gF735hfhM(6IetD=C{xApLPuNkO5FW5o`xm-_kaVJNilWwr_a_+Oxv3Wq(N}sWSR0 zs4aj~a}AXJ+sg-q^ZC=Nc>|+n$}%TqcV?ap(@RaB;0Q#@=3+c=4^=jn$bw%s%iaYo zRx;!+b#{(>vQBJ7LT(;j;Klvl#AK-J0ijLc1}f-8jqk9fA;m|qWa`_a^$QF34%$DC z+~t=AzVPfYPsV&k$$JU~%2pafLdC}vqcT7_vtxC#%2x=wcp~!e5(sT6isjstCA$oA zp-#ARPt_>$-A1sNnWEV&1oCO{tX|ADk?#9c{^I1%9$5h>hpynYy@gIZ(FRh9eMI=A z=h}7Xd=39u5n*PJX~i!suo^wnu?fsTR~vzNjEcsI7INBn_g>q zt}V~FBb>sJ*65cQ97hh4@1VA3i3Gn6`D|1%Q zZ^vF5G6yFS89~aF)Ek5Vy!nxY@f zmH1Vx37iQVowAR{1gm8kH;+%?lTCX1cFvb}$I>E|5)eM?7Sr0YrA zfcAmzgG+_F*J*)%lX`#vfVR#Mt9Vrlu8u<^!$vORGj)_>N-vJpun3wscV>R*-`mQE};-Lq#StYXXEU949;6#XbHb;`)MK9C(cH40PcH3 z>2M=xyLL9SA$2x*Q8f?{?=^zeASfSUE}QTw#m)S5Wm~5^^%md}4A58I#fq#FVBLC* zie!oev}_dmY?QztxHDE?n3Fz%y_k6-KqTmIy86 z)9@hh1h7ze70f1D1Jykm<3iR%NwxKF8IK$NHnm=rZY{@)Q=gf6o5-NBVD)v3Q(3{j zP@Ns#Krt4;y|)+hy)(M^0+t0MYn2LWBhk*+`0jU{;-KW*=2-s{2YsKY%w`-jr9B31 zfpw_D0McQ!REO+KT=Y$N1g$Jd%Z*|nISF-q%)r<__q0r&RLVVb5>BHVFXzhK&%@X&A%j41m%P&i!Af;meMv@`|!==^Ax2=u~@? z$KQwqk`-YI0|B@>ggerNG1@Q=O{7qOg-6`RLnv)Xd6E$Wt9H`dw1uTa3*sS|RobXP zwzjkPCgoqn$tnfyGQ8@&tOBa0NGu5VwfGDm@DRo&VEv9KV-*{@Qp*{z1`C*`x_iu_a`3d7U56}=^9dZ_%>!tDjHX)GNba>axTc$DbQVj2xMD~? zAy%gBpUASvgZ0oE7w3W!!+u_ z{TB8Wq!dD`AA^e&?2uP~AC5%jJBbUINSYA^N?>h1e7z}~0Oc(Z^9ImT0&5BY`ujX) z1}LMS^Y|%k^_(_4e4jP}8s46|9sK zvBuAE>Y&E|{NJtd7ntH}{MU_Y{I~yUjb9fHA`ouA#{Ya&ih~HI< z#=q(e(h5oiMy6>ibudVS=W48^%dm?Z$#crt`D%=;>qELzk6pzL7)(JxlJXyG3#T{C zA8=kFfu9TC0Dlg;oh=|?UfBDIUE5+q&6Ssy*NUaTACQN zw(g+Q%X>o4fsqH>IxYX8z-F}zgJ0$$y&Hrl^nk#(*vF+U7UQt&(Rg}9y|Z!8t4ZFRsw-swOKi%V=4*6UlN*5A@yBV9b1V)UoHh0*x4;1cPKp#01mMqXHnROd|~V+U=c+IHcAkj&f_T_5fYN3UHS* z(V7d6=v#Gv_JBMdP3x_BtWyq)siy=^9Qf4(pz1BEyhkCRHExq7P&nb%S{Iz0#OjpVUf-3O z6zUP{!^JWV>ZG5P$x+}WLRjIir`$R9S-IxT#Sx-3HtHM0un*zgR<-)BuIFq*?knJI z)n&;%9##(yhYofdKfzCNP}rBc+_j?Ybv$v#!IHzhf{k4xiV_a3|?*_#13g-m{ItzafDPzGboH@r;37$#P+d zQB8x#sdAeaAD)(mfGjaI^!lz(Yi+H3Y>?3+^^9bOlX+hnj?Cpon_tKPZu#`nTRW*5 z%UNKv0-#(7+i^$+KvMroOien&bVxAhoL0jBl{%XT=>d9Qc7h(#VW-t1cjF7GvpzeaB z^p6JA=$h=U(JT@qzg0aJo4x`@3;%=Kjki_^+|D6(kmI7A;g~IB5=djy zbhCatTA@a3^w=teD`LI9>4Fc+uP&_Z+Wu^*Lg|9?d;7WGCN!~7^@I1DV3_3_v{fs# z2PiKv&#SEZs{o+yCs~I+Kld2`b@O90KBg|6S&s1fdq+P)<;Xc0=e)&FGk(yWpwm7; zf26wjRqu1x zokC>)Hu~F^%HP3@&`u#P?W3+ES4St3bMwIl=C?GH4@C}M5dAQPKBUFd z`tnhSHXkWcWHzITn;yWYlp@5A;v z2i&9s<*oM81uaF?Ke9?K%vocy??9UP(ad#`dyNWKE^10+j6!6gt%5`n!YQm-y3Q=P zsGDuxGsjsYAHp1okFQq%M^QGPD;vL9>nc(UKMMv;xVDbcgSN*~mn0`VqGOJZ0tSlg zd+^n$abQbE_IoQc5Zr=o-D3>eRATgY3h2im-kLLp)8K>+_t`qfQz@iDdQF2Z`ZTU%0p;L0&18?=*PfX-UPn-$+RO&Fpbg8dj@P$<2R(WsYN*x!w z(#FDD&(S>#kG%*#BU#~lNGPn6A^0nqUIp--*MvaYL{KITn; z%2{CN{%te<@<%!mV|aTS@^N74NYp=1c_sWg?Fao=0zhd!{XZF7JthovdFrqGwZksi zfw63dsD020pzQB`j1~xl?+nCdFh*gzAIvtL#{1C4T{PfTHz$cH!WqjCq*vBlF zK5oWHR_tG#pU98HQ{>t|3HMnvKgO;JWdj0}@KsQ$v547&hzwOAufrHhI~P3*bFr2M z?H8kz`zuW!keb=n?>x8>Y!iplqB)G8{4Qv_lo{ z$$wuleHfwYfP{n@nuZTCl_FTuL(K(g10qCS%^5t8}N)L1o&kg%rV2<{0%CA(a<*n(B%Kg#A4N1~FnnloTn)Kwi z&=7JCGahtPhSl51Md!DSfsIt3Qgnt5R)(SaJVV3Dr`h{H>mJJTH(U_rOJ`~#%^%f! z%xvjfDYmkNF$>~Ruij^}1kCyh)@e;*GGO>6(MI;Ys#m=Hm^V%=&k`r#t!9EH%FVMs zaWkl%WQO;KQ$@pvya;*7*J4xIziCh`b81$D*MYOr=rC(qKB`s>ssj_L0p|3APiRwL zyBmL^zU8&rvPn<<(v0u0kL94I56YrzMsn|v6?@n6F5*MPQpEGa67j2`Iapl2B^0=emwjqJB!yrMa2yXUr$EP18*^_GA~Y6H6E z<0!tJhVRYzqq}@>r*vfd4uHBjBbMo}9m%{(hkAW!r@z|ybDLIyr6%Yd0G-Dj_Pj}F zft?2dK+*&BXQGKl0YLdQjM4}F_Za|ae%eRSXC4S^!FCySayrwdk@qxDbMY!5v0y>dr#)U^W;M7=--F1I%!jydLCd z0r*ycsS9reDET7u>6~|hp0mCoK|%sR!3H`LGY$E206?&;p#0_>c+sp5itlk8)ku%7KL%1Q(1FIfn4w@ zM+tW9dARW86WRlaQ#%&YbLU-={KzX)b~;jsVZBW^d6ocL3Qg(CyFZTw0Ob=YzBj2k z=X+{`P5|gzDuJac*q8J8IiG5pR<*a&r)JvW&5nNF@0jO2zCHJUoVt7#Sd-5JOZ`E^ z$FvZv0HE9losI+hJNFZ%1IDxpmJ4Bmdu9PZ`k;Wq+}e6IlyV=6r5~+w$&-9rx%%CW8Q}O;T^2&!2?(K*GU! z9{)uBzEdd<(m#u)OUs$TaS&p5fnXe5`Fx{{1dP$@b8d2uGpA5bCzs*XnTnUZF?Ng3 zw*n}H3`3p=Z_Y49L(yxVAPVpTO1P$Ls0929i2X6_`D}kS1R%4}5{<--vHsGBcfLgnf&9qB0H4Ok8yB zu<;o>(IXND`2+w6umfNP#6}4J0RSzOym7WrK?Iz>iMPPW4IJF`z<4C+}r z*rPF>9_SmFMr@FKUnHDt@5~W|VhdS!&H1^J;J4dgoH}fo<;L1eG1?_dH!7qsn;UE) zq?b=+Q8{o$UiY3)fPZca07^%*_ty#l%^3it1|X?_?Z74jpy9)LeBX?3PW}J=wfW`u zhqM|#p9NM*U}+VYTqgjaF)xN6^FbSFAy_^QBk#l50stijD1)^Tgw=Y$?Q4&Y&siBT z2B-mZCF;y91e3u$3V<#B?egZJc8k^{Z$#yV#E453wWIMW?ie73@bU?x69z!6j-;S2 z+g>z>;4GGl4$yls1{z)nKg> z2cM}QAScz*`DiNn%gAmokUYUM&huccF7pn$;oq7;9zrV47AI1R|8uI z22$%VjC3WAmPQp)sX#cfJ}{Uw--X#+s8|rZ1i90Lk}=1j8sdi$;-XM(_P9`D>G^=G zhkceB1#W`_o=&$j*pMUynBsA{vx}8jcKQ|baBj+0N(+~E4%W(FtK16`w#n-uSt73VQFM}ivqfiJbS!~VF z+^ARs7YW6Mh?altSn{sKG6SM^kx_YL@Le*TsdK8qE|2myjd&Ny;Op6!OSO7twuv%tlrJ5daw~gT&BVVNFU8rg>iLW*fVz@h zPjt_T^Lv6Cm+%Qf9fiOVinkPQ)nEh@0M!ge0K{R&w=LFum1i%gABDIaPT|U%`gRlZ zvFsZGh;e5HE=Y|SlrXNcjvQnuW+3rRA<39jz&8>HOw3Pk@&I4W z9>bG!hJlcH136VZio>Hcax1%YGzm84;jcwc071-%FRH+z;WPQ&M+PVu82rYeZ&61I z?_IcaHg>>bctx){;Mk1M#=BF@9ha7wDvEmh4NE7Gpo@F}S3V1D|Kt04czo!;=IfCc zz~?hecj)rh4ujhLnxz9eZFbmB@6W@VwEbcG+pFf6-(Izu0ZRKrzkBF10P6mHC~Lul z0m?f;r^WDJo8jwu{I)+hZ@&lzNSmN#Eg05?T^6f12MlZa5u6CS7z)?{r`I_UDBqB~ zMA)%R_DA4lkr#V#)YuHn&@9u&#jka6A|1LU}<06R1h zVl-hZAbqoUB%Kd@lIaYmmsBWcSnt>=(jxmU%ZJ~Z-;4aD^W;k#wP>@NZ_x*#e`Kp2 zfk6T`Qqid?M{=ce;2-29)G?of(Wh(wBkh7XeQ75!KUQvxN?>o& zlCV@8dw=TRKXmUi2HF8oDxPH?NlRe)+W$Bw0F?JaoS(`rh-putB_lOi4=;q(GdZuL zn!UA#F$1x>ntf3q&ca#5mAcO)N3PjV%R$YaS762Z_iB_~p(Vrm0!+W$b8+1pp=KYq zv#iKQK!HPrcCHXMfHz`W^-YUqkhdoA8E)lToxxBx9BcN-ftLT@n*DVn7SJ2s%+h0- zkVC1m-v3myr|h#XVa&BmVx~eX?;!umEzWCIe8k(`jL~$zB>?0cQ*b)$M2>=e4Y{~r zWb4k@UMg4=~Y`&yR=4nSAd!Eu|1xuCXd+*^20Y@|IVzv)^(Pr1KPO%u-aOW0>C`*3GYXQCk zDmiX@^{g0@z=hVI@}(~E5at%f5u7e3DwtEU(~t(&NeDxn1LzzQB(lEAfAh+52cUtK z4V()58P8)GTXv}7tL^g zhx0$(^mkVP&?h+ytVvMk?P+*(>UQvxmchS0GXUy8B>HEdCg>eZrL({k0F8-j+Mg}- zPsaeLV6@z=Eu2+w2UB=?4QvyMEbBBif^FJ-dWeWQ*!(02Ilh6x7OaR>gfbG0(B;Sc z2{|mMwQCn?{2OsLtONjU{FHE!e>uqV;V1*L)%Vq)LiG48;)KFAXkNXYmX zV#NZ;3rqlB8Lxxbz(!t$?cgF~dgPyI00`O$k>b5nl00TB^l)BF5Y0K|`dOZBGWbaI zb?n@$py(W~2SZLDNGl9LKfA&!7wH@g;HNn9ql728jD<4OMqtrsgn0@7qUGCnVLDP_0@=(knFa!L%)-z@{6+ytEt0!teorZX@Y0DVZy!@Bnm-Jhq_1N6C(9-wp}d|CpQPePSG z=&$MI)&ASA)@e1Go`aE>rAY}a*X`1{pPNFY-v?9~xp$jIh80ZlB8eHb_ENGQO3vu=Qr4ea9Dul<|*clOuUpBEW=4!}k$GeUBkMRX$Y)mSBj zy-}ZXsjvL~IM-RN%RKHs=aI@VJK%2n`-;R=@-yd2``zTNRYPJHh3Uxm8F}g<0gv9MO6I1?dc&wWThG$AlBGOX zCS4Q>TEw@apG2D?i!#x z>5JIk{OZ=RR~Y#9yVLPrk0Ku@tSrGZi+li z5oYaYSc}+ekx5QuK_f|KR&6iV&EAZ4OunPD(5v4rdMKU*<7BT6lYy7;-m-@Y%l)$g z59FDh1(CE7J4E;3KgaMaco^udJO$I2%nhd7xo8lLUkMIfISqrt8qt*<5|vo##h?`PQY?T7RGWzaH8z=bix2n07(j z(a%FV`0H(6`?Z6g{|5j7|NpFgi|OnXEN?lOC(Sz6hQK)m&f7tX{;Qm9Fwu}qq-O3`2IM&J4h4sSgT;u=hOJP z{C_=eqmyId=cTUyx^B^NsAQE@&ilNd~eUaZ}1H|n&+IS=^vV0>1YS|G)k7eCxP-T%b?vRzSmG2d?stz>% zRZ4j0<~g_D3%zUZBY&bsSzbrJ_bjh=@52{iiZadq%YMewCN%ezPhM_fox>a-$xlns zXAmZ#zdz%7)PQiS5jFnV?kR8Qk0Doz2xdWodP0~XXSAm^d(huc`fMGIq)+$F0u7ze7QMPWtLBGgv>I0v4U!ko@grueC`Y zgJygZ59Qh1ds$*U)PFtSeJXhuU^OAh47*j&6*rG)DPUV)-whs^9A;bsx#Mm5tCF}1 zU9kHnS=1u7*8$D+HyS(Y$1n(t=LQk-E!7T7tU2QjaLI4*uOWE4k6y$mh8KLMnGs;G zBmeaC_QT>s=MNw_v&J{Fzn$fu>Ye>f1=hqYzX^>n2TV|I#21WM0JIrr5H}Zy5ga3+ zs0k^@C8%pd!FaCz5@Uyjd%6FatrSqN<6u{=VXJI}I26ip?WVFGe*3v>&2xDgYMXN1 zt?*Mf{V7Yhij=cmWm}(m6#Q7&&#|0-v9X^Qhu#R#Q3+7lD0<^ShyGo?>UpTs$HJ$E zkB9!#Vc2NUS7ATGyei9i+8(8q`STRW13Y=yGk=g^12TuN z0A;i|aUq8pCFI=ruL#-20q}TyIdBteQOx2@n!~CS7axQ=Zlgp9ah@Dp?rgB7nM9oh z56K)>ZC^~gqQ*!KMPCT%E8#dbojBvGvr{^X)-|;VPbHtx zeQ6a0iJXPGUX=jNY_a+b$M*N?>D3t46KI6NH^!E}B>^8eTv<4@f#P(hY>_%88rfzOdD=vw)dfN7# zM2>wSL%@iB=lOt}4bO;;iSRfMF|jQ{I*NI zLcpeUG5aU)B#kn~8f!S!jOhobC>UE#jQN?NXMm6;B3NsOaZoi#M}sCkQFC+HIR*opnKCkmv;nCP)M zaebzeitYbz+qc&Spp5`+WMiWokB8y0ZUQ6(=&?VS)8M1l-()OA`_}04Jsnl$|K-f~*AI&2TWYK0yQsbiu4S!n=uDQ4J>>9tPvU_iq;;8Se>ZC}dLb8beNOB^ zdiYIkWaj3L=<`koH2@d~jX>%1yOLr-6fK0?)IPsc76e5S{KA`7;86aAY_%N?r=$-d zUhY1FZwx?h7TAy^p3M~+mBF+TU)D4HsQ@cCu>=x0lT&TgD)`+MJwpaL$8lr5)rvgg{5ZDmOGYU<&yCN5YH$b zl3_O)KN0}5AExg_HFjPW^u^|BDZko@SZ9VB{5hrUNIx{ZCAuMhulu7tq0bZwWJ5Ev zm}`P5O5{A$8B=5cZ$8Q1VSzR%1QAcPMHeV{W3o8L} zR%I;L!YgMU4Yzz(@1kEgT6(ohz07mMI3^eNCLUO%SnyWImbMxY0?Lj2rJ-d$@(tB% zoX#GPr=GK^eX3?S*3NbGtTUojBD$}AHMPw~oAzzv7bXP=U|j3=+jgcpzfy^hhEM@6$13Wn?CgCKg!t|WdVITMeI0!D$C&K$I=8{ z55(xC1Xfts*Ddww&b1C#_hfYTa~9V2jj|k1zl;Dmt!6!-0cbbz#!N3{d^1FNxp_7T zkq8jwg2a%TG{tpnf941cZWBs?P!x+H#Q8E5j)hCzls$(8vB^2eZbI!Aoge)Su^I+# z4zE22YY4Xw;f9l58Ch2&DU;C3f0&W$BNeWBuz4n&P)j6@ir{ys7`<2mr*~+@b_-zW z10w-BnZ`h3vd<0yoIcyS8xtfhETM7n3qYgF(7h4x?AhpYGiX_DVB{>vC4FNyFiweu z3{|Y&(c4u_^zi1^C^P6Y5wuG4HX}VhrXegKMK+p~Gt|FvaeIeLwNdIgWsH=lXxs1k*a(5Y%mGwX9nijl` z0C^(nB+2bY$cmS^N4rRNP*GAi-%Vcsxs@*Fh3HeC1M{TvLLZdaB z(E<}@CeS;o5i%k#9ueASQlt#QF7gaW0zo3nKkdq+(EGnZ0}i^E>XFIYOG2U0?@y{v z5CsCxlU6!Cd?UmQ7n7los?E)J-GC3GTuu+TEmvLEP$&%Pv7nIHu&{_!vFKV2zHa?I zm6n^j9bzqkl}k1O`qGzE+rJFu+Gx*KZ=YKXb#M3!#+UrkE9m!+>W(*rqBc%6j^SlVqbZNp3_o2$B4L(%y==j!><>Xl2F^5t@ zJ63q9#*2O4DGLWpp-i3jNpg)R%o^?w1mm$q_DnQ1suyZkGbK5&llW9rL?D&xlA?ke z1O^+@U?iAYuQbn{piyd#bVwL=hja+C9p8B?3?=;9bUQURk5>SIEwa-x);?K%3+ znGA;ex-5AMzJu8$r63lqxIKjV&AUD!7xwV7a@9_or7P^BR-De|=&f3P zDrKlziF&LW%|=na^kx0m=eh)}wm+A0*1NjJPwDW{W$?qxL;vgZ?x$C^1Nu!l9!z_H z-jyckVf&ju`{`rlP+tnA5&|@Rtqkk2E{5OO&)35s1gPxHXiYqexE$rpS?Z&m2TO!x zW!+KaF|`u;mplOvCO9`h&*Jb z{52C*qL7b%Da#$Xh-Olug%&L^k!#`kZM3~+AKDjUAB?LPo+V63^=1im7Hp^wLr2e& zQ4dHD$n($%!G%abYKkFKwX5$CGJbLoDxnPFD9F?_comg zqhJpgviX_JBdEN_0)z+P zR4v=P!}mkki&l7{wSbkvh-pY0q76_lQEZCPg+ZB;L$?{iF)p<;4RXt*Iw>M1#tQ%B zt$P&p=-FuGp;st8nX@u^;4vv0H-Jdp+9MzClbpZP0t%=^PD$0DPz z2%wyRTy7!+X`4(9pu;L8&?Bb^tuzf9Wcfu#6X;p zfy>JC-c#VG9smqd5@}H!_;1nUlCAggG=^50CB~VZvcd)iRJ;YG#V2`fUGO*x=d_lV z2n_-!ftx?TN;(Hwh}(%FJgXOT^ib$|q?X02kvdWopZwd&3oz-749)X%yEOR}kqH!$ zLkYNTY>)4b^qW^Zav+!zBUMn^ycUsww7$3psh|~tsr?yq2fK>a(x^&j2t16&F&Q>H zkMOt#1oPH=rFFe=fYpYassKrms_X-F zD*G3f^;`X12$1#wmFsP(ca>|SJui>LPrp9zUe+F<-wOdMy8+eu*ZGh7XW9h4-K*>d zG|C$Iul4$()wsE=ey@wuG6e={Sy}@ew7D|Ood{5X63g?(U8lkYiCUuiE@kS%E;X%5 z?fMj}Z3mZ#d4uUCjdQwp(bti?>IZl_2@XOY%x}b2wMOBz8IuThE{~hrOf3N-fjxUM zu_>!LWz-p&Vuy_pAW2hJYPoee+8a&6qMLvXAD3*j%v3@a`uj>86cUb1(DOsnnwvYY~Mme!oyv}D>$ z5nLh&S$EFSmCmfG*Uzrym}Y4fvMaCHFkX*gPZTD0IYKsT^$n&0--FLW9~v&H4J2*3 zDp7hCV`nIMc}I@t+}`dDYoTXzzi94k$s4U^4U&m<8hLL@tL{7P0ABl+DNfXDP3;SMRr3lNdN#R#qPtOCnBZUXn=7xTG*jntLFm_E^#~nuO(85K z|6zNVL}@>h70e^#x*Yp8eVV9-u%j#?-mO933Wm+x?i<;Oc{<__sYldZbn|syw1WFi zH<(X^6R-N8P;jM`lq0}^(?S*Cj9VTSJIDVL!piRbfv|*h(O2j>#3YQ z_EalyN`UnLXKjM6Z9r>uRFWlV5Fv3>lGFg4PYHPrCWask4TCTvTckaO324lsAv7Fo zSvk)v|4{Q6g;F;Z4jWz-HVOHMlP6wc5HLV~;#f`zs$ z%3*1!X%Z;v@jNU~*2BP$1p><||Ct&KHYC^*9xxWdK5hzVs?>ANVzj~Z}>e8Hw8 z5h5`Hr{E6Z^;4YOhSu;X@zlGOQW%nHO}r6Cxp);=T?`LJrk(;;7lJ7PD(uBpf&E_2 z`0C!)giNy(~Cn_&O?3PZC4>j&${h%za6@FhyFcpgjoBl%TCZ;S#4kH zUzPnVgPw+=|6le28n1$JQVWZv92&t$fMRiBH65NS=rM0_9SF@CZ1jzjH$^cHis}A- zEy2`K5P@Z-}1M50YCn{_KTO+ponkQSLiQglL%w(0BK1 zA>lpf5Mf7J?i2E$8+DgNl$|}oQ7A4}fS%Fx!DPs&$2)2w-WrN>qP174_w_6{>Np|5 z3F`_?*uLP!*Vr{^$m13QLJ;*H??>c1Y>rz9dZCciUlObKw42r0JH;LW=pEt{) zx0rko@^H6LjvCu*M~y72(yf(Ga{fd;4PJVmPve)3_Z)^#WvjxW90yj8!WcIK^q~-# z;lptN0ovG)G(o?v=U}`%^gsRbynFGidsVkbd|P%3s^_5|`gg~^C_pD`1Co7!dhG#{ z6TzO81JNZvFqDS^*XPR zH0?jvUY~rm$Ii`z>06wAuYrEXqpqR&c-G4XL_gN)_5}4-`WqRRm5fXsd(iv%2-IJq z!OM5&ByoFT2e1k*?zTX!6>uy+=oH*+41GNDjc|CjsOGJQuw8_Y1DV|F?lk+rmeciM zJi%g%<%nZz&{9bjgL$>ZnOBf?=Frh5<%W_ZEIPs$e?nwA1Z|1nRlx}K(P!k6C%gLTcfp`QJok1I`YsN_L&9^C$~x+u4tKzE+A%LHmQ?R?ht(KoP6HZ@)h!6 z>h&hDRRR{e8%GGWneZZsp1;n%c$OMNuKtC|!aMRfUz8`y9ez(%P=bKEDHS$3!bEGN#|pQxz=YR z(qKM*#uu&n6;Z>(y!3ON*%^q5^SbE81REl+VBon-kub-xw@G}I>O>0MnVUr&P{KAgrsR?KY@piTIZUbzH>pQT`h5S#3a@CCPSI9!=8cm#X-1L0yImRyaom*G%|ho zqB`uOlH*gXtn+v(wS8#DWWnkQBOj(BRBAGXevuS?Ova}^hP|vAAPjaBG+!k@sAQT=H8tWGiXW*(M8X%4&dw zyTNi~{IO;;QI>Kgbi=>aDKIDuG5*0kRAy&;0lpm#WJUzX0*RF8_q!2a!82$I$N7x-W43Oj+kWE~ zp*w^FVe}$VHaowVoj2H6hPqm*;R$)A6DFV>rFpCAUYH}9J13(|mXe8pq4`kZ0 z%k48oV&RrAI>h7`#{vUtA9>G(23>pgq&DwLp3aNe7}4<=T%0WpbRP#j-3+M~rUfx^ z)!N8$But*g*nkFL!{h>#a1yF7gnK#*DhrfOQl3>`JobRXHetZLoVI>2= zZMqJD)PyXm!P%7(8ikmOUrFcPyKpGDIy&5=i3aq@)Qys|KBUx{5{A^b^S+WkcLQ}Z zCd%nV9z3jKOd5z^NN4hYa=IKX$HU>JQFM@CFg=A;hjK}~!qG%>5AZ(+0ufRjvmAT) zmEP#CoB-Qq-Is!;8g?e#B6Ai_Zo+Sk{q8+j(v##^Byv-M#Nx4mDPhJhtLDq&<7`K(=Spa|W?nd#5k>!^JK9>?wzr{#!u>IMbLY zV+De!s+*+nIUG4_bhlC~janDxQ3huTfCk$(MU5H>h)i(o*Fer`1EU`ZpFW#?lJpP# z>dZJ}Z)9((}i0-*=dayg6C&H!t28?@<`~-RMCpsw6tND>#5Ua`lUNbCfE~# z7C=p|@Zn3U<&ZjJ=znEa6h(5VG7JY`ph*j7LNAb^p4SlaCl`b)9SLi}NPjb<(Qxb3 zjVs?h zzT$iAN+M-NoVm#_nQHjcni8Pnh60KOzr>jwRFGrLjp)M6X3Lqf*$6Eiw@6p?2W4YUm>CHJ>$JV#Ldo*9eP7fcg-VI0iID6At<0ae=_Gmr1Bd ztfC>hbhZHp!i+|^5t+|w1-l#RDB^cZR6RqsU~iGE%-7JbJeUr8vKh2VY|6Wd3DzCL zYM*CCnLQdiQBA?GSw2x!&tw=?UQPK3)CV1JG8`v=$_{-UTIpF3+z72ug|0g239Ssx76anYz}*XRk;d zyAag#E*+A>P|?3NQYxI%cLe|Zy-?xdZ9Ld0t(xy3+O?q z2*(RpPO{=P;*l9%NP%!4*TV?g&1Qm?iWNy6NsOm%epvpquE83<9)|6Qr?N3&-3rJF zkd(m2jlI+cpp5{PgTUTC?_WRbUOg-A&adh|K>zuFr+O5I?F9XH`_Q4Z0TlvNwuByJ z8T_YO2>VhO*?+E0&|gkQed_a7_9IK;i#HaIcG7b?jCfLMnNTmQI7Z~4cLjn{0nZh} zWH5+_-%sJn zp1Quv)_`15bVZ8!w)!c)1Umho&90Ev3grgQK0|)214!YDQkR%VVqTm?8o69~B%^m{8i#DfZeIA>!fq>X zAoHfZ$9C2Tk%NshD7&HX8eGW;TvJ$?Nw#r)E~uXHvfiT+QbE`lXVoeb2IA=W5JV0N zr5TikbONUry?>pl4nV&%@({XPs2Q18hPqhtSundI`sKdKx*dtQL_r+Qpb#@Pr^LWD z8+s!m#7?uC&Nc?OK)4Bff<~1%P3;|jRw`j*tX3jGOY0+1^JrAAP*n)y36y}}!L#n* z9_u<}OZ;_&r4vUP5TN)Z4nbUAZ({NO;(1{UX`a)p+SXbUJraziCJK{p%T@OpH2LRh ztH4wN8fGnlRdP~yf-a}Q|6%gYhi)_i)V+D$zd81=k3|G}@vQsLv#vHlmlD_@1Zexj zZ-?QX912#?k(V~0vJ-SUU!(3YEy7P#q8_W*Q+6fl%aN$5zTR4gm@1uUJalM?1gPyw zS-sC7l%)cLreT6|fLt(nvmP}S!tqEncAh?3u54Nk>gb7@AGveFsgl~aen0w3^0Y)(m_7vKeUGAHAzfYD-P`PI>$y%f66awu+GliH0h+(BI zqxMX-?Lgh`kp`E+v0|=syW;U*nGmQ7C~p)G^+Z96MgwuWaaY6u>Ki))fNlh5D=A*t z`_;TWXQOI0{s@a8MrNhfFM{Yo%3^9XEwOgfhe)D;o@eXDf)M?%HpSVP83QhnC9ke= zqVtggrzw%1YYrF_Pccm+@jeoexpri{a6ojYk?2k1X@7$r1x^5%0>&ta*I^>Ka(4^) zZ17)Qlwc^qx-XVHbTPaIB~l6KYJC+=24AL$k}eEI9%+>*4wkWW&dI@OZT`_`-Qdx5 z1vBPF48CwgXD!(6PEEu#d0-}mjQi63TTCsZ=XWI|nMQuKekP~;J7v_%d=NXm$@h}O zlf?GqSa~p}>xCy7x5Rd9!Ge@;0cWBP-c1oS#TzXE6gOO2d-FxIz)RvO$QrV37J6HlSgaL*UC=_2KfVJAXJ70`zCy(XbGpLm@y#-$4`fv$_-X_P-a;%RWGb0G+A= zbQpd=ZUkt=abV?aRXYm|$ANvd4T!F2g6?Y*w6sM_KM))vvg3$8%p5%s#_ZGb71DKf z3G}Y|Xbpocb@i+ZaT61Lk92`Tb(61n9*hhrW`{JD0QxHtwKN0@6{I-s2Z|XXvb09U z34j}$URRRk`FXPEsquZ4nix3UbFqxTWEC1uUabSA#G?^-YC>lix2o(5C{PQ0nMKUe z`<+%4E8r+9ak@xz!CJKsf=_`JWPuOvq(*l4RNK)whE@DwAR>LhD-Yh(s+>qihefSs zz^<2*o9B?ikzU1A*wSVS8SV~D3OzNol~(4(qneKAlX*+dLT2hp1q!cA|R)u z%@Ul@rNmgb2At8YKD8LS3&a`d#MJ|eZlN!VaXSX_w6`(#delhP7kAj{xS7(gXJhHdT7?%NR&$Kh&keo=>Gf}D6`9I^jaI=p$jluSA!rq(GpSZ_3|d7) zW!9)wEYK=q!!Kv#i2&=qR?&IWbfRU+q*dTuqE=xbf*hy;P|_--W_;oAz24O-tcIQM zX%%?8y;i}r>ECD-t5LDL%0zgJomK((b9-iHIk*$$f2386tybZgu6Jond#xfhTE*~v zt%5}RmAnl7CE4=hj9_mR+^zcGYZb>IX%)lFRD;58$bg&Pi|=U_Ou|;Inu#SIQh9&Q zceM&zX9}_#C>OP<-qR|auLCXbXcgUV6_|%!-|fc!Rr`S)v9au&%DW(fH!Ie!)OjX< zm8nRFmK5*z!dfIwBS~QevGd*+_%(lT$L$AHs)k}@J%~&PSL(Lp2$E>t7xf5U9^qX| zj#pg1Bx;B`YJ?f~nrp;8#|?^%C;}vE7qOJG?HB{*c#1{IIk!>YBPh^gChu*EOFcjw zVONT`BU4z%iz277deVdL@GI)tkc!+S6c$MM(ob9uHOtLLsAaHCaEcyBq9WW z@*NGrUK)gS{=LSLnO$Q01XG)c!mHu3ppvL=+F%fBnTZ}?MNX{d;=-nbDP_+Kw&s&i z(X^FO?qcEOd<}eYhMxrYCV?IK(?0(&L-dtjYX}&mIh{Oq@;h3dL`{Mn)`oDW2rm>5 z&OmgTmUW=9!(AxQ=ryjezs3Xg+9R zF)(=5UV-xffB+os6LZi;^8ih!j4kn6xi091fi9qDf-^`C|2=xcsplqky=0>D3;k8A zr-Bd@-FL=DN&m`N;q6DH7{x;*+|DUmWs6EQvmmlu7EhF+BK0Q%5nJO)i^|kl2-@Un zq5I~U=ZK9V(~J8(F(#Cj8mXeGC{*CGtdjHLct;y6+r1?Z_+L^NvbE^0VVA>7#d%jp3baBcuULvi1$VyV6E4qG$oa`=@^Dhn)mqq=aufZeZFigvCU=On{t&EaCMPX{rwpS#9ljk5s1mvnzfp1dk4q|R_cM5 z-}6&h25?E%a=xH*zVj_8WdzhQdeh_tE=L_S(^rVON;H*@F6&GxXRp)@Qa*sY+25AK zSuk0P_bOfR?zor3 zWIqWphNdt94hpy&)sWV@62T@>pIqMe+WG9jZp$w_y!9yEd~);Mv#BLiW3$EW`t9;_ zwQAZ^C(L-Al&kHP;`Z4*vkfB%lPI*ngOjmX^-;23es~VvLf@zYehlv`hEC!beC;_)M%egY;C4a{=mw&|*7QePK zZtp8o>Sy%b_g326GgvZqMQX}?gSzBeeYp;%TZ=j)PYU|CfCl5GUJp2y5vU@z3ebQT zRNUC`Q{M&9#3(JuR&gLavlyFztyomCBEoj}{rWn9g=QpmjZg94;`I&MCx>xg_2T$Y z2UeP7zi4~O5p`HblM(WhF#*D3t4h_7y1g<1u;z&%26u{<2?-cFlX(-p%(w97xgGx&q(DdhV_*hQ? z`!rlO_VS@W7y0K@HaOhq&CBOy{nvK=DoxNYPUFi;fa*&4aw3=#AZmgxn<|!@j&+xz zN`U&ao{HMp8u-!#eUaU%<&-iB|28g>h*)8dEt_djtKZ1P_s(!v7_PdCHDAjRPY+6H zux%hdIb4!IgM$kq9O3?jpLwxxl9*sQ;c$wEPdZ-ggR4G?VU~qbF~k(<8bC)0AAP&K zB`qB!Pf&P5jKt`L2Gb+Ky=!@Hs3M?$Z+1kP&MH5KB_CtrZJ)O(hQUagIS@!i_}&PBlrkR zy}=sz0-HJ!1&s$w-=-X^68brS?07MXd~w<#&N9rH(3Y&2`sek!HdNykIsG1B$TfmMBW*7TF%f zlAKT|aIc@*`K3wJZ^0;8f?-sEd_i`k;}~%lvU@~@$wo7n{V>=2{H>`i#EAyAO~VCmt(H&s#OV%}zH-7AI-F8N zfDpJjri9q-Vuz-(mUDVY>ix8dy7lw;*cSryShb%owgRPW0sKy@eRa=n)(=-LDH zruG26I`qE^0eW5tP&pL-RqYIVeeB;HK!DDF^!2I)NRCAPSPEfPYudi4(?iJWqWrQP zf8AbV6b>|1zNUd3(br#iVghkiKr#0Y4rxZ2NDbm?UXjxni(Dm#8(j~0B8ot{5$Di; zL(kHXXRFJNkX3lHb=zyp<}Diw1TK&RwE)vU>fB2pms>5K)sa<=ma%nb{%T}7@-7CT zzS*ciwx{WyuLK~#Q*p3dkdImpSMsW(XN>?mR+0j6j~9Lmj4eOE-hmQ*%m{!RLv+u9 z+gzL#9gfGUQB_`uuhXxl(GHoYsa#3{JEEr`1U8%I@JdZ&zI5nlOzK-lU32>+wI#yF zILclda_JfE1%npCc}D>4wr9ZPNt=;KN>Mylj(!@#t?8G$(H=QF*Dp1V*58zO-=BV# zyc29y=hSS#g6Nqz-^>tfdLDM7pBwfZUCDVlMHDI{4rX$@Jl;ojH@0{%9+MTSwgI}K z7OBD%yk!h`dHeoYmdH8cXEL9XX1 z;!UnN;_Zad;^&1@cU8y5{7isvRBeu)x~JgwF+m9uT&~J~#xg4olj)kwv zQsqEj%F!F6h(M3E5cb$BOi5e(1BXj!Y0U(xp44ym@ zXNwoAafd!4GcZfle^ph$0)RQZ{7i6vY1}O283x&wW`*DT=LZCUSggF4H~a5x9uW>@ zx*3{5p#trQZtt*Si6FotMLo~Wsh0$L=2wFj#be6=?LZ%jlE`Qk_`;abj7Z^0VK)#U z(2+|3tp40kMudF0q!R_2DUi-YL?4-bYvDnu3bMz2+GObpQyB|Opr@fkg&VFr-AGEb zo~}dz%%TzHQA~iMnrQYj0ZbUU;A@RAxyI*NshDEqAgaZb0+}xB7Ud{`f?&K4kKPif zhASUz?M%xI%>wOSIwtO{h(w+Ho|_#>P~^?SpD7-&=c&b$pgu zU@dFUhjU$cuJVswWv^ycfd1Ur%b`~SB!{8aBQ8ppb61L8ua4u3Lthl2jRgH#`l2@i zG}U9`hu?H1eE<8Q9);1*rJ3k3NNMe($W6!b)3NRZU5~=po@S##U#06srbjsMy`Bcn zFI%mJ!$wo-G;bdDq%+?0eoupns6ozEhhN*C2Ip!#BM7l;Pg(EZ?P&nT znV%362%2-#)6iRQ6FsxR2a1N%YCR250ohti5Bsls8UnfJPySU;!||W?GUVQeg5MWw@s$4{fQ8G~4 zLHj~^pVs74@19G&eeiv_wwGWgeE7yAq(UCq14^c4_|9Z4{*}0jmUP`~Qu}6b@9*0_*4ByQ!{rpWbxmm&f7% zN)OPntOt8p7J`)$*y}^v1GEvK(olUYC9u!^grhJ%9fmJ*7ML_aR|13$pvz@c!#VO8 zrF$xcG=YRKkY(c&-bMg#!4L-xAQVKM{!_8zg5Cw=r=A3pnnKNAq%Xz!KuI8_K&yn+>CX5-@eQFprd!Du7Le}~fsSHZ z8>&g$2&y480LK|q@9xyN16>ws61xLq{}ViVr8FrJWz{5NsGb~u=o_2zF_na@yDp-o zCL~k}r%ox@9;LfVTw?QY$RtTBb4%Fy5s1htsSyQM!!$=ZknD!Y`frA2z8phV$PJ+n zl8IDIV|3X>t3IZ|Cf#I-N3VIx2g=!s)J#vhv--*5DNZ?6;z^pze`obmr>!$r zYO2uk5T5h+_g6o8I|#yIv-$~DfJAvl$PxQ9Olk?MpB$u?-3lXebzS?$V8>1le}->3 znd9u%8RrBCUVZh`8B^b`e(J-stvfep!m1IV|Ha#fUCSJ< z6yCn86h_z;cpB#1D20@5dwuHPDTPnpRSIqO6E>me?z$hXe)7@S_0?ro3Q;%+tDi!D zKszZvPzr;3${~=wz?DK?{q#4L!u|(Jq5D25g(1nY1n<963S0kLi2&_aKP`VpDeS+i z6h>2VjXWrYW_Ym1pcI~ds1$lf=K8mkLQ6Rehf%#{1n|P{PATLuj4at@3Cq5`tI1Nh z89sGKDI7_W@=ltducRM$Otp*@Cb_>ex)RqEcu^xO`$Ed ziSqumNO5J{oOsoynz8KojHNmC1o(~dOkc`bVAE6C2D)5jBgEk%6y>Ar1bvz|8uQ0c z$jnB7ezTKM^)S@quwDNj00960w0+BtBssF({Ka%;guf&6C$!PWXrZ+LeTOvDU0v1H z^?qbVxJS%Vg7y*weSj8stGm(i0$OPyK~5U&*fArsW-jhk!_ml!@Su}MdmKA7(*N)( z6$Ht~uwwy0xkBoTgUah`rddqmI` z#&<+LrPOd+fII9Z&E!Hs>*%{Q_>IJzGm)(Rf~p{{cp%kev1``uQx>f<;oMQoiQJ-< zg}JTi%`C99IFVCIZjwcKOJAoJ2BGLOX<+3!}#HT_9;SDy%nT;hA0TOj+(`}W!(O!U9M1_LHtS6e?(n+aqld6#i(lMB#+cC!=n6fD3 zyPU5u*AhgHIl6FOHQCzsEo{&BRmQy3xcY1l^&%X4ZpcYR$bmgvIL;x%%3D5)*nT+#L9U8=B?VS z;P~mzO8X&pJnlwyEmw7M{PPQYk^r`t;fV2ALu}XtP#4uQ6chNa&%L5L%6p^+p&N9b zp>Rl$T&Ox>6eM#q$=aO%Lf(=RZ?zo{2!s)D@JXag|M-HH*pQ= zy%bORpyuzX3~2h=rS0lpyE&mBErNcR-UU{6fxSIWWeF@7LHDoj(zbX2pmY+n;-<8I zmKV~#rX!&f29i^upSt<14^HcFLwO~A-Uyc7Pj<~U+bamn;-IsskIH{ex*V(Pd`j)& z%zzW~N%glITpReq+?4(8pUa=%+Imb<{seVfggWI}wi2m5L4WKid8=Ofu#`PLpndt_ zS(hYM-b^&OF7bHLGA`Uu4}@Ej4x?ArZMTW3ArRaw$|n%kq?embW7JxWA2cEaW@DCn zC+z|sx$Kwvh7PZN5qSM{^w}OXMB&H}4V0H^{TZJ`DGjaJ8BK?Aa|$*(={!@i!5bqA z3d~9?jhxFif)oFWXCJo1dK+gm_g2OQL9uLW)n!pbL)xks25$0nQy*qLDynFv9quGcKwHnb)0JY>HRwXneAWGv()Z6Lv;vN0CVBep-O)sx-1=%DTY zU^d~tAZN4mffSxJne|6T^dl=6PtXL82&{YTlYbB+>X>pBz)He_#Pq<65^XnKm^1Yo z7W1xoTsz8n)|YOjaJ;*V@gWreN!3l43V@!ZE;;W4EA&sgW?8@ba2(}DVCh|8M+HE~ z=~pR&{zVqU(#ug30D7C>iSaR=pO}tNOiO6_EJOgH9b0`ljQb-msUN4*g9L_V?1TV> zKzqMW9o?nB4>e;TcGFh{Ju>~ed*~#3BUmANWby@o4&}F#g_*zDUZfKotIR!4ki252 z19F{wCr?QoleUb4VICL=Zs6adwX?wX-lkdlu>V~~kyR~~OyxT_#oEP1_T(bR=nKl7 zqjPyq9Z6`SRU!Ja&775h4fZDGTn2z>6?W}$C_o#E=WU^gR=-; zEJjxE_#msGQKCP)(3+5l-P|@f?S-bb1@5)Fc5ra7;)BpP)`TF{=srf560lpuEaO|& zu3~q3R=Y%2p4lR5a%UXyiX9t8LsVdAil#zn-w0SoJMDbnPyWOVGr(VX0~a_a zviBdRRVE+O2Lq#Q*PS_TZqT$sJc(L5gnS($EJOP-%+tKPu$SfO92CJ^Xm7Yg2k;cw zyO=fyA?Thw2w_QX76{caUbu_S`MOdGnj5@y#SdUcL_Vd5!va4ESLQ}BJ+N;to<|sQ z`kZHkRW~@L;H6n5&`7Zks*uaWPZ3QX2d@%FA+unbK=u_OU@HX@#XI|rMCcgiLS{4g z2dQm>$)IuP{fI0Ga+AKfxl_Fj{xHZqXlZoC7~}N7Hj;O8P5g6Qp^+RomK^}4OHLNt zTbLfp>)-S4_Z@+J@1}3*l;-&<*8qJ>7)aiOkpN773z+PIpWb!TyMF$?o8NYG0YI-3 z`bhxj^?i9sm}7vBjserQFjL@lEKI_2AIx#Dx~3R|3ULyQzMK8rC>vmq5dt1Zl;B*}kbBAI5l=0c z0eGOpqbpdR791T!qfE$!#-U^h9Pc@BBK>7}XYKc;^UQYCj>a4ijmSmTI(P9_1Xa1_mF9tk;mak`}>j)%}Ux zsJu@N;+?DY^akGvEe)f#x$sdCj|-V1I)-+d_?xe&8!ucdb4BV&BIq0qpP@~s^90>$ z%We9f#^^+PV?=(=PAixmEV=B^$?scYp>HQjW|K8!~Kk*gV$}^ey{@E#u~zscivCC0lnR9Q7lF! z=S2+{?vQknE1j*Q43LsQ^HbRdpDJ^{r}vhoLz_PzQuU4$LFZRt%n1M~1N2)t2WUv= z0KGa6c^6nJ3z7oqTmzJL&+pgATm!VX^;J$88c)yT!?V11K5xFyJJ1RM+VT>e0HEvi z0088ak^m6X>6Vz1*{}`3nE68>O3~VlGF`acX6AaOyp1t(9fm_j68w$@QE~(>;2lPI z9Cz`S&K6uSP1TUEiqhsS){2f|`{y=coWSN+pQC`j;x-GNel!l_R&#GvrUltvy(Vx# zf*)y)$ju`$c|~sH3FkvFP}|A|U>7a$l#p|nUkj4=F)a6CV##d10Z>klHp->et}G3( zdo2mp*yyd(NnR-+qMr40?PolN6%|9cpj39UB{@?_tVi_DG1)|WKog*hgk;BmD3gb$ zNMurJTOxGR6LQ@g1)$GsQqo$Mp;-FOGrnl;>N#EaEg4jjTOYwe2=Kv8hfnGdi`H&_ z0TeBy`BGYrTMkWe5DGRGERMNz-#4<0(K*|VC_{F?paxg4?0ziluQ)L?KQkI{8i)Z5 za~qao%afxbYP-8q2*&`ygQABRf>|`|sIqGaAuwC=N#Mp-pT6>oHb&>mqT)GAgVBq z;JH>AE$09nmNs937nQk{PH;N`vUB*^s5T|oOBhA4@j%)`1Ks?NHovuGR1ekOTN4o= zh1?T-8o;pu&9KskdLYkgu%bd%thaUa;`Rf8yACeU0#@?U)m4wAL$GHM>5vLD&6N8! z0W|CvLq@LzDx@6?NMLTF<(A%7D#>bt#yY zXs_U&br9&IhaZ-=u$PyzKlQ01IW2z4L5O|Y0`^h2!G9X&k9}f*-rhR^^y~fb>M;D_ z*KT~1NTF%}bpP&MH@)xoA1oic^bXa$ik8ko{FeD8Spxf(UWhS%OUP?FEBX;iYE257 z*6jqi82}peT^`J}hCp7q$W1dCr|3R+N1Mp!*abNI8EmCfa^h`huny;=p3A9utxU{K zb7*tirIgIo(;3#*LbD6i6I`hRfIWMy7SXW=O4GAP&IwM@A(~b9OH-S<8>V~;(cr=& z0HR77xDx!q@Cb;W-3_AhjdJDSH+k_mjJ=-yjq0fCE4n=Ivagh0v!-pHAF3VtMs))Q zECz%7*8tO%U}tE>3HsH8n4tNa2kz(wEFx4XInHTt{3wqFzt!mL1cG0Mr#lP6*53;F zqDy=Q$A?JZP`j^{;h-3ZbmS5oMcfcP$HNa|iwhc9=f~WF>9YqMHJI3Zc`P06ADI%i z+>PpWko&<$tz19k2oF=~AVUZQeQ?|)KdUO>WkMwaAWr#m-L%W7D1a|yN z41I9g&>3gTKI_I(iNzhCl)hxMJg%BQz7a?068?%^=D2qA$q8FD8M50}b;c{$^SaY> zm#=-)3V_l^upyrVlUr@VWH))p1A+kN}|H(%axO0O~RTO2m;X zf))TI3{YNjE032NAl?PG$~)ov41hd)!2+@XUuFCzl#1x9osL^Q^|`5o7nCt0U9&{U&B#>?_m(2-S)XxHD58^Vd8Xh4i|b-_iFQe65|6#3AM}P(0lU~E_^Pu z(Sh|!N}C6=xWL4Od@ERo3pO5b2l)gL!}`epLZW7Xj1d4;1{eZEoD@dqmfkc-9gM4P zCkn9BLo{01qyrqj0L9I3m6g8K=MXkxw%}_Npa%9y9~lDvmhl9$yeQ?4$&A7*1Uw%8 z>X*yCOk6c&FcZimfJ^o*&55YND3Vg?TMXZIAr!LAi`0wde@KfH9mM&p^gsLk0 z)=0z~RbYg0#j_G!1DD`Y_#rpF)Gc3Yt|e^A_6o<_m|aanjn)TqE+yNeJzr2kOTm#6 z9Vw>PV2e|t(Xj$swXN~$*T3-z*PyVGxK&%q<~Q1_65LJGqyv8C3`rP!mG;Cz0qRttwYP(PYGJ!Fsv=g}U4@AV6*D%o`U%Tq)pE`djBlDv*1mNkz|9#p z0wD(ygOZb*SqFe9yn!>opf)*)m^KE&aG<@LF{vj6jNk-U-JIQ#ykg{Ar?$Iw7A9heh%Ln6eGaR{GUT4p4+PfF#L01Vpsxz$mW)P z#ivfI3%4@++u-?lH5v8^P>%@0!a@u<59XHqQne|h=UmI&O)eH-otlScQ1zdeK~x_7 z2Ml6dKMC#hZjHi}ux1d4buB4+F(`wu~_fKAqv1(P&#c*5!M!3q({(KJ?I_b6G z!yI2{sRNg5E4#YT^2}{swG`=G3aKW>l5|P4vs9Z4fTLY())_P|P*kgYtdWa$0N16g zF=1Sb{???Sy~T(YmVn%k5$U&*O+LzMWAzgo%Ubvq_bki^NX4>Pso&!7(5o!-MMgKy>$1qtw-+!MNI4xa~WWs8F}XbP6l znYA(ywkDGEiN%HaVueJvAwB#}{fRnL^&fIGHLK(%r(qQsan%@k(U!UYq&5@OTV*nD z0&~q~oq3`gWUWhOgGC_cvWgmd{^I=N=Mc!=6Sk>f>8wcTgLuVFYW18&i>#K~65$hq zKY97$xZo_5+iZF>or?)BH&`48g%?!RnZu=)?NI8hjyrF{)6af&fO5+F8VA*nlIblz_?d` z?WgkU)3oTMc;l&TNC*0PNb6sHJ_0el19kj(oIa#&@Ock>KL0Si1mnJcm9L-g`#=2o zr|##U5*m7wc%X5=BOMogKfFJVAA18p-^%v-X@@~O07|dhIE<+dI@JKln>dz40_n>! zBOVffGQ(0*9`X&q`|?Ub`WYjqrH~I>o-Ehn$J|&G62fX-GVyQH-!1RDVT>o z$jox9s=;(D_FM=&0MPnztG)*~JlAcHv^Gb4LjJVuKnyNh@3g-W`Of9!37Z{td4CfC zx=1!tc7YYd2G;}46lYgE0+WCPG!38@AS{O~MUW4-333bC>(Cx|14_jygxvpJh&O`~ zwf4fw0M<9<9(Z0>f}|8;XVMK!-y;m4$4=H{vtI$nA3?D?NstG54KMsnE9jclV>UzR zW!NE|#GUEs#iF$w+royM#L%A*)P1a4NL*zS`H2h!c`W$tRSN*T@SWEp{eRHk&g_A` zjo1wG@=&^dUaaB1TUf=CF#!T(5WYu?kR9#rv_7G$5Ez`8G<1?N@ilVl4CX8D-?oJ`3pg7`T@w$HYaX2v_nkKOv3~(Wq_Tb zJsXwp)r{V{Ow>Zx>>*mixl;mNo~yDl_Y~%Zt-W$OmaDD09||L4N5E=L?zKTI0W!jQ z@nlh$thHsTLQ%-h7m9^TaC57NN;<|<^$7*k_B~Ors_-1MF>>n@b&pM>&BMKf$XOu+ z0CN2&EEP13Ti_=`&R0E}jLv2)m)J!ZU$%{2ntYfG{|eAe zbS*7{Kx~X|HcRfl`25H03%bDpfTqdKJ3(!GZsmE<2N$S#jOi=uPtCp6-qJ}jXhJYg z)+OpvLzx34dI_W=T?{OHP=56)h5765%8P8k4A06-rOgCLoF3gW!On_u&rPZRxf*X4r{kHhO7 z8RfGP-=TH#uGDR20&`Vb5JRuS77a{F-CAJjtp-(_ps1r0H|^_vCkLE|F$Za zF<*^7Tyh2}Fdu%6-4g)N=5mEe4dzi*rw*C%>6^t!_Ps`-lipI&A=IuWDK-4}Q#LO;&OUMS+yjB5#|29Zf({F-DD}iGgL3;`J?x)weGG-0KLnS?_H``_nlsz-MgT7O2cqj7a|z8SuJMuD zHwfqfM}vi8=Eg^{;A6)S>4+WYSYw0&xxv^Pr~1JU2k%j9xJYU9t1i~_y#6JW%2_WE zF6UwK04T3h_48)~K;yfNfzshV{Q>~=%UxRd`twi6Km2k?r9f{I{R03rzD>s=_V17B z_h}(b4uftnK;QFm)K3|UT{28Vj{$&W@Vsj9*O0Z#PB_H=;3xjKF>uz{AM4o+gjWSX zRSy|W$5pwI0720Si{vMgGS$6hQ}Ir!k%!@*H8ZJCkNIMNo9q!I?vp(pv zW)Op44*f_{dqg7-HIa)b}@4!Fi%djpulVw8XjCyfp`W>56Zl`pzClR zb=cKT;aj&_(RQ;-U~Owr1V2NH7mD_9zXK(F^XixCLi;?q!Pm7cV!jZ|Lc@WVV9yXC zGLOi2$*=|W*7T&sj5Y%N51egnp}~iTZ++T>6lDpne)A~`vSn_QrQ}gBE~gt?ix0*$ zt)7E#m?5ov1@DJuoA79(iZ`xI+7ts33=-V4Jn1`0pYzUic?(#&at#nOKmb6$cjKD_ zYJi4c4*d>*WC<(*px^tn3rqlztemBnp&k%W;T9L1X~{ zp$ccyP1>51&E$N;;2*G3E_1JLC1OmZO;uhSjd>$>WK|vlVV-p*e>-X>=XfB-=>n1n ztT-*_fiRw>aRo+UVo$2!aG^&O|A_n77Zz5we~#LzTcdU=_=0vA*j}uia;hI(3{ROl zxPMaZ6wGz|VeOPpD?{y61c-1|E7eY2${D+VrFM$B9MV#*or0ULYo{=lAJtB=b#TvD z11kt2|CHLPrLv${J0;e!QVoiqueb;j!XY&3VtMUMe1m<`s+}^cZ(>}2B0nWe5Tl>K z-m#}z{gPh@v1?W3uv+bu>DWu!yS`XE#Sq^X>;Hz@sfRH3-~<0^?Gz;3jCTAiui=YF z11?1g9u=-Y3{x~+NlXW@kqjw*Z^K@KKN24SNNRc6oi>a zJ+7`^)AhfKiM*_a*by*FBw%>Cb9Es5#52xOGC0YaXWdHNx7kN*W%tD`H*2T18UyWr zj1M~i`mR;TPx<xHi8Ym9*1AMF*864 zfQSJa-XGJ-*@xW9$GimgwIHnYLiqgpu}ODJrr#=gImlI&(c;*oOv<0XtR7M4;AECOe^ zLfVxU(Js1-=v#2fC<*Fet3oS$_EX>#Srvoa$g6nQET4PU zkX!J9XU6WHFsQX(g8f$3%DsA#*YuxQ@&G=VYn40zGA=VLJhAceSom*r)i#Qcu_tv5 zrm)v2C=NGMh(+LxJIkOI^H> z3-&^7p1gQn^0QSCjogcQX_Ns#q@H72HkY_s&x2$1$;L~b)(W3Bjx@@j0~@+#8U@ft z_LUc~(Yv>RJ*BsR&0o?>OCtahDo6IV`(0o|+6DINIEE##cSm^}Mp`_}P4u7A`d8Xr z_NCiF*7*5;ke9DM=Mxcu$YdLQ?(3X(?e9YLuqNn=r}*@qDl}dknZbD&2kClo#HDeR zLo^qRPW~q$hl8uKu(T0XE9d% zHC(*stAbg)dNP42qLr74#{{a@1QNDY0It%3_kP{^WfS}ZIzts$$SYdhc{Os%!;x4#f5tL)pS7f z3dn)2V{0X8fpI}f!(fH+-#J!CO~gikHaqy$Ma~ke*kAPLOqFdad9JcDZQ&ua z=-7*HwBoV$24OFrgIxRAXWTDLN-lq%WlQ{yH=a6q3q?U7Pk0lmR_O=;`XB%%?`KbY z;P3i3xd4c2fVw~YoOXo`ukX|Az|tOgeHYk=9RS^zo%ElN^VcpNE|gz3Hl-ryL%P1_ z>)d4qC>>Rl_rM>;i7#^HQ=U%O;o&yQF;;Tw(UPu`$fg_8)b?_6y)bv-hrS?SV0 zeizS7V0Pf{aEWaZA%=KkF5;L^3}w|0ZHpnWLVE4O1?&vXd5zx*MM)3x7uKB%4d zdnS<$+xI7rQJimXg5HePFIg#_}q`>%34<>#qy=}@eR z2cCNCB$>T=I?1YZK$^mEiUTTr2r@kJblCiM?w_ItD&EDlGf*SLsmzqML!--|>w#uV zmUF?)GS_J!N7Dy9x7a5dvHrVz_PI#YA!eyVD3hKafk_l0i@2=kS`AYS7^CP-i$wBe zX8XmpW;0$C9%9k%Jy5{TPNZAVTUDF#TN_svyFLA2dbOIS$w1^dxCfYRzJHVl1>@al zP&R8v?!zLF=CPP!^kjpb&E}0}3b$!?^gtF=1R|&Y| ztLveNK|bcvZ|XyI;Hh$4N?f>>g9=ruY;GKh zoJX}Wau3Oy>2r&2pCDVA<^0DeqlT2iT$Gs=Fw|QdEWIkHK0Zps4;~2~Z-0_v6`O6`LlRi;FA9nPT0nCT=V$<|4u;1^; z-*%jnU;Un51a>zh0Q9Fn?og=zB_X4}ybkO*zb`)+KIYeneMyiip{h(V&ELB8IRKYM+FaMK(}k^V;+XUOi77=4JDP?QLtnx@~e|x2}ot3 z?4EAXZzUJOSMv9KMj%O_pEe1K2?3nw2IMyj{weq4LwZVTL^_#0=HnFsvM(RXQ*?Be zWbB{lh$O?aU-1t$C$R3}()`0jfl&h~Z-sx797w>m^xuS#^#a`Lr^M1o};3B z(o`OJnH@BRMxY_*BWI`&G=wAsd?*^C`UWk+?BpY|RJ$;bEPQCb&J;!@LwL-eoTyj0 zr;J6q1eu4q*6}X>^SSz5a?`?Vs`AVjxLyl1S!c(7wf|E-7sVs#EtDpe>A=&~#2!_n z+|1Ir$~|B>p6;O_ME=@VT%oox#9m>;H&Sr`1jiHc;0_9GU zx%uSD{L+)nH9UYw$$5LyXZ0|BsVYWM&AC6xdq^`Cw0ylE6BId2Uk>A^{qOwl_D_fD z{aye5e*Acx^FfI7j%xPn?J>Xh^fTKi~BU0PQ$v2SBe6!<)mHYk;QxdN1#U zKh7W13*qM-0Lf86U%ULuv3%us!k3qExkw<_g&*d0623!#+hsL0wu{I6OuQGq{1r0xZJ) zv0%?VVMkWON_7x`eTI92*C5Enq-EV2tZ`}rAaYE_9kb*SN-L9FTJ4}e4z424_H2b{aC zp$Yey`T+1`F|uVNrt?9WF}jf6kp4%jWO4+nSth;OLOJ?yPeK&nUXcyXBupNilc!oPdTyy;={e~P zYgCx83n%k?m->Vy1W{Zv&ysgvjr$+p(_++)e$w^jkd~*uqy?*K2SA@Pdim5XAJVJ6 zrUZb}IY846a$ct^10Z35{`AM=4uEhHbS{D(6Z+|Q^fRX-=);uJj~q0#eBB@1E&N6> zR73CGJyWMIRpO$d2yBqK*R{gJjFH9g7#$-I#vJ5;=gu~u$+LwCS}L|#57q^CT zhL007=iecNp}uj&hJ$)*kM^NV4qye~rTwu)nca{WWF7d~*etZGd^Fd$E_qNwct7SP zF0_#Ejwni>4t9Z=0CQmsfP9~AL@+-uPYdnfy;^dJ?27|H>b5Xm0vyQmCIsCI06lQ< zV_o&qu#iC6{Ia?r`WV`Qzu-K(%DsZy0)Sg|9!I2!o;@l&3al@{Q;w{FdLDe|Z0{bC zgB`SiMH5jUd#*MMZE?_{#pW_oRWfqM9}Ji{=xSbGDt<6_flzBjlt|DZY{ge#D9 z#u70rxq84FvR*mA&a;QED)aAJdN8>-H7AzD95p1%sjD|BQ3RW ze*l#@g{WX+fGkEI;-Ao7^&}A)`#Y^a3Th31i>$}nuafI$QxYDT==A3P)@444?k z%SkB#FGsp_Lder6+I#5&90{?;MJu(S*cxV&eMNv)JZt1C%OtMG#6O}Z0o-sZ73S0@ zu^fr!OsNPD^tk{3DOcTm%RA7&r3I+{k15eVnFRXUEngD)NvHOFNiVTDea^3Sf1lrj z@vckf0KL9XT+fby3INKl!bla-I{+$WK=*PE(C{uF0`&fF_;4@h04?9;u*Gh9>dPxp zpZi?>(@Rx0x+@G&B7}G@;f!j-W0&VACfxrwvKovf5jY(K5nxIS5jz3~9u52lgC`iq zN*oDPr^Q7TRf7}vFfrhFv)gT8XH@6?_FQs;>WrK_3jlFZK<4nG&&9Fm#&IY}%m@I& zKrVASn^w5g)??6+!!5OZ{GE_wJ9oi&YY*$`edn#tM0bOvVZDVgeVi~9vRNQEEAV<^ zjH71(oeyH?1tBnSq#v^DiKe0Bn&1%qn&a#n2RM#Ub#-iwOQ3nlj0ec5i1Tmaw<5Hy z-Eo+7@4g+7@)>FXjsZN`5raMf>!lO8(MNXH>Ws{RGGD?gI~UFG zD+t92qA9l`Wy{pr_}MdZAV;jCj696Og&a@)S?1083P;~FE#Gp8rQr0yBV|5dO%Tvl zov*EGj~XDZRzFelS~7A64)}32M|wlYuGV>T9uy_GW=P2VyekQA-MC)`9H<7ENTZlb zoB6jKm3=T+ybMixK;CCsmePWNsn&;}z3i-Yu1U6qpNorkmk7czB4ZXWxn^Z0(7$Qz z7uO|d?FCbVMYb0Q<0j(sBJaY;tcFeA(MQe$d_&EqFu#b;b7txI5|SH3|0Z~~N+T&m zz;Lcs$y9U3akcS6OQit}kzLFPLgY_Up~G!@TwOB8&csL^C?_RRCv=sqAdsLz4|RTR z$rWA&qdpTawH5B%YC%||;0D9u3wey@Qp*zbWOabpG4zn%!FjELj=JhHp)P@qJBKb2FPW+e`+=dg&hxDzHZdsdJ`21WdjPus3lUp6%EwV>03_%~@!IknDNR?WLYO+3S%cN6b7I^>=rTGfh?N># zyph+O1k)1EsMOS%1z~rj}IAtNKREXMV;FWUHRDAw=4oU3@T^Vtw9r*qcK>-mN!?0hS>a zKK{eM_?Lh8?!*85FaP!b=KucpKm5br|HuFI-~P?N^*?vd;%t&<$IF)c7HN{zZKe%r zgH>pe!p{s=Jl|l-6Zp%uX9#ZjF2??{n=%knNzzyongy=;u&N+j2vnYJiV-vZW{ois8p|qL~b)o&u8u2yqF3K&h2#=><=}xWV#3=X-gyP9 z0gZ7DEL%K|d+7b7iwh)&mJ=)VkCxVSY3G-|gmgzB>H4;VlMH~qr0wdd2s*zFKB1o- z1HC)!0H}X^zhA=+Z+4KA*T4Fof9n7A$Ii|Hk{Td62vHfJ?p-RS9^@RLZ)KnTf`brK z{gLhhOYa5S9q|rG2Xxn7zo)~tDj9X$qb5o5dAwg{*JfVLksE|C}KWK8J>n_n>DP_o!YY z9-qj^=*fXSGE%e#AH)rYBkyRh#KPZV9@l>M54DAzhuwdeF21%F~77+^yGlf30eyYa0cAowFgI>^ZCwcAvq9Yxi?$f3E zGl$d6(JP8ZJSf;#dG1Q@^ft}$$G7Nw*$n>ofA=TBJ^#o5w}0}#{>R_{=YRFDc@*`T zX>4D$?eqCDP5p$#psN>qvmV3flW3QIK9fb;h~#sw{|M)^*Y6jTZ|T&c6Cc$>mQ`NS zMW*Lw7N=)b>ZtFvklkGtKzSo*W+OY<0Az1{fX7s*=MA zrsUro2M_54*t9r`uu@1fo%KMVT|F)tY@|yMLj2y%sSY}CQO^JvP`ltX-W0QCEP zw?mpY`?X`B1b~KL(wk6^|Nf7M{|5j7|NpdoO|M;9l2!hT_Ivl9uX~>d(5M?2LDO{4 z7%(l=C18le6sb^6k(d`%<+PpY?@Zh8-E+=;2?+WFsR2PZG~EITRnsLTpy&^(D$7oP z+t1H-nE_|-h*+^=pKGVHGD)2(+0XZ#yU*ScD^{$Cy^j*0TotP?EoyriswhBpJ_b59 zROcR`F7Ey{?u{Px{WLk)I>H8m$C{=O?&?98 z52&4o_88!Igu?=Dhd5?)MGqu6ajrNA+5QO?G`~;u_5;2T$3hOGY&6B8oG>6Z;=&Lk z^;yA}iU7tJn|?vj;!FZGfgoKms^T2Hf{N+2>*U#;K@RZBfgB(eCyJjJ^I!fe--N>$ ze}IG2HWG+;JfUBw&mW~b$bMVa}#6M`7zN_1lLhPU!CC`BwuIhz^KiRn=hn2Tc@>37}cVI;8d zd64D>qF+Qiv(t;Y0T%{V%;!k2g=S1BpvHVNyppJRB2K6Z%pU`-Tp!O|?Cmjvm(skc zO#Jv(1sp}VC}CU(0f!+zLXaoCh(Sf7ODGXyA3t3&Y4btyLEgnY&yS+E=k56IxpD;J zd?~jCkjwzKNrs|KiI2t39ONqp-u#7;!rp1_02@7nwt~d$#28Bx!6)U3MHdJEES~yqlg^0?M29y!LbTJTOlD*3YWv1&+H*&(nX3dKI4morB5_i22I( zJRbvx%;Tu%6>BH<{6DVU5bE>#_3NM7f3IG>l0Ur8{|OKJcfan`asUIxX;qXsruv6>e z#9Ij;J>yxVXK^sasn+wHumDD^_zoH*Up>|#Ld6*iN$luCLrd?RcSw&+v`mayR8Dtp zfDWq`^+$z17LmV%P}Q>Rwy+y>N&zBKWy+v!r~m1s~UFNB{4 zm&Z3*Nxnvz%{+aBJhQzjHIt+^t6Qm9)-UwWW4*$geDAxvDg|F?PUqmx0@SRzW2?(TAvz! z)v3Twsulf}fD|GfNqj-P144=GP;Q*2a)cpT1h2THaftiAA-tCCEm+)L+S8 z6dpwXDg@WYEEP{(O}mf0y+sC3mmX?&sN?uQDvz`-+hsra7>6vS1x|t%<|7febN@NEdSiduK-I5P`W1e(_Wqk&@%0T zzp&q&Uo`KX%cmg9`%o_}8zDf~^4USxt9GJ3LV$7=Ou3a*!EUE2SiTn1IMTHdRGOwT zzp!I#GaKFyFU(pETF#8lQ?>vZT8#)-X(}VwH8AK@hqljPog4%K<$^&(fLZ{Dvg~Y3 zqXez|*KF2}P^B@SYRyhA?i2`6K!jkI2ybpl0I&R9xS_}LY-BlzHoatlk@*#4+sgY~ z?Abxu6l7y)H0sa{_}v*@gWCu(9ja~{?*{iEw+~px-%GAY!vHkYM6eW&)fIbRWy^{p z(FB1uIt5GH;lK{fM6)pS6c|%9 z2!Ku<`SgH|GvI8kOYLjnGGxpQtbVG|hS7o%jFf`y%{IROiKu7pJrTrXPX@ zO&sX^-#Is$4%bs;f`5S&;!JtigAt&tj^suB#AZ)dhlsna_*t1@&>Fe3O|pQ)!Ld>2 zOn@fu=#I&?Iju74W=WJ;!ZFG9@I;}K@=wYw1km+gJHENGAN6|ui4#7t>ekb<{f2DJ zMpCWt=Ydeg?=KR#*|yHGXrFn0j7jMG9Jh#706JnnpBOg!^A^O&v4XM4*+zj0hy}(8 zf}Iza5xBF$8v+97zY6B}#F$6*KK%+#VBiZ|>qd&0X={?h)p?;TtIn0J@^J&R;gOg(B?7dPE7!c*L^<~Bi2x-glwZ((DDP{}*UhB;wDKN| z{BG04YOdrC=qr_+1l?X-H1F@%@4dfYT}baom2-fE0HsayQaSr56QEoLTjfGn+F>sz zLE}8=qjU~qdOd1>EqoqvWY;H}@LYtJtr;t2*lR!x z6XDVCk1zn}?2rh$0>mN2jMY31QLxDEcH|8sGBZ+lhQ3|`_0BM;M=}CZ+d2p>v`J=U<#Vv^@CsI0B zA$41M03#*9Qx1{|dxLTcguV*Se)9MJ!8g7+v7d?COcZCLI?tb$8!(NDtZNBMO=SKV0pQey+Q&X?{^B0wxd-mQY}t$*k;q?m`Ds)dilEyb5Y{2^ zA3&aG$O4<;uOks?g}6`QMsk;w;Lwg@;|3)3}6 z2nwDz9vl}*H4#D6Vv8i!QlNT;Cz7AL?d8Vj^y*U~Kxy~Y#5bBl>B9m0sa8pysk{8v z_FVtU*F=D13)n<}WDooYX&Zcfey>hFK<5`p3rg=pH3D=w^#G-p$X_!8bSqyI0s3ga zzBzrXy?j;Q!n*7x0yGh^F$+JUQxO5u7ug3{Rk^b|n)ZB({q&_)Fg%KP!`;%VeULHviZGPjecY-!$xagMN=7F$Kwko3U7Q!Vfg0eLRPzcJFTUt>zGGz;3{Z?fw*gRVTD|`&cpQ~*B zv%m0{o5a_Jo(|Y zWGIxa7@~So6X(hnQzCkN4}mDb);v! zS=nMDzDwB()W;J-rf~pFFC7+~Mjn>tIcP$#2PCUxfoCz=>4q{VsHm`Qd)p1MRWm$^ z!l5W^w6%fFh+0DgmlN+@$`+S9-=u6+Z&bEGqots<%~h}=6CmLmhv`)qoxYFD2~c;t z$^?&!1Voe`a~^=a%nXST+|I`6!@eGZ7$p6^1K7 zxsdj8K3DPP^w<67<3(z;PG3CDxV!_k5(3l?0^hk-H;N9lqyNL?FXP2zA`#9griv(S zD@S=lD2=;hy6Y!};8}LPkeM1CWR+{%)>(y*fR8F)^Hp=}c_r>C+uoB0-4* zB^~J1t5>gIzy7zs_ICyk7^eH09_B=U*|}GeeymiliM>P%nOl^)EDx?oha-g;EJ`e- zXlP)@Z_7%G8f%1Au)u++{|F6W#==MX@SM2#sLaMTMA^rBKJpbrwE+#nv?WDDom6te zGkQ9q!Cpvbfed(xqOj7itCA>7&Hf<`Xu_(QN6!_Gkh-|7zDbFx7=l{XP=N+RG23nx z?x#pOKB450=?JCq5V3UOMtDcVHnZ9ZbdiF@!qX17)t;om!+{Y~kRkLxd3^Dt4!FU# z>ew|CO~)FsHL6FA4{0=YEyTw%j?g#Gn80j_yD&Bxzf6l<>GbE+b9}f=d}CuZD3qiM z1t>T0Kmp1GDDU^0uDlJtI(Md;2#{=pPtwq(Wpkx!ucdzJF82VX9-`~{o$?Yr?X=l3O`;D;MI70~SY~4mG(B|& zP}Z&*DMM{UgwRmA^$dWkm0-2{R|D1+l7^9#9#}k!ifT06RZ!?OBKiep-I9a3xsNr; z-R3H;zQpEP{ua&*I0^6!iF#-(KbBLSR`61U69#%FKqw!W4$=0(y<56f6mq?Ok05uz zvw`{X4G!Tg!CHmnkihFjWI{9bjkTc+oKZQ!jS@O|Fn~kDZAUq)*)8@`c?#}XZ;!ol z&JLZpuni2>K_cje#(%RSqBY(*QBdcVvj;C2%}N{8jp$^{%r6q4PR8(?zx=B|ef|37 zt5*}L5$$K!rfIfv$y$-Q+u8oZ=f;Tyt61{%tj)) z(5yjcq(+zC1ni^9Xwzvs={m}V~tPfk9kP#S=86SVGumlD|3g_poC%}QW( zQh-twEWIQwDL_jiK#MjJpmY{ud$ZCV_NfYH1ZX2~0n3*XpiI^Z!|ka!vQxTmK`N(xFl7KRm{w=gn* zH5+azvGS+@#LJFJ9#f(>OBbP?d8nvIgb3&m3j_g)@aHH1l0a?0HWcC9H6hI28*&b= z!AI)39*WF6R_GmMxd*GzV`eR}p_UX%DrYI|@s5Uo!hCZHs2ke3Gtg6$rij_5hSowl zvLvA(Ud2efa!-a7KzWy`j5RkN!YWD=wK*(&ZRPfsr|Zvt>tDSx_9N8i@slTSxr7EK z4s?3@;^oVq{`9AR@QrWMx}Y%a0|UvOsg^q z)CEmkvz=^d^#>xRRJV-@DmV7hUN-Yz-|h#C0yd62Ndrn=vkO+-# zu}+DwGY)Qr=M9kPV7~Tt6x!Hv+)|1ayLjW+^q$i6(~CXVYk%=*osS{RJJ2%$QUxec zlq!ieiMph#xtgyl=}IrUxU_6OTqeSEVZTWPX!_rU{W|wSSNSYNAwaqdEZss5gI=_^ z>h7>fBf?=U$Aa)~km~p&86q)=x7S8Rtqlkr;r>JMI+wLj5$nQ%nJO ztlrX36GBVqry8A-Kz^UZB z_0yDD9UPSb)E$YnHwfvRCB)v2ucV&_>&RLNKK3sCG!c3{hkJWJjr|ITBHQbyd$QiR zQ>>>E21aGG(UYFX*vH?<@Y@EQD&x#0P{WM=_r`VdY&J@`% zvs29Bs7Q)N=$!_JZ0D|~%y)|UsC=BG?G&@+w%!!-vRJ-ZF;-xlhQ{cpp^~d84)Y&fDORtPplPzX2m3ftZego=D5Jz5422m0s(PU0_Op+O!jXVFW0> z5Pq+^xL19+s4wU3@~H=?>TcBeAjR}f_-4A}M63>*+-kIJi2$W8Bt4p1YjvGh>@5H2 zXLataEzBp8I&e@7zb zbkIT4fMv=jmU|fa=7Y>BTm7GZ0k@IlU+r*l!ZEH_|G?5db^}*LXZk>YShp zfj!x^B{(e;1&8A(3;A9QN{FL9w7hlzwJnDtbJUSamfX%HcF?;j6mzjsI_KmaTPF&xQXrS*A`W3|5aE0^qkb@5kN)IOU%q_# z{Pc99Got-Gdi?lvuk_zUf^tL9X)c8Qw}0}TB16C$jZ_H3ele$OMU0$zw4)6xtW+W# zXdf9BEN0Z%APZ5@lL6=%?tPX|@2cG}tZ%Kx#L5jjxOeB2Ndl!7By_nXL&aG~OZ#;w zD4;CFzs)U7}y=pyqKfgeQ;L+$XGEDgDhkCxQv?T#J0JZ5*6Sd1?EX?7?^ ztRr&qbnA{EbUuR6h&dszV;;j=dx!jg$6T@RS5&-fsFRWv{ldBod!vQxpOHLl9sNRY z(3Y-QtTDtbX!dqK?(M*5fp{D5VQX+2CcCdYds@Q~jc?jW(}o%D2cubYjQa z59);X<~z6MY&dzMlX(*}h97SI(a!QdgHN~^N_7e zEcpP(Ysm=3DzK((fv|k~T^)0_khR#n+bSS0Ke!mxXe)BGaBGp@`Y-?JA4~B|*-s`n z4<9{xm+KKYP;Le~x&PqT|JtwQX#v3L+z$Dq*JP{G0U&yY_-U(FIzkJS#j@^0eL%!N zgu|+XBP7dro6#wP>$&G*E%btxlV;Lq*k%k%&(>uKw(jkBj|sbu?9ucw&F{7*f8q{` zZ<1ImYIP%^!0H7Xvj?463LbfG&&q&dnWNhwTl)%N2*^4%UzR78Z&%kgE9xy`VcQN6 zV@vBhHg0uV+NjLSqSuVj=9dEFW-T@Bzwv7#KpaylsYR4?A_EgY8YD*SH>#GQ$0dKG zczyCp?MG=h4m+kv&>G1nlcm*+qKaTWP>8OX_|Qac#gAyk zhm3f#3oM@ll-iMR<o2$zt|6Eyim-d?rXDZzS zcBVQf1nAuK_q|mAO2;8)r6`|;*j=x4Cr~b=r9NmoW045Zfoy}H2+*yxGfiKPA#W*D z7X^G+h;^+ZF1%9;bpu~2BOhWPa!>ahT;}TF5XL|`$1kfxY1BR~S#GH*&;4u;zKvRLi0Q@zd| zID7SAWUjn0v25bx8&r{%Pp&+E$A!S}8svG9AiBB6)H%t3Z5T~dTwXf#jI@FSK50%n zSWgvM(Q3n=G&<531gP@ICjea)kSCY(Gb7CyWKYb@h-s(^0!IpX64YQa3gTOk74s>2 z3Q99{1_-1qeEONHBU`E66NbmRpupvH^H2W#FP_}L|Ki2VlauF9pFW%D%tUG)K791< z*Yx>Jfu22oe){s|%m0KNCw#q_dhv> z+PHVGK@mpxxM1)?UOi3|+Tfn}b$G-84bljN`dv%h!q?qbeB;Du&9~Yt0#N|-7_s71 zhGWbGkBn(&2TnueU`5H^x@1~pIRSVZ_P%Iow%I2-VBEn}ulTnH4aq_^Izu+l(*wpO zKvP85gOFSip>z*YZ_<@TmTng7=){)hkHEHFM{JJ-DDV$^>Yj>m=HTEHbeKpC88$PF z5*|!}p9mHVN3$jK{29^BBeJJ$5&fJ5J1%Vy2lK6tq-~$aAoEQ0F+HioS+Hb1f@gJD zbm*FZux1op}uD#k7?+fcA;0W=Kp zMp-;h5?R7nye*^wnXC=#3cKvd^HDNHt1-v2n(#BrLJmCGI25k%q@Icy0V3sKJ%SWk z5ZxmCx7m~2MY5KGG$bp~oV9>wd7*Nw4xq^d(K9eZCBuR>oB^2->j!{ruO>uYWNbX2 z>!G*V=Y6HZJt^>*=OYCHwaNrSvn81gb*iA9u5E@jJCqM2VVx16RRKdzO6VDR_lo&{ zyIBUli)qPff!j<^kYt2DQhC$=M(XskL^-4cV(kMRN=76AS`l<3B|rmd41?;dozvM; zkFonNyZ?UqS}J}$KNa>PoaVuUhwpwF2YT}CS!xD)_3G8X{##$?e3#uy=(6ZQ?rW`$ zS?qS%IYXihRS;Ri4`d!7gU$xfrZG|?2oqO|bwp25Tqn@7qtG(?-OlISQLBS3af)Jd zZk3TjFR?pQN=e&IJivnhwa^2Yqt6MMj2sCSC7eJ=ST*cTSE|QT8)e^;4js}YQj|qG z>jl|Z4XQyjGx3#0kE`Hh4jo0gLr&LGQxxAH%A?v^zYfw)pIg^NEe$pe*jC^4X6UkH zKbxrd27NcyJ)9uUQ}=?XQPv8j2PESN-Cc+dB<8^+oE$fZq>h1+;JR9g0VpY{Joc&H zta@-8Qd!rGGdZ((O)*y_4B?u(xDx2O&{0IIBN0>bm0!5N*1hM=>PU~{IXG(8LWATD z7&j92sjp4fUVUY+o(RzOM1Z=>`$^xqB(K6)H0Sr~@18LQ==^>q1n9&4`m($YBOM@} z6r^jpkd`)rRjChJUWJiLZkdS5KD67*=C)M6RQ^Ff5HUg2FWrcPHZaCIu@_mEl;x8o zDCC;c4(C`=`B0#wa>L-oEMz=gup7#{0L0=UgL7EVIf5fm5R%P%o1JZ{4XiU5*)V$| zHY3kz$VDZ+*l?c;9U(O$HT3MTGeSeb4+WPIIA*8l}FPF6t+-(2-&0&K@b0dY7n8JG5acn6^A;wVo@4~(G!{T z7#0<{(Pu0a8GA3hs%UHlBUUJ3)k+QLt1xnTG-ytS&ak&ESjznTi@);AsrYqz`s~@W ziNZ`wX5usVA3XS?*YsPDCie97>B-5-ix)3G``#bg5_JReEP%q2dFjD2L zxn=|?i9qr$uzG!%zwc0~PktR(HC^4tgjt9{Jt=`li>Q}0A=3@QtmU1f*GwQAmg zdj>f-gzcb&dqgB8E&LGf2fRQq0}%H%{(*{Cqh$l|4MZTYT`uA>768y){^18{yyAYe zpj3>@B81Ki`bc@9133qxE~^5jM`!~DaMXZr?ntoQl$zjr?oMzaiXtmOgh&zwu(7@h zgz7D+EZ#q4-B%&_na`l!2W<~e=e-3*&T8?4Khx(-bc0tgGTDu`(YuDBW=20ZORmtp z6cmfW`;E*htni93(^J=l(4B$$d+d{4e0)_RU6!N1u_7cW452q=iP>wd;L`r+cmKnS z-1;NzXQDFq?%)3zuE2qwKY#i1|EJ%Mz8^0iPq=g!NZgx`OJ{FAed#gSaB{Cj-(@o zvdFy8COj$7NmT?*pGX^4!US5(X&BWq3ZfQ5no$rW09Iyl-DpE&?ok|vW|sd|@|M2x zVkqWKW)*9+MdM(n94IP(lm}Y%AS$?JvnCOXm*w>mdfrJC(=Y%kGC0NzX-gNX0={@i=L9LDD=Oo1y%2p(E^OCCtcUZ`_ zfkqxkBv*&>PV;;b0m?eiIyWNAAwcrViq*|JSHY})btO@ndb%cV^Wk1P0&%*|r_Jxp zg=L#}f#sd>`8dSpLnT0_04=qZTAQHdMe|m2GXm5lDX7k*hh)9HUmt+w(ivy5LmhG; zPSFBqG<5+X!9t@q#}Jzi?Lm>scxt`_u!5>V5M%m5Pwb?~X_$8x+7e49J%w#@GcMmC z1O_R!$P!p_;o!&54sMQ63ePX3&eCM5ZPt607}hCH53Ze{i6QDVoY%$~FtUXfY0s4b z#H?Fr2Njid431axu_0CJty4q@t_#JrbqK}YrjeYsN6R*pWcnwcQp+8CvosJ9fyIIV zc|QSLEah9UL$^9IX!6r|Jz^t`ovTwzA~|viM-r@ z@bKRK2cO-$|Fd1w?`95^x`Cdbo}S#h|H;q)A}KMUV-MlnotM=z+LweFUvzFscrbYt z2^bPK)to|tfjiG;ZzPoPQV}Ut1Sv(|kEbH@1OV%90jYyi3?zOGrUVbgpWQ0F=ZWk} zTQ^*xv~mXLR5XF>x&OlE9Xz2HQ*p{d+5r~PX)Dom&&OhtY4hgYRFv?v5nEW{Sd+ET zw?}&jzUhq$RP2j}=dMAv*VA&iT5sQ5JPRjIA+%$MlwmS7xsv8Kq_WUcgoqimB3I2v zQsD4(9IXn>u}=oE2WZg8uCKwsbDX8J0~t~nTOif|93XJ05y56QS_rd0OrIA5G{wzS zj9Q5TlwVnqcY&psp>|TgO6LIO2B6DAfX-AGvf^`ozfNz1e}8}aQ*$xxk59ERFM;7C zXgUk=R^3St(5+>9>4p%XRQYOFQVtVBBQFIT8YMsoBwG0kI)QcU!_aNMP~SDNjzW9b zym~o!l{i{MdT_IW~_}XtNCaEX>-L`RsN_b`_gj8N`Xuj9dySN+b?OI{2bL zfVB!0t7@vzx=t3F%2~}41YxCwo8ac9kTH<)nZjRDJ6r5aFouej_7(9P4;ACA8GNL9 z^WYuJYOH4rlzR>FK!mUpDv}AVd~?~QrxhHj`JF8xc(^xw&^faxRm@q!{`uzF7$%JYCTi^>~p`t`mIH4+iYt#d^`{P2JO@#$%5{dx50 z@kCzkO+4nadq4AaFAG5rA3l8iI5h*kc=6(U-}?4Qdr~0fvMvS2$zVDXWgkNKn3r^= zhoh&S2_?`=>qxK@czbGmE=ecSlAyY|7qG}Z&cX(|LtsC)tloSbtcA+iBkvg`C7U#Z z&{N2S03lP=2v+s%*;xlN)ooqao6kSm4^T)o(gWRv%f6e~ zz*t8l(!WKkV;ylrZO(%s!~D7WNGw>N@Khvf@NgpRz|tCp5$;0K-_ijt*u0i|o_zo8 zKzqT@ zqk1$%TUd1Ro%eiAzk8@xbGV=00(Mj-%F&DVlc-1{KociPuj*PV0g_!{*E0J-50Dd} z#DQupfn7)^LpL8R>Wf7WP$odef$EQzt(-HR*bgol*)o^FRI17*#R^aqW{^+d&+PEb zNk!fqX_LIGCdLrqzMGBKQEBF*e;#Jr~ zPxl-lL6g!0Dxk!ag;vd>t+_I&8WxJEYovFrt^>9*j(8c4P;BJ6E%Y1O>@ZXTXlxxr z--$l5#S)lw_*aZaeZhC8jP&_|DW;U|;tq?UG%ANJE-lT>Pyg_T-}+7}emy&x_zKw1 z-MgQCnQOYkM1meZeDvhWlarHF2>X|R^{*G1H#EpCLnjFyu(Ywvbc-$oC!N#Njy7<(kWgS05HId0jVe@(_m*IQ+EO=U2!5Vtm(M%6{f8o; zb1$;?!RN=*$ew88NL^(>^}?6g(#Y>ZSKMI4ZsXoWpjym)Ts5b9K_R2UUqtxA%jO({ zK@VvO*Xs-a0@dbLwt;tn!B)Lz)OY3*R)@6!fR_kwGZ~YvaOeQc2~FIEgL}+s%0zbv zeM_!`4q-3$Jc<QauT%i zmTS2IDD47Uw5bHPU+0&hR=Mz%3DCKT04?*e&}WttIr?DV+JMrDh!b^M-KbV+GyQ%w zQL04^rVYti14?f7yIkh~Tn6F1>Q>D20J*`|jn&P{=`l3%BKw6Gp(B~p0? zvDXO)%m`GO{iRK3Rr+jL4(T zpIW@5@h6gFMf2EJJ^G?(Hu6dx=$wmyZ`nn5iY_mDxeB_7jUA_|(@*~S zFZ|_apWT}{%EVNJ{Y>=b&Yino@?sA3^y$;n)6+lxjo-{8p*?YV#zs1OW`hhqpEPEM z;q!@AEC(c-ICa7&5^mlbmWSKVEgXAZ&IzwI^TX!=LGikRCH7)V4Y)-OWUsfml zB#(B#A#hv4KKafJad;d6h$CSDp9A0tJal6xmGqWY={!Vpb)(Y5SA3oY1P)E{5?dXl z!%3}IoeT3Y0F!~bR?vje%1spWr~4QhI0vE#5}rL^psc=~2GkPeVi&GgKF->EYwg5eHpQGd36$+N(Ltrm7{~XhkC{I z^TS0zsJ>opqC*aaM>S#cdx+$bj`Tz?Kwl2gNKQM*n4U7wF!ymBye_T#5m zb%NSDcsw;K)3wvq(TgtzNmi@wHRiRv=rjX*XK*z@hEG0c{Mh~t`fhW}!N$@LrFs_B z9qEYbsX6tLYKWy_!2h!!o~Pp1(}#~9O@w9QEfahB$(=i2{t^~+|G|Stj~_pK_Uy%r z7r*_ruLH_Msz3<<9=V9qyb$`-X0eVBG_lxTTly@oDWap=+nOwA9c>#R?uf_149DgB zhTbaB4zs!)e&Jtg24?874jW`5$s4GQ1rPP~#wqy9(`#~PSSHUNNIYn|BPa8cs^hDt z(fVvN!Lkj{gQSbM|yLhJim5(`j=$_c*N41_Prqw9O}#pE!>K z#x4?VV#a28?mR5mYE-|%t%N)YD)J`@C3GZBm_vfQl~WTSXLC?aY~!JaiFlZHf-*#? zp5z9fD=|wxh~Z7XMgjq%e=np~ur$;3M1AV?|F`oSDJJS84L~>Z+fP4E|DU#iU0XEQ zb0O<$zVtm9`5d4`fX*z>O$2BW3DEgm9{XUgy0l*>0#qdeBpm3Y%&l^hk({@fj$AyF zD>X#769Kv{p;wrVxN#M%q4!#~hAz)mHJm8p4#7!Gye=92NOVdAL+xf{(`Sr0?keKX z%ylVEn_A16)P>jyJ&Gh|4T9yQ$JG&bZ+>kEe>;#UXev-OG+T9zWK-x#1>s||7>UIZ zvWkUg6&A?PLT{5CqMxZsOfUMJ1xkX#xVa(HIZ|jRHHE+>`~Ts-WhbQhfyN=L^Y0=} z4nWVVhGhyckx}~)eFmhikl zBf`)?py%rj_&8MicXlPi)0%ozIOd@FTYuwkO7ZK_qsRB|Ke+qZy`S8<`{_^ad{tNG zK+}yMK7R7#(YgqUB7abDhru~&cSJK@{u_pb~4sfhq(`R7)p zFW?YKYT`h*WsW3pR=Q?zGsMxt0z4W~j>2JkLxmp5Bq2D>*(;R~IFj*gnO;cZRXDaq z9nKGEUzi$s(GXY51proaF?;_=uede(|4|KnH^fS&Sl zd$iRNLFbNKXXc_k(-+dra6|uI(~t%w&}F&J<9D=b+zOA}hYm32#1;SyB9+Y5qySkl z*DHfW)OuFh8kYxpE5uCK4}a%(Pfngce*EPA17|-!{`4nb)ivF1y60#2?mc+;=*iQk z&reT(?;rd_e|Cey@Zgk#63JGHi^I|g0%Tb`9?c0B3Qtt{=1|1c1QQ;Thp3T&jPg=? ziATNlAgpo~+<73VahC~Lsvb1h$4ZnSWm>S88Vpe3GFU4lgqZ95cxLm!Xg16|C3r;b z(>SmlBFm@r12YMNC{|jQX=d79iI!1A>Z9>s@_V9^1=Q?FDrPtnEF=;sHn|Wr%JOAN z5IKI)9MW^SHp$E{MlKq&rpI-Nq^0Emy$i8trw+tAB^Bm+G8>2jm>+zm_zHf662s$_ zD@$u_{n7IX^YK5+HXZ+yuN%uowys~xCqZAaSHWMcRziUCIY7<%Mf3i$dGEVts_&dx zoIA5f1Sr1^{!-pBb~(R9ej-3g{z-f5*AoX4i7E8}O@G*LZs9#-wU*@|`^(!p4i{QC z9lVfH*6dmCvrK)()3M>IIe8=Z(*RZ|`j*`@NJqT;!BnW&2N1aS7^U3+J)t9qDrhn5 z3Q(>Nu;Ts$)XpK5dA-&Z5u#8uJl4R#zI(~)3^ihDL$d!SC^RK-th6$n@6dzFP^cc5 zn3{;nf5>C-Z-L4pDo)VGygNrp2`0hv>>cVfFX)DpCsK(z$zb|>T<5i9N1P@hNaw8HK(Tx;nhS%7bxFY8H{3kRQ9<0?uT0 z7ACOe3HhDB_xC48GVziJ4<2Urlc>*+e*EcIdrkMu9O(YTM~~CHq|}BJ@`SFMLHZKxG&0vJsIN}7B?`Cht)2F8AV^1@ zFWO<`Lr!p=w^5*4lD09g_C{hv!7P;QG1X}9=_xz!saUh|9h9E14Y+8H2GS}QJG~Z82+3Wr)j;u}&h9v_SrzRGg8T3W|A#^4+_d-k{o8G_W$K z5nto`yXAv(Q#Vr2Da15~?O8eYP-;YddvMgOHfbCD!BM@wExpK9mm7d^611?N`tn|N zIkoiEMu5^*_Ycz5U0k;3m+gDswQisb`_+ZL^eT)GlL%B_+OMWxyS7Lo(2ZPO`zXI< zLmRCp!nJ5`=F83jN{lS6qJ^=;eDy3mE(vi!O(NN3O=6g_X~zg=_p!C2w~CdUQRASw ziA{5!4ac;=a*mLC8UaEhZJAiW5Bs`skDyXe%gas$$a6 z!04P&4Y8o+8oFl+2>bq}t5lc(>Di_2#U?XxVP679n4KC)peaEGG~jL|U>G`i*@czMzIGDh9!hOz z;tPW{`Dz$o#i&~GgJ8u63wy4PPsD+rThfu!9Q<>?B^E%iYnNuUrzI3J3+EaNd`1*M!C70PFyO=f63Ko=3~ zST#uip$uAT+q_;Il7ECGP1NUh)uvrw`3)Gi7Dh#Kc}fV7%0CnJIg<#`rM$QO^0K>> z<)4WFU0ik-7R|Z+>b-Ll^;t9*?0o18XOm{&R*2O*K$ZOf4LkpFaZ~9q(`;kYT6)&MLOq}1Ibc;bd zhwOw_)U8SL7_5pJj1L&9&R^#JJ>?bya-D`)KWirlrLJ|w?SEu#Owssa&~Yk2nu@-u z4N|Ao_2)AWS1A;TqJL|M#R5>1fr3O&^=}B>+*IVG3VXQhlORd#`JNq;PA0j?p|u>w zQiXL-FJn#|8%_tefk@hDmyl(*JGC6vfn2T!cq!BtWyA>IG>6=W6bLk1zG`XIe@1v@ zOH5R6h&d%|CwLb2&F_8d+qwAl`2PL-ckbL3>hr@N{^qR}vDiqV$~1>HFc#nBm}vJM0++L8*6 zNx)~gJcrQ+y`fQ}AN2Ai5+2)G+=OQg3Pe)|exqX8amK}j(5k^4Xkd*W*>#*luf0Z5 zN4|w(0k${!}9o(KxyNe>!%rI~ajOrUO($#kWW(pir)4A|Lu@4RQaGP8OiNTMW@jG`nw z47$)n&`iMYJbR|6rynyt@0kVeiU<#P|J);c0htNdrC9>jTT_)8;o*u)UR?@EirRo80IIJ}8Y+R^l#`&j2Z-R%CEY|0>2vv?a79W>!7t0il^w6mS{yfWWN45VF~4OBjSbEEr~=xG-EHY9 zWrm@|9!KmEWG!8+-0EXw0h7lEY22Ba`F`9eh$+1R$`*TMG3i}FCl1)A2n_&daqD!0a`}``hxE+6$09vZpZKRF+v3j?~Sb@$Im|XhVgnz$f_IQ#p}q|m9_aJ*Ps}0FkpV1QS@DJ+F$L{{ZXvfL zQuU`*%`_57gApCpDX`(-P}LSHvv%}clv~#S^tB=N=b_BCX`@kXzcZ`?3VHSV_0hBE zhfkjF?H@ee+uwb>_v^dD{r3;TqmG`xc=6`V+h6?R7ytbq{-gZTAJz(yv+S|xD_+wX z8%3@3vn+bf`^oyapFq|zFE=cfBnIlQU|*PwM@FRLv755bc~*;J$xY8_{~~f zuKTBMY7Ca1PB(<2{00g^o-32eZluoZBEChmMde@XZ)MCFww9?A2)&ayqWm3rqJ9CC z%B?ASAyQ_sZcbQ9vl-6!It#PJaj9yNPaaTmfR%r|Pf z&T-3l`l|IKuZ(7k^weCf{3RwCQQJ8h=OxS>I6;x~3Ludfk3JVxL4{WPpn}dt?+kE6 zZiS}k%u-yu|0nD8WnL(4G<99*Mgz8Se~o^#gga^`wXuRcuR4P*)mW*1mg|n)U7{yV z*3$6#U;N=W1O5moB4MB zK382$em`!YodP6H^Y!5*bL>81l_u|W0M}aJTGl!UFld9KljyRtRx}IzC-g#a*~JCp z)n~zn_)XDjObiHfWch$alTGpV;~73he2y5t=#{vy47I^v$55uuR~<;L(!(1nEI`n} zYcXQN%?MO-e!~eW!z?S|ft$hA(joDd)l@i$z(TUJnTb>Cbz$VC&FUAL5w9+i!EbIg z0KZDD=1*K)b19|FLNADh8U0j7&qU4lFlcm#4a8br}SWS7@0Bw*nEJt>6{mS-ockE=5h zR*wmO0$DUe0u48bodekwXZbd>TrmKmr- zb<=`@hSXQ00LCwLSy*$RbCqdxRiDmVCNLCV`&G@T=tMQBbSmM-vf0>dHf{#EQngnC z=!tDW=~eI(y5jcsxDCFFM9=9|`1;^0)7S(Z08nCpW~m7}1E9-Qn@eB;_e2a7?|XH< z2>|FOV=mncU!`}Wa?284BNHoy;&N^V4LS3m@7FdUSu9+F8;m6-JaTSAy$omJXc#gD zH(-h7=;q|PE-P|G<;OGgL`=N!=O_ocKPsj1j}4fLo}pQ=Uoti(%*naPWXoAN{DIcE zCA^(W7i{V&egyGZna#-4QMM=zTq9g!@m6J~xN?N^)U2ZfLX)G2$E;ctsDQP0z({iU zbj|T@=z`rR_^bhPDSPa_$6JjC zR7_WJFsR|EA*EJ(YZAt^o+F;f&#Kk!nACYJd>XH4J&7|Dn(QD+1v>|$MZEuU#n5mC zr4W-zW*Wot)>9poBW~@GMpjddOP;HD<_xXl0=@7ea*aB9gHy5OH_`H(Xwk|tI^sZZ z)(V}AVmICgiE}ngNZZgy6<+!{r-x&Z)Wvue%OB%a`dCzBr?E)qOQewd%ZeyOF8v$G ze5gzT*Z5(}WM>~7XXP5WevMC^Y~@0F=%`qyrYO$9KZh^D+Rsu~y%hG@D_>X}Ixx z#&ps4c(hnb6ex`=rH>9pJ`u=I)}9pC@I&JIB}-6yb0*=yyH#KJxeMFJU0YHs#X^ZK zz`Ltwo~g`KM8739SwRh69)Zq!MXX@a38B)PaH=Hj6qQ1R0rDQq7sY7N!MV1E<4jTe zGZ;Du5L_VuD%m5OTW>**t}fozs=cvUIrq$Se9XtN4xE`etyn=1lW3Q50T$rOXdMHG zt`q$}KCX(0eCgkx51W>IxHT|Mn1}6D6}eMh!_Z`EUAUwwvE@yCX@IS>YzYWfpc`cpiB*)D}I%1Y5)eJ zyxYq5bQ+djv@2_rmJTr@AO;#Rv1iGMPI_**SvYZ(sLt_QxU%lT74b_3kpkhMU>D~V zx0pvi?pH284#@PNhs11I3f$nwr9-p5tZR<`aO@xjeZ9mflx!t(sk>&0Ev< zNC>X0G-O`0M%#H%i^gAD7^}U=$}PofFcG;rvb@X zh+G1T??Vl!sG2S56=kVzC&R^hO2_TAx)?>4%t2i<)T|=50zHylRZLpeb01l4tCvlZ zv?oJ6W(mFB4UZcwE}kx`Wriehin%&nG+dX!ow592aI_~>5=B9Y;uc||4Rlb{!~1Ii z*uL7f)NkLFRqzcZB5`x~5dz0kKmj)Zm*lN@?;%c8SS~@0ebF)FsA*?}0^?BkysORg zEo%0d_cX@I4gl$l+K9Br7&Z4$v;u!2aEDF^CEIO9gTDFK-}=tGcb~m@@#@KwqrJU@ zM~@yqeE8_WgPq^xwX?IkySul)e|U5h3t>P1`Op9BAN&LH6{Dh%fU0XWV_S9|9uw~H zuw5D|ZI+vwOl=m_6~8_wO>*DFu;IK}smucs=a_#(I)Q6vfE0K@}}TYnf7 z)|lqh!InEUPFXn<)!}+VR*)2FZx&j*-4!+3P-Qxl3;CCM6#5Eu$QTV#!VX5`oprRe z_Ee1nwW3Uq1IT8W)3(@8oKpSVbKEs^>;VcGh`N8S$4%?`3}|71auf7q76DLdfec7&LWdPw1_!3uyz| zavj|k04Zz2?^?nNbjS7MmCXsfmV+AgB?nVx$qhI%cIDy+5U%23I69FMG*Gfw>1p;8cI8Z`>zRM}cbzv2vU#GS!jMd#whAz}vrB0TJ+ za7ra!)m7QGLjsC@st*u)MQ`QKMl*{dVCk^1R5x&!3Hs1K`@6sQ`tV8I`4x*_2ak3i z6Zf@!rAVljqN0ym|X}_lG}38$pGaRlxl_GI6y;p3U6E0KlIN zz<-pSp9UuknaC4Jhmf$vF7ay?F09JPbznthL^Q`)ig;So0RwBsiq1(&BfC&lhb1^c z!~Uu^dy7go9X*v4VR7!7mzG*R#(%hYKYB^|AjLO2iGg zB6Q4wi)+2*^9)#l1d^p!>@F-QMzjdzj79$9S1HmNb_e<(4GeV+-9=0^S|>Z^ILpFP zqj<1Y*&A0`_EAgN3u00NmWT~NQ+WeCZ3kN@07~r4wRB|9<@Nf~TAf}6?*UK*IkXFG zy@^fG;eV+Qn)Zg(7wAnf(5{U`gIs0X zU5fxF#PSMv(A3uaO67CC>ozkR`4u#Ux$v`6ur)_T-zpmBF~F=K8!O$SAHS_DVTdiW z83jP#0Y9D@wJtqxSM*)sS~!s&=VipS>dM?1p@8$1aQz*V;^$ zt9x1;!7U_}NqW@9$WypA&t>NbQ&e+cW3${xyooEp$WyS32qAkZG4HVOB#bf4SL!(e z1+|^V@{aB&_55}>1hf$_$HC#@ZbCl+j@;jV@SDHFb9Z(gJx+zNmoHzv`|PtH{F8sC zMqP3nZhLt%;&2AbC96Y6cVEG!%`WjSu-pVq0BDi`5S=@e4q?2x z-o*M>-TH0tO+E)m;ZD&Z;lPCdPCce-EW{PO=^CApar#BsYoJ|19OUE<1T4B^I`bti zVi0omW2}y^in9=oJp*Ynat4wzVaK0=r1`7tFDuSKS_!9xtVV6Xhgy!^I3WH=9K^@K z=eeAC^~=scazR4#Fy4z{=pwGr`;M9745R@zQfd`hs+J9q$;ELL0(QkgtjaTxrZddl zMQ&R~*TVnDGmxaCYxS$0f#mfZiha)4o3&tbpzANb@kaq?#GPMHo<4rON9gC?{p~O0 z${6U;?%w`EEQGy&{p{|22}Pn;t6$F$De^DYCnu6ha~`V_g9!= z)mu`mU-b+m=ztW)6upf`8R+-wfze0X6bTF35VvN|K(d&uFN%Qj^A&L(FaY!ea)-g4 zKL?2%{;HqOP)~5hN1&L>6Y+<(l<;D~+pdo7xg0-HqW^zC1F7Sk@LTCEU=doRHlUu~ zgE4LMd*A~gnYK4$A9UOdf4!R1d)%+pi_2AeaT<4lU7~k^Rc*jIXHxwu9)$SedUYz* z!_H3XbJHe#Grs+Qh|8UWC>`0Dv|`cOKA@n-4)+9Z04Fj@pa z8+0@x;UQ@Z8n~)QT+u2k^g_0}(f9c%#SQs6|7-psHC$7`8*;s0_cYPZSA2jHKXC!S z%Fm^d&>vlDvZe>=Mm9cyfWN$;^B!evc!$0+rx%RQm#34WCKU~9BLRL&mV^9UgefBt zS-FS8gIakCN}GNz_g`g?{60POm}|~6oiC-_S?d^hsMP;77sV}gfMyE)^3XW1VqXka zXzr4w>2n#hDv!tCG6lJ?g)GP_T689>pNBty>iOot2i%Q9a>YT?WG^UZMW#MK*5a8pmp2jc%R%< zuYpAG4@-|7lL*|+3gXk{p2s|TfwRCKQjwlBNv9{Md!;u+X`s!HJxf%5F|h9yeFlel zoFRxmInI7dZ?oa%C4Q#kvT|vj#hBGovCgz?FSG$o<}&N1rtMXpxVf%gx9~zLG5nRp zJ{NIBLkd5P%ZL8F#p!c2G`~Wz;FobBaA^uXoQVQRe4(J$bK6GgZRld7%XWuutev9Ztf>R1rQ%n56?}W0jsgmZW!hejZ*z|&tjkpdGasdMfX+{50q2~FP0;ZW zpbt(|@12^|yb&zE6fAC(kEOEuquc|u2-lTqduhGCI-LN=KsdkMY!bFwZ>}Z4MF8k# zEQif*PU9c^et6okwjpOjmthscxmR%~I1o)1E`;{Hv|ZK8zlMJTGgGJ}i^Si2A7e9p zxi`DmW^zvqDuYE5SvfRh&NvunSG&pt@&-JPp3;z!NGMw7O3F-}EP=U1GQW=(4Hf-G z8Pdp&ib~N)L^bJ;!2lq-^FkaM-l~)#*+A)%&~M6ZDJ;<)#8B}fnae~#Hx>@|Iq!*% zn8Y5l{ItGYiZyrOS*wPCJT;bdR76l?&gPBA3GPYO%YZEhdBOPQxeI}AB1zVwd3hh3 zDyY}aQBwhspL-cd&@TShpZtq}FrGhuv43#5^XT#RgNFfv+_`)I3%m#eJ$SgY`*`p0 zNi2lDI(+i){?_jln!tPj0B%`L`I{9ZUe20IH_hQe9I?dFXs{C4hI}@odLc|vNb;!X zq#@{G*obD%vxyc#nlS<|=;=;xwei4vvlao9j17GbCJ*eR^yl&{)Z6^8<|(4*8fe9< zi>zer=sTP14Gz-%3gs+oA)us}!i}-zxm`{7+zpVn3I6~r#GjbRVqJ}yHH>y9BgD(1 z3ZHBb0N_vutOwW-071STo|3=6Nr&x$uXb2RMh-x2j-n8_(;KX*_owxebs>LC@?p0x zj#RxmW^v4Y8iasRKAR^UC|Ji+1{1WHr!8OvfLb{Mk+y�J@l7f9z2)++|Jl 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

GXLzWEy%{_Np-LRCTXTL&Yzp=T%CwXa%+Qn+ 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 z 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 Vl&Pa*A%6e>002ovPDHLkV1l92(mMbE literal 0 HcmV?d00001 diff --git a/titanium/examples/mobile/detailed-history-example-app/Resources/iphone/Default.png b/titanium/examples/mobile/detailed-history-example-app/Resources/iphone/Default.png new file mode 100644 index 0000000000000000000000000000000000000000..b41d4a9068d6a9c9cf7b98977d20653b4e104501 GIT binary patch literal 114262 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%0AId`Um+nQld&d$E9$L_8CbF#8>`@U0M`x9 z&vg)*F2Ryju1OVVCIQT*F=r}<3Kq`B#;!kR!4Ov4c5&bAFv;+ZFGh+?xC<$tqPkY4 zWf;&l_(N30+D>Ih4pG2^&Dl*R2b|8#nkXzThfMjTV1%8$?J#h>qCcHP2WA67XeNm- zHoX6RoK3gn?PKq~k0b2&qu1uWTiwDTdBk^6<3(Cf3BvG#D-v4Fi!NH& zN`P9mzX4Xyx@s`(BR{HWwo(h%adXMQ1*~ZJYNp1ZU+0Q$VM(EgOFZY7Udtad%MP*L zj-u*(wZRX%WqduJ#sL2tNIlZ6gwljX2R@Z-f=Zo>2`k2{K6uWz>J1? zp-=)!Y}C-g6)?lOzT#?k_K%e zD%>7xx(lIHsLA4fJ|qK=v7We&BmAZ*w@n-alCSJpDMasLh8v2W&t{7Zw{bXE*e_I- zpJxhm0USNSHdPjGu-Z2(^Ag%PM(7YnS{fgMi&UU_jcIiFxl~kn#OM3{nQ_(;Br;}o z?qAI#4aATTh7m~%3VN7wgmY6-k!w*~Rch&)$|MSwft=9XG5ZrgHq)42Rwn z4N}|UGb+g0D7Oozh@nt7_CqldP84<>#vfpQgQ%mi^FR&6Ol7hMHf(mM=TvyoEv)yk zW|^-w8t!dKB*VQf;Pgvec^sK+qoZt^USr0aU2!8C!iY|4B-dsX2gkGRW-mZ#d? zx~pj4ZHh0E105&m>lAsf^b!a<9*6NW6fezF9Uz3W`utpRJdgQvp`3}H3VJrjW+jdv zu(@a{it$2Dc;FBnBv9*Cs%FIGaz$>LoNy@p)*~BQ$5_5KD2GAY%)Fmav`@1zZs~C! zgBE9ocNn7g!PBPKc9NWGy$RueNy!yqEL=ivk+M8R_^ep7NzSK>1=Oe~i_Cn~i1-<*rgUlMRM6X_Vicgp?8vr0LJ7z_}>+ZesrqcD0QwP(yA@bcPd_C3b zu2bxN1{M9iat!zH{ykmi8rO%C6|9gwN|~_$O7Qq8xE$4VO)?=)=H?~pFS1JLn=0+j zZ61qikD~LqVz>9no#&*yDI$9J(H{5U&LPrw25iS9N2L;uiI1TJCMA0&B@fQgOyOmE z9X;EVQ+ogVy;I8jlozmesLZFO=ulRK1wmD7ivrznRb4NqKh)k_f&m_JCW9WqtJg81 z5}w;?##`wg6Hn$bOOASHPn)&DCnC5S)(ZDm^_aK`pVmkcqrg4SSM2q6Y?%E>MM5@x zk-CdM9a@3|Jgs%ige1<_h^dEHf4suv9E=(w=tY9oHE2zHca&&;XK^J`81))L zM!;iZ7y!ln*lMM=M6&S~^$5BKSr z%L@}IVQ$0!tis5CGs$^;L$I-W34-c4_=GdeTt^*rkO_^Wz-t^}Vht~UgryDS|!!j@(NMc4~qW9 zH0bDgq=_L&!7{H(9|ivHeS{-GcGxgYwWU;M~N z#QB6zFNQCTjN;LcR?f+S4Xy)=q6MfNnWz<5A6FO}P%O*Vq{e~Qd8#Y*vymkWRQQXt~~8t%hDsdEit0wWi9}~rxNMVwiXbEN>p;_AWeZ?xLb1a3XMQEu*_`J>5S27 zbZ`_G@HNVM)oxT^KV99v!MU174s5&kWS+l+M30W~Fw;V!+8vzL zcAPYQLvfj4^lfU|Z~@<#b^6qE4?0q31$Ql@P3Go|ydOeWg1gVZ@5AOez?7}puy59* zpP0(;@d_6tUDo04Rlvsd0mlHNrpg&J)GdHnBX)&jIik>FHQbC`ZN_^v3>v0C?Xe0b zz@;Sf!d#Qs(2wu`tarZijooKl4xjDKmPTE{f@S%lzZc z*^WZ6>pRU~7FpWng;J7WiG^nGcg-%b8O|sCSjAq6#E91-t%k#ogR& zU8**Mq?D;%HV0?qm|&#k~;nG@Iu%W2qZ`f9q3a9A8GEsSFBuGLrHy=j^=^a>7d zEzATq8-`HbNh{54mB`q+*-qBA~b?y#Z zT3YAiDA}gou(a4^tzbzmmX#EcU{S%wTAvLZ$&+P4U=g-9olAR&DP5(T8<3<8c}?Zfo-q%Mgg2C%2E8t) zr}UpMn(0(i7H9b71*2tCbhDDnkdW1U5kA5 z8OkzVO$un7V*HH~=ApF}8#DdoLXg}xgvG$dV0Oa;e4R?-dk9)>9oy)5%5Yb%NC%n} zVr!TC469t78DAHEx*}EW5j3 z_4u*y@znFLff+HoZKkn?*GwOu1WelhCd|H(LKD71v@CG>xo%rRZ$Si5RMXQqGdg3) zY3u+tx?JsfKB}>!NkV8_Pk!uO?>i0{b8nAq&QKdm?iTD@o5Dvs+-QkXQa!nAwM);P zf-ofsl^gTm9a1{G$dvk=O2O!o@49WuoYdc^gZ3M_y92z(#tmX z{U}*>&9jm#7C_%%jg;j3?a6|8L?;`c3U7jw5Y@1>ow#?Bg;cB6uvE{(elTYHJY|a` zhryld)PIJ7l6H{z77T1KAEmu`%-@s+f}hdNJs66>Lw$$){h7cMzmyqPgS=T`7EA1B za&ZPDf!P>Bq9i6t@zOG?B;29L#ou_W#*ReiNDbC(+!kmJi)^>4$nQP(c-#9y` zW4w5av#AYt-l_|E$DN(X&~VabibFL=CN@P(bj8E4YZ22C>6<(+5pzV=$l-N~!A}du zrZ!2erz~B#sl2SxRvzR1TP0b9-UG93^V8%Q8-Y zPxDq1zT-<uC={9_-p zVQqlk_q<&8zA>tdV`dEX-HMrR9?4LNBwiEw*z|V>$Y_Kde^J3^!dH_yU$8;7Fq%%q z$_8g_QAuqXV-MmXtY%SX(`7~J3a~Npj)ftCDHoe2#>7wLzPD=< zWeIgV3chy0%N1>a9b{9&ux%}qX~uTC=_I><)8#$Kyr-H(owb`*tPw14pi@W=4E@>S ze~q_{j*T*;4gSM3DR#`^!cm!Su5F2RXf|XJ0nA-?x6DphesAz<*p$W+?x2=*y&+vV zlzcOkO7GtZ7t;bQO|OIJe2b}SQ3s5P8X?CiQc;DS3yZ!z3BU^PltG~}9T{q45?HF% z)RS4Qy4YDEDml&ua+-m#iXXTFzA*{aI_#opBEH23#EQ$_P&>QLq4FwgipQX+f8LA! zY9q#APM&B513 zG|HoL`rBTJun4<(ws3#W-J%|TgoYKA6XR&H_LMp)XSSZ9#N?6_$9L4`MD zpY&clcXg!0?GcYb`7*|TfeCT{q0im)F@&HuuIhar@HuuyFj=(xGAPZ%`Q;;}(rG_1 zbh5>zYc}6=`x~>yX}bXp*?H`Z@7&FHAie=tq$CoJd$utTYt_FN#C>rWxHxkv>MLdHr>3c4Zw7Z^r0iR z&Z4K6m?2X*i~etN2>Rck*ecodo1B9*Tb)!jJat0fAbg4~iD{q`?5Ld(N2)WNF+~8` z(x`}<31WQbl-~XO6VE>T;&*@d%`?wDaN_2_x%o{!nGbGq)$OXdFH7ns9XUVzkL|;;xI!TU+E0F zFDkaGplef~xJtAJC{)#Und<+%LW>T_XDlYWf8b=Z5Y(c9oNy7F*`cKX@;(rP4JZ!# zfx<#WiRC4Qj4iMPKBa{Ev2QOpKqgPbYp&BJ<=H0kI?s>19IT-`Y=vEN6fV&3U2<(oPYam47>x%Lc}reCK&x>jIuPY@O%X$40YLLUtj&_$1^jPvZL;1KNlC>IRRrYdT)M-QNEgV|n4NUcX~M)X92Pz9~Dq_Hcl z7`z8UozB4(0~iW3tfEIBE}^XcSoiHVt;BWnkuYKT#1#)ncJ9R?>k92WVk3)@Kl!lP zOkG1J=#fNRu^3vb@33gf0&%>864*&_d_Ted4Z_rTpHIEv4R3qtr3^loU*6Yizvzqp zJI5t(MZ!7iIGA8 z86Z{_-7UuJjO|GMvzY8YsV#aEi(Nmgg5$1{y+LylqnZ|7jOJq9#z&{?MuQa2Yi$?OgKq~-ukqkR5TQW&{gZYh4sUkpBmzcHuwG}$-@^gBWb@E| z1uL~MXXbc7HhAKgwR#;DzxbvOf1*D7w23m=!o1u)s$muvgO?jqTZ5SH|M5`T-E$Np z1vzKj1_8>T&fx`v-V+hoBUx{rLk44pt5?(t;U0zSKM54J;f_VJDM%92&|Ue)O#{Hs z`AyWh!b{uBu+-o$s(f(wz2I=YV4QyoO>@D-w5i4{ytn9vZ7JfyYZ+}ZVLB!#t3V2q z9ynSz<;v1stI>E8t2D0_a2H7Io4jVt;1aopT5e&727t4dml z#aGx_4&R~nmcR1;5546}{lKvSC_^>UkeeIyHk8DZuC;y-l@^i>6fL`eh3Z~}gyv6b z5|KK>PfMEVb}z8t`trgpV>~2y4ivLZ%Y9lf(iWH2B^D1bXM_XLsz6x?rZzR}Eh>Hu z;FqpglQMS5Os%{tczWwdr;c`w!7W7rEz?KX#qIB~gGSjx(w_DW#wnC?g(kS}y=2iQ&p$2fP4+hOUb)sD|lUNFb3zkih7XBcI?ARl!+&G#K} zw7fHT8JI9dbdY2WGNiH%#Ss!@;6-bMoc)2vX!T5Q?vpHu}k;?fxDCiPB#1%ge@Bis_FDZ z_B1Rc(5KAZDWw;;ctw6rC&t} z$n2v+CN1F22Xy={re`h_#WqmMFQ&Xk`%t)%u)O$|W8c`&;W_bwS-DA_B@7j=4(jH~ zlOj=3w_Lsl;zpZ(MmPWAvqZX?@pv$R<42?7-yGkHy4*MQMc8I&+-573zmWkR6^gi- zlbxEtr2{#YO96b2;>ijnop@O*&?lNC9tQ+}_vgpQw2~qSdS z$Wh-E9-=asL!NhUWM6*#jb^5DJcH8heVPsFQ0*m+WZy~G$wZ1$oe)z zk{AHvOM*XB4FliKdby8$DD&4Hi4U zYessM1$S@rOTO*f_BjSS^Lt{nckRFUp6LC4`!{~$%`?x)u}A3mXc3mP{x;^3bCH5f zi-&PU6Am-ss+Mp&Jis})o>Ofll<~|qCPaxRUl(1xa9_(&s4?)MBBVTuaz4Fb`nc&Z zHJ+CE$SqNtX(3RtLq==cxfcbBtU2%Oq8F@@3mqQR&K*joX!Y@`Wi zpGVsGImS-$&QZ@gM;FJ>v>93bMo*LG)!=M0u71?x5d*F;Z!wB8>qK>yCU2Z{_PiB( z)`dP&G$XBP%1E*XlZnGXV1i(D6AS-wx?~s2*_@2%4IfgJ05ECu5xxnxQrakwx0>#$ z*xik%A_yQwjno%yt3tsWsP+85T{VvM=xLUzM{L}Ls%A+sJ}I#QGs(OAo7aEs*S_Ho z{y{LG_h0_#S0BJ~dDW{fPe1*$|M(v-C=`eWu?aV(>YEdQwL&G1O|ncgwk_yCp|G6j zhy?=1pH&nvkp_L9Op7U|h8S1~YNd}yT_LftE&^d{t9HM^8JN=i0u>F3iZix3`+6$F z-wxgE4ao)D(m&vUsZ^J;`D45O+lyv3*`F)TUF|nl#Y#l$JO!>Kd`d#4XBr zKue55;T$NpRxl^T9Tqh~+c3;B?d(LSutrR+&e2BGd{rL*b|0(O*|KAR#Zxg~+_V!g zKIslu=LxoBea+otRlS)NsHaB+jH$@28c(ey3zgLj%v_Xtz%=u+!Ge_5Hl{(EcNCUYoV7~( z3y-%gED~2*YLjd&IPJPNcD1Qnc9h&}PM|ohUK&^XGqa))7FNpGCSLf4Z@78pwVeL8 zU*Yi^d+*3;tzY_=|MLIyu6J1}Q#H4{B~$7`=OAM{!?(G>Cw!(Aaf+lH%V~=dh3`0E zOqP?!?VRGr2tV?OdVE5~x3NW*)^nIt2)N35FcB181uV3q&Wpf7Yjeq14)vIGVr;TQ zIt~pfu^VOyZ1@8<6zhFQE=c}~s9AA#i{-BZPTu{6d3dtdXpohgOIS^=d~#32sv>-* zt~ji*R3e2ltTVEhxTI~_jLmb=X?Cz>r2NKV-$rgws9*}Si;$%qM$U2WT)w&o*cSiRl_|SKhM+>UyX78jQv4CM|3^}`ACANqfFZJ#`T5@JXW<8ivIg19W zHK6)i*tw8+DTyD@GifZse&V6I_g2wCIl&)?B#=gpov%SczN~ENX z_mn~)j2+$fXS6P~8Cam=$rC2aR%w9KXyUsfb@Bu)84sZUVB|XuB<2#yNZ>77UzBt6 z>cBP271=G<`}9~u7eOiA&W4lLE8Spm+iq-|yNqeyW*lY&80;at9I2=U=X{LE&Tj88 zMyM-d`dyc~gyZSW>)u;P#-N6E2~JKu>yly`kZ(Ej?@FS5u{ICrBeW~GvEee4C%A&E zSe628YUx)cp3l+5_oyt+uE<4K@NH-CKy=s(8sd~o?cui!dDTo@jHhM?p z0L$^IQ`M554c}9+=2tO7dC8cXbJ3eoH&|wr)X(LwB2w9#!i6rSVTDn^$ z_;f*Ig_WjZIYC2-ew}b7$&3xf0r#blWi~j{i$#x->UAXFAapb_w~aq+sLbVDbvoWa z1+UAh3xU>6gC=Wwm`?;W1JMk&(at+JBx|7oV%HmxCnNFrVp#=EE(Gf!W^X;VL0e=_ zG)S>D*uNrgn^_5x#eP2ne&Pu-eq%yuyeqm`gcdXV?(#V}T{NRIf;7916jf5RTk8Bc zuU?{d6F%ydMG#g;9mIr>h?sbn|e)(tr`9JUPJ6x+80{-I32@90nY$=o3$h4G+ zo`VP$K=`I}baB0CEyn}2Twtj~LV-m4#9(Y;lC=PT_+~R;iW05FsY_CB27vk78VClz8x0f*HW4 zNQ^|3_R-XYjtR|t8;rGG`en^kY%)TFxJZ4{^QC6*rnKJ8yk#fUjID_VGSf>j4!$F> ze2Xo2{Qao|rq5qhGv}t-sXAKZ+;L`etD4Au_BU3my1VRBZ>M4aTaZinIn`ZDmT86> z*bT5QvyZm?jWsz8Tp^;nm5hlN@&t}kr2@|l>j=dLD;2Z3k6fzg)*=e*zt=?f%a_dp zhLVgz^N$<-q^!`YhkyH;Jf&71#$sEWuAur{el&vsc|eB0WEWtX#sFmHYyR`wzwi4l zuYE?E-(T(NTT-OOJsa!yy#2?%>$~=kf1Hm5$x6Fw5VB&@tT6Z@96T-8g-I1`Ip_P8 zcbiPjTP|M4bu1(mNzjt)Nfw&anwY%|c;I?z3DL>>&r(XBpFs1JHa-0ce=#^3ynyT4baxavG$tc)3*CPMQAY-=Gs2^K-_&+ zXxVNOD(84Ccv3EW7^qn?&%#AS+rs^TvkG&52=pmt)nQ6UdkWhwvsN;Mk8uv&dq)rV z>8UU5HfP3@)F_^XTE~vi~hQeJde|hG$Z~pUt{?x&zQg311 zMTuZq5!oQKslGYam$4yclNP&Q>a$YwHX{14-4A z97xA03KZuX&0Wimo@KefIM-_{opDn6jt94czx0$LMNGnm+}yZeRN!QtQcYq_x!I}J z%S|(nYPt^P=aO6hmh|c7j&zO4x~$Y}%${GoBuDb)+E`Y&%U&uUOI9{6EuWVM)v{*4 zCf)Jj!b(NACEtm>sZB~+nxpXjD7G8=C+1fjT`;BJy@)Kf1*S+nfm&y}Q?j7L%FK&Oa3-k%x*#tlP;)_4^!4Lk@PyS>+-gso1 zfP_fW1J#n%qa;f%uY(~yCMGE<=xGVR*#?@+!RgPeaZ-j%Z0a#bVZv3NaVg8kwI;`g z<=LN`tq1TPJ2jU`%yM^H9x7|9V8YVugSSM3wZktz^UErHx$1LuZjD@Sz?MrjmsSts za9(KY6H)T$Feb*8BAvTwNrChh47_h+N5ibrJ@~RokzOtvvb988J@1WMB5L>{_;t) zwm9Cy5<|AFC$sLCWV(>L@m`+-h68x$OnZY9<4F4*-}FtF*S6L6!yIH9Ua#H|udTaKhqpxtd}v=SGJB+j8t>MMHmvR8zmsKive1I+ zZ;a~}OOjV6?^N*~Ji|K`WVVOU;_zYUKKADaP|tjSbIlREO--&|!nx@jY!+%TDPpc= z4|^DCNMZJ-oxpxzdWqoWAK`pu>9cyxP$lp3HrQU`2YDm2 z>t=@7S4F+6cIuk>MxH`ly9Krc?77Ngd*XFZz2OZn{UI zD{J!GcE)%r&GS={x6>u2!h&zIv{a8XMa-}sYU1mzl+RKl5Bnu%YQ-3c>%dw*&w%qI zlo7M#lz|-;AJN`b*uk8K(6(zBAL4My_$#OIH@e?X;^}(=T6Y^k+sl5pRowl`FZs4_ z`wt)dU=B%oV1V*KugvbmwDR@}xvTCy=z;}JJq4~?=x+Pf>(~F<3B;$-2n|);`K@o} z-85H&C4SqI>lw*+1~_G~+VD9$KYF1Pox0n+JUIRBKQ)yO1Bs#Up352&5pOw_JIzl< z9~|$>#=03EGkjuM>tsS}6#D%W=_w>r+mZmBKI%2vkpU@L4P|0>J9w`3cIJe2?dh?@-jxUWIpRf#Eju0wCbcV* zxo_7-kJs8?DV){d+mxdwQE{Ei2Y*(BDXO57QC8X(7~?ir|$+gN;+zKq}O-`1D*DxakUj@ z$^W%<)yx>O|^qJ-jJJ-`|Mmf5+XB_f=L>TP_`^b9-aVQ({h;i zYzA!eR&wq1U5YLq*elI~!0uhvP+cS4EX#|!N*`MamX=-baxv%b%KGNz3^HF^-ep$b z*6HSAC7!ysfB*MiUh~@94nOa0|Ft=Nv5B19!Lx6DYnLP~9{{`8Hr+RWN1K#q!V9kk zF$2Q;_FFE{up0is2i_R1w(1wIb7?QO6zvDTmhAUT6|}3AC0olu)$$a~JQZ5-W?I&A z737b+>~0OzHA<=RRETMr@@08=FA0?fqVUxWmbXRp@ag+770W0-L^v|GwwCO7RYEe9R*jdT1E_*sHpjVP#GJy75XfuN_p3$AolX}dY1C0Z~o@r z@>TCT)nSMJ=)c5y2;&-V1tFq@H(EW+_L zKj++o8=N;R<2FLcW)e2$ZS*%dkEpTM8iP8z2?m@%noj8|>@2uDO+!k$P2r}C58YVW ziw%%gQ1RpGmAOWWSq35cY?|jF)=*Xx9%JzhR88p~`EPnVY{Oxa%JjS(*U-s#8g&|m z;hd>PEK-AI#|g5+!llvwOV`e{E5Z9@4Z`zyZ$haEzv!k#2PsqyPHoK+jmH1UeIxGv zd?tGb+%15HmB)TKsms6fcdM9*jJ@P%_Ewv&Iv2x##!Dm2yvB=@@ zn#sJ%RM3@iAnmNLmGso}lI!rl?UNGADH7CWOlR+>L00~!F_pKfk?D4A+8sjmxH4Bz z%9>_=b#Mzs&%QF_jKy3n^ISWy_>87F+|=LOn9oeYsmh&+&84W1pfq0HRc&BJ74295 z%O{?F_RGHOyUG(c2l9NoloEcDC&5xo-Z#M?`|yYV^N;@Md_ISpZn!8%PqX2(SWaru z%#5N*P_5^TA&IDP)1+VC;Tw8^oMU5xwf55%muuJ<9klz4(9OQ2V213BJ-cv=N-X02 zcYm#p{ikRYO40N-^AU^Ex#CEx*%L`I434hO_NylpMVVO6n4CRe1Dxx5*Q$Du*#2+m z;HFd~=bzv0HeA10^(F9B=?Mfr{lCh2M49e9m0jGTCYSe z7{Os#?&2u@YQ(ZcWodfHUag`{oab~BcNMh;EGg#M-{-hTML{i=COoY@Wj05?8yINS zeIn52nc4h58G?q-bxE_2hF-^y-Z&Bznw~M+5vzw=%s`Gef5&$`^S0l0+o!+d?ESSm zehERJJIMY2KK=X)KmO87R-ctLkKCwtM8|1K*zquL@X=$gwn@3Jj#r4>MvSIi92)Dd zMmZCJMcvT=dP`hpIzG8|6#YxtxOMFm#rz`CwVD@cCV9{ma$rAAi`Vlrj%==hyz&Ki-AKGP*XoC2|R5GxcO%s+H(E?qn@qTz8W$)!?n5Uem z1LVoUo91<>NTV--cCbJ0(F^0(^|fEYC4j0n=`VNX1U0T#oVzx zwbj_Zq7PO9ZXlI1UcWJsF!|{e_$_bRbqPR`q)=Pd4~*BbmSxuRn&Ijo6*eZzyrT`_ z3|c8}VcJm3n_AA2VK|?NWUBk03a8?guysK&!4+$||Ms^kA(9#-GPm{c+6_d6b*q`` zk^H5JOq`>iBD@h_$_FDBDv5*z;g2%==}%p*tkovsqUZgda)@jORz`kN;1ktIZIJ_G zI@|+wc+H#Ne0Kn!mR`5N=IyVX4&x-g`=3`o|NJlg*pL1E5C1T$ge^JW+1#3IZRsAf zv8~jpVb%+bcva7DS(C zLDv1B(Q7X1LnV?1`d)3*Yw&)pukH8cGU8!KDX?05x%Bp`ijT0@VpzgxsO#tZJW6GWPR1hsk9G9y7q4 zKutV$7Asa^l-krnT~-~lDl-ujWkd#K&JE?b(Q6lOvo()pjLECqvh=fOEqI+dA0W?$ z$0jOwq68@{b&<%g9Qa?&^KZ8wywFl%n3JEJ32tktk&-dfbjLdEfi? ze)Qg+d+x8@^f&Rb>VA9wVBCHF+q(buKk&V-m(FcWZxzW zs)m|70@mj7FqWRY4jxMe?n=D(iiI?zEU;Tvi{oV6%P5yGVEGnYaHCf7vlN8xR6{Aq zAOSEQzpjq$eSWm#TJLyES^6B2sTUH>^g_*DYb3QxL4aqg=pt=e7Su>vADDST#&iGm z#q6ihPcnKnrrq~xNP#D32-NzF61m=*aA&3ZOaeZ_{?-l%ZonkS z3I>62Xa_TmByvIj8MUN)YXQA2zBw{S&-V;8X&;`toIvM!@Rnx44z|Y@me0=7HC_%P z3HQN$%r!UEaV{_*U2Ak~vNzEg>IzfTl*+x^TY`rR5tsSnL@zr&UCXEV$~vGTv4o&V zRRUVPm9w>t+^61fj`tXOBF7D@Q>U@F~H?!!$nYkS`;cC&gYzfjVn%P`Q z&p|iC1YAolV!iN^jGQ!~5sN1rKWHao<_{k^>7J5i< z3yd4F6g^j+eVW3>jX6iZ80gwY7y5xo*x2ad#24pSu$)ROXhSO9wz4aU*>g+Kx8x$D z<*1g)eMRdb<5A4NNiPkqWjqO-SjQyz{s~bs-Q_*UNm<9thLK0-1Pg63Q8<}g#spT0 zXG{NK@zWVV2bWMYq?Es!gc?xnjO&F;_ z=s*S96_c8vrAS;C3bB$3%%TSXFX_B@Y%*|q5o!yMB)h5RN+P0v8KjIQo@SH3EygrPPyo-o|LoiT*59hHdCiEF zxcwwLKmSVDSixf1o_XtAf8uZdACG?S=gJD(;6Ym1&NBE#rR|$?Q%iD=Zr2>;$eUGu z;#%;X62q>ESQvtS4oyJw>|5_Pw$8%b+*r#PSo#jI61grl`b*YAMK*9rOpB`PXyKQ~ zq2cJiIUlq;;;u4FAw!(^LCD}HKTx`wC?KR;ihmjB1>>=quQ`s};7oA;Bv5LbXGPmK z=kZw7QL+~$*@-5K7*Ez)=iFj2(26Enn&Pk#QRoNoySjM?xiESX7mHy?5H6W`n@%w| z)ud9DWv{@)Nsw@A5_C39?rX2YijrJ{2^*k*C~MM9ePu6Qh!OylDw~6gZl`QiT6w6? zamGG+?)iC*1J(O}$Svkpb==7FU&+)BW`5k|U^^#8_!dc@ddglhQskZJ@MRgKlS(jegQN}Ct;ZyC|jbb z#p6O1YTMAtoJfdW6ujkAhTI(8WV1?pdL%{JU8@l%rwD3vqVtvwz}fO^jl*9!6;50p z*XXN4eW_@-E}SR!wzNBCs{9z%OlWk#x#!GyC`5{KJA}kDXi#%$kJ6l84m-$A zSh=1MDtls@aggK9qmc}7W1BB{s#>;M$y*cEkt|VbeTt%DHqMi{(DG*Hj$Tq%x?h{jgHJl%`}{m^m;Q6ML1N{Buu+biRlA(e{JpR0om)*6uh}Stc!EDAtBawJop#7K0 z>p1W#o*bJu7o(rR7e(eN+3+M5;ei1JOU`nSPbor&od;EWZUJ3g4eO7nobHo|zT-Qd z`JHcjeEazE{hJ>L_~J{1$M4VS$T8Vz$59R}}t&n4C} z*bI|MHP{S7B-VLb8CO1bk7>|>2fI(KZORbO^v*REoc!=wiS2UiROGT2SnI^GH=#%x z^7K~#3e_+#6e3c8mY~j_rVS|I_5srJ_m*QPnND7zKxN4SBcOP-+wf7yJ6LE~mETaw zQ|SwO@PTi2&9*d^=ONk5qDOfZ?4QmZFQ&PHqQy=)R`I<4igS=q*8jiTft&JxFiez$ zDJj2bB^3K@|FhW*jep(Mrl#MW!wWj3>qtYo|6OD^beK9#y@F;%05+P}M#fez1hmU( zX!b>yh7bvNFH?M@s2;JwBGKeh(@jb5qCgXHW~r&1k;@tmS-74DF(_b%PBn-O55lq}vA}DIz^a`<%MTkVMz|+3$Sk7k%ruK0c1$ z0YLA+{_XE-5_}xM&p-c5|Nh5+{)c~9`XQClmciv|v=gFb!Aj*{@MKn?R%L9p`=I6( zRqIYHfwUSGq*iSP0*=VjtBScd19Oy-gzd!ObgK1ps{#m6Q#2rAX9I!uwb$& zg3%K;W1QF_XH#usAzhR9W@ACf*c|S*(k__|$gUW06zI32_$T3R>`3f!rzHr_y)!``G_g)a~!{cd@CrX$is>QIkOsgxZ zt@}UY;C}`@-u=3f$WgNYHj4Cm ze3p}dfR{4AZdl5#*?l5npC+1AN>1|UVeEB>H;O|&p^=1DE}Bc*Zl zx-1=I$%JlY#zI;sd+Sj81}TrmHD@Vy>^^g!Irhx(wCV`TIiU|kgb|{o;wqXV@G3BX zMwud;79u^7c}&DEl7RUP$4n64S%&w<;e<7wlDN1+#0Q^Kr17N`+mtov?Hurc*p>Ol zvb*tE;gnGo{gc##4s26q@5bpSA11Z@H>rtK;+z4)B(jjmpdhW(jQB;-FSf+bI%m~b zs7>cF!lRDji);v*)hS|Ovdd}nrq%(og9o=$gaN4E&A_(7;)9&Ps+fVz*o?em79~FG z)n=4jO5=MQYu#jWnKm`=rgEN(eW!g2upi15YJyqZ6&yBEr2e))@CQEskNn}sqxp^G zh2O~2_Y@_~ncvM*uj-N{nY(lRq$a)FwuvWQvR1CCN)sf^RD#AuH&dWha1hI~$*NsV z_e;{J68AFUa#5&B?mR>9IWHt8l?6rGicAX67_3}00wMD)=Fo5)Ia8=Z!PuyoD#8G& z9uH@G0HSQO!-iqEde+)1@cFK)^NWs1B`z0J7=|ZRuMG)@h8ArePW?%`dxgO6QK6jP7vTY$!?Cdu+~-*y_uuU;D=Q{_#`z3-I|j_5dCi^}e?( z_wT$u-s&6Q``(X!-~+$-qdywYRs}3C*P-u3+-RcTqC0HZf5sy{UgZ9-I^X`_Of;;T zik@|YV^PbA*JJ+Ih4S(CCe0J#Ln7GI6$i87qWyGBk3mpu_?)-lt~2{Kj#`Fmv@x0{ zjd9F(MJXFoYINZjh%z=c@M)1{4#aL7{O5g@q02pO`uAm0)A;RMGHEKA352=qDehvq ztTfN)(J!Nt*x>dRwZg7h$c@ic4qQ}}t0MnnI>U3HKc3-ju;n`lw*mi{$9(vL#e>oD z*QohA6$!x%ar*REF3|yRG4vhV#Ku&H6=S0&nH{y874=9pjxqkV!PmDYvrrD_$WNAJ z5SSnE8~$M648j+Lqk2xnU>G7 z7UQ`}VF2B>X}8j>M*;kvCwxU!iLU7cKl}^+=l|uif8XzWJo?`e()}BL`c4`GNoY^M z@cd8y?Y}MgRAdXIp^*?R^YF1$9PL*cc^KiNgg)EE5$sx$Yigylab~)j!75{#c4Hbs zoLSHzE!9(o_f!*V(mz>gk~J%R@z6+YNfh54E-J@Oj5(>sPWCwN*-l$ftKfCnw6NQ= zlP-0=)m-!w70W3y8jX-;jlk(!G0u?M{pLBh_&1DQVjCkTGqoipGYg|bHc5+xQw%u> zcV}^?Mrqt4&VgEtA-BvQ(HU@2(MzFMOD_j>&KFaPP1nhWbG?l&q(X92_)lXxxR0i= zjg#qi)Ipcdkvo!qVxnM~6*0FE)PkRM)G6Dj)Hrpp?4yPLY}7$}a4AQIMm>y1&(AWz z2AM_-i1>o8v?-0nazd(xByz6iktw6$Jg`~3|_jeIsPBip*U4~^<_&rQj z$l&yBM6)|$3Y&yr;|2>y#=W@9rbwLDPrUYHKW~A_nKcJp1Oh7VcRwZF-RpqaHnn4E z(GRN{$vJ#0(SH!?DR3mQ=EDGOx;xQ4HtJsij#$E=@7dVcg{L;yh8CM;4y9EE$3?ez zJ|Y4lt;At6xW&S**U8Mre_kk|6#Oo9_cbyJ>-OA>FaFqH|L%E=6^(vFsUg@*91mooF^V{W zQq^`tj#|ORjl1cR*43Pq{?AnOZaI@@ylr}hJNT^Z_obe-VxS}2BPj)HHd2*OZpzt` z@F5c&STLO#7jtwSbdznxC5~SZHZlS}ncWBHpux*CikSu9j}N#J#?u=ne0x(=qjN3k zsp9}hq7P}(2(+&f;N)al9ThhfI-WKrP`-qMv@$J*tS%HiJKP}d58(IQ+|+EHKiWh> zE~JSI6HkZ1wCW~lXtw+`upS?bdfb>BNlk5FQU9J{kuRVBX#6KQJc7jMKPg^Rvfmgq zxJ9Y$u1BKq(Q>fE;yifKs%@RyO1!023mfn1GDsFpy@ZT8OL55USi0x61-)?QH;;Mw zsTJ;N%3+WK;Vf;$v#l$|#I`{f^PomD3=yY&{Ko^HNu|;9?jXS#mPM`e*=fN?si+@F zXdD?7vkkxKT}KbRyg{aDs&(G6M5%0!E#r0Xc*mRm%(pzc`#Rv~e)>WyP(C%9;HaGX z(%7E*+|T{^kN@~D{K$`Vg?Eq)cIZ%>jbnOGIW(*+I;oDG#W56?wgZ|KgQS^Z*iRjK z1sk^aYTeB(W`5Ii&F7n?1=nOK=53BB0wgwGaRGA#9&j2ecN=_T+PGqrYj$ZbclmIV zY8t~UHX6#IVOV|P`Z`|iaqQUGjkm}@9-ayXCXv+a#)N*Swv$@?SZ*B6;5jLjW6>)O z#w-&M9{RD6K8Fh25|_)U?@5d*)TT!uO=M2T0~pT+(*GuFr_a%0cv;4G?E#W6pNf7x zu~*zo5qGC|Tizq!!zlj?!eyyuj%iLCJH_3PxkkQg{S*_?JTDz}v>|WcH;+jgI%ATZefnl^0|1ykRh5?vFf%Lt<1R!K!L15?p1v zzEmAyPFhy{MhF*Z%PO|E+$fK5N+c24@aKSUZ*>Bv4rKFc7_(~poyS>H z)mD&mhz%M_Hr9P+GZPu%WWUi51xR31_bcXvw8WY#sR(E~oad1l_0a_^XcPQcu=y3IhsU^D6Q1!SVS?5eU?J&bDh`)4$*M0`+|(w4;iHFV=kch&-=xD!O|Ec zvMsW8L5L_TVb6|gH?G*M^hxwfW6mjih#W8il2mA@e%D0(5jJ2#rUj+BwcqwNU-SAu z{D&V0`urQ}yzwjX<+wYLw#y+&`q>YCsOh0qbkCX@sBt^c;fYp+oiRERs^s@%++UP1 zOk$KcKMy|b23>~b8-`Vuxg1~Ml~#4nVNzLDDrLm^G4;7o8KFA$IJCClxG-C3td~u5 zind`;Q#Jc&hwGuScEyN8X8|os_G32y8tOzXBtGpig#nLe`Z)thwUCu+;T-UhJ}cm! z0v`P*4w|?cmp}!&dm5dYRm2s~Lou(b{;y zAy%Eb)x>M{i=$aLMSaC3q(QAB>EBIF3z@MTFICVS7J1K#9`j9_>ol_|8}N^_a8BD? z=EPQY@{7sH-M2mYy4St!d%t(T+;sf;l>YwuWd8nYXTWUz?mot6zvG=h`M19JJ}Ov8 z_!WH{t7qwK=v9}*A=&OA!%>7HcsG|+ZcFls*_m||*=GKlPF;NQG#jQQE)^f_97j>< zB^OX_?*zt>PK>YF4r;HtnM0Z4_6AKYlBQCkk)T{jY1S;th5m6_ldXJA1Nm7zHRWVb z=uwhK)g;4Wm!4G95rZqE_xLl9=P+!jZdz8e;Sy*ue}Wr3M1bga8`2k7s&=#J-h9 zf>Y23T9QI#D2d``^YfYzT=xxzbZ1X?Nc{z4LKcAU zNxQ-Gpm0@cQbip*Sn%X8g9ur8h&%||L{s5wnbYW$bw(wmIZ_l_2pbKppS#Qm$No@| zsYRTRdd~i-FYi7`Sdn8xN0ud>J8iMArAtuA<54F z7eDe5X)Y18ER^PGs_3xIlpe5PHq9dR?5XTlhT($v!D;vhF{hHu8qGdQ4t`}_SbSMi zQGQ>!VzhUSa&P+bRmd@iXoQrDrg}@AP2~s>!A2LqG&P7Krdqx)_RQR4kQP@=>d8r& zLbXfAYgL=34S_T}ol3I@PRfJllx@p)*6QtVbd~~4xFCBfav1#wdGQrn7DKe0$u_81 zZFryEoVBNhm~W$R+u&RiP8}^asi^Ye9EEdGQ&6{DF@ZZzso`(M9X}Xu5wzD*Z2R=w z8Qv)OKXp_hO-(#XI2k7QSH?5Ql?`H4DMiKj`!Ti&Hrb?*z>8HM@-T zu%xz-+fT?O%9JvlQ>l=rs+e9m_wR7Lj<6r$e=A1_dV+!-bKXIEvw-RC+W`g;U-&KG za&(cs0ltk&zkJGn^*eEUeBRq_yZi6WfAKGV=*zy$4M&uU(pR+m-;K3%HmTHERJ)li zX2ldV7!wT@)suDaeBT-NX7v94>fH15}MKbF?UBw&@#)LdZod!bj%0)fgn zEc;%utI{Og3{OLak)7`EtY(+PxFj6Hkb_6&<1J!m2uD!Z?@Fk4JQMNnX1a z86mq59F?0XS#|7cwJ;CJ7N07_{sZ1=+Lbo-3#9RqJp4F0GY0 zE;0nz>|-q2DDVlHrCACxl!$Z1s;H)NG@>!O#U4bRvWPJ!O%{u$eFlSc;XU7qa$*Yt zj;fB8j2p#>$*Ky!2H3`#Zt7k{4Z6&v!F8wh!_rkZ4Onzx8|RnX_E}%?6<_ep-~8y& zqgM{`Q8-_f-wa=k}1ti!pwAiX$TPjAD`HMFhA1cFQ}Rx_a_ z4*gjfIVZavgiK*dOr@Fo8!py-f{#zaLV<|IoO{$M?W<Mk5fD64Nx<)Wi?gN3V zk!KpSn6Wx`l-&j1WKDS+)4k3d-4$sNh9lCE&!I1i5B>g`LmWpDS!@9R_kmk%WB0RS zVxC7sgl2h;w_t3Dt2WxX&A8}@%`I8&QZ&>SB^T%o<_{G~c@jmU-xCEg$3l!h zYnlOR5!q%t6|(VyM6*J7S*;KDkxgcy2oeiVVgj2mrL+h)GT{e-IPoNF=oQRJZ)q{( z4<8Hs0lQH+LD9YQSI0xYg9O1>YpFZjG4C`^ z(?9c1{z=5QP)Xn5JRrWuYGJX%q$LC}m9jcWI9wNw2!w$3=9dcj%txKdy{2Y}(^H++ z4fHUwJ{xQjf0OVzx8uRymC%i``AXml`LJpkRI}?R?V0Qn1*K6N&7y?I9mn3zk+U^+ z--Grndh4ajj~z_?t4+$E47B?UHi*h9r$U$8qB zT%3I*a}+#3^Znm-*YE0Tt?*hJe?Fa1P}i8rIEkatnf0G4I&l;qwd9h@`x8TW#?Eg6 z0)Ufd`{uN1R4q)dg$a_hk%JL@$Q&(hX}D+C7-w?l_LX4~i8&&4LYXT1Iud|EPq zC1MhCj*Zfel`mjis~KsBtGy*!)_G@v^2J>!G5 zdao$yHZu@S$AI}8$A}?1v#R!%#SRn-`MN+(eX85=Qwv?J$3|EzVgmdrqGZxd!-Dq|(=HVFNCO@xNi z7EZTyX~%*k)6K8Y)Vq- zxos+0(54p;tRp6xZ1tGkG_RY|srcB-P*WNHmI##BLNWIO zBY|tWOxU6OHfvOssCZU{#Hz{Sn@_zPTltH|>w2G>n4}){!TD=q;aCUkh~s$P1n@Js zG5o3c4t2a;bZ>8P06L5Fh+({lRkB>J`)SPggLv&xGqEN!fQP;qWorWU!R zJ}(Elu_(@ug6m4v>#o8Bvg+w2V51q18)D4I2%N?W*h*4_$KRjc!eb_6w`xmN`#q>D zF#5=~Gs!6%taKZ~#WwVvc~h%qg0Y&Bh>S$#2eB<~!_3l_J^#D|Z-{4O`U=7EXVI^u zx3#6?IXUwGmF``7>aKmWUb=iLSnBRV`6ONzComPw$=LyF1VmX1#PVKe@A zXeiWVzZk;<8$F+^U7hVcM8P^*byTj`kpw9Y1T_~&Vmg_`Z(^xkK@;1MTtW|x9U+)) zxIS^eG8v)o4;Fu-+NYwgGg-mxcgK1OFK(mahJ|Ec2DBFDp1eRZ)a%2`ZY`sokq(J$ z)+5Eoa9E5RR`IJce%_;3UU~fJQCA(uB4UnPn%*&P&r>{gu45gNZ0_Jv*6it#WD+GC zvS`9Czw<23Nb?~aO#?ZE(pR`R6?VE>^BT<6K$8=v6&`6O3DEs$X;XJ$Uox1(bCRk& zewKn^6%z9{KYeLXpctURv-z&IlxFHypg8=*tRsp%vz~`NeZA5sFRE!fq?xQ}qNCpH z#Oh#m1!(Itzx>Nz_+S6Gjy<2jN9{Lp_p3c{?Z?91|9kSe*WE3R|MY`D$Ta0x3p~%* zQ`+f!8F^)*G|Mi5RHg-;*#OTp(InF2+yY$@cKU{ERTL8!X0PdE^%ZmInmo)W7?3;|a@A0f^RtaEaH37xWpYLyZFi$HzqX8< z2Amb(o8-<9-HQ zMl{X5D2I0e2m2uuuIQ30;uT|x?D^6#BrEDXWqh-m*nQOq=vG)IVuIlkR!W!E#{XarT4QhzW5V=^Kb62ykegFnGtC>n+Ie`9gL|wCH};e zxO$H)x}z$xT`XmGMe$`zAX8Ee6SF~#wEGxQ@z~%e3T%_c5mvHnMk&QJS(0ve4?_%_ zyHlox2e_!4N7iK9uz*lgRgl2yo{CTkW}q4Q!w=VM^QJT~uBZlz+W*CtxG9!UwUjpv zbdY2>OzyRilMsa*$})92P)rE%J~&3o*}i8%$Gq^QpTreMP)ybKTn=U?Ijc^0i%@H9 zZD-2I;G402S#s)R(Iz;W>7F(f;HAlKYORPrB|GvhB?v|T7mq?L74u{%=21jFSSXiR6^$qL+G;V|wxWg=)gs=m zxuo$aN4f|V&sGFPPHGu*cZ!Ibab?*JC=Xmdz8ZZjd-tm04R?Qj{_DQ(v)}WcS00`0 zt3LhxR15w6FQ7x0ib?RzQ%^nhTR-n-{=q+}t1V9iU0SwA7bVkE%n{j7aNFHAOy0Vm zd3cXIeo--rm1~Rmcg%XWOtVs!Z|pM{tvm|scM4OYhf}o7P@_xhR_%;VG3wta-=kr$ z9iXOI3o;}^D-r#7qv2B838^E9xn^gmoe5OO2PBd{-BD%PIC|X%L73N+YVmTxM&#}d^C*ONPm(*^SMGjD*HgtnK zjM4gO!s4_vrm|M`u&qIhM0E=fro9ISURhSkR-Heo@JILmdi?tIn~LiwFQ<0 zlh&+Cr<)ZBemm^c*D^;+U`euI$E>rEX0VTWGp(jIoGR`5XsWlJyF*8xy6auA*$f8? z<`}iq=jG`E~%3CW16=f-GT3bsL0pMZ-P0 zKbWqG6kJk{xjgqF7Ghqft>2=LR#E)0&<85?%DS4wRB~9YG5lZ~L$`vBZimYRre$gYq_or$R$U8T)(QBc^Cm{8`l!(!}?LVp*^Uq&3%#-88{* z<+%X&QFi+Q8Gj##BGF?oW7z5LiSxn(ix)G3g3f)ff55R5?n-_RMfkR4*b3mhBE>8t zsB(MCjhi~%{^#DWSUYPNpd{+x&-VR2spib9(RX5`fU-&gF3Lbon)vw@tZyrzqN~afSmk73abia_r6@J;R5k}?;mRFf%i-{;$;@Pz&|m+zzxTcMHLt#ReZHN+)1Ud@^No&YfGgL&Cr^}kVe`t3-NU}qHJyNbnA!4GJ0-L_LgWzxfkO0{Xjur3ph`UZK2x5%@FHSM89I) zmOLTI&*G-t@Zx%|GE$ZuYE2%bd?$8b*vE;t!PAT81|B|-4%_b0wRdY$>8xp9LOQlv zEj2~U{QzM=p1;UU82G3V1~=8g5)WUNFIIGNjPleQ-teXGfB#|n{Ai>e?Z%Y+v}uAn z9jo8ZS3iF*N&1C<^KbH9W$m4MKGWXWl`w&yIMyVNaQyC(VZ&LiHXJx;u&ji9gqOwvd)JmoPAoYKybms8Y#1v>UJ(V5mkpd+u26Y!B9AHiL;vSwRl$ zz3lLC@mVS+qUg&O2TU|-*Tq`b-qNy<&$~>XnlDQYZUp^yuq?Q?a=6I*o0)cCR|+^Q zO&-4B{c87Xcukbd=l{*$`JIRD^Xss?;s8T+pb0=zTK)xgKYWpq#FoL5 zv%|_Rmmm*!;Tep|MAKzYxvZv_ddh3H#X}ZusRqhFPS(uw`Y$iqvJ|)m_2k8Tt&3g0 zeg-y{kKe)$WqkcNU-hmxeErwIazFa*+TYt#bn)qT0-s29-z(0$_8HGTce&jB#}9w_ z8g69u3Lm6RWqY~t-9}ugt)mA@e}XP~h|^X&^=0#yyQ|!$=b9iRMbF0zp0Oo9I`s}3D{s~Ks<&-*mDf0?&J?G`L+$>1*HVEk2 zc0-k-6wkf*;!pkEzkB=g%MTA_GVI9?gU_(xG~tRUashm(TwaYklCFa8K)hete`+Mb~?6@Rz3s z%K_gtG{TC2EVv>%Xal2NRsNY&MMj7LkOshTPtLvX!kgtXAMAl%K7twFw>jlfY?@oo2YU2} zr@Z-ZGCylMG`iNlXV%6NZCNUszJiIZcYn-XUFkDgZl`Xhfh6 zF^yhc2jgZh!Nw(q{D2wWlG&JRo#40UwkE$qwoSeJdg9qirCOdO>$lHdCJsZY(P&>T3gF9+@HHic%xj z!WjU!8Z&>crg^%{YQrH7MbU{FWL&`}Pd2W5fJBoCAlF(_-dPKB$aiqbn$Cbho_HCU zX7}!kzx~@^{ni(w{XM*4{%dJ}gBKl_?lo_G;iDh;0Ht5oz^4ank8H^D02HxYjMpx{ z{c2WVOJrrq#D1U|-IjUkR|b>${XZa6%rIe|ecHQPuGtLKHQSEG_Lv zZU%U{J238E|{yw}lbM5u{#K>c=7IaVT z`S8;rCUF*e<4Vp|fP>_|L|wX<6$Rb>7433^yYXi|IA$f>X&`TyB__o&OSvd(kwecq}{RW6kfE=dRp zHxon>6g13g!m``(0>))Kiqk^3vzDMjJ4;(`&U8;t5100jnO>`rc19X$r_t_)R{r54 zFwV52Eg;aX^o+QWi#iIS5Q9x`;Z6L7+B0hRe4|1f zasuch<|`yIj?CQes)b@>O|^%=e&h|_U4uoXq>`@i_Blk}M6{p}4!RNaBFvH736y7> zab^xld;&Ta8k)u>`nF1KUBu$hAEQtS@_DhUFPq&5_G4Ujpz> znqvCenf|)WX?MKL%kbhSKJnH!zOkM@ooM$9ncLoJV9?#u(REeb8K%D)W9TtFP-3@! zL1_;kSFcJ704`%)_I3X_X*n%NB*SWhx2u-i9yAWY@C9=76_3CO9Fv}K*n%&PV@pJa z#~lPEEce-q>s^N?`Oq4i&x;AV2J#v}E#_>Iz}zcF*V~g<;GJ~mAlnwCjmT zb;vAElnSRJJt~T{Xh9zwEE=}3)#ETveS#CscBtMdp>ZX8!Z}%)Osb8?nVcDeijPV^jC(DMf3pc} zVUO(oVsO@SxOX+DTh{O%#-lEtgwkI>mpQwvi*`g9_`RzRX8Kpu`CE11!MRw8OV!Ye zOwALiL%hNn$RwsZJTnqv-Ej-AS}Rnm54FSyRqB?0k}qt)AJMLAojVi#FbwlQ6*o1* zCP^<6WJHTC-YRm$$@(j2Hek^4?Uk<0Ba*tF+x~MGXGJNz*bz2A;3eQoU7LawWeKw} z#-Zirx`!l5O|gpn17?_286C0!GpZJ@)&lomeLM@CJM5)m#e1F06;*$oD+^6R(kLyh zXuWzjCtd>^Afw4~v>Zvvcu8{ZpWG1L-d|?lP6>HHx`+|OW{4H?@sac0Z;|9oWj_Sn zP329(u_q#y=$zve^IiTP+ZfhEGg(2mYHbaBQ_DSi`*{yeo_yl#UYCv^KP|e?f3;kX zzPK6iPWVmH`SOSFws zZV)Q{j_0)_@kq7Eq?nHm?9v{*h&$FI=EGaOD3%z3+(2Pa$Fp!B_pwxU-+CJi5)RxV zhHA}tR1?DWrOX(SgJ*Q*d?4Bs@a|+Z$$A* z4GBEr=9-dJF!`fKzJ%%X2Lho)kHbSSMAH-AHsb z=bhbCQAOYxYd((XV;#mej`^=6jG~E@BmI;CuFv^NxLsjgX?aN{P;67IWjVjWKq5QH zyE_g74mpnwzI{0Av1%*O1P%!(>qn&f%JQ$Oz!k9hnme{NGs6Mo*z(i`b(_zM;1a;9E%?X|bR z_kH(#>|?(5!hb?&&#VmwEZak>4#9w_p+`T&$>oS&7ctW&SlaFjtC@r~X|^7I;yDGj zKpX5<&c)HkP8RK~DSn*PdZ+V{TyTt)tXo~rS{x!8Zp7K1oKg9*LtpG zt|w$n*QbMzxyf`l&|En@Vtw?BU%V~y4pIJo4Pvi`Mes%}lD1#FB3QdedU{yufgu_Y z+^2yd5K^ak&G$2!uj7(zILc*dq?S+U2fA*b zuGI?sze%#4;i)Ul0gp-!sT9f>78QMRr}HL^05eRgYHI`qy3>v!tInm=xlDrGF-0|qK-3vzCGN`cOy4qNsdMJ>r!zV~7ij-FZJt5O`FF^F-24 zMCG`tq{Z20L3I23W2-=B-0mj^IwXA+Gr$nkXdVr5i`{RoW_5y*#%tP=%^U{UH05Mx z#w<9w=0VUcVU9(xRkpCt!PF;ATng-dU3To1bcAkHN46iCpu`ca^9<7B54!QjYhL=Y zo#=D3{QVlE9{uH%BzY3YFT3pYsZ)1-@Ph+^RSWZp(ha@+L$7PMrvMzO_+?Wp0-lrY zJdb11>g+q|q-l?-h{yI)3@(a<=5~=XW8b`apBf!I@X2=jOalO`*4rC2=o7iB+8+W^ zUF*?eVZa`0BDktpOzI)iPu);rk~rEQgq+VlpCFXa<@zL`0?gZ+`BLEr13wujM@0*hJQ-H2`Czs)jG3O6$guNx(e>xyon4g!e; z^DupIWHTI!6kp92L~>*mFo}skUVe@SZ!2_KbX?N#`3dc=d|TMHo&aXvS%pdUGs;fZ zz*(&Tg(BQi%Vt7X)`C@X1!-y`L!h~Bv`f_q4P7k}HZsV#RW`PA)bz8vfyT=60;@%h z>7(C>hBNVjdN=w3q=%zgRnLcL``6AhmV<+;xi#v#Sps?m&af}s_BvWUC<8Biik5@3 z57ohXt5xfK^uNXJ*QEc!^>khIZTZ_KopbejuKYEJ?|jHl+dH!=>%-ORnwP!&FMi`U z4sXA`pA35FJ8^?~gxm)HogbmafIej@#o7Yc{!5m!k^rk+gp=jkr>gF(mz6fjN;}y8 zt?j#uE3j)kRw*_*F*0=(lJ>V$FG0_-istij4Op=T|1ayatPdg|_Gz}b2LXWXVG{gFWEzkhH`tURF zdY7}Bs+Q}OY|N+@7u~-{9$&!aHRxy%oGSWBIZ%yFz*dqBC~et-NwcCmLC#^2$irS5 z$a2*&4lI)*rZYn$dd^u}CEc&YcHk0Vu-XhTcyb;cICBcmb5achy1Q?{5m_{WO{#Uj zt69?sv*dUjB#vrWb@(BkW4#z)x-aXkYYgZ#+GSc8pC#~=2%Raa=0U^^C`lPQGX^Wu zvab2}57=1lBpJW~s*TDlF*FBsJp{MB^gdO=r)~e=N<@^3)J#hWDCMRjrD%rhG_zPY zGa~9n+E_`mHbvAB?j|K!GBwR>4w{PyKv>lt{R?G9Sa%HJiHtX(XBqai4X!Fz3lGmh zFr)@8Ewe*occ~b7=N*TEzQ1y{%IGy*Ov%@ZZBS=C5ht6Fi5`Tk3gLf!;1#wCH8@&6 zo;ZNl?hB|Jq@*+Yw#+~)k0ePIn{2f$usL5dHwx!m;%qoT$&Q{p`KTAXa2I$FXUoAg zCranOmalCEyxZS-TMn+bwag=5@WPv4|N1Zd`JX2Xwj$lDNQGw(an4*U8Y@dB(vC+Xqi_tR?M=$@<}1ZFOgo=FB#0Yp?=#4Ykdqx>Gzt zUGT1R&AL)&p81?2lsm={4!yKxt6`R@zAO zxn1pK#VhEr3kuAKmZ`FuJ3P1K}T{D0RXjQtcYSyc9t_ zl9A=(>m5d$I)}U}OZzj4n&BeEk*Ni(*cJ{yEDN^abu*`T9GO6-qf1CyETXG5jYNn| zjfaf41QE_E+Uo@cljl$=hnN*G$AOkVM>eI!YocOElbsNzgy-axsO{gaE|6eD z4y^mY2KFu7p$iZi17!6X6TFJ_`V^s+5-XcTvLfVtOv_Q;cnWcpmhofXrUH_5#l8*^RWbC$Umek*N(dts2XEnI_I-f5PH*lN8A#2Jk4G zX{tx>)a)WgEv$scz}mNQXWaqK-UU-j(=&Ib4vtiS$5sKapd4o3r80Ni%r$P)Vl~lA zX*uok=KEHLThYd|YV|?m0TG4qA{CE42G?~^tVnH7S)Qh$J)o&>x^1j)sAtrEbDo|u zZJMM9P@N*Qt!0yy%N1T_O#Eu^PNfZyhY)ByX17ijBIQ4cwIVYP4~OC z^;)aL4iT!JIR^(Twpdg_9o;oe{q?Z!8d4)dXR^%38VSU9IFhh`mzk@gTLMX`2x3E* zt2T!c=x`eWQaP?lp08QSFhx`9HVbd(k0Na3^&{rAI{wS{k7ejC&(6YJlEw?Ya&MB)ZN9tkQ*4h-`)38}v)bJx&{a{_CQ>*EG*G(Rug%<FbExb%V|wEBT3Jw0$&yAqx)P$PoWgcuJ`msq z(`$pa<%wzA@5$B8t~$30u_n9cz8%#rPx$$tKYs1w4o`0j;N9?d^R?%C^hMXeH~~*y zfBntB@+&zee-^Lq5WifQPgiD{%J6{tr%yPQ^m%1S$X-XyckqVmJQ*(58i(;LN> z%A71zIE@$(In1ru{3}or)k$B0!f55&sm%kWAZVBYN@}wBj{yhWqK;ItxmuWT*CGt& zKnmAY9jKidLk8a~34XOhc$#~LHarOvXXgP5P3-m*nP@syXXa=M8P8}D6zf~N0O--* z=xq(xWN#DMc^en1{@R&eG&!y|QaS;=3PtEiCD2HmS9dCo{Tol(*59uA!(2FFW^DGJ z&c*;4OALEXwZIX0T==ooIj6jB0__A>MU` zL;$^+w5+$7tY~4#9*mhnan_~qJ*#lE{qdzY-uT#m@DJwb+rsZT>d}2-B}p>9qa@Y4 z?z;W=f1fSB1pT`T#Xa>M;yzWbwgUqu+r3CAA&mc$9JN^oZLZ5D#UBq=gKQwmhBzh* z5c2>-oF38mo_irV#VcO3gp=NL68tl#xhdG;QGeT0|E*SqBN6%bd#gU@(`*8rDXQIN zTZ&BBYi>lSXLVNFS)?xugbFX~CU@CJ>;(M@UNc$X4uS8Iq@FPZjoV~Ls9BuT7@J%t zpyPf}B3Aia3+g_$Wf(!XpJ{5{2CltUK7(?Tf$!~VR>1ulzO2@obFi<9scR_%h}90` zn(ffkh)}Yj6xt~r^=CWVrtv%C!xW@Np7HDyShV-T>R;;DiaVS}MY9{9WY|k^ZmnJY z_-H+?2*Ls>=pIk(+qX{ys8@m&;3OT9p5@6tY1F7Bz1)fhi3&!>#@(cb(`^;82#6}K z#K!`E;V8PvR{y5y zr=U0>bL=ub4eX;lG8?Uy>zqNBqn&^%?kyuWnGB{-ffx)8DznYpfXx;q zx`e&A0oh-(CDp;6Fmzza&T_I^`AM^N#W9qAp9VB5$kL4A1?`YC-d%l;J&6v!q}#vp zh-W|hiof%BwEW$yH`BS$d*52ntQd}*IDT;a#Hau7->jDBtxn9{kQJOjzj}#UaAt6v z5rS^V@Gy`(j(8ba{|(oYZ7rDW;hUVzoW`9XQ1S4>VR-s!RC$BE;AQ`MmqgY#v^!rQj zLz@KMUDVB1Tlr$tK%okkJz#de`1UQtt8@g!wTIgzYQyDM_gO(Nf$`lqD*rC|h z>FasUqK;j1$v3~@4Vzp}H|p~U-pn4)*%)NMxUQHx+C^<fO-SBgM0oD!Lk8Z_HW&@ps=!=`=3blhTMa_Dk( zF0ZYCdkk`8Z%nn46(2MTPDYE$3wQTsYH*0sEa!3qhzM-$-TQgY5N_h=ulfv-BLI_*?=?uv$7nw*6QQ{0&99LYVhnU@f;& zaYvBWtF+uJWs~PVs#4dNa42lrWCJ!`JF2ZUorGth2p8pY^sZVfg&y{pQp^cgQ9UeC zx*_O)VNwF0NvT^Ohu!w5o~wZGV;8zr3VFM!*Xy0<+TrR6 zuli^2f94OUp%$l3z4vH`DV44m(&v~gJkV*Uc&g;QB_^Hg>#Rh?XnR|`H5h^YVgIiJ z=cQlMX2bJjYI<`t5}*zSC%E!iHrs!;IieK(-Ju-S>cTw%KHL}!riI{6j+60O*DA$w z3KH<=svyYkvZV>!aO`x_1!^Z_Vjc7B>V{u>w}GT-QD8GaBU3jM)FLfDa@hJ3 zYO$l8NW$nzqR^*NskOL^&I|PPh73lq}Z&@#b81J zD4pY=3JyJ6sdR&xv`c6ljxkwXPzOBDwzXcZidzP&wL?^#)0B4uu}KLvp{$xug?>5} zg^X2$U4KTB%|W2t_tx@=4T);!Sgv_B*{%s85=2H2jpfAL2aaCMj_o7XRPXpzS6%-v ze(Ch-8Tx#<8v-wf?Ya1SU%SvM47WV(3$DKU_W$s{FMRA{)w-D(5REuu>Cv2>gd}h@ zCFlbWKz~+d%fPi<$hWn4#|#52n_bZYz6u-8j4h%YC{^Ms7DsJ@ zI+-AFadvl}5PEIdQdGnbEBEw!7y`5qav?w~<{b}sV-b28pAe+93{vTCb0pmzO&MwfR((~K>83r|W`sB{5{xWOV-|b17rSucs@C2kH7H_e zJ}2vc%5$az#AaNNGIuFJO#)ulE*-<__V?R?i7>yYzoBucRc8MMi*_!W+FFI=6!n~4 zo66=%#Fn>;R+Rx)Up#iC34sj ztjH6{)1)o3-A!l)2kNdvpt)gz%at~ZI8lpw-5J|H*-y9384muk%Q*;Z`XsuRDSiJPc8z1xE|NYa8?a`sw%$=)$ zzvw88-Lt#-$1b@fec`U#-v9pW=l~?9q&S~4Hr|5-NC&HuCA{@uw zN0xeg>|@zwoGhLrQ9T|YO?|0?t`8?}s|A=~|#%a4f6 z?F*m{^~Fo0H(%9?Lu4sS!-G+wo-fzoh}Qkl(Q*nKiNrl=Dxt@*buVCZNil)uo+{2c zfxjzSrVGPZ41E)_b(mX60xz!4wpfi*Ig*@s{X8Nv zLk)&x=p=NGrhw;_E1aU^H*$iEK6Y{rFqWjW7$-|TLGjz=UMV{nY3LJv?p1U7yMtbx zqaJ<9l%%>)lIDiOBVYKU^R{7_l6KbmLi=H5R0?;3-`v-!qCHtC88|=F&CD=1ZnAPp zHlOLq4OR#d0wHbMZ2W9xBra62l8vW`)^IrGl6CNIcv@#%?_dp8_Gyk^TFK15Qk?`V zXGpa==h-G12_^((gxQ|#M<$1pRnX$aPW_+Qs+HYmJcHw)O0ORlMhg{6>N+|ePSSPI zTTw(IiUn?>DIv{mWns`3km9%-p6X8LL`tcZOu>_ID3&*BV&K-!VfBoIgRTZA++0^f zbk!9Hi^cpuM;9Yzg`t6vFj{7=RDzFea(H0d4obi@7Lv8q!755ZLL+o#sqsd(o0~9z zGYx;vwz4~h7EKHzr>-R3fXLOCr5g!J{RJ~EPo_ZQG})Q1DXCdOS|y-vzX8S}b7Zc} z8cOG$=PF-0cz{&btft!u`*pJMlIANQTCm(FJGnTOE1Q(KgwG4}+Sb$d>rsFA?>_jZ zo3^Fz>C>mx_2^vm{n9Ye9iV>X`0;}i$3Oj>zsa0C!^_#3ma>=YIo~4nN{?ICpb^QO zgL|>r#rSW@77T8FoPsc468tl}DQN_jEHDf;;AATe6z8%l0H?KRskSv(h8EeORpt;U z=B)$KVCZ#GL$`@!KQC3LSLik)>em9|r8zupL0=>iJDoBDRvZg?vQV<@5aWQGun;Yd zlnhhzEQCq3ETgWX@+$Gl?KIheuqF_+jhO=+Ej%He%{rQ*2j&SGQH@tuA<>!bWKLTv zlcNH)16uI9-jGW-t=RM$_N@|}Af;BtVYJoIdi@oOUB!;v%@jx3U{pXw7F->~z|v$4 zKhJfxbzV|Ru?%3IPN~qYjt1C}f!Nz5xI_;?kWD@bcaSRN z6Q*Se%BW7UOFvNs(NOOp8+WQomSL}5Ew4IJRNXQ)dFoZmdOv#c#n=DR|Gq9|7kwA% z(K*wFFE#pNz_vTrF1_J~Prlcn{KinmHxES!78)!xJRwd4;$*ET=6IYc7q1;cn40cZ^rFUDy1}A&alR~+qNv=@&=(`FyM|EO>UlsS7=)WafH(2@{}ZS%%Yk)YnUY&^}x(HT})M*?ZV=+g@Un>0{%rZ6E=%o}v+V6cd`lhLETeMX6lMpXRCW~}a&-HFL8J6o7y`#N#eRoDH(tC!~U zjDHSJ$LGH8e-W&w*Y-JG@W@Ag;lm&L{6{}piA#`XgFdNA#83|_UQAtyup=- z*?Ok2uU3OPz02=uc_Iej!h#HB=VhW!zZwThbo#~tqm&$;*?HRH z7C06l;p2QN*@23&6r7p1x3Gp|&%XJJ7v*8CMnob|$J&fdp=Zt)VgI0xwy~kg83aHu zyDlY11KrRB(<7+{N9bhndzI$ZRGf+Si~6`>;5A{BCo6p8&>53ONO3Xf)h4@&yh~M3 z*dP*>#v3GuxY=F_O}2hm$WOlMmw$Qnu**)*uD_=b*VE>l>(SYQVwurYgS$NFh8sTi z+Shi|g6vyM1g`slYCWyFj7@`4r?xyLY@K9W+Srqe8+K&R<HNAoleAX#z6s&UGyq$g!)6*x?+R2IsRvz}l5i>lA}w1+;RB)_}>^b9r^sEJaD+Ls2V*cIv3} z4}w7s1v^{hIVKT25OE7Cq}pnbvxyBN*K1OBP<7bd(4Zz{ZIi8;a%@)Es#m4XlC7>7 zBR7I7)TU6em6oSW*qkd~+puj?>>W@N9;2^j8(l|CNVJ1&4lqt5rGl<8S$~3u)vy88a~fL{_|~_z3E_mh(D&C)kJLl7%Mplxd((z(3a&+cU9g59eB+Ie z{OK2L1Mj`F>)_@;W7ne*4EC$44xY>4W0zdAS{>Z>-uEP704oVNj+4w0rZ8!cdB{Q6 zK}pr8529dl_Ib1(*>i5h$wfj_QG-+K&2+CPt0wE@gOXyYg4btswpMgbcV^R-ENgy6 z?|1Z;loi=f%KGtFtChi3NH=kOhJ^7@aurEkD6TWHI6-NzR5baEq85NzsS>KS>(KE!Dn+UAbW=EP7pwTy zESi*?&8n02%^GrmTXfIUQl~)LZm?UGA@4M(eDXqxt;}bdtV%i*xy24LXcy&t3{tqPrhMS#T!oX-DG`r zt1B0sC%x@mF9*~ttZS489P}8mDT$ardCy4=7{F2?m-3*$kaP)_pEMONbr9NYO2`PP z2B$#50WDe-ca1{LtQ)l~1>7Fjk~N2m*J_hijC%FhPiV}%+GkM+ev_l}AI0>G41mx! zx2xuf+n_!l8A%D(Py~zZYu_T4fI-OnhG<5aqiaePK^7F6=5p*IjUlSh)MWb&jsW`; zouXxRqZ$T}ktA=mlh;LY+8$EX8qD>?LiNH#Kg;(s=tgY&d#c)oq^AX(}KO4&Ps4~Q<_h{|NV8o)1UjuM^4{$SG)AjZomKhoh=C5 zd*_{>`N)U6-kfbw7AsS#wF~#!UgKXJ{=U;crg{7H2*QXd;X!&AI8E#4%A6btCp)!1H*KCH0= zXGCogn-gndD)4aTC$2cLIPUfFyv1?ZF%iJw!q}u|0 zJziehO)I*}sz$NSWmUO7(nt|++Uq!Tg#n4EiE!y^ba)`N^k{VEhKUUSCbbG_w||-q z4{z(^MIS;-L@UynFr?>XYWo;gkcx832W}$X(|T_8?Ul@=?Ig5J0H9|6*w3GLUJKM& z#PJKTS1VY=uLN_e?dZ0kRg1O#-Jw8IKEo`*TH0}GH-(MXBAIZwuI8t8?03R-e)BMumqkUp7*0^B2Q*4X#Z^2n^Nc{weV4;&_<5 zOFyaGcr}P$4p5gNS#e#2-q5yf;lW~%C%8Oo%&6R0D~;&gdNlCJc30>QT;elze;z$~ z@>_rJ_cq7Q+Xmq6*XhGUsw|M~4Vx9p7Q>o%r- z_QN0U@9S_9wqDnRfO&Umf1+v|#eTPUTWRGYh?Z;%^r9=Sc+j=iUjC#fU-slDU-EU= zjO<^(?9KD-BRg{B$gyKb&)a?-JNCZs`p(-w@PWk!gX0W5qXA18rA)!@V~JT{O*n+- z3{{P(I-m)684-2->tKrPUTq1AVw>nzb#@|}(pWa??)DvPKveK`HUM4~o2ri6AuhVw z9XHv8o=Rq?hMbn7p>x4b$pqtIfagC?FYjFqNY<+{G1~UNSO~5J*(eKsv49o`< z`CEfO2Nkv^W2KX3=~KntZ)DvjxstX7H}mTpRM$_|qN>#;vqMpPgI4EJJG49O()oe7 zQ)vOUF+)`k3T;d3PXbSXV@_pFWoPPun=)C_f}<-W$$;`6nozOwgjHMdQY!UF=$0>0 z+`>eR)Tt$`QZp9a75!Y5>W>z$q-lhTxF#`h)Xk>%wuWUfq+aNK>)jqL%A4h5!N1* z!c3a1FQ+R-F1ZKwEE-X1O>;i=pHxd9zf_i~%=Q@%c_6|~(i(d9`y zaG7clIQ=H^E(44x(}|p%5ltq{0fOjYPDnsNs`WBoWYnO8tBA11&!*x+_e+Lo<$)S7 zW$fV`F?awhbWL4npcFNAb!Nko$X2kV8R*193q+l8_?*1KI$Hj-V;Y~GF78R z6z{u%tgzdVNg=H6bEQzMyDM>3wUN;uVn^lE6$>>?0WX@u?5h3b;_I)!{0Dz<*L=qG z_r4c%+qby&{qMi!_kXW%qPb(a7{RZ+zQh zZ~C5xJ?TjgKzDi(=UHzKSL@Y!eex+!x$;@hzWEKW_tW1{^l*ylGRysA^?rH`Ka>s{ z^(1jyJK2tutD+`bTPHg=byc#_ezy%wcdY3d=$dNr!^RWL-LWCyW6<8WRiHa_409nI zmE6k)QH$6SPZAzV1^{d68^ehSPZbA-cQfyJ8pm6mf*4CIS|&hK2fPgHBcQ2+k+hUR zK3Bl--CT4PMC8*wGsCL`s<87u)hdg+MWN?DJnJIn4{E#WS6WC zW3Wsk{TEkDxkb;kAO${;&NJ8yakG%PdD=o*<~lZOV++?UZsswQ9-+JG$ zSCEt_M{~Yle%t_OIx$Wpp(@mQ{`L_IB&p3l^3|^OVnDf0kAGWBxeW|$DM_M#XR>!R6sjctzCr!puh8DV#!CJ%HW%-)TV$ z0=v*+9Yrt^A5?GV8SU~HQ@!EHh@vwCf7v~UFYkCvf~?%>0GQ*-ok-8;LvqcE8VF0S zx*96H#LIANecuncwVd-1|8-v>7@5lYL$_ER#4OT_JwkgZsbSBi61i@nj^WB49#Z=X z>wTMQLY>EdlY zUCKo{UpR;46Sbb7((&y-x8Ij?UP{Nde{ybrwqg57N=N3Hz5P?>;2hxM^o+XPzTL4>POMhjE7|_pUgY+|j?b5|l3~r=cii!@fB)Nm^7glFBk{$L zeB{2e@@x!)F<_ZplJaKrx%a#$W>l2E*%!_udfBbRVG!a{XQGow#e?fh4F&tEZDXFH zW{ow2fgpul>GoZ0!ny6A128tmW<4nWa>*(u{W}WAk=)@@qByG_o@Vasiq||W27*So z&zxd9KCHngt;G_Qdff(>V=dC$Hxv^keRRhIeumWMC2|R28?eGnFC$X30SbkM#R@6* zpxonOhG+)q_WLx_gc{aTahJw0UxZ2Qg0b6;E_-zWcxVYeY#JL854)t|58blkk<{Lu zRYD0&Wu_GFcw#N+Hfnp#VbjcQw#ZN#8+E+0}ord^n?_2@PX=e&)?yDLxWXzPd16Rdkb|M@@tzy8l# z-~awAp8PFGF1WD0;n^;RQRmMWcJULh|MXkmdiu88I+I&6Z!%Vg;~1x$)pf-~&uJK* z9p^Q!E7sh6_gG^Mk?^iwjOU~a*lyqwUocKmsA1wF<*?7kbB|N-_(rTyhvOkf?s9o{ zyz}nN&*1yU{l2gMcBgcF3YGY9+_bJsPa2zxzQdk@(+v!07=_(Tga8Ag)#uII!1~>@ z7IdPziY4I`>&@92pTdGCFfZ@|V2uEHj74Zd{$iuQLo^^9cNT2Bz#V6XFNakJE{LqbB^mq%vN-k<1K#H`dmA?7H%T zQ|;lCa*f0od*af%=4bx92Yvgu-#aT$9xkp&_f__J31$bYBijo2EpJXY-@Kv_;E2x_ zQ}Qzu3TN03X(Xct{G@G^fRpQW3?UA3s*e2n;iSzt~44RVi8*tKhf~ohVeW8r(tAq zHMA378zZ7sx8I_-TmT*~9yVHEw9Aeq$c4C~cy1A)?@GwUi&M)`Dmj-Qr+uhYCMYQuisNfK&n9|tmb*!B? zg0R(*g|O4WACAW2evCaWzMzBCYK6TI!Wlc7ZoGBox%IGtG{7y5_8NzMs=vlpo=}lz zcy_s&#UQs90j%A5C2v2`y=`6_2dcNcFj7>9*~%79*5{mzp!VFl-IDAQWpGbm+*aWk zSN6)SHTpt%BK-i6ank-)v)NPEAZ09{|BAW>bw(FHQJhbvU}G00U`1^QF(3@j-X2I2)w zFdO&0;eZrXF_1}R;xSDjyN;^VOADy|-NtZGk~>WpLBQw|)^6d=pY(CB_{aIg`G@!1 z)6iElTxcYyn=$~$gE3}|V2 zC8OHIRktYJiv>uT8_mb&$@KQ0=hb?9&UdBs(YL3dC;=Bz^$DUL}Fifm7Ep1`Ug+x_@x zbODdyNq&Ag2dz7KJ%S zurqb{NN_yPv5cNRB^db%4M8ddViiYSVIZv+X$B-Vfu&qa4OFWHbBGKW+Jg6MR8joq zBwy8fk1y9YUu|aZ0?mAfOHoMST0r2*S!9QoLtxi$R$|h$W-OWLl+@+0NC+$2Np1l294$e{AKPRud?(%0obLTgB zxDCEvg6uO@gXAMQU=C+at%5H!ai-1$8fCuC)3ln?~8L1(FYO=G`MG%xtP0`^lc4S;`O7I2@JL zJbGwtnG|I_UpAG3+C^^UJWtl=W(D&oSPCcgw9Nrsq>0GJX$b_4o!O2Ml3isV4;Z@G zIu%|RjjGDT$+76`@@5ea)(8H2bJL7R50^Lz-O)q+*!cKf$XHTV+Dsl^_h?|_cTVP41 zU@$VoJXZ_$)}lwVAC)PsqYA(raLM?)Im52)?_K}uf4;hG=X%uI&)V7kqS~h|wK_OB zIQ8Z?)l;X6L{qOU?@)O54iu!SPH~rkmdkI5axjj|aF@!kE6|_2s~UWEk;B`T!sj)m zos{nQ^rt`mp7%WFyPm!}c9wh59f>l3ic6mO#9Q9@YxVHZfGe#OPl1Fo^`!jn3z+A= z?`RQkHMZ!?ZE`pq!Oj>lIm0^~AkpP4L9yJ_1J;0~h!mn5c2+Ckn!y6kxcb| z(fX`Jr#~yFypImVdejlwopwsb=-o}M=r??(xh&4rL_1nrcgCLFpqmwxu3c|Z7n|w= z^)SIW;%sAJJ;^>tN!CEup{Nryo04_U&~iHkOr}y*kN%aPhVp*-tHBMVP%xpciibL1<-`99Qq(Z8I|v1+G6rtigkrz z&O4sOyNMAyX}DjVgKjMjxBqFa*}6t_S?X8*&<~xw;f8f9e>dwds`GpXC{ecuXIDwp z%I0U+wnnSkw?C=!G<6y4(NlR$W7k9gK|+L}WY|XTK!MQr(y7u`7Fr1Aq0Eiz?O!~Y zVbYhRbZM;@=6u^nKK$=q{37W$<+D`*x1F-RjK;@4a{1+te*W{dE_Wq?r^Hwzfin=> zs2lIp{Cig~O1S8IA#=(&^b37~5J-xv-BBiXOv8H37S2R_F=uejPbaG-&u!8YTFps@ z6ec}Y881x{)GZVer7V9SNv<6U*HGiz3 zdM;8{>9d~X6gAoZ9&^}!g~Lvst-_P@)1y8W$tFqk#?cp9J>%e@U35n3v=nxYbD(uz z07S%Td9k%uoka;ccq&<+7uykyxk=`vfsR0E8F61FOTdUz%x*!2{$~!@HshuMO;?u` z)2!ZPe0UKbPC~q==cp^xG^Je*R#=Ah>86+#xFwP~$K{)1vZ#r3LdG|V0cD1ruok{? ze(Yz80hXfkn{G;qCEm{_D|+Xk8j+DT0H~;u;s{Rcs-L5mT(T{H>v`wRp1~ZKZoWBNFV&2&!8!D>pO#>M+qy2 zGOKhQnZ-S}*Yw#_pE!Nj=db*0Pd&RD9o!__H+sm8PdoK%zjpez+Y+q6a`5zxIy?rk zFWa`VB9SA02xZ!*0l=2qQ2(I<13zJ2=pm&eD3Rd~=^C&eLqP=@|2>VKvNfHOelQv{RpEd&f7R6U-u*c}T)a6=J za@xU+Tg54*>)@c*la-ldPG?F(fXnt(ALh#Ol(kl7`>1kmhn_*&!_Clou39+0BbhnF zN>+qJDhMls0^d`Y4(f&Kt3B#@&)XJQbES1SPrA>B=OAX)#ijsyZWd@+Cugc^s|^Pa z%ou)abX*9_?zs!7O@BMV8`Tq6WciV0Ygn!Aj>*ja$SgDRkXdHrga7(pfAT-Qf1ec5 z{T&1AUY~mthlh`Q*~?V7&##2ahEA{7%V_XHGloUrcGf#{-R}goaMw}mr(mp)LubfU zel8nGBgvhGoGsb5MvIQKW%-3OA#!1RF2&tv(K+nZ={?jgSC$@(yXUNo^-@#N!b>Am zc8bO-)>B|(3Hben^MtXoLYzRGekUL!dgL}xm`0f@7Hxyt&j||>A7hWEYUx;91B-q} zGG=kwk!qKFpv!ADzr-p9Yq>UnX*e!snlmU5yK-;;11!(vQ4WS;DuZ0^sLPj>*CtoX?VzG}|Z9(kq^kKu@Ga zlDh8RG=))wM|8{WWA2iy{&tc)F+0~O*`g~{&${v$_NExp=;~@e&%od%c@MulM9^CI zU;142T0|y%+n=0x#3LU5oaY|yzP88w(%rv*9q4ZKDS2FB^FtoF27u_ynuC&BvXq+y z^m4Vj@Qxa}&r);wuc3`eT7?3*s@;zqXS8Ez8-q`#v?*ns((nAEfAnAf`r8%ha#p^! zhj31tbuNcxhljrOJHGSMr{4J4-+ebvHudd;oZPNsvLB%0pmQ&7M)kxcpVVgGI zoNXoB?^K^R4! zEAoi_wtc*6=W`xQiR_*y$YWpfl6?GlE3m}%sGfxYGD7$d+0Xr~u|nUh>Nc2i_0vj* zwR%@O2hW~pu61UhH|UM`5*cfIinX#rTj#&nV(=v?9o};4KfU%fD7VhqBzV0{f_FL6 z*T3TB1y$@c8?0t$5F6C%T&>^SX^7Gw05}IA7|SdM{z0q1lt|p~e|Jo~LK6}x4!cbW z);O%28#A>pZwMml&)LUHR>XIbfj=wVyho%V@?{lVHp!vHS@=YZg1s&Dm#m6EV2R1l z7#JcZz5u?ET8V!LK*NPF+N*=n%^z1*Deyu}=Z`#}2JIKW=BpK> zAsJ9E9w>KlXRgb!rgfM*_vp2ktOL(3!pVhkphlQ`vUAyravivVi5>$9 z))lK-Lz)x%=_d~dWaNp#Gk%$#is7c4d?yRR>Gi$Ub~K1BiVc8RMIYO0fza;CO$%L? zndfu!I(e-|$UNMbxD6&?lF zbuzQTcLc#W# zArpJUaMopcx0T%MKO7&V(HGb507tpv>9?nFJm-_!U%B&+55E52G>ZFKEP}TmSFM7# zPimVp9l7}8jzdPm%AUFBLo5G+rw2xNoI9FHFmSg0Y((_cPdf?6+F;0)!H;KMA~yzb z2VH_ilV*{9XbIWw^>L|v7wfbeyxSt`{p1VizRqB;v|CUE{#kn=I^A=WR0p5*6+iIg zdX`eWC=K=g0$MxSG=(%FcS3fJJj-isud~d3t+W(@ES-(5%?WV&S&5M^W%MNGB{!j; z=6y8TP?XQRGh<)~DP(YBs+#R5XDX+psKR7Zn%YSHCB1<8@Rt^x#6?{IQcE?ZM3D>6V88!s3uEy}B& z{p>4$y8u;CG?!L~FQP51P#{_}{(dm<&F=s$cv)vRq!ZN}w z%8sm}SK9U(_{upjN2(=^uwExHFed%kNx-@T*3N_7ZZaJj&F=$HLl1xVQrYH13Ctx$ z8w_+&0@R$8Ctdu87jE0{DWIv73YSulZlp1=k67H(Ac=|En3({giq%!;0Xqg5vqgh9 zCZ@p7gGmb>^if?uorot3Hpx1opR;vVV9V52y zMfP?IK3(ljE{JeqKCGNh1^fJ1N*8X6vs0)3{I`GmEW)9QTi*$U&Um>;|MUxvUv*Wo zohN^n^lD`?moYl2cD&76zi*0G5rW>TMIOx-CV`|;7a`-gAhJQlp{P3Nups_SL(QF- zL#t4Up2_I(IMsoQN|d;v$WhjlmYw8m^KWya68va~WsYU1eZ-E+R>>61fOS#1o`jo7 zCp(gJ)MuSEJ3foTMb+l4qaTDlp*jc72_r%I$CPsx9-Cd$NW-~yI4sa#m%)KKGJ>NA zp$9z|lT)Apiz_vH+DC0K1HsaSTF1*)foRdz$jWM(ECvsv>B_&`*=&M#D>m!NSQbTI z!SKYD6DDz}h^DdWZV_iousc7&+{p0KR06H)Xb$I=Ga7)g>7g*I1g)P0KwVT#=@?EH zvhtJOu(bf%)-EQDxFeruC_9ZQecNA}!^I+Idyip;M`oE5Yvx#i0LXy9DL#eSmDbtW z=2C8=zlhyyMl4C_RX_Tp`S^*Q?DMR=aaO2D`0Kl?Oz<&H4lRkU!z8J9l8>W3-V3gN zpH=PszOnOZoDbJ!wO()k zJmHl;_rCw?`%)P9cILXn{G*Uss(;I|c2e8B^R2BzN#@+VY*|ahEdmVO%m=88!oSPZ zCtExR=_|Wy7Tipdn6&UUT-OxL5nWWvy246Z_#ha5C6U%AVqj%C$H|hOQ}`xAH+rX2 z*{*ZnYb8aC0Uon`h@wt~KAgNy6LwA(3q4u6q~$!(-k8AQlzQ9Nb`?%UwE%*s?$-%O zEQ+YQMW}Yr>gu))0S2F?Rz6rRvAGw>_nL4`q_4FJKjyoYGWzq|tmfOThq!{R3Dh)| z0T~qzysj*+b{0z_PzB*>T*Kx#QG!jO!toc=2)c~PxKu@Cvbv_o>7z@qWjB-3gxb7; zA_;n`YA;cq%`zUaB=L+CspGEOJy(3-d_T9Vrsafv@XQfTXw~*$Ce`h7xS*!VL2XKn zDEe#4ID8_nBY1NX!I6~G;96cv27rRcE~T(&5nZ`t?{ymq8!Bp$e$7H9SL1<|9I4x1 zIPc0UAN_(C+;h*pyW)3|-8gI1nK|~RNB+PM{PBC=yZcaDzF5bw3$EVA&a1co?c@`# zJ9_cS?awcL>Qmc2e29FLs{03Sv-=;~eGh%c(|gN0<-0%r@!LP}fm3gL+o`wx`g#t= z4p_vWP@2C5sy5W*fT_Ac09M^WttV=|`8WUF>J_ipY)Tuaovj-?Pl9(v@U{XzSgkI8 z%2O_R>Qg^AH=@~X(oeBmt@KDLMD*NeZ0LOLd-Z%#Z#P5`x&sZW2>z!<=Wh0t$P#^* zezFSMV`8n%^X!agBt>YdpA}APjck+9h}s@g6w;wA4?9vTf%Q2RqebaVX&`7d6?nRs z={Rc5VLQE>jsT+7?lwz^s;_2|p?bB3(XNhC%_c-?d-T}QbO-M~=p*Lb+5;4DHpLG; z{q%qU(ZEUJ){uyFkeZy>3h#A-QSD65uR8C%T@aGmrO18B5>AR>&)RXe1g#(*(-y}{ znPa3~PR!Q%0jCkW+HH) zP6*No^rt?-lJ&FLs=dN$?og|YOcW2%a63?( zw&BnT!4{`LjM=B_pAFFi8AX~e2XO+lQHX)BhUug_*BR|LyV9~Vx*z%AksR;1-HCm{ zP`qZF*H+65UGzR@LrKM^B`6gd6f{^T6U~5UgYA|S?gI0+0&auTge)URl$xE`ExBH; z2SUKzJ;>Ij#G_r%C@@Pjg6T?f05WLPQUO4amir|)Zn8p>Y9Aj3%9jR+m3@i*-fY_f zwVA=HqJsTf>T;N!=dQI4q1t{5P@SL4WP35B`qtynAjw?`Db({CvNWS7Ee233c`IXFl`lXFqEjFa-3` z{%?0Vr%#_Y($(gBbSSNPLsWi8l|EX;l z2AI64XRxJC(Re_6ywkj+mCK;1*!I`X%lZ72KK1**|B!Eb5;=!wrxCq-yUluCPOlEP z|99Tymp|%x&;Qd`|3V*XUyxF|zdyldrHta9h-(3r@wcq=?OsUeb}aoPi$ zvLu5qSR#=Qz@Gu*Gdy@+-ZV02PfmivLc0^~Vc`3t zb3CQ4$YY5X#5a=BPc9m%JA6UfF!yp69&Hu&oKA};ktf<(yVl;I21_+ZUaSbQ-Z6$e zKg&8TU`FagYzf??;|r$=m5j0Olm6xF^2L|jyVHH1xxYJ<&DjYOBu=%ADXG6mi}Zr| zTK?bREIoa==q&EOPPhNJ-d);Gn0h_`Wcla9n3~(>?R#bBte0=+l;Uu$KUp_tMKO|W z)!DI!J@o3o{kM-@eDP=gBh;S4xlh-tU_> z(^;&5O}A@7o|Q{)xZz{}>R(Ow-b+Wk#LIKW@>Yq=sN_=lPIsL3UaQt)$9bhY7IlI0 zS`O@XBMOaE&OyTl8UU7ll7>WBTtfnPJXx)K*ItQ-VG4lW!6LDM(8`gvC8Q+oS!ghD zm_5)^)=qIBOapzPJq3)xy#_dwnyapy_=YSr34`bOEdopX>wacGDt6?28bGPidd_ZfURg;iU~ zoTEUpI#~(sX?dg&q;_mou+yr3H(8Qj3d5f2Bu;C6#Iv4#;&G3==k9yfi|*B?p4Adf z>7<9J*W0(>ezRJwqh7ahm=425`KDLRW(dq4wE0(Zh?1gjiy*6a{HUEq$nJmJuSfpa zk3aav8{hNnXWxDE&8>gX1(n2aRiP^!2Xtz?^sXAXy7e%&E8$?8Zu`(5txE48p2a&X z3wg7BfZKa}aQwtIFMi1f|HpsW(IKpQo#X-*o-z&=NGTH8K9$tzpa2iuxm4WnMdLk+ zRIO{xC`S-dg)%8RAGL1KI^JG-W^+on(lL#N1y$$UCJ$f}u`&(Hgt@*-Mdr}0&DQTV zIe8x%&safCQ`-nZ&I7fij+)R0H^^a%JmZ;mDzh8s>3Nl`#w40yPLnl(d#!`pPK#>D zA?;O+oH{dXjz}vlfLRf0$`Ia?gM*G7L;qSiXZ@f@>)gE@N8*vtsV&xm;W_PbR0n{- zt|UZKGv8G#+#KyHyQA~H=>2*E`DmGEHGqglR>deYgS2|iDx%gEwGh%YcXR5gNdZut z<8J>=eveO%E$Ha_lI@7sNKdr0w}Cz!=2oW;IPO)`BT7#vgutX;tk{#xgDVq=(X3sM zj2u|}>STuVr1ebA_Pcx|=wFYmwSKH@waM4ANd+AGCfp`evjk8#twI#DHI_E=n zhZxGm`?MhF$`Ba;=eo-b8FAq2ewg_`YfiBP@NM_W!TMkp>N>Lf+MKxdao_ek?|j$a z{N6i0@PUK`G%KvM1rHmXItJAlO-hY*bo&(Uyz}s`yYkUvXN!qs(O6U0E2fY%)Ay&M8sB7e15W?JWNFgl|}*z{+}22!hMtU9wcY<%R}|Y;hw{ zCVj3MU3%5;b-=D`rYqziDjEi~UeX%3vqjzU z2OpJWm4-ajjuR;avWnHP@p(RoZ$z|1)n?{e(#? z$qOlrb_cBS`*o3iBwRMDby@EMaMS%dvc1A1Cysy9Kl}N2|IP1R-*Lx6z_b1{Nvv56 z;+Gg>nV(hJn@37Hw%L64!ymfziQjnE1F$-&G^^m%;Wni>yzW)6df)edzpENEg_C6Z zODs#n1810Q_71I1PYJ*T{GOyo=P<}utH3~L`0QOnYb3mxfvcLx(%q?8HBb}(bUkU) zdq&}8%TQ>gz=COSTo324C})C$cB|M@I3i6=#*!$C!ta13 zl;lp`iKvB>m59$3DFhk7oVad6LBG(7Sg~O&pA|K(|5YnFW$f9HKT$aWWuIgH({rZO zn(UBz8s%<@*{e305gn_;1V&p3)eo|B{S^gkVCdE}K0W4CkYofGA{ro#TsF;fXEPkn zTG6%@4K7ZO$)N3iZD{12xaz9MzVJmm?A3aKJ-7bzSwdeiJhT>4R-2a?NF$u;ON_Pq zauSB&?d43n97AZ?ifEKjrc)$1+rH7#1#C+~sPoG+ntyHeoe&hH=5T?MODnzGP|0|SW5+IP zK3LFI)RmJ(#}L$`H&?sx3uQ&|d-L}cpjSs#+9qZMIm(;qA>Lm>VNHbQ%2Q$Om4iQd zhS5S{l_p%hF49e|vt+4pN*)+f&F zVR9CYNF%6koUEzh1Xd-zWmeW##EHo%TiRKgSI4^mc+Hs25lS}yuqPu zu>H$dKH?!y{^l0uzf7ML-SzU&r#Z%DKvOO2`{=*PO$Vg ziv{aCG4C4cEd~HWJTkdcIvWO{ydwiCJV}(S6yZ3Ir0aukklhL zcf!pv8s%2foJ=GqF5d+N98r&eBP9bUKnBF8V%24qUPejT^YoLbGl)&wz+@w$pbfTAR@hPcVSWCeS)n$yMg3L7p;>C0X{eBn-j8N>v%Mg z^%PAqB!hnm(P70l0NgLu@IjK*7A!z?_dYz0SX>#Fx)^P>^8SwJnXOmsfc#=L{|W8x zXTCcLiFtx;ZUWcF0hW2-SKN@vkyb1XeZr`sF6Il(NrUE;;nTXiMiENG4{l1Nf^|t& zW7(kU;as7*wVU;NSCxwe2KlOnLd zy3=sD6j`t#%Z>xh=dDV#_*|2-6Ko2xR{p8lk?KB$5p)pFc?Rv%31Z zKf1c;A}S{rmy0v_*=j)nr^G$A6Rf)5aaX(4^-K2fRcM=6lW-XqtgP5{#p}! zpOUSeRH<9<#sIrHL^)ZZspYl?ZmeNs00u;M7(sPr-gT z(zh0EJnM9p;SH>0Ws<5Z1U(YC=gEo0N^+1`iOR5+GhJ4+Mw-A{tgtaPPbknx>-B!Re{OZfzeE#Z*##-X+?)Z@t$4|ZKO%)1RtoAt3FOL7M zxtFZ)bxIdK<-d6FwgR5cKGZx?6xAi^f`>o+Q@`;WbUTmC(a!P|Cc-otz4xO7(YgkV zTe8KmJ7*_4(Qa-h1!j4}XWDmuI zoN!;~0Yz{q1wJied9nz~3i;b=n-Dder7fVCL7T&`*b23GK3aL;j(2;P4EI_;3vJz% z9in_+9>^-qs~kVlsd0x7+GLLSx;7|QuV4oWa|*rH;(n9m{4}(!{z4Wvg(SUM!{}9j zl1y-W^*l`mt$-lW3htHW5TmZhG9^`pE(If%C`GGnhe2T7Z$YfdE<3#{bzoIfQbS#} zQsdS7x-?Nwf`s|e7=v?Apj?pTjeX0W67tPSCw%(cZ3<=U&=GJ_NOJ!C5{})#Yr`3P z0A|5xBqTQ?3B~Zc3W0zd==oh|lCv7oPkJi(<@Y}z3LT@vcxE$_o z+sUUqWh0BtOj^3i+&okD zeCEe~>6dQ*zz0l|U9Q=Zx&qgn6GXLPj>$KhrK)eti3TH6l*QFRD=Y)g=!1JwlG?QO zq*ziUInFjxZ1wrfcGovn2;O}q$^<*4NJBw8S#@DCWHOAcmY)%_&6%G%J3g+}Q1S>E ziyr4`p!$Hjl$}f@%-7p#u!0?ACNPE4o^zm?bi_%7lN6K2zyn81yJPfC*LnG3qa?^} zbyd=oQ~|Tqt%_vK;Ija-+PfbZI&+%@r>+7`esqRde-!`h&|(PjCtIe*1*`f z{eH%?(4{;9(xuD|;=S9aWm46Vt|BH-#1O55J^a`gy=dopboV{m2t0RPcOANO@mCuA z+uT~((TD3JC(eJ+jZeG%ci+v^Q&(N4oeMe>PP;#MC{O_h=*tp;XGy=5w^eptAMSdD z>w|;!wg1yg-}eLG?@s>|WIGMxz{*oN@1yKo>xp2BT#r_(h*3?3kdE=&L2^@U%r-0r zEosmrOmqMXx(fpbJvYfBDxIqJaIIHi-2q<_`4e=+yPRHZp-AR7yQQljUf~9NBp@SJ8Q|vS>6< z?=QP(4o-RjeXy+(xVj0gVrr#Vs6Ks}RnP-Cf!!!GtHnIn;Y19=Q*m>claV*Myl>kf zY{bFde26aYYfLZ`AM?vJ+7Z$m!UuVL)fzA@@T>6ydug-`f~woX>Xe8v7s zEcoisGChCUKZUv^H9gOhH{9^BXMA_Ie)VzX5N)uWb$U2(yXmgi0biS~T1VJK^uBe^ z9Z=CAB}9GoYS(;MU#FNktkWlY{p#J2seBh(PJ4WcK)D>4qZ2ERlOYM2c(Sy~>|68W zW_WAJO>%`iSKV2v^KV^O100FPlxP7))j5wT!|$jsQ=yx(#J<*2t@h}v7X8q^T>C_| ztdshA+YU-ZAGIptSreX)8N#WWSbh^|upwk!F93pdSZK^6dKkduY} zRol*0DcJ;s&I3`$dtHw8<6ipGPrl>rTwr5vx~&2OJ;E^_mZsuL4F=pCwCw_=*`Vn< zY;>)N?^P#qvOR~1PKc(YbS^Io?m%qwW-HaH@m~A1geX==R+LOPUPiToBy@wwtleb{ zoShoBdO?~F&End-T!Zj{NuI3WaQcoc+Z6!xY=rOL55vHom{gU_A$jfaUMt`UI{!;) zI!aoJXrV0e)aX@wR8%k84O)iCQSktdt(XP&-U**ZgQS(2ul+JxU|9@?^F8A9X{u&8$wY{oR3Y9MGPPC0s%5){ecRqdg{Wes4u!F5GTCAm&#q0&!GKV+L4SH}(|z2gF|XR*L1w zR;$V+Y4>C{xwg1l=cCQN=HGwl)1Q9v4Nqy<=Z!$p&xPAz4!$cQcOiIl^olDs6jaf= z2V_EZhVLt%4^Bb057gb3k1#u4%#ZuX<(Gfmi(kwRkk)xwlmp!AGJPrSg3^KosD7tz z&2wMdo6A9D_Y^@-9VjHnH+y>ua`pncuC}wF^jwtjuyV|Te*JVQz+g@vqCVLeRugz4 z!)^-gYUtC)I>9q3kU&=>(3&#(WLbojOaPWvU$xXn7OZ;Cv|E#Bdo zO7(1`>J#Vblr7C~-m<$g zf{m)2I7@~Mzkvzl`eC~}+xe)IA7alZ353r?>Na>*5!BIGg>p6-S+-khP1`Spnvx+C33qLUwYG!(5M5h|+l@pxQz_ z^cj^>T>j2)ybUFvPR@^i`O9Ymq4hcH(S3_yyE}CJ;Sb*)JV)$*+R#QGK2(&zO>iSf z)|vHz>ZRAE2woo^9PR|7|MWGlIlTS$9^Pc(?Y=oU@KslUmvW@NXim*i50f}=`pQoV zJBzR}16|Xrv=cg4a~s1%>{yk^O(P98wSFP~LyJwLcq7}yP51gW$N@!yhB+BfIJt_b zy>YRa@Dx$mmfV%>dD~W$_O!CLOZBjIJn4w4F(Qq1>Gr7I0{xe4;a+V|G$U6?7U?qa zw1>x$al4XFRhm(dMm-7tnhG2&IwmM|x~hmJFV{V=?Eci<+z5)2>R+)DbM;<^t9oaf zki%Reqd7zJR-#;k0=_|!CabTC+ivXPBoHbV%_&tv5e?4@1QSTL4iVL8|?_Y>zo{uTfD4}SXZ>8jTAfe9-~R@70d z*nNrvYOujI(8~sdIN~5g$O1>a+5}dZ)r70fjvIm_exP!yeh#67v z$Tb2^Ma3zR?UDk<&PftMX0qBzaH9XT6E>mvt|i523X(_%wJ@=mvSjfuQhojm_;AH( zoCST|zn?iZ&XYa|yxZbvKKJ1^&g0SR_`vnV7c{A!y4WZlb+sq0RwF7(-9panbT+_D(Z>{NJgc*QfHdFqY7 z_UU)Mi|eF7TGDM3Zc-=Q5jjOefsx_iFfNFP!0fP++0x`+EEY}T6X+O#aaC-g$LHue zh%PjyJ=H3&YF~4HctE*>!d=g}tGDO$9zKN>bl2T-)s!gSF&@8AOtu-cg&l}49U)#1mweB|(D>dR38;{(%rk^H=9Ef51( zYam2|ta|{aUUa?az8O}WhBD9&N`Z}542EZ_%UHn%{;&i zT^zs-T_)d5w)-ju?`+4_@dO#(!?;vW}lqK4O)>8c=!bxYkjybtHaf{4t~rFU!(!JF*`L*w?V1Pm{}q4lfTCA|M^?w1_@qA$tC5nz8wC<{q-T5n&+opSl1?! zDJD-FcdTviMm$s<=qv}Mk~^}7olcj^$G+XZHUQ_Z!?zfyaRI3wZ(6L*_r<0m)HvH& zTT4oY55=65xb1DaTE*vTaYbx$2og*W2KDGX2G3T@JJS}_g&9m7a|o6-6rjxATpMKA z8)@0AyDwaS+qc$NE3nhbR+ljaQn^;=nz0hJ6>Dgc4bmR?M#U_%!EiMK#Y(hO7e<*u z+^8-JMtYLw-LdzwulF@1V5FcFJ=_3p(R1&$k7lMRxHEi4ks%#xUw7HX3YE;*t6AcB zR=(Oyn{(8o`&9o5deA5y%sG=vrVudCHJ~*m_f!o-;0K@xZaaLt*~$)$wO$<_KK6w# z{N(@fj?=f@rmIUokt@qw`%$6MZf(0Y>_Xta>d@7-th0x(M0ZNW?_*Cf4$<@^90pD| zl54M^i4;#l2B%@0?F{X7SJB3d*_|`I9=G07(BpJdWQ~gv?-FyY;ps=$GIm>ehf3)H=o z%Xiqai2v2Sf=dG2AT#!?V*4fLUon8WD~~CQAn!{x@Yz_}~ZinkegJQg@Au{s} zv;6oeTqWv>XF?K-mGPNdOlH~EA{}qV9^Pd%MwnO?g zoXidLoBY6Gu46eNB!83f9QYtpBeln%<3jPx7&AK4?ARW7F(f$ z7kl_!r!VZ;Apl}{l8`FHl+?9k`S{pUc2i`wSY5v=o}w{=?weD@G=hn{JFM6jI;ZZg`Joh1o6ktEOmbE2zt5i#|KW~&R8)>LR1VtPN4T!rj z+uwYpB=7#%TdH58VUAh45ymHSl|g2Fv;p&w0-AM?69SiMnfY$TMO|5ZACW zKI5+E?+iyXjx(x7Ck;Y|P|#s8cDp;CpTnod-)G|Mc*)d47@An~gmg!rhnI&5y4$%9 z=$fTB8$luQd~;7KQx?$vrhDS9qre!!L~3~KI4<}QxuU{q`i_l#KG`VA-E=TMqn+S& zO5Lk63~n8;O&cIuAMcwfx(sxP_j4aUhNXB?#7uJ^8YnhKyx>%D){9x;qGgS2YdBsS zR@g&;`>@+HT;dMd!F)|SIqvzode_}UBEN=ML{0?#tRYkqZjuzimhM3e0bK2Z_vpb) z*SzE;-0M9{Jw$WzG^!*)mUJ-7I#FD4CAiOgZJUO^N6I&+E>r0_6>b* z9Frn~I(sNWBUih`uFO!3NFL2uhqZg07RSTfohPiA*~#GDQ@u0y1gDWfHx#E$9lht;-K&)0sMtN|tzcqR`tKmVUN2 z;1xXR3Sl!Q0eU^Od8*Xwmv1I(3|S#(m_W3RbKgXN?|FnycMg5X3qns+k^7CZPLR&k zXA#7nKk~{NOcwZuRLWKaOK_ECuT~s26Uix`B&nE=Km#-acbhicmdTA>_jJkho+i+m zwIQi&>4b4eTN~8O%aopx%V_F6n)9g&$HLUC_4t)nUj3Zs&ePu+dbK%6J-WX*CNYL< z%0W8cZHagy>rs5{x%ksQ$>;~Rl%E&OW<5I|uMT!DNjJao*FOEucTPHc~FRR=17&= z$}f7;6*&87{foKdFG3xE>V|bwlijjAaGhGuYH@Tn0O=WijwMI$l z+84iMM?IRAH+I;o%~a1(kM2+CsuP`LES`Yrta1*G`(A>__E)qBPEH{D;PCM;ec5k+ z+uumx=;%s(zznCLDj(^st$CH^6RZZDN1Bp306|FLM(|)D4=b2zdo{N3JkKJZMrlIzUzdvl8?z z>+HSSoq1$XoZV1bLdX)j(6e90&J^3UZiXh_2)`=3cqxtbB5s$8oy)1KvG}H$81VU) zxHGFK*hliL*i~)|VuK-yHgCHg>?|YB<6&|T4A7~m$;Bx|w#%YFS`|0nL*Ggk_&yv| zJ0^7V0BIShTCZzvXuu}O{fi7N5)W~-^(I~+O4N)1oW;#o@2v`-P3XkzUP_M02jBR# zZHd#cSBGoygE|*Z?_UKx-{R#NS?i0~_SaFdNB`|sWBp2h5Kxj1Rwu5#_Nr$+`_Eth zZ#*bLPAV@oBk3kLa)JX&+r`~AT>kDdO5ENVJ6vlg-Ox?J2wTpXW$!6A^@Ubza`ZNb zTV5C`p}ND1?fkLNr)|>iE}Xh5=>R3uMvADZ5<6!IS5E0KSts3$^^-w)T`D426z~}7 z1FzY~x40XCiNTc^W~~Ut@2Iy0fD$CCp%-;A+EFlJm{^d~5&KfR2)Jnd{z1SQXux zmrWGwC`@nQgj09Ola7kQ*?I)H7v@Ql5TP;}VC>6^C|6#vl;WClb(oQO;7KB<>sK}sYhTm}1D$S2zuLEYf#4Cd; z*$0pVkfBeDF+&w&@Vt>kqx*d-$~ssY>r9lt>3|YT=F&c?=0`18ZS}5YUb#6pPco;; zm1OR&)A52qI4K83)s;hi%uWDjB<8cjg(8WwGTo$$q&1pAWXWeEvP|2;Rkv|V4|uGhg+f;{b&en`{Vcod5jcnT+_t~^h-W?P_kk(9i`@}si5$7OFcIK?F2qLJoba2xA@&Gb)q}?j6GCxj%0-*pTxj*@n&wThp z+YsyVrRYW&D1&xT6rQ84Eb*ZlMycf$uA*zD}Pt#<=Oa6qGgOh%CcYB=ZYy?Xy^?eAUh_pSX`Om3h~nL~+1)qno8 z|Gn2*-}DYtKojyxISU{(vf#j0WMDp^z<874Ux{)8Nyn4jAukE|A(O`w1Q zhV41a*6Cz<7TWK#Bm~%67|d&BpFsXpAx%oMgM98_KmOuN=C*7}!jsebw`&hE>Jgs% z;v)~=al;LF-gv`3x7@O@d$$83FRc?01cSJ|4fA+sBV!OQ0O~M>T}S%Dk6tdK51y+8 z`GIkRQ7hvK1&(rXA7&{K9n2!QbDd9<;AZ;IWHLGR$}2zdq8EAMclb(dpumoDJH_-5 z4AD+*rgZ?*P1@qBgbJxjsz%)!94trq5Y9*?L8_PJnBLiFXL3+!;ljk{Gu^nMcbF

|Fs0|>v<=5iv6xX`dv(>mF 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�JJLr=;QtP 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�J@l7f9z2)++|Jl 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

GXLzWEy%{_Np-LRCTXTL&Yzp=T%CwXa%+Qn+ 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 z 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 Vl&Pa*A%6e>002ovPDHLkV1l92(mMbE literal 0 HcmV?d00001 diff --git a/titanium/examples/mobile/chat-example-app/Resources/iphone/Default.png b/titanium/examples/mobile/chat-example-app/Resources/iphone/Default.png new file mode 100644 index 0000000000000000000000000000000000000000..b41d4a9068d6a9c9cf7b98977d20653b4e104501 GIT binary patch literal 114262 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%0AId`Um+nQld&d$E9$L_8CbF#8>`@U0M`x9 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

|Fs0|>v<=5iv6xX`dv(>mF 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�JJLr=;QtP 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�J@l7f9z2)++|Jl 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

- - -
- × -

PubNub MailTO Test for JavaScript on Mobile and Desktop Web Browser

-
- - - -
0
- -
- - -