edit
[c11concurrency-benchmarks.git] / jsbench-2013.1 / twitter / safari / urem.js
1 /* Replayable replacements for global functions */
2
3 /***************************************************************
4  * BEGIN STABLE.JS
5  **************************************************************/
6 //! stable.js 0.1.3, https://github.com/Two-Screen/stable
7 //! © 2012 Stéphan Kochen, Angry Bytes. MIT licensed.
8 (function() {
9
10 // A stable array sort, because `Array#sort()` is not guaranteed stable.
11 // This is an implementation of merge sort, without recursion.
12
13 var stable = function(arr, comp) {
14     if (typeof(comp) !== 'function') {
15         comp = function(a, b) {
16             a = String(a);
17             b = String(b);
18             if (a < b) return -1;
19             if (a > b) return 1;
20             return 0;
21         };
22     }
23
24     var len = arr.length;
25
26     if (len <= 1) return arr;
27
28     // Rather than dividing input, simply iterate chunks of 1, 2, 4, 8, etc.
29     // Chunks are the size of the left or right hand in merge sort.
30     // Stop when the left-hand covers all of the array.
31     var oarr = arr;
32     for (var chk = 1; chk < len; chk *= 2) {
33         arr = pass(arr, comp, chk);
34     }
35     for (var i = 0; i < len; i++) {
36         oarr[i] = arr[i];
37     }
38     return oarr;
39 };
40
41 // Run a single pass with the given chunk size. Returns a new array.
42 var pass = function(arr, comp, chk) {
43     var len = arr.length;
44     // Output, and position.
45     var result = new Array(len);
46     var i = 0;
47     // Step size / double chunk size.
48     var dbl = chk * 2;
49     // Bounds of the left and right chunks.
50     var l, r, e;
51     // Iterators over the left and right chunk.
52     var li, ri;
53
54     // Iterate over pairs of chunks.
55     for (l = 0; l < len; l += dbl) {
56         r = l + chk;
57         e = r + chk;
58         if (r > len) r = len;
59         if (e > len) e = len;
60
61         // Iterate both chunks in parallel.
62         li = l;
63         ri = r;
64         while (true) {
65             // Compare the chunks.
66             if (li < r && ri < e) {
67                 // This works for a regular `sort()` compatible comparator,
68                 // but also for a simple comparator like: `a > b`
69                 if (comp(arr[li], arr[ri]) <= 0) {
70                     result[i++] = arr[li++];
71                 }
72                 else {
73                     result[i++] = arr[ri++];
74                 }
75             }
76             // Nothing to compare, just flush what's left.
77             else if (li < r) {
78                 result[i++] = arr[li++];
79             }
80             else if (ri < e) {
81                 result[i++] = arr[ri++];
82             }
83             // Both iterators are at the chunk ends.
84             else {
85                 break;
86             }
87         }
88     }
89
90     return result;
91 };
92
93 var arrsort = function(comp) {
94     return stable(this, comp);
95 };
96
97 if (Object.defineProperty) {
98     Object.defineProperty(Array.prototype, "sort", {
99         configurable: true, writable: true, enumerable: false,
100         value: arrsort
101     });
102 } else {
103     Array.prototype.sort = arrsort;
104 }
105
106 })();
107 /***************************************************************
108  * END STABLE.JS
109  **************************************************************/
110
111 /*
112  * In a generated replay, this file is partially common, boilerplate code
113  * included in every replay, and partially generated replay code. The following
114  * header applies to the boilerplate code. A comment indicating "Auto-generated
115  * below this comment" marks the separation between these two parts.
116  *
117  * Copyright (C) 2011, 2012 Purdue University
118  * Written by Gregor Richards
119  * All rights reserved.
120  * 
121  * Redistribution and use in source and binary forms, with or without
122  * modification, are permitted provided that the following conditions are met:
123  * 
124  * 1. Redistributions of source code must retain the above copyright notice,
125  *    this list of conditions and the following disclaimer.
126  * 2. Redistributions in binary form must reproduce the above copyright notice,
127  *    this list of conditions and the following disclaimer in the documentation
128  *    and/or other materials provided with the distribution.
129  * 
130  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
131  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
132  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
133  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
134  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
135  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
136  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
137  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
138  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
139  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
140  * POSSIBILITY OF SUCH DAMAGE.
141  */
142
143 (function() {
144     // global eval alias
145     var geval = eval;
146
147     // detect if we're in a browser or not
148     var inbrowser = false;
149     var inharness = false;
150     var finished = false;
151     if (typeof window !== "undefined" && "document" in window) {
152         inbrowser = true;
153         if (window.parent && "JSBNG_handleResult" in window.parent) {
154             inharness = true;
155         }
156     } else if (typeof global !== "undefined") {
157         window = global;
158         window.top = window;
159     } else {
160         window = (function() { return this; })();
161         window.top = window;
162     }
163
164     if ("console" in window) {
165         window.JSBNG_Console = window.console;
166     }
167
168     var callpath = [];
169
170     // Workaround for bound functions as events
171     delete Function.prototype.bind;
172
173     // global state
174     var JSBNG_Replay = window.top.JSBNG_Replay = {
175         push: function(arr, fun) {
176             arr.push(fun);
177             return fun;
178         },
179
180         path: function(str) {
181             verifyPath(str);
182         },
183
184         forInKeys: function(of) {
185             var keys = [];
186             for (var k in of)
187                 keys.push(k);
188             return keys.sort();
189         }
190     };
191
192     // the actual replay runner
193     function onload() {
194         try {
195             delete window.onload;
196         } catch (ex) {}
197
198         var jr = JSBNG_Replay$;
199         var cb = function() {
200             var end = new Date().getTime();
201             finished = true;
202
203             var msg = "Time: " + (end - st) + "ms";
204     
205             if (inharness) {
206                 window.parent.JSBNG_handleResult({error:false, time:(end - st)});
207             } else if (inbrowser) {
208                 var res = document.createElement("div");
209     
210                 res.style.position = "fixed";
211                 res.style.left = "1em";
212                 res.style.top = "1em";
213                 res.style.width = "35em";
214                 res.style.height = "5em";
215                 res.style.padding = "1em";
216                 res.style.backgroundColor = "white";
217                 res.style.color = "black";
218                 res.appendChild(document.createTextNode(msg));
219     
220                 document.body.appendChild(res);
221             } else if (typeof console !== "undefined") {
222                 console.log(msg);
223             } else if (typeof print !== "undefined") {
224                 // hopefully not the browser print() function :)
225                 print(msg);
226             }
227         };
228
229         // force it to JIT
230         jr(false);
231
232         // then time it
233         var st = new Date().getTime();
234         while (jr !== null) {
235             jr = jr(true, cb);
236         }
237     }
238
239     // add a frame at replay time
240     function iframe(pageid) {
241         var iw;
242         if (inbrowser) {
243             // represent the iframe as an iframe (of course)
244             var iframe = document.createElement("iframe");
245             iframe.style.display = "none";
246             document.body.appendChild(iframe);
247             iw = iframe.contentWindow;
248             iw.document.write("<script type=\"text/javascript\">var JSBNG_Replay_geval = eval;</script>");
249             iw.document.close();
250         } else {
251             // no general way, just lie and do horrible things
252             var topwin = window;
253             (function() {
254                 var window = {};
255                 window.window = window;
256                 window.top = topwin;
257                 window.JSBNG_Replay_geval = function(str) {
258                     eval(str);
259                 }
260                 iw = window;
261             })();
262         }
263         return iw;
264     }
265
266     // called at the end of the replay stuff
267     function finalize() {
268         if (inbrowser) {
269             setTimeout(onload, 0);
270         } else {
271             onload();
272         }
273     }
274
275     // verify this recorded value and this replayed value are close enough
276     function verify(rep, rec) {
277         if (rec !== rep &&
278             (rep === rep || rec === rec) /* NaN test */) {
279             // FIXME?
280             if (typeof rec === "function" && typeof rep === "function") {
281                 return true;
282             }
283             if (typeof rec !== "object" || rec === null ||
284                 !(("__JSBNG_unknown_" + typeof(rep)) in rec)) {
285                 return false;
286             }
287         }
288         return true;
289     }
290
291     // general message
292     var firstMessage = true;
293     function replayMessage(msg) {
294         if (inbrowser) {
295             if (firstMessage)
296                 document.open();
297             firstMessage = false;
298             document.write(msg);
299         } else {
300             console.log(msg);
301         }
302     }
303
304     // complain when there's an error
305     function verificationError(msg) {
306         if (finished) return;
307         if (inharness) {
308             window.parent.JSBNG_handleResult({error:true, msg: msg});
309         } else replayMessage(msg);
310         throw new Error();
311     }
312
313     // to verify a set
314     function verifySet(objstr, obj, prop, gvalstr, gval) {
315         if (/^on/.test(prop)) {
316             // these aren't instrumented compatibly
317             return;
318         }
319
320         if (!verify(obj[prop], gval)) {
321             var bval = obj[prop];
322             var msg = "Verification failure! " + objstr + "." + prop + " is not " + gvalstr + ", it's " + bval + "!";
323             verificationError(msg);
324         }
325     }
326
327     // to verify a call or new
328     function verifyCall(iscall, func, cthis, cargs) {
329         var ok = true;
330         var callArgs = func.callArgs[func.inst];
331         iscall = iscall ? 1 : 0;
332         if (cargs.length !== callArgs.length - 1) {
333             ok = false;
334         } else {
335             if (iscall && !verify(cthis, callArgs[0])) ok = false;
336             for (var i = 0; i < cargs.length; i++) {
337                 if (!verify(cargs[i], callArgs[i+1])) ok = false;
338             }
339         }
340         if (!ok) {
341             var msg = "Call verification failure!";
342             verificationError(msg);
343         }
344
345         return func.returns[func.inst++];
346     }
347
348     // to verify the callpath
349     function verifyPath(func) {
350         var real = callpath.shift();
351         if (real !== func) {
352             var msg = "Call path verification failure! Expected " + real + ", found " + func;
353             verificationError(msg);
354         }
355     }
356
357     // figure out how to define getters
358     var defineGetter;
359     if (Object.defineProperty) {
360         var odp = Object.defineProperty;
361         defineGetter = function(obj, prop, getter, setter) {
362             if (typeof setter === "undefined") setter = function(){};
363             odp(obj, prop, {"enumerable": true, "configurable": true, "get": getter, "set": setter});
364         };
365     } else if (Object.prototype.__defineGetter__) {
366         var opdg = Object.prototype.__defineGetter__;
367         var opds = Object.prototype.__defineSetter__;
368         defineGetter = function(obj, prop, getter, setter) {
369             if (typeof setter === "undefined") setter = function(){};
370             opdg.call(obj, prop, getter);
371             opds.call(obj, prop, setter);
372         };
373     } else {
374         defineGetter = function() {
375             verificationError("This replay requires getters for correct behavior, and your JS engine appears to be incapable of defining getters. Sorry!");
376         };
377     }
378
379     var defineRegetter = function(obj, prop, getter, setter) {
380         defineGetter(obj, prop, function() {
381             return getter.call(this, prop);
382         }, function(val) {
383             // once it's set by the client, it's claimed
384             setter.call(this, prop, val);
385             Object.defineProperty(obj, prop, {
386                 "enumerable": true, "configurable": true, "writable": true,
387                 "value": val
388             });
389         });
390     }
391
392     // for calling events
393     var fpc = Function.prototype.call;
394
395 // resist the urge, don't put a })(); here!
396 /******************************************************************************
397  * Auto-generated below this comment
398  *****************************************************************************/
399 var ow989148965 = window;
400 var f989148965_0;
401 var o0;
402 var o1;
403 var f989148965_7;
404 var f989148965_12;
405 var o2;
406 var o3;
407 var f989148965_56;
408 var f989148965_143;
409 var f989148965_417;
410 var o4;
411 var f989148965_419;
412 var f989148965_420;
413 var f989148965_421;
414 var o5;
415 var f989148965_423;
416 var f989148965_424;
417 var o6;
418 var o7;
419 var o8;
420 var f989148965_429;
421 var o9;
422 var o10;
423 var o11;
424 var f989148965_439;
425 var f989148965_443;
426 var f989148965_448;
427 var f989148965_449;
428 var f989148965_451;
429 var f989148965_459;
430 var fo989148965_460_length;
431 var f989148965_463;
432 var f989148965_465;
433 var f989148965_468;
434 var f989148965_472;
435 var f989148965_473;
436 var f989148965_474;
437 var f989148965_475;
438 var f989148965_477;
439 var f989148965_487;
440 var f989148965_490;
441 var f989148965_492;
442 var f989148965_493;
443 var f989148965_494;
444 var f989148965_496;
445 var f989148965_508;
446 var f989148965_525;
447 var f989148965_696;
448 var f989148965_697;
449 JSBNG_Replay.s19277ddcd28db6dd01a1d67d562dfbbffa3c6a17_1 = [];
450 JSBNG_Replay.s19277ddcd28db6dd01a1d67d562dfbbffa3c6a17_4 = [];
451 // 1
452 // record generated by JSBench  at 2013-07-10T19:04:57.531Z
453 // 2
454 // 3
455 f989148965_0 = function() { return f989148965_0.returns[f989148965_0.inst++]; };
456 f989148965_0.returns = [];
457 f989148965_0.inst = 0;
458 // 4
459 ow989148965.JSBNG__Date = f989148965_0;
460 // 5
461 o0 = {};
462 // 6
463 ow989148965.JSBNG__document = o0;
464 // 9
465 o1 = {};
466 // 10
467 ow989148965.JSBNG__localStorage = o1;
468 // 17
469 f989148965_7 = function() { return f989148965_7.returns[f989148965_7.inst++]; };
470 f989148965_7.returns = [];
471 f989148965_7.inst = 0;
472 // 18
473 ow989148965.JSBNG__addEventListener = f989148965_7;
474 // 19
475 ow989148965.JSBNG__top = ow989148965;
476 // 24
477 ow989148965.JSBNG__scrollX = 0;
478 // 25
479 ow989148965.JSBNG__scrollY = 0;
480 // 30
481 f989148965_12 = function() { return f989148965_12.returns[f989148965_12.inst++]; };
482 f989148965_12.returns = [];
483 f989148965_12.inst = 0;
484 // 31
485 ow989148965.JSBNG__setTimeout = f989148965_12;
486 // 42
487 ow989148965.JSBNG__frames = ow989148965;
488 // 45
489 ow989148965.JSBNG__self = ow989148965;
490 // 46
491 o2 = {};
492 // 47
493 ow989148965.JSBNG__navigator = o2;
494 // 62
495 ow989148965.JSBNG__closed = false;
496 // 65
497 ow989148965.JSBNG__opener = null;
498 // 66
499 ow989148965.JSBNG__defaultStatus = "";
500 // 67
501 o3 = {};
502 // 68
503 ow989148965.JSBNG__location = o3;
504 // 69
505 ow989148965.JSBNG__innerWidth = 1024;
506 // 70
507 ow989148965.JSBNG__innerHeight = 702;
508 // 71
509 ow989148965.JSBNG__outerWidth = 1024;
510 // 72
511 ow989148965.JSBNG__outerHeight = 774;
512 // 73
513 ow989148965.JSBNG__screenX = 79;
514 // 74
515 ow989148965.JSBNG__screenY = 22;
516 // 75
517 ow989148965.JSBNG__pageXOffset = 0;
518 // 76
519 ow989148965.JSBNG__pageYOffset = 0;
520 // 101
521 ow989148965.JSBNG__frameElement = null;
522 // 112
523 ow989148965.JSBNG__screenLeft = 79;
524 // 113
525 ow989148965.JSBNG__clientInformation = o2;
526 // 114
527 ow989148965.JSBNG__defaultstatus = "";
528 // 119
529 ow989148965.JSBNG__devicePixelRatio = 1;
530 // 122
531 ow989148965.JSBNG__offscreenBuffering = true;
532 // 123
533 ow989148965.JSBNG__screenTop = 22;
534 // 138
535 f989148965_56 = function() { return f989148965_56.returns[f989148965_56.inst++]; };
536 f989148965_56.returns = [];
537 f989148965_56.inst = 0;
538 // 139
539 ow989148965.JSBNG__XMLHttpRequest = f989148965_56;
540 // 142
541 ow989148965.JSBNG__name = "";
542 // 149
543 ow989148965.JSBNG__status = "";
544 // 314
545 f989148965_143 = function() { return f989148965_143.returns[f989148965_143.inst++]; };
546 f989148965_143.returns = [];
547 f989148965_143.inst = 0;
548 // 315
549 ow989148965.JSBNG__Document = f989148965_143;
550 // 588
551 ow989148965.JSBNG__XMLDocument = f989148965_143;
552 // 863
553 ow989148965.JSBNG__onerror = null;
554 // 864
555 f989148965_417 = function() { return f989148965_417.returns[f989148965_417.inst++]; };
556 f989148965_417.returns = [];
557 f989148965_417.inst = 0;
558 // 865
559 ow989148965.Math.JSBNG__random = f989148965_417;
560 // 866
561 // 868
562 o4 = {};
563 // 869
564 o0.documentElement = o4;
565 // 871
566 o4.className = "";
567 // 873
568 f989148965_419 = function() { return f989148965_419.returns[f989148965_419.inst++]; };
569 f989148965_419.returns = [];
570 f989148965_419.inst = 0;
571 // 874
572 o4.getAttribute = f989148965_419;
573 // 875
574 f989148965_419.returns.push("swift-loading");
575 // 876
576 // 878
577 // 879
578 // 880
579 // 881
580 // 882
581 f989148965_12.returns.push(2);
582 // 884
583 f989148965_420 = function() { return f989148965_420.returns[f989148965_420.inst++]; };
584 f989148965_420.returns = [];
585 f989148965_420.inst = 0;
586 // 885
587 o0.JSBNG__addEventListener = f989148965_420;
588 // 887
589 f989148965_420.returns.push(undefined);
590 // 889
591 f989148965_420.returns.push(undefined);
592 // 891
593 // 892
594 o0.nodeType = 9;
595 // 893
596 f989148965_421 = function() { return f989148965_421.returns[f989148965_421.inst++]; };
597 f989148965_421.returns = [];
598 f989148965_421.inst = 0;
599 // 894
600 o0.createElement = f989148965_421;
601 // 895
602 o5 = {};
603 // 896
604 f989148965_421.returns.push(o5);
605 // 897
606 f989148965_423 = function() { return f989148965_423.returns[f989148965_423.inst++]; };
607 f989148965_423.returns = [];
608 f989148965_423.inst = 0;
609 // 898
610 o5.setAttribute = f989148965_423;
611 // 899
612 f989148965_423.returns.push(undefined);
613 // 900
614 // 901
615 f989148965_424 = function() { return f989148965_424.returns[f989148965_424.inst++]; };
616 f989148965_424.returns = [];
617 f989148965_424.inst = 0;
618 // 902
619 o5.getElementsByTagName = f989148965_424;
620 // 903
621 o6 = {};
622 // 904
623 f989148965_424.returns.push(o6);
624 // 906
625 o7 = {};
626 // 907
627 f989148965_424.returns.push(o7);
628 // 908
629 o8 = {};
630 // 909
631 o7["0"] = o8;
632 // undefined
633 o7 = null;
634 // 910
635 o6.length = 4;
636 // undefined
637 o6 = null;
638 // 912
639 o6 = {};
640 // 913
641 f989148965_421.returns.push(o6);
642 // 914
643 f989148965_429 = function() { return f989148965_429.returns[f989148965_429.inst++]; };
644 f989148965_429.returns = [];
645 f989148965_429.inst = 0;
646 // 915
647 o6.appendChild = f989148965_429;
648 // 917
649 o7 = {};
650 // 918
651 f989148965_421.returns.push(o7);
652 // 919
653 f989148965_429.returns.push(o7);
654 // 921
655 o9 = {};
656 // 922
657 f989148965_424.returns.push(o9);
658 // 923
659 o10 = {};
660 // 924
661 o9["0"] = o10;
662 // undefined
663 o9 = null;
664 // 925
665 o9 = {};
666 // 926
667 o8.style = o9;
668 // 927
669 // 928
670 o11 = {};
671 // 929
672 o5.firstChild = o11;
673 // 930
674 o11.nodeType = 3;
675 // undefined
676 o11 = null;
677 // 932
678 o11 = {};
679 // 933
680 f989148965_424.returns.push(o11);
681 // 934
682 o11.length = 0;
683 // undefined
684 o11 = null;
685 // 936
686 o11 = {};
687 // 937
688 f989148965_424.returns.push(o11);
689 // 938
690 o11.length = 1;
691 // undefined
692 o11 = null;
693 // 939
694 o8.getAttribute = f989148965_419;
695 // undefined
696 o8 = null;
697 // 940
698 f989148965_419.returns.push("top: 1px; float: left; opacity: 0.5; ");
699 // 942
700 f989148965_419.returns.push("/a");
701 // 944
702 o9.opacity = "0.5";
703 // 946
704 o9.cssFloat = "left";
705 // undefined
706 o9 = null;
707 // 947
708 o10.value = "on";
709 // 948
710 o7.selected = true;
711 // 949
712 o5.className = "";
713 // 951
714 o8 = {};
715 // 952
716 f989148965_421.returns.push(o8);
717 // 953
718 o8.enctype = "application/x-www-form-urlencoded";
719 // undefined
720 o8 = null;
721 // 955
722 o8 = {};
723 // 956
724 f989148965_421.returns.push(o8);
725 // 957
726 f989148965_439 = function() { return f989148965_439.returns[f989148965_439.inst++]; };
727 f989148965_439.returns = [];
728 f989148965_439.inst = 0;
729 // 958
730 o8.cloneNode = f989148965_439;
731 // undefined
732 o8 = null;
733 // 959
734 o8 = {};
735 // 960
736 f989148965_439.returns.push(o8);
737 // 961
738 o8.outerHTML = "<nav></nav>";
739 // undefined
740 o8 = null;
741 // 962
742 o0.compatMode = "CSS1Compat";
743 // 963
744 // 964
745 o10.cloneNode = f989148965_439;
746 // undefined
747 o10 = null;
748 // 965
749 o8 = {};
750 // 966
751 f989148965_439.returns.push(o8);
752 // 967
753 o8.checked = true;
754 // undefined
755 o8 = null;
756 // 968
757 // undefined
758 o6 = null;
759 // 969
760 o7.disabled = false;
761 // undefined
762 o7 = null;
763 // 970
764 // 971
765 o5.JSBNG__addEventListener = f989148965_420;
766 // 973
767 o6 = {};
768 // 974
769 f989148965_421.returns.push(o6);
770 // 975
771 // 976
772 o6.setAttribute = f989148965_423;
773 // 977
774 f989148965_423.returns.push(undefined);
775 // 979
776 f989148965_423.returns.push(undefined);
777 // 981
778 f989148965_423.returns.push(undefined);
779 // 982
780 o5.appendChild = f989148965_429;
781 // 983
782 f989148965_429.returns.push(o6);
783 // 984
784 f989148965_443 = function() { return f989148965_443.returns[f989148965_443.inst++]; };
785 f989148965_443.returns = [];
786 f989148965_443.inst = 0;
787 // 985
788 o0.createDocumentFragment = f989148965_443;
789 // 986
790 o7 = {};
791 // 987
792 f989148965_443.returns.push(o7);
793 // 988
794 o7.appendChild = f989148965_429;
795 // 989
796 o5.lastChild = o6;
797 // 990
798 f989148965_429.returns.push(o6);
799 // 991
800 o7.cloneNode = f989148965_439;
801 // 992
802 o8 = {};
803 // 993
804 f989148965_439.returns.push(o8);
805 // 994
806 o8.cloneNode = f989148965_439;
807 // undefined
808 o8 = null;
809 // 995
810 o8 = {};
811 // 996
812 f989148965_439.returns.push(o8);
813 // 997
814 o9 = {};
815 // 998
816 o8.lastChild = o9;
817 // undefined
818 o8 = null;
819 // 999
820 o9.checked = true;
821 // undefined
822 o9 = null;
823 // 1000
824 o6.checked = true;
825 // 1001
826 f989148965_448 = function() { return f989148965_448.returns[f989148965_448.inst++]; };
827 f989148965_448.returns = [];
828 f989148965_448.inst = 0;
829 // 1002
830 o7.removeChild = f989148965_448;
831 // undefined
832 o7 = null;
833 // 1003
834 f989148965_448.returns.push(o6);
835 // undefined
836 o6 = null;
837 // 1005
838 f989148965_429.returns.push(o5);
839 // 1006
840 o5.JSBNG__attachEvent = void 0;
841 // 1007
842 o0.readyState = "interactive";
843 // 1010
844 f989148965_420.returns.push(undefined);
845 // 1011
846 f989148965_7.returns.push(undefined);
847 // 1013
848 f989148965_448.returns.push(o5);
849 // undefined
850 o5 = null;
851 // 1014
852 f989148965_417.returns.push(0.9546113463584334);
853 // 1015
854 f989148965_449 = function() { return f989148965_449.returns[f989148965_449.inst++]; };
855 f989148965_449.returns = [];
856 f989148965_449.inst = 0;
857 // 1016
858 o0.JSBNG__removeEventListener = f989148965_449;
859 // 1017
860 f989148965_417.returns.push(0.45179418730549514);
861 // 1020
862 o5 = {};
863 // 1021
864 f989148965_421.returns.push(o5);
865 // 1022
866 o5.appendChild = f989148965_429;
867 // 1023
868 f989148965_451 = function() { return f989148965_451.returns[f989148965_451.inst++]; };
869 f989148965_451.returns = [];
870 f989148965_451.inst = 0;
871 // 1024
872 o0.createComment = f989148965_451;
873 // 1025
874 o6 = {};
875 // 1026
876 f989148965_451.returns.push(o6);
877 // 1027
878 f989148965_429.returns.push(o6);
879 // undefined
880 o6 = null;
881 // 1028
882 o5.getElementsByTagName = f989148965_424;
883 // undefined
884 o5 = null;
885 // 1029
886 o5 = {};
887 // 1030
888 f989148965_424.returns.push(o5);
889 // 1031
890 o5.length = 0;
891 // undefined
892 o5 = null;
893 // 1033
894 o5 = {};
895 // 1034
896 f989148965_421.returns.push(o5);
897 // 1035
898 // 1036
899 o6 = {};
900 // 1037
901 o5.firstChild = o6;
902 // undefined
903 o5 = null;
904 // 1039
905 o6.getAttribute = f989148965_419;
906 // undefined
907 o6 = null;
908 // 1042
909 f989148965_419.returns.push("#");
910 // 1044
911 o5 = {};
912 // 1045
913 f989148965_421.returns.push(o5);
914 // 1046
915 // 1047
916 o6 = {};
917 // 1048
918 o5.lastChild = o6;
919 // undefined
920 o5 = null;
921 // 1049
922 o6.getAttribute = f989148965_419;
923 // undefined
924 o6 = null;
925 // 1050
926 f989148965_419.returns.push(null);
927 // 1052
928 o5 = {};
929 // 1053
930 f989148965_421.returns.push(o5);
931 // 1054
932 // 1055
933 f989148965_459 = function() { return f989148965_459.returns[f989148965_459.inst++]; };
934 f989148965_459.returns = [];
935 f989148965_459.inst = 0;
936 // 1056
937 o5.getElementsByClassName = f989148965_459;
938 // 1058
939 o6 = {};
940 // 1059
941 f989148965_459.returns.push(o6);
942 // undefined
943 fo989148965_460_length = function() { return fo989148965_460_length.returns[fo989148965_460_length.inst++]; };
944 fo989148965_460_length.returns = [];
945 fo989148965_460_length.inst = 0;
946 defineGetter(o6, "length", fo989148965_460_length, undefined);
947 // undefined
948 fo989148965_460_length.returns.push(1);
949 // 1061
950 o7 = {};
951 // 1062
952 o5.lastChild = o7;
953 // undefined
954 o5 = null;
955 // 1063
956 // undefined
957 o7 = null;
958 // 1065
959 f989148965_459.returns.push(o6);
960 // undefined
961 o6 = null;
962 // undefined
963 fo989148965_460_length.returns.push(2);
964 // 1068
965 o5 = {};
966 // 1069
967 f989148965_421.returns.push(o5);
968 // 1070
969 // 1071
970 // 1072
971 f989148965_463 = function() { return f989148965_463.returns[f989148965_463.inst++]; };
972 f989148965_463.returns = [];
973 f989148965_463.inst = 0;
974 // 1073
975 o4.insertBefore = f989148965_463;
976 // 1074
977 o6 = {};
978 // 1075
979 o4.firstChild = o6;
980 // 1076
981 f989148965_463.returns.push(o5);
982 // 1077
983 f989148965_465 = function() { return f989148965_465.returns[f989148965_465.inst++]; };
984 f989148965_465.returns = [];
985 f989148965_465.inst = 0;
986 // 1078
987 o0.getElementsByName = f989148965_465;
988 // 1080
989 o7 = {};
990 // 1081
991 f989148965_465.returns.push(o7);
992 // 1082
993 o7.length = 2;
994 // undefined
995 o7 = null;
996 // 1084
997 o7 = {};
998 // 1085
999 f989148965_465.returns.push(o7);
1000 // 1086
1001 o7.length = 0;
1002 // undefined
1003 o7 = null;
1004 // 1087
1005 f989148965_468 = function() { return f989148965_468.returns[f989148965_468.inst++]; };
1006 f989148965_468.returns = [];
1007 f989148965_468.inst = 0;
1008 // 1088
1009 o0.getElementById = f989148965_468;
1010 // 1089
1011 f989148965_468.returns.push(null);
1012 // 1090
1013 o4.removeChild = f989148965_448;
1014 // 1091
1015 f989148965_448.returns.push(o5);
1016 // undefined
1017 o5 = null;
1018 // 1092
1019 o5 = {};
1020 // 1093
1021 o4.childNodes = o5;
1022 // 1094
1023 o5.length = 3;
1024 // 1095
1025 o5["0"] = o6;
1026 // 1096
1027 o7 = {};
1028 // 1097
1029 o5["1"] = o7;
1030 // undefined
1031 o7 = null;
1032 // 1098
1033 o7 = {};
1034 // 1099
1035 o5["2"] = o7;
1036 // undefined
1037 o5 = null;
1038 // 1100
1039 f989148965_472 = function() { return f989148965_472.returns[f989148965_472.inst++]; };
1040 f989148965_472.returns = [];
1041 f989148965_472.inst = 0;
1042 // 1101
1043 o4.contains = f989148965_472;
1044 // 1102
1045 f989148965_473 = function() { return f989148965_473.returns[f989148965_473.inst++]; };
1046 f989148965_473.returns = [];
1047 f989148965_473.inst = 0;
1048 // 1103
1049 o4.compareDocumentPosition = f989148965_473;
1050 // 1104
1051 f989148965_474 = function() { return f989148965_474.returns[f989148965_474.inst++]; };
1052 f989148965_474.returns = [];
1053 f989148965_474.inst = 0;
1054 // 1105
1055 o0.querySelectorAll = f989148965_474;
1056 // 1106
1057 o4.matchesSelector = void 0;
1058 // 1107
1059 o4.mozMatchesSelector = void 0;
1060 // 1108
1061 f989148965_475 = function() { return f989148965_475.returns[f989148965_475.inst++]; };
1062 f989148965_475.returns = [];
1063 f989148965_475.inst = 0;
1064 // 1109
1065 o4.webkitMatchesSelector = f989148965_475;
1066 // 1111
1067 o5 = {};
1068 // 1112
1069 f989148965_421.returns.push(o5);
1070 // 1113
1071 // 1114
1072 f989148965_477 = function() { return f989148965_477.returns[f989148965_477.inst++]; };
1073 f989148965_477.returns = [];
1074 f989148965_477.inst = 0;
1075 // 1115
1076 o5.querySelectorAll = f989148965_477;
1077 // undefined
1078 o5 = null;
1079 // 1116
1080 o5 = {};
1081 // 1117
1082 f989148965_477.returns.push(o5);
1083 // 1118
1084 o5.length = 1;
1085 // undefined
1086 o5 = null;
1087 // 1120
1088 o5 = {};
1089 // 1121
1090 f989148965_477.returns.push(o5);
1091 // 1122
1092 o5.length = 1;
1093 // undefined
1094 o5 = null;
1095 // 1124
1096 o5 = {};
1097 // 1125
1098 f989148965_421.returns.push(o5);
1099 // 1126
1100 // 1127
1101 o5.querySelectorAll = f989148965_477;
1102 // 1128
1103 o8 = {};
1104 // 1129
1105 f989148965_477.returns.push(o8);
1106 // 1130
1107 o8.length = 0;
1108 // undefined
1109 o8 = null;
1110 // 1131
1111 // undefined
1112 o5 = null;
1113 // 1133
1114 o5 = {};
1115 // 1134
1116 f989148965_477.returns.push(o5);
1117 // 1135
1118 o5.length = 1;
1119 // undefined
1120 o5 = null;
1121 // 1137
1122 o5 = {};
1123 // 1138
1124 f989148965_421.returns.push(o5);
1125 // undefined
1126 o5 = null;
1127 // 1139
1128 f989148965_475.returns.push(true);
1129 // 1141
1130 o5 = {};
1131 // 1142
1132 f989148965_443.returns.push(o5);
1133 // 1143
1134 o5.createElement = void 0;
1135 // 1144
1136 o5.appendChild = f989148965_429;
1137 // undefined
1138 o5 = null;
1139 // 1146
1140 o5 = {};
1141 // 1147
1142 f989148965_421.returns.push(o5);
1143 // 1148
1144 f989148965_429.returns.push(o5);
1145 // undefined
1146 o5 = null;
1147 // 1149
1148 o2.userAgent = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_3) AppleWebKit/536.29.13 (KHTML, like Gecko) Version/6.0.4 Safari/536.29.13";
1149 // undefined
1150 o2 = null;
1151 // 1150
1152 o3.href = "https://twitter.com/search?q=%23javascript";
1153 // undefined
1154 o3 = null;
1155 // 1151
1156 o2 = {};
1157 // 1152
1158 f989148965_0.returns.push(o2);
1159 // 1153
1160 f989148965_487 = function() { return f989148965_487.returns[f989148965_487.inst++]; };
1161 f989148965_487.returns = [];
1162 f989148965_487.inst = 0;
1163 // 1154
1164 o2.getTime = f989148965_487;
1165 // undefined
1166 o2 = null;
1167 // 1155
1168 f989148965_487.returns.push(1373483112142);
1169 // 1156
1170 o2 = {};
1171 // 1157
1172 f989148965_56.returns.push(o2);
1173 // undefined
1174 o2 = null;
1175 // 1158
1176 o2 = {};
1177 // 1159
1178 f989148965_0.prototype = o2;
1179 // 1160
1180 f989148965_490 = function() { return f989148965_490.returns[f989148965_490.inst++]; };
1181 f989148965_490.returns = [];
1182 f989148965_490.inst = 0;
1183 // 1161
1184 o2.toISOString = f989148965_490;
1185 // 1162
1186 o3 = {};
1187 // 1163
1188 f989148965_0.returns.push(o3);
1189 // 1164
1190 o3.toISOString = f989148965_490;
1191 // undefined
1192 o3 = null;
1193 // 1165
1194 f989148965_490.returns.push("-000001-01-01T00:00:00.000Z");
1195 // 1166
1196 f989148965_492 = function() { return f989148965_492.returns[f989148965_492.inst++]; };
1197 f989148965_492.returns = [];
1198 f989148965_492.inst = 0;
1199 // 1167
1200 f989148965_0.now = f989148965_492;
1201 // 1169
1202 f989148965_493 = function() { return f989148965_493.returns[f989148965_493.inst++]; };
1203 f989148965_493.returns = [];
1204 f989148965_493.inst = 0;
1205 // 1170
1206 o2.toJSON = f989148965_493;
1207 // undefined
1208 o2 = null;
1209 // 1171
1210 f989148965_494 = function() { return f989148965_494.returns[f989148965_494.inst++]; };
1211 f989148965_494.returns = [];
1212 f989148965_494.inst = 0;
1213 // 1172
1214 f989148965_0.parse = f989148965_494;
1215 // 1174
1216 f989148965_494.returns.push(8640000000000000);
1217 // 1176
1218 o2 = {};
1219 // 1177
1220 f989148965_421.returns.push(o2);
1221 // undefined
1222 o2 = null;
1223 // 1178
1224 ow989148965.JSBNG__attachEvent = undefined;
1225 // 1179
1226 f989148965_496 = function() { return f989148965_496.returns[f989148965_496.inst++]; };
1227 f989148965_496.returns = [];
1228 f989148965_496.inst = 0;
1229 // 1180
1230 o0.getElementsByTagName = f989148965_496;
1231 // 1181
1232 o2 = {};
1233 // 1182
1234 f989148965_496.returns.push(o2);
1235 // 1184
1236 o3 = {};
1237 // 1185
1238 f989148965_421.returns.push(o3);
1239 // 1186
1240 o5 = {};
1241 // 1187
1242 o2["0"] = o5;
1243 // 1188
1244 o5.src = "http://jsbngssl.twitter.com/JSBENCH_NG_RECORD_OBJECTS.js";
1245 // 1189
1246 o8 = {};
1247 // 1190
1248 o2["1"] = o8;
1249 // 1191
1250 o8.src = "http://jsbngssl.twitter.com/JSBENCH_NG_RECORD.js";
1251 // undefined
1252 o8 = null;
1253 // 1192
1254 o8 = {};
1255 // 1193
1256 o2["2"] = o8;
1257 // 1194
1258 o8.src = "";
1259 // undefined
1260 o8 = null;
1261 // 1195
1262 o8 = {};
1263 // 1196
1264 o2["3"] = o8;
1265 // 1197
1266 o8.src = "";
1267 // undefined
1268 o8 = null;
1269 // 1198
1270 o8 = {};
1271 // 1199
1272 o2["4"] = o8;
1273 // 1200
1274 o8.src = "";
1275 // undefined
1276 o8 = null;
1277 // 1201
1278 o8 = {};
1279 // 1202
1280 o2["5"] = o8;
1281 // 1203
1282 o8.src = "";
1283 // undefined
1284 o8 = null;
1285 // 1204
1286 o8 = {};
1287 // 1205
1288 o2["6"] = o8;
1289 // 1206
1290 o8.src = "http://jsbngssl.abs.twimg.com/c/swift/en/init.fc6418142bd015a47a0c8c1f3f5b7acd225021e8.js";
1291 // undefined
1292 o8 = null;
1293 // 1207
1294 o2["7"] = void 0;
1295 // 1209
1296 o8 = {};
1297 // 1210
1298 f989148965_468.returns.push(o8);
1299 // 1211
1300 o8.parentNode = o7;
1301 // 1212
1302 o8.id = "swift-module-path";
1303 // 1213
1304 o8.type = "hidden";
1305 // 1214
1306 o8.nodeName = "INPUT";
1307 // 1215
1308 o8.value = "http://jsbngssl.abs.twimg.com/c/swift/en";
1309 // undefined
1310 o8 = null;
1311 // 1217
1312 o0.ownerDocument = null;
1313 // 1219
1314 o4.nodeName = "HTML";
1315 // 1223
1316 o8 = {};
1317 // 1224
1318 f989148965_474.returns.push(o8);
1319 // 1225
1320 o8["0"] = void 0;
1321 // undefined
1322 o8 = null;
1323 // 1230
1324 f989148965_508 = function() { return f989148965_508.returns[f989148965_508.inst++]; };
1325 f989148965_508.returns = [];
1326 f989148965_508.inst = 0;
1327 // 1231
1328 o0.getElementsByClassName = f989148965_508;
1329 // 1233
1330 o8 = {};
1331 // 1234
1332 f989148965_508.returns.push(o8);
1333 // 1235
1334 o8["0"] = void 0;
1335 // undefined
1336 o8 = null;
1337 // 1236
1338 o8 = {};
1339 // 1237
1340 f989148965_0.returns.push(o8);
1341 // 1238
1342 o8.getTime = f989148965_487;
1343 // undefined
1344 o8 = null;
1345 // 1239
1346 f989148965_487.returns.push(1373483112185);
1347 // 1240
1348 o8 = {};
1349 // 1241
1350 f989148965_0.returns.push(o8);
1351 // 1242
1352 o8.getTime = f989148965_487;
1353 // undefined
1354 o8 = null;
1355 // 1243
1356 f989148965_487.returns.push(1373483112185);
1357 // 1244
1358 o8 = {};
1359 // 1245
1360 f989148965_0.returns.push(o8);
1361 // 1246
1362 o8.getTime = f989148965_487;
1363 // undefined
1364 o8 = null;
1365 // 1247
1366 f989148965_487.returns.push(1373483112186);
1367 // 1248
1368 o8 = {};
1369 // 1249
1370 f989148965_0.returns.push(o8);
1371 // 1250
1372 o8.getTime = f989148965_487;
1373 // undefined
1374 o8 = null;
1375 // 1251
1376 f989148965_487.returns.push(1373483112186);
1377 // 1252
1378 o8 = {};
1379 // 1253
1380 f989148965_0.returns.push(o8);
1381 // 1254
1382 o8.getTime = f989148965_487;
1383 // undefined
1384 o8 = null;
1385 // 1255
1386 f989148965_487.returns.push(1373483112187);
1387 // 1256
1388 o8 = {};
1389 // 1257
1390 f989148965_0.returns.push(o8);
1391 // 1258
1392 o8.getTime = f989148965_487;
1393 // undefined
1394 o8 = null;
1395 // 1259
1396 f989148965_487.returns.push(1373483112187);
1397 // 1260
1398 o8 = {};
1399 // 1261
1400 f989148965_0.returns.push(o8);
1401 // 1262
1402 o8.getTime = f989148965_487;
1403 // undefined
1404 o8 = null;
1405 // 1263
1406 f989148965_487.returns.push(1373483112187);
1407 // 1264
1408 o8 = {};
1409 // 1265
1410 f989148965_0.returns.push(o8);
1411 // 1266
1412 o8.getTime = f989148965_487;
1413 // undefined
1414 o8 = null;
1415 // 1267
1416 f989148965_487.returns.push(1373483112187);
1417 // 1268
1418 o8 = {};
1419 // 1269
1420 f989148965_0.returns.push(o8);
1421 // 1270
1422 o8.getTime = f989148965_487;
1423 // undefined
1424 o8 = null;
1425 // 1271
1426 f989148965_487.returns.push(1373483112188);
1427 // 1272
1428 o8 = {};
1429 // 1273
1430 f989148965_0.returns.push(o8);
1431 // 1274
1432 o8.getTime = f989148965_487;
1433 // undefined
1434 o8 = null;
1435 // 1275
1436 f989148965_487.returns.push(1373483112189);
1437 // 1276
1438 o8 = {};
1439 // 1277
1440 f989148965_0.returns.push(o8);
1441 // 1278
1442 o8.getTime = f989148965_487;
1443 // undefined
1444 o8 = null;
1445 // 1279
1446 f989148965_487.returns.push(1373483112189);
1447 // 1280
1448 o8 = {};
1449 // 1281
1450 f989148965_0.returns.push(o8);
1451 // 1282
1452 o8.getTime = f989148965_487;
1453 // undefined
1454 o8 = null;
1455 // 1283
1456 f989148965_487.returns.push(1373483112190);
1457 // 1284
1458 o8 = {};
1459 // 1285
1460 f989148965_0.returns.push(o8);
1461 // 1286
1462 o8.getTime = f989148965_487;
1463 // undefined
1464 o8 = null;
1465 // 1287
1466 f989148965_487.returns.push(1373483112190);
1467 // 1288
1468 o8 = {};
1469 // 1289
1470 f989148965_0.returns.push(o8);
1471 // 1290
1472 o8.getTime = f989148965_487;
1473 // undefined
1474 o8 = null;
1475 // 1291
1476 f989148965_487.returns.push(1373483112191);
1477 // 1292
1478 o8 = {};
1479 // 1293
1480 f989148965_0.returns.push(o8);
1481 // 1294
1482 o8.getTime = f989148965_487;
1483 // undefined
1484 o8 = null;
1485 // 1295
1486 f989148965_487.returns.push(1373483112191);
1487 // 1296
1488 f989148965_525 = function() { return f989148965_525.returns[f989148965_525.inst++]; };
1489 f989148965_525.returns = [];
1490 f989148965_525.inst = 0;
1491 // 1297
1492 o1.getItem = f989148965_525;
1493 // 1298
1494 f989148965_525.returns.push(null);
1495 // 1300
1496 f989148965_525.returns.push(null);
1497 // 1301
1498 o8 = {};
1499 // 1302
1500 f989148965_0.returns.push(o8);
1501 // 1303
1502 o8.getTime = f989148965_487;
1503 // undefined
1504 o8 = null;
1505 // 1304
1506 f989148965_487.returns.push(1373483112192);
1507 // 1305
1508 o8 = {};
1509 // 1306
1510 f989148965_0.returns.push(o8);
1511 // 1307
1512 o8.getTime = f989148965_487;
1513 // undefined
1514 o8 = null;
1515 // 1308
1516 f989148965_487.returns.push(1373483112192);
1517 // 1309
1518 o8 = {};
1519 // 1310
1520 f989148965_0.returns.push(o8);
1521 // 1311
1522 o8.getTime = f989148965_487;
1523 // undefined
1524 o8 = null;
1525 // 1312
1526 f989148965_487.returns.push(1373483112193);
1527 // 1313
1528 o8 = {};
1529 // 1314
1530 f989148965_0.returns.push(o8);
1531 // 1315
1532 o8.getTime = f989148965_487;
1533 // undefined
1534 o8 = null;
1535 // 1316
1536 f989148965_487.returns.push(1373483112193);
1537 // 1317
1538 o8 = {};
1539 // 1318
1540 f989148965_0.returns.push(o8);
1541 // 1319
1542 o8.getTime = f989148965_487;
1543 // undefined
1544 o8 = null;
1545 // 1320
1546 f989148965_487.returns.push(1373483112193);
1547 // 1321
1548 o8 = {};
1549 // 1322
1550 f989148965_0.returns.push(o8);
1551 // 1323
1552 o8.getTime = f989148965_487;
1553 // undefined
1554 o8 = null;
1555 // 1324
1556 f989148965_487.returns.push(1373483112193);
1557 // 1330
1558 o8 = {};
1559 // 1331
1560 f989148965_496.returns.push(o8);
1561 // 1332
1562 o8["0"] = o4;
1563 // 1333
1564 o8["1"] = void 0;
1565 // undefined
1566 o8 = null;
1567 // 1334
1568 o4.nodeType = 1;
1569 // 1342
1570 o8 = {};
1571 // 1343
1572 f989148965_474.returns.push(o8);
1573 // 1344
1574 o9 = {};
1575 // 1345
1576 o8["0"] = o9;
1577 // 1346
1578 o8["1"] = void 0;
1579 // undefined
1580 o8 = null;
1581 // 1347
1582 o9.nodeType = 1;
1583 // 1348
1584 o9.type = "hidden";
1585 // 1349
1586 o9.nodeName = "INPUT";
1587 // 1350
1588 o9.value = "app/pages/search/search";
1589 // undefined
1590 o9 = null;
1591 // 1351
1592 o8 = {};
1593 // 1352
1594 f989148965_0.returns.push(o8);
1595 // 1353
1596 o8.getTime = f989148965_487;
1597 // undefined
1598 o8 = null;
1599 // 1354
1600 f989148965_487.returns.push(1373483112200);
1601 // 1355
1602 o8 = {};
1603 // 1356
1604 f989148965_0.returns.push(o8);
1605 // 1357
1606 o8.getTime = f989148965_487;
1607 // undefined
1608 o8 = null;
1609 // 1358
1610 f989148965_487.returns.push(1373483112215);
1611 // 1359
1612 o3.cloneNode = f989148965_439;
1613 // undefined
1614 o3 = null;
1615 // 1360
1616 o3 = {};
1617 // 1361
1618 f989148965_439.returns.push(o3);
1619 // 1362
1620 // 1363
1621 // 1364
1622 // 1365
1623 // 1366
1624 // 1367
1625 // 1368
1626 // 1370
1627 o5.parentNode = o6;
1628 // undefined
1629 o5 = null;
1630 // 1371
1631 o6.insertBefore = f989148965_463;
1632 // 1373
1633 f989148965_463.returns.push(o3);
1634 // 1374
1635 o5 = {};
1636 // 1376
1637 o5.target = o4;
1638 // 1378
1639 o4.tagName = "HTML";
1640 // 1381
1641 f989148965_419.returns.push(null);
1642 // 1382
1643 o5.metaKey = false;
1644 // 1383
1645 o5.clientX = 973;
1646 // 1384
1647 o5.shiftKey = false;
1648 // 1387
1649 o4.hostname = void 0;
1650 // undefined
1651 o4 = null;
1652 // 1389
1653 // 1390
1654 // 1391
1655 // 1392
1656 o4 = {};
1657 // 1394
1658 o4.target = o7;
1659 // 1396
1660 o7.tagName = "BODY";
1661 // 1398
1662 o7.getAttribute = f989148965_419;
1663 // 1399
1664 f989148965_419.returns.push(null);
1665 // 1400
1666 o4.metaKey = false;
1667 // 1401
1668 o4.clientX = void 0;
1669 // 1404
1670 o7.hostname = void 0;
1671 // 1406
1672 // 1407
1673 // 1408
1674 // 1409
1675 o8 = {};
1676 // 1411
1677 o8.target = o7;
1678 // 1416
1679 f989148965_419.returns.push(null);
1680 // 1417
1681 o8.metaKey = false;
1682 // 1418
1683 o8.clientX = void 0;
1684 // 1423
1685 // 1424
1686 // 1425
1687 // 1426
1688 o9 = {};
1689 // 1428
1690 o9.target = o7;
1691 // undefined
1692 o7 = null;
1693 // 1433
1694 f989148965_419.returns.push(null);
1695 // 1434
1696 o9.metaKey = false;
1697 // 1435
1698 o9.clientX = void 0;
1699 // 1440
1700 // 1441
1701 // 1442
1702 // 1444
1703 // 1445
1704 // 1446
1705 // 1447
1706 // 1449
1707 o7 = {};
1708 // 1450
1709 ow989148965.JSBNG__event = o7;
1710 // 1451
1711 o7.type = "load";
1712 // undefined
1713 o7 = null;
1714 // 1452
1715 // 1453
1716 o7 = {};
1717 // 1454
1718 f989148965_0.returns.push(o7);
1719 // 1455
1720 o7.getTime = f989148965_487;
1721 // undefined
1722 o7 = null;
1723 // 1456
1724 f989148965_487.returns.push(1373483124915);
1725 // 1457
1726 o7 = {};
1727 // 1458
1728 f989148965_0.returns.push(o7);
1729 // 1459
1730 o7.getTime = f989148965_487;
1731 // undefined
1732 o7 = null;
1733 // 1460
1734 f989148965_487.returns.push(1373483124915);
1735 // 1461
1736 o7 = {};
1737 // 1462
1738 f989148965_0.returns.push(o7);
1739 // 1463
1740 o7.getTime = f989148965_487;
1741 // undefined
1742 o7 = null;
1743 // 1464
1744 f989148965_487.returns.push(1373483124917);
1745 // 1465
1746 o7 = {};
1747 // 1466
1748 f989148965_0.returns.push(o7);
1749 // 1467
1750 o7.getTime = f989148965_487;
1751 // undefined
1752 o7 = null;
1753 // 1468
1754 f989148965_487.returns.push(1373483124917);
1755 // 1469
1756 o7 = {};
1757 // 1470
1758 f989148965_0.returns.push(o7);
1759 // 1471
1760 o7.getTime = f989148965_487;
1761 // undefined
1762 o7 = null;
1763 // 1472
1764 f989148965_487.returns.push(1373483124918);
1765 // 1473
1766 o7 = {};
1767 // 1474
1768 f989148965_0.returns.push(o7);
1769 // 1475
1770 o7.getTime = f989148965_487;
1771 // undefined
1772 o7 = null;
1773 // 1476
1774 f989148965_487.returns.push(1373483124928);
1775 // 1478
1776 o7 = {};
1777 // 1479
1778 f989148965_439.returns.push(o7);
1779 // 1480
1780 // 1481
1781 // 1482
1782 // 1483
1783 // 1484
1784 // 1485
1785 // 1486
1786 // 1488
1787 o3.parentNode = o6;
1788 // undefined
1789 o6 = null;
1790 // 1491
1791 f989148965_463.returns.push(o7);
1792 // undefined
1793 o7 = null;
1794 // 1492
1795 o6 = {};
1796 // 1493
1797 f989148965_0.returns.push(o6);
1798 // 1494
1799 o6.getTime = f989148965_487;
1800 // undefined
1801 o6 = null;
1802 // 1495
1803 f989148965_487.returns.push(1373483124930);
1804 // 1496
1805 o6 = {};
1806 // 1497
1807 f989148965_0.returns.push(o6);
1808 // 1498
1809 o6.getTime = f989148965_487;
1810 // undefined
1811 o6 = null;
1812 // 1499
1813 f989148965_487.returns.push(1373483124932);
1814 // 1500
1815 o6 = {};
1816 // 1501
1817 f989148965_0.returns.push(o6);
1818 // 1502
1819 o6.getTime = f989148965_487;
1820 // undefined
1821 o6 = null;
1822 // 1503
1823 f989148965_487.returns.push(1373483124933);
1824 // 1504
1825 o6 = {};
1826 // 1505
1827 f989148965_0.returns.push(o6);
1828 // 1506
1829 o6.getTime = f989148965_487;
1830 // undefined
1831 o6 = null;
1832 // 1507
1833 f989148965_487.returns.push(1373483124933);
1834 // 1508
1835 o6 = {};
1836 // 1509
1837 f989148965_0.returns.push(o6);
1838 // 1510
1839 o6.getTime = f989148965_487;
1840 // undefined
1841 o6 = null;
1842 // 1511
1843 f989148965_487.returns.push(1373483124934);
1844 // 1512
1845 o6 = {};
1846 // 1513
1847 f989148965_0.returns.push(o6);
1848 // 1514
1849 o6.getTime = f989148965_487;
1850 // undefined
1851 o6 = null;
1852 // 1515
1853 f989148965_487.returns.push(1373483124934);
1854 // 1516
1855 o6 = {};
1856 // 1517
1857 f989148965_0.returns.push(o6);
1858 // 1518
1859 o6.getTime = f989148965_487;
1860 // undefined
1861 o6 = null;
1862 // 1519
1863 f989148965_487.returns.push(1373483124935);
1864 // 1520
1865 o6 = {};
1866 // 1521
1867 f989148965_0.returns.push(o6);
1868 // 1522
1869 o6.getTime = f989148965_487;
1870 // undefined
1871 o6 = null;
1872 // 1523
1873 f989148965_487.returns.push(1373483124935);
1874 // 1524
1875 o6 = {};
1876 // 1525
1877 f989148965_0.returns.push(o6);
1878 // 1526
1879 o6.getTime = f989148965_487;
1880 // undefined
1881 o6 = null;
1882 // 1527
1883 f989148965_487.returns.push(1373483124935);
1884 // 1528
1885 o6 = {};
1886 // 1529
1887 f989148965_0.returns.push(o6);
1888 // 1530
1889 o6.getTime = f989148965_487;
1890 // undefined
1891 o6 = null;
1892 // 1531
1893 f989148965_487.returns.push(1373483124936);
1894 // 1532
1895 o6 = {};
1896 // 1533
1897 f989148965_0.returns.push(o6);
1898 // 1534
1899 o6.getTime = f989148965_487;
1900 // undefined
1901 o6 = null;
1902 // 1535
1903 f989148965_487.returns.push(1373483124936);
1904 // 1536
1905 o6 = {};
1906 // 1537
1907 f989148965_0.returns.push(o6);
1908 // 1538
1909 o6.getTime = f989148965_487;
1910 // undefined
1911 o6 = null;
1912 // 1539
1913 f989148965_487.returns.push(1373483124936);
1914 // 1540
1915 o6 = {};
1916 // 1541
1917 f989148965_0.returns.push(o6);
1918 // 1542
1919 o6.getTime = f989148965_487;
1920 // undefined
1921 o6 = null;
1922 // 1543
1923 f989148965_487.returns.push(1373483124936);
1924 // 1544
1925 o6 = {};
1926 // 1545
1927 f989148965_0.returns.push(o6);
1928 // 1546
1929 o6.getTime = f989148965_487;
1930 // undefined
1931 o6 = null;
1932 // 1547
1933 f989148965_487.returns.push(1373483124937);
1934 // 1548
1935 o6 = {};
1936 // 1549
1937 f989148965_0.returns.push(o6);
1938 // 1550
1939 o6.getTime = f989148965_487;
1940 // undefined
1941 o6 = null;
1942 // 1551
1943 f989148965_487.returns.push(1373483124937);
1944 // 1552
1945 o6 = {};
1946 // 1553
1947 f989148965_0.returns.push(o6);
1948 // 1554
1949 o6.getTime = f989148965_487;
1950 // undefined
1951 o6 = null;
1952 // 1555
1953 f989148965_487.returns.push(1373483124937);
1954 // 1556
1955 o6 = {};
1956 // 1557
1957 f989148965_0.returns.push(o6);
1958 // 1558
1959 o6.getTime = f989148965_487;
1960 // undefined
1961 o6 = null;
1962 // 1559
1963 f989148965_487.returns.push(1373483124941);
1964 // 1560
1965 o6 = {};
1966 // 1561
1967 f989148965_0.returns.push(o6);
1968 // 1562
1969 o6.getTime = f989148965_487;
1970 // undefined
1971 o6 = null;
1972 // 1563
1973 f989148965_487.returns.push(1373483124941);
1974 // 1564
1975 o6 = {};
1976 // 1565
1977 f989148965_0.returns.push(o6);
1978 // 1566
1979 o6.getTime = f989148965_487;
1980 // undefined
1981 o6 = null;
1982 // 1567
1983 f989148965_487.returns.push(1373483124942);
1984 // 1568
1985 o6 = {};
1986 // 1569
1987 f989148965_0.returns.push(o6);
1988 // 1570
1989 o6.getTime = f989148965_487;
1990 // undefined
1991 o6 = null;
1992 // 1571
1993 f989148965_487.returns.push(1373483124942);
1994 // 1572
1995 o6 = {};
1996 // 1573
1997 f989148965_0.returns.push(o6);
1998 // 1574
1999 o6.getTime = f989148965_487;
2000 // undefined
2001 o6 = null;
2002 // 1575
2003 f989148965_487.returns.push(1373483124943);
2004 // 1576
2005 o6 = {};
2006 // 1577
2007 f989148965_0.returns.push(o6);
2008 // 1578
2009 o6.getTime = f989148965_487;
2010 // undefined
2011 o6 = null;
2012 // 1579
2013 f989148965_487.returns.push(1373483124943);
2014 // 1580
2015 o6 = {};
2016 // 1581
2017 f989148965_0.returns.push(o6);
2018 // 1582
2019 o6.getTime = f989148965_487;
2020 // undefined
2021 o6 = null;
2022 // 1583
2023 f989148965_487.returns.push(1373483124943);
2024 // 1584
2025 o6 = {};
2026 // 1585
2027 f989148965_0.returns.push(o6);
2028 // 1586
2029 o6.getTime = f989148965_487;
2030 // undefined
2031 o6 = null;
2032 // 1587
2033 f989148965_487.returns.push(1373483124943);
2034 // 1588
2035 o6 = {};
2036 // 1589
2037 f989148965_0.returns.push(o6);
2038 // 1590
2039 o6.getTime = f989148965_487;
2040 // undefined
2041 o6 = null;
2042 // 1591
2043 f989148965_487.returns.push(1373483124943);
2044 // 1592
2045 o6 = {};
2046 // 1593
2047 f989148965_0.returns.push(o6);
2048 // 1594
2049 o6.getTime = f989148965_487;
2050 // undefined
2051 o6 = null;
2052 // 1595
2053 f989148965_487.returns.push(1373483124944);
2054 // 1596
2055 o6 = {};
2056 // 1597
2057 f989148965_0.returns.push(o6);
2058 // 1598
2059 o6.getTime = f989148965_487;
2060 // undefined
2061 o6 = null;
2062 // 1599
2063 f989148965_487.returns.push(1373483124944);
2064 // 1600
2065 o6 = {};
2066 // 1601
2067 f989148965_0.returns.push(o6);
2068 // 1602
2069 o6.getTime = f989148965_487;
2070 // undefined
2071 o6 = null;
2072 // 1603
2073 f989148965_487.returns.push(1373483124944);
2074 // 1604
2075 o6 = {};
2076 // 1605
2077 f989148965_0.returns.push(o6);
2078 // 1606
2079 o6.getTime = f989148965_487;
2080 // undefined
2081 o6 = null;
2082 // 1607
2083 f989148965_487.returns.push(1373483124944);
2084 // 1608
2085 o6 = {};
2086 // 1609
2087 f989148965_0.returns.push(o6);
2088 // 1610
2089 o6.getTime = f989148965_487;
2090 // undefined
2091 o6 = null;
2092 // 1611
2093 f989148965_487.returns.push(1373483124944);
2094 // 1612
2095 o6 = {};
2096 // 1613
2097 f989148965_0.returns.push(o6);
2098 // 1614
2099 o6.getTime = f989148965_487;
2100 // undefined
2101 o6 = null;
2102 // 1615
2103 f989148965_487.returns.push(1373483124945);
2104 // 1616
2105 o6 = {};
2106 // 1617
2107 f989148965_0.returns.push(o6);
2108 // 1618
2109 o6.getTime = f989148965_487;
2110 // undefined
2111 o6 = null;
2112 // 1619
2113 f989148965_487.returns.push(1373483124945);
2114 // 1620
2115 o6 = {};
2116 // 1621
2117 f989148965_0.returns.push(o6);
2118 // 1622
2119 o6.getTime = f989148965_487;
2120 // undefined
2121 o6 = null;
2122 // 1623
2123 f989148965_487.returns.push(1373483124945);
2124 // 1624
2125 o6 = {};
2126 // 1625
2127 f989148965_0.returns.push(o6);
2128 // 1626
2129 o6.getTime = f989148965_487;
2130 // undefined
2131 o6 = null;
2132 // 1627
2133 f989148965_487.returns.push(1373483124945);
2134 // 1628
2135 o6 = {};
2136 // 1629
2137 f989148965_0.returns.push(o6);
2138 // 1630
2139 o6.getTime = f989148965_487;
2140 // undefined
2141 o6 = null;
2142 // 1631
2143 f989148965_487.returns.push(1373483124946);
2144 // 1632
2145 o6 = {};
2146 // 1633
2147 f989148965_0.returns.push(o6);
2148 // 1634
2149 o6.getTime = f989148965_487;
2150 // undefined
2151 o6 = null;
2152 // 1635
2153 f989148965_487.returns.push(1373483124946);
2154 // 1636
2155 o6 = {};
2156 // 1637
2157 f989148965_0.returns.push(o6);
2158 // 1638
2159 o6.getTime = f989148965_487;
2160 // undefined
2161 o6 = null;
2162 // 1639
2163 f989148965_487.returns.push(1373483124946);
2164 // 1640
2165 o6 = {};
2166 // 1641
2167 f989148965_0.returns.push(o6);
2168 // 1642
2169 o6.getTime = f989148965_487;
2170 // undefined
2171 o6 = null;
2172 // 1643
2173 f989148965_487.returns.push(1373483124946);
2174 // 1644
2175 o6 = {};
2176 // 1645
2177 f989148965_0.returns.push(o6);
2178 // 1646
2179 o6.getTime = f989148965_487;
2180 // undefined
2181 o6 = null;
2182 // 1647
2183 f989148965_487.returns.push(1373483124946);
2184 // 1648
2185 o6 = {};
2186 // 1649
2187 f989148965_0.returns.push(o6);
2188 // 1650
2189 o6.getTime = f989148965_487;
2190 // undefined
2191 o6 = null;
2192 // 1651
2193 f989148965_487.returns.push(1373483124947);
2194 // 1652
2195 o6 = {};
2196 // 1653
2197 f989148965_0.returns.push(o6);
2198 // 1654
2199 o6.getTime = f989148965_487;
2200 // undefined
2201 o6 = null;
2202 // 1655
2203 f989148965_487.returns.push(1373483124947);
2204 // 1656
2205 o6 = {};
2206 // 1657
2207 f989148965_0.returns.push(o6);
2208 // 1658
2209 o6.getTime = f989148965_487;
2210 // undefined
2211 o6 = null;
2212 // 1659
2213 f989148965_487.returns.push(1373483124947);
2214 // 1660
2215 o6 = {};
2216 // 1661
2217 f989148965_0.returns.push(o6);
2218 // 1662
2219 o6.getTime = f989148965_487;
2220 // undefined
2221 o6 = null;
2222 // 1663
2223 f989148965_487.returns.push(1373483124947);
2224 // 1664
2225 o6 = {};
2226 // 1665
2227 f989148965_0.returns.push(o6);
2228 // 1666
2229 o6.getTime = f989148965_487;
2230 // undefined
2231 o6 = null;
2232 // 1667
2233 f989148965_487.returns.push(1373483124951);
2234 // 1668
2235 o6 = {};
2236 // 1669
2237 f989148965_0.returns.push(o6);
2238 // 1670
2239 o6.getTime = f989148965_487;
2240 // undefined
2241 o6 = null;
2242 // 1671
2243 f989148965_487.returns.push(1373483124951);
2244 // 1672
2245 o6 = {};
2246 // 1673
2247 f989148965_0.returns.push(o6);
2248 // 1674
2249 o6.getTime = f989148965_487;
2250 // undefined
2251 o6 = null;
2252 // 1675
2253 f989148965_487.returns.push(1373483124951);
2254 // 1676
2255 o6 = {};
2256 // 1677
2257 f989148965_0.returns.push(o6);
2258 // 1678
2259 o6.getTime = f989148965_487;
2260 // undefined
2261 o6 = null;
2262 // 1679
2263 f989148965_487.returns.push(1373483124952);
2264 // 1680
2265 o6 = {};
2266 // 1681
2267 f989148965_0.returns.push(o6);
2268 // 1682
2269 o6.getTime = f989148965_487;
2270 // undefined
2271 o6 = null;
2272 // 1683
2273 f989148965_487.returns.push(1373483124952);
2274 // 1684
2275 o6 = {};
2276 // 1685
2277 f989148965_0.returns.push(o6);
2278 // 1686
2279 o6.getTime = f989148965_487;
2280 // undefined
2281 o6 = null;
2282 // 1687
2283 f989148965_487.returns.push(1373483124952);
2284 // 1688
2285 o6 = {};
2286 // 1689
2287 f989148965_0.returns.push(o6);
2288 // 1690
2289 o6.getTime = f989148965_487;
2290 // undefined
2291 o6 = null;
2292 // 1691
2293 f989148965_487.returns.push(1373483124952);
2294 // 1692
2295 o6 = {};
2296 // 1693
2297 f989148965_0.returns.push(o6);
2298 // 1694
2299 o6.getTime = f989148965_487;
2300 // undefined
2301 o6 = null;
2302 // 1695
2303 f989148965_487.returns.push(1373483124952);
2304 // 1696
2305 o6 = {};
2306 // 1697
2307 f989148965_0.returns.push(o6);
2308 // 1698
2309 o6.getTime = f989148965_487;
2310 // undefined
2311 o6 = null;
2312 // 1699
2313 f989148965_487.returns.push(1373483124952);
2314 // 1700
2315 o6 = {};
2316 // 1701
2317 f989148965_0.returns.push(o6);
2318 // 1702
2319 o6.getTime = f989148965_487;
2320 // undefined
2321 o6 = null;
2322 // 1703
2323 f989148965_487.returns.push(1373483124952);
2324 // 1704
2325 o6 = {};
2326 // 1705
2327 f989148965_0.returns.push(o6);
2328 // 1706
2329 o6.getTime = f989148965_487;
2330 // undefined
2331 o6 = null;
2332 // 1707
2333 f989148965_487.returns.push(1373483124953);
2334 // 1708
2335 o6 = {};
2336 // 1709
2337 f989148965_0.returns.push(o6);
2338 // 1710
2339 o6.getTime = f989148965_487;
2340 // undefined
2341 o6 = null;
2342 // 1711
2343 f989148965_487.returns.push(1373483124953);
2344 // 1712
2345 o6 = {};
2346 // 1713
2347 f989148965_0.returns.push(o6);
2348 // 1714
2349 o6.getTime = f989148965_487;
2350 // undefined
2351 o6 = null;
2352 // 1715
2353 f989148965_487.returns.push(1373483124954);
2354 // 1716
2355 o6 = {};
2356 // 1717
2357 f989148965_0.returns.push(o6);
2358 // 1718
2359 o6.getTime = f989148965_487;
2360 // undefined
2361 o6 = null;
2362 // 1719
2363 f989148965_487.returns.push(1373483124954);
2364 // 1720
2365 o6 = {};
2366 // 1721
2367 f989148965_0.returns.push(o6);
2368 // 1722
2369 o6.getTime = f989148965_487;
2370 // undefined
2371 o6 = null;
2372 // 1723
2373 f989148965_487.returns.push(1373483124954);
2374 // 1724
2375 o6 = {};
2376 // 1725
2377 f989148965_0.returns.push(o6);
2378 // 1726
2379 o6.getTime = f989148965_487;
2380 // undefined
2381 o6 = null;
2382 // 1727
2383 f989148965_487.returns.push(1373483124957);
2384 // 1728
2385 o6 = {};
2386 // 1729
2387 f989148965_0.returns.push(o6);
2388 // 1730
2389 o6.getTime = f989148965_487;
2390 // undefined
2391 o6 = null;
2392 // 1731
2393 f989148965_487.returns.push(1373483124957);
2394 // 1732
2395 o6 = {};
2396 // 1733
2397 f989148965_0.returns.push(o6);
2398 // 1734
2399 o6.getTime = f989148965_487;
2400 // undefined
2401 o6 = null;
2402 // 1735
2403 f989148965_487.returns.push(1373483124957);
2404 // 1736
2405 o6 = {};
2406 // 1737
2407 f989148965_0.returns.push(o6);
2408 // 1738
2409 o6.getTime = f989148965_487;
2410 // undefined
2411 o6 = null;
2412 // 1739
2413 f989148965_487.returns.push(1373483124958);
2414 // 1740
2415 o6 = {};
2416 // 1741
2417 f989148965_0.returns.push(o6);
2418 // 1742
2419 o6.getTime = f989148965_487;
2420 // undefined
2421 o6 = null;
2422 // 1743
2423 f989148965_487.returns.push(1373483124958);
2424 // 1744
2425 o6 = {};
2426 // 1745
2427 f989148965_0.returns.push(o6);
2428 // 1746
2429 o6.getTime = f989148965_487;
2430 // undefined
2431 o6 = null;
2432 // 1747
2433 f989148965_487.returns.push(1373483124958);
2434 // 1748
2435 o6 = {};
2436 // 1749
2437 f989148965_0.returns.push(o6);
2438 // 1750
2439 o6.getTime = f989148965_487;
2440 // undefined
2441 o6 = null;
2442 // 1751
2443 f989148965_487.returns.push(1373483124959);
2444 // 1752
2445 o6 = {};
2446 // 1753
2447 f989148965_0.returns.push(o6);
2448 // 1754
2449 o6.getTime = f989148965_487;
2450 // undefined
2451 o6 = null;
2452 // 1755
2453 f989148965_487.returns.push(1373483124959);
2454 // 1756
2455 o6 = {};
2456 // 1757
2457 f989148965_0.returns.push(o6);
2458 // 1758
2459 o6.getTime = f989148965_487;
2460 // undefined
2461 o6 = null;
2462 // 1759
2463 f989148965_487.returns.push(1373483124959);
2464 // 1760
2465 o6 = {};
2466 // 1761
2467 f989148965_0.returns.push(o6);
2468 // 1762
2469 o6.getTime = f989148965_487;
2470 // undefined
2471 o6 = null;
2472 // 1763
2473 f989148965_487.returns.push(1373483124959);
2474 // 1764
2475 o6 = {};
2476 // 1765
2477 f989148965_0.returns.push(o6);
2478 // 1766
2479 o6.getTime = f989148965_487;
2480 // undefined
2481 o6 = null;
2482 // 1767
2483 f989148965_487.returns.push(1373483124959);
2484 // 1768
2485 o6 = {};
2486 // 1769
2487 f989148965_0.returns.push(o6);
2488 // 1770
2489 o6.getTime = f989148965_487;
2490 // undefined
2491 o6 = null;
2492 // 1771
2493 f989148965_487.returns.push(1373483124960);
2494 // 1772
2495 o6 = {};
2496 // 1773
2497 f989148965_0.returns.push(o6);
2498 // 1774
2499 o6.getTime = f989148965_487;
2500 // undefined
2501 o6 = null;
2502 // 1775
2503 f989148965_487.returns.push(1373483124966);
2504 // 1776
2505 o6 = {};
2506 // 1777
2507 f989148965_0.returns.push(o6);
2508 // 1778
2509 o6.getTime = f989148965_487;
2510 // undefined
2511 o6 = null;
2512 // 1779
2513 f989148965_487.returns.push(1373483124967);
2514 // 1780
2515 o6 = {};
2516 // 1781
2517 f989148965_0.returns.push(o6);
2518 // 1782
2519 o6.getTime = f989148965_487;
2520 // undefined
2521 o6 = null;
2522 // 1783
2523 f989148965_487.returns.push(1373483124967);
2524 // 1784
2525 o6 = {};
2526 // 1785
2527 f989148965_0.returns.push(o6);
2528 // 1786
2529 o6.getTime = f989148965_487;
2530 // undefined
2531 o6 = null;
2532 // 1787
2533 f989148965_487.returns.push(1373483124968);
2534 // 1788
2535 o6 = {};
2536 // 1789
2537 f989148965_0.returns.push(o6);
2538 // 1790
2539 o6.getTime = f989148965_487;
2540 // undefined
2541 o6 = null;
2542 // 1791
2543 f989148965_487.returns.push(1373483124968);
2544 // 1792
2545 o6 = {};
2546 // 1793
2547 f989148965_0.returns.push(o6);
2548 // 1794
2549 o6.getTime = f989148965_487;
2550 // undefined
2551 o6 = null;
2552 // 1795
2553 f989148965_487.returns.push(1373483124968);
2554 // 1796
2555 o6 = {};
2556 // 1797
2557 f989148965_0.returns.push(o6);
2558 // 1798
2559 o6.getTime = f989148965_487;
2560 // undefined
2561 o6 = null;
2562 // 1799
2563 f989148965_487.returns.push(1373483124969);
2564 // 1800
2565 o6 = {};
2566 // 1801
2567 f989148965_0.returns.push(o6);
2568 // 1802
2569 o6.getTime = f989148965_487;
2570 // undefined
2571 o6 = null;
2572 // 1803
2573 f989148965_487.returns.push(1373483124969);
2574 // 1804
2575 o6 = {};
2576 // 1805
2577 f989148965_0.returns.push(o6);
2578 // 1806
2579 o6.getTime = f989148965_487;
2580 // undefined
2581 o6 = null;
2582 // 1807
2583 f989148965_487.returns.push(1373483124969);
2584 // 1808
2585 o6 = {};
2586 // 1809
2587 f989148965_0.returns.push(o6);
2588 // 1810
2589 o6.getTime = f989148965_487;
2590 // undefined
2591 o6 = null;
2592 // 1811
2593 f989148965_487.returns.push(1373483124969);
2594 // 1812
2595 o6 = {};
2596 // 1813
2597 f989148965_0.returns.push(o6);
2598 // 1814
2599 o6.getTime = f989148965_487;
2600 // undefined
2601 o6 = null;
2602 // 1815
2603 f989148965_487.returns.push(1373483124970);
2604 // 1816
2605 o6 = {};
2606 // 1817
2607 f989148965_0.returns.push(o6);
2608 // 1818
2609 o6.getTime = f989148965_487;
2610 // undefined
2611 o6 = null;
2612 // 1819
2613 f989148965_487.returns.push(1373483124970);
2614 // 1820
2615 o6 = {};
2616 // 1821
2617 f989148965_0.returns.push(o6);
2618 // 1822
2619 o6.getTime = f989148965_487;
2620 // undefined
2621 o6 = null;
2622 // 1823
2623 f989148965_487.returns.push(1373483124971);
2624 // 1824
2625 o6 = {};
2626 // 1825
2627 f989148965_0.returns.push(o6);
2628 // 1826
2629 o6.getTime = f989148965_487;
2630 // undefined
2631 o6 = null;
2632 // 1827
2633 f989148965_487.returns.push(1373483124971);
2634 // 1828
2635 o6 = {};
2636 // 1829
2637 f989148965_0.returns.push(o6);
2638 // 1830
2639 o6.getTime = f989148965_487;
2640 // undefined
2641 o6 = null;
2642 // 1831
2643 f989148965_487.returns.push(1373483124971);
2644 // 1832
2645 o6 = {};
2646 // 1833
2647 f989148965_0.returns.push(o6);
2648 // 1834
2649 o6.getTime = f989148965_487;
2650 // undefined
2651 o6 = null;
2652 // 1835
2653 f989148965_487.returns.push(1373483124972);
2654 // 1836
2655 o6 = {};
2656 // 1837
2657 f989148965_0.returns.push(o6);
2658 // 1838
2659 o6.getTime = f989148965_487;
2660 // undefined
2661 o6 = null;
2662 // 1839
2663 f989148965_487.returns.push(1373483124973);
2664 // 1840
2665 o6 = {};
2666 // 1841
2667 f989148965_0.returns.push(o6);
2668 // 1842
2669 o6.getTime = f989148965_487;
2670 // undefined
2671 o6 = null;
2672 // 1843
2673 f989148965_487.returns.push(1373483124973);
2674 // 1844
2675 o6 = {};
2676 // 1845
2677 f989148965_0.returns.push(o6);
2678 // 1846
2679 o6.getTime = f989148965_487;
2680 // undefined
2681 o6 = null;
2682 // 1847
2683 f989148965_487.returns.push(1373483124973);
2684 // 1848
2685 o6 = {};
2686 // 1849
2687 f989148965_0.returns.push(o6);
2688 // 1850
2689 o6.getTime = f989148965_487;
2690 // undefined
2691 o6 = null;
2692 // 1851
2693 f989148965_487.returns.push(1373483124974);
2694 // 1852
2695 o6 = {};
2696 // 1853
2697 f989148965_0.returns.push(o6);
2698 // 1854
2699 o6.getTime = f989148965_487;
2700 // undefined
2701 o6 = null;
2702 // 1855
2703 f989148965_487.returns.push(1373483124974);
2704 // 1856
2705 o6 = {};
2706 // 1857
2707 f989148965_0.returns.push(o6);
2708 // 1858
2709 o6.getTime = f989148965_487;
2710 // undefined
2711 o6 = null;
2712 // 1859
2713 f989148965_487.returns.push(1373483124974);
2714 // 1860
2715 o6 = {};
2716 // 1861
2717 f989148965_0.returns.push(o6);
2718 // 1862
2719 o6.getTime = f989148965_487;
2720 // undefined
2721 o6 = null;
2722 // 1863
2723 f989148965_487.returns.push(1373483124975);
2724 // 1864
2725 o6 = {};
2726 // 1865
2727 f989148965_0.returns.push(o6);
2728 // 1866
2729 o6.getTime = f989148965_487;
2730 // undefined
2731 o6 = null;
2732 // 1867
2733 f989148965_487.returns.push(1373483124975);
2734 // 1868
2735 o6 = {};
2736 // 1869
2737 f989148965_0.returns.push(o6);
2738 // 1870
2739 o6.getTime = f989148965_487;
2740 // undefined
2741 o6 = null;
2742 // 1871
2743 f989148965_487.returns.push(1373483124975);
2744 // 1872
2745 o6 = {};
2746 // 1873
2747 f989148965_0.returns.push(o6);
2748 // 1874
2749 o6.getTime = f989148965_487;
2750 // undefined
2751 o6 = null;
2752 // 1875
2753 f989148965_487.returns.push(1373483124976);
2754 // 1876
2755 o6 = {};
2756 // 1877
2757 f989148965_0.returns.push(o6);
2758 // 1878
2759 o6.getTime = f989148965_487;
2760 // undefined
2761 o6 = null;
2762 // 1879
2763 f989148965_487.returns.push(1373483124977);
2764 // 1880
2765 o6 = {};
2766 // 1881
2767 f989148965_0.returns.push(o6);
2768 // 1882
2769 o6.getTime = f989148965_487;
2770 // undefined
2771 o6 = null;
2772 // 1883
2773 f989148965_487.returns.push(1373483124981);
2774 // 1884
2775 o6 = {};
2776 // 1885
2777 f989148965_0.returns.push(o6);
2778 // 1886
2779 o6.getTime = f989148965_487;
2780 // undefined
2781 o6 = null;
2782 // 1887
2783 f989148965_487.returns.push(1373483124981);
2784 // 1888
2785 o6 = {};
2786 // 1889
2787 f989148965_0.returns.push(o6);
2788 // 1890
2789 o6.getTime = f989148965_487;
2790 // undefined
2791 o6 = null;
2792 // 1891
2793 f989148965_487.returns.push(1373483124981);
2794 // 1892
2795 o6 = {};
2796 // 1893
2797 f989148965_0.returns.push(o6);
2798 // 1894
2799 o6.getTime = f989148965_487;
2800 // undefined
2801 o6 = null;
2802 // 1895
2803 f989148965_487.returns.push(1373483124981);
2804 // 1896
2805 o6 = {};
2806 // 1897
2807 f989148965_0.returns.push(o6);
2808 // 1898
2809 o6.getTime = f989148965_487;
2810 // undefined
2811 o6 = null;
2812 // 1899
2813 f989148965_487.returns.push(1373483124982);
2814 // 1900
2815 o6 = {};
2816 // 1901
2817 f989148965_0.returns.push(o6);
2818 // 1902
2819 o6.getTime = f989148965_487;
2820 // undefined
2821 o6 = null;
2822 // 1903
2823 f989148965_487.returns.push(1373483124982);
2824 // 1904
2825 o6 = {};
2826 // 1905
2827 f989148965_0.returns.push(o6);
2828 // 1906
2829 o6.getTime = f989148965_487;
2830 // undefined
2831 o6 = null;
2832 // 1907
2833 f989148965_487.returns.push(1373483124983);
2834 // 1908
2835 o6 = {};
2836 // 1909
2837 f989148965_0.returns.push(o6);
2838 // 1910
2839 o6.getTime = f989148965_487;
2840 // undefined
2841 o6 = null;
2842 // 1911
2843 f989148965_487.returns.push(1373483124993);
2844 // 1912
2845 o6 = {};
2846 // 1913
2847 f989148965_0.returns.push(o6);
2848 // 1914
2849 o6.getTime = f989148965_487;
2850 // undefined
2851 o6 = null;
2852 // 1915
2853 f989148965_487.returns.push(1373483124993);
2854 // 1916
2855 o6 = {};
2856 // 1917
2857 f989148965_0.returns.push(o6);
2858 // 1918
2859 o6.getTime = f989148965_487;
2860 // undefined
2861 o6 = null;
2862 // 1919
2863 f989148965_487.returns.push(1373483124993);
2864 // 1920
2865 o6 = {};
2866 // 1921
2867 f989148965_0.returns.push(o6);
2868 // 1922
2869 o6.getTime = f989148965_487;
2870 // undefined
2871 o6 = null;
2872 // 1923
2873 f989148965_487.returns.push(1373483124993);
2874 // 1924
2875 o6 = {};
2876 // 1925
2877 f989148965_0.returns.push(o6);
2878 // 1926
2879 o6.getTime = f989148965_487;
2880 // undefined
2881 o6 = null;
2882 // 1927
2883 f989148965_487.returns.push(1373483124994);
2884 // 1928
2885 o6 = {};
2886 // 1929
2887 f989148965_0.returns.push(o6);
2888 // 1930
2889 o6.getTime = f989148965_487;
2890 // undefined
2891 o6 = null;
2892 // 1931
2893 f989148965_487.returns.push(1373483124994);
2894 // 1932
2895 o6 = {};
2896 // 1933
2897 f989148965_0.returns.push(o6);
2898 // 1934
2899 o6.getTime = f989148965_487;
2900 // undefined
2901 o6 = null;
2902 // 1935
2903 f989148965_487.returns.push(1373483124995);
2904 // 1936
2905 o6 = {};
2906 // 1937
2907 f989148965_0.returns.push(o6);
2908 // 1938
2909 o6.getTime = f989148965_487;
2910 // undefined
2911 o6 = null;
2912 // 1939
2913 f989148965_487.returns.push(1373483124995);
2914 // 1940
2915 o6 = {};
2916 // 1941
2917 f989148965_0.returns.push(o6);
2918 // 1942
2919 o6.getTime = f989148965_487;
2920 // undefined
2921 o6 = null;
2922 // 1943
2923 f989148965_487.returns.push(1373483124995);
2924 // 1944
2925 o6 = {};
2926 // 1945
2927 f989148965_0.returns.push(o6);
2928 // 1946
2929 o6.getTime = f989148965_487;
2930 // undefined
2931 o6 = null;
2932 // 1947
2933 f989148965_487.returns.push(1373483124995);
2934 // 1948
2935 o6 = {};
2936 // 1949
2937 f989148965_0.returns.push(o6);
2938 // 1950
2939 o6.getTime = f989148965_487;
2940 // undefined
2941 o6 = null;
2942 // 1951
2943 f989148965_487.returns.push(1373483124996);
2944 // 1952
2945 o6 = {};
2946 // 1953
2947 f989148965_0.returns.push(o6);
2948 // 1954
2949 o6.getTime = f989148965_487;
2950 // undefined
2951 o6 = null;
2952 // 1955
2953 f989148965_487.returns.push(1373483124996);
2954 // 1956
2955 o6 = {};
2956 // 1957
2957 f989148965_0.returns.push(o6);
2958 // 1958
2959 o6.getTime = f989148965_487;
2960 // undefined
2961 o6 = null;
2962 // 1959
2963 f989148965_487.returns.push(1373483124997);
2964 // 1960
2965 o6 = {};
2966 // 1961
2967 f989148965_0.returns.push(o6);
2968 // 1962
2969 o6.getTime = f989148965_487;
2970 // undefined
2971 o6 = null;
2972 // 1963
2973 f989148965_487.returns.push(1373483124997);
2974 // 1964
2975 o6 = {};
2976 // 1965
2977 f989148965_0.returns.push(o6);
2978 // 1966
2979 o6.getTime = f989148965_487;
2980 // undefined
2981 o6 = null;
2982 // 1967
2983 f989148965_487.returns.push(1373483124997);
2984 // 1968
2985 o6 = {};
2986 // 1969
2987 f989148965_0.returns.push(o6);
2988 // 1970
2989 o6.getTime = f989148965_487;
2990 // undefined
2991 o6 = null;
2992 // 1971
2993 f989148965_487.returns.push(1373483124997);
2994 // 1972
2995 o6 = {};
2996 // 1973
2997 f989148965_0.returns.push(o6);
2998 // 1974
2999 o6.getTime = f989148965_487;
3000 // undefined
3001 o6 = null;
3002 // 1975
3003 f989148965_487.returns.push(1373483124998);
3004 // 1976
3005 o6 = {};
3006 // 1977
3007 f989148965_0.returns.push(o6);
3008 // 1978
3009 o6.getTime = f989148965_487;
3010 // undefined
3011 o6 = null;
3012 // 1979
3013 f989148965_487.returns.push(1373483124998);
3014 // 1980
3015 o6 = {};
3016 // 1981
3017 f989148965_0.returns.push(o6);
3018 // 1982
3019 o6.getTime = f989148965_487;
3020 // undefined
3021 o6 = null;
3022 // 1983
3023 f989148965_487.returns.push(1373483124998);
3024 // 1984
3025 o6 = {};
3026 // 1985
3027 f989148965_0.returns.push(o6);
3028 // 1986
3029 o6.getTime = f989148965_487;
3030 // undefined
3031 o6 = null;
3032 // 1987
3033 f989148965_487.returns.push(1373483124999);
3034 // 1988
3035 o6 = {};
3036 // 1989
3037 f989148965_0.returns.push(o6);
3038 // 1990
3039 o6.getTime = f989148965_487;
3040 // undefined
3041 o6 = null;
3042 // 1991
3043 f989148965_487.returns.push(1373483125005);
3044 // 1992
3045 o6 = {};
3046 // 1993
3047 f989148965_0.returns.push(o6);
3048 // 1994
3049 o6.getTime = f989148965_487;
3050 // undefined
3051 o6 = null;
3052 // 1995
3053 f989148965_487.returns.push(1373483125006);
3054 // 1996
3055 o6 = {};
3056 // 1997
3057 f989148965_0.returns.push(o6);
3058 // 1998
3059 o6.getTime = f989148965_487;
3060 // undefined
3061 o6 = null;
3062 // 1999
3063 f989148965_487.returns.push(1373483125007);
3064 // 2000
3065 o6 = {};
3066 // 2001
3067 f989148965_0.returns.push(o6);
3068 // 2002
3069 o6.getTime = f989148965_487;
3070 // undefined
3071 o6 = null;
3072 // 2003
3073 f989148965_487.returns.push(1373483125007);
3074 // 2004
3075 o6 = {};
3076 // 2005
3077 f989148965_0.returns.push(o6);
3078 // 2006
3079 o6.getTime = f989148965_487;
3080 // undefined
3081 o6 = null;
3082 // 2007
3083 f989148965_487.returns.push(1373483125007);
3084 // 2008
3085 o6 = {};
3086 // 2009
3087 f989148965_0.returns.push(o6);
3088 // 2010
3089 o6.getTime = f989148965_487;
3090 // undefined
3091 o6 = null;
3092 // 2011
3093 f989148965_487.returns.push(1373483125008);
3094 // 2012
3095 o6 = {};
3096 // 2013
3097 f989148965_0.returns.push(o6);
3098 // 2014
3099 o6.getTime = f989148965_487;
3100 // undefined
3101 o6 = null;
3102 // 2015
3103 f989148965_487.returns.push(1373483125008);
3104 // 2016
3105 o6 = {};
3106 // 2017
3107 f989148965_0.returns.push(o6);
3108 // 2018
3109 o6.getTime = f989148965_487;
3110 // undefined
3111 o6 = null;
3112 // 2019
3113 f989148965_487.returns.push(1373483125008);
3114 // 2020
3115 o6 = {};
3116 // 2021
3117 f989148965_0.returns.push(o6);
3118 // 2022
3119 o6.getTime = f989148965_487;
3120 // undefined
3121 o6 = null;
3122 // 2023
3123 f989148965_487.returns.push(1373483125008);
3124 // 2024
3125 o6 = {};
3126 // 2025
3127 f989148965_0.returns.push(o6);
3128 // 2026
3129 o6.getTime = f989148965_487;
3130 // undefined
3131 o6 = null;
3132 // 2027
3133 f989148965_487.returns.push(1373483125008);
3134 // 2028
3135 o6 = {};
3136 // 2029
3137 f989148965_0.returns.push(o6);
3138 // 2030
3139 o6.getTime = f989148965_487;
3140 // undefined
3141 o6 = null;
3142 // 2031
3143 f989148965_487.returns.push(1373483125009);
3144 // 2032
3145 o6 = {};
3146 // 2033
3147 f989148965_0.returns.push(o6);
3148 // 2034
3149 o6.getTime = f989148965_487;
3150 // undefined
3151 o6 = null;
3152 // 2035
3153 f989148965_487.returns.push(1373483125009);
3154 // 2036
3155 o6 = {};
3156 // 2037
3157 f989148965_0.returns.push(o6);
3158 // 2038
3159 o6.getTime = f989148965_487;
3160 // undefined
3161 o6 = null;
3162 // 2039
3163 f989148965_487.returns.push(1373483125009);
3164 // 2040
3165 o6 = {};
3166 // 2041
3167 f989148965_0.returns.push(o6);
3168 // 2042
3169 o6.getTime = f989148965_487;
3170 // undefined
3171 o6 = null;
3172 // 2043
3173 f989148965_487.returns.push(1373483125010);
3174 // 2044
3175 o6 = {};
3176 // 2045
3177 f989148965_0.returns.push(o6);
3178 // 2046
3179 o6.getTime = f989148965_487;
3180 // undefined
3181 o6 = null;
3182 // 2047
3183 f989148965_487.returns.push(1373483125010);
3184 // 2048
3185 o6 = {};
3186 // 2049
3187 f989148965_0.returns.push(o6);
3188 // 2050
3189 o6.getTime = f989148965_487;
3190 // undefined
3191 o6 = null;
3192 // 2051
3193 f989148965_487.returns.push(1373483125010);
3194 // 2052
3195 o6 = {};
3196 // 2053
3197 f989148965_0.returns.push(o6);
3198 // 2054
3199 o6.getTime = f989148965_487;
3200 // undefined
3201 o6 = null;
3202 // 2055
3203 f989148965_487.returns.push(1373483125010);
3204 // 2056
3205 o6 = {};
3206 // 2057
3207 f989148965_0.returns.push(o6);
3208 // 2058
3209 o6.getTime = f989148965_487;
3210 // undefined
3211 o6 = null;
3212 // 2059
3213 f989148965_487.returns.push(1373483125010);
3214 // 2060
3215 o6 = {};
3216 // 2061
3217 f989148965_0.returns.push(o6);
3218 // 2062
3219 o6.getTime = f989148965_487;
3220 // undefined
3221 o6 = null;
3222 // 2063
3223 f989148965_487.returns.push(1373483125010);
3224 // 2064
3225 o6 = {};
3226 // 2065
3227 f989148965_0.returns.push(o6);
3228 // 2066
3229 o6.getTime = f989148965_487;
3230 // undefined
3231 o6 = null;
3232 // 2067
3233 f989148965_487.returns.push(1373483125011);
3234 // 2068
3235 o6 = {};
3236 // 2069
3237 f989148965_0.returns.push(o6);
3238 // 2070
3239 o6.getTime = f989148965_487;
3240 // undefined
3241 o6 = null;
3242 // 2071
3243 f989148965_487.returns.push(1373483125011);
3244 // 2072
3245 o6 = {};
3246 // 2073
3247 f989148965_0.returns.push(o6);
3248 // 2074
3249 o6.getTime = f989148965_487;
3250 // undefined
3251 o6 = null;
3252 // 2075
3253 f989148965_487.returns.push(1373483125011);
3254 // 2076
3255 f989148965_696 = function() { return f989148965_696.returns[f989148965_696.inst++]; };
3256 f989148965_696.returns = [];
3257 f989148965_696.inst = 0;
3258 // 2077
3259 o1.setItem = f989148965_696;
3260 // 2078
3261 f989148965_696.returns.push(undefined);
3262 // 2079
3263 f989148965_697 = function() { return f989148965_697.returns[f989148965_697.inst++]; };
3264 f989148965_697.returns = [];
3265 f989148965_697.inst = 0;
3266 // 2080
3267 o1.removeItem = f989148965_697;
3268 // undefined
3269 o1 = null;
3270 // 2081
3271 f989148965_697.returns.push(undefined);
3272 // 2082
3273 o1 = {};
3274 // 2083
3275 f989148965_0.returns.push(o1);
3276 // 2084
3277 o1.getTime = f989148965_487;
3278 // undefined
3279 o1 = null;
3280 // 2085
3281 f989148965_487.returns.push(1373483125012);
3282 // 2086
3283 o1 = {};
3284 // 2087
3285 f989148965_0.returns.push(o1);
3286 // 2088
3287 o1.getTime = f989148965_487;
3288 // undefined
3289 o1 = null;
3290 // 2089
3291 f989148965_487.returns.push(1373483125013);
3292 // 2090
3293 o1 = {};
3294 // 2091
3295 f989148965_0.returns.push(o1);
3296 // 2092
3297 o1.getTime = f989148965_487;
3298 // undefined
3299 o1 = null;
3300 // 2093
3301 f989148965_487.returns.push(1373483125013);
3302 // 2094
3303 o1 = {};
3304 // 2095
3305 f989148965_0.returns.push(o1);
3306 // 2096
3307 o1.getTime = f989148965_487;
3308 // undefined
3309 o1 = null;
3310 // 2097
3311 f989148965_487.returns.push(1373483125018);
3312 // 2098
3313 o1 = {};
3314 // 2099
3315 f989148965_0.returns.push(o1);
3316 // 2100
3317 o1.getTime = f989148965_487;
3318 // undefined
3319 o1 = null;
3320 // 2101
3321 f989148965_487.returns.push(1373483125018);
3322 // 2102
3323 o1 = {};
3324 // 2103
3325 f989148965_0.returns.push(o1);
3326 // 2104
3327 o1.getTime = f989148965_487;
3328 // undefined
3329 o1 = null;
3330 // 2105
3331 f989148965_487.returns.push(1373483125019);
3332 // 2106
3333 o1 = {};
3334 // 2107
3335 f989148965_0.returns.push(o1);
3336 // 2108
3337 o1.getTime = f989148965_487;
3338 // undefined
3339 o1 = null;
3340 // 2109
3341 f989148965_487.returns.push(1373483125019);
3342 // 2110
3343 o1 = {};
3344 // 2111
3345 f989148965_0.returns.push(o1);
3346 // 2112
3347 o1.getTime = f989148965_487;
3348 // undefined
3349 o1 = null;
3350 // 2113
3351 f989148965_487.returns.push(1373483125020);
3352 // 2114
3353 o1 = {};
3354 // 2115
3355 f989148965_0.returns.push(o1);
3356 // 2116
3357 o1.getTime = f989148965_487;
3358 // undefined
3359 o1 = null;
3360 // 2117
3361 f989148965_487.returns.push(1373483125020);
3362 // 2118
3363 o1 = {};
3364 // 2119
3365 f989148965_0.returns.push(o1);
3366 // 2120
3367 o1.getTime = f989148965_487;
3368 // undefined
3369 o1 = null;
3370 // 2121
3371 f989148965_487.returns.push(1373483125021);
3372 // 2122
3373 o1 = {};
3374 // 2123
3375 f989148965_0.returns.push(o1);
3376 // 2124
3377 o1.getTime = f989148965_487;
3378 // undefined
3379 o1 = null;
3380 // 2125
3381 f989148965_487.returns.push(1373483125021);
3382 // 2126
3383 o1 = {};
3384 // 2127
3385 f989148965_0.returns.push(o1);
3386 // 2128
3387 o1.getTime = f989148965_487;
3388 // undefined
3389 o1 = null;
3390 // 2129
3391 f989148965_487.returns.push(1373483125021);
3392 // 2130
3393 o1 = {};
3394 // 2131
3395 f989148965_0.returns.push(o1);
3396 // 2132
3397 o1.getTime = f989148965_487;
3398 // undefined
3399 o1 = null;
3400 // 2133
3401 f989148965_487.returns.push(1373483125021);
3402 // 2134
3403 o1 = {};
3404 // 2135
3405 f989148965_0.returns.push(o1);
3406 // 2136
3407 o1.getTime = f989148965_487;
3408 // undefined
3409 o1 = null;
3410 // 2137
3411 f989148965_487.returns.push(1373483125022);
3412 // 2138
3413 o1 = {};
3414 // 2139
3415 f989148965_0.returns.push(o1);
3416 // 2140
3417 o1.getTime = f989148965_487;
3418 // undefined
3419 o1 = null;
3420 // 2141
3421 f989148965_487.returns.push(1373483125022);
3422 // 2142
3423 o1 = {};
3424 // 2143
3425 f989148965_0.returns.push(o1);
3426 // 2144
3427 o1.getTime = f989148965_487;
3428 // undefined
3429 o1 = null;
3430 // 2145
3431 f989148965_487.returns.push(1373483125022);
3432 // 2146
3433 o1 = {};
3434 // 2147
3435 f989148965_0.returns.push(o1);
3436 // 2148
3437 o1.getTime = f989148965_487;
3438 // undefined
3439 o1 = null;
3440 // 2149
3441 f989148965_487.returns.push(1373483125023);
3442 // 2150
3443 o1 = {};
3444 // 2151
3445 f989148965_0.returns.push(o1);
3446 // 2152
3447 o1.getTime = f989148965_487;
3448 // undefined
3449 o1 = null;
3450 // 2153
3451 f989148965_487.returns.push(1373483125023);
3452 // 2154
3453 o1 = {};
3454 // 2155
3455 f989148965_0.returns.push(o1);
3456 // 2156
3457 o1.getTime = f989148965_487;
3458 // undefined
3459 o1 = null;
3460 // 2157
3461 f989148965_487.returns.push(1373483125023);
3462 // 2158
3463 o1 = {};
3464 // 2159
3465 f989148965_0.returns.push(o1);
3466 // 2160
3467 o1.getTime = f989148965_487;
3468 // undefined
3469 o1 = null;
3470 // 2161
3471 f989148965_487.returns.push(1373483125023);
3472 // 2162
3473 o1 = {};
3474 // 2163
3475 f989148965_0.returns.push(o1);
3476 // 2164
3477 o1.getTime = f989148965_487;
3478 // undefined
3479 o1 = null;
3480 // 2165
3481 f989148965_487.returns.push(1373483125024);
3482 // 2166
3483 o1 = {};
3484 // 2167
3485 f989148965_0.returns.push(o1);
3486 // 2168
3487 o1.getTime = f989148965_487;
3488 // undefined
3489 o1 = null;
3490 // 2169
3491 f989148965_487.returns.push(1373483125024);
3492 // 2170
3493 o1 = {};
3494 // 2171
3495 f989148965_0.returns.push(o1);
3496 // 2172
3497 o1.getTime = f989148965_487;
3498 // undefined
3499 o1 = null;
3500 // 2173
3501 f989148965_487.returns.push(1373483125024);
3502 // 2174
3503 o1 = {};
3504 // 2175
3505 f989148965_0.returns.push(o1);
3506 // 2176
3507 o1.getTime = f989148965_487;
3508 // undefined
3509 o1 = null;
3510 // 2177
3511 f989148965_487.returns.push(1373483125025);
3512 // 2178
3513 o1 = {};
3514 // 2179
3515 f989148965_0.returns.push(o1);
3516 // 2180
3517 o1.getTime = f989148965_487;
3518 // undefined
3519 o1 = null;
3520 // 2181
3521 f989148965_487.returns.push(1373483125025);
3522 // 2182
3523 o1 = {};
3524 // 2183
3525 f989148965_0.returns.push(o1);
3526 // 2184
3527 o1.getTime = f989148965_487;
3528 // undefined
3529 o1 = null;
3530 // 2185
3531 f989148965_487.returns.push(1373483125026);
3532 // 2186
3533 o1 = {};
3534 // 2187
3535 f989148965_0.returns.push(o1);
3536 // 2188
3537 o1.getTime = f989148965_487;
3538 // undefined
3539 o1 = null;
3540 // 2189
3541 f989148965_487.returns.push(1373483125026);
3542 // 2190
3543 o1 = {};
3544 // 2191
3545 f989148965_0.returns.push(o1);
3546 // 2192
3547 o1.getTime = f989148965_487;
3548 // undefined
3549 o1 = null;
3550 // 2193
3551 f989148965_487.returns.push(1373483125026);
3552 // 2194
3553 o1 = {};
3554 // 2195
3555 f989148965_0.returns.push(o1);
3556 // 2196
3557 o1.getTime = f989148965_487;
3558 // undefined
3559 o1 = null;
3560 // 2197
3561 f989148965_487.returns.push(1373483125026);
3562 // 2198
3563 o1 = {};
3564 // 2199
3565 f989148965_0.returns.push(o1);
3566 // 2200
3567 o1.getTime = f989148965_487;
3568 // undefined
3569 o1 = null;
3570 // 2201
3571 f989148965_487.returns.push(1373483125027);
3572 // 2202
3573 o1 = {};
3574 // 2203
3575 f989148965_0.returns.push(o1);
3576 // 2204
3577 o1.getTime = f989148965_487;
3578 // undefined
3579 o1 = null;
3580 // 2205
3581 f989148965_487.returns.push(1373483125034);
3582 // 2206
3583 o1 = {};
3584 // 2207
3585 f989148965_0.returns.push(o1);
3586 // 2208
3587 o1.getTime = f989148965_487;
3588 // undefined
3589 o1 = null;
3590 // 2209
3591 f989148965_487.returns.push(1373483125034);
3592 // 2210
3593 o1 = {};
3594 // 2211
3595 f989148965_0.returns.push(o1);
3596 // 2212
3597 o1.getTime = f989148965_487;
3598 // undefined
3599 o1 = null;
3600 // 2213
3601 f989148965_487.returns.push(1373483125035);
3602 // 2214
3603 o1 = {};
3604 // 2215
3605 f989148965_0.returns.push(o1);
3606 // 2216
3607 o1.getTime = f989148965_487;
3608 // undefined
3609 o1 = null;
3610 // 2217
3611 f989148965_487.returns.push(1373483125035);
3612 // 2218
3613 o1 = {};
3614 // 2219
3615 f989148965_0.returns.push(o1);
3616 // 2220
3617 o1.getTime = f989148965_487;
3618 // undefined
3619 o1 = null;
3620 // 2221
3621 f989148965_487.returns.push(1373483125035);
3622 // 2222
3623 o1 = {};
3624 // 2223
3625 f989148965_0.returns.push(o1);
3626 // 2224
3627 o1.getTime = f989148965_487;
3628 // undefined
3629 o1 = null;
3630 // 2225
3631 f989148965_487.returns.push(1373483125036);
3632 // 2226
3633 o1 = {};
3634 // 2227
3635 f989148965_0.returns.push(o1);
3636 // 2228
3637 o1.getTime = f989148965_487;
3638 // undefined
3639 o1 = null;
3640 // 2229
3641 f989148965_487.returns.push(1373483125036);
3642 // 2230
3643 o1 = {};
3644 // 2231
3645 f989148965_0.returns.push(o1);
3646 // 2232
3647 o1.getTime = f989148965_487;
3648 // undefined
3649 o1 = null;
3650 // 2233
3651 f989148965_487.returns.push(1373483125036);
3652 // 2234
3653 o1 = {};
3654 // 2235
3655 f989148965_0.returns.push(o1);
3656 // 2236
3657 o1.getTime = f989148965_487;
3658 // undefined
3659 o1 = null;
3660 // 2237
3661 f989148965_487.returns.push(1373483125037);
3662 // 2238
3663 o1 = {};
3664 // 2239
3665 f989148965_0.returns.push(o1);
3666 // 2240
3667 o1.getTime = f989148965_487;
3668 // undefined
3669 o1 = null;
3670 // 2241
3671 f989148965_487.returns.push(1373483125037);
3672 // 2242
3673 o1 = {};
3674 // 2243
3675 f989148965_0.returns.push(o1);
3676 // 2244
3677 o1.getTime = f989148965_487;
3678 // undefined
3679 o1 = null;
3680 // 2245
3681 f989148965_487.returns.push(1373483125037);
3682 // 2246
3683 o1 = {};
3684 // 2247
3685 f989148965_0.returns.push(o1);
3686 // 2248
3687 o1.getTime = f989148965_487;
3688 // undefined
3689 o1 = null;
3690 // 2249
3691 f989148965_487.returns.push(1373483125038);
3692 // 2250
3693 o1 = {};
3694 // 2251
3695 f989148965_0.returns.push(o1);
3696 // 2252
3697 o1.getTime = f989148965_487;
3698 // undefined
3699 o1 = null;
3700 // 2253
3701 f989148965_487.returns.push(1373483125038);
3702 // 2254
3703 o1 = {};
3704 // 2255
3705 f989148965_0.returns.push(o1);
3706 // 2256
3707 o1.getTime = f989148965_487;
3708 // undefined
3709 o1 = null;
3710 // 2257
3711 f989148965_487.returns.push(1373483125038);
3712 // 2258
3713 o1 = {};
3714 // 2259
3715 f989148965_0.returns.push(o1);
3716 // 2260
3717 o1.getTime = f989148965_487;
3718 // undefined
3719 o1 = null;
3720 // 2261
3721 f989148965_487.returns.push(1373483125038);
3722 // 2262
3723 o1 = {};
3724 // 2263
3725 f989148965_0.returns.push(o1);
3726 // 2264
3727 o1.getTime = f989148965_487;
3728 // undefined
3729 o1 = null;
3730 // 2265
3731 f989148965_487.returns.push(1373483125038);
3732 // 2266
3733 o1 = {};
3734 // 2267
3735 f989148965_0.returns.push(o1);
3736 // 2268
3737 o1.getTime = f989148965_487;
3738 // undefined
3739 o1 = null;
3740 // 2269
3741 f989148965_487.returns.push(1373483125039);
3742 // 2270
3743 o1 = {};
3744 // 2271
3745 f989148965_0.returns.push(o1);
3746 // 2272
3747 o1.getTime = f989148965_487;
3748 // undefined
3749 o1 = null;
3750 // 2273
3751 f989148965_487.returns.push(1373483125039);
3752 // 2274
3753 o1 = {};
3754 // 2275
3755 f989148965_0.returns.push(o1);
3756 // 2276
3757 o1.getTime = f989148965_487;
3758 // undefined
3759 o1 = null;
3760 // 2277
3761 f989148965_487.returns.push(1373483125039);
3762 // 2278
3763 o1 = {};
3764 // 2279
3765 f989148965_0.returns.push(o1);
3766 // 2280
3767 o1.getTime = f989148965_487;
3768 // undefined
3769 o1 = null;
3770 // 2281
3771 f989148965_487.returns.push(1373483125039);
3772 // 2282
3773 o1 = {};
3774 // 2283
3775 f989148965_0.returns.push(o1);
3776 // 2284
3777 o1.getTime = f989148965_487;
3778 // undefined
3779 o1 = null;
3780 // 2285
3781 f989148965_487.returns.push(1373483125039);
3782 // 2286
3783 o1 = {};
3784 // 2287
3785 f989148965_0.returns.push(o1);
3786 // 2288
3787 o1.getTime = f989148965_487;
3788 // undefined
3789 o1 = null;
3790 // 2289
3791 f989148965_487.returns.push(1373483125039);
3792 // 2290
3793 o1 = {};
3794 // 2291
3795 f989148965_0.returns.push(o1);
3796 // 2292
3797 o1.getTime = f989148965_487;
3798 // undefined
3799 o1 = null;
3800 // 2293
3801 f989148965_487.returns.push(1373483125040);
3802 // 2294
3803 o1 = {};
3804 // 2295
3805 f989148965_0.returns.push(o1);
3806 // 2296
3807 o1.getTime = f989148965_487;
3808 // undefined
3809 o1 = null;
3810 // 2297
3811 f989148965_487.returns.push(1373483125040);
3812 // 2298
3813 o1 = {};
3814 // 2299
3815 f989148965_0.returns.push(o1);
3816 // 2300
3817 o1.getTime = f989148965_487;
3818 // undefined
3819 o1 = null;
3820 // 2301
3821 f989148965_487.returns.push(1373483125040);
3822 // 2302
3823 o1 = {};
3824 // 2303
3825 f989148965_0.returns.push(o1);
3826 // 2304
3827 o1.getTime = f989148965_487;
3828 // undefined
3829 o1 = null;
3830 // 2305
3831 f989148965_487.returns.push(1373483125040);
3832 // 2306
3833 o1 = {};
3834 // 2307
3835 f989148965_0.returns.push(o1);
3836 // 2308
3837 o1.getTime = f989148965_487;
3838 // undefined
3839 o1 = null;
3840 // 2309
3841 f989148965_487.returns.push(1373483125042);
3842 // 2310
3843 o1 = {};
3844 // 2311
3845 f989148965_0.returns.push(o1);
3846 // 2312
3847 o1.getTime = f989148965_487;
3848 // undefined
3849 o1 = null;
3850 // 2313
3851 f989148965_487.returns.push(1373483125046);
3852 // 2314
3853 o1 = {};
3854 // 2315
3855 f989148965_0.returns.push(o1);
3856 // 2316
3857 o1.getTime = f989148965_487;
3858 // undefined
3859 o1 = null;
3860 // 2317
3861 f989148965_487.returns.push(1373483125046);
3862 // 2318
3863 o1 = {};
3864 // 2319
3865 f989148965_0.returns.push(o1);
3866 // 2320
3867 o1.getTime = f989148965_487;
3868 // undefined
3869 o1 = null;
3870 // 2321
3871 f989148965_487.returns.push(1373483125046);
3872 // 2322
3873 o1 = {};
3874 // 2323
3875 f989148965_0.returns.push(o1);
3876 // 2324
3877 o1.getTime = f989148965_487;
3878 // undefined
3879 o1 = null;
3880 // 2325
3881 f989148965_487.returns.push(1373483125047);
3882 // 2326
3883 o1 = {};
3884 // 2327
3885 f989148965_0.returns.push(o1);
3886 // 2328
3887 o1.getTime = f989148965_487;
3888 // undefined
3889 o1 = null;
3890 // 2329
3891 f989148965_487.returns.push(1373483125047);
3892 // 2330
3893 o1 = {};
3894 // 2331
3895 f989148965_0.returns.push(o1);
3896 // 2332
3897 o1.getTime = f989148965_487;
3898 // undefined
3899 o1 = null;
3900 // 2333
3901 f989148965_487.returns.push(1373483125047);
3902 // 2334
3903 o1 = {};
3904 // 2335
3905 f989148965_0.returns.push(o1);
3906 // 2336
3907 o1.getTime = f989148965_487;
3908 // undefined
3909 o1 = null;
3910 // 2337
3911 f989148965_487.returns.push(1373483125048);
3912 // 2338
3913 o1 = {};
3914 // 2339
3915 f989148965_0.returns.push(o1);
3916 // 2340
3917 o1.getTime = f989148965_487;
3918 // undefined
3919 o1 = null;
3920 // 2341
3921 f989148965_487.returns.push(1373483125048);
3922 // 2342
3923 o1 = {};
3924 // 2343
3925 f989148965_0.returns.push(o1);
3926 // 2344
3927 o1.getTime = f989148965_487;
3928 // undefined
3929 o1 = null;
3930 // 2345
3931 f989148965_487.returns.push(1373483125048);
3932 // 2346
3933 o1 = {};
3934 // 2347
3935 f989148965_0.returns.push(o1);
3936 // 2348
3937 o1.getTime = f989148965_487;
3938 // undefined
3939 o1 = null;
3940 // 2349
3941 f989148965_487.returns.push(1373483125048);
3942 // 2350
3943 o1 = {};
3944 // 2351
3945 f989148965_0.returns.push(o1);
3946 // 2352
3947 o1.getTime = f989148965_487;
3948 // undefined
3949 o1 = null;
3950 // 2353
3951 f989148965_487.returns.push(1373483125048);
3952 // 2354
3953 o1 = {};
3954 // 2355
3955 f989148965_0.returns.push(o1);
3956 // 2356
3957 o1.getTime = f989148965_487;
3958 // undefined
3959 o1 = null;
3960 // 2357
3961 f989148965_487.returns.push(1373483125048);
3962 // 2358
3963 o1 = {};
3964 // 2359
3965 f989148965_0.returns.push(o1);
3966 // 2360
3967 o1.getTime = f989148965_487;
3968 // undefined
3969 o1 = null;
3970 // 2361
3971 f989148965_487.returns.push(1373483125049);
3972 // 2362
3973 o1 = {};
3974 // 2363
3975 f989148965_0.returns.push(o1);
3976 // 2364
3977 o1.getTime = f989148965_487;
3978 // undefined
3979 o1 = null;
3980 // 2365
3981 f989148965_487.returns.push(1373483125049);
3982 // 2366
3983 o1 = {};
3984 // 2367
3985 f989148965_0.returns.push(o1);
3986 // 2368
3987 o1.getTime = f989148965_487;
3988 // undefined
3989 o1 = null;
3990 // 2369
3991 f989148965_487.returns.push(1373483125049);
3992 // 2370
3993 o1 = {};
3994 // 2371
3995 f989148965_0.returns.push(o1);
3996 // 2372
3997 o1.getTime = f989148965_487;
3998 // undefined
3999 o1 = null;
4000 // 2373
4001 f989148965_487.returns.push(1373483125049);
4002 // 2374
4003 o1 = {};
4004 // 2375
4005 f989148965_0.returns.push(o1);
4006 // 2376
4007 o1.getTime = f989148965_487;
4008 // undefined
4009 o1 = null;
4010 // 2377
4011 f989148965_487.returns.push(1373483125049);
4012 // 2378
4013 o1 = {};
4014 // 2379
4015 f989148965_0.returns.push(o1);
4016 // 2380
4017 o1.getTime = f989148965_487;
4018 // undefined
4019 o1 = null;
4020 // 2381
4021 f989148965_487.returns.push(1373483125050);
4022 // 2382
4023 o1 = {};
4024 // 2383
4025 f989148965_0.returns.push(o1);
4026 // 2384
4027 o1.getTime = f989148965_487;
4028 // undefined
4029 o1 = null;
4030 // 2385
4031 f989148965_487.returns.push(1373483125050);
4032 // 2386
4033 o1 = {};
4034 // 2387
4035 f989148965_0.returns.push(o1);
4036 // 2388
4037 o1.getTime = f989148965_487;
4038 // undefined
4039 o1 = null;
4040 // 2389
4041 f989148965_487.returns.push(1373483125050);
4042 // 2390
4043 o1 = {};
4044 // 2391
4045 f989148965_0.returns.push(o1);
4046 // 2392
4047 o1.getTime = f989148965_487;
4048 // undefined
4049 o1 = null;
4050 // 2393
4051 f989148965_487.returns.push(1373483125050);
4052 // 2394
4053 o1 = {};
4054 // 2395
4055 f989148965_0.returns.push(o1);
4056 // 2396
4057 o1.getTime = f989148965_487;
4058 // undefined
4059 o1 = null;
4060 // 2397
4061 f989148965_487.returns.push(1373483125050);
4062 // 2398
4063 o1 = {};
4064 // 2399
4065 f989148965_0.returns.push(o1);
4066 // 2400
4067 o1.getTime = f989148965_487;
4068 // undefined
4069 o1 = null;
4070 // 2401
4071 f989148965_487.returns.push(1373483125050);
4072 // 2402
4073 o1 = {};
4074 // 2403
4075 f989148965_0.returns.push(o1);
4076 // 2404
4077 o1.getTime = f989148965_487;
4078 // undefined
4079 o1 = null;
4080 // 2405
4081 f989148965_487.returns.push(1373483125051);
4082 // 2406
4083 o1 = {};
4084 // 2407
4085 f989148965_0.returns.push(o1);
4086 // 2408
4087 o1.getTime = f989148965_487;
4088 // undefined
4089 o1 = null;
4090 // 2409
4091 f989148965_487.returns.push(1373483125051);
4092 // 2410
4093 o1 = {};
4094 // 2411
4095 f989148965_0.returns.push(o1);
4096 // 2412
4097 o1.getTime = f989148965_487;
4098 // undefined
4099 o1 = null;
4100 // 2413
4101 f989148965_487.returns.push(1373483125051);
4102 // 2414
4103 o1 = {};
4104 // 2415
4105 f989148965_0.returns.push(o1);
4106 // 2416
4107 o1.getTime = f989148965_487;
4108 // undefined
4109 o1 = null;
4110 // 2417
4111 f989148965_487.returns.push(1373483125051);
4112 // 2418
4113 o1 = {};
4114 // 2419
4115 f989148965_0.returns.push(o1);
4116 // 2420
4117 o1.getTime = f989148965_487;
4118 // undefined
4119 o1 = null;
4120 // 2421
4121 f989148965_487.returns.push(1373483125056);
4122 // 2422
4123 o1 = {};
4124 // 2423
4125 f989148965_0.returns.push(o1);
4126 // 2424
4127 o1.getTime = f989148965_487;
4128 // undefined
4129 o1 = null;
4130 // 2425
4131 f989148965_487.returns.push(1373483125058);
4132 // 2426
4133 o1 = {};
4134 // 2427
4135 f989148965_0.returns.push(o1);
4136 // 2428
4137 o1.getTime = f989148965_487;
4138 // undefined
4139 o1 = null;
4140 // 2429
4141 f989148965_487.returns.push(1373483125058);
4142 // 2430
4143 o1 = {};
4144 // 2431
4145 f989148965_0.returns.push(o1);
4146 // 2432
4147 o1.getTime = f989148965_487;
4148 // undefined
4149 o1 = null;
4150 // 2433
4151 f989148965_487.returns.push(1373483125058);
4152 // 2434
4153 o1 = {};
4154 // 2435
4155 f989148965_0.returns.push(o1);
4156 // 2436
4157 o1.getTime = f989148965_487;
4158 // undefined
4159 o1 = null;
4160 // 2437
4161 f989148965_487.returns.push(1373483125061);
4162 // 2438
4163 o1 = {};
4164 // 2439
4165 f989148965_0.returns.push(o1);
4166 // 2440
4167 o1.getTime = f989148965_487;
4168 // undefined
4169 o1 = null;
4170 // 2441
4171 f989148965_487.returns.push(1373483125061);
4172 // 2442
4173 o1 = {};
4174 // 2443
4175 f989148965_0.returns.push(o1);
4176 // 2444
4177 o1.getTime = f989148965_487;
4178 // undefined
4179 o1 = null;
4180 // 2445
4181 f989148965_487.returns.push(1373483125062);
4182 // 2446
4183 o1 = {};
4184 // 2447
4185 f989148965_0.returns.push(o1);
4186 // 2448
4187 o1.getTime = f989148965_487;
4188 // undefined
4189 o1 = null;
4190 // 2449
4191 f989148965_487.returns.push(1373483125062);
4192 // 2450
4193 o1 = {};
4194 // 2451
4195 f989148965_0.returns.push(o1);
4196 // 2452
4197 o1.getTime = f989148965_487;
4198 // undefined
4199 o1 = null;
4200 // 2453
4201 f989148965_487.returns.push(1373483125063);
4202 // 2454
4203 o1 = {};
4204 // 2455
4205 f989148965_0.returns.push(o1);
4206 // 2456
4207 o1.getTime = f989148965_487;
4208 // undefined
4209 o1 = null;
4210 // 2457
4211 f989148965_487.returns.push(1373483125063);
4212 // 2458
4213 o1 = {};
4214 // 2459
4215 f989148965_0.returns.push(o1);
4216 // 2460
4217 o1.getTime = f989148965_487;
4218 // undefined
4219 o1 = null;
4220 // 2461
4221 f989148965_487.returns.push(1373483125063);
4222 // 2462
4223 o1 = {};
4224 // 2463
4225 f989148965_0.returns.push(o1);
4226 // 2464
4227 o1.getTime = f989148965_487;
4228 // undefined
4229 o1 = null;
4230 // 2465
4231 f989148965_487.returns.push(1373483125064);
4232 // 2466
4233 o1 = {};
4234 // 2467
4235 f989148965_0.returns.push(o1);
4236 // 2468
4237 o1.getTime = f989148965_487;
4238 // undefined
4239 o1 = null;
4240 // 2469
4241 f989148965_487.returns.push(1373483125064);
4242 // 2470
4243 o1 = {};
4244 // 2471
4245 f989148965_0.returns.push(o1);
4246 // 2472
4247 o1.getTime = f989148965_487;
4248 // undefined
4249 o1 = null;
4250 // 2473
4251 f989148965_487.returns.push(1373483125064);
4252 // 2474
4253 o1 = {};
4254 // 2475
4255 f989148965_0.returns.push(o1);
4256 // 2476
4257 o1.getTime = f989148965_487;
4258 // undefined
4259 o1 = null;
4260 // 2477
4261 f989148965_487.returns.push(1373483125065);
4262 // 2478
4263 o1 = {};
4264 // 2479
4265 f989148965_0.returns.push(o1);
4266 // 2480
4267 o1.getTime = f989148965_487;
4268 // undefined
4269 o1 = null;
4270 // 2481
4271 f989148965_487.returns.push(1373483125065);
4272 // 2482
4273 o1 = {};
4274 // 2483
4275 f989148965_0.returns.push(o1);
4276 // 2484
4277 o1.getTime = f989148965_487;
4278 // undefined
4279 o1 = null;
4280 // 2485
4281 f989148965_487.returns.push(1373483125065);
4282 // 2486
4283 o1 = {};
4284 // 2487
4285 f989148965_0.returns.push(o1);
4286 // 2488
4287 o1.getTime = f989148965_487;
4288 // undefined
4289 o1 = null;
4290 // 2489
4291 f989148965_487.returns.push(1373483125065);
4292 // 2490
4293 o1 = {};
4294 // 2491
4295 f989148965_0.returns.push(o1);
4296 // 2492
4297 o1.getTime = f989148965_487;
4298 // undefined
4299 o1 = null;
4300 // 2493
4301 f989148965_487.returns.push(1373483125065);
4302 // 2494
4303 o1 = {};
4304 // 2495
4305 f989148965_0.returns.push(o1);
4306 // 2496
4307 o1.getTime = f989148965_487;
4308 // undefined
4309 o1 = null;
4310 // 2497
4311 f989148965_487.returns.push(1373483125065);
4312 // 2498
4313 o1 = {};
4314 // 2499
4315 f989148965_0.returns.push(o1);
4316 // 2500
4317 o1.getTime = f989148965_487;
4318 // undefined
4319 o1 = null;
4320 // 2501
4321 f989148965_487.returns.push(1373483125066);
4322 // 2502
4323 o1 = {};
4324 // 2503
4325 f989148965_0.returns.push(o1);
4326 // 2504
4327 o1.getTime = f989148965_487;
4328 // undefined
4329 o1 = null;
4330 // 2505
4331 f989148965_487.returns.push(1373483125066);
4332 // 2506
4333 o1 = {};
4334 // 2507
4335 f989148965_0.returns.push(o1);
4336 // 2508
4337 o1.getTime = f989148965_487;
4338 // undefined
4339 o1 = null;
4340 // 2509
4341 f989148965_487.returns.push(1373483125066);
4342 // 2510
4343 o1 = {};
4344 // 2511
4345 f989148965_0.returns.push(o1);
4346 // 2512
4347 o1.getTime = f989148965_487;
4348 // undefined
4349 o1 = null;
4350 // 2513
4351 f989148965_487.returns.push(1373483125066);
4352 // 2514
4353 o1 = {};
4354 // 2515
4355 f989148965_0.returns.push(o1);
4356 // 2516
4357 o1.getTime = f989148965_487;
4358 // undefined
4359 o1 = null;
4360 // 2517
4361 f989148965_487.returns.push(1373483125066);
4362 // 2518
4363 o1 = {};
4364 // 2519
4365 f989148965_0.returns.push(o1);
4366 // 2520
4367 o1.getTime = f989148965_487;
4368 // undefined
4369 o1 = null;
4370 // 2521
4371 f989148965_487.returns.push(1373483125067);
4372 // 2522
4373 o1 = {};
4374 // 2523
4375 f989148965_0.returns.push(o1);
4376 // 2524
4377 o1.getTime = f989148965_487;
4378 // undefined
4379 o1 = null;
4380 // 2525
4381 f989148965_487.returns.push(1373483125067);
4382 // 2526
4383 o1 = {};
4384 // 2527
4385 f989148965_0.returns.push(o1);
4386 // 2528
4387 o1.getTime = f989148965_487;
4388 // undefined
4389 o1 = null;
4390 // 2529
4391 f989148965_487.returns.push(1373483125073);
4392 // 2530
4393 o1 = {};
4394 // 2531
4395 f989148965_0.returns.push(o1);
4396 // 2532
4397 o1.getTime = f989148965_487;
4398 // undefined
4399 o1 = null;
4400 // 2533
4401 f989148965_487.returns.push(1373483125073);
4402 // 2534
4403 o1 = {};
4404 // 2535
4405 f989148965_0.returns.push(o1);
4406 // 2536
4407 o1.getTime = f989148965_487;
4408 // undefined
4409 o1 = null;
4410 // 2537
4411 f989148965_487.returns.push(1373483125074);
4412 // 2538
4413 o1 = {};
4414 // 2539
4415 f989148965_0.returns.push(o1);
4416 // 2540
4417 o1.getTime = f989148965_487;
4418 // undefined
4419 o1 = null;
4420 // 2541
4421 f989148965_487.returns.push(1373483125074);
4422 // 2542
4423 o1 = {};
4424 // 2543
4425 f989148965_0.returns.push(o1);
4426 // 2544
4427 o1.getTime = f989148965_487;
4428 // undefined
4429 o1 = null;
4430 // 2545
4431 f989148965_487.returns.push(1373483125074);
4432 // 2546
4433 o1 = {};
4434 // 2547
4435 f989148965_0.returns.push(o1);
4436 // 2548
4437 o1.getTime = f989148965_487;
4438 // undefined
4439 o1 = null;
4440 // 2549
4441 f989148965_487.returns.push(1373483125074);
4442 // 2550
4443 o1 = {};
4444 // 2551
4445 f989148965_0.returns.push(o1);
4446 // 2552
4447 o1.getTime = f989148965_487;
4448 // undefined
4449 o1 = null;
4450 // 2553
4451 f989148965_487.returns.push(1373483125075);
4452 // 2554
4453 o1 = {};
4454 // 2555
4455 f989148965_0.returns.push(o1);
4456 // 2556
4457 o1.getTime = f989148965_487;
4458 // undefined
4459 o1 = null;
4460 // 2557
4461 f989148965_487.returns.push(1373483125075);
4462 // 2558
4463 o1 = {};
4464 // 2559
4465 f989148965_0.returns.push(o1);
4466 // 2560
4467 o1.getTime = f989148965_487;
4468 // undefined
4469 o1 = null;
4470 // 2561
4471 f989148965_487.returns.push(1373483125075);
4472 // 2562
4473 o1 = {};
4474 // 2563
4475 f989148965_0.returns.push(o1);
4476 // 2564
4477 o1.getTime = f989148965_487;
4478 // undefined
4479 o1 = null;
4480 // 2565
4481 f989148965_487.returns.push(1373483125076);
4482 // 2566
4483 o1 = {};
4484 // 2567
4485 f989148965_0.returns.push(o1);
4486 // 2568
4487 o1.getTime = f989148965_487;
4488 // undefined
4489 o1 = null;
4490 // 2569
4491 f989148965_487.returns.push(1373483125076);
4492 // 2570
4493 o1 = {};
4494 // 2571
4495 f989148965_0.returns.push(o1);
4496 // 2572
4497 o1.getTime = f989148965_487;
4498 // undefined
4499 o1 = null;
4500 // 2573
4501 f989148965_487.returns.push(1373483125076);
4502 // 2574
4503 o1 = {};
4504 // 2575
4505 f989148965_0.returns.push(o1);
4506 // 2576
4507 o1.getTime = f989148965_487;
4508 // undefined
4509 o1 = null;
4510 // 2577
4511 f989148965_487.returns.push(1373483125076);
4512 // 2578
4513 o1 = {};
4514 // 2579
4515 f989148965_0.returns.push(o1);
4516 // 2580
4517 o1.getTime = f989148965_487;
4518 // undefined
4519 o1 = null;
4520 // 2581
4521 f989148965_487.returns.push(1373483125077);
4522 // 2582
4523 o1 = {};
4524 // 2583
4525 f989148965_0.returns.push(o1);
4526 // 2584
4527 o1.getTime = f989148965_487;
4528 // undefined
4529 o1 = null;
4530 // 2585
4531 f989148965_487.returns.push(1373483125077);
4532 // 2586
4533 o1 = {};
4534 // 2587
4535 f989148965_0.returns.push(o1);
4536 // 2588
4537 o1.getTime = f989148965_487;
4538 // undefined
4539 o1 = null;
4540 // 2589
4541 f989148965_487.returns.push(1373483125077);
4542 // 2590
4543 o1 = {};
4544 // 2591
4545 f989148965_0.returns.push(o1);
4546 // 2592
4547 o1.getTime = f989148965_487;
4548 // undefined
4549 o1 = null;
4550 // 2593
4551 f989148965_487.returns.push(1373483125077);
4552 // 2594
4553 o1 = {};
4554 // 2595
4555 f989148965_0.returns.push(o1);
4556 // 2596
4557 o1.getTime = f989148965_487;
4558 // undefined
4559 o1 = null;
4560 // 2597
4561 f989148965_487.returns.push(1373483125077);
4562 // 2598
4563 o1 = {};
4564 // 2599
4565 f989148965_0.returns.push(o1);
4566 // 2600
4567 o1.getTime = f989148965_487;
4568 // undefined
4569 o1 = null;
4570 // 2601
4571 f989148965_487.returns.push(1373483125078);
4572 // 2602
4573 o1 = {};
4574 // 2603
4575 f989148965_0.returns.push(o1);
4576 // 2604
4577 o1.getTime = f989148965_487;
4578 // undefined
4579 o1 = null;
4580 // 2605
4581 f989148965_487.returns.push(1373483125078);
4582 // 2606
4583 o1 = {};
4584 // 2607
4585 f989148965_0.returns.push(o1);
4586 // 2608
4587 o1.getTime = f989148965_487;
4588 // undefined
4589 o1 = null;
4590 // 2609
4591 f989148965_487.returns.push(1373483125078);
4592 // 2610
4593 o1 = {};
4594 // 2611
4595 f989148965_0.returns.push(o1);
4596 // 2612
4597 o1.getTime = f989148965_487;
4598 // undefined
4599 o1 = null;
4600 // 2613
4601 f989148965_487.returns.push(1373483125078);
4602 // 2614
4603 o1 = {};
4604 // 2615
4605 f989148965_0.returns.push(o1);
4606 // 2616
4607 o1.getTime = f989148965_487;
4608 // undefined
4609 o1 = null;
4610 // 2617
4611 f989148965_487.returns.push(1373483125079);
4612 // 2618
4613 o1 = {};
4614 // 2619
4615 f989148965_0.returns.push(o1);
4616 // 2620
4617 o1.getTime = f989148965_487;
4618 // undefined
4619 o1 = null;
4620 // 2621
4621 f989148965_487.returns.push(1373483125079);
4622 // 2622
4623 o1 = {};
4624 // 2623
4625 f989148965_0.returns.push(o1);
4626 // 2624
4627 o1.getTime = f989148965_487;
4628 // undefined
4629 o1 = null;
4630 // 2625
4631 f989148965_487.returns.push(1373483125083);
4632 // 2626
4633 o1 = {};
4634 // 2627
4635 f989148965_0.returns.push(o1);
4636 // 2628
4637 o1.getTime = f989148965_487;
4638 // undefined
4639 o1 = null;
4640 // 2629
4641 f989148965_487.returns.push(1373483125084);
4642 // 2630
4643 o1 = {};
4644 // 2631
4645 f989148965_0.returns.push(o1);
4646 // 2632
4647 o1.getTime = f989148965_487;
4648 // undefined
4649 o1 = null;
4650 // 2633
4651 f989148965_487.returns.push(1373483125084);
4652 // 2634
4653 o1 = {};
4654 // 2635
4655 f989148965_0.returns.push(o1);
4656 // 2636
4657 o1.getTime = f989148965_487;
4658 // undefined
4659 o1 = null;
4660 // 2637
4661 f989148965_487.returns.push(1373483125092);
4662 // 2638
4663 o1 = {};
4664 // 2639
4665 f989148965_0.returns.push(o1);
4666 // 2640
4667 o1.getTime = f989148965_487;
4668 // undefined
4669 o1 = null;
4670 // 2641
4671 f989148965_487.returns.push(1373483125093);
4672 // 2642
4673 o1 = {};
4674 // 2643
4675 f989148965_0.returns.push(o1);
4676 // 2644
4677 o1.getTime = f989148965_487;
4678 // undefined
4679 o1 = null;
4680 // 2645
4681 f989148965_487.returns.push(1373483125093);
4682 // 2646
4683 o1 = {};
4684 // 2647
4685 f989148965_0.returns.push(o1);
4686 // 2648
4687 o1.getTime = f989148965_487;
4688 // undefined
4689 o1 = null;
4690 // 2649
4691 f989148965_487.returns.push(1373483125094);
4692 // 2650
4693 o1 = {};
4694 // 2651
4695 f989148965_0.returns.push(o1);
4696 // 2652
4697 o1.getTime = f989148965_487;
4698 // undefined
4699 o1 = null;
4700 // 2653
4701 f989148965_487.returns.push(1373483125094);
4702 // 2654
4703 o1 = {};
4704 // 2655
4705 f989148965_0.returns.push(o1);
4706 // 2656
4707 o1.getTime = f989148965_487;
4708 // undefined
4709 o1 = null;
4710 // 2657
4711 f989148965_487.returns.push(1373483125094);
4712 // 2658
4713 o1 = {};
4714 // 2659
4715 f989148965_0.returns.push(o1);
4716 // 2660
4717 o1.getTime = f989148965_487;
4718 // undefined
4719 o1 = null;
4720 // 2661
4721 f989148965_487.returns.push(1373483125095);
4722 // 2662
4723 o1 = {};
4724 // 2663
4725 f989148965_0.returns.push(o1);
4726 // 2664
4727 o1.getTime = f989148965_487;
4728 // undefined
4729 o1 = null;
4730 // 2665
4731 f989148965_487.returns.push(1373483125095);
4732 // 2666
4733 o1 = {};
4734 // 2667
4735 f989148965_0.returns.push(o1);
4736 // 2668
4737 o1.getTime = f989148965_487;
4738 // undefined
4739 o1 = null;
4740 // 2669
4741 f989148965_487.returns.push(1373483125095);
4742 // 2670
4743 o1 = {};
4744 // 2671
4745 f989148965_0.returns.push(o1);
4746 // 2672
4747 o1.getTime = f989148965_487;
4748 // undefined
4749 o1 = null;
4750 // 2673
4751 f989148965_487.returns.push(1373483125096);
4752 // 2674
4753 o1 = {};
4754 // 2675
4755 f989148965_0.returns.push(o1);
4756 // 2676
4757 o1.getTime = f989148965_487;
4758 // undefined
4759 o1 = null;
4760 // 2677
4761 f989148965_487.returns.push(1373483125096);
4762 // 2678
4763 o1 = {};
4764 // 2679
4765 f989148965_0.returns.push(o1);
4766 // 2680
4767 o1.getTime = f989148965_487;
4768 // undefined
4769 o1 = null;
4770 // 2681
4771 f989148965_487.returns.push(1373483125097);
4772 // 2682
4773 o1 = {};
4774 // 2683
4775 f989148965_0.returns.push(o1);
4776 // 2684
4777 o1.getTime = f989148965_487;
4778 // undefined
4779 o1 = null;
4780 // 2685
4781 f989148965_487.returns.push(1373483125097);
4782 // 2686
4783 o1 = {};
4784 // 2687
4785 f989148965_0.returns.push(o1);
4786 // 2688
4787 o1.getTime = f989148965_487;
4788 // undefined
4789 o1 = null;
4790 // 2689
4791 f989148965_487.returns.push(1373483125098);
4792 // 2690
4793 o1 = {};
4794 // 2691
4795 f989148965_0.returns.push(o1);
4796 // 2692
4797 o1.getTime = f989148965_487;
4798 // undefined
4799 o1 = null;
4800 // 2693
4801 f989148965_487.returns.push(1373483125099);
4802 // 2694
4803 o1 = {};
4804 // 2695
4805 f989148965_0.returns.push(o1);
4806 // 2696
4807 o1.getTime = f989148965_487;
4808 // undefined
4809 o1 = null;
4810 // 2697
4811 f989148965_487.returns.push(1373483125099);
4812 // 2698
4813 o1 = {};
4814 // 2699
4815 f989148965_0.returns.push(o1);
4816 // 2700
4817 o1.getTime = f989148965_487;
4818 // undefined
4819 o1 = null;
4820 // 2701
4821 f989148965_487.returns.push(1373483125099);
4822 // 2702
4823 o1 = {};
4824 // 2703
4825 f989148965_0.returns.push(o1);
4826 // 2704
4827 o1.getTime = f989148965_487;
4828 // undefined
4829 o1 = null;
4830 // 2705
4831 f989148965_487.returns.push(1373483125100);
4832 // 2706
4833 o1 = {};
4834 // 2707
4835 f989148965_0.returns.push(o1);
4836 // 2708
4837 o1.getTime = f989148965_487;
4838 // undefined
4839 o1 = null;
4840 // 2709
4841 f989148965_487.returns.push(1373483125100);
4842 // 2710
4843 o1 = {};
4844 // 2711
4845 f989148965_0.returns.push(o1);
4846 // 2712
4847 o1.getTime = f989148965_487;
4848 // undefined
4849 o1 = null;
4850 // 2713
4851 f989148965_487.returns.push(1373483125101);
4852 // 2714
4853 o1 = {};
4854 // 2715
4855 f989148965_0.returns.push(o1);
4856 // 2716
4857 o1.getTime = f989148965_487;
4858 // undefined
4859 o1 = null;
4860 // 2717
4861 f989148965_487.returns.push(1373483125101);
4862 // 2718
4863 o1 = {};
4864 // 2719
4865 f989148965_0.returns.push(o1);
4866 // 2720
4867 o1.getTime = f989148965_487;
4868 // undefined
4869 o1 = null;
4870 // 2721
4871 f989148965_487.returns.push(1373483125101);
4872 // 2722
4873 o1 = {};
4874 // 2723
4875 f989148965_0.returns.push(o1);
4876 // 2724
4877 o1.getTime = f989148965_487;
4878 // undefined
4879 o1 = null;
4880 // 2725
4881 f989148965_487.returns.push(1373483125102);
4882 // 2726
4883 o1 = {};
4884 // 2727
4885 f989148965_0.returns.push(o1);
4886 // 2728
4887 o1.getTime = f989148965_487;
4888 // undefined
4889 o1 = null;
4890 // 2729
4891 f989148965_487.returns.push(1373483125102);
4892 // 2730
4893 o1 = {};
4894 // 2731
4895 f989148965_0.returns.push(o1);
4896 // 2732
4897 o1.getTime = f989148965_487;
4898 // undefined
4899 o1 = null;
4900 // 2733
4901 f989148965_487.returns.push(1373483125102);
4902 // 2734
4903 o1 = {};
4904 // 2735
4905 f989148965_0.returns.push(o1);
4906 // 2736
4907 o1.getTime = f989148965_487;
4908 // undefined
4909 o1 = null;
4910 // 2737
4911 f989148965_487.returns.push(1373483125102);
4912 // 2738
4913 o1 = {};
4914 // 2739
4915 f989148965_0.returns.push(o1);
4916 // 2740
4917 o1.getTime = f989148965_487;
4918 // undefined
4919 o1 = null;
4920 // 2741
4921 f989148965_487.returns.push(1373483125102);
4922 // 2742
4923 o1 = {};
4924 // 2743
4925 f989148965_0.returns.push(o1);
4926 // 2744
4927 o1.getTime = f989148965_487;
4928 // undefined
4929 o1 = null;
4930 // 2745
4931 f989148965_487.returns.push(1373483125106);
4932 // 2746
4933 o1 = {};
4934 // 2747
4935 f989148965_0.returns.push(o1);
4936 // 2748
4937 o1.getTime = f989148965_487;
4938 // undefined
4939 o1 = null;
4940 // 2749
4941 f989148965_487.returns.push(1373483125106);
4942 // 2750
4943 o1 = {};
4944 // 2751
4945 f989148965_0.returns.push(o1);
4946 // 2752
4947 o1.getTime = f989148965_487;
4948 // undefined
4949 o1 = null;
4950 // 2753
4951 f989148965_487.returns.push(1373483125106);
4952 // 2754
4953 o1 = {};
4954 // 2755
4955 f989148965_0.returns.push(o1);
4956 // 2756
4957 o1.getTime = f989148965_487;
4958 // undefined
4959 o1 = null;
4960 // 2757
4961 f989148965_487.returns.push(1373483125107);
4962 // 2758
4963 o1 = {};
4964 // 2759
4965 f989148965_0.returns.push(o1);
4966 // 2760
4967 o1.getTime = f989148965_487;
4968 // undefined
4969 o1 = null;
4970 // 2761
4971 f989148965_487.returns.push(1373483125107);
4972 // 2762
4973 o1 = {};
4974 // 2763
4975 f989148965_0.returns.push(o1);
4976 // 2764
4977 o1.getTime = f989148965_487;
4978 // undefined
4979 o1 = null;
4980 // 2765
4981 f989148965_487.returns.push(1373483125107);
4982 // 2766
4983 o1 = {};
4984 // 2767
4985 f989148965_0.returns.push(o1);
4986 // 2768
4987 o1.getTime = f989148965_487;
4988 // undefined
4989 o1 = null;
4990 // 2769
4991 f989148965_487.returns.push(1373483125107);
4992 // 2770
4993 o1 = {};
4994 // 2771
4995 f989148965_0.returns.push(o1);
4996 // 2772
4997 o1.getTime = f989148965_487;
4998 // undefined
4999 o1 = null;
5000 // 2773
5001 f989148965_487.returns.push(1373483125107);
5002 // 2774
5003 o1 = {};
5004 // 2775
5005 f989148965_0.returns.push(o1);
5006 // 2776
5007 o1.getTime = f989148965_487;
5008 // undefined
5009 o1 = null;
5010 // 2777
5011 f989148965_487.returns.push(1373483125108);
5012 // 2778
5013 o1 = {};
5014 // 2779
5015 f989148965_0.returns.push(o1);
5016 // 2780
5017 o1.getTime = f989148965_487;
5018 // undefined
5019 o1 = null;
5020 // 2781
5021 f989148965_487.returns.push(1373483125108);
5022 // 2782
5023 o1 = {};
5024 // 2783
5025 f989148965_0.returns.push(o1);
5026 // 2784
5027 o1.getTime = f989148965_487;
5028 // undefined
5029 o1 = null;
5030 // 2785
5031 f989148965_487.returns.push(1373483125108);
5032 // 2786
5033 o1 = {};
5034 // 2787
5035 f989148965_0.returns.push(o1);
5036 // 2788
5037 o1.getTime = f989148965_487;
5038 // undefined
5039 o1 = null;
5040 // 2789
5041 f989148965_487.returns.push(1373483125108);
5042 // 2790
5043 o1 = {};
5044 // 2791
5045 f989148965_0.returns.push(o1);
5046 // 2792
5047 o1.getTime = f989148965_487;
5048 // undefined
5049 o1 = null;
5050 // 2793
5051 f989148965_487.returns.push(1373483125108);
5052 // 2794
5053 o1 = {};
5054 // 2795
5055 f989148965_0.returns.push(o1);
5056 // 2796
5057 o1.getTime = f989148965_487;
5058 // undefined
5059 o1 = null;
5060 // 2797
5061 f989148965_487.returns.push(1373483125108);
5062 // 2798
5063 o1 = {};
5064 // 2799
5065 f989148965_0.returns.push(o1);
5066 // 2800
5067 o1.getTime = f989148965_487;
5068 // undefined
5069 o1 = null;
5070 // 2801
5071 f989148965_487.returns.push(1373483125109);
5072 // 2802
5073 o1 = {};
5074 // 2803
5075 f989148965_0.returns.push(o1);
5076 // 2804
5077 o1.getTime = f989148965_487;
5078 // undefined
5079 o1 = null;
5080 // 2805
5081 f989148965_487.returns.push(1373483125109);
5082 // 2806
5083 o1 = {};
5084 // 2807
5085 f989148965_0.returns.push(o1);
5086 // 2808
5087 o1.getTime = f989148965_487;
5088 // undefined
5089 o1 = null;
5090 // 2809
5091 f989148965_487.returns.push(1373483125109);
5092 // 2810
5093 o1 = {};
5094 // 2811
5095 f989148965_0.returns.push(o1);
5096 // 2812
5097 o1.getTime = f989148965_487;
5098 // undefined
5099 o1 = null;
5100 // 2813
5101 f989148965_487.returns.push(1373483125121);
5102 // 2814
5103 o1 = {};
5104 // 2815
5105 f989148965_0.returns.push(o1);
5106 // 2816
5107 o1.getTime = f989148965_487;
5108 // undefined
5109 o1 = null;
5110 // 2817
5111 f989148965_487.returns.push(1373483125121);
5112 // 2818
5113 o1 = {};
5114 // 2819
5115 f989148965_0.returns.push(o1);
5116 // 2820
5117 o1.getTime = f989148965_487;
5118 // undefined
5119 o1 = null;
5120 // 2821
5121 f989148965_487.returns.push(1373483125121);
5122 // 2822
5123 o1 = {};
5124 // 2823
5125 f989148965_0.returns.push(o1);
5126 // 2824
5127 o1.getTime = f989148965_487;
5128 // undefined
5129 o1 = null;
5130 // 2825
5131 f989148965_487.returns.push(1373483125122);
5132 // 2826
5133 o1 = {};
5134 // 2827
5135 f989148965_0.returns.push(o1);
5136 // 2828
5137 o1.getTime = f989148965_487;
5138 // undefined
5139 o1 = null;
5140 // 2829
5141 f989148965_487.returns.push(1373483125124);
5142 // 2830
5143 o1 = {};
5144 // 2831
5145 f989148965_0.returns.push(o1);
5146 // 2832
5147 o1.getTime = f989148965_487;
5148 // undefined
5149 o1 = null;
5150 // 2833
5151 f989148965_487.returns.push(1373483125124);
5152 // 2834
5153 o1 = {};
5154 // 2835
5155 f989148965_0.returns.push(o1);
5156 // 2836
5157 o1.getTime = f989148965_487;
5158 // undefined
5159 o1 = null;
5160 // 2837
5161 f989148965_487.returns.push(1373483125124);
5162 // 2838
5163 o1 = {};
5164 // 2839
5165 f989148965_0.returns.push(o1);
5166 // 2840
5167 o1.getTime = f989148965_487;
5168 // undefined
5169 o1 = null;
5170 // 2841
5171 f989148965_487.returns.push(1373483125126);
5172 // 2842
5173 o1 = {};
5174 // 2843
5175 f989148965_0.returns.push(o1);
5176 // 2844
5177 o1.getTime = f989148965_487;
5178 // undefined
5179 o1 = null;
5180 // 2845
5181 f989148965_487.returns.push(1373483125126);
5182 // 2846
5183 o1 = {};
5184 // 2847
5185 f989148965_0.returns.push(o1);
5186 // 2848
5187 o1.getTime = f989148965_487;
5188 // undefined
5189 o1 = null;
5190 // 2849
5191 f989148965_487.returns.push(1373483125126);
5192 // 2850
5193 o1 = {};
5194 // 2851
5195 f989148965_0.returns.push(o1);
5196 // 2852
5197 o1.getTime = f989148965_487;
5198 // undefined
5199 o1 = null;
5200 // 2853
5201 f989148965_487.returns.push(1373483125132);
5202 // 2854
5203 o1 = {};
5204 // 2855
5205 f989148965_0.returns.push(o1);
5206 // 2856
5207 o1.getTime = f989148965_487;
5208 // undefined
5209 o1 = null;
5210 // 2857
5211 f989148965_487.returns.push(1373483125132);
5212 // 2858
5213 o1 = {};
5214 // 2859
5215 f989148965_0.returns.push(o1);
5216 // 2860
5217 o1.getTime = f989148965_487;
5218 // undefined
5219 o1 = null;
5220 // 2861
5221 f989148965_487.returns.push(1373483125133);
5222 // 2862
5223 o1 = {};
5224 // 2863
5225 f989148965_0.returns.push(o1);
5226 // 2864
5227 o1.getTime = f989148965_487;
5228 // undefined
5229 o1 = null;
5230 // 2865
5231 f989148965_487.returns.push(1373483125133);
5232 // 2866
5233 o1 = {};
5234 // 2867
5235 f989148965_0.returns.push(o1);
5236 // 2868
5237 o1.getTime = f989148965_487;
5238 // undefined
5239 o1 = null;
5240 // 2869
5241 f989148965_487.returns.push(1373483125133);
5242 // 2870
5243 o1 = {};
5244 // 2871
5245 f989148965_0.returns.push(o1);
5246 // 2872
5247 o1.getTime = f989148965_487;
5248 // undefined
5249 o1 = null;
5250 // 2873
5251 f989148965_487.returns.push(1373483125134);
5252 // 2874
5253 o1 = {};
5254 // 2875
5255 f989148965_0.returns.push(o1);
5256 // 2876
5257 o1.getTime = f989148965_487;
5258 // undefined
5259 o1 = null;
5260 // 2877
5261 f989148965_487.returns.push(1373483125134);
5262 // 2878
5263 o1 = {};
5264 // 2879
5265 f989148965_0.returns.push(o1);
5266 // 2880
5267 o1.getTime = f989148965_487;
5268 // undefined
5269 o1 = null;
5270 // 2881
5271 f989148965_487.returns.push(1373483125134);
5272 // 2882
5273 o1 = {};
5274 // 2883
5275 f989148965_0.returns.push(o1);
5276 // 2884
5277 o1.getTime = f989148965_487;
5278 // undefined
5279 o1 = null;
5280 // 2885
5281 f989148965_487.returns.push(1373483125136);
5282 // 2886
5283 o1 = {};
5284 // 2887
5285 f989148965_0.returns.push(o1);
5286 // 2888
5287 o1.getTime = f989148965_487;
5288 // undefined
5289 o1 = null;
5290 // 2889
5291 f989148965_487.returns.push(1373483125136);
5292 // 2890
5293 o1 = {};
5294 // 2891
5295 f989148965_0.returns.push(o1);
5296 // 2892
5297 o1.getTime = f989148965_487;
5298 // undefined
5299 o1 = null;
5300 // 2893
5301 f989148965_487.returns.push(1373483125136);
5302 // 2894
5303 o1 = {};
5304 // 2895
5305 f989148965_0.returns.push(o1);
5306 // 2896
5307 o1.getTime = f989148965_487;
5308 // undefined
5309 o1 = null;
5310 // 2897
5311 f989148965_487.returns.push(1373483125137);
5312 // 2898
5313 o1 = {};
5314 // 2899
5315 f989148965_0.returns.push(o1);
5316 // 2900
5317 o1.getTime = f989148965_487;
5318 // undefined
5319 o1 = null;
5320 // 2901
5321 f989148965_487.returns.push(1373483125137);
5322 // 2902
5323 o1 = {};
5324 // 2903
5325 f989148965_0.returns.push(o1);
5326 // 2904
5327 o1.getTime = f989148965_487;
5328 // undefined
5329 o1 = null;
5330 // 2905
5331 f989148965_487.returns.push(1373483125137);
5332 // 2906
5333 o1 = {};
5334 // 2907
5335 f989148965_0.returns.push(o1);
5336 // 2908
5337 o1.getTime = f989148965_487;
5338 // undefined
5339 o1 = null;
5340 // 2909
5341 f989148965_487.returns.push(1373483125138);
5342 // 2910
5343 o1 = {};
5344 // 2911
5345 f989148965_0.returns.push(o1);
5346 // 2912
5347 o1.getTime = f989148965_487;
5348 // undefined
5349 o1 = null;
5350 // 2913
5351 f989148965_487.returns.push(1373483125138);
5352 // 2914
5353 o1 = {};
5354 // 2915
5355 f989148965_0.returns.push(o1);
5356 // 2916
5357 o1.getTime = f989148965_487;
5358 // undefined
5359 o1 = null;
5360 // 2917
5361 f989148965_487.returns.push(1373483125139);
5362 // 2918
5363 o1 = {};
5364 // 2919
5365 f989148965_0.returns.push(o1);
5366 // 2920
5367 o1.getTime = f989148965_487;
5368 // undefined
5369 o1 = null;
5370 // 2921
5371 f989148965_487.returns.push(1373483125139);
5372 // 2922
5373 o1 = {};
5374 // 2923
5375 f989148965_0.returns.push(o1);
5376 // 2924
5377 o1.getTime = f989148965_487;
5378 // undefined
5379 o1 = null;
5380 // 2925
5381 f989148965_487.returns.push(1373483125139);
5382 // 2926
5383 o1 = {};
5384 // 2927
5385 f989148965_0.returns.push(o1);
5386 // 2928
5387 o1.getTime = f989148965_487;
5388 // undefined
5389 o1 = null;
5390 // 2929
5391 f989148965_487.returns.push(1373483125140);
5392 // 2930
5393 o1 = {};
5394 // 2931
5395 f989148965_0.returns.push(o1);
5396 // 2932
5397 o1.getTime = f989148965_487;
5398 // undefined
5399 o1 = null;
5400 // 2933
5401 f989148965_487.returns.push(1373483125141);
5402 // 2934
5403 o1 = {};
5404 // 2935
5405 f989148965_0.returns.push(o1);
5406 // 2936
5407 o1.getTime = f989148965_487;
5408 // undefined
5409 o1 = null;
5410 // 2937
5411 f989148965_487.returns.push(1373483125142);
5412 // 2938
5413 o1 = {};
5414 // 2939
5415 f989148965_0.returns.push(o1);
5416 // 2940
5417 o1.getTime = f989148965_487;
5418 // undefined
5419 o1 = null;
5420 // 2941
5421 f989148965_487.returns.push(1373483125142);
5422 // 2942
5423 o1 = {};
5424 // 2943
5425 f989148965_0.returns.push(o1);
5426 // 2944
5427 o1.getTime = f989148965_487;
5428 // undefined
5429 o1 = null;
5430 // 2945
5431 f989148965_487.returns.push(1373483125143);
5432 // 2946
5433 o1 = {};
5434 // 2947
5435 f989148965_0.returns.push(o1);
5436 // 2948
5437 o1.getTime = f989148965_487;
5438 // undefined
5439 o1 = null;
5440 // 2949
5441 f989148965_487.returns.push(1373483125143);
5442 // 2950
5443 o1 = {};
5444 // 2951
5445 f989148965_0.returns.push(o1);
5446 // 2952
5447 o1.getTime = f989148965_487;
5448 // undefined
5449 o1 = null;
5450 // 2953
5451 f989148965_487.returns.push(1373483125143);
5452 // 2954
5453 o1 = {};
5454 // 2955
5455 f989148965_0.returns.push(o1);
5456 // 2956
5457 o1.getTime = f989148965_487;
5458 // undefined
5459 o1 = null;
5460 // 2957
5461 f989148965_487.returns.push(1373483125144);
5462 // 2958
5463 o1 = {};
5464 // 2959
5465 f989148965_0.returns.push(o1);
5466 // 2960
5467 o1.getTime = f989148965_487;
5468 // undefined
5469 o1 = null;
5470 // 2961
5471 f989148965_487.returns.push(1373483125157);
5472 // 2962
5473 o1 = {};
5474 // 2963
5475 f989148965_0.returns.push(o1);
5476 // 2964
5477 o1.getTime = f989148965_487;
5478 // undefined
5479 o1 = null;
5480 // 2965
5481 f989148965_487.returns.push(1373483125157);
5482 // 2966
5483 o1 = {};
5484 // 2967
5485 f989148965_0.returns.push(o1);
5486 // 2968
5487 o1.getTime = f989148965_487;
5488 // undefined
5489 o1 = null;
5490 // 2969
5491 f989148965_487.returns.push(1373483125158);
5492 // 2970
5493 o1 = {};
5494 // 2971
5495 f989148965_0.returns.push(o1);
5496 // 2972
5497 o1.getTime = f989148965_487;
5498 // undefined
5499 o1 = null;
5500 // 2973
5501 f989148965_487.returns.push(1373483125158);
5502 // 2974
5503 o1 = {};
5504 // 2975
5505 f989148965_0.returns.push(o1);
5506 // 2976
5507 o1.getTime = f989148965_487;
5508 // undefined
5509 o1 = null;
5510 // 2977
5511 f989148965_487.returns.push(1373483125158);
5512 // 2978
5513 o1 = {};
5514 // 2979
5515 f989148965_0.returns.push(o1);
5516 // 2980
5517 o1.getTime = f989148965_487;
5518 // undefined
5519 o1 = null;
5520 // 2981
5521 f989148965_487.returns.push(1373483125160);
5522 // 2982
5523 o1 = {};
5524 // 2983
5525 f989148965_0.returns.push(o1);
5526 // 2984
5527 o1.getTime = f989148965_487;
5528 // undefined
5529 o1 = null;
5530 // 2985
5531 f989148965_487.returns.push(1373483125161);
5532 // 2986
5533 o1 = {};
5534 // 2987
5535 f989148965_0.returns.push(o1);
5536 // 2988
5537 o1.getTime = f989148965_487;
5538 // undefined
5539 o1 = null;
5540 // 2989
5541 f989148965_487.returns.push(1373483125161);
5542 // 2990
5543 o1 = {};
5544 // 2991
5545 f989148965_0.returns.push(o1);
5546 // 2992
5547 o1.getTime = f989148965_487;
5548 // undefined
5549 o1 = null;
5550 // 2993
5551 f989148965_487.returns.push(1373483125161);
5552 // 2994
5553 o1 = {};
5554 // 2995
5555 f989148965_0.returns.push(o1);
5556 // 2996
5557 o1.getTime = f989148965_487;
5558 // undefined
5559 o1 = null;
5560 // 2997
5561 f989148965_487.returns.push(1373483125162);
5562 // 2998
5563 o1 = {};
5564 // 2999
5565 f989148965_0.returns.push(o1);
5566 // 3000
5567 o1.getTime = f989148965_487;
5568 // undefined
5569 o1 = null;
5570 // 3001
5571 f989148965_487.returns.push(1373483125162);
5572 // 3002
5573 o1 = {};
5574 // 3003
5575 f989148965_0.returns.push(o1);
5576 // 3004
5577 o1.getTime = f989148965_487;
5578 // undefined
5579 o1 = null;
5580 // 3005
5581 f989148965_487.returns.push(1373483125162);
5582 // 3006
5583 o1 = {};
5584 // 3007
5585 f989148965_0.returns.push(o1);
5586 // 3008
5587 o1.getTime = f989148965_487;
5588 // undefined
5589 o1 = null;
5590 // 3009
5591 f989148965_487.returns.push(1373483125163);
5592 // 3010
5593 o1 = {};
5594 // 3011
5595 f989148965_0.returns.push(o1);
5596 // 3012
5597 o1.getTime = f989148965_487;
5598 // undefined
5599 o1 = null;
5600 // 3013
5601 f989148965_487.returns.push(1373483125163);
5602 // 3014
5603 o1 = {};
5604 // 3015
5605 f989148965_0.returns.push(o1);
5606 // 3016
5607 o1.getTime = f989148965_487;
5608 // undefined
5609 o1 = null;
5610 // 3017
5611 f989148965_487.returns.push(1373483125163);
5612 // 3018
5613 o1 = {};
5614 // 3019
5615 f989148965_0.returns.push(o1);
5616 // 3020
5617 o1.getTime = f989148965_487;
5618 // undefined
5619 o1 = null;
5620 // 3021
5621 f989148965_487.returns.push(1373483125163);
5622 // 3022
5623 o1 = {};
5624 // 3023
5625 f989148965_0.returns.push(o1);
5626 // 3024
5627 o1.getTime = f989148965_487;
5628 // undefined
5629 o1 = null;
5630 // 3025
5631 f989148965_487.returns.push(1373483125163);
5632 // 3026
5633 o1 = {};
5634 // 3027
5635 f989148965_0.returns.push(o1);
5636 // 3028
5637 o1.getTime = f989148965_487;
5638 // undefined
5639 o1 = null;
5640 // 3029
5641 f989148965_487.returns.push(1373483125164);
5642 // 3030
5643 o1 = {};
5644 // 3031
5645 f989148965_0.returns.push(o1);
5646 // 3032
5647 o1.getTime = f989148965_487;
5648 // undefined
5649 o1 = null;
5650 // 3033
5651 f989148965_487.returns.push(1373483125164);
5652 // 3034
5653 o1 = {};
5654 // 3035
5655 f989148965_0.returns.push(o1);
5656 // 3036
5657 o1.getTime = f989148965_487;
5658 // undefined
5659 o1 = null;
5660 // 3037
5661 f989148965_487.returns.push(1373483125164);
5662 // 3038
5663 o1 = {};
5664 // 3039
5665 f989148965_0.returns.push(o1);
5666 // 3040
5667 o1.getTime = f989148965_487;
5668 // undefined
5669 o1 = null;
5670 // 3041
5671 f989148965_487.returns.push(1373483125164);
5672 // 3042
5673 o1 = {};
5674 // 3043
5675 f989148965_0.returns.push(o1);
5676 // 3044
5677 o1.getTime = f989148965_487;
5678 // undefined
5679 o1 = null;
5680 // 3045
5681 f989148965_487.returns.push(1373483125164);
5682 // 3046
5683 o1 = {};
5684 // 3047
5685 f989148965_0.returns.push(o1);
5686 // 3048
5687 o1.getTime = f989148965_487;
5688 // undefined
5689 o1 = null;
5690 // 3049
5691 f989148965_487.returns.push(1373483125164);
5692 // 3050
5693 o1 = {};
5694 // 3051
5695 f989148965_0.returns.push(o1);
5696 // 3052
5697 o1.getTime = f989148965_487;
5698 // undefined
5699 o1 = null;
5700 // 3053
5701 f989148965_487.returns.push(1373483125165);
5702 // 3054
5703 o1 = {};
5704 // 3055
5705 f989148965_0.returns.push(o1);
5706 // 3056
5707 o1.getTime = f989148965_487;
5708 // undefined
5709 o1 = null;
5710 // 3057
5711 f989148965_487.returns.push(1373483125165);
5712 // 3058
5713 o1 = {};
5714 // 3059
5715 f989148965_0.returns.push(o1);
5716 // 3060
5717 o1.getTime = f989148965_487;
5718 // undefined
5719 o1 = null;
5720 // 3061
5721 f989148965_487.returns.push(1373483125165);
5722 // 3062
5723 o1 = {};
5724 // 3063
5725 f989148965_0.returns.push(o1);
5726 // 3064
5727 o1.getTime = f989148965_487;
5728 // undefined
5729 o1 = null;
5730 // 3065
5731 f989148965_487.returns.push(1373483125165);
5732 // 3066
5733 o1 = {};
5734 // 3067
5735 f989148965_0.returns.push(o1);
5736 // 3068
5737 o1.getTime = f989148965_487;
5738 // undefined
5739 o1 = null;
5740 // 3069
5741 f989148965_487.returns.push(1373483125171);
5742 // 3070
5743 o1 = {};
5744 // 3071
5745 f989148965_0.returns.push(o1);
5746 // 3072
5747 o1.getTime = f989148965_487;
5748 // undefined
5749 o1 = null;
5750 // 3073
5751 f989148965_487.returns.push(1373483125171);
5752 // 3074
5753 o1 = {};
5754 // 3075
5755 f989148965_0.returns.push(o1);
5756 // 3076
5757 o1.getTime = f989148965_487;
5758 // undefined
5759 o1 = null;
5760 // 3077
5761 f989148965_487.returns.push(1373483125171);
5762 // 3078
5763 o1 = {};
5764 // 3079
5765 f989148965_0.returns.push(o1);
5766 // 3080
5767 o1.getTime = f989148965_487;
5768 // undefined
5769 o1 = null;
5770 // 3081
5771 f989148965_487.returns.push(1373483125172);
5772 // 3082
5773 o1 = {};
5774 // 3083
5775 f989148965_0.returns.push(o1);
5776 // 3084
5777 o1.getTime = f989148965_487;
5778 // undefined
5779 o1 = null;
5780 // 3085
5781 f989148965_487.returns.push(1373483125172);
5782 // 3086
5783 o1 = {};
5784 // 3087
5785 f989148965_0.returns.push(o1);
5786 // 3088
5787 o1.getTime = f989148965_487;
5788 // undefined
5789 o1 = null;
5790 // 3089
5791 f989148965_487.returns.push(1373483125172);
5792 // 3090
5793 o1 = {};
5794 // 3091
5795 f989148965_0.returns.push(o1);
5796 // 3092
5797 o1.getTime = f989148965_487;
5798 // undefined
5799 o1 = null;
5800 // 3093
5801 f989148965_487.returns.push(1373483125173);
5802 // 3094
5803 o1 = {};
5804 // 3095
5805 f989148965_0.returns.push(o1);
5806 // 3096
5807 o1.getTime = f989148965_487;
5808 // undefined
5809 o1 = null;
5810 // 3097
5811 f989148965_487.returns.push(1373483125173);
5812 // 3098
5813 o1 = {};
5814 // 3099
5815 f989148965_0.returns.push(o1);
5816 // 3100
5817 o1.getTime = f989148965_487;
5818 // undefined
5819 o1 = null;
5820 // 3101
5821 f989148965_487.returns.push(1373483125173);
5822 // 3102
5823 o1 = {};
5824 // 3103
5825 f989148965_0.returns.push(o1);
5826 // 3104
5827 o1.getTime = f989148965_487;
5828 // undefined
5829 o1 = null;
5830 // 3105
5831 f989148965_487.returns.push(1373483125173);
5832 // 3106
5833 o1 = {};
5834 // 3107
5835 f989148965_0.returns.push(o1);
5836 // 3108
5837 o1.getTime = f989148965_487;
5838 // undefined
5839 o1 = null;
5840 // 3109
5841 f989148965_487.returns.push(1373483125173);
5842 // 3110
5843 o1 = {};
5844 // 3111
5845 f989148965_0.returns.push(o1);
5846 // 3112
5847 o1.getTime = f989148965_487;
5848 // undefined
5849 o1 = null;
5850 // 3113
5851 f989148965_487.returns.push(1373483125174);
5852 // 3114
5853 o1 = {};
5854 // 3115
5855 f989148965_0.returns.push(o1);
5856 // 3116
5857 o1.getTime = f989148965_487;
5858 // undefined
5859 o1 = null;
5860 // 3117
5861 f989148965_487.returns.push(1373483125174);
5862 // 3118
5863 o1 = {};
5864 // 3119
5865 f989148965_0.returns.push(o1);
5866 // 3120
5867 o1.getTime = f989148965_487;
5868 // undefined
5869 o1 = null;
5870 // 3121
5871 f989148965_487.returns.push(1373483125174);
5872 // 3122
5873 o1 = {};
5874 // 3123
5875 f989148965_0.returns.push(o1);
5876 // 3124
5877 o1.getTime = f989148965_487;
5878 // undefined
5879 o1 = null;
5880 // 3125
5881 f989148965_487.returns.push(1373483125174);
5882 // 3126
5883 o1 = {};
5884 // 3127
5885 f989148965_0.returns.push(o1);
5886 // 3128
5887 o1.getTime = f989148965_487;
5888 // undefined
5889 o1 = null;
5890 // 3129
5891 f989148965_487.returns.push(1373483125175);
5892 // 3130
5893 o1 = {};
5894 // 3131
5895 f989148965_0.returns.push(o1);
5896 // 3132
5897 o1.getTime = f989148965_487;
5898 // undefined
5899 o1 = null;
5900 // 3133
5901 f989148965_487.returns.push(1373483125175);
5902 // 3134
5903 o1 = {};
5904 // 3135
5905 f989148965_0.returns.push(o1);
5906 // 3136
5907 o1.getTime = f989148965_487;
5908 // undefined
5909 o1 = null;
5910 // 3137
5911 f989148965_487.returns.push(1373483125176);
5912 // 3138
5913 o1 = {};
5914 // 3139
5915 f989148965_0.returns.push(o1);
5916 // 3140
5917 o1.getTime = f989148965_487;
5918 // undefined
5919 o1 = null;
5920 // 3141
5921 f989148965_487.returns.push(1373483125176);
5922 // 3142
5923 o1 = {};
5924 // 3143
5925 f989148965_0.returns.push(o1);
5926 // 3144
5927 o1.getTime = f989148965_487;
5928 // undefined
5929 o1 = null;
5930 // 3145
5931 f989148965_487.returns.push(1373483125176);
5932 // 3146
5933 o1 = {};
5934 // 3147
5935 f989148965_0.returns.push(o1);
5936 // 3148
5937 o1.getTime = f989148965_487;
5938 // undefined
5939 o1 = null;
5940 // 3149
5941 f989148965_487.returns.push(1373483125176);
5942 // 3150
5943 o1 = {};
5944 // 3151
5945 f989148965_0.returns.push(o1);
5946 // 3152
5947 o1.getTime = f989148965_487;
5948 // undefined
5949 o1 = null;
5950 // 3153
5951 f989148965_487.returns.push(1373483125177);
5952 // 3154
5953 o1 = {};
5954 // 3155
5955 f989148965_0.returns.push(o1);
5956 // 3156
5957 o1.getTime = f989148965_487;
5958 // undefined
5959 o1 = null;
5960 // 3157
5961 f989148965_487.returns.push(1373483125177);
5962 // 3158
5963 o1 = {};
5964 // 3159
5965 f989148965_0.returns.push(o1);
5966 // 3160
5967 o1.getTime = f989148965_487;
5968 // undefined
5969 o1 = null;
5970 // 3161
5971 f989148965_487.returns.push(1373483125177);
5972 // 3162
5973 o1 = {};
5974 // 3163
5975 f989148965_0.returns.push(o1);
5976 // 3164
5977 o1.getTime = f989148965_487;
5978 // undefined
5979 o1 = null;
5980 // 3165
5981 f989148965_487.returns.push(1373483125177);
5982 // 3166
5983 o1 = {};
5984 // 3167
5985 f989148965_0.returns.push(o1);
5986 // 3168
5987 o1.getTime = f989148965_487;
5988 // undefined
5989 o1 = null;
5990 // 3169
5991 f989148965_487.returns.push(1373483125178);
5992 // 3170
5993 o1 = {};
5994 // 3171
5995 f989148965_0.returns.push(o1);
5996 // 3172
5997 o1.getTime = f989148965_487;
5998 // undefined
5999 o1 = null;
6000 // 3173
6001 f989148965_487.returns.push(1373483125178);
6002 // 3174
6003 o1 = {};
6004 // 3175
6005 f989148965_0.returns.push(o1);
6006 // 3176
6007 o1.getTime = f989148965_487;
6008 // undefined
6009 o1 = null;
6010 // 3177
6011 f989148965_487.returns.push(1373483125186);
6012 // 3178
6013 o1 = {};
6014 // 3179
6015 f989148965_0.returns.push(o1);
6016 // 3180
6017 o1.getTime = f989148965_487;
6018 // undefined
6019 o1 = null;
6020 // 3181
6021 f989148965_487.returns.push(1373483125186);
6022 // 3182
6023 o1 = {};
6024 // 3183
6025 f989148965_0.returns.push(o1);
6026 // 3184
6027 o1.getTime = f989148965_487;
6028 // undefined
6029 o1 = null;
6030 // 3185
6031 f989148965_487.returns.push(1373483125187);
6032 // 3186
6033 o1 = {};
6034 // 3187
6035 f989148965_0.returns.push(o1);
6036 // 3188
6037 o1.getTime = f989148965_487;
6038 // undefined
6039 o1 = null;
6040 // 3189
6041 f989148965_487.returns.push(1373483125187);
6042 // 3190
6043 o1 = {};
6044 // 3191
6045 f989148965_0.returns.push(o1);
6046 // 3192
6047 o1.getTime = f989148965_487;
6048 // undefined
6049 o1 = null;
6050 // 3193
6051 f989148965_487.returns.push(1373483125187);
6052 // 3194
6053 o1 = {};
6054 // 3195
6055 f989148965_0.returns.push(o1);
6056 // 3196
6057 o1.getTime = f989148965_487;
6058 // undefined
6059 o1 = null;
6060 // 3197
6061 f989148965_487.returns.push(1373483125187);
6062 // 3198
6063 o1 = {};
6064 // 3199
6065 f989148965_0.returns.push(o1);
6066 // 3200
6067 o1.getTime = f989148965_487;
6068 // undefined
6069 o1 = null;
6070 // 3201
6071 f989148965_487.returns.push(1373483125189);
6072 // 3202
6073 o1 = {};
6074 // 3203
6075 f989148965_0.returns.push(o1);
6076 // 3204
6077 o1.getTime = f989148965_487;
6078 // undefined
6079 o1 = null;
6080 // 3205
6081 f989148965_487.returns.push(1373483125190);
6082 // 3206
6083 o1 = {};
6084 // 3207
6085 f989148965_0.returns.push(o1);
6086 // 3208
6087 o1.getTime = f989148965_487;
6088 // undefined
6089 o1 = null;
6090 // 3209
6091 f989148965_487.returns.push(1373483125190);
6092 // 3210
6093 o1 = {};
6094 // 3211
6095 f989148965_0.returns.push(o1);
6096 // 3212
6097 o1.getTime = f989148965_487;
6098 // undefined
6099 o1 = null;
6100 // 3213
6101 f989148965_487.returns.push(1373483125190);
6102 // 3214
6103 o1 = {};
6104 // 3215
6105 f989148965_0.returns.push(o1);
6106 // 3216
6107 o1.getTime = f989148965_487;
6108 // undefined
6109 o1 = null;
6110 // 3217
6111 f989148965_487.returns.push(1373483125191);
6112 // 3218
6113 o1 = {};
6114 // 3219
6115 f989148965_0.returns.push(o1);
6116 // 3220
6117 o1.getTime = f989148965_487;
6118 // undefined
6119 o1 = null;
6120 // 3221
6121 f989148965_487.returns.push(1373483125191);
6122 // 3222
6123 o1 = {};
6124 // 3223
6125 f989148965_0.returns.push(o1);
6126 // 3224
6127 o1.getTime = f989148965_487;
6128 // undefined
6129 o1 = null;
6130 // 3225
6131 f989148965_487.returns.push(1373483125191);
6132 // 3226
6133 o1 = {};
6134 // 3227
6135 f989148965_0.returns.push(o1);
6136 // 3228
6137 o1.getTime = f989148965_487;
6138 // undefined
6139 o1 = null;
6140 // 3229
6141 f989148965_487.returns.push(1373483125191);
6142 // 3230
6143 o1 = {};
6144 // 3231
6145 f989148965_0.returns.push(o1);
6146 // 3232
6147 o1.getTime = f989148965_487;
6148 // undefined
6149 o1 = null;
6150 // 3233
6151 f989148965_487.returns.push(1373483125193);
6152 // 3234
6153 o1 = {};
6154 // 3235
6155 f989148965_0.returns.push(o1);
6156 // 3236
6157 o1.getTime = f989148965_487;
6158 // undefined
6159 o1 = null;
6160 // 3237
6161 f989148965_487.returns.push(1373483125193);
6162 // 3238
6163 o1 = {};
6164 // 3239
6165 f989148965_0.returns.push(o1);
6166 // 3240
6167 o1.getTime = f989148965_487;
6168 // undefined
6169 o1 = null;
6170 // 3241
6171 f989148965_487.returns.push(1373483125193);
6172 // 3242
6173 o1 = {};
6174 // 3243
6175 f989148965_0.returns.push(o1);
6176 // 3244
6177 o1.getTime = f989148965_487;
6178 // undefined
6179 o1 = null;
6180 // 3245
6181 f989148965_487.returns.push(1373483125193);
6182 // 3246
6183 o1 = {};
6184 // 3247
6185 f989148965_0.returns.push(o1);
6186 // 3248
6187 o1.getTime = f989148965_487;
6188 // undefined
6189 o1 = null;
6190 // 3249
6191 f989148965_487.returns.push(1373483125194);
6192 // 3250
6193 o1 = {};
6194 // 3251
6195 f989148965_0.returns.push(o1);
6196 // 3252
6197 o1.getTime = f989148965_487;
6198 // undefined
6199 o1 = null;
6200 // 3253
6201 f989148965_487.returns.push(1373483125195);
6202 // 3254
6203 o1 = {};
6204 // 3255
6205 f989148965_0.returns.push(o1);
6206 // 3256
6207 o1.getTime = f989148965_487;
6208 // undefined
6209 o1 = null;
6210 // 3257
6211 f989148965_487.returns.push(1373483125195);
6212 // 3258
6213 o1 = {};
6214 // 3259
6215 f989148965_0.returns.push(o1);
6216 // 3260
6217 o1.getTime = f989148965_487;
6218 // undefined
6219 o1 = null;
6220 // 3261
6221 f989148965_487.returns.push(1373483125195);
6222 // 3262
6223 o1 = {};
6224 // 3263
6225 f989148965_0.returns.push(o1);
6226 // 3264
6227 o1.getTime = f989148965_487;
6228 // undefined
6229 o1 = null;
6230 // 3265
6231 f989148965_487.returns.push(1373483125196);
6232 // 3266
6233 o1 = {};
6234 // 3267
6235 f989148965_0.returns.push(o1);
6236 // 3268
6237 o1.getTime = f989148965_487;
6238 // undefined
6239 o1 = null;
6240 // 3269
6241 f989148965_487.returns.push(1373483125196);
6242 // 3270
6243 o1 = {};
6244 // 3271
6245 f989148965_0.returns.push(o1);
6246 // 3272
6247 o1.getTime = f989148965_487;
6248 // undefined
6249 o1 = null;
6250 // 3273
6251 f989148965_487.returns.push(1373483125196);
6252 // 3274
6253 o1 = {};
6254 // 3275
6255 f989148965_0.returns.push(o1);
6256 // 3276
6257 o1.getTime = f989148965_487;
6258 // undefined
6259 o1 = null;
6260 // 3277
6261 f989148965_487.returns.push(1373483125196);
6262 // 3278
6263 o1 = {};
6264 // 3279
6265 f989148965_0.returns.push(o1);
6266 // 3280
6267 o1.getTime = f989148965_487;
6268 // undefined
6269 o1 = null;
6270 // 3281
6271 f989148965_487.returns.push(1373483125196);
6272 // 3282
6273 o1 = {};
6274 // 3283
6275 f989148965_0.returns.push(o1);
6276 // 3284
6277 o1.getTime = f989148965_487;
6278 // undefined
6279 o1 = null;
6280 // 3285
6281 f989148965_487.returns.push(1373483125202);
6282 // 3286
6283 o1 = {};
6284 // 3287
6285 f989148965_0.returns.push(o1);
6286 // 3288
6287 o1.getTime = f989148965_487;
6288 // undefined
6289 o1 = null;
6290 // 3289
6291 f989148965_487.returns.push(1373483125202);
6292 // 3290
6293 o1 = {};
6294 // 3291
6295 f989148965_0.returns.push(o1);
6296 // 3292
6297 o1.getTime = f989148965_487;
6298 // undefined
6299 o1 = null;
6300 // 3293
6301 f989148965_487.returns.push(1373483125202);
6302 // 3294
6303 o1 = {};
6304 // 3295
6305 f989148965_0.returns.push(o1);
6306 // 3296
6307 o1.getTime = f989148965_487;
6308 // undefined
6309 o1 = null;
6310 // 3297
6311 f989148965_487.returns.push(1373483125203);
6312 // 3298
6313 o1 = {};
6314 // 3299
6315 f989148965_0.returns.push(o1);
6316 // 3300
6317 o1.getTime = f989148965_487;
6318 // undefined
6319 o1 = null;
6320 // 3301
6321 f989148965_487.returns.push(1373483125203);
6322 // 3302
6323 o1 = {};
6324 // 3303
6325 f989148965_0.returns.push(o1);
6326 // 3304
6327 o1.getTime = f989148965_487;
6328 // undefined
6329 o1 = null;
6330 // 3305
6331 f989148965_487.returns.push(1373483125203);
6332 // 3306
6333 o1 = {};
6334 // 3307
6335 f989148965_0.returns.push(o1);
6336 // 3308
6337 o1.getTime = f989148965_487;
6338 // undefined
6339 o1 = null;
6340 // 3309
6341 f989148965_487.returns.push(1373483125203);
6342 // 3310
6343 o1 = {};
6344 // 3311
6345 f989148965_0.returns.push(o1);
6346 // 3312
6347 o1.getTime = f989148965_487;
6348 // undefined
6349 o1 = null;
6350 // 3313
6351 f989148965_487.returns.push(1373483125203);
6352 // 3314
6353 o1 = {};
6354 // 3315
6355 f989148965_0.returns.push(o1);
6356 // 3316
6357 o1.getTime = f989148965_487;
6358 // undefined
6359 o1 = null;
6360 // 3317
6361 f989148965_487.returns.push(1373483125205);
6362 // 3318
6363 o1 = {};
6364 // 3319
6365 f989148965_0.returns.push(o1);
6366 // 3320
6367 o1.getTime = f989148965_487;
6368 // undefined
6369 o1 = null;
6370 // 3321
6371 f989148965_487.returns.push(1373483125205);
6372 // 3322
6373 o1 = {};
6374 // 3323
6375 f989148965_0.returns.push(o1);
6376 // 3324
6377 o1.getTime = f989148965_487;
6378 // undefined
6379 o1 = null;
6380 // 3325
6381 f989148965_487.returns.push(1373483125205);
6382 // 3326
6383 o1 = {};
6384 // 3327
6385 f989148965_0.returns.push(o1);
6386 // 3328
6387 o1.getTime = f989148965_487;
6388 // undefined
6389 o1 = null;
6390 // 3329
6391 f989148965_487.returns.push(1373483125206);
6392 // 3330
6393 o1 = {};
6394 // 3331
6395 f989148965_0.returns.push(o1);
6396 // 3332
6397 o1.getTime = f989148965_487;
6398 // undefined
6399 o1 = null;
6400 // 3333
6401 f989148965_487.returns.push(1373483125206);
6402 // 3334
6403 o1 = {};
6404 // 3335
6405 f989148965_0.returns.push(o1);
6406 // 3336
6407 o1.getTime = f989148965_487;
6408 // undefined
6409 o1 = null;
6410 // 3337
6411 f989148965_487.returns.push(1373483125206);
6412 // 3338
6413 o1 = {};
6414 // 3339
6415 f989148965_0.returns.push(o1);
6416 // 3340
6417 o1.getTime = f989148965_487;
6418 // undefined
6419 o1 = null;
6420 // 3341
6421 f989148965_487.returns.push(1373483125208);
6422 // 3342
6423 o1 = {};
6424 // 3343
6425 f989148965_0.returns.push(o1);
6426 // 3344
6427 o1.getTime = f989148965_487;
6428 // undefined
6429 o1 = null;
6430 // 3345
6431 f989148965_487.returns.push(1373483125208);
6432 // 3346
6433 o1 = {};
6434 // 3347
6435 f989148965_0.returns.push(o1);
6436 // 3348
6437 o1.getTime = f989148965_487;
6438 // undefined
6439 o1 = null;
6440 // 3349
6441 f989148965_487.returns.push(1373483125209);
6442 // 3350
6443 o1 = {};
6444 // 3351
6445 f989148965_0.returns.push(o1);
6446 // 3352
6447 o1.getTime = f989148965_487;
6448 // undefined
6449 o1 = null;
6450 // 3353
6451 f989148965_487.returns.push(1373483125209);
6452 // 3354
6453 o1 = {};
6454 // 3355
6455 f989148965_0.returns.push(o1);
6456 // 3356
6457 o1.getTime = f989148965_487;
6458 // undefined
6459 o1 = null;
6460 // 3357
6461 f989148965_487.returns.push(1373483125209);
6462 // 3358
6463 o1 = {};
6464 // 3359
6465 f989148965_0.returns.push(o1);
6466 // 3360
6467 o1.getTime = f989148965_487;
6468 // undefined
6469 o1 = null;
6470 // 3361
6471 f989148965_487.returns.push(1373483125210);
6472 // 3362
6473 o1 = {};
6474 // 3363
6475 f989148965_0.returns.push(o1);
6476 // 3364
6477 o1.getTime = f989148965_487;
6478 // undefined
6479 o1 = null;
6480 // 3365
6481 f989148965_487.returns.push(1373483125210);
6482 // 3366
6483 o1 = {};
6484 // 3367
6485 f989148965_0.returns.push(o1);
6486 // 3368
6487 o1.getTime = f989148965_487;
6488 // undefined
6489 o1 = null;
6490 // 3369
6491 f989148965_487.returns.push(1373483125210);
6492 // 3370
6493 o1 = {};
6494 // 3371
6495 f989148965_0.returns.push(o1);
6496 // 3372
6497 o1.getTime = f989148965_487;
6498 // undefined
6499 o1 = null;
6500 // 3373
6501 f989148965_487.returns.push(1373483125212);
6502 // 3374
6503 o1 = {};
6504 // 3375
6505 f989148965_0.returns.push(o1);
6506 // 3376
6507 o1.getTime = f989148965_487;
6508 // undefined
6509 o1 = null;
6510 // 3377
6511 f989148965_487.returns.push(1373483125212);
6512 // 3378
6513 o1 = {};
6514 // 3379
6515 f989148965_0.returns.push(o1);
6516 // 3380
6517 o1.getTime = f989148965_487;
6518 // undefined
6519 o1 = null;
6520 // 3381
6521 f989148965_487.returns.push(1373483125212);
6522 // 3382
6523 o1 = {};
6524 // 3383
6525 f989148965_0.returns.push(o1);
6526 // 3384
6527 o1.getTime = f989148965_487;
6528 // undefined
6529 o1 = null;
6530 // 3385
6531 f989148965_487.returns.push(1373483125214);
6532 // 3386
6533 o1 = {};
6534 // 3387
6535 f989148965_0.returns.push(o1);
6536 // 3388
6537 o1.getTime = f989148965_487;
6538 // undefined
6539 o1 = null;
6540 // 3389
6541 f989148965_487.returns.push(1373483125214);
6542 // 3390
6543 o1 = {};
6544 // 3391
6545 f989148965_0.returns.push(o1);
6546 // 3392
6547 o1.getTime = f989148965_487;
6548 // undefined
6549 o1 = null;
6550 // 3393
6551 f989148965_487.returns.push(1373483125222);
6552 // 3394
6553 o1 = {};
6554 // 3395
6555 f989148965_0.returns.push(o1);
6556 // 3396
6557 o1.getTime = f989148965_487;
6558 // undefined
6559 o1 = null;
6560 // 3397
6561 f989148965_487.returns.push(1373483125222);
6562 // 3398
6563 o1 = {};
6564 // 3399
6565 f989148965_0.returns.push(o1);
6566 // 3400
6567 o1.getTime = f989148965_487;
6568 // undefined
6569 o1 = null;
6570 // 3401
6571 f989148965_487.returns.push(1373483125222);
6572 // 3402
6573 o1 = {};
6574 // 3403
6575 f989148965_0.returns.push(o1);
6576 // 3404
6577 o1.getTime = f989148965_487;
6578 // undefined
6579 o1 = null;
6580 // 3405
6581 f989148965_487.returns.push(1373483125223);
6582 // 3406
6583 o1 = {};
6584 // 3407
6585 f989148965_0.returns.push(o1);
6586 // 3408
6587 o1.getTime = f989148965_487;
6588 // undefined
6589 o1 = null;
6590 // 3409
6591 f989148965_487.returns.push(1373483125223);
6592 // 3410
6593 o1 = {};
6594 // 3411
6595 f989148965_0.returns.push(o1);
6596 // 3412
6597 o1.getTime = f989148965_487;
6598 // undefined
6599 o1 = null;
6600 // 3413
6601 f989148965_487.returns.push(1373483125223);
6602 // 3414
6603 o1 = {};
6604 // 3415
6605 f989148965_0.returns.push(o1);
6606 // 3416
6607 o1.getTime = f989148965_487;
6608 // undefined
6609 o1 = null;
6610 // 3417
6611 f989148965_487.returns.push(1373483125223);
6612 // 3418
6613 o1 = {};
6614 // 3419
6615 f989148965_0.returns.push(o1);
6616 // 3420
6617 o1.getTime = f989148965_487;
6618 // undefined
6619 o1 = null;
6620 // 3421
6621 f989148965_487.returns.push(1373483125223);
6622 // 3422
6623 o1 = {};
6624 // 3423
6625 f989148965_0.returns.push(o1);
6626 // 3424
6627 o1.getTime = f989148965_487;
6628 // undefined
6629 o1 = null;
6630 // 3425
6631 f989148965_487.returns.push(1373483125224);
6632 // 3426
6633 o1 = {};
6634 // 3427
6635 f989148965_0.returns.push(o1);
6636 // 3428
6637 o1.getTime = f989148965_487;
6638 // undefined
6639 o1 = null;
6640 // 3429
6641 f989148965_487.returns.push(1373483125224);
6642 // 3430
6643 o1 = {};
6644 // 3431
6645 f989148965_0.returns.push(o1);
6646 // 3432
6647 o1.getTime = f989148965_487;
6648 // undefined
6649 o1 = null;
6650 // 3433
6651 f989148965_487.returns.push(1373483125224);
6652 // 3434
6653 o1 = {};
6654 // 3435
6655 f989148965_0.returns.push(o1);
6656 // 3436
6657 o1.getTime = f989148965_487;
6658 // undefined
6659 o1 = null;
6660 // 3437
6661 f989148965_487.returns.push(1373483125225);
6662 // 3438
6663 o1 = {};
6664 // 3439
6665 f989148965_0.returns.push(o1);
6666 // 3440
6667 o1.getTime = f989148965_487;
6668 // undefined
6669 o1 = null;
6670 // 3441
6671 f989148965_487.returns.push(1373483125225);
6672 // 3442
6673 o1 = {};
6674 // 3443
6675 f989148965_0.returns.push(o1);
6676 // 3444
6677 o1.getTime = f989148965_487;
6678 // undefined
6679 o1 = null;
6680 // 3445
6681 f989148965_487.returns.push(1373483125225);
6682 // 3446
6683 o1 = {};
6684 // 3447
6685 f989148965_0.returns.push(o1);
6686 // 3448
6687 o1.getTime = f989148965_487;
6688 // undefined
6689 o1 = null;
6690 // 3449
6691 f989148965_487.returns.push(1373483125225);
6692 // 3450
6693 o1 = {};
6694 // 3451
6695 f989148965_0.returns.push(o1);
6696 // 3452
6697 o1.getTime = f989148965_487;
6698 // undefined
6699 o1 = null;
6700 // 3453
6701 f989148965_487.returns.push(1373483125226);
6702 // 3454
6703 o1 = {};
6704 // 3455
6705 f989148965_0.returns.push(o1);
6706 // 3456
6707 o1.getTime = f989148965_487;
6708 // undefined
6709 o1 = null;
6710 // 3457
6711 f989148965_487.returns.push(1373483125227);
6712 // 3458
6713 o1 = {};
6714 // 3459
6715 f989148965_0.returns.push(o1);
6716 // 3460
6717 o1.getTime = f989148965_487;
6718 // undefined
6719 o1 = null;
6720 // 3461
6721 f989148965_487.returns.push(1373483125227);
6722 // 3462
6723 o1 = {};
6724 // 3463
6725 f989148965_0.returns.push(o1);
6726 // 3464
6727 o1.getTime = f989148965_487;
6728 // undefined
6729 o1 = null;
6730 // 3465
6731 f989148965_487.returns.push(1373483125227);
6732 // 3466
6733 o1 = {};
6734 // 3467
6735 f989148965_0.returns.push(o1);
6736 // 3468
6737 o1.getTime = f989148965_487;
6738 // undefined
6739 o1 = null;
6740 // 3469
6741 f989148965_487.returns.push(1373483125227);
6742 // 3470
6743 o1 = {};
6744 // 3471
6745 f989148965_0.returns.push(o1);
6746 // 3472
6747 o1.getTime = f989148965_487;
6748 // undefined
6749 o1 = null;
6750 // 3473
6751 f989148965_487.returns.push(1373483125228);
6752 // 3474
6753 o1 = {};
6754 // 3475
6755 f989148965_0.returns.push(o1);
6756 // 3476
6757 o1.getTime = f989148965_487;
6758 // undefined
6759 o1 = null;
6760 // 3477
6761 f989148965_487.returns.push(1373483125228);
6762 // 3478
6763 o1 = {};
6764 // 3479
6765 f989148965_0.returns.push(o1);
6766 // 3480
6767 o1.getTime = f989148965_487;
6768 // undefined
6769 o1 = null;
6770 // 3481
6771 f989148965_487.returns.push(1373483125229);
6772 // 3482
6773 o1 = {};
6774 // 3483
6775 f989148965_0.returns.push(o1);
6776 // 3484
6777 o1.getTime = f989148965_487;
6778 // undefined
6779 o1 = null;
6780 // 3485
6781 f989148965_487.returns.push(1373483125229);
6782 // 3486
6783 o1 = {};
6784 // 3487
6785 f989148965_0.returns.push(o1);
6786 // 3488
6787 o1.getTime = f989148965_487;
6788 // undefined
6789 o1 = null;
6790 // 3489
6791 f989148965_487.returns.push(1373483125229);
6792 // 3490
6793 o1 = {};
6794 // 3491
6795 f989148965_0.returns.push(o1);
6796 // 3492
6797 o1.getTime = f989148965_487;
6798 // undefined
6799 o1 = null;
6800 // 3493
6801 f989148965_487.returns.push(1373483125229);
6802 // 3494
6803 o1 = {};
6804 // 3495
6805 f989148965_0.returns.push(o1);
6806 // 3496
6807 o1.getTime = f989148965_487;
6808 // undefined
6809 o1 = null;
6810 // 3497
6811 f989148965_487.returns.push(1373483125230);
6812 // 3498
6813 o1 = {};
6814 // 3499
6815 f989148965_0.returns.push(o1);
6816 // 3500
6817 o1.getTime = f989148965_487;
6818 // undefined
6819 o1 = null;
6820 // 3501
6821 f989148965_487.returns.push(1373483125233);
6822 // 3502
6823 o1 = {};
6824 // 3503
6825 f989148965_0.returns.push(o1);
6826 // 3504
6827 o1.getTime = f989148965_487;
6828 // undefined
6829 o1 = null;
6830 // 3505
6831 f989148965_487.returns.push(1373483125233);
6832 // 3506
6833 o1 = {};
6834 // 3507
6835 f989148965_0.returns.push(o1);
6836 // 3508
6837 o1.getTime = f989148965_487;
6838 // undefined
6839 o1 = null;
6840 // 3509
6841 f989148965_487.returns.push(1373483125234);
6842 // 3510
6843 o1 = {};
6844 // 3511
6845 f989148965_0.returns.push(o1);
6846 // 3512
6847 o1.getTime = f989148965_487;
6848 // undefined
6849 o1 = null;
6850 // 3513
6851 f989148965_487.returns.push(1373483125234);
6852 // 3514
6853 o1 = {};
6854 // 3515
6855 f989148965_0.returns.push(o1);
6856 // 3516
6857 o1.getTime = f989148965_487;
6858 // undefined
6859 o1 = null;
6860 // 3517
6861 f989148965_487.returns.push(1373483125235);
6862 // 3518
6863 o1 = {};
6864 // 3519
6865 f989148965_0.returns.push(o1);
6866 // 3520
6867 o1.getTime = f989148965_487;
6868 // undefined
6869 o1 = null;
6870 // 3521
6871 f989148965_487.returns.push(1373483125235);
6872 // 3522
6873 o1 = {};
6874 // 3523
6875 f989148965_0.returns.push(o1);
6876 // 3524
6877 o1.getTime = f989148965_487;
6878 // undefined
6879 o1 = null;
6880 // 3525
6881 f989148965_487.returns.push(1373483125235);
6882 // 3526
6883 o1 = {};
6884 // 3527
6885 f989148965_0.returns.push(o1);
6886 // 3528
6887 o1.getTime = f989148965_487;
6888 // undefined
6889 o1 = null;
6890 // 3529
6891 f989148965_487.returns.push(1373483125235);
6892 // 3530
6893 o1 = {};
6894 // 3531
6895 f989148965_0.returns.push(o1);
6896 // 3532
6897 o1.getTime = f989148965_487;
6898 // undefined
6899 o1 = null;
6900 // 3533
6901 f989148965_487.returns.push(1373483125235);
6902 // 3534
6903 o1 = {};
6904 // 3535
6905 f989148965_0.returns.push(o1);
6906 // 3536
6907 o1.getTime = f989148965_487;
6908 // undefined
6909 o1 = null;
6910 // 3537
6911 f989148965_487.returns.push(1373483125235);
6912 // 3538
6913 o1 = {};
6914 // 3539
6915 f989148965_0.returns.push(o1);
6916 // 3540
6917 o1.getTime = f989148965_487;
6918 // undefined
6919 o1 = null;
6920 // 3541
6921 f989148965_487.returns.push(1373483125236);
6922 // 3542
6923 o1 = {};
6924 // 3543
6925 f989148965_0.returns.push(o1);
6926 // 3544
6927 o1.getTime = f989148965_487;
6928 // undefined
6929 o1 = null;
6930 // 3545
6931 f989148965_487.returns.push(1373483125236);
6932 // 3546
6933 o1 = {};
6934 // 3547
6935 f989148965_0.returns.push(o1);
6936 // 3548
6937 o1.getTime = f989148965_487;
6938 // undefined
6939 o1 = null;
6940 // 3549
6941 f989148965_487.returns.push(1373483125236);
6942 // 3550
6943 o1 = {};
6944 // 3551
6945 f989148965_0.returns.push(o1);
6946 // 3552
6947 o1.getTime = f989148965_487;
6948 // undefined
6949 o1 = null;
6950 // 3553
6951 f989148965_487.returns.push(1373483125237);
6952 // 3554
6953 o1 = {};
6954 // 3555
6955 f989148965_0.returns.push(o1);
6956 // 3556
6957 o1.getTime = f989148965_487;
6958 // undefined
6959 o1 = null;
6960 // 3557
6961 f989148965_487.returns.push(1373483125237);
6962 // 3558
6963 o1 = {};
6964 // 3559
6965 f989148965_0.returns.push(o1);
6966 // 3560
6967 o1.getTime = f989148965_487;
6968 // undefined
6969 o1 = null;
6970 // 3561
6971 f989148965_487.returns.push(1373483125237);
6972 // 3562
6973 o1 = {};
6974 // 3563
6975 f989148965_0.returns.push(o1);
6976 // 3564
6977 o1.getTime = f989148965_487;
6978 // undefined
6979 o1 = null;
6980 // 3565
6981 f989148965_487.returns.push(1373483125237);
6982 // 3566
6983 o1 = {};
6984 // 3567
6985 f989148965_0.returns.push(o1);
6986 // 3568
6987 o1.getTime = f989148965_487;
6988 // undefined
6989 o1 = null;
6990 // 3569
6991 f989148965_487.returns.push(1373483125237);
6992 // 3570
6993 o1 = {};
6994 // 3571
6995 f989148965_0.returns.push(o1);
6996 // 3572
6997 o1.getTime = f989148965_487;
6998 // undefined
6999 o1 = null;
7000 // 3573
7001 f989148965_487.returns.push(1373483125238);
7002 // 3574
7003 o1 = {};
7004 // 3575
7005 f989148965_0.returns.push(o1);
7006 // 3576
7007 o1.getTime = f989148965_487;
7008 // undefined
7009 o1 = null;
7010 // 3577
7011 f989148965_487.returns.push(1373483125238);
7012 // 3578
7013 o1 = {};
7014 // 3579
7015 f989148965_0.returns.push(o1);
7016 // 3580
7017 o1.getTime = f989148965_487;
7018 // undefined
7019 o1 = null;
7020 // 3581
7021 f989148965_487.returns.push(1373483125238);
7022 // 3582
7023 o1 = {};
7024 // 3583
7025 f989148965_0.returns.push(o1);
7026 // 3584
7027 o1.getTime = f989148965_487;
7028 // undefined
7029 o1 = null;
7030 // 3585
7031 f989148965_487.returns.push(1373483125239);
7032 // 3586
7033 o1 = {};
7034 // 3587
7035 f989148965_0.returns.push(o1);
7036 // 3588
7037 o1.getTime = f989148965_487;
7038 // undefined
7039 o1 = null;
7040 // 3589
7041 f989148965_487.returns.push(1373483125239);
7042 // 3590
7043 o1 = {};
7044 // 3591
7045 f989148965_0.returns.push(o1);
7046 // 3592
7047 o1.getTime = f989148965_487;
7048 // undefined
7049 o1 = null;
7050 // 3593
7051 f989148965_487.returns.push(1373483125239);
7052 // 3594
7053 o1 = {};
7054 // 3595
7055 f989148965_0.returns.push(o1);
7056 // 3596
7057 o1.getTime = f989148965_487;
7058 // undefined
7059 o1 = null;
7060 // 3597
7061 f989148965_487.returns.push(1373483125240);
7062 // 3598
7063 o1 = {};
7064 // 3599
7065 f989148965_0.returns.push(o1);
7066 // 3600
7067 o1.getTime = f989148965_487;
7068 // undefined
7069 o1 = null;
7070 // 3601
7071 f989148965_487.returns.push(1373483125240);
7072 // 3602
7073 o1 = {};
7074 // 3603
7075 f989148965_0.returns.push(o1);
7076 // 3604
7077 o1.getTime = f989148965_487;
7078 // undefined
7079 o1 = null;
7080 // 3605
7081 f989148965_487.returns.push(1373483125246);
7082 // 3606
7083 o1 = {};
7084 // 3607
7085 f989148965_0.returns.push(o1);
7086 // 3608
7087 o1.getTime = f989148965_487;
7088 // undefined
7089 o1 = null;
7090 // 3609
7091 f989148965_487.returns.push(1373483125246);
7092 // 3610
7093 o1 = {};
7094 // 3611
7095 f989148965_0.returns.push(o1);
7096 // 3612
7097 o1.getTime = f989148965_487;
7098 // undefined
7099 o1 = null;
7100 // 3613
7101 f989148965_487.returns.push(1373483125247);
7102 // 3614
7103 o1 = {};
7104 // 3615
7105 f989148965_0.returns.push(o1);
7106 // 3616
7107 o1.getTime = f989148965_487;
7108 // undefined
7109 o1 = null;
7110 // 3617
7111 f989148965_487.returns.push(1373483125247);
7112 // 3618
7113 o1 = {};
7114 // 3619
7115 f989148965_0.returns.push(o1);
7116 // 3620
7117 o1.getTime = f989148965_487;
7118 // undefined
7119 o1 = null;
7120 // 3621
7121 f989148965_487.returns.push(1373483125247);
7122 // 3622
7123 o1 = {};
7124 // 3623
7125 f989148965_0.returns.push(o1);
7126 // 3624
7127 o1.getTime = f989148965_487;
7128 // undefined
7129 o1 = null;
7130 // 3625
7131 f989148965_487.returns.push(1373483125247);
7132 // 3626
7133 o1 = {};
7134 // 3627
7135 f989148965_0.returns.push(o1);
7136 // 3628
7137 o1.getTime = f989148965_487;
7138 // undefined
7139 o1 = null;
7140 // 3629
7141 f989148965_487.returns.push(1373483125247);
7142 // 3630
7143 o1 = {};
7144 // 3631
7145 f989148965_0.returns.push(o1);
7146 // 3632
7147 o1.getTime = f989148965_487;
7148 // undefined
7149 o1 = null;
7150 // 3633
7151 f989148965_487.returns.push(1373483125248);
7152 // 3634
7153 o1 = {};
7154 // 3635
7155 f989148965_0.returns.push(o1);
7156 // 3636
7157 o1.getTime = f989148965_487;
7158 // undefined
7159 o1 = null;
7160 // 3637
7161 f989148965_487.returns.push(1373483125248);
7162 // 3638
7163 o1 = {};
7164 // 3639
7165 f989148965_0.returns.push(o1);
7166 // 3640
7167 o1.getTime = f989148965_487;
7168 // undefined
7169 o1 = null;
7170 // 3641
7171 f989148965_487.returns.push(1373483125249);
7172 // 3642
7173 o1 = {};
7174 // 3643
7175 f989148965_0.returns.push(o1);
7176 // 3644
7177 o1.getTime = f989148965_487;
7178 // undefined
7179 o1 = null;
7180 // 3645
7181 f989148965_487.returns.push(1373483125249);
7182 // 3646
7183 o1 = {};
7184 // 3647
7185 f989148965_0.returns.push(o1);
7186 // 3648
7187 o1.getTime = f989148965_487;
7188 // undefined
7189 o1 = null;
7190 // 3649
7191 f989148965_487.returns.push(1373483125249);
7192 // 3650
7193 o1 = {};
7194 // 3651
7195 f989148965_0.returns.push(o1);
7196 // 3652
7197 o1.getTime = f989148965_487;
7198 // undefined
7199 o1 = null;
7200 // 3653
7201 f989148965_487.returns.push(1373483125250);
7202 // 3654
7203 o1 = {};
7204 // 3655
7205 f989148965_0.returns.push(o1);
7206 // 3656
7207 o1.getTime = f989148965_487;
7208 // undefined
7209 o1 = null;
7210 // 3657
7211 f989148965_487.returns.push(1373483125250);
7212 // 3658
7213 o1 = {};
7214 // 3659
7215 f989148965_0.returns.push(o1);
7216 // 3660
7217 o1.getTime = f989148965_487;
7218 // undefined
7219 o1 = null;
7220 // 3661
7221 f989148965_487.returns.push(1373483125260);
7222 // 3662
7223 o1 = {};
7224 // 3663
7225 f989148965_0.returns.push(o1);
7226 // 3664
7227 o1.getTime = f989148965_487;
7228 // undefined
7229 o1 = null;
7230 // 3665
7231 f989148965_487.returns.push(1373483125260);
7232 // 3666
7233 o1 = {};
7234 // 3667
7235 f989148965_0.returns.push(o1);
7236 // 3668
7237 o1.getTime = f989148965_487;
7238 // undefined
7239 o1 = null;
7240 // 3669
7241 f989148965_487.returns.push(1373483125261);
7242 // 3670
7243 o1 = {};
7244 // 3671
7245 f989148965_0.returns.push(o1);
7246 // 3672
7247 o1.getTime = f989148965_487;
7248 // undefined
7249 o1 = null;
7250 // 3673
7251 f989148965_487.returns.push(1373483125261);
7252 // 3674
7253 o1 = {};
7254 // 3675
7255 f989148965_0.returns.push(o1);
7256 // 3676
7257 o1.getTime = f989148965_487;
7258 // undefined
7259 o1 = null;
7260 // 3677
7261 f989148965_487.returns.push(1373483125261);
7262 // 3678
7263 o1 = {};
7264 // 3679
7265 f989148965_0.returns.push(o1);
7266 // 3680
7267 o1.getTime = f989148965_487;
7268 // undefined
7269 o1 = null;
7270 // 3681
7271 f989148965_487.returns.push(1373483125261);
7272 // 3682
7273 o1 = {};
7274 // 3683
7275 f989148965_0.returns.push(o1);
7276 // 3684
7277 o1.getTime = f989148965_487;
7278 // undefined
7279 o1 = null;
7280 // 3685
7281 f989148965_487.returns.push(1373483125261);
7282 // 3686
7283 o1 = {};
7284 // 3687
7285 f989148965_0.returns.push(o1);
7286 // 3688
7287 o1.getTime = f989148965_487;
7288 // undefined
7289 o1 = null;
7290 // 3689
7291 f989148965_487.returns.push(1373483125261);
7292 // 3690
7293 o1 = {};
7294 // 3691
7295 f989148965_0.returns.push(o1);
7296 // 3692
7297 o1.getTime = f989148965_487;
7298 // undefined
7299 o1 = null;
7300 // 3693
7301 f989148965_487.returns.push(1373483125262);
7302 // 3694
7303 o1 = {};
7304 // 3695
7305 f989148965_0.returns.push(o1);
7306 // 3696
7307 o1.getTime = f989148965_487;
7308 // undefined
7309 o1 = null;
7310 // 3697
7311 f989148965_487.returns.push(1373483125262);
7312 // 3698
7313 o1 = {};
7314 // 3699
7315 f989148965_0.returns.push(o1);
7316 // 3700
7317 o1.getTime = f989148965_487;
7318 // undefined
7319 o1 = null;
7320 // 3701
7321 f989148965_487.returns.push(1373483125262);
7322 // 3702
7323 o1 = {};
7324 // 3703
7325 f989148965_0.returns.push(o1);
7326 // 3704
7327 o1.getTime = f989148965_487;
7328 // undefined
7329 o1 = null;
7330 // 3705
7331 f989148965_487.returns.push(1373483125262);
7332 // 3706
7333 o1 = {};
7334 // 3707
7335 f989148965_0.returns.push(o1);
7336 // 3708
7337 o1.getTime = f989148965_487;
7338 // undefined
7339 o1 = null;
7340 // 3709
7341 f989148965_487.returns.push(1373483125263);
7342 // 3710
7343 o1 = {};
7344 // 3711
7345 f989148965_0.returns.push(o1);
7346 // 3712
7347 o1.getTime = f989148965_487;
7348 // undefined
7349 o1 = null;
7350 // 3713
7351 f989148965_487.returns.push(1373483125267);
7352 // 3714
7353 o1 = {};
7354 // 3715
7355 f989148965_0.returns.push(o1);
7356 // 3716
7357 o1.getTime = f989148965_487;
7358 // undefined
7359 o1 = null;
7360 // 3717
7361 f989148965_487.returns.push(1373483125267);
7362 // 3718
7363 o1 = {};
7364 // 3719
7365 f989148965_0.returns.push(o1);
7366 // 3720
7367 o1.getTime = f989148965_487;
7368 // undefined
7369 o1 = null;
7370 // 3721
7371 f989148965_487.returns.push(1373483125268);
7372 // 3722
7373 o1 = {};
7374 // 3723
7375 f989148965_0.returns.push(o1);
7376 // 3724
7377 o1.getTime = f989148965_487;
7378 // undefined
7379 o1 = null;
7380 // 3725
7381 f989148965_487.returns.push(1373483125268);
7382 // 3726
7383 o1 = {};
7384 // 3727
7385 f989148965_0.returns.push(o1);
7386 // 3728
7387 o1.getTime = f989148965_487;
7388 // undefined
7389 o1 = null;
7390 // 3729
7391 f989148965_487.returns.push(1373483125268);
7392 // 3730
7393 o1 = {};
7394 // 3731
7395 f989148965_0.returns.push(o1);
7396 // 3732
7397 o1.getTime = f989148965_487;
7398 // undefined
7399 o1 = null;
7400 // 3733
7401 f989148965_487.returns.push(1373483125268);
7402 // 3734
7403 o1 = {};
7404 // 3735
7405 f989148965_0.returns.push(o1);
7406 // 3736
7407 o1.getTime = f989148965_487;
7408 // undefined
7409 o1 = null;
7410 // 3737
7411 f989148965_487.returns.push(1373483125268);
7412 // 3738
7413 o1 = {};
7414 // 3739
7415 f989148965_0.returns.push(o1);
7416 // 3740
7417 o1.getTime = f989148965_487;
7418 // undefined
7419 o1 = null;
7420 // 3741
7421 f989148965_487.returns.push(1373483125269);
7422 // 3742
7423 o1 = {};
7424 // 3743
7425 f989148965_0.returns.push(o1);
7426 // 3744
7427 o1.getTime = f989148965_487;
7428 // undefined
7429 o1 = null;
7430 // 3745
7431 f989148965_487.returns.push(1373483125269);
7432 // 3746
7433 o1 = {};
7434 // 3747
7435 f989148965_0.returns.push(o1);
7436 // 3748
7437 o1.getTime = f989148965_487;
7438 // undefined
7439 o1 = null;
7440 // 3749
7441 f989148965_487.returns.push(1373483125270);
7442 // 3750
7443 o1 = {};
7444 // 3751
7445 f989148965_0.returns.push(o1);
7446 // 3752
7447 o1.getTime = f989148965_487;
7448 // undefined
7449 o1 = null;
7450 // 3753
7451 f989148965_487.returns.push(1373483125270);
7452 // 3754
7453 o1 = {};
7454 // 3755
7455 f989148965_0.returns.push(o1);
7456 // 3756
7457 o1.getTime = f989148965_487;
7458 // undefined
7459 o1 = null;
7460 // 3757
7461 f989148965_487.returns.push(1373483125271);
7462 // 3758
7463 o1 = {};
7464 // 3759
7465 f989148965_0.returns.push(o1);
7466 // 3760
7467 o1.getTime = f989148965_487;
7468 // undefined
7469 o1 = null;
7470 // 3761
7471 f989148965_487.returns.push(1373483125271);
7472 // 3762
7473 o1 = {};
7474 // 3763
7475 f989148965_0.returns.push(o1);
7476 // 3764
7477 o1.getTime = f989148965_487;
7478 // undefined
7479 o1 = null;
7480 // 3765
7481 f989148965_487.returns.push(1373483125271);
7482 // 3766
7483 o1 = {};
7484 // 3767
7485 f989148965_0.returns.push(o1);
7486 // 3768
7487 o1.getTime = f989148965_487;
7488 // undefined
7489 o1 = null;
7490 // 3769
7491 f989148965_487.returns.push(1373483125272);
7492 // 3770
7493 o1 = {};
7494 // 3771
7495 f989148965_0.returns.push(o1);
7496 // 3772
7497 o1.getTime = f989148965_487;
7498 // undefined
7499 o1 = null;
7500 // 3773
7501 f989148965_487.returns.push(1373483125272);
7502 // 3774
7503 o1 = {};
7504 // 3775
7505 f989148965_0.returns.push(o1);
7506 // 3776
7507 o1.getTime = f989148965_487;
7508 // undefined
7509 o1 = null;
7510 // 3777
7511 f989148965_487.returns.push(1373483125272);
7512 // 3778
7513 o1 = {};
7514 // 3779
7515 f989148965_0.returns.push(o1);
7516 // 3780
7517 o1.getTime = f989148965_487;
7518 // undefined
7519 o1 = null;
7520 // 3781
7521 f989148965_487.returns.push(1373483125272);
7522 // 3782
7523 o1 = {};
7524 // 3783
7525 f989148965_0.returns.push(o1);
7526 // 3784
7527 o1.getTime = f989148965_487;
7528 // undefined
7529 o1 = null;
7530 // 3785
7531 f989148965_487.returns.push(1373483125273);
7532 // 3786
7533 o1 = {};
7534 // 3787
7535 f989148965_0.returns.push(o1);
7536 // 3788
7537 o1.getTime = f989148965_487;
7538 // undefined
7539 o1 = null;
7540 // 3789
7541 f989148965_487.returns.push(1373483125274);
7542 // 3790
7543 o1 = {};
7544 // 3791
7545 f989148965_0.returns.push(o1);
7546 // 3792
7547 o1.getTime = f989148965_487;
7548 // undefined
7549 o1 = null;
7550 // 3793
7551 f989148965_487.returns.push(1373483125274);
7552 // 3794
7553 o1 = {};
7554 // 3795
7555 f989148965_0.returns.push(o1);
7556 // 3796
7557 o1.getTime = f989148965_487;
7558 // undefined
7559 o1 = null;
7560 // 3797
7561 f989148965_487.returns.push(1373483125274);
7562 // 3798
7563 o1 = {};
7564 // 3799
7565 f989148965_0.returns.push(o1);
7566 // 3800
7567 o1.getTime = f989148965_487;
7568 // undefined
7569 o1 = null;
7570 // 3801
7571 f989148965_487.returns.push(1373483125275);
7572 // 3802
7573 o1 = {};
7574 // 3803
7575 f989148965_0.returns.push(o1);
7576 // 3804
7577 o1.getTime = f989148965_487;
7578 // undefined
7579 o1 = null;
7580 // 3805
7581 f989148965_487.returns.push(1373483125276);
7582 // 3806
7583 o1 = {};
7584 // 3807
7585 f989148965_0.returns.push(o1);
7586 // 3808
7587 o1.getTime = f989148965_487;
7588 // undefined
7589 o1 = null;
7590 // 3809
7591 f989148965_487.returns.push(1373483125276);
7592 // 3810
7593 o1 = {};
7594 // 3811
7595 f989148965_0.returns.push(o1);
7596 // 3812
7597 o1.getTime = f989148965_487;
7598 // undefined
7599 o1 = null;
7600 // 3813
7601 f989148965_487.returns.push(1373483125276);
7602 // 3814
7603 o1 = {};
7604 // 3815
7605 f989148965_0.returns.push(o1);
7606 // 3816
7607 o1.getTime = f989148965_487;
7608 // undefined
7609 o1 = null;
7610 // 3817
7611 f989148965_487.returns.push(1373483125281);
7612 // 3818
7613 o1 = {};
7614 // 3819
7615 f989148965_0.returns.push(o1);
7616 // 3820
7617 o1.getTime = f989148965_487;
7618 // undefined
7619 o1 = null;
7620 // 3821
7621 f989148965_487.returns.push(1373483125282);
7622 // 3822
7623 o1 = {};
7624 // 3823
7625 f989148965_0.returns.push(o1);
7626 // 3824
7627 o1.getTime = f989148965_487;
7628 // undefined
7629 o1 = null;
7630 // 3825
7631 f989148965_487.returns.push(1373483125282);
7632 // 3826
7633 o1 = {};
7634 // 3827
7635 f989148965_0.returns.push(o1);
7636 // 3828
7637 o1.getTime = f989148965_487;
7638 // undefined
7639 o1 = null;
7640 // 3829
7641 f989148965_487.returns.push(1373483125282);
7642 // 3830
7643 o1 = {};
7644 // 3831
7645 f989148965_0.returns.push(o1);
7646 // 3832
7647 o1.getTime = f989148965_487;
7648 // undefined
7649 o1 = null;
7650 // 3833
7651 f989148965_487.returns.push(1373483125282);
7652 // 3834
7653 o1 = {};
7654 // 3835
7655 f989148965_0.returns.push(o1);
7656 // 3836
7657 o1.getTime = f989148965_487;
7658 // undefined
7659 o1 = null;
7660 // 3837
7661 f989148965_487.returns.push(1373483125283);
7662 // 3838
7663 o1 = {};
7664 // 3839
7665 f989148965_0.returns.push(o1);
7666 // 3840
7667 o1.getTime = f989148965_487;
7668 // undefined
7669 o1 = null;
7670 // 3841
7671 f989148965_487.returns.push(1373483125283);
7672 // 3842
7673 o1 = {};
7674 // 3843
7675 f989148965_0.returns.push(o1);
7676 // 3844
7677 o1.getTime = f989148965_487;
7678 // undefined
7679 o1 = null;
7680 // 3845
7681 f989148965_487.returns.push(1373483125284);
7682 // 3846
7683 o1 = {};
7684 // 3847
7685 f989148965_0.returns.push(o1);
7686 // 3848
7687 o1.getTime = f989148965_487;
7688 // undefined
7689 o1 = null;
7690 // 3849
7691 f989148965_487.returns.push(1373483125284);
7692 // 3850
7693 o1 = {};
7694 // 3851
7695 f989148965_0.returns.push(o1);
7696 // 3852
7697 o1.getTime = f989148965_487;
7698 // undefined
7699 o1 = null;
7700 // 3853
7701 f989148965_487.returns.push(1373483125284);
7702 // 3854
7703 o1 = {};
7704 // 3855
7705 f989148965_0.returns.push(o1);
7706 // 3856
7707 o1.getTime = f989148965_487;
7708 // undefined
7709 o1 = null;
7710 // 3857
7711 f989148965_487.returns.push(1373483125285);
7712 // 3858
7713 o1 = {};
7714 // 3859
7715 f989148965_0.returns.push(o1);
7716 // 3860
7717 o1.getTime = f989148965_487;
7718 // undefined
7719 o1 = null;
7720 // 3861
7721 f989148965_487.returns.push(1373483125285);
7722 // 3862
7723 o1 = {};
7724 // 3863
7725 f989148965_0.returns.push(o1);
7726 // 3864
7727 o1.getTime = f989148965_487;
7728 // undefined
7729 o1 = null;
7730 // 3865
7731 f989148965_487.returns.push(1373483125286);
7732 // 3866
7733 o1 = {};
7734 // 3867
7735 f989148965_0.returns.push(o1);
7736 // 3868
7737 o1.getTime = f989148965_487;
7738 // undefined
7739 o1 = null;
7740 // 3869
7741 f989148965_487.returns.push(1373483125287);
7742 // 3870
7743 o1 = {};
7744 // 3871
7745 f989148965_0.returns.push(o1);
7746 // 3872
7747 o1.getTime = f989148965_487;
7748 // undefined
7749 o1 = null;
7750 // 3873
7751 f989148965_487.returns.push(1373483125287);
7752 // 3874
7753 o1 = {};
7754 // 3875
7755 f989148965_0.returns.push(o1);
7756 // 3876
7757 o1.getTime = f989148965_487;
7758 // undefined
7759 o1 = null;
7760 // 3877
7761 f989148965_487.returns.push(1373483125287);
7762 // 3878
7763 o1 = {};
7764 // 3879
7765 f989148965_0.returns.push(o1);
7766 // 3880
7767 o1.getTime = f989148965_487;
7768 // undefined
7769 o1 = null;
7770 // 3881
7771 f989148965_487.returns.push(1373483125287);
7772 // 3882
7773 o1 = {};
7774 // 3883
7775 f989148965_0.returns.push(o1);
7776 // 3884
7777 o1.getTime = f989148965_487;
7778 // undefined
7779 o1 = null;
7780 // 3885
7781 f989148965_487.returns.push(1373483125287);
7782 // 3886
7783 o1 = {};
7784 // 3887
7785 f989148965_0.returns.push(o1);
7786 // 3888
7787 o1.getTime = f989148965_487;
7788 // undefined
7789 o1 = null;
7790 // 3889
7791 f989148965_487.returns.push(1373483125287);
7792 // 3890
7793 o1 = {};
7794 // 3891
7795 f989148965_0.returns.push(o1);
7796 // 3892
7797 o1.getTime = f989148965_487;
7798 // undefined
7799 o1 = null;
7800 // 3893
7801 f989148965_487.returns.push(1373483125288);
7802 // 3894
7803 o1 = {};
7804 // 3895
7805 f989148965_0.returns.push(o1);
7806 // 3896
7807 o1.getTime = f989148965_487;
7808 // undefined
7809 o1 = null;
7810 // 3897
7811 f989148965_487.returns.push(1373483125288);
7812 // 3898
7813 o1 = {};
7814 // 3899
7815 f989148965_0.returns.push(o1);
7816 // 3900
7817 o1.getTime = f989148965_487;
7818 // undefined
7819 o1 = null;
7820 // 3901
7821 f989148965_487.returns.push(1373483125288);
7822 // 3902
7823 o1 = {};
7824 // 3903
7825 f989148965_0.returns.push(o1);
7826 // 3904
7827 o1.getTime = f989148965_487;
7828 // undefined
7829 o1 = null;
7830 // 3905
7831 f989148965_487.returns.push(1373483125289);
7832 // 3906
7833 o1 = {};
7834 // 3907
7835 f989148965_0.returns.push(o1);
7836 // 3908
7837 o1.getTime = f989148965_487;
7838 // undefined
7839 o1 = null;
7840 // 3909
7841 f989148965_487.returns.push(1373483125289);
7842 // 3910
7843 o1 = {};
7844 // 3911
7845 f989148965_0.returns.push(o1);
7846 // 3912
7847 o1.getTime = f989148965_487;
7848 // undefined
7849 o1 = null;
7850 // 3913
7851 f989148965_487.returns.push(1373483125289);
7852 // 3914
7853 o1 = {};
7854 // 3915
7855 f989148965_0.returns.push(o1);
7856 // 3916
7857 o1.getTime = f989148965_487;
7858 // undefined
7859 o1 = null;
7860 // 3917
7861 f989148965_487.returns.push(1373483125289);
7862 // 3918
7863 o1 = {};
7864 // 3919
7865 f989148965_0.returns.push(o1);
7866 // 3920
7867 o1.getTime = f989148965_487;
7868 // undefined
7869 o1 = null;
7870 // 3921
7871 f989148965_487.returns.push(1373483125289);
7872 // 3922
7873 o1 = {};
7874 // 3923
7875 f989148965_0.returns.push(o1);
7876 // 3924
7877 o1.getTime = f989148965_487;
7878 // undefined
7879 o1 = null;
7880 // 3925
7881 f989148965_487.returns.push(1373483125293);
7882 // 3926
7883 o1 = {};
7884 // 3927
7885 f989148965_0.returns.push(o1);
7886 // 3928
7887 o1.getTime = f989148965_487;
7888 // undefined
7889 o1 = null;
7890 // 3929
7891 f989148965_487.returns.push(1373483125293);
7892 // 3930
7893 o1 = {};
7894 // 3931
7895 f989148965_0.returns.push(o1);
7896 // 3932
7897 o1.getTime = f989148965_487;
7898 // undefined
7899 o1 = null;
7900 // 3933
7901 f989148965_487.returns.push(1373483125293);
7902 // 3934
7903 o1 = {};
7904 // 3935
7905 f989148965_0.returns.push(o1);
7906 // 3936
7907 o1.getTime = f989148965_487;
7908 // undefined
7909 o1 = null;
7910 // 3937
7911 f989148965_487.returns.push(1373483125294);
7912 // 3938
7913 o1 = {};
7914 // 3939
7915 f989148965_0.returns.push(o1);
7916 // 3940
7917 o1.getTime = f989148965_487;
7918 // undefined
7919 o1 = null;
7920 // 3941
7921 f989148965_487.returns.push(1373483125294);
7922 // 3942
7923 o1 = {};
7924 // 3943
7925 f989148965_0.returns.push(o1);
7926 // 3944
7927 o1.getTime = f989148965_487;
7928 // undefined
7929 o1 = null;
7930 // 3945
7931 f989148965_487.returns.push(1373483125295);
7932 // 3946
7933 o1 = {};
7934 // 3947
7935 f989148965_0.returns.push(o1);
7936 // 3948
7937 o1.getTime = f989148965_487;
7938 // undefined
7939 o1 = null;
7940 // 3949
7941 f989148965_487.returns.push(1373483125295);
7942 // 3950
7943 o1 = {};
7944 // 3951
7945 f989148965_0.returns.push(o1);
7946 // 3952
7947 o1.getTime = f989148965_487;
7948 // undefined
7949 o1 = null;
7950 // 3953
7951 f989148965_487.returns.push(1373483125295);
7952 // 3954
7953 o1 = {};
7954 // 3955
7955 f989148965_0.returns.push(o1);
7956 // 3956
7957 o1.getTime = f989148965_487;
7958 // undefined
7959 o1 = null;
7960 // 3957
7961 f989148965_487.returns.push(1373483125295);
7962 // 3958
7963 o1 = {};
7964 // 3959
7965 f989148965_0.returns.push(o1);
7966 // 3960
7967 o1.getTime = f989148965_487;
7968 // undefined
7969 o1 = null;
7970 // 3961
7971 f989148965_487.returns.push(1373483125295);
7972 // 3962
7973 o1 = {};
7974 // 3963
7975 f989148965_0.returns.push(o1);
7976 // 3964
7977 o1.getTime = f989148965_487;
7978 // undefined
7979 o1 = null;
7980 // 3965
7981 f989148965_487.returns.push(1373483125295);
7982 // 3966
7983 o1 = {};
7984 // 3967
7985 f989148965_0.returns.push(o1);
7986 // 3968
7987 o1.getTime = f989148965_487;
7988 // undefined
7989 o1 = null;
7990 // 3969
7991 f989148965_487.returns.push(1373483125296);
7992 // 3970
7993 o1 = {};
7994 // 3971
7995 f989148965_0.returns.push(o1);
7996 // 3972
7997 o1.getTime = f989148965_487;
7998 // undefined
7999 o1 = null;
8000 // 3973
8001 f989148965_487.returns.push(1373483125296);
8002 // 3974
8003 o1 = {};
8004 // 3975
8005 f989148965_0.returns.push(o1);
8006 // 3976
8007 o1.getTime = f989148965_487;
8008 // undefined
8009 o1 = null;
8010 // 3977
8011 f989148965_487.returns.push(1373483125296);
8012 // 3978
8013 o1 = {};
8014 // 3979
8015 f989148965_0.returns.push(o1);
8016 // 3980
8017 o1.getTime = f989148965_487;
8018 // undefined
8019 o1 = null;
8020 // 3981
8021 f989148965_487.returns.push(1373483125297);
8022 // 3982
8023 o1 = {};
8024 // 3983
8025 f989148965_0.returns.push(o1);
8026 // 3984
8027 o1.getTime = f989148965_487;
8028 // undefined
8029 o1 = null;
8030 // 3985
8031 f989148965_487.returns.push(1373483125297);
8032 // 3986
8033 o1 = {};
8034 // 3987
8035 f989148965_0.returns.push(o1);
8036 // 3988
8037 o1.getTime = f989148965_487;
8038 // undefined
8039 o1 = null;
8040 // 3989
8041 f989148965_487.returns.push(1373483125297);
8042 // 3990
8043 o1 = {};
8044 // 3991
8045 f989148965_0.returns.push(o1);
8046 // 3992
8047 o1.getTime = f989148965_487;
8048 // undefined
8049 o1 = null;
8050 // 3993
8051 f989148965_487.returns.push(1373483125298);
8052 // 3994
8053 o1 = {};
8054 // 3995
8055 f989148965_0.returns.push(o1);
8056 // 3996
8057 o1.getTime = f989148965_487;
8058 // undefined
8059 o1 = null;
8060 // 3997
8061 f989148965_487.returns.push(1373483125298);
8062 // 3998
8063 o1 = {};
8064 // 3999
8065 f989148965_0.returns.push(o1);
8066 // 4000
8067 o1.getTime = f989148965_487;
8068 // undefined
8069 o1 = null;
8070 // 4001
8071 f989148965_487.returns.push(1373483125298);
8072 // 4002
8073 o1 = {};
8074 // 4003
8075 f989148965_0.returns.push(o1);
8076 // 4004
8077 o1.getTime = f989148965_487;
8078 // undefined
8079 o1 = null;
8080 // 4005
8081 f989148965_487.returns.push(1373483125299);
8082 // 4006
8083 o1 = {};
8084 // 4007
8085 f989148965_0.returns.push(o1);
8086 // 4008
8087 o1.getTime = f989148965_487;
8088 // undefined
8089 o1 = null;
8090 // 4009
8091 f989148965_487.returns.push(1373483125299);
8092 // 4010
8093 o1 = {};
8094 // 4011
8095 f989148965_0.returns.push(o1);
8096 // 4012
8097 o1.getTime = f989148965_487;
8098 // undefined
8099 o1 = null;
8100 // 4013
8101 f989148965_487.returns.push(1373483125299);
8102 // 4014
8103 o1 = {};
8104 // 4015
8105 f989148965_0.returns.push(o1);
8106 // 4016
8107 o1.getTime = f989148965_487;
8108 // undefined
8109 o1 = null;
8110 // 4017
8111 f989148965_487.returns.push(1373483125299);
8112 // 4018
8113 o1 = {};
8114 // 4019
8115 f989148965_0.returns.push(o1);
8116 // 4020
8117 o1.getTime = f989148965_487;
8118 // undefined
8119 o1 = null;
8120 // 4021
8121 f989148965_487.returns.push(1373483125299);
8122 // 4022
8123 o1 = {};
8124 // 4023
8125 f989148965_0.returns.push(o1);
8126 // 4024
8127 o1.getTime = f989148965_487;
8128 // undefined
8129 o1 = null;
8130 // 4025
8131 f989148965_487.returns.push(1373483125299);
8132 // 4026
8133 o1 = {};
8134 // 4027
8135 f989148965_0.returns.push(o1);
8136 // 4028
8137 o1.getTime = f989148965_487;
8138 // undefined
8139 o1 = null;
8140 // 4029
8141 f989148965_487.returns.push(1373483125305);
8142 // 4030
8143 o1 = {};
8144 // 4031
8145 f989148965_0.returns.push(o1);
8146 // 4032
8147 o1.getTime = f989148965_487;
8148 // undefined
8149 o1 = null;
8150 // 4033
8151 f989148965_487.returns.push(1373483125306);
8152 // 4034
8153 o1 = {};
8154 // 4035
8155 f989148965_0.returns.push(o1);
8156 // 4036
8157 o1.getTime = f989148965_487;
8158 // undefined
8159 o1 = null;
8160 // 4037
8161 f989148965_487.returns.push(1373483125306);
8162 // 4038
8163 o1 = {};
8164 // 4039
8165 f989148965_0.returns.push(o1);
8166 // 4040
8167 o1.getTime = f989148965_487;
8168 // undefined
8169 o1 = null;
8170 // 4041
8171 f989148965_487.returns.push(1373483125307);
8172 // 4042
8173 o1 = {};
8174 // 4043
8175 f989148965_0.returns.push(o1);
8176 // 4044
8177 o1.getTime = f989148965_487;
8178 // undefined
8179 o1 = null;
8180 // 4045
8181 f989148965_487.returns.push(1373483125307);
8182 // 4046
8183 o1 = {};
8184 // 4047
8185 f989148965_0.returns.push(o1);
8186 // 4048
8187 o1.getTime = f989148965_487;
8188 // undefined
8189 o1 = null;
8190 // 4049
8191 f989148965_487.returns.push(1373483125307);
8192 // 4050
8193 o1 = {};
8194 // 4051
8195 f989148965_0.returns.push(o1);
8196 // 4052
8197 o1.getTime = f989148965_487;
8198 // undefined
8199 o1 = null;
8200 // 4053
8201 f989148965_487.returns.push(1373483125308);
8202 // 4054
8203 o1 = {};
8204 // 4055
8205 f989148965_0.returns.push(o1);
8206 // 4056
8207 o1.getTime = f989148965_487;
8208 // undefined
8209 o1 = null;
8210 // 4057
8211 f989148965_487.returns.push(1373483125308);
8212 // 4058
8213 o1 = {};
8214 // 4059
8215 f989148965_0.returns.push(o1);
8216 // 4060
8217 o1.getTime = f989148965_487;
8218 // undefined
8219 o1 = null;
8220 // 4061
8221 f989148965_487.returns.push(1373483125309);
8222 // 4062
8223 o1 = {};
8224 // 4063
8225 f989148965_0.returns.push(o1);
8226 // 4064
8227 o1.getTime = f989148965_487;
8228 // undefined
8229 o1 = null;
8230 // 4065
8231 f989148965_487.returns.push(1373483125309);
8232 // 4066
8233 o1 = {};
8234 // 4067
8235 f989148965_0.returns.push(o1);
8236 // 4068
8237 o1.getTime = f989148965_487;
8238 // undefined
8239 o1 = null;
8240 // 4069
8241 f989148965_487.returns.push(1373483125309);
8242 // 4070
8243 o1 = {};
8244 // 4071
8245 f989148965_0.returns.push(o1);
8246 // 4072
8247 o1.getTime = f989148965_487;
8248 // undefined
8249 o1 = null;
8250 // 4073
8251 f989148965_487.returns.push(1373483125310);
8252 // 4074
8253 o1 = {};
8254 // 4075
8255 f989148965_0.returns.push(o1);
8256 // 4076
8257 o1.getTime = f989148965_487;
8258 // undefined
8259 o1 = null;
8260 // 4077
8261 f989148965_487.returns.push(1373483125310);
8262 // 4078
8263 o1 = {};
8264 // 4079
8265 f989148965_0.returns.push(o1);
8266 // 4080
8267 o1.getTime = f989148965_487;
8268 // undefined
8269 o1 = null;
8270 // 4081
8271 f989148965_487.returns.push(1373483125311);
8272 // 4082
8273 o1 = {};
8274 // 4083
8275 f989148965_0.returns.push(o1);
8276 // 4084
8277 o1.getTime = f989148965_487;
8278 // undefined
8279 o1 = null;
8280 // 4085
8281 f989148965_487.returns.push(1373483125311);
8282 // 4086
8283 o1 = {};
8284 // 4087
8285 f989148965_0.returns.push(o1);
8286 // 4088
8287 o1.getTime = f989148965_487;
8288 // undefined
8289 o1 = null;
8290 // 4089
8291 f989148965_487.returns.push(1373483125311);
8292 // 4090
8293 o1 = {};
8294 // 4091
8295 f989148965_0.returns.push(o1);
8296 // 4092
8297 o1.getTime = f989148965_487;
8298 // undefined
8299 o1 = null;
8300 // 4093
8301 f989148965_487.returns.push(1373483125312);
8302 // 4094
8303 o1 = {};
8304 // 4095
8305 f989148965_0.returns.push(o1);
8306 // 4096
8307 o1.getTime = f989148965_487;
8308 // undefined
8309 o1 = null;
8310 // 4097
8311 f989148965_487.returns.push(1373483125312);
8312 // 4098
8313 o1 = {};
8314 // 4099
8315 f989148965_0.returns.push(o1);
8316 // 4100
8317 o1.getTime = f989148965_487;
8318 // undefined
8319 o1 = null;
8320 // 4101
8321 f989148965_487.returns.push(1373483125312);
8322 // 4102
8323 o1 = {};
8324 // 4103
8325 f989148965_0.returns.push(o1);
8326 // 4104
8327 o1.getTime = f989148965_487;
8328 // undefined
8329 o1 = null;
8330 // 4105
8331 f989148965_487.returns.push(1373483125312);
8332 // 4106
8333 o1 = {};
8334 // 4107
8335 f989148965_0.returns.push(o1);
8336 // 4108
8337 o1.getTime = f989148965_487;
8338 // undefined
8339 o1 = null;
8340 // 4109
8341 f989148965_487.returns.push(1373483125312);
8342 // 4110
8343 o1 = {};
8344 // 4111
8345 f989148965_0.returns.push(o1);
8346 // 4112
8347 o1.getTime = f989148965_487;
8348 // undefined
8349 o1 = null;
8350 // 4113
8351 f989148965_487.returns.push(1373483125313);
8352 // 4114
8353 o1 = {};
8354 // 4115
8355 f989148965_0.returns.push(o1);
8356 // 4116
8357 o1.getTime = f989148965_487;
8358 // undefined
8359 o1 = null;
8360 // 4117
8361 f989148965_487.returns.push(1373483125313);
8362 // 4118
8363 o1 = {};
8364 // 4119
8365 f989148965_0.returns.push(o1);
8366 // 4120
8367 o1.getTime = f989148965_487;
8368 // undefined
8369 o1 = null;
8370 // 4121
8371 f989148965_487.returns.push(1373483125313);
8372 // 4122
8373 o1 = {};
8374 // 4123
8375 f989148965_0.returns.push(o1);
8376 // 4124
8377 o1.getTime = f989148965_487;
8378 // undefined
8379 o1 = null;
8380 // 4125
8381 f989148965_487.returns.push(1373483125314);
8382 // 4126
8383 o1 = {};
8384 // 4127
8385 f989148965_0.returns.push(o1);
8386 // 4128
8387 o1.getTime = f989148965_487;
8388 // undefined
8389 o1 = null;
8390 // 4129
8391 f989148965_487.returns.push(1373483125314);
8392 // 4130
8393 o1 = {};
8394 // 4131
8395 f989148965_0.returns.push(o1);
8396 // 4132
8397 o1.getTime = f989148965_487;
8398 // undefined
8399 o1 = null;
8400 // 4133
8401 f989148965_487.returns.push(1373483125315);
8402 // 4134
8403 o1 = {};
8404 // 4135
8405 f989148965_0.returns.push(o1);
8406 // 4136
8407 o1.getTime = f989148965_487;
8408 // undefined
8409 o1 = null;
8410 // 4137
8411 f989148965_487.returns.push(1373483125322);
8412 // 4138
8413 o1 = {};
8414 // 4139
8415 f989148965_0.returns.push(o1);
8416 // 4140
8417 o1.getTime = f989148965_487;
8418 // undefined
8419 o1 = null;
8420 // 4141
8421 f989148965_487.returns.push(1373483125322);
8422 // 4142
8423 o1 = {};
8424 // 4143
8425 f989148965_0.returns.push(o1);
8426 // 4144
8427 o1.getTime = f989148965_487;
8428 // undefined
8429 o1 = null;
8430 // 4145
8431 f989148965_487.returns.push(1373483125322);
8432 // 4146
8433 o1 = {};
8434 // 4147
8435 f989148965_0.returns.push(o1);
8436 // 4148
8437 o1.getTime = f989148965_487;
8438 // undefined
8439 o1 = null;
8440 // 4149
8441 f989148965_487.returns.push(1373483125322);
8442 // 4150
8443 o1 = {};
8444 // 4151
8445 f989148965_0.returns.push(o1);
8446 // 4152
8447 o1.getTime = f989148965_487;
8448 // undefined
8449 o1 = null;
8450 // 4153
8451 f989148965_487.returns.push(1373483125323);
8452 // 4154
8453 o1 = {};
8454 // 4155
8455 f989148965_0.returns.push(o1);
8456 // 4156
8457 o1.getTime = f989148965_487;
8458 // undefined
8459 o1 = null;
8460 // 4157
8461 f989148965_487.returns.push(1373483125323);
8462 // 4158
8463 o1 = {};
8464 // 4159
8465 f989148965_0.returns.push(o1);
8466 // 4160
8467 o1.getTime = f989148965_487;
8468 // undefined
8469 o1 = null;
8470 // 4161
8471 f989148965_487.returns.push(1373483125323);
8472 // 4162
8473 o1 = {};
8474 // 4163
8475 f989148965_0.returns.push(o1);
8476 // 4164
8477 o1.getTime = f989148965_487;
8478 // undefined
8479 o1 = null;
8480 // 4165
8481 f989148965_487.returns.push(1373483125323);
8482 // 4166
8483 o1 = {};
8484 // 4167
8485 f989148965_0.returns.push(o1);
8486 // 4168
8487 o1.getTime = f989148965_487;
8488 // undefined
8489 o1 = null;
8490 // 4169
8491 f989148965_487.returns.push(1373483125324);
8492 // 4170
8493 o1 = {};
8494 // 4171
8495 f989148965_0.returns.push(o1);
8496 // 4172
8497 o1.getTime = f989148965_487;
8498 // undefined
8499 o1 = null;
8500 // 4173
8501 f989148965_487.returns.push(1373483125324);
8502 // 4174
8503 o1 = {};
8504 // 4175
8505 f989148965_0.returns.push(o1);
8506 // 4176
8507 o1.getTime = f989148965_487;
8508 // undefined
8509 o1 = null;
8510 // 4177
8511 f989148965_487.returns.push(1373483125324);
8512 // 4178
8513 o1 = {};
8514 // 4179
8515 f989148965_0.returns.push(o1);
8516 // 4180
8517 o1.getTime = f989148965_487;
8518 // undefined
8519 o1 = null;
8520 // 4181
8521 f989148965_487.returns.push(1373483125324);
8522 // 4182
8523 o1 = {};
8524 // 4183
8525 f989148965_0.returns.push(o1);
8526 // 4184
8527 o1.getTime = f989148965_487;
8528 // undefined
8529 o1 = null;
8530 // 4185
8531 f989148965_487.returns.push(1373483125325);
8532 // 4186
8533 o1 = {};
8534 // 4187
8535 f989148965_0.returns.push(o1);
8536 // 4188
8537 o1.getTime = f989148965_487;
8538 // undefined
8539 o1 = null;
8540 // 4189
8541 f989148965_487.returns.push(1373483125325);
8542 // 4190
8543 o1 = {};
8544 // 4191
8545 f989148965_0.returns.push(o1);
8546 // 4192
8547 o1.getTime = f989148965_487;
8548 // undefined
8549 o1 = null;
8550 // 4193
8551 f989148965_487.returns.push(1373483125325);
8552 // 4194
8553 o1 = {};
8554 // 4195
8555 f989148965_0.returns.push(o1);
8556 // 4196
8557 o1.getTime = f989148965_487;
8558 // undefined
8559 o1 = null;
8560 // 4197
8561 f989148965_487.returns.push(1373483125325);
8562 // 4198
8563 o1 = {};
8564 // 4199
8565 f989148965_0.returns.push(o1);
8566 // 4200
8567 o1.getTime = f989148965_487;
8568 // undefined
8569 o1 = null;
8570 // 4201
8571 f989148965_487.returns.push(1373483125325);
8572 // 4202
8573 o1 = {};
8574 // 4203
8575 f989148965_0.returns.push(o1);
8576 // 4204
8577 o1.getTime = f989148965_487;
8578 // undefined
8579 o1 = null;
8580 // 4205
8581 f989148965_487.returns.push(1373483125325);
8582 // 4206
8583 o1 = {};
8584 // 4207
8585 f989148965_0.returns.push(o1);
8586 // 4208
8587 o1.getTime = f989148965_487;
8588 // undefined
8589 o1 = null;
8590 // 4209
8591 f989148965_487.returns.push(1373483125325);
8592 // 4210
8593 o1 = {};
8594 // 4211
8595 f989148965_0.returns.push(o1);
8596 // 4212
8597 o1.getTime = f989148965_487;
8598 // undefined
8599 o1 = null;
8600 // 4213
8601 f989148965_487.returns.push(1373483125326);
8602 // 4214
8603 o1 = {};
8604 // 4215
8605 f989148965_0.returns.push(o1);
8606 // 4216
8607 o1.getTime = f989148965_487;
8608 // undefined
8609 o1 = null;
8610 // 4217
8611 f989148965_487.returns.push(1373483125326);
8612 // 4218
8613 o1 = {};
8614 // 4219
8615 f989148965_0.returns.push(o1);
8616 // 4220
8617 o1.getTime = f989148965_487;
8618 // undefined
8619 o1 = null;
8620 // 4221
8621 f989148965_487.returns.push(1373483125326);
8622 // 4222
8623 o1 = {};
8624 // 4223
8625 f989148965_0.returns.push(o1);
8626 // 4224
8627 o1.getTime = f989148965_487;
8628 // undefined
8629 o1 = null;
8630 // 4225
8631 f989148965_487.returns.push(1373483125326);
8632 // 4226
8633 o1 = {};
8634 // 4227
8635 f989148965_0.returns.push(o1);
8636 // 4228
8637 o1.getTime = f989148965_487;
8638 // undefined
8639 o1 = null;
8640 // 4229
8641 f989148965_487.returns.push(1373483125327);
8642 // 4230
8643 o1 = {};
8644 // 4231
8645 f989148965_0.returns.push(o1);
8646 // 4232
8647 o1.getTime = f989148965_487;
8648 // undefined
8649 o1 = null;
8650 // 4233
8651 f989148965_487.returns.push(1373483125327);
8652 // 4234
8653 o1 = {};
8654 // 4235
8655 f989148965_0.returns.push(o1);
8656 // 4236
8657 o1.getTime = f989148965_487;
8658 // undefined
8659 o1 = null;
8660 // 4237
8661 f989148965_487.returns.push(1373483125328);
8662 // 4238
8663 o1 = {};
8664 // 4239
8665 f989148965_0.returns.push(o1);
8666 // 4240
8667 o1.getTime = f989148965_487;
8668 // undefined
8669 o1 = null;
8670 // 4241
8671 f989148965_487.returns.push(1373483125333);
8672 // 4242
8673 o1 = {};
8674 // 4243
8675 f989148965_0.returns.push(o1);
8676 // 4244
8677 o1.getTime = f989148965_487;
8678 // undefined
8679 o1 = null;
8680 // 4245
8681 f989148965_487.returns.push(1373483125333);
8682 // 4246
8683 o1 = {};
8684 // 4247
8685 f989148965_0.returns.push(o1);
8686 // 4248
8687 o1.getTime = f989148965_487;
8688 // undefined
8689 o1 = null;
8690 // 4249
8691 f989148965_487.returns.push(1373483125334);
8692 // 4250
8693 o1 = {};
8694 // 4251
8695 f989148965_0.returns.push(o1);
8696 // 4252
8697 o1.getTime = f989148965_487;
8698 // undefined
8699 o1 = null;
8700 // 4253
8701 f989148965_487.returns.push(1373483125334);
8702 // 4254
8703 o1 = {};
8704 // 4255
8705 f989148965_0.returns.push(o1);
8706 // 4256
8707 o1.getTime = f989148965_487;
8708 // undefined
8709 o1 = null;
8710 // 4257
8711 f989148965_487.returns.push(1373483125334);
8712 // 4258
8713 o1 = {};
8714 // 4259
8715 f989148965_0.returns.push(o1);
8716 // 4260
8717 o1.getTime = f989148965_487;
8718 // undefined
8719 o1 = null;
8720 // 4261
8721 f989148965_487.returns.push(1373483125334);
8722 // 4262
8723 o1 = {};
8724 // 4263
8725 f989148965_0.returns.push(o1);
8726 // 4264
8727 o1.getTime = f989148965_487;
8728 // undefined
8729 o1 = null;
8730 // 4265
8731 f989148965_487.returns.push(1373483125335);
8732 // 4266
8733 o1 = {};
8734 // 4267
8735 f989148965_0.returns.push(o1);
8736 // 4268
8737 o1.getTime = f989148965_487;
8738 // undefined
8739 o1 = null;
8740 // 4269
8741 f989148965_487.returns.push(1373483125335);
8742 // 4270
8743 o1 = {};
8744 // 4271
8745 f989148965_0.returns.push(o1);
8746 // 4272
8747 o1.getTime = f989148965_487;
8748 // undefined
8749 o1 = null;
8750 // 4273
8751 f989148965_487.returns.push(1373483125335);
8752 // 4274
8753 o1 = {};
8754 // 4275
8755 f989148965_0.returns.push(o1);
8756 // 4276
8757 o1.getTime = f989148965_487;
8758 // undefined
8759 o1 = null;
8760 // 4277
8761 f989148965_487.returns.push(1373483125336);
8762 // 4278
8763 o1 = {};
8764 // 4279
8765 f989148965_0.returns.push(o1);
8766 // 4280
8767 o1.getTime = f989148965_487;
8768 // undefined
8769 o1 = null;
8770 // 4281
8771 f989148965_487.returns.push(1373483125336);
8772 // 4282
8773 o1 = {};
8774 // 4283
8775 f989148965_0.returns.push(o1);
8776 // 4284
8777 o1.getTime = f989148965_487;
8778 // undefined
8779 o1 = null;
8780 // 4285
8781 f989148965_487.returns.push(1373483125337);
8782 // 4286
8783 o1 = {};
8784 // 4287
8785 f989148965_0.returns.push(o1);
8786 // 4288
8787 o1.getTime = f989148965_487;
8788 // undefined
8789 o1 = null;
8790 // 4289
8791 f989148965_487.returns.push(1373483125337);
8792 // 4290
8793 o1 = {};
8794 // 4291
8795 f989148965_0.returns.push(o1);
8796 // 4292
8797 o1.getTime = f989148965_487;
8798 // undefined
8799 o1 = null;
8800 // 4293
8801 f989148965_487.returns.push(1373483125337);
8802 // 4294
8803 o1 = {};
8804 // 4295
8805 f989148965_0.returns.push(o1);
8806 // 4296
8807 o1.getTime = f989148965_487;
8808 // undefined
8809 o1 = null;
8810 // 4297
8811 f989148965_487.returns.push(1373483125337);
8812 // 4298
8813 o1 = {};
8814 // 4299
8815 f989148965_0.returns.push(o1);
8816 // 4300
8817 o1.getTime = f989148965_487;
8818 // undefined
8819 o1 = null;
8820 // 4301
8821 f989148965_487.returns.push(1373483125338);
8822 // 4302
8823 o1 = {};
8824 // 4303
8825 f989148965_0.returns.push(o1);
8826 // 4304
8827 o1.getTime = f989148965_487;
8828 // undefined
8829 o1 = null;
8830 // 4305
8831 f989148965_487.returns.push(1373483125338);
8832 // 4306
8833 o1 = {};
8834 // 4307
8835 f989148965_0.returns.push(o1);
8836 // 4308
8837 o1.getTime = f989148965_487;
8838 // undefined
8839 o1 = null;
8840 // 4309
8841 f989148965_487.returns.push(1373483125338);
8842 // 4310
8843 o1 = {};
8844 // 4311
8845 f989148965_0.returns.push(o1);
8846 // 4312
8847 o1.getTime = f989148965_487;
8848 // undefined
8849 o1 = null;
8850 // 4313
8851 f989148965_487.returns.push(1373483125339);
8852 // 4314
8853 o1 = {};
8854 // 4315
8855 f989148965_0.returns.push(o1);
8856 // 4316
8857 o1.getTime = f989148965_487;
8858 // undefined
8859 o1 = null;
8860 // 4317
8861 f989148965_487.returns.push(1373483125339);
8862 // 4318
8863 o1 = {};
8864 // 4319
8865 f989148965_0.returns.push(o1);
8866 // 4320
8867 o1.getTime = f989148965_487;
8868 // undefined
8869 o1 = null;
8870 // 4321
8871 f989148965_487.returns.push(1373483125339);
8872 // 4322
8873 o1 = {};
8874 // 4323
8875 f989148965_0.returns.push(o1);
8876 // 4324
8877 o1.getTime = f989148965_487;
8878 // undefined
8879 o1 = null;
8880 // 4325
8881 f989148965_487.returns.push(1373483125340);
8882 // 4326
8883 o1 = {};
8884 // 4327
8885 f989148965_0.returns.push(o1);
8886 // 4328
8887 o1.getTime = f989148965_487;
8888 // undefined
8889 o1 = null;
8890 // 4329
8891 f989148965_487.returns.push(1373483125340);
8892 // 4330
8893 o1 = {};
8894 // 4331
8895 f989148965_0.returns.push(o1);
8896 // 4332
8897 o1.getTime = f989148965_487;
8898 // undefined
8899 o1 = null;
8900 // 4333
8901 f989148965_487.returns.push(1373483125340);
8902 // 4334
8903 o1 = {};
8904 // 4335
8905 f989148965_0.returns.push(o1);
8906 // 4336
8907 o1.getTime = f989148965_487;
8908 // undefined
8909 o1 = null;
8910 // 4337
8911 f989148965_487.returns.push(1373483125340);
8912 // 4338
8913 o1 = {};
8914 // 4339
8915 f989148965_0.returns.push(o1);
8916 // 4340
8917 o1.getTime = f989148965_487;
8918 // undefined
8919 o1 = null;
8920 // 4341
8921 f989148965_487.returns.push(1373483125340);
8922 // 4342
8923 o1 = {};
8924 // 4343
8925 f989148965_0.returns.push(o1);
8926 // 4344
8927 o1.getTime = f989148965_487;
8928 // undefined
8929 o1 = null;
8930 // 4345
8931 f989148965_487.returns.push(1373483125341);
8932 // 4346
8933 o1 = {};
8934 // 4347
8935 f989148965_0.returns.push(o1);
8936 // 4348
8937 o1.getTime = f989148965_487;
8938 // undefined
8939 o1 = null;
8940 // 4349
8941 f989148965_487.returns.push(1373483125345);
8942 // 4350
8943 o1 = {};
8944 // 4351
8945 f989148965_0.returns.push(o1);
8946 // 4352
8947 o1.getTime = f989148965_487;
8948 // undefined
8949 o1 = null;
8950 // 4353
8951 f989148965_487.returns.push(1373483125346);
8952 // 4354
8953 o1 = {};
8954 // 4355
8955 f989148965_0.returns.push(o1);
8956 // 4356
8957 o1.getTime = f989148965_487;
8958 // undefined
8959 o1 = null;
8960 // 4357
8961 f989148965_487.returns.push(1373483125346);
8962 // 4358
8963 o1 = {};
8964 // 4359
8965 f989148965_0.returns.push(o1);
8966 // 4360
8967 o1.getTime = f989148965_487;
8968 // undefined
8969 o1 = null;
8970 // 4361
8971 f989148965_487.returns.push(1373483125346);
8972 // 4362
8973 o1 = {};
8974 // 4363
8975 f989148965_0.returns.push(o1);
8976 // 4364
8977 o1.getTime = f989148965_487;
8978 // undefined
8979 o1 = null;
8980 // 4365
8981 f989148965_487.returns.push(1373483125346);
8982 // 4366
8983 o1 = {};
8984 // 4367
8985 f989148965_0.returns.push(o1);
8986 // 4368
8987 o1.getTime = f989148965_487;
8988 // undefined
8989 o1 = null;
8990 // 4369
8991 f989148965_487.returns.push(1373483125346);
8992 // 4370
8993 o1 = {};
8994 // 4371
8995 f989148965_0.returns.push(o1);
8996 // 4372
8997 o1.getTime = f989148965_487;
8998 // undefined
8999 o1 = null;
9000 // 4373
9001 f989148965_487.returns.push(1373483125346);
9002 // 4374
9003 o1 = {};
9004 // 4375
9005 f989148965_0.returns.push(o1);
9006 // 4376
9007 o1.getTime = f989148965_487;
9008 // undefined
9009 o1 = null;
9010 // 4377
9011 f989148965_487.returns.push(1373483125347);
9012 // 4378
9013 o1 = {};
9014 // 4379
9015 f989148965_0.returns.push(o1);
9016 // 4380
9017 o1.getTime = f989148965_487;
9018 // undefined
9019 o1 = null;
9020 // 4381
9021 f989148965_487.returns.push(1373483125347);
9022 // 4382
9023 o1 = {};
9024 // 4383
9025 f989148965_0.returns.push(o1);
9026 // 4384
9027 o1.getTime = f989148965_487;
9028 // undefined
9029 o1 = null;
9030 // 4385
9031 f989148965_487.returns.push(1373483125347);
9032 // 4386
9033 o1 = {};
9034 // 4387
9035 f989148965_0.returns.push(o1);
9036 // 4388
9037 o1.getTime = f989148965_487;
9038 // undefined
9039 o1 = null;
9040 // 4389
9041 f989148965_487.returns.push(1373483125348);
9042 // 4390
9043 o1 = {};
9044 // 4391
9045 f989148965_0.returns.push(o1);
9046 // 4392
9047 o1.getTime = f989148965_487;
9048 // undefined
9049 o1 = null;
9050 // 4393
9051 f989148965_487.returns.push(1373483125348);
9052 // 4394
9053 o1 = {};
9054 // 4395
9055 f989148965_0.returns.push(o1);
9056 // 4396
9057 o1.getTime = f989148965_487;
9058 // undefined
9059 o1 = null;
9060 // 4397
9061 f989148965_487.returns.push(1373483125348);
9062 // 4398
9063 o1 = {};
9064 // 4399
9065 f989148965_0.returns.push(o1);
9066 // 4400
9067 o1.getTime = f989148965_487;
9068 // undefined
9069 o1 = null;
9070 // 4401
9071 f989148965_487.returns.push(1373483125348);
9072 // 4402
9073 o1 = {};
9074 // 4403
9075 f989148965_0.returns.push(o1);
9076 // 4404
9077 o1.getTime = f989148965_487;
9078 // undefined
9079 o1 = null;
9080 // 4405
9081 f989148965_487.returns.push(1373483125348);
9082 // 4406
9083 o1 = {};
9084 // 4407
9085 f989148965_0.returns.push(o1);
9086 // 4408
9087 o1.getTime = f989148965_487;
9088 // undefined
9089 o1 = null;
9090 // 4409
9091 f989148965_487.returns.push(1373483125348);
9092 // 4410
9093 o1 = {};
9094 // 4411
9095 f989148965_0.returns.push(o1);
9096 // 4412
9097 o1.getTime = f989148965_487;
9098 // undefined
9099 o1 = null;
9100 // 4413
9101 f989148965_487.returns.push(1373483125349);
9102 // 4414
9103 o1 = {};
9104 // 4415
9105 f989148965_0.returns.push(o1);
9106 // 4416
9107 o1.getTime = f989148965_487;
9108 // undefined
9109 o1 = null;
9110 // 4417
9111 f989148965_487.returns.push(1373483125349);
9112 // 4418
9113 o1 = {};
9114 // 4419
9115 f989148965_0.returns.push(o1);
9116 // 4420
9117 o1.getTime = f989148965_487;
9118 // undefined
9119 o1 = null;
9120 // 4421
9121 f989148965_487.returns.push(1373483125349);
9122 // 4422
9123 o1 = {};
9124 // 4423
9125 f989148965_0.returns.push(o1);
9126 // 4424
9127 o1.getTime = f989148965_487;
9128 // undefined
9129 o1 = null;
9130 // 4425
9131 f989148965_487.returns.push(1373483125349);
9132 // 4426
9133 o1 = {};
9134 // 4427
9135 f989148965_0.returns.push(o1);
9136 // 4428
9137 o1.getTime = f989148965_487;
9138 // undefined
9139 o1 = null;
9140 // 4429
9141 f989148965_487.returns.push(1373483125350);
9142 // 4430
9143 o1 = {};
9144 // 4431
9145 f989148965_0.returns.push(o1);
9146 // 4432
9147 o1.getTime = f989148965_487;
9148 // undefined
9149 o1 = null;
9150 // 4433
9151 f989148965_487.returns.push(1373483125350);
9152 // 4434
9153 o1 = {};
9154 // 4435
9155 f989148965_0.returns.push(o1);
9156 // 4436
9157 o1.getTime = f989148965_487;
9158 // undefined
9159 o1 = null;
9160 // 4437
9161 f989148965_487.returns.push(1373483125351);
9162 // 4438
9163 o1 = {};
9164 // 4439
9165 f989148965_0.returns.push(o1);
9166 // 4440
9167 o1.getTime = f989148965_487;
9168 // undefined
9169 o1 = null;
9170 // 4441
9171 f989148965_487.returns.push(1373483125351);
9172 // 4442
9173 o1 = {};
9174 // 4443
9175 f989148965_0.returns.push(o1);
9176 // 4444
9177 o1.getTime = f989148965_487;
9178 // undefined
9179 o1 = null;
9180 // 4445
9181 f989148965_487.returns.push(1373483125351);
9182 // 4446
9183 o1 = {};
9184 // 4447
9185 f989148965_0.returns.push(o1);
9186 // 4448
9187 o1.getTime = f989148965_487;
9188 // undefined
9189 o1 = null;
9190 // 4449
9191 f989148965_487.returns.push(1373483125351);
9192 // 4450
9193 o1 = {};
9194 // 4451
9195 f989148965_0.returns.push(o1);
9196 // 4452
9197 o1.getTime = f989148965_487;
9198 // undefined
9199 o1 = null;
9200 // 4453
9201 f989148965_487.returns.push(1373483125356);
9202 // 4454
9203 o1 = {};
9204 // 4455
9205 f989148965_0.returns.push(o1);
9206 // 4456
9207 o1.getTime = f989148965_487;
9208 // undefined
9209 o1 = null;
9210 // 4457
9211 f989148965_487.returns.push(1373483125357);
9212 // 4458
9213 o1 = {};
9214 // 4459
9215 f989148965_0.returns.push(o1);
9216 // 4460
9217 o1.getTime = f989148965_487;
9218 // undefined
9219 o1 = null;
9220 // 4461
9221 f989148965_487.returns.push(1373483125357);
9222 // 4462
9223 o1 = {};
9224 // 4463
9225 f989148965_0.returns.push(o1);
9226 // 4464
9227 o1.getTime = f989148965_487;
9228 // undefined
9229 o1 = null;
9230 // 4465
9231 f989148965_487.returns.push(1373483125357);
9232 // 4466
9233 o1 = {};
9234 // 4467
9235 f989148965_0.returns.push(o1);
9236 // 4468
9237 o1.getTime = f989148965_487;
9238 // undefined
9239 o1 = null;
9240 // 4469
9241 f989148965_487.returns.push(1373483125358);
9242 // 4470
9243 o1 = {};
9244 // 4471
9245 f989148965_0.returns.push(o1);
9246 // 4472
9247 o1.getTime = f989148965_487;
9248 // undefined
9249 o1 = null;
9250 // 4473
9251 f989148965_487.returns.push(1373483125358);
9252 // 4474
9253 o1 = {};
9254 // 4475
9255 f989148965_0.returns.push(o1);
9256 // 4476
9257 o1.getTime = f989148965_487;
9258 // undefined
9259 o1 = null;
9260 // 4477
9261 f989148965_487.returns.push(1373483125358);
9262 // 4478
9263 o1 = {};
9264 // 4479
9265 f989148965_0.returns.push(o1);
9266 // 4480
9267 o1.getTime = f989148965_487;
9268 // undefined
9269 o1 = null;
9270 // 4481
9271 f989148965_487.returns.push(1373483125358);
9272 // 4482
9273 o1 = {};
9274 // 4483
9275 f989148965_0.returns.push(o1);
9276 // 4484
9277 o1.getTime = f989148965_487;
9278 // undefined
9279 o1 = null;
9280 // 4485
9281 f989148965_487.returns.push(1373483125359);
9282 // 4486
9283 o1 = {};
9284 // 4487
9285 f989148965_0.returns.push(o1);
9286 // 4488
9287 o1.getTime = f989148965_487;
9288 // undefined
9289 o1 = null;
9290 // 4489
9291 f989148965_487.returns.push(1373483125359);
9292 // 4490
9293 o1 = {};
9294 // 4491
9295 f989148965_0.returns.push(o1);
9296 // 4492
9297 o1.getTime = f989148965_487;
9298 // undefined
9299 o1 = null;
9300 // 4493
9301 f989148965_487.returns.push(1373483125359);
9302 // 4494
9303 o1 = {};
9304 // 4495
9305 f989148965_0.returns.push(o1);
9306 // 4496
9307 o1.getTime = f989148965_487;
9308 // undefined
9309 o1 = null;
9310 // 4497
9311 f989148965_487.returns.push(1373483125359);
9312 // 4498
9313 o1 = {};
9314 // 4499
9315 f989148965_0.returns.push(o1);
9316 // 4500
9317 o1.getTime = f989148965_487;
9318 // undefined
9319 o1 = null;
9320 // 4501
9321 f989148965_487.returns.push(1373483125360);
9322 // 4502
9323 o1 = {};
9324 // 4503
9325 f989148965_0.returns.push(o1);
9326 // 4504
9327 o1.getTime = f989148965_487;
9328 // undefined
9329 o1 = null;
9330 // 4505
9331 f989148965_487.returns.push(1373483125360);
9332 // 4506
9333 o1 = {};
9334 // 4507
9335 f989148965_0.returns.push(o1);
9336 // 4508
9337 o1.getTime = f989148965_487;
9338 // undefined
9339 o1 = null;
9340 // 4509
9341 f989148965_487.returns.push(1373483125360);
9342 // 4510
9343 o1 = {};
9344 // 4511
9345 f989148965_0.returns.push(o1);
9346 // 4512
9347 o1.getTime = f989148965_487;
9348 // undefined
9349 o1 = null;
9350 // 4513
9351 f989148965_487.returns.push(1373483125360);
9352 // 4514
9353 o1 = {};
9354 // 4515
9355 f989148965_0.returns.push(o1);
9356 // 4516
9357 o1.getTime = f989148965_487;
9358 // undefined
9359 o1 = null;
9360 // 4517
9361 f989148965_487.returns.push(1373483125360);
9362 // 4518
9363 o1 = {};
9364 // 4519
9365 f989148965_0.returns.push(o1);
9366 // 4520
9367 o1.getTime = f989148965_487;
9368 // undefined
9369 o1 = null;
9370 // 4521
9371 f989148965_487.returns.push(1373483125360);
9372 // 4522
9373 o1 = {};
9374 // 4523
9375 f989148965_0.returns.push(o1);
9376 // 4524
9377 o1.getTime = f989148965_487;
9378 // undefined
9379 o1 = null;
9380 // 4525
9381 f989148965_487.returns.push(1373483125361);
9382 // 4526
9383 o1 = {};
9384 // 4527
9385 f989148965_0.returns.push(o1);
9386 // 4528
9387 o1.getTime = f989148965_487;
9388 // undefined
9389 o1 = null;
9390 // 4529
9391 f989148965_487.returns.push(1373483125361);
9392 // 4530
9393 o1 = {};
9394 // 4531
9395 f989148965_0.returns.push(o1);
9396 // 4532
9397 o1.getTime = f989148965_487;
9398 // undefined
9399 o1 = null;
9400 // 4533
9401 f989148965_487.returns.push(1373483125361);
9402 // 4534
9403 o1 = {};
9404 // 4535
9405 f989148965_0.returns.push(o1);
9406 // 4536
9407 o1.getTime = f989148965_487;
9408 // undefined
9409 o1 = null;
9410 // 4537
9411 f989148965_487.returns.push(1373483125361);
9412 // 4538
9413 o1 = {};
9414 // 4539
9415 f989148965_0.returns.push(o1);
9416 // 4540
9417 o1.getTime = f989148965_487;
9418 // undefined
9419 o1 = null;
9420 // 4541
9421 f989148965_487.returns.push(1373483125362);
9422 // 4542
9423 o1 = {};
9424 // 4543
9425 f989148965_0.returns.push(o1);
9426 // 4544
9427 o1.getTime = f989148965_487;
9428 // undefined
9429 o1 = null;
9430 // 4545
9431 f989148965_487.returns.push(1373483125362);
9432 // 4546
9433 o1 = {};
9434 // 4547
9435 f989148965_0.returns.push(o1);
9436 // 4548
9437 o1.getTime = f989148965_487;
9438 // undefined
9439 o1 = null;
9440 // 4549
9441 f989148965_487.returns.push(1373483125362);
9442 // 4550
9443 o1 = {};
9444 // 4551
9445 f989148965_0.returns.push(o1);
9446 // 4552
9447 o1.getTime = f989148965_487;
9448 // undefined
9449 o1 = null;
9450 // 4553
9451 f989148965_487.returns.push(1373483125362);
9452 // 4554
9453 o1 = {};
9454 // 4555
9455 f989148965_0.returns.push(o1);
9456 // 4556
9457 o1.getTime = f989148965_487;
9458 // undefined
9459 o1 = null;
9460 // 4557
9461 f989148965_487.returns.push(1373483125363);
9462 // 4559
9463 o1 = {};
9464 // 4560
9465 f989148965_421.returns.push(o1);
9466 // 4561
9467 o6 = {};
9468 // 4562
9469 o1.style = o6;
9470 // undefined
9471 o1 = null;
9472 // undefined
9473 o6 = null;
9474 // 4563
9475 o1 = {};
9476 // 4564
9477 f989148965_0.returns.push(o1);
9478 // 4565
9479 o1.getTime = f989148965_487;
9480 // undefined
9481 o1 = null;
9482 // 4566
9483 f989148965_487.returns.push(1373483125383);
9484 // 4567
9485 o1 = {};
9486 // 4568
9487 f989148965_0.returns.push(o1);
9488 // 4569
9489 o1.getTime = f989148965_487;
9490 // undefined
9491 o1 = null;
9492 // 4570
9493 f989148965_487.returns.push(1373483125384);
9494 // 4571
9495 o1 = {};
9496 // 4572
9497 f989148965_0.returns.push(o1);
9498 // 4573
9499 o1.getTime = f989148965_487;
9500 // undefined
9501 o1 = null;
9502 // 4574
9503 f989148965_487.returns.push(1373483125384);
9504 // 4575
9505 o1 = {};
9506 // 4576
9507 f989148965_0.returns.push(o1);
9508 // 4577
9509 o1.getTime = f989148965_487;
9510 // undefined
9511 o1 = null;
9512 // 4578
9513 f989148965_487.returns.push(1373483125384);
9514 // 4579
9515 o1 = {};
9516 // 4580
9517 f989148965_0.returns.push(o1);
9518 // 4581
9519 o1.getTime = f989148965_487;
9520 // undefined
9521 o1 = null;
9522 // 4582
9523 f989148965_487.returns.push(1373483125384);
9524 // 4583
9525 o1 = {};
9526 // 4584
9527 f989148965_0.returns.push(o1);
9528 // 4585
9529 o1.getTime = f989148965_487;
9530 // undefined
9531 o1 = null;
9532 // 4586
9533 f989148965_487.returns.push(1373483125384);
9534 // 4587
9535 o1 = {};
9536 // 4588
9537 f989148965_0.returns.push(o1);
9538 // 4589
9539 o1.getTime = f989148965_487;
9540 // undefined
9541 o1 = null;
9542 // 4590
9543 f989148965_487.returns.push(1373483125388);
9544 // 4591
9545 o1 = {};
9546 // 4592
9547 f989148965_0.returns.push(o1);
9548 // 4593
9549 o1.getTime = f989148965_487;
9550 // undefined
9551 o1 = null;
9552 // 4594
9553 f989148965_487.returns.push(1373483125388);
9554 // 4595
9555 o1 = {};
9556 // 4596
9557 f989148965_0.returns.push(o1);
9558 // 4597
9559 o1.getTime = f989148965_487;
9560 // undefined
9561 o1 = null;
9562 // 4598
9563 f989148965_487.returns.push(1373483125388);
9564 // 4599
9565 o1 = {};
9566 // 4600
9567 f989148965_0.returns.push(o1);
9568 // 4601
9569 o1.getTime = f989148965_487;
9570 // undefined
9571 o1 = null;
9572 // 4602
9573 f989148965_487.returns.push(1373483125389);
9574 // 4603
9575 o1 = {};
9576 // 4604
9577 f989148965_0.returns.push(o1);
9578 // 4605
9579 o1.getTime = f989148965_487;
9580 // undefined
9581 o1 = null;
9582 // 4606
9583 f989148965_487.returns.push(1373483125389);
9584 // 4607
9585 o1 = {};
9586 // 4608
9587 f989148965_0.returns.push(o1);
9588 // 4609
9589 o1.getTime = f989148965_487;
9590 // undefined
9591 o1 = null;
9592 // 4610
9593 f989148965_487.returns.push(1373483125389);
9594 // 4611
9595 o1 = {};
9596 // 4612
9597 f989148965_0.returns.push(o1);
9598 // 4613
9599 o1.getTime = f989148965_487;
9600 // undefined
9601 o1 = null;
9602 // 4614
9603 f989148965_487.returns.push(1373483125389);
9604 // 4615
9605 o1 = {};
9606 // 4616
9607 f989148965_0.returns.push(o1);
9608 // 4617
9609 o1.getTime = f989148965_487;
9610 // undefined
9611 o1 = null;
9612 // 4618
9613 f989148965_487.returns.push(1373483125390);
9614 // 4619
9615 o1 = {};
9616 // 4620
9617 f989148965_0.returns.push(o1);
9618 // 4621
9619 o1.getTime = f989148965_487;
9620 // undefined
9621 o1 = null;
9622 // 4622
9623 f989148965_487.returns.push(1373483125390);
9624 // 4623
9625 o1 = {};
9626 // 4624
9627 f989148965_0.returns.push(o1);
9628 // 4625
9629 o1.getTime = f989148965_487;
9630 // undefined
9631 o1 = null;
9632 // 4626
9633 f989148965_487.returns.push(1373483125390);
9634 // 4627
9635 o1 = {};
9636 // 4628
9637 f989148965_0.returns.push(o1);
9638 // 4629
9639 o1.getTime = f989148965_487;
9640 // undefined
9641 o1 = null;
9642 // 4630
9643 f989148965_487.returns.push(1373483125391);
9644 // 4631
9645 o1 = {};
9646 // 4632
9647 f989148965_0.returns.push(o1);
9648 // 4633
9649 o1.getTime = f989148965_487;
9650 // undefined
9651 o1 = null;
9652 // 4634
9653 f989148965_487.returns.push(1373483125391);
9654 // 4635
9655 o1 = {};
9656 // 4636
9657 f989148965_0.returns.push(o1);
9658 // 4637
9659 o1.getTime = f989148965_487;
9660 // undefined
9661 o1 = null;
9662 // 4638
9663 f989148965_487.returns.push(1373483125391);
9664 // 4639
9665 o1 = {};
9666 // 4640
9667 f989148965_0.returns.push(o1);
9668 // 4641
9669 o1.getTime = f989148965_487;
9670 // undefined
9671 o1 = null;
9672 // 4642
9673 f989148965_487.returns.push(1373483125392);
9674 // 4643
9675 o1 = {};
9676 // 4644
9677 f989148965_0.returns.push(o1);
9678 // 4645
9679 o1.getTime = f989148965_487;
9680 // undefined
9681 o1 = null;
9682 // 4646
9683 f989148965_487.returns.push(1373483125392);
9684 // 4647
9685 o1 = {};
9686 // 4648
9687 f989148965_0.returns.push(o1);
9688 // 4649
9689 o1.getTime = f989148965_487;
9690 // undefined
9691 o1 = null;
9692 // 4650
9693 f989148965_487.returns.push(1373483125392);
9694 // 4651
9695 o1 = {};
9696 // 4652
9697 f989148965_0.returns.push(o1);
9698 // 4653
9699 o1.getTime = f989148965_487;
9700 // undefined
9701 o1 = null;
9702 // 4654
9703 f989148965_487.returns.push(1373483125393);
9704 // 4655
9705 o1 = {};
9706 // 4656
9707 f989148965_0.returns.push(o1);
9708 // 4657
9709 o1.getTime = f989148965_487;
9710 // undefined
9711 o1 = null;
9712 // 4658
9713 f989148965_487.returns.push(1373483125393);
9714 // 4659
9715 o1 = {};
9716 // 4660
9717 f989148965_0.returns.push(o1);
9718 // 4661
9719 o1.getTime = f989148965_487;
9720 // undefined
9721 o1 = null;
9722 // 4662
9723 f989148965_487.returns.push(1373483125395);
9724 // 4663
9725 o1 = {};
9726 // 4664
9727 f989148965_0.returns.push(o1);
9728 // 4665
9729 o1.getTime = f989148965_487;
9730 // undefined
9731 o1 = null;
9732 // 4666
9733 f989148965_487.returns.push(1373483125402);
9734 // 4667
9735 o1 = {};
9736 // 4668
9737 f989148965_0.returns.push(o1);
9738 // 4669
9739 o1.getTime = f989148965_487;
9740 // undefined
9741 o1 = null;
9742 // 4670
9743 f989148965_487.returns.push(1373483125402);
9744 // 4671
9745 o1 = {};
9746 // 4672
9747 f989148965_0.returns.push(o1);
9748 // 4673
9749 o1.getTime = f989148965_487;
9750 // undefined
9751 o1 = null;
9752 // 4674
9753 f989148965_487.returns.push(1373483125402);
9754 // 4675
9755 o1 = {};
9756 // 4676
9757 f989148965_0.returns.push(o1);
9758 // 4677
9759 o1.getTime = f989148965_487;
9760 // undefined
9761 o1 = null;
9762 // 4678
9763 f989148965_487.returns.push(1373483125402);
9764 // 4679
9765 o1 = {};
9766 // 4680
9767 f989148965_0.returns.push(o1);
9768 // 4681
9769 o1.getTime = f989148965_487;
9770 // undefined
9771 o1 = null;
9772 // 4682
9773 f989148965_487.returns.push(1373483125403);
9774 // 4683
9775 o1 = {};
9776 // 4684
9777 f989148965_0.returns.push(o1);
9778 // 4685
9779 o1.getTime = f989148965_487;
9780 // undefined
9781 o1 = null;
9782 // 4686
9783 f989148965_487.returns.push(1373483125403);
9784 // 4687
9785 o1 = {};
9786 // 4688
9787 f989148965_0.returns.push(o1);
9788 // 4689
9789 o1.getTime = f989148965_487;
9790 // undefined
9791 o1 = null;
9792 // 4690
9793 f989148965_487.returns.push(1373483125403);
9794 // 4691
9795 o1 = {};
9796 // 4692
9797 f989148965_0.returns.push(o1);
9798 // 4693
9799 o1.getTime = f989148965_487;
9800 // undefined
9801 o1 = null;
9802 // 4694
9803 f989148965_487.returns.push(1373483125404);
9804 // 4695
9805 o1 = {};
9806 // 4696
9807 f989148965_0.returns.push(o1);
9808 // 4697
9809 o1.getTime = f989148965_487;
9810 // undefined
9811 o1 = null;
9812 // 4698
9813 f989148965_487.returns.push(1373483125404);
9814 // 4699
9815 o1 = {};
9816 // 4700
9817 f989148965_0.returns.push(o1);
9818 // 4701
9819 o1.getTime = f989148965_487;
9820 // undefined
9821 o1 = null;
9822 // 4702
9823 f989148965_487.returns.push(1373483125404);
9824 // 4703
9825 o1 = {};
9826 // 4704
9827 f989148965_0.returns.push(o1);
9828 // 4705
9829 o1.getTime = f989148965_487;
9830 // undefined
9831 o1 = null;
9832 // 4706
9833 f989148965_487.returns.push(1373483125404);
9834 // 4707
9835 o1 = {};
9836 // 4708
9837 f989148965_0.returns.push(o1);
9838 // 4709
9839 o1.getTime = f989148965_487;
9840 // undefined
9841 o1 = null;
9842 // 4710
9843 f989148965_487.returns.push(1373483125405);
9844 // 4711
9845 o1 = {};
9846 // 4712
9847 f989148965_0.returns.push(o1);
9848 // 4713
9849 o1.getTime = f989148965_487;
9850 // undefined
9851 o1 = null;
9852 // 4714
9853 f989148965_487.returns.push(1373483125405);
9854 // 4715
9855 o1 = {};
9856 // 4716
9857 f989148965_0.returns.push(o1);
9858 // 4717
9859 o1.getTime = f989148965_487;
9860 // undefined
9861 o1 = null;
9862 // 4718
9863 f989148965_487.returns.push(1373483125405);
9864 // 4719
9865 o1 = {};
9866 // 4720
9867 f989148965_0.returns.push(o1);
9868 // 4721
9869 o1.getTime = f989148965_487;
9870 // undefined
9871 o1 = null;
9872 // 4722
9873 f989148965_487.returns.push(1373483125406);
9874 // 4723
9875 o1 = {};
9876 // 4724
9877 f989148965_0.returns.push(o1);
9878 // 4725
9879 o1.getTime = f989148965_487;
9880 // undefined
9881 o1 = null;
9882 // 4726
9883 f989148965_487.returns.push(1373483125406);
9884 // 4727
9885 o1 = {};
9886 // 4728
9887 f989148965_0.returns.push(o1);
9888 // 4729
9889 o1.getTime = f989148965_487;
9890 // undefined
9891 o1 = null;
9892 // 4730
9893 f989148965_487.returns.push(1373483125406);
9894 // 4731
9895 o1 = {};
9896 // 4732
9897 f989148965_0.returns.push(o1);
9898 // 4733
9899 o1.getTime = f989148965_487;
9900 // undefined
9901 o1 = null;
9902 // 4734
9903 f989148965_487.returns.push(1373483125406);
9904 // 4735
9905 o1 = {};
9906 // 4736
9907 f989148965_0.returns.push(o1);
9908 // 4737
9909 o1.getTime = f989148965_487;
9910 // undefined
9911 o1 = null;
9912 // 4738
9913 f989148965_487.returns.push(1373483125407);
9914 // 4739
9915 o1 = {};
9916 // 4740
9917 f989148965_0.returns.push(o1);
9918 // 4741
9919 o1.getTime = f989148965_487;
9920 // undefined
9921 o1 = null;
9922 // 4742
9923 f989148965_487.returns.push(1373483125407);
9924 // 4743
9925 o1 = {};
9926 // 4744
9927 f989148965_0.returns.push(o1);
9928 // 4745
9929 o1.getTime = f989148965_487;
9930 // undefined
9931 o1 = null;
9932 // 4746
9933 f989148965_487.returns.push(1373483125407);
9934 // 4747
9935 o1 = {};
9936 // 4748
9937 f989148965_0.returns.push(o1);
9938 // 4749
9939 o1.getTime = f989148965_487;
9940 // undefined
9941 o1 = null;
9942 // 4750
9943 f989148965_487.returns.push(1373483125407);
9944 // 4751
9945 o1 = {};
9946 // 4752
9947 f989148965_0.returns.push(o1);
9948 // 4753
9949 o1.getTime = f989148965_487;
9950 // undefined
9951 o1 = null;
9952 // 4754
9953 f989148965_487.returns.push(1373483125407);
9954 // 4755
9955 o1 = {};
9956 // 4756
9957 f989148965_0.returns.push(o1);
9958 // 4757
9959 o1.getTime = f989148965_487;
9960 // undefined
9961 o1 = null;
9962 // 4758
9963 f989148965_487.returns.push(1373483125408);
9964 // 4759
9965 o1 = {};
9966 // 4760
9967 f989148965_0.returns.push(o1);
9968 // 4761
9969 o1.getTime = f989148965_487;
9970 // undefined
9971 o1 = null;
9972 // 4762
9973 f989148965_487.returns.push(1373483125408);
9974 // 4763
9975 o1 = {};
9976 // 4764
9977 f989148965_0.returns.push(o1);
9978 // 4765
9979 o1.getTime = f989148965_487;
9980 // undefined
9981 o1 = null;
9982 // 4766
9983 f989148965_487.returns.push(1373483125408);
9984 // 4767
9985 o1 = {};
9986 // 4768
9987 f989148965_0.returns.push(o1);
9988 // undefined
9989 o1 = null;
9990 // 0
9991 JSBNG_Replay$ = function(real, cb) { if (!real) return;
9992 // 867
9993 geval("JSBNG__document.documentElement.className = ((((JSBNG__document.documentElement.className + \" \")) + JSBNG__document.documentElement.getAttribute(\"data-fouc-class-names\")));");
9994 // 877
9995 geval("(function() {\n    {\n        function f(a) {\n            a = ((a || window.JSBNG__event));\n            if (!a) {\n                return;\n            }\n        ;\n        ;\n            ((((!a.target && a.srcElement)) && (a.target = a.srcElement)));\n            if (!j(a)) {\n                return;\n            }\n        ;\n        ;\n            if (!JSBNG__document.JSBNG__addEventListener) {\n                var b = {\n                };\n                {\n                    var fin0keys = ((window.top.JSBNG_Replay.forInKeys)((a))), fin0i = (0);\n                    var c;\n                    for (; (fin0i < fin0keys.length); (fin0i++)) {\n                        ((c) = (fin0keys[fin0i]));\n                        {\n                            b[c] = a[c];\n                        ;\n                        };\n                    };\n                };\n            ;\n                a = b;\n            }\n        ;\n        ;\n            a.preventDefault = a.stopPropagation = a.stopImmediatePropagation = function() {\n            \n            };\n            d.push(a);\n            return !1;\n        };\n        ((window.top.JSBNG_Replay.s19277ddcd28db6dd01a1d67d562dfbbffa3c6a17_1.push)((f)));\n    };\n;\n    function g($) {\n        i();\n        for (var b = 0, c; c = d[b]; b++) {\n            var e = $(c.target);\n            if (((((c.type == \"click\")) && ((c.target.tagName.toLowerCase() == \"a\"))))) {\n                var f = $.data(e.get(0), \"events\"), g = ((f && f.click)), j = ((!c.target.hostname.match(a) || !c.target.href.match(/#$/)));\n                if (((!g && j))) {\n                    window.JSBNG__location = c.target.href;\n                    continue;\n                }\n            ;\n            ;\n            }\n        ;\n        ;\n            e.trigger(c);\n        };\n    ;\n        window.swiftActionQueue.wasFlushed = !0;\n    };\n;\n    {\n        function i() {\n            ((e && JSBNG__clearTimeout(e)));\n            for (var a = 0; ((a < c.length)); a++) {\n                JSBNG__document[((\"JSBNG__on\" + c[a]))] = null;\n            ;\n            };\n        ;\n        };\n        ((window.top.JSBNG_Replay.s19277ddcd28db6dd01a1d67d562dfbbffa3c6a17_4.push)((i)));\n    };\n;\n    function j(c) {\n        var d = c.target.tagName.toLowerCase();\n        if (((d == \"label\"))) {\n            if (c.target.getAttribute(\"for\")) {\n                var e = JSBNG__document.getElementById(c.target.getAttribute(\"for\"));\n                if (((e.getAttribute(\"type\") == \"checkbox\"))) {\n                    return !1;\n                }\n            ;\n            ;\n            }\n             else for (var f = 0; ((f < c.target.childNodes.length)); f++) {\n                if (((((((c.target.childNodes[f].tagName || \"\")).toLowerCase() == \"input\")) && ((c.target.childNodes[f].getAttribute(\"type\") == \"checkbox\"))))) {\n                    return !1;\n                }\n            ;\n            ;\n            }\n        ;\n        }\n    ;\n    ;\n        if (((((((d == \"textarea\")) || ((((d == \"input\")) && ((c.target.getAttribute(\"type\") == \"text\")))))) || ((c.target.getAttribute(\"contenteditable\") == \"true\"))))) {\n            if (c.type.match(b)) {\n                return !1;\n            }\n        ;\n        }\n    ;\n    ;\n        return ((c.metaKey ? !1 : ((((((c.clientX && c.shiftKey)) && ((d == \"a\")))) ? !1 : ((((((c.target && c.target.hostname)) && !c.target.hostname.match(a))) ? !1 : !0))))));\n    };\n;\n    var a = /^([^\\.]+\\.)*twitter.com$/, b = /^key/, c = [\"click\",\"keydown\",\"keypress\",\"keyup\",], d = [], e = null;\n    for (var k = 0; ((k < c.length)); k++) {\n        JSBNG__document[((\"JSBNG__on\" + c[k]))] = f;\n    ;\n    };\n;\n    JSBNG__setTimeout(i, 10000);\n    window.swiftActionQueue = {\n        flush: g,\n        wasFlushed: !1\n    };\n})();");
9996 // 883
9997 geval("(function() {\n    function a(a) {\n        a.target.setAttribute(\"data-in-composition\", \"true\");\n    };\n;\n    function b(a) {\n        a.target.removeAttribute(\"data-in-composition\");\n    };\n;\n    if (JSBNG__document.JSBNG__addEventListener) {\n        JSBNG__document.JSBNG__addEventListener(\"compositionstart\", a, !1);\n        JSBNG__document.JSBNG__addEventListener(\"compositionend\", b, !1);\n    }\n;\n;\n})();");
9998 // 890
9999 geval("try {\n    JSBNG__document.domain = \"twitter.com\";\n    (function() {\n        function a() {\n            JSBNG__document.write = \"\";\n            window.JSBNG__top.JSBNG__location = window.JSBNG__self.JSBNG__location;\n            JSBNG__setTimeout(function() {\n                JSBNG__document.body.innerHTML = \"\";\n            }, 0);\n            window.JSBNG__self.JSBNG__onload = function(a) {\n                JSBNG__document.body.innerHTML = \"\";\n            };\n        };\n    ;\n        if (((window.JSBNG__top !== window.JSBNG__self))) {\n            try {\n                ((window.JSBNG__top.JSBNG__location.host || a()));\n            } catch (b) {\n                a();\n            };\n        }\n    ;\n    ;\n    })();\n    (function(a, b) {\n        function H(a) {\n            var b = G[a] = {\n            };\n            q.each(a.split(t), function(_, a) {\n                b[a] = !0;\n            });\n            return b;\n        };\n    ;\n        function K(a, c, d) {\n            if (((((d === b)) && ((a.nodeType === 1))))) {\n                var e = ((\"data-\" + c.replace(J, \"-$1\").toLowerCase()));\n                d = a.getAttribute(e);\n                if (((typeof d == \"string\"))) {\n                    try {\n                        d = ((((d === \"true\")) ? !0 : ((((d === \"false\")) ? !1 : ((((d === \"null\")) ? null : ((((((+d + \"\")) === d)) ? +d : ((I.test(d) ? q.parseJSON(d) : d))))))))));\n                    } catch (f) {\n                    \n                    };\n                ;\n                    q.data(a, c, d);\n                }\n                 else d = b;\n            ;\n            ;\n            }\n        ;\n        ;\n            return d;\n        };\n    ;\n        function L(a) {\n            var b;\n            {\n                var fin1keys = ((window.top.JSBNG_Replay.forInKeys)((a))), fin1i = (0);\n                (0);\n                for (; (fin1i < fin1keys.length); (fin1i++)) {\n                    ((b) = (fin1keys[fin1i]));\n                    {\n                        if (((((b === \"data\")) && q.isEmptyObject(a[b])))) {\n                            continue;\n                        }\n                    ;\n                    ;\n                        if (((b !== \"toJSON\"))) {\n                            return !1;\n                        }\n                    ;\n                    ;\n                    };\n                };\n            };\n        ;\n            return !0;\n        };\n    ;\n        function db() {\n            return !1;\n        };\n    ;\n        function eb() {\n            return !0;\n        };\n    ;\n        function kb(a) {\n            return ((((!a || !a.parentNode)) || ((a.parentNode.nodeType === 11))));\n        };\n    ;\n        function lb(a, b) {\n            do a = a[b]; while (((a && ((a.nodeType !== 1)))));\n            return a;\n        };\n    ;\n        function mb(a, b, c) {\n            b = ((b || 0));\n            if (q.isFunction(b)) {\n                return q.grep(a, function(a, d) {\n                    var e = !!b.call(a, d, a);\n                    return ((e === c));\n                });\n            }\n        ;\n        ;\n            if (b.nodeType) {\n                return q.grep(a, function(a, d) {\n                    return ((((a === b)) === c));\n                });\n            }\n        ;\n        ;\n            if (((typeof b == \"string\"))) {\n                var d = q.grep(a, function(a) {\n                    return ((a.nodeType === 1));\n                });\n                if (hb.test(b)) {\n                    return q.filter(b, d, !c);\n                }\n            ;\n            ;\n                b = q.filter(b, d);\n            }\n        ;\n        ;\n            return q.grep(a, function(a, d) {\n                return ((((q.inArray(a, b) >= 0)) === c));\n            });\n        };\n    ;\n        function nb(a) {\n            var b = ob.split(\"|\"), c = a.createDocumentFragment();\n            if (c.createElement) {\n                while (b.length) {\n                    c.createElement(b.pop());\n                ;\n                };\n            }\n        ;\n        ;\n            return c;\n        };\n    ;\n        function Fb(a, b) {\n            return ((a.getElementsByTagName(b)[0] || a.appendChild(a.ownerDocument.createElement(b))));\n        };\n    ;\n        function Gb(a, b) {\n            if (((((b.nodeType !== 1)) || !q.hasData(a)))) {\n                return;\n            }\n        ;\n        ;\n            var c, d, e, f = q._data(a), g = q._data(b, f), i = f.events;\n            if (i) {\n                delete g.handle;\n                g.events = {\n                };\n                {\n                    var fin2keys = ((window.top.JSBNG_Replay.forInKeys)((i))), fin2i = (0);\n                    (0);\n                    for (; (fin2i < fin2keys.length); (fin2i++)) {\n                        ((c) = (fin2keys[fin2i]));\n                        {\n                            for (d = 0, e = i[c].length; ((d < e)); d++) {\n                                q.JSBNG__event.add(b, c, i[c][d]);\n                            ;\n                            };\n                        ;\n                        };\n                    };\n                };\n            ;\n            }\n        ;\n        ;\n            ((g.data && (g.data = q.extend({\n            }, g.data))));\n        };\n    ;\n        function Hb(a, b) {\n            var c;\n            if (((b.nodeType !== 1))) {\n                return;\n            }\n        ;\n        ;\n            ((b.clearAttributes && b.clearAttributes()));\n            ((b.mergeAttributes && b.mergeAttributes(a)));\n            c = b.nodeName.toLowerCase();\n            if (((c === \"object\"))) {\n                ((b.parentNode && (b.outerHTML = a.outerHTML)));\n                ((((((q.support.html5Clone && a.innerHTML)) && !q.trim(b.innerHTML))) && (b.innerHTML = a.innerHTML)));\n            }\n             else if (((((c === \"input\")) && yb.test(a.type)))) {\n                b.defaultChecked = b.checked = a.checked;\n                ((((b.value !== a.value)) && (b.value = a.value)));\n            }\n             else ((((c === \"option\")) ? b.selected = a.defaultSelected : ((((((c === \"input\")) || ((c === \"textarea\")))) ? b.defaultValue = a.defaultValue : ((((((c === \"script\")) && ((b.text !== a.text)))) && (b.text = a.text)))))));\n            \n        ;\n        ;\n            b.removeAttribute(q.expando);\n        };\n    ;\n        function Ib(a) {\n            return ((((typeof a.getElementsByTagName != \"undefined\")) ? a.getElementsByTagName(\"*\") : ((((typeof a.querySelectorAll != \"undefined\")) ? a.querySelectorAll(\"*\") : []))));\n        };\n    ;\n        function Jb(a) {\n            ((yb.test(a.type) && (a.defaultChecked = a.checked)));\n        };\n    ;\n        function _b(a, b) {\n            if (((b in a))) {\n                return b;\n            }\n        ;\n        ;\n            var c = ((b.charAt(0).toUpperCase() + b.slice(1))), d = b, e = Zb.length;\n            while (e--) {\n                b = ((Zb[e] + c));\n                if (((b in a))) {\n                    return b;\n                }\n            ;\n            ;\n            };\n        ;\n            return d;\n        };\n    ;\n        function ac(a, b) {\n            a = ((b || a));\n            return ((((q.css(a, \"display\") === \"none\")) || !q.contains(a.ownerDocument, a)));\n        };\n    ;\n        function bc(a, b) {\n            var c, d, e = [], f = 0, g = a.length;\n            for (; ((f < g)); f++) {\n                c = a[f];\n                if (!c.style) {\n                    continue;\n                }\n            ;\n            ;\n                e[f] = q._data(c, \"olddisplay\");\n                if (b) {\n                    ((((!e[f] && ((c.style.display === \"none\")))) && (c.style.display = \"\")));\n                    ((((((c.style.display === \"\")) && ac(c))) && (e[f] = q._data(c, \"olddisplay\", fc(c.nodeName)))));\n                }\n                 else {\n                    d = Kb(c, \"display\");\n                    ((((!e[f] && ((d !== \"none\")))) && q._data(c, \"olddisplay\", d)));\n                }\n            ;\n            ;\n            };\n        ;\n            for (f = 0; ((f < g)); f++) {\n                c = a[f];\n                if (!c.style) {\n                    continue;\n                }\n            ;\n            ;\n                if (((((!b || ((c.style.display === \"none\")))) || ((c.style.display === \"\"))))) {\n                    c.style.display = ((b ? ((e[f] || \"\")) : \"none\"));\n                }\n            ;\n            ;\n            };\n        ;\n            return a;\n        };\n    ;\n        function cc(a, b, c) {\n            var d = Sb.exec(b);\n            return ((d ? ((Math.max(0, ((d[1] - ((c || 0))))) + ((d[2] || \"px\")))) : b));\n        };\n    ;\n        function dc(a, b, c, d) {\n            var e = ((((c === ((d ? \"border\" : \"JSBNG__content\")))) ? 4 : ((((b === \"width\")) ? 1 : 0)))), f = 0;\n            for (; ((e < 4)); e += 2) {\n                ((((c === \"margin\")) && (f += q.css(a, ((c + Yb[e])), !0))));\n                if (d) {\n                    ((((c === \"JSBNG__content\")) && (f -= ((parseFloat(Kb(a, ((\"padding\" + Yb[e])))) || 0)))));\n                    ((((c !== \"margin\")) && (f -= ((parseFloat(Kb(a, ((((\"border\" + Yb[e])) + \"Width\")))) || 0)))));\n                }\n                 else {\n                    f += ((parseFloat(Kb(a, ((\"padding\" + Yb[e])))) || 0));\n                    ((((c !== \"padding\")) && (f += ((parseFloat(Kb(a, ((((\"border\" + Yb[e])) + \"Width\")))) || 0)))));\n                }\n            ;\n            ;\n            };\n        ;\n            return f;\n        };\n    ;\n        function ec(a, b, c) {\n            var d = ((((b === \"width\")) ? a.offsetWidth : a.offsetHeight)), e = !0, f = ((q.support.boxSizing && ((q.css(a, \"boxSizing\") === \"border-box\"))));\n            if (((((d <= 0)) || ((d == null))))) {\n                d = Kb(a, b);\n                if (((((d < 0)) || ((d == null))))) {\n                    d = a.style[b];\n                }\n            ;\n            ;\n                if (Tb.test(d)) {\n                    return d;\n                }\n            ;\n            ;\n                e = ((f && ((q.support.boxSizingReliable || ((d === a.style[b]))))));\n                d = ((parseFloat(d) || 0));\n            }\n        ;\n        ;\n            return ((((d + dc(a, b, ((c || ((f ? \"border\" : \"JSBNG__content\")))), e))) + \"px\"));\n        };\n    ;\n        function fc(a) {\n            if (Vb[a]) {\n                return Vb[a];\n            }\n        ;\n        ;\n            var b = q(((((\"\\u003C\" + a)) + \"\\u003E\"))).appendTo(e.body), c = b.css(\"display\");\n            b.remove();\n            if (((((c === \"none\")) || ((c === \"\"))))) {\n                Lb = e.body.appendChild(((Lb || q.extend(e.createElement(\"div\"), {\n                    frameBorder: 0,\n                    width: 0,\n                    height: 0\n                }))));\n                if (((!Mb || !Lb.createElement))) {\n                    Mb = ((Lb.contentWindow || Lb.contentDocument)).JSBNG__document;\n                    Mb.write(\"\\u003C!doctype html\\u003E\\u003Chtml\\u003E\\u003Cbody\\u003E\");\n                    Mb.close();\n                }\n            ;\n            ;\n                b = Mb.body.appendChild(Mb.createElement(a));\n                c = Kb(b, \"display\");\n                e.body.removeChild(Lb);\n            }\n        ;\n        ;\n            Vb[a] = c;\n            return c;\n        };\n    ;\n        function lc(a, b, c, d) {\n            var e;\n            if (q.isArray(b)) {\n                q.each(b, function(b, e) {\n                    ((((c || hc.test(a))) ? d(a, e) : lc(((((((a + \"[\")) + ((((typeof e == \"object\")) ? b : \"\")))) + \"]\")), e, c, d)));\n                });\n            }\n             else {\n                if (((!c && ((q.type(b) === \"object\"))))) {\n                    {\n                        var fin3keys = ((window.top.JSBNG_Replay.forInKeys)((b))), fin3i = (0);\n                        (0);\n                        for (; (fin3i < fin3keys.length); (fin3i++)) {\n                            ((e) = (fin3keys[fin3i]));\n                            {\n                                lc(((((((a + \"[\")) + e)) + \"]\")), b[e], c, d);\n                            ;\n                            };\n                        };\n                    };\n                }\n                 else {\n                    d(a, b);\n                }\n            ;\n            }\n        ;\n        ;\n        };\n    ;\n        function Cc(a) {\n            return function(b, c) {\n                if (((typeof b != \"string\"))) {\n                    c = b;\n                    b = \"*\";\n                }\n            ;\n            ;\n                var d, e, f, g = b.toLowerCase().split(t), i = 0, j = g.length;\n                if (q.isFunction(c)) {\n                    for (; ((i < j)); i++) {\n                        d = g[i];\n                        f = /^\\+/.test(d);\n                        ((f && (d = ((d.substr(1) || \"*\")))));\n                        e = a[d] = ((a[d] || []));\n                        e[((f ? \"unshift\" : \"push\"))](c);\n                    };\n                }\n            ;\n            ;\n            };\n        };\n    ;\n        function Dc(a, c, d, e, f, g) {\n            f = ((f || c.dataTypes[0]));\n            g = ((g || {\n            }));\n            g[f] = !0;\n            var i, j = a[f], k = 0, l = ((j ? j.length : 0)), m = ((a === yc));\n            for (; ((((k < l)) && ((m || !i)))); k++) {\n                i = j[k](c, d, e);\n                if (((typeof i == \"string\"))) {\n                    if (((!m || g[i]))) i = b;\n                     else {\n                        c.dataTypes.unshift(i);\n                        i = Dc(a, c, d, e, i, g);\n                    }\n                ;\n                }\n            ;\n            ;\n            };\n        ;\n            ((((((m || !i)) && !g[\"*\"])) && (i = Dc(a, c, d, e, \"*\", g))));\n            return i;\n        };\n    ;\n        function Ec(a, c) {\n            var d, e, f = ((q.ajaxSettings.flatOptions || {\n            }));\n            {\n                var fin4keys = ((window.top.JSBNG_Replay.forInKeys)((c))), fin4i = (0);\n                (0);\n                for (; (fin4i < fin4keys.length); (fin4i++)) {\n                    ((d) = (fin4keys[fin4i]));\n                    {\n                        ((((c[d] !== b)) && (((f[d] ? a : ((e || (e = {\n                        })))))[d] = c[d])));\n                    ;\n                    };\n                };\n            };\n        ;\n            ((e && q.extend(!0, a, e)));\n        };\n    ;\n        function Fc(a, c, d) {\n            var e, f, g, i, j = a.contents, k = a.dataTypes, l = a.responseFields;\n            {\n                var fin5keys = ((window.top.JSBNG_Replay.forInKeys)((l))), fin5i = (0);\n                (0);\n                for (; (fin5i < fin5keys.length); (fin5i++)) {\n                    ((f) = (fin5keys[fin5i]));\n                    {\n                        ((((f in d)) && (c[l[f]] = d[f])));\n                    ;\n                    };\n                };\n            };\n        ;\n            while (((k[0] === \"*\"))) {\n                k.shift();\n                ((((e === b)) && (e = ((a.mimeType || c.getResponseHeader(\"content-type\"))))));\n            };\n        ;\n            if (e) {\n                {\n                    var fin6keys = ((window.top.JSBNG_Replay.forInKeys)((j))), fin6i = (0);\n                    (0);\n                    for (; (fin6i < fin6keys.length); (fin6i++)) {\n                        ((f) = (fin6keys[fin6i]));\n                        {\n                            if (((j[f] && j[f].test(e)))) {\n                                k.unshift(f);\n                                break;\n                            }\n                        ;\n                        ;\n                        };\n                    };\n                };\n            }\n        ;\n        ;\n            if (((k[0] in d))) g = k[0];\n             else {\n                {\n                    var fin7keys = ((window.top.JSBNG_Replay.forInKeys)((d))), fin7i = (0);\n                    (0);\n                    for (; (fin7i < fin7keys.length); (fin7i++)) {\n                        ((f) = (fin7keys[fin7i]));\n                        {\n                            if (((!k[0] || a.converters[((((f + \" \")) + k[0]))]))) {\n                                g = f;\n                                break;\n                            }\n                        ;\n                        ;\n                            ((i || (i = f)));\n                        };\n                    };\n                };\n            ;\n                g = ((g || i));\n            }\n        ;\n        ;\n            if (g) {\n                ((((g !== k[0])) && k.unshift(g)));\n                return d[g];\n            }\n        ;\n        ;\n        };\n    ;\n        function Gc(a, b) {\n            var c, d, e, f, g = a.dataTypes.slice(), i = g[0], j = {\n            }, k = 0;\n            ((a.dataFilter && (b = a.dataFilter(b, a.dataType))));\n            if (g[1]) {\n                {\n                    var fin8keys = ((window.top.JSBNG_Replay.forInKeys)((a.converters))), fin8i = (0);\n                    (0);\n                    for (; (fin8i < fin8keys.length); (fin8i++)) {\n                        ((c) = (fin8keys[fin8i]));\n                        {\n                            j[c.toLowerCase()] = a.converters[c];\n                        ;\n                        };\n                    };\n                };\n            }\n        ;\n        ;\n            for (; e = g[++k]; ) {\n                if (((e !== \"*\"))) {\n                    if (((((i !== \"*\")) && ((i !== e))))) {\n                        c = ((j[((((i + \" \")) + e))] || j[((\"* \" + e))]));\n                        if (!c) {\n                            {\n                                var fin9keys = ((window.top.JSBNG_Replay.forInKeys)((j))), fin9i = (0);\n                                (0);\n                                for (; (fin9i < fin9keys.length); (fin9i++)) {\n                                    ((d) = (fin9keys[fin9i]));\n                                    {\n                                        f = d.split(\" \");\n                                        if (((f[1] === e))) {\n                                            c = ((j[((((i + \" \")) + f[0]))] || j[((\"* \" + f[0]))]));\n                                            if (c) {\n                                                if (((c === !0))) {\n                                                    c = j[d];\n                                                }\n                                                 else {\n                                                    if (((j[d] !== !0))) {\n                                                        e = f[0];\n                                                        g.splice(k--, 0, e);\n                                                    }\n                                                ;\n                                                }\n                                            ;\n                                            ;\n                                                break;\n                                            }\n                                        ;\n                                        ;\n                                        }\n                                    ;\n                                    ;\n                                    };\n                                };\n                            };\n                        }\n                    ;\n                    ;\n                        if (((c !== !0))) {\n                            if (((c && a[\"throws\"]))) {\n                                b = c(b);\n                            }\n                             else {\n                                try {\n                                    b = c(b);\n                                } catch (l) {\n                                    return {\n                                        state: \"parsererror\",\n                                        error: ((c ? l : ((((((\"No conversion from \" + i)) + \" to \")) + e))))\n                                    };\n                                };\n                            }\n                        ;\n                        }\n                    ;\n                    ;\n                    }\n                ;\n                ;\n                    i = e;\n                }\n            ;\n            ;\n            };\n        ;\n            return {\n                state: \"success\",\n                data: b\n            };\n        };\n    ;\n        function Oc() {\n            try {\n                return new a.JSBNG__XMLHttpRequest;\n            } catch (b) {\n            \n            };\n        ;\n        };\n    ;\n        function Pc() {\n            try {\n                return new a.ActiveXObject(\"Microsoft.XMLHTTP\");\n            } catch (b) {\n            \n            };\n        ;\n        };\n    ;\n        function Xc() {\n            JSBNG__setTimeout(function() {\n                Qc = b;\n            }, 0);\n            return Qc = q.now();\n        };\n    ;\n        function Yc(a, b) {\n            q.each(b, function(b, c) {\n                var d = ((Wc[b] || [])).concat(Wc[\"*\"]), e = 0, f = d.length;\n                for (; ((e < f)); e++) {\n                    if (d[e].call(a, b, c)) {\n                        return;\n                    }\n                ;\n                ;\n                };\n            ;\n            });\n        };\n    ;\n        function Zc(a, b, c) {\n            var d, e = 0, f = 0, g = Vc.length, i = q.Deferred().always(function() {\n                delete j.elem;\n            }), j = function() {\n                var b = ((Qc || Xc())), c = Math.max(0, ((((k.startTime + k.duration)) - b))), d = ((((c / k.duration)) || 0)), e = ((1 - d)), f = 0, g = k.tweens.length;\n                for (; ((f < g)); f++) {\n                    k.tweens[f].run(e);\n                ;\n                };\n            ;\n                i.notifyWith(a, [k,e,c,]);\n                if (((((e < 1)) && g))) {\n                    return c;\n                }\n            ;\n            ;\n                i.resolveWith(a, [k,]);\n                return !1;\n            }, k = i.promise({\n                elem: a,\n                props: q.extend({\n                }, b),\n                opts: q.extend(!0, {\n                    specialEasing: {\n                    }\n                }, c),\n                originalProperties: b,\n                originalOptions: c,\n                startTime: ((Qc || Xc())),\n                duration: c.duration,\n                tweens: [],\n                createTween: function(b, c, d) {\n                    var e = q.Tween(a, k.opts, b, c, ((k.opts.specialEasing[b] || k.opts.easing)));\n                    k.tweens.push(e);\n                    return e;\n                },\n                JSBNG__stop: function(b) {\n                    var c = 0, d = ((b ? k.tweens.length : 0));\n                    for (; ((c < d)); c++) {\n                        k.tweens[c].run(1);\n                    ;\n                    };\n                ;\n                    ((b ? i.resolveWith(a, [k,b,]) : i.rejectWith(a, [k,b,])));\n                    return this;\n                }\n            }), l = k.props;\n            $c(l, k.opts.specialEasing);\n            for (; ((e < g)); e++) {\n                d = Vc[e].call(k, a, l, k.opts);\n                if (d) {\n                    return d;\n                }\n            ;\n            ;\n            };\n        ;\n            Yc(k, l);\n            ((q.isFunction(k.opts.start) && k.opts.start.call(a, k)));\n            q.fx.timer(q.extend(j, {\n                anim: k,\n                queue: k.opts.queue,\n                elem: a\n            }));\n            return k.progress(k.opts.progress).done(k.opts.done, k.opts.complete).fail(k.opts.fail).always(k.opts.always);\n        };\n    ;\n        function $c(a, b) {\n            var c, d, e, f, g;\n            {\n                var fin10keys = ((window.top.JSBNG_Replay.forInKeys)((a))), fin10i = (0);\n                (0);\n                for (; (fin10i < fin10keys.length); (fin10i++)) {\n                    ((c) = (fin10keys[fin10i]));\n                    {\n                        d = q.camelCase(c);\n                        e = b[d];\n                        f = a[c];\n                        if (q.isArray(f)) {\n                            e = f[1];\n                            f = a[c] = f[0];\n                        }\n                    ;\n                    ;\n                        if (((c !== d))) {\n                            a[d] = f;\n                            delete a[c];\n                        }\n                    ;\n                    ;\n                        g = q.cssHooks[d];\n                        if (((g && ((\"expand\" in g))))) {\n                            f = g.expand(f);\n                            delete a[d];\n                            {\n                                var fin11keys = ((window.top.JSBNG_Replay.forInKeys)((f))), fin11i = (0);\n                                (0);\n                                for (; (fin11i < fin11keys.length); (fin11i++)) {\n                                    ((c) = (fin11keys[fin11i]));\n                                    {\n                                        if (!((c in a))) {\n                                            a[c] = f[c];\n                                            b[c] = e;\n                                        }\n                                    ;\n                                    ;\n                                    };\n                                };\n                            };\n                        ;\n                        }\n                         else b[d] = e;\n                    ;\n                    ;\n                    };\n                };\n            };\n        ;\n        };\n    ;\n        function _c(a, b, c) {\n            var d, e, f, g, i, j, k, l, m, n = this, o = a.style, p = {\n            }, r = [], s = ((a.nodeType && ac(a)));\n            if (!c.queue) {\n                l = q._queueHooks(a, \"fx\");\n                if (((l.unqueued == null))) {\n                    l.unqueued = 0;\n                    m = l.empty.fire;\n                    l.empty.fire = function() {\n                        ((l.unqueued || m()));\n                    };\n                }\n            ;\n            ;\n                l.unqueued++;\n                n.always(function() {\n                    n.always(function() {\n                        l.unqueued--;\n                        ((q.queue(a, \"fx\").length || l.empty.fire()));\n                    });\n                });\n            }\n        ;\n        ;\n            if (((((a.nodeType === 1)) && ((((\"height\" in b)) || ((\"width\" in b))))))) {\n                c.overflow = [o.overflow,o.overflowX,o.overflowY,];\n                ((((((q.css(a, \"display\") === \"inline\")) && ((q.css(a, \"float\") === \"none\")))) && ((((!q.support.inlineBlockNeedsLayout || ((fc(a.nodeName) === \"inline\")))) ? o.display = \"inline-block\" : o.zoom = 1))));\n            }\n        ;\n        ;\n            if (c.overflow) {\n                o.overflow = \"hidden\";\n                ((q.support.shrinkWrapBlocks || n.done(function() {\n                    o.overflow = c.overflow[0];\n                    o.overflowX = c.overflow[1];\n                    o.overflowY = c.overflow[2];\n                })));\n            }\n        ;\n        ;\n            {\n                var fin12keys = ((window.top.JSBNG_Replay.forInKeys)((b))), fin12i = (0);\n                (0);\n                for (; (fin12i < fin12keys.length); (fin12i++)) {\n                    ((d) = (fin12keys[fin12i]));\n                    {\n                        f = b[d];\n                        if (Sc.exec(f)) {\n                            delete b[d];\n                            j = ((j || ((f === \"toggle\"))));\n                            if (((f === ((s ? \"hide\" : \"show\"))))) {\n                                continue;\n                            }\n                        ;\n                        ;\n                            r.push(d);\n                        }\n                    ;\n                    ;\n                    };\n                };\n            };\n        ;\n            g = r.length;\n            if (g) {\n                i = ((q._data(a, \"fxshow\") || q._data(a, \"fxshow\", {\n                })));\n                ((((\"hidden\" in i)) && (s = i.hidden)));\n                ((j && (i.hidden = !s)));\n                ((s ? q(a).show() : n.done(function() {\n                    q(a).hide();\n                })));\n                n.done(function() {\n                    var b;\n                    q.removeData(a, \"fxshow\", !0);\n                    {\n                        var fin13keys = ((window.top.JSBNG_Replay.forInKeys)((p))), fin13i = (0);\n                        (0);\n                        for (; (fin13i < fin13keys.length); (fin13i++)) {\n                            ((b) = (fin13keys[fin13i]));\n                            {\n                                q.style(a, b, p[b]);\n                            ;\n                            };\n                        };\n                    };\n                ;\n                });\n                for (d = 0; ((d < g)); d++) {\n                    e = r[d];\n                    k = n.createTween(e, ((s ? i[e] : 0)));\n                    p[e] = ((i[e] || q.style(a, e)));\n                    if (!((e in i))) {\n                        i[e] = k.start;\n                        if (s) {\n                            k.end = k.start;\n                            k.start = ((((((e === \"width\")) || ((e === \"height\")))) ? 1 : 0));\n                        }\n                    ;\n                    ;\n                    }\n                ;\n                ;\n                };\n            ;\n            }\n        ;\n        ;\n        };\n    ;\n        function ad(a, b, c, d, e) {\n            return new ad.prototype.init(a, b, c, d, e);\n        };\n    ;\n        function bd(a, b) {\n            var c, d = {\n                height: a\n            }, e = 0;\n            b = ((b ? 1 : 0));\n            for (; ((e < 4)); e += ((2 - b))) {\n                c = Yb[e];\n                d[((\"margin\" + c))] = d[((\"padding\" + c))] = a;\n            };\n        ;\n            ((b && (d.opacity = d.width = a)));\n            return d;\n        };\n    ;\n        function dd(a) {\n            return ((q.isWindow(a) ? a : ((((a.nodeType === 9)) ? ((a.defaultView || a.parentWindow)) : !1))));\n        };\n    ;\n        var c, d, e = a.JSBNG__document, f = a.JSBNG__location, g = a.JSBNG__navigator, i = a.jQuery, j = a.$, k = Array.prototype.push, l = Array.prototype.slice, m = Array.prototype.indexOf, n = Object.prototype.toString, o = Object.prototype.hasOwnProperty, p = String.prototype.trim, q = function(a, b) {\n            return new q.fn.init(a, b, c);\n        }, r = /[\\-+]?(?:\\d*\\.|)\\d+(?:[eE][\\-+]?\\d+|)/.source, s = /\\S/, t = /\\s+/, u = /^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, v = /^(?:[^#<]*(<[\\w\\W]+>)[^>]*$|#([\\w\\-]*)$)/, w = /^<(\\w+)\\s*\\/?>(?:<\\/\\1>|)$/, x = /^[\\],:{}\\s]*$/, y = /(?:^|:|,)(?:\\s*\\[)+/g, z = /\\\\(?:[\"\\\\\\/bfnrt]|u[\\da-fA-F]{4})/g, A = /\"[^\"\\\\\\r\\n]*\"|true|false|null|-?(?:\\d\\d*\\.|)\\d+(?:[eE][\\-+]?\\d+|)/g, B = /^-ms-/, C = /-([\\da-z])/gi, D = function(a, b) {\n            return ((b + \"\")).toUpperCase();\n        }, E = function() {\n            if (e.JSBNG__addEventListener) {\n                e.JSBNG__removeEventListener(\"DOMContentLoaded\", E, !1);\n                q.ready();\n            }\n             else if (((e.readyState === \"complete\"))) {\n                e.JSBNG__detachEvent(\"onreadystatechange\", E);\n                q.ready();\n            }\n            \n        ;\n        ;\n        }, F = {\n        };\n        q.fn = q.prototype = {\n            constructor: q,\n            init: function(a, c, d) {\n                var f, g, i, j;\n                if (!a) {\n                    return this;\n                }\n            ;\n            ;\n                if (a.nodeType) {\n                    this.context = this[0] = a;\n                    this.length = 1;\n                    return this;\n                }\n            ;\n            ;\n                if (((typeof a == \"string\"))) {\n                    ((((((((a.charAt(0) === \"\\u003C\")) && ((a.charAt(((a.length - 1))) === \"\\u003E\")))) && ((a.length >= 3)))) ? f = [null,a,null,] : f = v.exec(a)));\n                    if (((f && ((f[1] || !c))))) {\n                        if (f[1]) {\n                            c = ((((c instanceof q)) ? c[0] : c));\n                            j = ((((c && c.nodeType)) ? ((c.ownerDocument || c)) : e));\n                            a = q.parseHTML(f[1], j, !0);\n                            ((((w.test(f[1]) && q.isPlainObject(c))) && this.attr.call(a, c, !0)));\n                            return q.merge(this, a);\n                        }\n                    ;\n                    ;\n                        g = e.getElementById(f[2]);\n                        if (((g && g.parentNode))) {\n                            if (((g.id !== f[2]))) {\n                                return d.JSBNG__find(a);\n                            }\n                        ;\n                        ;\n                            this.length = 1;\n                            this[0] = g;\n                        }\n                    ;\n                    ;\n                        this.context = e;\n                        this.selector = a;\n                        return this;\n                    }\n                ;\n                ;\n                    return ((((!c || c.jquery)) ? ((c || d)).JSBNG__find(a) : this.constructor(c).JSBNG__find(a)));\n                }\n            ;\n            ;\n                if (q.isFunction(a)) {\n                    return d.ready(a);\n                }\n            ;\n            ;\n                if (((a.selector !== b))) {\n                    this.selector = a.selector;\n                    this.context = a.context;\n                }\n            ;\n            ;\n                return q.makeArray(a, this);\n            },\n            selector: \"\",\n            jquery: \"1.8.3\",\n            length: 0,\n            size: function() {\n                return this.length;\n            },\n            toArray: function() {\n                return l.call(this);\n            },\n            get: function(a) {\n                return ((((a == null)) ? this.toArray() : ((((a < 0)) ? this[((this.length + a))] : this[a]))));\n            },\n            pushStack: function(a, b, c) {\n                var d = q.merge(this.constructor(), a);\n                d.prevObject = this;\n                d.context = this.context;\n                ((((b === \"JSBNG__find\")) ? d.selector = ((((this.selector + ((this.selector ? \" \" : \"\")))) + c)) : ((b && (d.selector = ((((((((((this.selector + \".\")) + b)) + \"(\")) + c)) + \")\")))))));\n                return d;\n            },\n            each: function(a, b) {\n                return q.each(this, a, b);\n            },\n            ready: function(a) {\n                q.ready.promise().done(a);\n                return this;\n            },\n            eq: function(a) {\n                a = +a;\n                return ((((a === -1)) ? this.slice(a) : this.slice(a, ((a + 1)))));\n            },\n            first: function() {\n                return this.eq(0);\n            },\n            last: function() {\n                return this.eq(-1);\n            },\n            slice: function() {\n                return this.pushStack(l.apply(this, arguments), \"slice\", l.call(arguments).join(\",\"));\n            },\n            map: function(a) {\n                return this.pushStack(q.map(this, function(b, c) {\n                    return a.call(b, c, b);\n                }));\n            },\n            end: function() {\n                return ((this.prevObject || this.constructor(null)));\n            },\n            push: k,\n            sort: [].sort,\n            splice: [].splice\n        };\n        q.fn.init.prototype = q.fn;\n        q.extend = q.fn.extend = function() {\n            var a, c, d, e, f, g, i = ((arguments[0] || {\n            })), j = 1, k = arguments.length, l = !1;\n            if (((typeof i == \"boolean\"))) {\n                l = i;\n                i = ((arguments[1] || {\n                }));\n                j = 2;\n            }\n        ;\n        ;\n            ((((((typeof i != \"object\")) && !q.isFunction(i))) && (i = {\n            })));\n            if (((k === j))) {\n                i = this;\n                --j;\n            }\n        ;\n        ;\n            for (; ((j < k)); j++) {\n                if ((((a = arguments[j]) != null))) {\n                    {\n                        var fin14keys = ((window.top.JSBNG_Replay.forInKeys)((a))), fin14i = (0);\n                        (0);\n                        for (; (fin14i < fin14keys.length); (fin14i++)) {\n                            ((c) = (fin14keys[fin14i]));\n                            {\n                                d = i[c];\n                                e = a[c];\n                                if (((i === e))) {\n                                    continue;\n                                }\n                            ;\n                            ;\n                                if (((((l && e)) && ((q.isPlainObject(e) || (f = q.isArray(e))))))) {\n                                    if (f) {\n                                        f = !1;\n                                        g = ((((d && q.isArray(d))) ? d : []));\n                                    }\n                                     else g = ((((d && q.isPlainObject(d))) ? d : {\n                                    }));\n                                ;\n                                ;\n                                    i[c] = q.extend(l, g, e);\n                                }\n                                 else ((((e !== b)) && (i[c] = e)));\n                            ;\n                            ;\n                            };\n                        };\n                    };\n                }\n            ;\n            ;\n            };\n        ;\n            return i;\n        };\n        q.extend({\n            noConflict: function(b) {\n                ((((a.$ === q)) && (a.$ = j)));\n                ((((b && ((a.jQuery === q)))) && (a.jQuery = i)));\n                return q;\n            },\n            isReady: !1,\n            readyWait: 1,\n            holdReady: function(a) {\n                ((a ? q.readyWait++ : q.ready(!0)));\n            },\n            ready: function(a) {\n                if (((((a === !0)) ? --q.readyWait : q.isReady))) {\n                    return;\n                }\n            ;\n            ;\n                if (!e.body) {\n                    return JSBNG__setTimeout(q.ready, 1);\n                }\n            ;\n            ;\n                q.isReady = !0;\n                if (((((a !== !0)) && ((--q.readyWait > 0))))) {\n                    return;\n                }\n            ;\n            ;\n                d.resolveWith(e, [q,]);\n                ((q.fn.trigger && q(e).trigger(\"ready\").off(\"ready\")));\n            },\n            isFunction: function(a) {\n                return ((q.type(a) === \"function\"));\n            },\n            isArray: ((Array.isArray || function(a) {\n                return ((q.type(a) === \"array\"));\n            })),\n            isWindow: function(a) {\n                return ((((a != null)) && ((a == a.window))));\n            },\n            isNumeric: function(a) {\n                return ((!isNaN(parseFloat(a)) && isFinite(a)));\n            },\n            type: function(a) {\n                return ((((a == null)) ? String(a) : ((F[n.call(a)] || \"object\"))));\n            },\n            isPlainObject: function(a) {\n                if (((((((!a || ((q.type(a) !== \"object\")))) || a.nodeType)) || q.isWindow(a)))) {\n                    return !1;\n                }\n            ;\n            ;\n                try {\n                    if (((((a.constructor && !o.call(a, \"constructor\"))) && !o.call(a.constructor.prototype, \"isPrototypeOf\")))) {\n                        return !1;\n                    }\n                ;\n                ;\n                } catch (c) {\n                    return !1;\n                };\n            ;\n                var d;\n                {\n                    var fin15keys = ((window.top.JSBNG_Replay.forInKeys)((a))), fin15i = (0);\n                    (0);\n                    for (; (fin15i < fin15keys.length); (fin15i++)) {\n                        ((d) = (fin15keys[fin15i]));\n                        {\n                        ;\n                        };\n                    };\n                };\n            ;\n                return ((((d === b)) || o.call(a, d)));\n            },\n            isEmptyObject: function(a) {\n                var b;\n                {\n                    var fin16keys = ((window.top.JSBNG_Replay.forInKeys)((a))), fin16i = (0);\n                    (0);\n                    for (; (fin16i < fin16keys.length); (fin16i++)) {\n                        ((b) = (fin16keys[fin16i]));\n                        {\n                            return !1;\n                        };\n                    };\n                };\n            ;\n                return !0;\n            },\n            error: function(a) {\n                throw new Error(a);\n            },\n            parseHTML: function(a, b, c) {\n                var d;\n                if (((!a || ((typeof a != \"string\"))))) {\n                    return null;\n                }\n            ;\n            ;\n                if (((typeof b == \"boolean\"))) {\n                    c = b;\n                    b = 0;\n                }\n            ;\n            ;\n                b = ((b || e));\n                if (d = w.exec(a)) {\n                    return [b.createElement(d[1]),];\n                }\n            ;\n            ;\n                d = q.buildFragment([a,], b, ((c ? null : [])));\n                return q.merge([], ((d.cacheable ? q.clone(d.fragment) : d.fragment)).childNodes);\n            },\n            parseJSON: function(b) {\n                if (((!b || ((typeof b != \"string\"))))) {\n                    return null;\n                }\n            ;\n            ;\n                b = q.trim(b);\n                if (((a.JSON && a.JSON.parse))) {\n                    return a.JSON.parse(b);\n                }\n            ;\n            ;\n                if (x.test(b.replace(z, \"@\").replace(A, \"]\").replace(y, \"\"))) {\n                    return (new Function(((\"return \" + b))))();\n                }\n            ;\n            ;\n                q.error(((\"Invalid JSON: \" + b)));\n            },\n            parseXML: function(c) {\n                var d, e;\n                if (((!c || ((typeof c != \"string\"))))) {\n                    return null;\n                }\n            ;\n            ;\n                try {\n                    if (a.JSBNG__DOMParser) {\n                        e = new JSBNG__DOMParser;\n                        d = e.parseFromString(c, \"text/xml\");\n                    }\n                     else {\n                        d = new ActiveXObject(\"Microsoft.XMLDOM\");\n                        d.async = \"false\";\n                        d.loadXML(c);\n                    }\n                ;\n                ;\n                } catch (f) {\n                    d = b;\n                };\n            ;\n                ((((((!d || !d.documentElement)) || d.getElementsByTagName(\"parsererror\").length)) && q.error(((\"Invalid XML: \" + c)))));\n                return d;\n            },\n            noop: function() {\n            \n            },\n            globalEval: function(b) {\n                ((((b && s.test(b))) && ((a.execScript || function(b) {\n                    a.eval.call(a, b);\n                }))(b)));\n            },\n            camelCase: function(a) {\n                return a.replace(B, \"ms-\").replace(C, D);\n            },\n            nodeName: function(a, b) {\n                return ((a.nodeName && ((a.nodeName.toLowerCase() === b.toLowerCase()))));\n            },\n            each: function(a, c, d) {\n                var e, f = 0, g = a.length, i = ((((g === b)) || q.isFunction(a)));\n                if (d) {\n                    if (i) {\n                        {\n                            var fin17keys = ((window.top.JSBNG_Replay.forInKeys)((a))), fin17i = (0);\n                            (0);\n                            for (; (fin17i < fin17keys.length); (fin17i++)) {\n                                ((e) = (fin17keys[fin17i]));\n                                {\n                                    if (((c.apply(a[e], d) === !1))) {\n                                        break;\n                                    }\n                                ;\n                                ;\n                                };\n                            };\n                        };\n                    ;\n                    }\n                     else for (; ((f < g)); ) {\n                        if (((c.apply(a[f++], d) === !1))) {\n                            break;\n                        }\n                    ;\n                    ;\n                    }\n                ;\n                ;\n                }\n                 else if (i) {\n                    {\n                        var fin18keys = ((window.top.JSBNG_Replay.forInKeys)((a))), fin18i = (0);\n                        (0);\n                        for (; (fin18i < fin18keys.length); (fin18i++)) {\n                            ((e) = (fin18keys[fin18i]));\n                            {\n                                if (((c.call(a[e], e, a[e]) === !1))) {\n                                    break;\n                                }\n                            ;\n                            ;\n                            };\n                        };\n                    };\n                ;\n                }\n                 else for (; ((f < g)); ) {\n                    if (((c.call(a[f], f, a[f++]) === !1))) {\n                        break;\n                    }\n                ;\n                ;\n                }\n                \n            ;\n            ;\n                return a;\n            },\n            trim: ((((p && !p.call(\"\\ufeff\\u00a0\"))) ? function(a) {\n                return ((((a == null)) ? \"\" : p.call(a)));\n            } : function(a) {\n                return ((((a == null)) ? \"\" : ((a + \"\")).replace(u, \"\")));\n            })),\n            makeArray: function(a, b) {\n                var c, d = ((b || []));\n                if (((a != null))) {\n                    c = q.type(a);\n                    ((((((((((((a.length == null)) || ((c === \"string\")))) || ((c === \"function\")))) || ((c === \"regexp\")))) || q.isWindow(a))) ? k.call(d, a) : q.merge(d, a)));\n                }\n            ;\n            ;\n                return d;\n            },\n            inArray: function(a, b, c) {\n                var d;\n                if (b) {\n                    if (m) {\n                        return m.call(b, a, c);\n                    }\n                ;\n                ;\n                    d = b.length;\n                    c = ((c ? ((((c < 0)) ? Math.max(0, ((d + c))) : c)) : 0));\n                    for (; ((c < d)); c++) {\n                        if (((((c in b)) && ((b[c] === a))))) {\n                            return c;\n                        }\n                    ;\n                    ;\n                    };\n                ;\n                }\n            ;\n            ;\n                return -1;\n            },\n            merge: function(a, c) {\n                var d = c.length, e = a.length, f = 0;\n                if (((typeof d == \"number\"))) {\n                    for (; ((f < d)); f++) {\n                        a[e++] = c[f];\n                    ;\n                    };\n                }\n                 else {\n                    while (((c[f] !== b))) {\n                        a[e++] = c[f++];\n                    ;\n                    };\n                }\n            ;\n            ;\n                a.length = e;\n                return a;\n            },\n            grep: function(a, b, c) {\n                var d, e = [], f = 0, g = a.length;\n                c = !!c;\n                for (; ((f < g)); f++) {\n                    d = !!b(a[f], f);\n                    ((((c !== d)) && e.push(a[f])));\n                };\n            ;\n                return e;\n            },\n            map: function(a, c, d) {\n                var e, f, g = [], i = 0, j = a.length, k = ((((a instanceof q)) || ((((((j !== b)) && ((typeof j == \"number\")))) && ((((((((((j > 0)) && a[0])) && a[((j - 1))])) || ((j === 0)))) || q.isArray(a)))))));\n                if (k) {\n                    for (; ((i < j)); i++) {\n                        e = c(a[i], i, d);\n                        ((((e != null)) && (g[g.length] = e)));\n                    };\n                }\n                 else {\n                    {\n                        var fin19keys = ((window.top.JSBNG_Replay.forInKeys)((a))), fin19i = (0);\n                        (0);\n                        for (; (fin19i < fin19keys.length); (fin19i++)) {\n                            ((f) = (fin19keys[fin19i]));\n                            {\n                                e = c(a[f], f, d);\n                                ((((e != null)) && (g[g.length] = e)));\n                            };\n                        };\n                    };\n                }\n            ;\n            ;\n                return g.concat.apply([], g);\n            },\n            guid: 1,\n            proxy: function(a, c) {\n                var d, e, f;\n                if (((typeof c == \"string\"))) {\n                    d = a[c];\n                    c = a;\n                    a = d;\n                }\n            ;\n            ;\n                if (!q.isFunction(a)) {\n                    return b;\n                }\n            ;\n            ;\n                e = l.call(arguments, 2);\n                f = function() {\n                    return a.apply(c, e.concat(l.call(arguments)));\n                };\n                f.guid = a.guid = ((a.guid || q.guid++));\n                return f;\n            },\n            access: function(a, c, d, e, f, g, i) {\n                var j, k = ((d == null)), l = 0, m = a.length;\n                if (((d && ((typeof d == \"object\"))))) {\n                    {\n                        var fin20keys = ((window.top.JSBNG_Replay.forInKeys)((d))), fin20i = (0);\n                        (0);\n                        for (; (fin20i < fin20keys.length); (fin20i++)) {\n                            ((l) = (fin20keys[fin20i]));\n                            {\n                                q.access(a, c, l, d[l], 1, g, e);\n                            ;\n                            };\n                        };\n                    };\n                ;\n                    f = 1;\n                }\n                 else if (((e !== b))) {\n                    j = ((((i === b)) && q.isFunction(e)));\n                    if (k) {\n                        if (j) {\n                            j = c;\n                            c = function(a, b, c) {\n                                return j.call(q(a), c);\n                            };\n                        }\n                         else {\n                            c.call(a, e);\n                            c = null;\n                        }\n                    ;\n                    }\n                ;\n                ;\n                    if (c) {\n                        for (; ((l < m)); l++) {\n                            c(a[l], d, ((j ? e.call(a[l], l, c(a[l], d)) : e)), i);\n                        ;\n                        };\n                    }\n                ;\n                ;\n                    f = 1;\n                }\n                \n            ;\n            ;\n                return ((f ? a : ((k ? c.call(a) : ((m ? c(a[0], d) : g))))));\n            },\n            now: function() {\n                return (new JSBNG__Date).getTime();\n            }\n        });\n        q.ready.promise = function(b) {\n            if (!d) {\n                d = q.Deferred();\n                if (((e.readyState === \"complete\"))) {\n                    JSBNG__setTimeout(q.ready, 1);\n                }\n                 else {\n                    if (e.JSBNG__addEventListener) {\n                        e.JSBNG__addEventListener(\"DOMContentLoaded\", E, !1);\n                        a.JSBNG__addEventListener(\"load\", q.ready, !1);\n                    }\n                     else {\n                        e.JSBNG__attachEvent(\"onreadystatechange\", E);\n                        a.JSBNG__attachEvent(\"JSBNG__onload\", q.ready);\n                        var c = !1;\n                        try {\n                            c = ((((a.JSBNG__frameElement == null)) && e.documentElement));\n                        } catch (f) {\n                        \n                        };\n                    ;\n                        ((((c && c.doScroll)) && function g() {\n                            if (!q.isReady) {\n                                try {\n                                    c.doScroll(\"left\");\n                                } catch (a) {\n                                    return JSBNG__setTimeout(g, 50);\n                                };\n                            ;\n                                q.ready();\n                            }\n                        ;\n                        ;\n                        }()));\n                    }\n                ;\n                }\n            ;\n            ;\n            }\n        ;\n        ;\n            return d.promise(b);\n        };\n        q.each(\"Boolean Number String Function Array Date RegExp Object\".split(\" \"), function(a, b) {\n            F[((((\"[object \" + b)) + \"]\"))] = b.toLowerCase();\n        });\n        c = q(e);\n        var G = {\n        };\n        q.Callbacks = function(a) {\n            a = ((((typeof a == \"string\")) ? ((G[a] || H(a))) : q.extend({\n            }, a)));\n            var c, d, e, f, g, i, j = [], k = ((!a.once && [])), l = function(b) {\n                c = ((a.memory && b));\n                d = !0;\n                i = ((f || 0));\n                f = 0;\n                g = j.length;\n                e = !0;\n                for (; ((j && ((i < g)))); i++) {\n                    if (((((j[i].apply(b[0], b[1]) === !1)) && a.stopOnFalse))) {\n                        c = !1;\n                        break;\n                    }\n                ;\n                ;\n                };\n            ;\n                e = !1;\n                ((j && ((k ? ((k.length && l(k.shift()))) : ((c ? j = [] : m.disable()))))));\n            }, m = {\n                add: function() {\n                    if (j) {\n                        var b = j.length;\n                        (function d(b) {\n                            q.each(b, function(_, b) {\n                                var c = q.type(b);\n                                ((((c === \"function\")) ? ((((!a.unique || !m.has(b))) && j.push(b))) : ((((((b && b.length)) && ((c !== \"string\")))) && d(b)))));\n                            });\n                        })(arguments);\n                        if (e) {\n                            g = j.length;\n                        }\n                         else {\n                            if (c) {\n                                f = b;\n                                l(c);\n                            }\n                        ;\n                        }\n                    ;\n                    ;\n                    }\n                ;\n                ;\n                    return this;\n                },\n                remove: function() {\n                    ((j && q.each(arguments, function(_, a) {\n                        var b;\n                        while ((((b = q.inArray(a, j, b)) > -1))) {\n                            j.splice(b, 1);\n                            if (e) {\n                                ((((b <= g)) && g--));\n                                ((((b <= i)) && i--));\n                            }\n                        ;\n                        ;\n                        };\n                    ;\n                    })));\n                    return this;\n                },\n                has: function(a) {\n                    return ((q.inArray(a, j) > -1));\n                },\n                empty: function() {\n                    j = [];\n                    return this;\n                },\n                disable: function() {\n                    j = k = c = b;\n                    return this;\n                },\n                disabled: function() {\n                    return !j;\n                },\n                lock: function() {\n                    k = b;\n                    ((c || m.disable()));\n                    return this;\n                },\n                locked: function() {\n                    return !k;\n                },\n                fireWith: function(a, b) {\n                    b = ((b || []));\n                    b = [a,((b.slice ? b.slice() : b)),];\n                    ((((j && ((!d || k)))) && ((e ? k.push(b) : l(b)))));\n                    return this;\n                },\n                fire: function() {\n                    m.fireWith(this, arguments);\n                    return this;\n                },\n                fired: function() {\n                    return !!d;\n                }\n            };\n            return m;\n        };\n        q.extend({\n            Deferred: function(a) {\n                var b = [[\"resolve\",\"done\",q.Callbacks(\"once memory\"),\"resolved\",],[\"reject\",\"fail\",q.Callbacks(\"once memory\"),\"rejected\",],[\"notify\",\"progress\",q.Callbacks(\"memory\"),],], c = \"pending\", d = {\n                    state: function() {\n                        return c;\n                    },\n                    always: function() {\n                        e.done(arguments).fail(arguments);\n                        return this;\n                    },\n                    then: function() {\n                        var a = arguments;\n                        return q.Deferred(function(c) {\n                            q.each(b, function(b, d) {\n                                var f = d[0], g = a[b];\n                                e[d[1]](((q.isFunction(g) ? function() {\n                                    var a = g.apply(this, arguments);\n                                    ((((a && q.isFunction(a.promise))) ? a.promise().done(c.resolve).fail(c.reject).progress(c.notify) : c[((f + \"With\"))](((((this === e)) ? c : this)), [a,])));\n                                } : c[f])));\n                            });\n                            a = null;\n                        }).promise();\n                    },\n                    promise: function(a) {\n                        return ((((a != null)) ? q.extend(a, d) : d));\n                    }\n                }, e = {\n                };\n                d.pipe = d.then;\n                q.each(b, function(a, f) {\n                    var g = f[2], i = f[3];\n                    d[f[1]] = g.add;\n                    ((i && g.add(function() {\n                        c = i;\n                    }, b[((a ^ 1))][2].disable, b[2][2].lock)));\n                    e[f[0]] = g.fire;\n                    e[((f[0] + \"With\"))] = g.fireWith;\n                });\n                d.promise(e);\n                ((a && a.call(e, e)));\n                return e;\n            },\n            when: function(a) {\n                var b = 0, c = l.call(arguments), d = c.length, e = ((((((d !== 1)) || ((a && q.isFunction(a.promise))))) ? d : 0)), f = ((((e === 1)) ? a : q.Deferred())), g = function(a, b, c) {\n                    return function(d) {\n                        b[a] = this;\n                        c[a] = ((((arguments.length > 1)) ? l.call(arguments) : d));\n                        ((((c === i)) ? f.notifyWith(b, c) : ((--e || f.resolveWith(b, c)))));\n                    };\n                }, i, j, k;\n                if (((d > 1))) {\n                    i = new Array(d);\n                    j = new Array(d);\n                    k = new Array(d);\n                    for (; ((b < d)); b++) {\n                        ((((c[b] && q.isFunction(c[b].promise))) ? c[b].promise().done(g(b, k, c)).fail(f.reject).progress(g(b, j, i)) : --e));\n                    ;\n                    };\n                ;\n                }\n            ;\n            ;\n                ((e || f.resolveWith(k, c)));\n                return f.promise();\n            }\n        });\n        q.support = function() {\n            var b, c, d, f, g, i, j, k, l, m, n, o = e.createElement(\"div\");\n            o.setAttribute(\"className\", \"t\");\n            o.innerHTML = \"  \\u003Clink/\\u003E\\u003Ctable\\u003E\\u003C/table\\u003E\\u003Ca href='/a'\\u003Ea\\u003C/a\\u003E\\u003Cinput type='checkbox'/\\u003E\";\n            c = o.getElementsByTagName(\"*\");\n            d = o.getElementsByTagName(\"a\")[0];\n            if (((((!c || !d)) || !c.length))) {\n                return {\n                };\n            }\n        ;\n        ;\n            f = e.createElement(\"select\");\n            g = f.appendChild(e.createElement(\"option\"));\n            i = o.getElementsByTagName(\"input\")[0];\n            d.style.cssText = \"top:1px;float:left;opacity:.5\";\n            b = {\n                leadingWhitespace: ((o.firstChild.nodeType === 3)),\n                tbody: !o.getElementsByTagName(\"tbody\").length,\n                htmlSerialize: !!o.getElementsByTagName(\"link\").length,\n                style: /top/.test(d.getAttribute(\"style\")),\n                hrefNormalized: ((d.getAttribute(\"href\") === \"/a\")),\n                opacity: /^0.5/.test(d.style.opacity),\n                cssFloat: !!d.style.cssFloat,\n                checkOn: ((i.value === \"JSBNG__on\")),\n                optSelected: g.selected,\n                getSetAttribute: ((o.className !== \"t\")),\n                enctype: !!e.createElement(\"form\").enctype,\n                html5Clone: ((e.createElement(\"nav\").cloneNode(!0).outerHTML !== \"\\u003C:nav\\u003E\\u003C/:nav\\u003E\")),\n                boxModel: ((e.compatMode === \"CSS1Compat\")),\n                submitBubbles: !0,\n                changeBubbles: !0,\n                focusinBubbles: !1,\n                deleteExpando: !0,\n                noCloneEvent: !0,\n                inlineBlockNeedsLayout: !1,\n                shrinkWrapBlocks: !1,\n                reliableMarginRight: !0,\n                boxSizingReliable: !0,\n                pixelPosition: !1\n            };\n            i.checked = !0;\n            b.noCloneChecked = i.cloneNode(!0).checked;\n            f.disabled = !0;\n            b.optDisabled = !g.disabled;\n            try {\n                delete o.test;\n            } catch (p) {\n                b.deleteExpando = !1;\n            };\n        ;\n            if (((((!o.JSBNG__addEventListener && o.JSBNG__attachEvent)) && o.fireEvent))) {\n                o.JSBNG__attachEvent(\"JSBNG__onclick\", n = function() {\n                    b.noCloneEvent = !1;\n                });\n                o.cloneNode(!0).fireEvent(\"JSBNG__onclick\");\n                o.JSBNG__detachEvent(\"JSBNG__onclick\", n);\n            }\n        ;\n        ;\n            i = e.createElement(\"input\");\n            i.value = \"t\";\n            i.setAttribute(\"type\", \"radio\");\n            b.radioValue = ((i.value === \"t\"));\n            i.setAttribute(\"checked\", \"checked\");\n            i.setAttribute(\"JSBNG__name\", \"t\");\n            o.appendChild(i);\n            j = e.createDocumentFragment();\n            j.appendChild(o.lastChild);\n            b.checkClone = j.cloneNode(!0).cloneNode(!0).lastChild.checked;\n            b.appendChecked = i.checked;\n            j.removeChild(i);\n            j.appendChild(o);\n            if (o.JSBNG__attachEvent) {\n                {\n                    var fin21keys = ((window.top.JSBNG_Replay.forInKeys)(({\n                        submit: !0,\n                        change: !0,\n                        focusin: !0\n                    }))), fin21i = (0);\n                    (0);\n                    for (; (fin21i < fin21keys.length); (fin21i++)) {\n                        ((l) = (fin21keys[fin21i]));\n                        {\n                            k = ((\"JSBNG__on\" + l));\n                            m = ((k in o));\n                            if (!m) {\n                                o.setAttribute(k, \"return;\");\n                                m = ((typeof o[k] == \"function\"));\n                            }\n                        ;\n                        ;\n                            b[((l + \"Bubbles\"))] = m;\n                        };\n                    };\n                };\n            }\n        ;\n        ;\n            q(function() {\n                var c, d, f, g, i = \"padding:0;margin:0;border:0;display:block;overflow:hidden;\", j = e.getElementsByTagName(\"body\")[0];\n                if (!j) {\n                    return;\n                }\n            ;\n            ;\n                c = e.createElement(\"div\");\n                c.style.cssText = \"visibility:hidden;border:0;width:0;height:0;position:static;top:0;margin-top:1px\";\n                j.insertBefore(c, j.firstChild);\n                d = e.createElement(\"div\");\n                c.appendChild(d);\n                d.innerHTML = \"\\u003Ctable\\u003E\\u003Ctr\\u003E\\u003Ctd\\u003E\\u003C/td\\u003E\\u003Ctd\\u003Et\\u003C/td\\u003E\\u003C/tr\\u003E\\u003C/table\\u003E\";\n                f = d.getElementsByTagName(\"td\");\n                f[0].style.cssText = \"padding:0;margin:0;border:0;display:none\";\n                m = ((f[0].offsetHeight === 0));\n                f[0].style.display = \"\";\n                f[1].style.display = \"none\";\n                b.reliableHiddenOffsets = ((m && ((f[0].offsetHeight === 0))));\n                d.innerHTML = \"\";\n                d.style.cssText = \"box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;\";\n                b.boxSizing = ((d.offsetWidth === 4));\n                b.doesNotIncludeMarginInBodyOffset = ((j.offsetTop !== 1));\n                if (a.JSBNG__getComputedStyle) {\n                    b.pixelPosition = ((((a.JSBNG__getComputedStyle(d, null) || {\n                    })).JSBNG__top !== \"1%\"));\n                    b.boxSizingReliable = ((((a.JSBNG__getComputedStyle(d, null) || {\n                        width: \"4px\"\n                    })).width === \"4px\"));\n                    g = e.createElement(\"div\");\n                    g.style.cssText = d.style.cssText = i;\n                    g.style.marginRight = g.style.width = \"0\";\n                    d.style.width = \"1px\";\n                    d.appendChild(g);\n                    b.reliableMarginRight = !parseFloat(((a.JSBNG__getComputedStyle(g, null) || {\n                    })).marginRight);\n                }\n            ;\n            ;\n                if (((typeof d.style.zoom != \"undefined\"))) {\n                    d.innerHTML = \"\";\n                    d.style.cssText = ((i + \"width:1px;padding:1px;display:inline;zoom:1\"));\n                    b.inlineBlockNeedsLayout = ((d.offsetWidth === 3));\n                    d.style.display = \"block\";\n                    d.style.overflow = \"visible\";\n                    d.innerHTML = \"\\u003Cdiv\\u003E\\u003C/div\\u003E\";\n                    d.firstChild.style.width = \"5px\";\n                    b.shrinkWrapBlocks = ((d.offsetWidth !== 3));\n                    c.style.zoom = 1;\n                }\n            ;\n            ;\n                j.removeChild(c);\n                c = d = f = g = null;\n            });\n            j.removeChild(o);\n            c = d = f = g = i = j = o = null;\n            return b;\n        }();\n        var I = /(?:\\{[\\s\\S]*\\}|\\[[\\s\\S]*\\])$/, J = /([A-Z])/g;\n        q.extend({\n            cache: {\n            },\n            deletedIds: [],\n            uuid: 0,\n            expando: ((\"jQuery\" + ((q.fn.jquery + Math.JSBNG__random())).replace(/\\D/g, \"\"))),\n            noData: {\n                embed: !0,\n                object: \"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\",\n                applet: !0\n            },\n            hasData: function(a) {\n                a = ((a.nodeType ? q.cache[a[q.expando]] : a[q.expando]));\n                return ((!!a && !L(a)));\n            },\n            data: function(a, c, d, e) {\n                if (!q.acceptData(a)) {\n                    return;\n                }\n            ;\n            ;\n                var f, g, i = q.expando, j = ((typeof c == \"string\")), k = a.nodeType, l = ((k ? q.cache : a)), m = ((k ? a[i] : ((a[i] && i))));\n                if (((((((((!m || !l[m])) || ((!e && !l[m].data)))) && j)) && ((d === b))))) {\n                    return;\n                }\n            ;\n            ;\n                ((m || ((k ? a[i] = m = ((q.deletedIds.pop() || q.guid++)) : m = i))));\n                if (!l[m]) {\n                    l[m] = {\n                    };\n                    ((k || (l[m].toJSON = q.noop)));\n                }\n            ;\n            ;\n                if (((((typeof c == \"object\")) || ((typeof c == \"function\"))))) {\n                    ((e ? l[m] = q.extend(l[m], c) : l[m].data = q.extend(l[m].data, c)));\n                }\n            ;\n            ;\n                f = l[m];\n                if (!e) {\n                    ((f.data || (f.data = {\n                    })));\n                    f = f.data;\n                }\n            ;\n            ;\n                ((((d !== b)) && (f[q.camelCase(c)] = d)));\n                if (j) {\n                    g = f[c];\n                    ((((g == null)) && (g = f[q.camelCase(c)])));\n                }\n                 else g = f;\n            ;\n            ;\n                return g;\n            },\n            removeData: function(a, b, c) {\n                if (!q.acceptData(a)) {\n                    return;\n                }\n            ;\n            ;\n                var d, e, f, g = a.nodeType, i = ((g ? q.cache : a)), j = ((g ? a[q.expando] : q.expando));\n                if (!i[j]) {\n                    return;\n                }\n            ;\n            ;\n                if (b) {\n                    d = ((c ? i[j] : i[j].data));\n                    if (d) {\n                        if (!q.isArray(b)) {\n                            if (((b in d))) b = [b,];\n                             else {\n                                b = q.camelCase(b);\n                                ((((b in d)) ? b = [b,] : b = b.split(\" \")));\n                            }\n                        ;\n                        }\n                    ;\n                    ;\n                        for (e = 0, f = b.length; ((e < f)); e++) {\n                            delete d[b[e]];\n                        ;\n                        };\n                    ;\n                        if (!((c ? L : q.isEmptyObject))(d)) {\n                            return;\n                        }\n                    ;\n                    ;\n                    }\n                ;\n                ;\n                }\n            ;\n            ;\n                if (!c) {\n                    delete i[j].data;\n                    if (!L(i[j])) {\n                        return;\n                    }\n                ;\n                ;\n                }\n            ;\n            ;\n                ((g ? q.cleanData([a,], !0) : ((((q.support.deleteExpando || ((i != i.window)))) ? delete i[j] : i[j] = null))));\n            },\n            _data: function(a, b, c) {\n                return q.data(a, b, c, !0);\n            },\n            acceptData: function(a) {\n                var b = ((a.nodeName && q.noData[a.nodeName.toLowerCase()]));\n                return ((!b || ((((b !== !0)) && ((a.getAttribute(\"classid\") === b))))));\n            }\n        });\n        q.fn.extend({\n            data: function(a, c) {\n                var d, e, f, g, i, j = this[0], k = 0, l = null;\n                if (((a === b))) {\n                    if (this.length) {\n                        l = q.data(j);\n                        if (((((j.nodeType === 1)) && !q._data(j, \"parsedAttrs\")))) {\n                            f = j.attributes;\n                            for (i = f.length; ((k < i)); k++) {\n                                g = f[k].JSBNG__name;\n                                if (!g.indexOf(\"data-\")) {\n                                    g = q.camelCase(g.substring(5));\n                                    K(j, g, l[g]);\n                                }\n                            ;\n                            ;\n                            };\n                        ;\n                            q._data(j, \"parsedAttrs\", !0);\n                        }\n                    ;\n                    ;\n                    }\n                ;\n                ;\n                    return l;\n                }\n            ;\n            ;\n                if (((typeof a == \"object\"))) {\n                    return this.each(function() {\n                        q.data(this, a);\n                    });\n                }\n            ;\n            ;\n                d = a.split(\".\", 2);\n                d[1] = ((d[1] ? ((\".\" + d[1])) : \"\"));\n                e = ((d[1] + \"!\"));\n                return q.access(this, function(c) {\n                    if (((c === b))) {\n                        l = this.triggerHandler(((\"getData\" + e)), [d[0],]);\n                        if (((((l === b)) && j))) {\n                            l = q.data(j, a);\n                            l = K(j, a, l);\n                        }\n                    ;\n                    ;\n                        return ((((((l === b)) && d[1])) ? this.data(d[0]) : l));\n                    }\n                ;\n                ;\n                    d[1] = c;\n                    this.each(function() {\n                        var b = q(this);\n                        b.triggerHandler(((\"setData\" + e)), d);\n                        q.data(this, a, c);\n                        b.triggerHandler(((\"changeData\" + e)), d);\n                    });\n                }, null, c, ((arguments.length > 1)), null, !1);\n            },\n            removeData: function(a) {\n                return this.each(function() {\n                    q.removeData(this, a);\n                });\n            }\n        });\n        q.extend({\n            queue: function(a, b, c) {\n                var d;\n                if (a) {\n                    b = ((((b || \"fx\")) + \"queue\"));\n                    d = q._data(a, b);\n                    ((c && ((((!d || q.isArray(c))) ? d = q._data(a, b, q.makeArray(c)) : d.push(c)))));\n                    return ((d || []));\n                }\n            ;\n            ;\n            },\n            dequeue: function(a, b) {\n                b = ((b || \"fx\"));\n                var c = q.queue(a, b), d = c.length, e = c.shift(), f = q._queueHooks(a, b), g = function() {\n                    q.dequeue(a, b);\n                };\n                if (((e === \"inprogress\"))) {\n                    e = c.shift();\n                    d--;\n                }\n            ;\n            ;\n                if (e) {\n                    ((((b === \"fx\")) && c.unshift(\"inprogress\")));\n                    delete f.JSBNG__stop;\n                    e.call(a, g, f);\n                }\n            ;\n            ;\n                ((((!d && f)) && f.empty.fire()));\n            },\n            _queueHooks: function(a, b) {\n                var c = ((b + \"queueHooks\"));\n                return ((q._data(a, c) || q._data(a, c, {\n                    empty: q.Callbacks(\"once memory\").add(function() {\n                        q.removeData(a, ((b + \"queue\")), !0);\n                        q.removeData(a, c, !0);\n                    })\n                })));\n            }\n        });\n        q.fn.extend({\n            queue: function(a, c) {\n                var d = 2;\n                if (((typeof a != \"string\"))) {\n                    c = a;\n                    a = \"fx\";\n                    d--;\n                }\n            ;\n            ;\n                return ((((arguments.length < d)) ? q.queue(this[0], a) : ((((c === b)) ? this : this.each(function() {\n                    var b = q.queue(this, a, c);\n                    q._queueHooks(this, a);\n                    ((((((a === \"fx\")) && ((b[0] !== \"inprogress\")))) && q.dequeue(this, a)));\n                })))));\n            },\n            dequeue: function(a) {\n                return this.each(function() {\n                    q.dequeue(this, a);\n                });\n            },\n            delay: function(a, b) {\n                a = ((q.fx ? ((q.fx.speeds[a] || a)) : a));\n                b = ((b || \"fx\"));\n                return this.queue(b, function(b, c) {\n                    var d = JSBNG__setTimeout(b, a);\n                    c.JSBNG__stop = function() {\n                        JSBNG__clearTimeout(d);\n                    };\n                });\n            },\n            clearQueue: function(a) {\n                return this.queue(((a || \"fx\")), []);\n            },\n            promise: function(a, c) {\n                var d, e = 1, f = q.Deferred(), g = this, i = this.length, j = function() {\n                    ((--e || f.resolveWith(g, [g,])));\n                };\n                if (((typeof a != \"string\"))) {\n                    c = a;\n                    a = b;\n                }\n            ;\n            ;\n                a = ((a || \"fx\"));\n                while (i--) {\n                    d = q._data(g[i], ((a + \"queueHooks\")));\n                    if (((d && d.empty))) {\n                        e++;\n                        d.empty.add(j);\n                    }\n                ;\n                ;\n                };\n            ;\n                j();\n                return f.promise(c);\n            }\n        });\n        var M, N, O, P = /[\\t\\r\\n]/g, Q = /\\r/g, R = /^(?:button|input)$/i, S = /^(?:button|input|object|select|textarea)$/i, T = /^a(?:rea|)$/i, U = /^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i, V = q.support.getSetAttribute;\n        q.fn.extend({\n            attr: function(a, b) {\n                return q.access(this, q.attr, a, b, ((arguments.length > 1)));\n            },\n            removeAttr: function(a) {\n                return this.each(function() {\n                    q.removeAttr(this, a);\n                });\n            },\n            prop: function(a, b) {\n                return q.access(this, q.prop, a, b, ((arguments.length > 1)));\n            },\n            removeProp: function(a) {\n                a = ((q.propFix[a] || a));\n                return this.each(function() {\n                    try {\n                        this[a] = b;\n                        delete this[a];\n                    } catch (c) {\n                    \n                    };\n                ;\n                });\n            },\n            addClass: function(a) {\n                var b, c, d, e, f, g, i;\n                if (q.isFunction(a)) {\n                    return this.each(function(b) {\n                        q(this).addClass(a.call(this, b, this.className));\n                    });\n                }\n            ;\n            ;\n                if (((a && ((typeof a == \"string\"))))) {\n                    b = a.split(t);\n                    for (c = 0, d = this.length; ((c < d)); c++) {\n                        e = this[c];\n                        if (((e.nodeType === 1))) {\n                            if (((!e.className && ((b.length === 1))))) e.className = a;\n                             else {\n                                f = ((((\" \" + e.className)) + \" \"));\n                                for (g = 0, i = b.length; ((g < i)); g++) {\n                                    ((((f.indexOf(((((\" \" + b[g])) + \" \"))) < 0)) && (f += ((b[g] + \" \")))));\n                                ;\n                                };\n                            ;\n                                e.className = q.trim(f);\n                            }\n                        ;\n                        }\n                    ;\n                    ;\n                    };\n                ;\n                }\n            ;\n            ;\n                return this;\n            },\n            removeClass: function(a) {\n                var c, d, e, f, g, i, j;\n                if (q.isFunction(a)) {\n                    return this.each(function(b) {\n                        q(this).removeClass(a.call(this, b, this.className));\n                    });\n                }\n            ;\n            ;\n                if (((((a && ((typeof a == \"string\")))) || ((a === b))))) {\n                    c = ((a || \"\")).split(t);\n                    for (i = 0, j = this.length; ((i < j)); i++) {\n                        e = this[i];\n                        if (((((e.nodeType === 1)) && e.className))) {\n                            d = ((((\" \" + e.className)) + \" \")).replace(P, \" \");\n                            for (f = 0, g = c.length; ((f < g)); f++) {\n                                while (((d.indexOf(((((\" \" + c[f])) + \" \"))) >= 0))) {\n                                    d = d.replace(((((\" \" + c[f])) + \" \")), \" \");\n                                ;\n                                };\n                            ;\n                            };\n                        ;\n                            e.className = ((a ? q.trim(d) : \"\"));\n                        }\n                    ;\n                    ;\n                    };\n                ;\n                }\n            ;\n            ;\n                return this;\n            },\n            toggleClass: function(a, b) {\n                var c = typeof a, d = ((typeof b == \"boolean\"));\n                return ((q.isFunction(a) ? this.each(function(c) {\n                    q(this).toggleClass(a.call(this, c, this.className, b), b);\n                }) : this.each(function() {\n                    if (((c === \"string\"))) {\n                        var e, f = 0, g = q(this), i = b, j = a.split(t);\n                        while (e = j[f++]) {\n                            i = ((d ? i : !g.hasClass(e)));\n                            g[((i ? \"addClass\" : \"removeClass\"))](e);\n                        };\n                    ;\n                    }\n                     else if (((((c === \"undefined\")) || ((c === \"boolean\"))))) {\n                        ((this.className && q._data(this, \"__className__\", this.className)));\n                        this.className = ((((this.className || ((a === !1)))) ? \"\" : ((q._data(this, \"__className__\") || \"\"))));\n                    }\n                    \n                ;\n                ;\n                })));\n            },\n            hasClass: function(a) {\n                var b = ((((\" \" + a)) + \" \")), c = 0, d = this.length;\n                for (; ((c < d)); c++) {\n                    if (((((this[c].nodeType === 1)) && ((((((\" \" + this[c].className)) + \" \")).replace(P, \" \").indexOf(b) >= 0))))) {\n                        return !0;\n                    }\n                ;\n                ;\n                };\n            ;\n                return !1;\n            },\n            val: function(a) {\n                var c, d, e, f = this[0];\n                if (!arguments.length) {\n                    if (f) {\n                        c = ((q.valHooks[f.type] || q.valHooks[f.nodeName.toLowerCase()]));\n                        if (((((c && ((\"get\" in c)))) && (((d = c.get(f, \"value\")) !== b))))) {\n                            return d;\n                        }\n                    ;\n                    ;\n                        d = f.value;\n                        return ((((typeof d == \"string\")) ? d.replace(Q, \"\") : ((((d == null)) ? \"\" : d))));\n                    }\n                ;\n                ;\n                    return;\n                }\n            ;\n            ;\n                e = q.isFunction(a);\n                return this.each(function(d) {\n                    var f, g = q(this);\n                    if (((this.nodeType !== 1))) {\n                        return;\n                    }\n                ;\n                ;\n                    ((e ? f = a.call(this, d, g.val()) : f = a));\n                    ((((f == null)) ? f = \"\" : ((((typeof f == \"number\")) ? f += \"\" : ((q.isArray(f) && (f = q.map(f, function(a) {\n                        return ((((a == null)) ? \"\" : ((a + \"\"))));\n                    }))))))));\n                    c = ((q.valHooks[this.type] || q.valHooks[this.nodeName.toLowerCase()]));\n                    if (((((!c || !((\"set\" in c)))) || ((c.set(this, f, \"value\") === b))))) {\n                        this.value = f;\n                    }\n                ;\n                ;\n                });\n            }\n        });\n        q.extend({\n            valHooks: {\n                option: {\n                    get: function(a) {\n                        var b = a.attributes.value;\n                        return ((((!b || b.specified)) ? a.value : a.text));\n                    }\n                },\n                select: {\n                    get: function(a) {\n                        var b, c, d = a.options, e = a.selectedIndex, f = ((((a.type === \"select-one\")) || ((e < 0)))), g = ((f ? null : [])), i = ((f ? ((e + 1)) : d.length)), j = ((((e < 0)) ? i : ((f ? e : 0))));\n                        for (; ((j < i)); j++) {\n                            c = d[j];\n                            if (((((((c.selected || ((j === e)))) && ((q.support.optDisabled ? !c.disabled : ((c.getAttribute(\"disabled\") === null)))))) && ((!c.parentNode.disabled || !q.nodeName(c.parentNode, \"optgroup\")))))) {\n                                b = q(c).val();\n                                if (f) {\n                                    return b;\n                                }\n                            ;\n                            ;\n                                g.push(b);\n                            }\n                        ;\n                        ;\n                        };\n                    ;\n                        return g;\n                    },\n                    set: function(a, b) {\n                        var c = q.makeArray(b);\n                        q(a).JSBNG__find(\"option\").each(function() {\n                            this.selected = ((q.inArray(q(this).val(), c) >= 0));\n                        });\n                        ((c.length || (a.selectedIndex = -1)));\n                        return c;\n                    }\n                }\n            },\n            attrFn: {\n            },\n            attr: function(a, c, d, e) {\n                var f, g, i, j = a.nodeType;\n                if (((((((!a || ((j === 3)))) || ((j === 8)))) || ((j === 2))))) {\n                    return;\n                }\n            ;\n            ;\n                if (((e && q.isFunction(q.fn[c])))) {\n                    return q(a)[c](d);\n                }\n            ;\n            ;\n                if (((typeof a.getAttribute == \"undefined\"))) {\n                    return q.prop(a, c, d);\n                }\n            ;\n            ;\n                i = ((((j !== 1)) || !q.isXMLDoc(a)));\n                if (i) {\n                    c = c.toLowerCase();\n                    g = ((q.attrHooks[c] || ((U.test(c) ? N : M))));\n                }\n            ;\n            ;\n                if (((d !== b))) {\n                    if (((d === null))) {\n                        q.removeAttr(a, c);\n                        return;\n                    }\n                ;\n                ;\n                    if (((((((g && ((\"set\" in g)))) && i)) && (((f = g.set(a, d, c)) !== b))))) {\n                        return f;\n                    }\n                ;\n                ;\n                    a.setAttribute(c, ((d + \"\")));\n                    return d;\n                }\n            ;\n            ;\n                if (((((((g && ((\"get\" in g)))) && i)) && (((f = g.get(a, c)) !== null))))) {\n                    return f;\n                }\n            ;\n            ;\n                f = a.getAttribute(c);\n                return ((((f === null)) ? b : f));\n            },\n            removeAttr: function(a, b) {\n                var c, d, e, f, g = 0;\n                if (((b && ((a.nodeType === 1))))) {\n                    d = b.split(t);\n                    for (; ((g < d.length)); g++) {\n                        e = d[g];\n                        if (e) {\n                            c = ((q.propFix[e] || e));\n                            f = U.test(e);\n                            ((f || q.attr(a, e, \"\")));\n                            a.removeAttribute(((V ? e : c)));\n                            ((((f && ((c in a)))) && (a[c] = !1)));\n                        }\n                    ;\n                    ;\n                    };\n                ;\n                }\n            ;\n            ;\n            },\n            attrHooks: {\n                type: {\n                    set: function(a, b) {\n                        if (((R.test(a.nodeName) && a.parentNode))) {\n                            q.error(\"type property can't be changed\");\n                        }\n                         else {\n                            if (((((!q.support.radioValue && ((b === \"radio\")))) && q.nodeName(a, \"input\")))) {\n                                var c = a.value;\n                                a.setAttribute(\"type\", b);\n                                ((c && (a.value = c)));\n                                return b;\n                            }\n                        ;\n                        }\n                    ;\n                    ;\n                    }\n                },\n                value: {\n                    get: function(a, b) {\n                        return ((((M && q.nodeName(a, \"button\"))) ? M.get(a, b) : ((((b in a)) ? a.value : null))));\n                    },\n                    set: function(a, b, c) {\n                        if (((M && q.nodeName(a, \"button\")))) {\n                            return M.set(a, b, c);\n                        }\n                    ;\n                    ;\n                        a.value = b;\n                    }\n                }\n            },\n            propFix: {\n                tabindex: \"tabIndex\",\n                readonly: \"readOnly\",\n                \"for\": \"htmlFor\",\n                class: \"className\",\n                maxlength: \"maxLength\",\n                cellspacing: \"cellSpacing\",\n                cellpadding: \"cellPadding\",\n                rowspan: \"rowSpan\",\n                colspan: \"colSpan\",\n                usemap: \"useMap\",\n                frameborder: \"frameBorder\",\n                contenteditable: \"contentEditable\"\n            },\n            prop: function(a, c, d) {\n                var e, f, g, i = a.nodeType;\n                if (((((((!a || ((i === 3)))) || ((i === 8)))) || ((i === 2))))) {\n                    return;\n                }\n            ;\n            ;\n                g = ((((i !== 1)) || !q.isXMLDoc(a)));\n                if (g) {\n                    c = ((q.propFix[c] || c));\n                    f = q.propHooks[c];\n                }\n            ;\n            ;\n                return ((((d !== b)) ? ((((((f && ((\"set\" in f)))) && (((e = f.set(a, d, c)) !== b)))) ? e : a[c] = d)) : ((((((f && ((\"get\" in f)))) && (((e = f.get(a, c)) !== null)))) ? e : a[c]))));\n            },\n            propHooks: {\n                tabIndex: {\n                    get: function(a) {\n                        var c = a.getAttributeNode(\"tabindex\");\n                        return ((((c && c.specified)) ? parseInt(c.value, 10) : ((((S.test(a.nodeName) || ((T.test(a.nodeName) && a.href)))) ? 0 : b))));\n                    }\n                }\n            }\n        });\n        N = {\n            get: function(a, c) {\n                var d, e = q.prop(a, c);\n                return ((((((e === !0)) || ((((((typeof e != \"boolean\")) && (d = a.getAttributeNode(c)))) && ((d.nodeValue !== !1)))))) ? c.toLowerCase() : b));\n            },\n            set: function(a, b, c) {\n                var d;\n                if (((b === !1))) q.removeAttr(a, c);\n                 else {\n                    d = ((q.propFix[c] || c));\n                    ((((d in a)) && (a[d] = !0)));\n                    a.setAttribute(c, c.toLowerCase());\n                }\n            ;\n            ;\n                return c;\n            }\n        };\n        if (!V) {\n            O = {\n                JSBNG__name: !0,\n                id: !0,\n                coords: !0\n            };\n            M = q.valHooks.button = {\n                get: function(a, c) {\n                    var d;\n                    d = a.getAttributeNode(c);\n                    return ((((d && ((O[c] ? ((d.value !== \"\")) : d.specified)))) ? d.value : b));\n                },\n                set: function(a, b, c) {\n                    var d = a.getAttributeNode(c);\n                    if (!d) {\n                        d = e.createAttribute(c);\n                        a.setAttributeNode(d);\n                    }\n                ;\n                ;\n                    return d.value = ((b + \"\"));\n                }\n            };\n            q.each([\"width\",\"height\",], function(a, b) {\n                q.attrHooks[b] = q.extend(q.attrHooks[b], {\n                    set: function(a, c) {\n                        if (((c === \"\"))) {\n                            a.setAttribute(b, \"auto\");\n                            return c;\n                        }\n                    ;\n                    ;\n                    }\n                });\n            });\n            q.attrHooks.contenteditable = {\n                get: M.get,\n                set: function(a, b, c) {\n                    ((((b === \"\")) && (b = \"false\")));\n                    M.set(a, b, c);\n                }\n            };\n        }\n    ;\n    ;\n        ((q.support.hrefNormalized || q.each([\"href\",\"src\",\"width\",\"height\",], function(a, c) {\n            q.attrHooks[c] = q.extend(q.attrHooks[c], {\n                get: function(a) {\n                    var d = a.getAttribute(c, 2);\n                    return ((((d === null)) ? b : d));\n                }\n            });\n        })));\n        ((q.support.style || (q.attrHooks.style = {\n            get: function(a) {\n                return ((a.style.cssText.toLowerCase() || b));\n            },\n            set: function(a, b) {\n                return a.style.cssText = ((b + \"\"));\n            }\n        })));\n        ((q.support.optSelected || (q.propHooks.selected = q.extend(q.propHooks.selected, {\n            get: function(a) {\n                var b = a.parentNode;\n                if (b) {\n                    b.selectedIndex;\n                    ((b.parentNode && b.parentNode.selectedIndex));\n                }\n            ;\n            ;\n                return null;\n            }\n        }))));\n        ((q.support.enctype || (q.propFix.enctype = \"encoding\")));\n        ((q.support.checkOn || q.each([\"radio\",\"checkbox\",], function() {\n            q.valHooks[this] = {\n                get: function(a) {\n                    return ((((a.getAttribute(\"value\") === null)) ? \"JSBNG__on\" : a.value));\n                }\n            };\n        })));\n        q.each([\"radio\",\"checkbox\",], function() {\n            q.valHooks[this] = q.extend(q.valHooks[this], {\n                set: function(a, b) {\n                    if (q.isArray(b)) {\n                        return a.checked = ((q.inArray(q(a).val(), b) >= 0));\n                    }\n                ;\n                ;\n                }\n            });\n        });\n        var W = /^(?:textarea|input|select)$/i, X = /^([^\\.]*|)(?:\\.(.+)|)$/, Y = /(?:^|\\s)hover(\\.\\S+|)\\b/, Z = /^key/, ab = /^(?:mouse|contextmenu)|click/, bb = /^(?:focusinfocus|focusoutblur)$/, cb = function(a) {\n            return ((q.JSBNG__event.special.hover ? a : a.replace(Y, \"mouseenter$1 mouseleave$1\")));\n        };\n        q.JSBNG__event = {\n            add: function(a, c, d, e, f) {\n                var g, i, j, k, l, m, n, o, p, r, s;\n                if (((((((((((a.nodeType === 3)) || ((a.nodeType === 8)))) || !c)) || !d)) || !(g = q._data(a))))) {\n                    return;\n                }\n            ;\n            ;\n                if (d.handler) {\n                    p = d;\n                    d = p.handler;\n                    f = p.selector;\n                }\n            ;\n            ;\n                ((d.guid || (d.guid = q.guid++)));\n                j = g.events;\n                ((j || (g.events = j = {\n                })));\n                i = g.handle;\n                if (!i) {\n                    g.handle = i = function(a) {\n                        return ((((((typeof q == \"undefined\")) || ((!!a && ((q.JSBNG__event.triggered === a.type)))))) ? b : q.JSBNG__event.dispatch.apply(i.elem, arguments)));\n                    };\n                    i.elem = a;\n                }\n            ;\n            ;\n                c = q.trim(cb(c)).split(\" \");\n                for (k = 0; ((k < c.length)); k++) {\n                    l = ((X.exec(c[k]) || []));\n                    m = l[1];\n                    n = ((l[2] || \"\")).split(\".\").sort();\n                    s = ((q.JSBNG__event.special[m] || {\n                    }));\n                    m = ((((f ? s.delegateType : s.bindType)) || m));\n                    s = ((q.JSBNG__event.special[m] || {\n                    }));\n                    o = q.extend({\n                        type: m,\n                        origType: l[1],\n                        data: e,\n                        handler: d,\n                        guid: d.guid,\n                        selector: f,\n                        needsContext: ((f && q.expr.match.needsContext.test(f))),\n                        namespace: n.join(\".\")\n                    }, p);\n                    r = j[m];\n                    if (!r) {\n                        r = j[m] = [];\n                        r.delegateCount = 0;\n                        if (((!s.setup || ((s.setup.call(a, e, n, i) === !1))))) {\n                            ((a.JSBNG__addEventListener ? a.JSBNG__addEventListener(m, i, !1) : ((a.JSBNG__attachEvent && a.JSBNG__attachEvent(((\"JSBNG__on\" + m)), i)))));\n                        }\n                    ;\n                    ;\n                    }\n                ;\n                ;\n                    if (s.add) {\n                        s.add.call(a, o);\n                        ((o.handler.guid || (o.handler.guid = d.guid)));\n                    }\n                ;\n                ;\n                    ((f ? r.splice(r.delegateCount++, 0, o) : r.push(o)));\n                    q.JSBNG__event.global[m] = !0;\n                };\n            ;\n                a = null;\n            },\n            global: {\n            },\n            remove: function(a, b, c, d, e) {\n                var f, g, i, j, k, l, m, n, o, p, r, s = ((q.hasData(a) && q._data(a)));\n                if (((!s || !(n = s.events)))) {\n                    return;\n                }\n            ;\n            ;\n                b = q.trim(cb(((b || \"\")))).split(\" \");\n                for (f = 0; ((f < b.length)); f++) {\n                    g = ((X.exec(b[f]) || []));\n                    i = j = g[1];\n                    k = g[2];\n                    if (!i) {\n                        {\n                            var fin22keys = ((window.top.JSBNG_Replay.forInKeys)((n))), fin22i = (0);\n                            (0);\n                            for (; (fin22i < fin22keys.length); (fin22i++)) {\n                                ((i) = (fin22keys[fin22i]));\n                                {\n                                    q.JSBNG__event.remove(a, ((i + b[f])), c, d, !0);\n                                ;\n                                };\n                            };\n                        };\n                    ;\n                        continue;\n                    }\n                ;\n                ;\n                    o = ((q.JSBNG__event.special[i] || {\n                    }));\n                    i = ((((d ? o.delegateType : o.bindType)) || i));\n                    p = ((n[i] || []));\n                    l = p.length;\n                    k = ((k ? new RegExp(((((\"(^|\\\\.)\" + k.split(\".\").sort().join(\"\\\\.(?:.*\\\\.|)\"))) + \"(\\\\.|$)\"))) : null));\n                    for (m = 0; ((m < p.length)); m++) {\n                        r = p[m];\n                        if (((((((((e || ((j === r.origType)))) && ((!c || ((c.guid === r.guid)))))) && ((!k || k.test(r.namespace))))) && ((((!d || ((d === r.selector)))) || ((((d === \"**\")) && r.selector))))))) {\n                            p.splice(m--, 1);\n                            ((r.selector && p.delegateCount--));\n                            ((o.remove && o.remove.call(a, r)));\n                        }\n                    ;\n                    ;\n                    };\n                ;\n                    if (((((p.length === 0)) && ((l !== p.length))))) {\n                        ((((!o.teardown || ((o.teardown.call(a, k, s.handle) === !1)))) && q.removeEvent(a, i, s.handle)));\n                        delete n[i];\n                    }\n                ;\n                ;\n                };\n            ;\n                if (q.isEmptyObject(n)) {\n                    delete s.handle;\n                    q.removeData(a, \"events\", !0);\n                }\n            ;\n            ;\n            },\n            customEvent: {\n                getData: !0,\n                setData: !0,\n                changeData: !0\n            },\n            trigger: function(c, d, f, g) {\n                if (((!f || ((((f.nodeType !== 3)) && ((f.nodeType !== 8))))))) {\n                    var i, j, k, l, m, n, o, p, r, s, t = ((c.type || c)), u = [];\n                    if (bb.test(((t + q.JSBNG__event.triggered)))) {\n                        return;\n                    }\n                ;\n                ;\n                    if (((t.indexOf(\"!\") >= 0))) {\n                        t = t.slice(0, -1);\n                        j = !0;\n                    }\n                ;\n                ;\n                    if (((t.indexOf(\".\") >= 0))) {\n                        u = t.split(\".\");\n                        t = u.shift();\n                        u.sort();\n                    }\n                ;\n                ;\n                    if (((((!f || q.JSBNG__event.customEvent[t])) && !q.JSBNG__event.global[t]))) {\n                        return;\n                    }\n                ;\n                ;\n                    c = ((((typeof c == \"object\")) ? ((c[q.expando] ? c : new q.JSBNG__Event(t, c))) : new q.JSBNG__Event(t)));\n                    c.type = t;\n                    c.isTrigger = !0;\n                    c.exclusive = j;\n                    c.namespace = u.join(\".\");\n                    c.namespace_re = ((c.namespace ? new RegExp(((((\"(^|\\\\.)\" + u.join(\"\\\\.(?:.*\\\\.|)\"))) + \"(\\\\.|$)\"))) : null));\n                    n = ((((t.indexOf(\":\") < 0)) ? ((\"JSBNG__on\" + t)) : \"\"));\n                    if (!f) {\n                        i = q.cache;\n                        {\n                            var fin23keys = ((window.top.JSBNG_Replay.forInKeys)((i))), fin23i = (0);\n                            (0);\n                            for (; (fin23i < fin23keys.length); (fin23i++)) {\n                                ((k) = (fin23keys[fin23i]));\n                                {\n                                    ((((i[k].events && i[k].events[t])) && q.JSBNG__event.trigger(c, d, i[k].handle.elem, !0)));\n                                ;\n                                };\n                            };\n                        };\n                    ;\n                        return;\n                    }\n                ;\n                ;\n                    c.result = b;\n                    ((c.target || (c.target = f)));\n                    d = ((((d != null)) ? q.makeArray(d) : []));\n                    d.unshift(c);\n                    o = ((q.JSBNG__event.special[t] || {\n                    }));\n                    if (((o.trigger && ((o.trigger.apply(f, d) === !1))))) {\n                        return;\n                    }\n                ;\n                ;\n                    r = [[f,((o.bindType || t)),],];\n                    if (((((!g && !o.noBubble)) && !q.isWindow(f)))) {\n                        s = ((o.delegateType || t));\n                        l = ((bb.test(((s + t))) ? f : f.parentNode));\n                        for (m = f; l; l = l.parentNode) {\n                            r.push([l,s,]);\n                            m = l;\n                        };\n                    ;\n                        ((((m === ((f.ownerDocument || e)))) && r.push([((((m.defaultView || m.parentWindow)) || a)),s,])));\n                    }\n                ;\n                ;\n                    for (k = 0; ((((k < r.length)) && !c.isPropagationStopped())); k++) {\n                        l = r[k][0];\n                        c.type = r[k][1];\n                        p = ((((q._data(l, \"events\") || {\n                        }))[c.type] && q._data(l, \"handle\")));\n                        ((p && p.apply(l, d)));\n                        p = ((n && l[n]));\n                        ((((((((p && q.acceptData(l))) && p.apply)) && ((p.apply(l, d) === !1)))) && c.preventDefault()));\n                    };\n                ;\n                    c.type = t;\n                    if (((((((((((((((((!g && !c.isDefaultPrevented())) && ((!o._default || ((o._default.apply(f.ownerDocument, d) === !1)))))) && ((((t !== \"click\")) || !q.nodeName(f, \"a\"))))) && q.acceptData(f))) && n)) && f[t])) && ((((((t !== \"JSBNG__focus\")) && ((t !== \"JSBNG__blur\")))) || ((c.target.offsetWidth !== 0)))))) && !q.isWindow(f)))) {\n                        m = f[n];\n                        ((m && (f[n] = null)));\n                        q.JSBNG__event.triggered = t;\n                        f[t]();\n                        q.JSBNG__event.triggered = b;\n                        ((m && (f[n] = m)));\n                    }\n                ;\n                ;\n                    return c.result;\n                }\n            ;\n            ;\n                return;\n            },\n            dispatch: function(c) {\n                c = q.JSBNG__event.fix(((c || a.JSBNG__event)));\n                var d, e, f, g, i, j, k, m, n, o, p = ((((q._data(this, \"events\") || {\n                }))[c.type] || [])), r = p.delegateCount, s = l.call(arguments), t = ((!c.exclusive && !c.namespace)), u = ((q.JSBNG__event.special[c.type] || {\n                })), v = [];\n                s[0] = c;\n                c.delegateTarget = this;\n                if (((u.preDispatch && ((u.preDispatch.call(this, c) === !1))))) {\n                    return;\n                }\n            ;\n            ;\n                if (((r && ((!c.button || ((c.type !== \"click\"))))))) {\n                    for (f = c.target; ((f != this)); f = ((f.parentNode || this))) {\n                        if (((((f.disabled !== !0)) || ((c.type !== \"click\"))))) {\n                            i = {\n                            };\n                            k = [];\n                            for (d = 0; ((d < r)); d++) {\n                                m = p[d];\n                                n = m.selector;\n                                ((((i[n] === b)) && (i[n] = ((m.needsContext ? ((q(n, this).index(f) >= 0)) : q.JSBNG__find(n, this, null, [f,]).length)))));\n                                ((i[n] && k.push(m)));\n                            };\n                        ;\n                            ((k.length && v.push({\n                                elem: f,\n                                matches: k\n                            })));\n                        }\n                    ;\n                    ;\n                    };\n                }\n            ;\n            ;\n                ((((p.length > r)) && v.push({\n                    elem: this,\n                    matches: p.slice(r)\n                })));\n                for (d = 0; ((((d < v.length)) && !c.isPropagationStopped())); d++) {\n                    j = v[d];\n                    c.currentTarget = j.elem;\n                    for (e = 0; ((((e < j.matches.length)) && !c.isImmediatePropagationStopped())); e++) {\n                        m = j.matches[e];\n                        if (((((t || ((!c.namespace && !m.namespace)))) || ((c.namespace_re && c.namespace_re.test(m.namespace)))))) {\n                            c.data = m.data;\n                            c.handleObj = m;\n                            g = ((((q.JSBNG__event.special[m.origType] || {\n                            })).handle || m.handler)).apply(j.elem, s);\n                            if (((g !== b))) {\n                                c.result = g;\n                                if (((g === !1))) {\n                                    c.preventDefault();\n                                    c.stopPropagation();\n                                }\n                            ;\n                            ;\n                            }\n                        ;\n                        ;\n                        }\n                    ;\n                    ;\n                    };\n                ;\n                };\n            ;\n                ((u.postDispatch && u.postDispatch.call(this, c)));\n                return c.result;\n            },\n            props: \"attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which\".split(\" \"),\n            fixHooks: {\n            },\n            keyHooks: {\n                props: \"char charCode key keyCode\".split(\" \"),\n                filter: function(a, b) {\n                    ((((a.which == null)) && (a.which = ((((b.charCode != null)) ? b.charCode : b.keyCode)))));\n                    return a;\n                }\n            },\n            mouseHooks: {\n                props: \"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement\".split(\" \"),\n                filter: function(a, c) {\n                    var d, f, g, i = c.button, j = c.fromElement;\n                    if (((((a.pageX == null)) && ((c.clientX != null))))) {\n                        d = ((a.target.ownerDocument || e));\n                        f = d.documentElement;\n                        g = d.body;\n                        a.pageX = ((((c.clientX + ((((((f && f.scrollLeft)) || ((g && g.scrollLeft)))) || 0)))) - ((((((f && f.clientLeft)) || ((g && g.clientLeft)))) || 0))));\n                        a.pageY = ((((c.clientY + ((((((f && f.scrollTop)) || ((g && g.scrollTop)))) || 0)))) - ((((((f && f.clientTop)) || ((g && g.clientTop)))) || 0))));\n                    }\n                ;\n                ;\n                    ((((!a.relatedTarget && j)) && (a.relatedTarget = ((((j === a.target)) ? c.toElement : j)))));\n                    ((((!a.which && ((i !== b)))) && (a.which = ((((i & 1)) ? 1 : ((((i & 2)) ? 3 : ((((i & 4)) ? 2 : 0)))))))));\n                    return a;\n                }\n            },\n            fix: function(a) {\n                if (a[q.expando]) {\n                    return a;\n                }\n            ;\n            ;\n                var b, c, d = a, f = ((q.JSBNG__event.fixHooks[a.type] || {\n                })), g = ((f.props ? this.props.concat(f.props) : this.props));\n                a = q.JSBNG__Event(d);\n                for (b = g.length; b; ) {\n                    c = g[--b];\n                    a[c] = d[c];\n                };\n            ;\n                ((a.target || (a.target = ((d.srcElement || e)))));\n                ((((a.target.nodeType === 3)) && (a.target = a.target.parentNode)));\n                a.metaKey = !!a.metaKey;\n                return ((f.filter ? f.filter(a, d) : a));\n            },\n            special: {\n                load: {\n                    noBubble: !0\n                },\n                JSBNG__focus: {\n                    delegateType: \"focusin\"\n                },\n                JSBNG__blur: {\n                    delegateType: \"focusout\"\n                },\n                beforeunload: {\n                    setup: function(a, b, c) {\n                        ((q.isWindow(this) && (this.JSBNG__onbeforeunload = c)));\n                    },\n                    teardown: function(a, b) {\n                        ((((this.JSBNG__onbeforeunload === b)) && (this.JSBNG__onbeforeunload = null)));\n                    }\n                }\n            },\n            simulate: function(a, b, c, d) {\n                var e = q.extend(new q.JSBNG__Event, c, {\n                    type: a,\n                    isSimulated: !0,\n                    originalEvent: {\n                    }\n                });\n                ((d ? q.JSBNG__event.trigger(e, null, b) : q.JSBNG__event.dispatch.call(b, e)));\n                ((e.isDefaultPrevented() && c.preventDefault()));\n            }\n        };\n        q.JSBNG__event.handle = q.JSBNG__event.dispatch;\n        q.removeEvent = ((e.JSBNG__removeEventListener ? function(a, b, c) {\n            ((a.JSBNG__removeEventListener && a.JSBNG__removeEventListener(b, c, !1)));\n        } : function(a, b, c) {\n            var d = ((\"JSBNG__on\" + b));\n            if (a.JSBNG__detachEvent) {\n                ((((typeof a[d] == \"undefined\")) && (a[d] = null)));\n                a.JSBNG__detachEvent(d, c);\n            }\n        ;\n        ;\n        }));\n        q.JSBNG__Event = function(a, b) {\n            if (!((this instanceof q.JSBNG__Event))) {\n                return new q.JSBNG__Event(a, b);\n            }\n        ;\n        ;\n            if (((a && a.type))) {\n                this.originalEvent = a;\n                this.type = a.type;\n                this.isDefaultPrevented = ((((((a.defaultPrevented || ((a.returnValue === !1)))) || ((a.getPreventDefault && a.getPreventDefault())))) ? eb : db));\n            }\n             else this.type = a;\n        ;\n        ;\n            ((b && q.extend(this, b)));\n            this.timeStamp = ((((a && a.timeStamp)) || q.now()));\n            this[q.expando] = !0;\n        };\n        q.JSBNG__Event.prototype = {\n            preventDefault: function() {\n                this.isDefaultPrevented = eb;\n                var a = this.originalEvent;\n                if (!a) {\n                    return;\n                }\n            ;\n            ;\n                ((a.preventDefault ? a.preventDefault() : a.returnValue = !1));\n            },\n            stopPropagation: function() {\n                this.isPropagationStopped = eb;\n                var a = this.originalEvent;\n                if (!a) {\n                    return;\n                }\n            ;\n            ;\n                ((a.stopPropagation && a.stopPropagation()));\n                a.cancelBubble = !0;\n            },\n            stopImmediatePropagation: function() {\n                this.isImmediatePropagationStopped = eb;\n                this.stopPropagation();\n            },\n            isDefaultPrevented: db,\n            isPropagationStopped: db,\n            isImmediatePropagationStopped: db\n        };\n        q.each({\n            mouseenter: \"mouseover\",\n            mouseleave: \"mouseout\"\n        }, function(a, b) {\n            q.JSBNG__event.special[a] = {\n                delegateType: b,\n                bindType: b,\n                handle: function(a) {\n                    var c, d = this, e = a.relatedTarget, f = a.handleObj, g = f.selector;\n                    if (((!e || ((((e !== d)) && !q.contains(d, e)))))) {\n                        a.type = f.origType;\n                        c = f.handler.apply(this, arguments);\n                        a.type = b;\n                    }\n                ;\n                ;\n                    return c;\n                }\n            };\n        });\n        ((q.support.submitBubbles || (q.JSBNG__event.special.submit = {\n            setup: function() {\n                if (q.nodeName(this, \"form\")) {\n                    return !1;\n                }\n            ;\n            ;\n                q.JSBNG__event.add(this, \"click._submit keypress._submit\", function(a) {\n                    var c = a.target, d = ((((q.nodeName(c, \"input\") || q.nodeName(c, \"button\"))) ? c.form : b));\n                    if (((d && !q._data(d, \"_submit_attached\")))) {\n                        q.JSBNG__event.add(d, \"submit._submit\", function(a) {\n                            a._submit_bubble = !0;\n                        });\n                        q._data(d, \"_submit_attached\", !0);\n                    }\n                ;\n                ;\n                });\n            },\n            postDispatch: function(a) {\n                if (a._submit_bubble) {\n                    delete a._submit_bubble;\n                    ((((this.parentNode && !a.isTrigger)) && q.JSBNG__event.simulate(\"submit\", this.parentNode, a, !0)));\n                }\n            ;\n            ;\n            },\n            teardown: function() {\n                if (q.nodeName(this, \"form\")) {\n                    return !1;\n                }\n            ;\n            ;\n                q.JSBNG__event.remove(this, \"._submit\");\n            }\n        })));\n        ((q.support.changeBubbles || (q.JSBNG__event.special.change = {\n            setup: function() {\n                if (W.test(this.nodeName)) {\n                    if (((((this.type === \"checkbox\")) || ((this.type === \"radio\"))))) {\n                        q.JSBNG__event.add(this, \"propertychange._change\", function(a) {\n                            ((((a.originalEvent.propertyName === \"checked\")) && (this._just_changed = !0)));\n                        });\n                        q.JSBNG__event.add(this, \"click._change\", function(a) {\n                            ((((this._just_changed && !a.isTrigger)) && (this._just_changed = !1)));\n                            q.JSBNG__event.simulate(\"change\", this, a, !0);\n                        });\n                    }\n                ;\n                ;\n                    return !1;\n                }\n            ;\n            ;\n                q.JSBNG__event.add(this, \"beforeactivate._change\", function(a) {\n                    var b = a.target;\n                    if (((W.test(b.nodeName) && !q._data(b, \"_change_attached\")))) {\n                        q.JSBNG__event.add(b, \"change._change\", function(a) {\n                            ((((((this.parentNode && !a.isSimulated)) && !a.isTrigger)) && q.JSBNG__event.simulate(\"change\", this.parentNode, a, !0)));\n                        });\n                        q._data(b, \"_change_attached\", !0);\n                    }\n                ;\n                ;\n                });\n            },\n            handle: function(a) {\n                var b = a.target;\n                if (((((((((this !== b)) || a.isSimulated)) || a.isTrigger)) || ((((b.type !== \"radio\")) && ((b.type !== \"checkbox\"))))))) {\n                    return a.handleObj.handler.apply(this, arguments);\n                }\n            ;\n            ;\n            },\n            teardown: function() {\n                q.JSBNG__event.remove(this, \"._change\");\n                return !W.test(this.nodeName);\n            }\n        })));\n        ((q.support.focusinBubbles || q.each({\n            JSBNG__focus: \"focusin\",\n            JSBNG__blur: \"focusout\"\n        }, function(a, b) {\n            var c = 0, d = function(a) {\n                q.JSBNG__event.simulate(b, a.target, q.JSBNG__event.fix(a), !0);\n            };\n            q.JSBNG__event.special[b] = {\n                setup: function() {\n                    ((((c++ === 0)) && e.JSBNG__addEventListener(a, d, !0)));\n                },\n                teardown: function() {\n                    ((((--c === 0)) && e.JSBNG__removeEventListener(a, d, !0)));\n                }\n            };\n        })));\n        q.fn.extend({\n            JSBNG__on: function(a, c, d, e, f) {\n                var g, i;\n                if (((typeof a == \"object\"))) {\n                    if (((typeof c != \"string\"))) {\n                        d = ((d || c));\n                        c = b;\n                    }\n                ;\n                ;\n                    {\n                        var fin24keys = ((window.top.JSBNG_Replay.forInKeys)((a))), fin24i = (0);\n                        (0);\n                        for (; (fin24i < fin24keys.length); (fin24i++)) {\n                            ((i) = (fin24keys[fin24i]));\n                            {\n                                this.JSBNG__on(i, c, d, a[i], f);\n                            ;\n                            };\n                        };\n                    };\n                ;\n                    return this;\n                }\n            ;\n            ;\n                if (((((d == null)) && ((e == null))))) {\n                    e = c;\n                    d = c = b;\n                }\n                 else if (((e == null))) {\n                    if (((typeof c == \"string\"))) {\n                        e = d;\n                        d = b;\n                    }\n                     else {\n                        e = d;\n                        d = c;\n                        c = b;\n                    }\n                ;\n                }\n                \n            ;\n            ;\n                if (((e === !1))) {\n                    e = db;\n                }\n                 else {\n                    if (!e) {\n                        return this;\n                    }\n                ;\n                }\n            ;\n            ;\n                if (((f === 1))) {\n                    g = e;\n                    e = function(a) {\n                        q().off(a);\n                        return g.apply(this, arguments);\n                    };\n                    e.guid = ((g.guid || (g.guid = q.guid++)));\n                }\n            ;\n            ;\n                return this.each(function() {\n                    q.JSBNG__event.add(this, a, e, d, c);\n                });\n            },\n            one: function(a, b, c, d) {\n                return this.JSBNG__on(a, b, c, d, 1);\n            },\n            off: function(a, c, d) {\n                var e, f;\n                if (((((a && a.preventDefault)) && a.handleObj))) {\n                    e = a.handleObj;\n                    q(a.delegateTarget).off(((e.namespace ? ((((e.origType + \".\")) + e.namespace)) : e.origType)), e.selector, e.handler);\n                    return this;\n                }\n            ;\n            ;\n                if (((typeof a == \"object\"))) {\n                    {\n                        var fin25keys = ((window.top.JSBNG_Replay.forInKeys)((a))), fin25i = (0);\n                        (0);\n                        for (; (fin25i < fin25keys.length); (fin25i++)) {\n                            ((f) = (fin25keys[fin25i]));\n                            {\n                                this.off(f, c, a[f]);\n                            ;\n                            };\n                        };\n                    };\n                ;\n                    return this;\n                }\n            ;\n            ;\n                if (((((c === !1)) || ((typeof c == \"function\"))))) {\n                    d = c;\n                    c = b;\n                }\n            ;\n            ;\n                ((((d === !1)) && (d = db)));\n                return this.each(function() {\n                    q.JSBNG__event.remove(this, a, d, c);\n                });\n            },\n            bind: function(a, b, c) {\n                return this.JSBNG__on(a, null, b, c);\n            },\n            unbind: function(a, b) {\n                return this.off(a, null, b);\n            },\n            live: function(a, b, c) {\n                q(this.context).JSBNG__on(a, this.selector, b, c);\n                return this;\n            },\n            die: function(a, b) {\n                q(this.context).off(a, ((this.selector || \"**\")), b);\n                return this;\n            },\n            delegate: function(a, b, c, d) {\n                return this.JSBNG__on(b, a, c, d);\n            },\n            undelegate: function(a, b, c) {\n                return ((((arguments.length === 1)) ? this.off(a, \"**\") : this.off(b, ((a || \"**\")), c)));\n            },\n            trigger: function(a, b) {\n                return this.each(function() {\n                    q.JSBNG__event.trigger(a, b, this);\n                });\n            },\n            triggerHandler: function(a, b) {\n                if (this[0]) {\n                    return q.JSBNG__event.trigger(a, b, this[0], !0);\n                }\n            ;\n            ;\n            },\n            toggle: function(a) {\n                var b = arguments, c = ((a.guid || q.guid++)), d = 0, e = function(c) {\n                    var e = ((((q._data(this, ((\"lastToggle\" + a.guid))) || 0)) % d));\n                    q._data(this, ((\"lastToggle\" + a.guid)), ((e + 1)));\n                    c.preventDefault();\n                    return ((b[e].apply(this, arguments) || !1));\n                };\n                e.guid = c;\n                while (((d < b.length))) {\n                    b[d++].guid = c;\n                ;\n                };\n            ;\n                return this.click(e);\n            },\n            hover: function(a, b) {\n                return this.mouseenter(a).mouseleave(((b || a)));\n            }\n        });\n        q.each(\"blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu\".split(\" \"), function(a, b) {\n            q.fn[b] = function(a, c) {\n                if (((c == null))) {\n                    c = a;\n                    a = null;\n                }\n            ;\n            ;\n                return ((((arguments.length > 0)) ? this.JSBNG__on(b, null, a, c) : this.trigger(b)));\n            };\n            ((Z.test(b) && (q.JSBNG__event.fixHooks[b] = q.JSBNG__event.keyHooks)));\n            ((ab.test(b) && (q.JSBNG__event.fixHooks[b] = q.JSBNG__event.mouseHooks)));\n        });\n        (function(a, b) {\n            function fb(a, b, c, d) {\n                c = ((c || []));\n                b = ((b || s));\n                var e, f, j, k, l = b.nodeType;\n                if (((!a || ((typeof a != \"string\"))))) {\n                    return c;\n                }\n            ;\n            ;\n                if (((((l !== 1)) && ((l !== 9))))) {\n                    return [];\n                }\n            ;\n            ;\n                j = g(b);\n                if (((!j && !d))) {\n                    if (e = Q.exec(a)) {\n                        if (k = e[1]) {\n                            if (((l === 9))) {\n                                f = b.getElementById(k);\n                                if (((!f || !f.parentNode))) {\n                                    return c;\n                                }\n                            ;\n                            ;\n                                if (((f.id === k))) {\n                                    c.push(f);\n                                    return c;\n                                }\n                            ;\n                            ;\n                            }\n                             else if (((((((b.ownerDocument && (f = b.ownerDocument.getElementById(k)))) && i(b, f))) && ((f.id === k))))) {\n                                c.push(f);\n                                return c;\n                            }\n                            \n                        ;\n                        ;\n                        }\n                         else {\n                            if (e[2]) {\n                                x.apply(c, y.call(b.getElementsByTagName(a), 0));\n                                return c;\n                            }\n                        ;\n                        ;\n                            if ((((((k = e[3]) && cb)) && b.getElementsByClassName))) {\n                                x.apply(c, y.call(b.getElementsByClassName(k), 0));\n                                return c;\n                            }\n                        ;\n                        ;\n                        }\n                    ;\n                    }\n                ;\n                }\n            ;\n            ;\n                return sb(a.replace(M, \"$1\"), b, c, d, j);\n            };\n        ;\n            function gb(a) {\n                return function(b) {\n                    var c = b.nodeName.toLowerCase();\n                    return ((((c === \"input\")) && ((b.type === a))));\n                };\n            };\n        ;\n            function hb(a) {\n                return function(b) {\n                    var c = b.nodeName.toLowerCase();\n                    return ((((((c === \"input\")) || ((c === \"button\")))) && ((b.type === a))));\n                };\n            };\n        ;\n            function ib(a) {\n                return A(function(b) {\n                    b = +b;\n                    return A(function(c, d) {\n                        var e, f = a([], c.length, b), g = f.length;\n                        while (g--) {\n                            ((c[e = f[g]] && (c[e] = !(d[e] = c[e]))));\n                        ;\n                        };\n                    ;\n                    });\n                });\n            };\n        ;\n            function jb(a, b, c) {\n                if (((a === b))) {\n                    return c;\n                }\n            ;\n            ;\n                var d = a.nextSibling;\n                while (d) {\n                    if (((d === b))) {\n                        return -1;\n                    }\n                ;\n                ;\n                    d = d.nextSibling;\n                };\n            ;\n                return 1;\n            };\n        ;\n            function kb(a, b) {\n                var c, d, f, g, i, j, k, l = D[p][((a + \" \"))];\n                if (l) {\n                    return ((b ? 0 : l.slice(0)));\n                }\n            ;\n            ;\n                i = a;\n                j = [];\n                k = e.preFilter;\n                while (i) {\n                    if (((!c || (d = N.exec(i))))) {\n                        ((d && (i = ((i.slice(d[0].length) || i)))));\n                        j.push(f = []);\n                    }\n                ;\n                ;\n                    c = !1;\n                    if (d = O.exec(i)) {\n                        f.push(c = new r(d.shift()));\n                        i = i.slice(c.length);\n                        c.type = d[0].replace(M, \" \");\n                    }\n                ;\n                ;\n                    {\n                        var fin26keys = ((window.top.JSBNG_Replay.forInKeys)((e.filter))), fin26i = (0);\n                        (0);\n                        for (; (fin26i < fin26keys.length); (fin26i++)) {\n                            ((g) = (fin26keys[fin26i]));\n                            {\n                                if ((((d = X[g].exec(i)) && ((!k[g] || (d = k[g](d))))))) {\n                                    f.push(c = new r(d.shift()));\n                                    i = i.slice(c.length);\n                                    c.type = g;\n                                    c.matches = d;\n                                }\n                            ;\n                            ;\n                            };\n                        };\n                    };\n                ;\n                    if (!c) {\n                        break;\n                    }\n                ;\n                ;\n                };\n            ;\n                return ((b ? i.length : ((i ? fb.error(a) : D(a, j).slice(0)))));\n            };\n        ;\n            function lb(a, b, d) {\n                var e = b.dir, f = ((d && ((b.dir === \"parentNode\")))), g = v++;\n                return ((b.first ? function(b, c, d) {\n                    while (b = b[e]) {\n                        if (((f || ((b.nodeType === 1))))) {\n                            return a(b, c, d);\n                        }\n                    ;\n                    ;\n                    };\n                ;\n                } : function(b, d, i) {\n                    if (!i) {\n                        var j, k = ((((((u + \" \")) + g)) + \" \")), l = ((k + c));\n                        while (b = b[e]) {\n                            if (((f || ((b.nodeType === 1))))) {\n                                if ((((j = b[p]) === l))) {\n                                    return b.sizset;\n                                }\n                            ;\n                            ;\n                                if (((((typeof j == \"string\")) && ((j.indexOf(k) === 0))))) {\n                                    if (b.sizset) {\n                                        return b;\n                                    }\n                                ;\n                                ;\n                                }\n                                 else {\n                                    b[p] = l;\n                                    if (a(b, d, i)) {\n                                        b.sizset = !0;\n                                        return b;\n                                    }\n                                ;\n                                ;\n                                    b.sizset = !1;\n                                }\n                            ;\n                            ;\n                            }\n                        ;\n                        ;\n                        };\n                    ;\n                    }\n                     else while (b = b[e]) {\n                        if (((f || ((b.nodeType === 1))))) {\n                            if (a(b, d, i)) {\n                                return b;\n                            }\n                        ;\n                        }\n                    ;\n                    ;\n                    }\n                ;\n                ;\n                }));\n            };\n        ;\n            function mb(a) {\n                return ((((a.length > 1)) ? function(b, c, d) {\n                    var e = a.length;\n                    while (e--) {\n                        if (!a[e](b, c, d)) {\n                            return !1;\n                        }\n                    ;\n                    ;\n                    };\n                ;\n                    return !0;\n                } : a[0]));\n            };\n        ;\n            function nb(a, b, c, d, e) {\n                var f, g = [], i = 0, j = a.length, k = ((b != null));\n                for (; ((i < j)); i++) {\n                    if (f = a[i]) {\n                        if (((!c || c(f, d, e)))) {\n                            g.push(f);\n                            ((k && b.push(i)));\n                        }\n                    ;\n                    }\n                ;\n                ;\n                };\n            ;\n                return g;\n            };\n        ;\n            function ob(a, b, c, d, e, f) {\n                ((((d && !d[p])) && (d = ob(d))));\n                ((((e && !e[p])) && (e = ob(e, f))));\n                return A(function(f, g, i, j) {\n                    var k, l, m, n = [], o = [], p = g.length, q = ((f || rb(((b || \"*\")), ((i.nodeType ? [i,] : i)), []))), r = ((((a && ((f || !b)))) ? nb(q, n, a, i, j) : q)), s = ((c ? ((((e || ((f ? a : ((p || d)))))) ? [] : g)) : r));\n                    ((c && c(r, s, i, j)));\n                    if (d) {\n                        k = nb(s, o);\n                        d(k, [], i, j);\n                        l = k.length;\n                        while (l--) {\n                            if (m = k[l]) {\n                                s[o[l]] = !(r[o[l]] = m);\n                            }\n                        ;\n                        ;\n                        };\n                    ;\n                    }\n                ;\n                ;\n                    if (f) {\n                        if (((e || a))) {\n                            if (e) {\n                                k = [];\n                                l = s.length;\n                                while (l--) {\n                                    (((m = s[l]) && k.push(r[l] = m)));\n                                ;\n                                };\n                            ;\n                                e(null, s = [], k, j);\n                            }\n                        ;\n                        ;\n                            l = s.length;\n                            while (l--) {\n                                (((((m = s[l]) && (((k = ((e ? z.call(f, m) : n[l]))) > -1)))) && (f[k] = !(g[k] = m))));\n                            ;\n                            };\n                        ;\n                        }\n                    ;\n                    ;\n                    }\n                     else {\n                        s = nb(((((s === g)) ? s.splice(p, s.length) : s)));\n                        ((e ? e(null, g, s, j) : x.apply(g, s)));\n                    }\n                ;\n                ;\n                });\n            };\n        ;\n            function pb(a) {\n                var b, c, d, f = a.length, g = e.relative[a[0].type], i = ((g || e.relative[\" \"])), j = ((g ? 1 : 0)), k = lb(function(a) {\n                    return ((a === b));\n                }, i, !0), l = lb(function(a) {\n                    return ((z.call(b, a) > -1));\n                }, i, !0), n = [function(a, c, d) {\n                    return ((((!g && ((d || ((c !== m)))))) || (((b = c).nodeType ? k(a, c, d) : l(a, c, d)))));\n                },];\n                for (; ((j < f)); j++) {\n                    if (c = e.relative[a[j].type]) n = [lb(mb(n), c),];\n                     else {\n                        c = e.filter[a[j].type].apply(null, a[j].matches);\n                        if (c[p]) {\n                            d = ++j;\n                            for (; ((d < f)); d++) {\n                                if (e.relative[a[d].type]) {\n                                    break;\n                                }\n                            ;\n                            ;\n                            };\n                        ;\n                            return ob(((((j > 1)) && mb(n))), ((((j > 1)) && a.slice(0, ((j - 1))).join(\"\").replace(M, \"$1\"))), c, ((((j < d)) && pb(a.slice(j, d)))), ((((d < f)) && pb(a = a.slice(d)))), ((((d < f)) && a.join(\"\"))));\n                        }\n                    ;\n                    ;\n                        n.push(c);\n                    }\n                ;\n                ;\n                };\n            ;\n                return mb(n);\n            };\n        ;\n            function qb(a, b) {\n                var d = ((b.length > 0)), f = ((a.length > 0)), g = function(i, j, k, l, n) {\n                    var o, p, q, r = [], t = 0, v = \"0\", y = ((i && [])), z = ((n != null)), A = m, B = ((i || ((f && e.JSBNG__find.TAG(\"*\", ((((n && j.parentNode)) || j))))))), C = u += ((((A == null)) ? 1 : Math.E));\n                    if (z) {\n                        m = ((((j !== s)) && j));\n                        c = g.el;\n                    }\n                ;\n                ;\n                    for (; (((o = B[v]) != null)); v++) {\n                        if (((f && o))) {\n                            for (p = 0; q = a[p]; p++) {\n                                if (q(o, j, k)) {\n                                    l.push(o);\n                                    break;\n                                }\n                            ;\n                            ;\n                            };\n                        ;\n                            if (z) {\n                                u = C;\n                                c = ++g.el;\n                            }\n                        ;\n                        ;\n                        }\n                    ;\n                    ;\n                        if (d) {\n                            (((o = ((!q && o))) && t--));\n                            ((i && y.push(o)));\n                        }\n                    ;\n                    ;\n                    };\n                ;\n                    t += v;\n                    if (((d && ((v !== t))))) {\n                        for (p = 0; q = b[p]; p++) {\n                            q(y, r, j, k);\n                        ;\n                        };\n                    ;\n                        if (i) {\n                            if (((t > 0))) {\n                                while (v--) {\n                                    ((((!y[v] && !r[v])) && (r[v] = w.call(l))));\n                                ;\n                                };\n                            }\n                        ;\n                        ;\n                            r = nb(r);\n                        }\n                    ;\n                    ;\n                        x.apply(l, r);\n                        ((((((((z && !i)) && ((r.length > 0)))) && ((((t + b.length)) > 1)))) && fb.uniqueSort(l)));\n                    }\n                ;\n                ;\n                    if (z) {\n                        u = C;\n                        m = A;\n                    }\n                ;\n                ;\n                    return y;\n                };\n                g.el = 0;\n                return ((d ? A(g) : g));\n            };\n        ;\n            function rb(a, b, c) {\n                var d = 0, e = b.length;\n                for (; ((d < e)); d++) {\n                    fb(a, b[d], c);\n                ;\n                };\n            ;\n                return c;\n            };\n        ;\n            function sb(a, b, c, d, f) {\n                var g, i, k, l, m, n = kb(a), o = n.length;\n                if (((!d && ((n.length === 1))))) {\n                    i = n[0] = n[0].slice(0);\n                    if (((((((((((i.length > 2)) && (((k = i[0]).type === \"ID\")))) && ((b.nodeType === 9)))) && !f)) && e.relative[i[1].type]))) {\n                        b = e.JSBNG__find.ID(k.matches[0].replace(W, \"\"), b, f)[0];\n                        if (!b) {\n                            return c;\n                        }\n                    ;\n                    ;\n                        a = a.slice(i.shift().length);\n                    }\n                ;\n                ;\n                    for (g = ((X.POS.test(a) ? -1 : ((i.length - 1)))); ((g >= 0)); g--) {\n                        k = i[g];\n                        if (e.relative[l = k.type]) {\n                            break;\n                        }\n                    ;\n                    ;\n                        if (m = e.JSBNG__find[l]) {\n                            if (d = m(k.matches[0].replace(W, \"\"), ((((S.test(i[0].type) && b.parentNode)) || b)), f)) {\n                                i.splice(g, 1);\n                                a = ((d.length && i.join(\"\")));\n                                if (!a) {\n                                    x.apply(c, y.call(d, 0));\n                                    return c;\n                                }\n                            ;\n                            ;\n                                break;\n                            }\n                        ;\n                        }\n                    ;\n                    ;\n                    };\n                ;\n                }\n            ;\n            ;\n                j(a, n)(d, b, f, c, S.test(a));\n                return c;\n            };\n        ;\n            function tb() {\n            \n            };\n        ;\n            var c, d, e, f, g, i, j, k, l, m, n = !0, o = \"undefined\", p = ((\"sizcache\" + Math.JSBNG__random())).replace(\".\", \"\"), r = String, s = a.JSBNG__document, t = s.documentElement, u = 0, v = 0, w = [].pop, x = [].push, y = [].slice, z = (([].indexOf || function(a) {\n                var b = 0, c = this.length;\n                for (; ((b < c)); b++) {\n                    if (((this[b] === a))) {\n                        return b;\n                    }\n                ;\n                ;\n                };\n            ;\n                return -1;\n            })), A = function(a, b) {\n                a[p] = ((((b == null)) || b));\n                return a;\n            }, B = function() {\n                var a = {\n                }, b = [];\n                return A(function(c, d) {\n                    ((((b.push(c) > e.cacheLength)) && delete a[b.shift()]));\n                    return a[((c + \" \"))] = d;\n                }, a);\n            }, C = B(), D = B(), E = B(), F = \"[\\\\x20\\\\t\\\\r\\\\n\\\\f]\", G = \"(?:\\\\\\\\.|[-\\\\w]|[^\\\\x00-\\\\xa0])+\", H = G.replace(\"w\", \"w#\"), I = \"([*^$|!~]?=)\", J = ((((((((((((((((((((((((((\"\\\\[\" + F)) + \"*(\")) + G)) + \")\")) + F)) + \"*(?:\")) + I)) + F)) + \"*(?:(['\\\"])((?:\\\\\\\\.|[^\\\\\\\\])*?)\\\\3|(\")) + H)) + \")|)|)\")) + F)) + \"*\\\\]\")), K = ((((((((\":(\" + G)) + \")(?:\\\\((?:(['\\\"])((?:\\\\\\\\.|[^\\\\\\\\])*?)\\\\2|([^()[\\\\]]*|(?:(?:\")) + J)) + \")|[^:]|\\\\\\\\.)*|.*))\\\\)|)\")), L = ((((((((\":(even|odd|eq|gt|lt|nth|first|last)(?:\\\\(\" + F)) + \"*((?:-\\\\d)?\\\\d*)\")) + F)) + \"*\\\\)|)(?=[^-]|$)\")), M = new RegExp(((((((((\"^\" + F)) + \"+|((?:^|[^\\\\\\\\])(?:\\\\\\\\.)*)\")) + F)) + \"+$\")), \"g\"), N = new RegExp(((((((((\"^\" + F)) + \"*,\")) + F)) + \"*\"))), O = new RegExp(((((((((\"^\" + F)) + \"*([\\\\x20\\\\t\\\\r\\\\n\\\\f\\u003E+~])\")) + F)) + \"*\"))), P = new RegExp(K), Q = /^(?:#([\\w\\-]+)|(\\w+)|\\.([\\w\\-]+))$/, R = /^:not/, S = /[\\x20\\t\\r\\n\\f]*[+~]/, T = /:not\\($/, U = /h\\d/i, V = /input|select|textarea|button/i, W = /\\\\(?!\\\\)/g, X = {\n                ID: new RegExp(((((\"^#(\" + G)) + \")\"))),\n                CLASS: new RegExp(((((\"^\\\\.(\" + G)) + \")\"))),\n                NAME: new RegExp(((((\"^\\\\[name=['\\\"]?(\" + G)) + \")['\\\"]?\\\\]\"))),\n                TAG: new RegExp(((((\"^(\" + G.replace(\"w\", \"w*\"))) + \")\"))),\n                ATTR: new RegExp(((\"^\" + J))),\n                PSEUDO: new RegExp(((\"^\" + K))),\n                POS: new RegExp(L, \"i\"),\n                CHILD: new RegExp(((((((((((((((((\"^:(only|nth|first|last)-child(?:\\\\(\" + F)) + \"*(even|odd|(([+-]|)(\\\\d*)n|)\")) + F)) + \"*(?:([+-]|)\")) + F)) + \"*(\\\\d+)|))\")) + F)) + \"*\\\\)|)\")), \"i\"),\n                needsContext: new RegExp(((((((\"^\" + F)) + \"*[\\u003E+~]|\")) + L)), \"i\")\n            }, Y = function(a) {\n                var b = s.createElement(\"div\");\n                try {\n                    return a(b);\n                } catch (c) {\n                    return !1;\n                } finally {\n                    b = null;\n                };\n            ;\n            }, Z = Y(function(a) {\n                a.appendChild(s.createComment(\"\"));\n                return !a.getElementsByTagName(\"*\").length;\n            }), ab = Y(function(a) {\n                a.innerHTML = \"\\u003Ca href='#'\\u003E\\u003C/a\\u003E\";\n                return ((((a.firstChild && ((typeof a.firstChild.getAttribute !== o)))) && ((a.firstChild.getAttribute(\"href\") === \"#\"))));\n            }), bb = Y(function(a) {\n                a.innerHTML = \"\\u003Cselect\\u003E\\u003C/select\\u003E\";\n                var b = typeof a.lastChild.getAttribute(\"multiple\");\n                return ((((b !== \"boolean\")) && ((b !== \"string\"))));\n            }), cb = Y(function(a) {\n                a.innerHTML = \"\\u003Cdiv class='hidden e'\\u003E\\u003C/div\\u003E\\u003Cdiv class='hidden'\\u003E\\u003C/div\\u003E\";\n                if (((!a.getElementsByClassName || !a.getElementsByClassName(\"e\").length))) {\n                    return !1;\n                }\n            ;\n            ;\n                a.lastChild.className = \"e\";\n                return ((a.getElementsByClassName(\"e\").length === 2));\n            }), db = Y(function(a) {\n                a.id = ((p + 0));\n                a.innerHTML = ((((((((\"\\u003Ca name='\" + p)) + \"'\\u003E\\u003C/a\\u003E\\u003Cdiv name='\")) + p)) + \"'\\u003E\\u003C/div\\u003E\"));\n                t.insertBefore(a, t.firstChild);\n                var b = ((s.getElementsByName && ((s.getElementsByName(p).length === ((2 + s.getElementsByName(((p + 0))).length))))));\n                d = !s.getElementById(p);\n                t.removeChild(a);\n                return b;\n            });\n            try {\n                y.call(t.childNodes, 0)[0].nodeType;\n            } catch (eb) {\n                y = function(a) {\n                    var b, c = [];\n                    for (; b = this[a]; a++) {\n                        c.push(b);\n                    ;\n                    };\n                ;\n                    return c;\n                };\n            };\n        ;\n            fb.matches = function(a, b) {\n                return fb(a, null, null, b);\n            };\n            fb.matchesSelector = function(a, b) {\n                return ((fb(b, null, null, [a,]).length > 0));\n            };\n            f = fb.getText = function(a) {\n                var b, c = \"\", d = 0, e = a.nodeType;\n                if (e) {\n                    if (((((((e === 1)) || ((e === 9)))) || ((e === 11))))) {\n                        if (((typeof a.textContent == \"string\"))) {\n                            return a.textContent;\n                        }\n                    ;\n                    ;\n                        for (a = a.firstChild; a; a = a.nextSibling) {\n                            c += f(a);\n                        ;\n                        };\n                    ;\n                    }\n                     else if (((((e === 3)) || ((e === 4))))) {\n                        return a.nodeValue;\n                    }\n                    \n                ;\n                ;\n                }\n                 else for (; b = a[d]; d++) {\n                    c += f(b);\n                ;\n                }\n            ;\n            ;\n                return c;\n            };\n            g = fb.isXML = function(a) {\n                var b = ((a && ((a.ownerDocument || a)).documentElement));\n                return ((b ? ((b.nodeName !== \"HTML\")) : !1));\n            };\n            i = fb.contains = ((t.contains ? function(a, b) {\n                var c = ((((a.nodeType === 9)) ? a.documentElement : a)), d = ((b && b.parentNode));\n                return ((((a === d)) || !!((((((d && ((d.nodeType === 1)))) && c.contains)) && c.contains(d)))));\n            } : ((t.compareDocumentPosition ? function(a, b) {\n                return ((b && !!((a.compareDocumentPosition(b) & 16))));\n            } : function(a, b) {\n                while (b = b.parentNode) {\n                    if (((b === a))) {\n                        return !0;\n                    }\n                ;\n                ;\n                };\n            ;\n                return !1;\n            }))));\n            fb.attr = function(a, b) {\n                var c, d = g(a);\n                ((d || (b = b.toLowerCase())));\n                if (c = e.attrHandle[b]) {\n                    return c(a);\n                }\n            ;\n            ;\n                if (((d || bb))) {\n                    return a.getAttribute(b);\n                }\n            ;\n            ;\n                c = a.getAttributeNode(b);\n                return ((c ? ((((typeof a[b] == \"boolean\")) ? ((a[b] ? b : null)) : ((c.specified ? c.value : null)))) : null));\n            };\n            e = fb.selectors = {\n                cacheLength: 50,\n                createPseudo: A,\n                match: X,\n                attrHandle: ((ab ? {\n                } : {\n                    href: function(a) {\n                        return a.getAttribute(\"href\", 2);\n                    },\n                    type: function(a) {\n                        return a.getAttribute(\"type\");\n                    }\n                })),\n                JSBNG__find: {\n                    ID: ((d ? function(a, b, c) {\n                        if (((((typeof b.getElementById !== o)) && !c))) {\n                            var d = b.getElementById(a);\n                            return ((((d && d.parentNode)) ? [d,] : []));\n                        }\n                    ;\n                    ;\n                    } : function(a, c, d) {\n                        if (((((typeof c.getElementById !== o)) && !d))) {\n                            var e = c.getElementById(a);\n                            return ((e ? ((((((e.id === a)) || ((((typeof e.getAttributeNode !== o)) && ((e.getAttributeNode(\"id\").value === a)))))) ? [e,] : b)) : []));\n                        }\n                    ;\n                    ;\n                    })),\n                    TAG: ((Z ? function(a, b) {\n                        if (((typeof b.getElementsByTagName !== o))) {\n                            return b.getElementsByTagName(a);\n                        }\n                    ;\n                    ;\n                    } : function(a, b) {\n                        var c = b.getElementsByTagName(a);\n                        if (((a === \"*\"))) {\n                            var d, e = [], f = 0;\n                            for (; d = c[f]; f++) {\n                                ((((d.nodeType === 1)) && e.push(d)));\n                            ;\n                            };\n                        ;\n                            return e;\n                        }\n                    ;\n                    ;\n                        return c;\n                    })),\n                    NAME: ((db && function(a, b) {\n                        if (((typeof b.getElementsByName !== o))) {\n                            return b.getElementsByName(JSBNG__name);\n                        }\n                    ;\n                    ;\n                    })),\n                    CLASS: ((cb && function(a, b, c) {\n                        if (((((typeof b.getElementsByClassName !== o)) && !c))) {\n                            return b.getElementsByClassName(a);\n                        }\n                    ;\n                    ;\n                    }))\n                },\n                relative: {\n                    \"\\u003E\": {\n                        dir: \"parentNode\",\n                        first: !0\n                    },\n                    \" \": {\n                        dir: \"parentNode\"\n                    },\n                    \"+\": {\n                        dir: \"previousSibling\",\n                        first: !0\n                    },\n                    \"~\": {\n                        dir: \"previousSibling\"\n                    }\n                },\n                preFilter: {\n                    ATTR: function(a) {\n                        a[1] = a[1].replace(W, \"\");\n                        a[3] = ((((a[4] || a[5])) || \"\")).replace(W, \"\");\n                        ((((a[2] === \"~=\")) && (a[3] = ((((\" \" + a[3])) + \" \")))));\n                        return a.slice(0, 4);\n                    },\n                    CHILD: function(a) {\n                        a[1] = a[1].toLowerCase();\n                        if (((a[1] === \"nth\"))) {\n                            ((a[2] || fb.error(a[0])));\n                            a[3] = +((a[3] ? ((a[4] + ((a[5] || 1)))) : ((2 * ((((a[2] === \"even\")) || ((a[2] === \"odd\"))))))));\n                            a[4] = +((((a[6] + a[7])) || ((a[2] === \"odd\"))));\n                        }\n                         else ((a[2] && fb.error(a[0])));\n                    ;\n                    ;\n                        return a;\n                    },\n                    PSEUDO: function(a) {\n                        var b, c;\n                        if (X.CHILD.test(a[0])) {\n                            return null;\n                        }\n                    ;\n                    ;\n                        if (a[3]) {\n                            a[2] = a[3];\n                        }\n                         else {\n                            if (b = a[4]) {\n                                if (((((P.test(b) && (c = kb(b, !0)))) && (c = ((b.indexOf(\")\", ((b.length - c))) - b.length)))))) {\n                                    b = b.slice(0, c);\n                                    a[0] = a[0].slice(0, c);\n                                }\n                            ;\n                            ;\n                                a[2] = b;\n                            }\n                        ;\n                        }\n                    ;\n                    ;\n                        return a.slice(0, 3);\n                    }\n                },\n                filter: {\n                    ID: ((d ? function(a) {\n                        a = a.replace(W, \"\");\n                        return function(b) {\n                            return ((b.getAttribute(\"id\") === a));\n                        };\n                    } : function(a) {\n                        a = a.replace(W, \"\");\n                        return function(b) {\n                            var c = ((((typeof b.getAttributeNode !== o)) && b.getAttributeNode(\"id\")));\n                            return ((c && ((c.value === a))));\n                        };\n                    })),\n                    TAG: function(a) {\n                        if (((a === \"*\"))) {\n                            return function() {\n                                return !0;\n                            };\n                        }\n                    ;\n                    ;\n                        a = a.replace(W, \"\").toLowerCase();\n                        return function(b) {\n                            return ((b.nodeName && ((b.nodeName.toLowerCase() === a))));\n                        };\n                    },\n                    CLASS: function(a) {\n                        var b = C[p][((a + \" \"))];\n                        return ((b || (((b = new RegExp(((((((((((((\"(^|\" + F)) + \")\")) + a)) + \"(\")) + F)) + \"|$)\")))) && C(a, function(a) {\n                            return b.test(((((a.className || ((((typeof a.getAttribute !== o)) && a.getAttribute(\"class\"))))) || \"\")));\n                        })))));\n                    },\n                    ATTR: function(a, b, c) {\n                        return function(d, e) {\n                            var f = fb.attr(d, a);\n                            if (((f == null))) {\n                                return ((b === \"!=\"));\n                            }\n                        ;\n                        ;\n                            if (!b) {\n                                return !0;\n                            }\n                        ;\n                        ;\n                            f += \"\";\n                            return ((((b === \"=\")) ? ((f === c)) : ((((b === \"!=\")) ? ((f !== c)) : ((((b === \"^=\")) ? ((c && ((f.indexOf(c) === 0)))) : ((((b === \"*=\")) ? ((c && ((f.indexOf(c) > -1)))) : ((((b === \"$=\")) ? ((c && ((f.substr(((f.length - c.length))) === c)))) : ((((b === \"~=\")) ? ((((((\" \" + f)) + \" \")).indexOf(c) > -1)) : ((((b === \"|=\")) ? ((((f === c)) || ((f.substr(0, ((c.length + 1))) === ((c + \"-\")))))) : !1))))))))))))));\n                        };\n                    },\n                    CHILD: function(a, b, c, d) {\n                        return ((((a === \"nth\")) ? function(a) {\n                            var b, e, f = a.parentNode;\n                            if (((((c === 1)) && ((d === 0))))) {\n                                return !0;\n                            }\n                        ;\n                        ;\n                            if (f) {\n                                e = 0;\n                                for (b = f.firstChild; b; b = b.nextSibling) {\n                                    if (((b.nodeType === 1))) {\n                                        e++;\n                                        if (((a === b))) {\n                                            break;\n                                        }\n                                    ;\n                                    ;\n                                    }\n                                ;\n                                ;\n                                };\n                            ;\n                            }\n                        ;\n                        ;\n                            e -= d;\n                            return ((((e === c)) || ((((((e % c)) === 0)) && ((((e / c)) >= 0))))));\n                        } : function(b) {\n                            var c = b;\n                            switch (a) {\n                              case \"only\":\n                            \n                              case \"first\":\n                                while (c = c.previousSibling) {\n                                    if (((c.nodeType === 1))) {\n                                        return !1;\n                                    }\n                                ;\n                                ;\n                                };\n                            ;\n                                if (((a === \"first\"))) {\n                                    return !0;\n                                }\n                            ;\n                            ;\n                                c = b;\n                              case \"last\":\n                                while (c = c.nextSibling) {\n                                    if (((c.nodeType === 1))) {\n                                        return !1;\n                                    }\n                                ;\n                                ;\n                                };\n                            ;\n                                return !0;\n                            };\n                        ;\n                        }));\n                    },\n                    PSEUDO: function(a, b) {\n                        var c, d = ((((e.pseudos[a] || e.setFilters[a.toLowerCase()])) || fb.error(((\"unsupported pseudo: \" + a)))));\n                        if (d[p]) {\n                            return d(b);\n                        }\n                    ;\n                    ;\n                        if (((d.length > 1))) {\n                            c = [a,a,\"\",b,];\n                            return ((e.setFilters.hasOwnProperty(a.toLowerCase()) ? A(function(a, c) {\n                                var e, f = d(a, b), g = f.length;\n                                while (g--) {\n                                    e = z.call(a, f[g]);\n                                    a[e] = !(c[e] = f[g]);\n                                };\n                            ;\n                            }) : function(a) {\n                                return d(a, 0, c);\n                            }));\n                        }\n                    ;\n                    ;\n                        return d;\n                    }\n                },\n                pseudos: {\n                    not: A(function(a) {\n                        var b = [], c = [], d = j(a.replace(M, \"$1\"));\n                        return ((d[p] ? A(function(a, b, c, e) {\n                            var f, g = d(a, null, e, []), i = a.length;\n                            while (i--) {\n                                if (f = g[i]) {\n                                    a[i] = !(b[i] = f);\n                                }\n                            ;\n                            ;\n                            };\n                        ;\n                        }) : function(a, e, f) {\n                            b[0] = a;\n                            d(b, null, f, c);\n                            return !c.pop();\n                        }));\n                    }),\n                    has: A(function(a) {\n                        return function(b) {\n                            return ((fb(a, b).length > 0));\n                        };\n                    }),\n                    contains: A(function(a) {\n                        return function(b) {\n                            return ((((((b.textContent || b.innerText)) || f(b))).indexOf(a) > -1));\n                        };\n                    }),\n                    enabled: function(a) {\n                        return ((a.disabled === !1));\n                    },\n                    disabled: function(a) {\n                        return ((a.disabled === !0));\n                    },\n                    checked: function(a) {\n                        var b = a.nodeName.toLowerCase();\n                        return ((((((b === \"input\")) && !!a.checked)) || ((((b === \"option\")) && !!a.selected))));\n                    },\n                    selected: function(a) {\n                        ((a.parentNode && a.parentNode.selectedIndex));\n                        return ((a.selected === !0));\n                    },\n                    parent: function(a) {\n                        return !e.pseudos.empty(a);\n                    },\n                    empty: function(a) {\n                        var b;\n                        a = a.firstChild;\n                        while (a) {\n                            if (((((((a.nodeName > \"@\")) || (((b = a.nodeType) === 3)))) || ((b === 4))))) {\n                                return !1;\n                            }\n                        ;\n                        ;\n                            a = a.nextSibling;\n                        };\n                    ;\n                        return !0;\n                    },\n                    header: function(a) {\n                        return U.test(a.nodeName);\n                    },\n                    text: function(a) {\n                        var b, c;\n                        return ((((((a.nodeName.toLowerCase() === \"input\")) && (((b = a.type) === \"text\")))) && (((((c = a.getAttribute(\"type\")) == null)) || ((c.toLowerCase() === b))))));\n                    },\n                    radio: gb(\"radio\"),\n                    checkbox: gb(\"checkbox\"),\n                    file: gb(\"file\"),\n                    password: gb(\"password\"),\n                    image: gb(\"image\"),\n                    submit: hb(\"submit\"),\n                    reset: hb(\"reset\"),\n                    button: function(a) {\n                        var b = a.nodeName.toLowerCase();\n                        return ((((((b === \"input\")) && ((a.type === \"button\")))) || ((b === \"button\"))));\n                    },\n                    input: function(a) {\n                        return V.test(a.nodeName);\n                    },\n                    JSBNG__focus: function(a) {\n                        var b = a.ownerDocument;\n                        return ((((((a === b.activeElement)) && ((!b.hasFocus || b.hasFocus())))) && !!((((a.type || a.href)) || ~a.tabIndex))));\n                    },\n                    active: function(a) {\n                        return ((a === a.ownerDocument.activeElement));\n                    },\n                    first: ib(function() {\n                        return [0,];\n                    }),\n                    last: ib(function(a, b) {\n                        return [((b - 1)),];\n                    }),\n                    eq: ib(function(a, b, c) {\n                        return [((((c < 0)) ? ((c + b)) : c)),];\n                    }),\n                    even: ib(function(a, b) {\n                        for (var c = 0; ((c < b)); c += 2) {\n                            a.push(c);\n                        ;\n                        };\n                    ;\n                        return a;\n                    }),\n                    odd: ib(function(a, b) {\n                        for (var c = 1; ((c < b)); c += 2) {\n                            a.push(c);\n                        ;\n                        };\n                    ;\n                        return a;\n                    }),\n                    lt: ib(function(a, b, c) {\n                        for (var d = ((((c < 0)) ? ((c + b)) : c)); ((--d >= 0)); ) {\n                            a.push(d);\n                        ;\n                        };\n                    ;\n                        return a;\n                    }),\n                    gt: ib(function(a, b, c) {\n                        for (var d = ((((c < 0)) ? ((c + b)) : c)); ((++d < b)); ) {\n                            a.push(d);\n                        ;\n                        };\n                    ;\n                        return a;\n                    })\n                }\n            };\n            k = ((t.compareDocumentPosition ? function(a, b) {\n                if (((a === b))) {\n                    l = !0;\n                    return 0;\n                }\n            ;\n            ;\n                return ((((((!a.compareDocumentPosition || !b.compareDocumentPosition)) ? a.compareDocumentPosition : ((a.compareDocumentPosition(b) & 4)))) ? -1 : 1));\n            } : function(a, b) {\n                if (((a === b))) {\n                    l = !0;\n                    return 0;\n                }\n            ;\n            ;\n                if (((a.sourceIndex && b.sourceIndex))) {\n                    return ((a.sourceIndex - b.sourceIndex));\n                }\n            ;\n            ;\n                var c, d, e = [], f = [], g = a.parentNode, i = b.parentNode, j = g;\n                if (((g === i))) {\n                    return jb(a, b);\n                }\n            ;\n            ;\n                if (!g) {\n                    return -1;\n                }\n            ;\n            ;\n                if (!i) {\n                    return 1;\n                }\n            ;\n            ;\n                while (j) {\n                    e.unshift(j);\n                    j = j.parentNode;\n                };\n            ;\n                j = i;\n                while (j) {\n                    f.unshift(j);\n                    j = j.parentNode;\n                };\n            ;\n                c = e.length;\n                d = f.length;\n                for (var k = 0; ((((k < c)) && ((k < d)))); k++) {\n                    if (((e[k] !== f[k]))) {\n                        return jb(e[k], f[k]);\n                    }\n                ;\n                ;\n                };\n            ;\n                return ((((k === c)) ? jb(a, f[k], -1) : jb(e[k], b, 1)));\n            }));\n            [0,0,].sort(k);\n            n = !l;\n            fb.uniqueSort = function(a) {\n                var b, c = [], d = 1, e = 0;\n                l = n;\n                a.sort(k);\n                if (l) {\n                    for (; b = a[d]; d++) {\n                        ((((b === a[((d - 1))])) && (e = c.push(d))));\n                    ;\n                    };\n                ;\n                    while (e--) {\n                        a.splice(c[e], 1);\n                    ;\n                    };\n                ;\n                }\n            ;\n            ;\n                return a;\n            };\n            fb.error = function(a) {\n                throw new Error(((\"Syntax error, unrecognized expression: \" + a)));\n            };\n            j = fb.compile = function(a, b) {\n                var c, d = [], e = [], f = E[p][((a + \" \"))];\n                if (!f) {\n                    ((b || (b = kb(a))));\n                    c = b.length;\n                    while (c--) {\n                        f = pb(b[c]);\n                        ((f[p] ? d.push(f) : e.push(f)));\n                    };\n                ;\n                    f = E(a, qb(e, d));\n                }\n            ;\n            ;\n                return f;\n            };\n            ((s.querySelectorAll && function() {\n                var a, b = sb, c = /'|\\\\/g, d = /\\=[\\x20\\t\\r\\n\\f]*([^'\"\\]]*)[\\x20\\t\\r\\n\\f]*\\]/g, e = [\":focus\",], f = [\":active\",], i = ((((((((t.matchesSelector || t.mozMatchesSelector)) || t.webkitMatchesSelector)) || t.oMatchesSelector)) || t.msMatchesSelector));\n                Y(function(a) {\n                    a.innerHTML = \"\\u003Cselect\\u003E\\u003Coption selected=''\\u003E\\u003C/option\\u003E\\u003C/select\\u003E\";\n                    ((a.querySelectorAll(\"[selected]\").length || e.push(((((\"\\\\[\" + F)) + \"*(?:checked|disabled|ismap|multiple|readonly|selected|value)\")))));\n                    ((a.querySelectorAll(\":checked\").length || e.push(\":checked\")));\n                });\n                Y(function(a) {\n                    a.innerHTML = \"\\u003Cp test=''\\u003E\\u003C/p\\u003E\";\n                    ((a.querySelectorAll(\"[test^='']\").length && e.push(((((\"[*^$]=\" + F)) + \"*(?:\\\"\\\"|'')\")))));\n                    a.innerHTML = \"\\u003Cinput type='hidden'/\\u003E\";\n                    ((a.querySelectorAll(\":enabled\").length || e.push(\":enabled\", \":disabled\")));\n                });\n                e = new RegExp(e.join(\"|\"));\n                sb = function(a, d, f, g, i) {\n                    if (((((!g && !i)) && !e.test(a)))) {\n                        var j, k, l = !0, m = p, n = d, o = ((((d.nodeType === 9)) && a));\n                        if (((((d.nodeType === 1)) && ((d.nodeName.toLowerCase() !== \"object\"))))) {\n                            j = kb(a);\n                            (((l = d.getAttribute(\"id\")) ? m = l.replace(c, \"\\\\$&\") : d.setAttribute(\"id\", m)));\n                            m = ((((\"[id='\" + m)) + \"'] \"));\n                            k = j.length;\n                            while (k--) {\n                                j[k] = ((m + j[k].join(\"\")));\n                            ;\n                            };\n                        ;\n                            n = ((((S.test(a) && d.parentNode)) || d));\n                            o = j.join(\",\");\n                        }\n                    ;\n                    ;\n                        if (o) {\n                            try {\n                                x.apply(f, y.call(n.querySelectorAll(o), 0));\n                                return f;\n                            } catch (q) {\n                            \n                            } finally {\n                                ((l || d.removeAttribute(\"id\")));\n                            };\n                        }\n                    ;\n                    ;\n                    }\n                ;\n                ;\n                    return b(a, d, f, g, i);\n                };\n                if (i) {\n                    Y(function(b) {\n                        a = i.call(b, \"div\");\n                        try {\n                            i.call(b, \"[test!='']:sizzle\");\n                            f.push(\"!=\", K);\n                        } catch (c) {\n                        \n                        };\n                    ;\n                    });\n                    f = new RegExp(f.join(\"|\"));\n                    fb.matchesSelector = function(b, c) {\n                        c = c.replace(d, \"='$1']\");\n                        if (((((!g(b) && !f.test(c))) && !e.test(c)))) {\n                            try {\n                                var j = i.call(b, c);\n                                if (((((j || a)) || ((b.JSBNG__document && ((b.JSBNG__document.nodeType !== 11))))))) {\n                                    return j;\n                                }\n                            ;\n                            ;\n                            } catch (k) {\n                            \n                            };\n                        }\n                    ;\n                    ;\n                        return ((fb(c, null, null, [b,]).length > 0));\n                    };\n                }\n            ;\n            ;\n            }()));\n            e.pseudos.nth = e.pseudos.eq;\n            e.filters = tb.prototype = e.pseudos;\n            e.setFilters = new tb;\n            fb.attr = q.attr;\n            q.JSBNG__find = fb;\n            q.expr = fb.selectors;\n            q.expr[\":\"] = q.expr.pseudos;\n            q.unique = fb.uniqueSort;\n            q.text = fb.getText;\n            q.isXMLDoc = fb.isXML;\n            q.contains = fb.contains;\n        })(a);\n        var fb = /Until$/, gb = /^(?:parents|prev(?:Until|All))/, hb = /^.[^:#\\[\\.,]*$/, ib = q.expr.match.needsContext, jb = {\n            children: !0,\n            contents: !0,\n            next: !0,\n            prev: !0\n        };\n        q.fn.extend({\n            JSBNG__find: function(a) {\n                var b, c, d, e, f, g, i = this;\n                if (((typeof a != \"string\"))) {\n                    return q(a).filter(function() {\n                        for (b = 0, c = i.length; ((b < c)); b++) {\n                            if (q.contains(i[b], this)) {\n                                return !0;\n                            }\n                        ;\n                        ;\n                        };\n                    ;\n                    });\n                }\n            ;\n            ;\n                g = this.pushStack(\"\", \"JSBNG__find\", a);\n                for (b = 0, c = this.length; ((b < c)); b++) {\n                    d = g.length;\n                    q.JSBNG__find(a, this[b], g);\n                    if (((b > 0))) {\n                        for (e = d; ((e < g.length)); e++) {\n                            for (f = 0; ((f < d)); f++) {\n                                if (((g[f] === g[e]))) {\n                                    g.splice(e--, 1);\n                                    break;\n                                }\n                            ;\n                            ;\n                            };\n                        ;\n                        };\n                    }\n                ;\n                ;\n                };\n            ;\n                return g;\n            },\n            has: function(a) {\n                var b, c = q(a, this), d = c.length;\n                return this.filter(function() {\n                    for (b = 0; ((b < d)); b++) {\n                        if (q.contains(this, c[b])) {\n                            return !0;\n                        }\n                    ;\n                    ;\n                    };\n                ;\n                });\n            },\n            not: function(a) {\n                return this.pushStack(mb(this, a, !1), \"not\", a);\n            },\n            filter: function(a) {\n                return this.pushStack(mb(this, a, !0), \"filter\", a);\n            },\n            is: function(a) {\n                return ((!!a && ((((typeof a == \"string\")) ? ((ib.test(a) ? ((q(a, this.context).index(this[0]) >= 0)) : ((q.filter(a, this).length > 0)))) : ((this.filter(a).length > 0))))));\n            },\n            closest: function(a, b) {\n                var c, d = 0, e = this.length, f = [], g = ((((ib.test(a) || ((typeof a != \"string\")))) ? q(a, ((b || this.context))) : 0));\n                for (; ((d < e)); d++) {\n                    c = this[d];\n                    while (((((((c && c.ownerDocument)) && ((c !== b)))) && ((c.nodeType !== 11))))) {\n                        if (((g ? ((g.index(c) > -1)) : q.JSBNG__find.matchesSelector(c, a)))) {\n                            f.push(c);\n                            break;\n                        }\n                    ;\n                    ;\n                        c = c.parentNode;\n                    };\n                ;\n                };\n            ;\n                f = ((((f.length > 1)) ? q.unique(f) : f));\n                return this.pushStack(f, \"closest\", a);\n            },\n            index: function(a) {\n                return ((a ? ((((typeof a == \"string\")) ? q.inArray(this[0], q(a)) : q.inArray(((a.jquery ? a[0] : a)), this))) : ((((this[0] && this[0].parentNode)) ? this.prevAll().length : -1))));\n            },\n            add: function(a, b) {\n                var c = ((((typeof a == \"string\")) ? q(a, b) : q.makeArray(((((a && a.nodeType)) ? [a,] : a))))), d = q.merge(this.get(), c);\n                return this.pushStack(((((kb(c[0]) || kb(d[0]))) ? d : q.unique(d))));\n            },\n            addBack: function(a) {\n                return this.add(((((a == null)) ? this.prevObject : this.prevObject.filter(a))));\n            }\n        });\n        q.fn.andSelf = q.fn.addBack;\n        q.each({\n            parent: function(a) {\n                var b = a.parentNode;\n                return ((((b && ((b.nodeType !== 11)))) ? b : null));\n            },\n            parents: function(a) {\n                return q.dir(a, \"parentNode\");\n            },\n            parentsUntil: function(a, b, c) {\n                return q.dir(a, \"parentNode\", c);\n            },\n            next: function(a) {\n                return lb(a, \"nextSibling\");\n            },\n            prev: function(a) {\n                return lb(a, \"previousSibling\");\n            },\n            nextAll: function(a) {\n                return q.dir(a, \"nextSibling\");\n            },\n            prevAll: function(a) {\n                return q.dir(a, \"previousSibling\");\n            },\n            nextUntil: function(a, b, c) {\n                return q.dir(a, \"nextSibling\", c);\n            },\n            prevUntil: function(a, b, c) {\n                return q.dir(a, \"previousSibling\", c);\n            },\n            siblings: function(a) {\n                return q.sibling(((a.parentNode || {\n                })).firstChild, a);\n            },\n            children: function(a) {\n                return q.sibling(a.firstChild);\n            },\n            contents: function(a) {\n                return ((q.nodeName(a, \"div\") ? ((a.contentDocument || a.contentWindow.JSBNG__document)) : q.merge([], a.childNodes)));\n            }\n        }, function(a, b) {\n            q.fn[a] = function(c, d) {\n                var e = q.map(this, b, c);\n                ((fb.test(a) || (d = c)));\n                ((((d && ((typeof d == \"string\")))) && (e = q.filter(d, e))));\n                e = ((((((this.length > 1)) && !jb[a])) ? q.unique(e) : e));\n                ((((((this.length > 1)) && gb.test(a))) && (e = e.reverse())));\n                return this.pushStack(e, a, l.call(arguments).join(\",\"));\n            };\n        });\n        q.extend({\n            filter: function(a, b, c) {\n                ((c && (a = ((((\":not(\" + a)) + \")\")))));\n                return ((((b.length === 1)) ? ((q.JSBNG__find.matchesSelector(b[0], a) ? [b[0],] : [])) : q.JSBNG__find.matches(a, b)));\n            },\n            dir: function(a, c, d) {\n                var e = [], f = a[c];\n                while (((((f && ((f.nodeType !== 9)))) && ((((((d === b)) || ((f.nodeType !== 1)))) || !q(f).is(d)))))) {\n                    ((((f.nodeType === 1)) && e.push(f)));\n                    f = f[c];\n                };\n            ;\n                return e;\n            },\n            sibling: function(a, b) {\n                var c = [];\n                for (; a; a = a.nextSibling) {\n                    ((((((a.nodeType === 1)) && ((a !== b)))) && c.push(a)));\n                ;\n                };\n            ;\n                return c;\n            }\n        });\n        var ob = \"abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video\", pb = / jQuery\\d+=\"(?:null|\\d+)\"/g, qb = /^\\s+/, rb = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\\w:]+)[^>]*)\\/>/gi, sb = /<([\\w:]+)/, tb = /<tbody/i, ub = /<|&#?\\w+;/, vb = /<(?:script|style|link)/i, wb = /<(?:script|object|embed|option|style)/i, xb = new RegExp(((((\"\\u003C(?:\" + ob)) + \")[\\\\s/\\u003E]\")), \"i\"), yb = /^(?:checkbox|radio)$/, zb = /checked\\s*(?:[^=]|=\\s*.checked.)/i, Ab = /\\/(java|ecma)script/i, Bb = /^\\s*<!(?:\\[CDATA\\[|\\-\\-)|[\\]\\-]{2}>\\s*$/g, Cb = {\n            option: [1,\"\\u003Cselect multiple='multiple'\\u003E\",\"\\u003C/select\\u003E\",],\n            legend: [1,\"\\u003Cfieldset\\u003E\",\"\\u003C/fieldset\\u003E\",],\n            thead: [1,\"\\u003Ctable\\u003E\",\"\\u003C/table\\u003E\",],\n            tr: [2,\"\\u003Ctable\\u003E\\u003Ctbody\\u003E\",\"\\u003C/tbody\\u003E\\u003C/table\\u003E\",],\n            td: [3,\"\\u003Ctable\\u003E\\u003Ctbody\\u003E\\u003Ctr\\u003E\",\"\\u003C/tr\\u003E\\u003C/tbody\\u003E\\u003C/table\\u003E\",],\n            col: [2,\"\\u003Ctable\\u003E\\u003Ctbody\\u003E\\u003C/tbody\\u003E\\u003Ccolgroup\\u003E\",\"\\u003C/colgroup\\u003E\\u003C/table\\u003E\",],\n            area: [1,\"\\u003Cmap\\u003E\",\"\\u003C/map\\u003E\",],\n            _default: [0,\"\",\"\",]\n        }, Db = nb(e), Eb = Db.appendChild(e.createElement(\"div\"));\n        Cb.optgroup = Cb.option;\n        Cb.tbody = Cb.tfoot = Cb.colgroup = Cb.caption = Cb.thead;\n        Cb.th = Cb.td;\n        ((q.support.htmlSerialize || (Cb._default = [1,\"X\\u003Cdiv\\u003E\",\"\\u003C/div\\u003E\",])));\n        q.fn.extend({\n            text: function(a) {\n                return q.access(this, function(a) {\n                    return ((((a === b)) ? q.text(this) : this.empty().append(((((this[0] && this[0].ownerDocument)) || e)).createTextNode(a))));\n                }, null, a, arguments.length);\n            },\n            wrapAll: function(a) {\n                if (q.isFunction(a)) {\n                    return this.each(function(b) {\n                        q(this).wrapAll(a.call(this, b));\n                    });\n                }\n            ;\n            ;\n                if (this[0]) {\n                    var b = q(a, this[0].ownerDocument).eq(0).clone(!0);\n                    ((this[0].parentNode && b.insertBefore(this[0])));\n                    b.map(function() {\n                        var a = this;\n                        while (((a.firstChild && ((a.firstChild.nodeType === 1))))) {\n                            a = a.firstChild;\n                        ;\n                        };\n                    ;\n                        return a;\n                    }).append(this);\n                }\n            ;\n            ;\n                return this;\n            },\n            wrapInner: function(a) {\n                return ((q.isFunction(a) ? this.each(function(b) {\n                    q(this).wrapInner(a.call(this, b));\n                }) : this.each(function() {\n                    var b = q(this), c = b.contents();\n                    ((c.length ? c.wrapAll(a) : b.append(a)));\n                })));\n            },\n            wrap: function(a) {\n                var b = q.isFunction(a);\n                return this.each(function(c) {\n                    q(this).wrapAll(((b ? a.call(this, c) : a)));\n                });\n            },\n            unwrap: function() {\n                return this.parent().each(function() {\n                    ((q.nodeName(this, \"body\") || q(this).replaceWith(this.childNodes)));\n                }).end();\n            },\n            append: function() {\n                return this.domManip(arguments, !0, function(a) {\n                    ((((((this.nodeType === 1)) || ((this.nodeType === 11)))) && this.appendChild(a)));\n                });\n            },\n            prepend: function() {\n                return this.domManip(arguments, !0, function(a) {\n                    ((((((this.nodeType === 1)) || ((this.nodeType === 11)))) && this.insertBefore(a, this.firstChild)));\n                });\n            },\n            before: function() {\n                if (!kb(this[0])) {\n                    return this.domManip(arguments, !1, function(a) {\n                        this.parentNode.insertBefore(a, this);\n                    });\n                }\n            ;\n            ;\n                if (arguments.length) {\n                    var a = q.clean(arguments);\n                    return this.pushStack(q.merge(a, this), \"before\", this.selector);\n                }\n            ;\n            ;\n            },\n            after: function() {\n                if (!kb(this[0])) {\n                    return this.domManip(arguments, !1, function(a) {\n                        this.parentNode.insertBefore(a, this.nextSibling);\n                    });\n                }\n            ;\n            ;\n                if (arguments.length) {\n                    var a = q.clean(arguments);\n                    return this.pushStack(q.merge(this, a), \"after\", this.selector);\n                }\n            ;\n            ;\n            },\n            remove: function(a, b) {\n                var c, d = 0;\n                for (; (((c = this[d]) != null)); d++) {\n                    if (((!a || q.filter(a, [c,]).length))) {\n                        if (((!b && ((c.nodeType === 1))))) {\n                            q.cleanData(c.getElementsByTagName(\"*\"));\n                            q.cleanData([c,]);\n                        }\n                    ;\n                    ;\n                        ((c.parentNode && c.parentNode.removeChild(c)));\n                    }\n                ;\n                ;\n                };\n            ;\n                return this;\n            },\n            empty: function() {\n                var a, b = 0;\n                for (; (((a = this[b]) != null)); b++) {\n                    ((((a.nodeType === 1)) && q.cleanData(a.getElementsByTagName(\"*\"))));\n                    while (a.firstChild) {\n                        a.removeChild(a.firstChild);\n                    ;\n                    };\n                ;\n                };\n            ;\n                return this;\n            },\n            clone: function(a, b) {\n                a = ((((a == null)) ? !1 : a));\n                b = ((((b == null)) ? a : b));\n                return this.map(function() {\n                    return q.clone(this, a, b);\n                });\n            },\n            html: function(a) {\n                return q.access(this, function(a) {\n                    var c = ((this[0] || {\n                    })), d = 0, e = this.length;\n                    if (((a === b))) {\n                        return ((((c.nodeType === 1)) ? c.innerHTML.replace(pb, \"\") : b));\n                    }\n                ;\n                ;\n                    if (((((((((((typeof a == \"string\")) && !vb.test(a))) && ((q.support.htmlSerialize || !xb.test(a))))) && ((q.support.leadingWhitespace || !qb.test(a))))) && !Cb[((sb.exec(a) || [\"\",\"\",]))[1].toLowerCase()]))) {\n                        a = a.replace(rb, \"\\u003C$1\\u003E\\u003C/$2\\u003E\");\n                        try {\n                            for (; ((d < e)); d++) {\n                                c = ((this[d] || {\n                                }));\n                                if (((c.nodeType === 1))) {\n                                    q.cleanData(c.getElementsByTagName(\"*\"));\n                                    c.innerHTML = a;\n                                }\n                            ;\n                            ;\n                            };\n                        ;\n                            c = 0;\n                        } catch (f) {\n                        \n                        };\n                    ;\n                    }\n                ;\n                ;\n                    ((c && this.empty().append(a)));\n                }, null, a, arguments.length);\n            },\n            replaceWith: function(a) {\n                if (!kb(this[0])) {\n                    if (q.isFunction(a)) {\n                        return this.each(function(b) {\n                            var c = q(this), d = c.html();\n                            c.replaceWith(a.call(this, b, d));\n                        });\n                    }\n                ;\n                ;\n                    ((((typeof a != \"string\")) && (a = q(a).detach())));\n                    return this.each(function() {\n                        var b = this.nextSibling, c = this.parentNode;\n                        q(this).remove();\n                        ((b ? q(b).before(a) : q(c).append(a)));\n                    });\n                }\n            ;\n            ;\n                return ((this.length ? this.pushStack(q(((q.isFunction(a) ? a() : a))), \"replaceWith\", a) : this));\n            },\n            detach: function(a) {\n                return this.remove(a, !0);\n            },\n            domManip: function(a, c, d) {\n                a = [].concat.apply([], a);\n                var e, f, g, i, j = 0, k = a[0], l = [], m = this.length;\n                if (((((((!q.support.checkClone && ((m > 1)))) && ((typeof k == \"string\")))) && zb.test(k)))) {\n                    return this.each(function() {\n                        q(this).domManip(a, c, d);\n                    });\n                }\n            ;\n            ;\n                if (q.isFunction(k)) {\n                    return this.each(function(e) {\n                        var f = q(this);\n                        a[0] = k.call(this, e, ((c ? f.html() : b)));\n                        f.domManip(a, c, d);\n                    });\n                }\n            ;\n            ;\n                if (this[0]) {\n                    e = q.buildFragment(a, this, l);\n                    g = e.fragment;\n                    f = g.firstChild;\n                    ((((g.childNodes.length === 1)) && (g = f)));\n                    if (f) {\n                        c = ((c && q.nodeName(f, \"tr\")));\n                        for (i = ((e.cacheable || ((m - 1)))); ((j < m)); j++) {\n                            d.call(((((c && q.nodeName(this[j], \"table\"))) ? Fb(this[j], \"tbody\") : this[j])), ((((j === i)) ? g : q.clone(g, !0, !0))));\n                        ;\n                        };\n                    ;\n                    }\n                ;\n                ;\n                    g = f = null;\n                    ((l.length && q.each(l, function(a, b) {\n                        ((b.src ? ((q.ajax ? q.ajax({\n                            url: b.src,\n                            type: \"GET\",\n                            dataType: \"script\",\n                            async: !1,\n                            global: !1,\n                            throws: !0\n                        }) : q.error(\"no ajax\"))) : q.globalEval(((((((b.text || b.textContent)) || b.innerHTML)) || \"\")).replace(Bb, \"\"))));\n                        ((b.parentNode && b.parentNode.removeChild(b)));\n                    })));\n                }\n            ;\n            ;\n                return this;\n            }\n        });\n        q.buildFragment = function(a, c, d) {\n            var f, g, i, j = a[0];\n            c = ((c || e));\n            c = ((((!c.nodeType && c[0])) || c));\n            c = ((c.ownerDocument || c));\n            if (((((((((((((((((a.length === 1)) && ((typeof j == \"string\")))) && ((j.length < 512)))) && ((c === e)))) && ((j.charAt(0) === \"\\u003C\")))) && !wb.test(j))) && ((q.support.checkClone || !zb.test(j))))) && ((q.support.html5Clone || !xb.test(j)))))) {\n                g = !0;\n                f = q.fragments[j];\n                i = ((f !== b));\n            }\n        ;\n        ;\n            if (!f) {\n                f = c.createDocumentFragment();\n                q.clean(a, c, f, d);\n                ((g && (q.fragments[j] = ((i && f)))));\n            }\n        ;\n        ;\n            return {\n                fragment: f,\n                cacheable: g\n            };\n        };\n        q.fragments = {\n        };\n        q.each({\n            appendTo: \"append\",\n            prependTo: \"prepend\",\n            insertBefore: \"before\",\n            insertAfter: \"after\",\n            replaceAll: \"replaceWith\"\n        }, function(a, b) {\n            q.fn[a] = function(c) {\n                var d, e = 0, f = [], g = q(c), i = g.length, j = ((((this.length === 1)) && this[0].parentNode));\n                if (((((((j == null)) || ((((j && ((j.nodeType === 11)))) && ((j.childNodes.length === 1)))))) && ((i === 1))))) {\n                    g[b](this[0]);\n                    return this;\n                }\n            ;\n            ;\n                for (; ((e < i)); e++) {\n                    d = ((((e > 0)) ? this.clone(!0) : this)).get();\n                    q(g[e])[b](d);\n                    f = f.concat(d);\n                };\n            ;\n                return this.pushStack(f, a, g.selector);\n            };\n        });\n        q.extend({\n            clone: function(a, b, c) {\n                var d, e, f, g;\n                if (((((q.support.html5Clone || q.isXMLDoc(a))) || !xb.test(((((\"\\u003C\" + a.nodeName)) + \"\\u003E\")))))) g = a.cloneNode(!0);\n                 else {\n                    Eb.innerHTML = a.outerHTML;\n                    Eb.removeChild(g = Eb.firstChild);\n                }\n            ;\n            ;\n                if (((((((!q.support.noCloneEvent || !q.support.noCloneChecked)) && ((((a.nodeType === 1)) || ((a.nodeType === 11)))))) && !q.isXMLDoc(a)))) {\n                    Hb(a, g);\n                    d = Ib(a);\n                    e = Ib(g);\n                    for (f = 0; d[f]; ++f) {\n                        ((e[f] && Hb(d[f], e[f])));\n                    ;\n                    };\n                ;\n                }\n            ;\n            ;\n                if (b) {\n                    Gb(a, g);\n                    if (c) {\n                        d = Ib(a);\n                        e = Ib(g);\n                        for (f = 0; d[f]; ++f) {\n                            Gb(d[f], e[f]);\n                        ;\n                        };\n                    ;\n                    }\n                ;\n                ;\n                }\n            ;\n            ;\n                d = e = null;\n                return g;\n            },\n            clean: function(a, b, c, d) {\n                var f, g, i, j, k, l, m, n, o, p, r, s, t = ((((b === e)) && Db)), u = [];\n                if (((!b || ((typeof b.createDocumentFragment == \"undefined\"))))) {\n                    b = e;\n                }\n            ;\n            ;\n                for (f = 0; (((i = a[f]) != null)); f++) {\n                    ((((typeof i == \"number\")) && (i += \"\")));\n                    if (!i) {\n                        continue;\n                    }\n                ;\n                ;\n                    if (((typeof i == \"string\"))) {\n                        if (!ub.test(i)) i = b.createTextNode(i);\n                         else {\n                            t = ((t || nb(b)));\n                            m = b.createElement(\"div\");\n                            t.appendChild(m);\n                            i = i.replace(rb, \"\\u003C$1\\u003E\\u003C/$2\\u003E\");\n                            j = ((sb.exec(i) || [\"\",\"\",]))[1].toLowerCase();\n                            k = ((Cb[j] || Cb._default));\n                            l = k[0];\n                            m.innerHTML = ((((k[1] + i)) + k[2]));\n                            while (l--) {\n                                m = m.lastChild;\n                            ;\n                            };\n                        ;\n                            if (!q.support.tbody) {\n                                n = tb.test(i);\n                                o = ((((((j === \"table\")) && !n)) ? ((m.firstChild && m.firstChild.childNodes)) : ((((((k[1] === \"\\u003Ctable\\u003E\")) && !n)) ? m.childNodes : []))));\n                                for (g = ((o.length - 1)); ((g >= 0)); --g) {\n                                    ((((q.nodeName(o[g], \"tbody\") && !o[g].childNodes.length)) && o[g].parentNode.removeChild(o[g])));\n                                ;\n                                };\n                            ;\n                            }\n                        ;\n                        ;\n                            ((((!q.support.leadingWhitespace && qb.test(i))) && m.insertBefore(b.createTextNode(qb.exec(i)[0]), m.firstChild)));\n                            i = m.childNodes;\n                            m.parentNode.removeChild(m);\n                        }\n                    ;\n                    }\n                ;\n                ;\n                    ((i.nodeType ? u.push(i) : q.merge(u, i)));\n                };\n            ;\n                ((m && (i = m = t = null)));\n                if (!q.support.appendChecked) {\n                    for (f = 0; (((i = u[f]) != null)); f++) {\n                        ((q.nodeName(i, \"input\") ? Jb(i) : ((((typeof i.getElementsByTagName != \"undefined\")) && q.grep(i.getElementsByTagName(\"input\"), Jb)))));\n                    ;\n                    };\n                }\n            ;\n            ;\n                if (c) {\n                    r = function(a) {\n                        if (((!a.type || Ab.test(a.type)))) {\n                            return ((d ? d.push(((a.parentNode ? a.parentNode.removeChild(a) : a))) : c.appendChild(a)));\n                        }\n                    ;\n                    ;\n                    };\n                    for (f = 0; (((i = u[f]) != null)); f++) {\n                        if (((!q.nodeName(i, \"script\") || !r(i)))) {\n                            c.appendChild(i);\n                            if (((typeof i.getElementsByTagName != \"undefined\"))) {\n                                s = q.grep(q.merge([], i.getElementsByTagName(\"script\")), r);\n                                u.splice.apply(u, [((f + 1)),0,].concat(s));\n                                f += s.length;\n                            }\n                        ;\n                        ;\n                        }\n                    ;\n                    ;\n                    };\n                ;\n                }\n            ;\n            ;\n                return u;\n            },\n            cleanData: function(a, b) {\n                var c, d, e, f, g = 0, i = q.expando, j = q.cache, k = q.support.deleteExpando, l = q.JSBNG__event.special;\n                for (; (((e = a[g]) != null)); g++) {\n                    if (((b || q.acceptData(e)))) {\n                        d = e[i];\n                        c = ((d && j[d]));\n                        if (c) {\n                            if (c.events) {\n                                {\n                                    var fin27keys = ((window.top.JSBNG_Replay.forInKeys)((c.events))), fin27i = (0);\n                                    (0);\n                                    for (; (fin27i < fin27keys.length); (fin27i++)) {\n                                        ((f) = (fin27keys[fin27i]));\n                                        {\n                                            ((l[f] ? q.JSBNG__event.remove(e, f) : q.removeEvent(e, f, c.handle)));\n                                        ;\n                                        };\n                                    };\n                                };\n                            }\n                        ;\n                        ;\n                            if (j[d]) {\n                                delete j[d];\n                                ((k ? delete e[i] : ((e.removeAttribute ? e.removeAttribute(i) : e[i] = null))));\n                                q.deletedIds.push(d);\n                            }\n                        ;\n                        ;\n                        }\n                    ;\n                    ;\n                    }\n                ;\n                ;\n                };\n            ;\n            }\n        });\n        (function() {\n            var a, b;\n            q.uaMatch = function(a) {\n                a = a.toLowerCase();\n                var b = ((((((((((/(chrome)[ \\/]([\\w.]+)/.exec(a) || /(webkit)[ \\/]([\\w.]+)/.exec(a))) || /(opera)(?:.*version|)[ \\/]([\\w.]+)/.exec(a))) || /(msie) ([\\w.]+)/.exec(a))) || ((((a.indexOf(\"compatible\") < 0)) && /(mozilla)(?:.*? rv:([\\w.]+)|)/.exec(a))))) || []));\n                return {\n                    browser: ((b[1] || \"\")),\n                    version: ((b[2] || \"0\"))\n                };\n            };\n            a = q.uaMatch(g.userAgent);\n            b = {\n            };\n            if (a.browser) {\n                b[a.browser] = !0;\n                b.version = a.version;\n            }\n        ;\n        ;\n            ((b.chrome ? b.webkit = !0 : ((b.webkit && (b.safari = !0)))));\n            q.browser = b;\n            q.sub = function() {\n                function a(b, c) {\n                    return new a.fn.init(b, c);\n                };\n            ;\n                q.extend(!0, a, this);\n                a.superclass = this;\n                a.fn = a.prototype = this();\n                a.fn.constructor = a;\n                a.sub = this.sub;\n                a.fn.init = function(d, e) {\n                    ((((((e && ((e instanceof q)))) && !((e instanceof a)))) && (e = a(e))));\n                    return q.fn.init.call(this, d, e, b);\n                };\n                a.fn.init.prototype = a.fn;\n                var b = a(e);\n                return a;\n            };\n        })();\n        var Kb, Lb, Mb, Nb = /alpha\\([^)]*\\)/i, Ob = /opacity=([^)]*)/, Pb = /^(top|right|bottom|left)$/, Qb = /^(none|table(?!-c[ea]).+)/, Rb = /^margin/, Sb = new RegExp(((((\"^(\" + r)) + \")(.*)$\")), \"i\"), Tb = new RegExp(((((\"^(\" + r)) + \")(?!px)[a-z%]+$\")), \"i\"), Ub = new RegExp(((((\"^([-+])=(\" + r)) + \")\")), \"i\"), Vb = {\n            BODY: \"block\"\n        }, Wb = {\n            position: \"absolute\",\n            visibility: \"hidden\",\n            display: \"block\"\n        }, Xb = {\n            letterSpacing: 0,\n            fontWeight: 400\n        }, Yb = [\"Top\",\"Right\",\"Bottom\",\"Left\",], Zb = [\"Webkit\",\"O\",\"Moz\",\"ms\",], $b = q.fn.toggle;\n        q.fn.extend({\n            css: function(a, c) {\n                return q.access(this, function(a, c, d) {\n                    return ((((d !== b)) ? q.style(a, c, d) : q.css(a, c)));\n                }, a, c, ((arguments.length > 1)));\n            },\n            show: function() {\n                return bc(this, !0);\n            },\n            hide: function() {\n                return bc(this);\n            },\n            toggle: function(a, b) {\n                var c = ((typeof a == \"boolean\"));\n                return ((((q.isFunction(a) && q.isFunction(b))) ? $b.apply(this, arguments) : this.each(function() {\n                    ((((c ? a : ac(this))) ? q(this).show() : q(this).hide()));\n                })));\n            }\n        });\n        q.extend({\n            cssHooks: {\n                opacity: {\n                    get: function(a, b) {\n                        if (b) {\n                            var c = Kb(a, \"opacity\");\n                            return ((((c === \"\")) ? \"1\" : c));\n                        }\n                    ;\n                    ;\n                    }\n                }\n            },\n            cssNumber: {\n                fillOpacity: !0,\n                fontWeight: !0,\n                lineHeight: !0,\n                opacity: !0,\n                orphans: !0,\n                widows: !0,\n                zIndex: !0,\n                zoom: !0\n            },\n            cssProps: {\n                float: ((q.support.cssFloat ? \"cssFloat\" : \"styleFloat\"))\n            },\n            style: function(a, c, d, e) {\n                if (((((((!a || ((a.nodeType === 3)))) || ((a.nodeType === 8)))) || !a.style))) {\n                    return;\n                }\n            ;\n            ;\n                var f, g, i, j = q.camelCase(c), k = a.style;\n                c = ((q.cssProps[j] || (q.cssProps[j] = _b(k, j))));\n                i = ((q.cssHooks[c] || q.cssHooks[j]));\n                if (((d === b))) {\n                    return ((((((i && ((\"get\" in i)))) && (((f = i.get(a, !1, e)) !== b)))) ? f : k[c]));\n                }\n            ;\n            ;\n                g = typeof d;\n                if (((((g === \"string\")) && (f = Ub.exec(d))))) {\n                    d = ((((((f[1] + 1)) * f[2])) + parseFloat(q.css(a, c))));\n                    g = \"number\";\n                }\n            ;\n            ;\n                if (((((d == null)) || ((((g === \"number\")) && isNaN(d)))))) {\n                    return;\n                }\n            ;\n            ;\n                ((((((g === \"number\")) && !q.cssNumber[j])) && (d += \"px\")));\n                if (((((!i || !((\"set\" in i)))) || (((d = i.set(a, d, e)) !== b))))) {\n                    try {\n                        k[c] = d;\n                    } catch (l) {\n                    \n                    };\n                }\n            ;\n            ;\n            },\n            css: function(a, c, d, e) {\n                var f, g, i, j = q.camelCase(c);\n                c = ((q.cssProps[j] || (q.cssProps[j] = _b(a.style, j))));\n                i = ((q.cssHooks[c] || q.cssHooks[j]));\n                ((((i && ((\"get\" in i)))) && (f = i.get(a, !0, e))));\n                ((((f === b)) && (f = Kb(a, c))));\n                ((((((f === \"normal\")) && ((c in Xb)))) && (f = Xb[c])));\n                if (((d || ((e !== b))))) {\n                    g = parseFloat(f);\n                    return ((((d || q.isNumeric(g))) ? ((g || 0)) : f));\n                }\n            ;\n            ;\n                return f;\n            },\n            swap: function(a, b, c) {\n                var d, e, f = {\n                };\n                {\n                    var fin28keys = ((window.top.JSBNG_Replay.forInKeys)((b))), fin28i = (0);\n                    (0);\n                    for (; (fin28i < fin28keys.length); (fin28i++)) {\n                        ((e) = (fin28keys[fin28i]));\n                        {\n                            f[e] = a.style[e];\n                            a.style[e] = b[e];\n                        };\n                    };\n                };\n            ;\n                d = c.call(a);\n                {\n                    var fin29keys = ((window.top.JSBNG_Replay.forInKeys)((b))), fin29i = (0);\n                    (0);\n                    for (; (fin29i < fin29keys.length); (fin29i++)) {\n                        ((e) = (fin29keys[fin29i]));\n                        {\n                            a.style[e] = f[e];\n                        ;\n                        };\n                    };\n                };\n            ;\n                return d;\n            }\n        });\n        ((a.JSBNG__getComputedStyle ? Kb = function(b, c) {\n            var d, e, f, g, i = a.JSBNG__getComputedStyle(b, null), j = b.style;\n            if (i) {\n                d = ((i.getPropertyValue(c) || i[c]));\n                ((((((d === \"\")) && !q.contains(b.ownerDocument, b))) && (d = q.style(b, c))));\n                if (((Tb.test(d) && Rb.test(c)))) {\n                    e = j.width;\n                    f = j.minWidth;\n                    g = j.maxWidth;\n                    j.minWidth = j.maxWidth = j.width = d;\n                    d = i.width;\n                    j.width = e;\n                    j.minWidth = f;\n                    j.maxWidth = g;\n                }\n            ;\n            ;\n            }\n        ;\n        ;\n            return d;\n        } : ((e.documentElement.currentStyle && (Kb = function(a, b) {\n            var c, d, e = ((a.currentStyle && a.currentStyle[b])), f = a.style;\n            ((((((((e == null)) && f)) && f[b])) && (e = f[b])));\n            if (((Tb.test(e) && !Pb.test(b)))) {\n                c = f.left;\n                d = ((a.runtimeStyle && a.runtimeStyle.left));\n                ((d && (a.runtimeStyle.left = a.currentStyle.left)));\n                f.left = ((((b === \"fontSize\")) ? \"1em\" : e));\n                e = ((f.pixelLeft + \"px\"));\n                f.left = c;\n                ((d && (a.runtimeStyle.left = d)));\n            }\n        ;\n        ;\n            return ((((e === \"\")) ? \"auto\" : e));\n        })))));\n        q.each([\"height\",\"width\",], function(a, b) {\n            q.cssHooks[b] = {\n                get: function(a, c, d) {\n                    if (c) {\n                        return ((((((a.offsetWidth === 0)) && Qb.test(Kb(a, \"display\")))) ? q.swap(a, Wb, function() {\n                            return ec(a, b, d);\n                        }) : ec(a, b, d)));\n                    }\n                ;\n                ;\n                },\n                set: function(a, c, d) {\n                    return cc(a, c, ((d ? dc(a, b, d, ((q.support.boxSizing && ((q.css(a, \"boxSizing\") === \"border-box\"))))) : 0)));\n                }\n            };\n        });\n        ((q.support.opacity || (q.cssHooks.opacity = {\n            get: function(a, b) {\n                return ((Ob.test(((((((b && a.currentStyle)) ? a.currentStyle.filter : a.style.filter)) || \"\"))) ? ((((77546 * parseFloat(RegExp.$1))) + \"\")) : ((b ? \"1\" : \"\"))));\n            },\n            set: function(a, b) {\n                var c = a.style, d = a.currentStyle, e = ((q.isNumeric(b) ? ((((\"alpha(opacity=\" + ((b * 100)))) + \")\")) : \"\")), f = ((((((d && d.filter)) || c.filter)) || \"\"));\n                c.zoom = 1;\n                if (((((((b >= 1)) && ((q.trim(f.replace(Nb, \"\")) === \"\")))) && c.removeAttribute))) {\n                    c.removeAttribute(\"filter\");\n                    if (((d && !d.filter))) {\n                        return;\n                    }\n                ;\n                ;\n                }\n            ;\n            ;\n                c.filter = ((Nb.test(f) ? f.replace(Nb, e) : ((((f + \" \")) + e))));\n            }\n        })));\n        q(function() {\n            ((q.support.reliableMarginRight || (q.cssHooks.marginRight = {\n                get: function(a, b) {\n                    return q.swap(a, {\n                        display: \"inline-block\"\n                    }, function() {\n                        if (b) {\n                            return Kb(a, \"marginRight\");\n                        }\n                    ;\n                    ;\n                    });\n                }\n            })));\n            ((((!q.support.pixelPosition && q.fn.position)) && q.each([\"JSBNG__top\",\"left\",], function(a, b) {\n                q.cssHooks[b] = {\n                    get: function(a, c) {\n                        if (c) {\n                            var d = Kb(a, b);\n                            return ((Tb.test(d) ? ((q(a).position()[b] + \"px\")) : d));\n                        }\n                    ;\n                    ;\n                    }\n                };\n            })));\n        });\n        if (((q.expr && q.expr.filters))) {\n            q.expr.filters.hidden = function(a) {\n                return ((((((a.offsetWidth === 0)) && ((a.offsetHeight === 0)))) || ((!q.support.reliableHiddenOffsets && ((((((a.style && a.style.display)) || Kb(a, \"display\"))) === \"none\"))))));\n            };\n            q.expr.filters.visible = function(a) {\n                return !q.expr.filters.hidden(a);\n            };\n        }\n    ;\n    ;\n        q.each({\n            margin: \"\",\n            padding: \"\",\n            border: \"Width\"\n        }, function(a, b) {\n            q.cssHooks[((a + b))] = {\n                expand: function(c) {\n                    var d, e = ((((typeof c == \"string\")) ? c.split(\" \") : [c,])), f = {\n                    };\n                    for (d = 0; ((d < 4)); d++) {\n                        f[((((a + Yb[d])) + b))] = ((((e[d] || e[((d - 2))])) || e[0]));\n                    ;\n                    };\n                ;\n                    return f;\n                }\n            };\n            ((Rb.test(a) || (q.cssHooks[((a + b))].set = cc)));\n        });\n        var gc = /%20/g, hc = /\\[\\]$/, ic = /\\r?\\n/g, jc = /^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i, kc = /^(?:select|textarea)/i;\n        q.fn.extend({\n            serialize: function() {\n                return q.param(this.serializeArray());\n            },\n            serializeArray: function() {\n                return this.map(function() {\n                    return ((this.elements ? q.makeArray(this.elements) : this));\n                }).filter(function() {\n                    return ((((this.JSBNG__name && !this.disabled)) && ((((this.checked || kc.test(this.nodeName))) || jc.test(this.type)))));\n                }).map(function(a, b) {\n                    var c = q(this).val();\n                    return ((((c == null)) ? null : ((q.isArray(c) ? q.map(c, function(a, c) {\n                        return {\n                            JSBNG__name: b.JSBNG__name,\n                            value: a.replace(ic, \"\\u000d\\u000a\")\n                        };\n                    }) : {\n                        JSBNG__name: b.JSBNG__name,\n                        value: c.replace(ic, \"\\u000d\\u000a\")\n                    }))));\n                }).get();\n            }\n        });\n        q.param = function(a, c) {\n            var d, e = [], f = function(a, b) {\n                b = ((q.isFunction(b) ? b() : ((((b == null)) ? \"\" : b))));\n                e[e.length] = ((((encodeURIComponent(a) + \"=\")) + encodeURIComponent(b)));\n            };\n            ((((c === b)) && (c = ((q.ajaxSettings && q.ajaxSettings.traditional)))));\n            if (((q.isArray(a) || ((a.jquery && !q.isPlainObject(a)))))) {\n                q.each(a, function() {\n                    f(this.JSBNG__name, this.value);\n                });\n            }\n             else {\n                {\n                    var fin30keys = ((window.top.JSBNG_Replay.forInKeys)((a))), fin30i = (0);\n                    (0);\n                    for (; (fin30i < fin30keys.length); (fin30i++)) {\n                        ((d) = (fin30keys[fin30i]));\n                        {\n                            lc(d, a[d], c, f);\n                        ;\n                        };\n                    };\n                };\n            }\n        ;\n        ;\n            return e.join(\"&\").replace(gc, \"+\");\n        };\n        var mc, nc, oc = /#.*$/, pc = /^(.*?):[ \\t]*([^\\r\\n]*)\\r?$/gm, qc = /^(?:about|app|app\\-storage|.+\\-extension|file|res|widget):$/, rc = /^(?:GET|HEAD)$/, sc = /^\\/\\//, tc = /\\?/, uc = /<script\\b[^<]*(?:(?!<\\/script>)<[^<]*)*<\\/script>/gi, vc = /([?&])_=[^&]*/, wc = /^([\\w\\+\\.\\-]+:)(?:\\/\\/([^\\/?#:]*)(?::(\\d+)|)|)/, xc = q.fn.load, yc = {\n        }, zc = {\n        }, Ac = (([\"*/\",] + [\"*\",]));\n        try {\n            nc = f.href;\n        } catch (Bc) {\n            nc = e.createElement(\"a\");\n            nc.href = \"\";\n            nc = nc.href;\n        };\n    ;\n        mc = ((wc.exec(nc.toLowerCase()) || []));\n        q.fn.load = function(a, c, d) {\n            if (((((typeof a != \"string\")) && xc))) {\n                return xc.apply(this, arguments);\n            }\n        ;\n        ;\n            if (!this.length) {\n                return this;\n            }\n        ;\n        ;\n            var e, f, g, i = this, j = a.indexOf(\" \");\n            if (((j >= 0))) {\n                e = a.slice(j, a.length);\n                a = a.slice(0, j);\n            }\n        ;\n        ;\n            if (q.isFunction(c)) {\n                d = c;\n                c = b;\n            }\n             else ((((c && ((typeof c == \"object\")))) && (f = \"POST\")));\n        ;\n        ;\n            q.ajax({\n                url: a,\n                type: f,\n                dataType: \"html\",\n                data: c,\n                complete: function(a, b) {\n                    ((d && i.each(d, ((g || [a.responseText,b,a,])))));\n                }\n            }).done(function(a) {\n                g = arguments;\n                i.html(((e ? q(\"\\u003Cdiv\\u003E\").append(a.replace(uc, \"\")).JSBNG__find(e) : a)));\n            });\n            return this;\n        };\n        q.each(\"ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend\".split(\" \"), function(a, b) {\n            q.fn[b] = function(a) {\n                return this.JSBNG__on(b, a);\n            };\n        });\n        q.each([\"get\",\"post\",], function(a, c) {\n            q[c] = function(a, d, e, f) {\n                if (q.isFunction(d)) {\n                    f = ((f || e));\n                    e = d;\n                    d = b;\n                }\n            ;\n            ;\n                return q.ajax({\n                    type: c,\n                    url: a,\n                    data: d,\n                    success: e,\n                    dataType: f\n                });\n            };\n        });\n        q.extend({\n            getScript: function(a, c) {\n                return q.get(a, b, c, \"script\");\n            },\n            getJSON: function(a, b, c) {\n                return q.get(a, b, c, \"json\");\n            },\n            ajaxSetup: function(a, b) {\n                if (b) Ec(a, q.ajaxSettings);\n                 else {\n                    b = a;\n                    a = q.ajaxSettings;\n                }\n            ;\n            ;\n                Ec(a, b);\n                return a;\n            },\n            ajaxSettings: {\n                url: nc,\n                isLocal: qc.test(mc[1]),\n                global: !0,\n                type: \"GET\",\n                contentType: \"application/x-www-form-urlencoded; charset=UTF-8\",\n                processData: !0,\n                async: !0,\n                accepts: {\n                    xml: \"application/xml, text/xml\",\n                    html: \"text/html\",\n                    text: \"text/plain\",\n                    json: \"application/json, text/javascript\",\n                    \"*\": Ac\n                },\n                contents: {\n                    xml: /xml/,\n                    html: /html/,\n                    json: /json/\n                },\n                responseFields: {\n                    xml: \"responseXML\",\n                    text: \"responseText\"\n                },\n                converters: {\n                    \"* text\": a.String,\n                    \"text html\": !0,\n                    \"text json\": q.parseJSON,\n                    \"text xml\": q.parseXML\n                },\n                flatOptions: {\n                    context: !0,\n                    url: !0\n                }\n            },\n            ajaxPrefilter: Cc(yc),\n            ajaxTransport: Cc(zc),\n            ajax: function(a, c) {\n                function z(a, c, f, j) {\n                    var l, t, u, v, x, z = c;\n                    if (((w === 2))) {\n                        return;\n                    }\n                ;\n                ;\n                    w = 2;\n                    ((i && JSBNG__clearTimeout(i)));\n                    g = b;\n                    e = ((j || \"\"));\n                    y.readyState = ((((a > 0)) ? 4 : 0));\n                    ((f && (v = Fc(m, y, f))));\n                    if (((((((a >= 200)) && ((a < 300)))) || ((a === 304))))) {\n                        if (m.ifModified) {\n                            x = y.getResponseHeader(\"Last-Modified\");\n                            ((x && (q.lastModified[d] = x)));\n                            x = y.getResponseHeader(\"Etag\");\n                            ((x && (q.etag[d] = x)));\n                        }\n                    ;\n                    ;\n                        if (((a === 304))) {\n                            z = \"notmodified\";\n                            l = !0;\n                        }\n                         else {\n                            l = Gc(m, v);\n                            z = l.state;\n                            t = l.data;\n                            u = l.error;\n                            l = !u;\n                        }\n                    ;\n                    ;\n                    }\n                     else {\n                        u = z;\n                        if (((!z || a))) {\n                            z = \"error\";\n                            ((((a < 0)) && (a = 0)));\n                        }\n                    ;\n                    ;\n                    }\n                ;\n                ;\n                    y.JSBNG__status = a;\n                    y.statusText = ((((c || z)) + \"\"));\n                    ((l ? p.resolveWith(n, [t,z,y,]) : p.rejectWith(n, [y,z,u,])));\n                    y.statusCode(s);\n                    s = b;\n                    ((k && o.trigger(((\"ajax\" + ((l ? \"Success\" : \"Error\")))), [y,m,((l ? t : u)),])));\n                    r.fireWith(n, [y,z,]);\n                    if (k) {\n                        o.trigger(\"ajaxComplete\", [y,m,]);\n                        ((--q.active || q.JSBNG__event.trigger(\"ajaxStop\")));\n                    }\n                ;\n                ;\n                };\n            ;\n                if (((typeof a == \"object\"))) {\n                    c = a;\n                    a = b;\n                }\n            ;\n            ;\n                c = ((c || {\n                }));\n                var d, e, f, g, i, j, k, l, m = q.ajaxSetup({\n                }, c), n = ((m.context || m)), o = ((((((n !== m)) && ((n.nodeType || ((n instanceof q)))))) ? q(n) : q.JSBNG__event)), p = q.Deferred(), r = q.Callbacks(\"once memory\"), s = ((m.statusCode || {\n                })), u = {\n                }, v = {\n                }, w = 0, x = \"canceled\", y = {\n                    readyState: 0,\n                    setRequestHeader: function(a, b) {\n                        if (!w) {\n                            var c = a.toLowerCase();\n                            a = v[c] = ((v[c] || a));\n                            u[a] = b;\n                        }\n                    ;\n                    ;\n                        return this;\n                    },\n                    getAllResponseHeaders: function() {\n                        return ((((w === 2)) ? e : null));\n                    },\n                    getResponseHeader: function(a) {\n                        var c;\n                        if (((w === 2))) {\n                            if (!f) {\n                                f = {\n                                };\n                                while (c = pc.exec(e)) {\n                                    f[c[1].toLowerCase()] = c[2];\n                                ;\n                                };\n                            ;\n                            }\n                        ;\n                        ;\n                            c = f[a.toLowerCase()];\n                        }\n                    ;\n                    ;\n                        return ((((c === b)) ? null : c));\n                    },\n                    overrideMimeType: function(a) {\n                        ((w || (m.mimeType = a)));\n                        return this;\n                    },\n                    abort: function(a) {\n                        a = ((a || x));\n                        ((g && g.abort(a)));\n                        z(0, a);\n                        return this;\n                    }\n                };\n                p.promise(y);\n                y.success = y.done;\n                y.error = y.fail;\n                y.complete = r.add;\n                y.statusCode = function(a) {\n                    if (a) {\n                        var b;\n                        if (((w < 2))) {\n                            var fin31keys = ((window.top.JSBNG_Replay.forInKeys)((a))), fin31i = (0);\n                            (0);\n                            for (; (fin31i < fin31keys.length); (fin31i++)) {\n                                ((b) = (fin31keys[fin31i]));\n                                {\n                                    s[b] = [s[b],a[b],];\n                                ;\n                                };\n                            };\n                        }\n                         else {\n                            b = a[y.JSBNG__status];\n                            y.always(b);\n                        }\n                    ;\n                    ;\n                    }\n                ;\n                ;\n                    return this;\n                };\n                m.url = ((((a || m.url)) + \"\")).replace(oc, \"\").replace(sc, ((mc[1] + \"//\")));\n                m.dataTypes = q.trim(((m.dataType || \"*\"))).toLowerCase().split(t);\n                if (((m.crossDomain == null))) {\n                    j = wc.exec(m.url.toLowerCase());\n                    m.crossDomain = !((!j || ((((((j[1] === mc[1])) && ((j[2] === mc[2])))) && ((((j[3] || ((((j[1] === \"http:\")) ? 80 : 443)))) == ((mc[3] || ((((mc[1] === \"http:\")) ? 80 : 443))))))))));\n                }\n            ;\n            ;\n                ((((((m.data && m.processData)) && ((typeof m.data != \"string\")))) && (m.data = q.param(m.data, m.traditional))));\n                Dc(yc, m, c, y);\n                if (((w === 2))) {\n                    return y;\n                }\n            ;\n            ;\n                k = m.global;\n                m.type = m.type.toUpperCase();\n                m.hasContent = !rc.test(m.type);\n                ((((k && ((q.active++ === 0)))) && q.JSBNG__event.trigger(\"ajaxStart\")));\n                if (!m.hasContent) {\n                    if (m.data) {\n                        m.url += ((((tc.test(m.url) ? \"&\" : \"?\")) + m.data));\n                        delete m.data;\n                    }\n                ;\n                ;\n                    d = m.url;\n                    if (((m.cache === !1))) {\n                        var A = q.now(), B = m.url.replace(vc, ((\"$1_=\" + A)));\n                        m.url = ((B + ((((B === m.url)) ? ((((((tc.test(m.url) ? \"&\" : \"?\")) + \"_=\")) + A)) : \"\"))));\n                    }\n                ;\n                ;\n                }\n            ;\n            ;\n                ((((((((m.data && m.hasContent)) && ((m.contentType !== !1)))) || c.contentType)) && y.setRequestHeader(\"Content-Type\", m.contentType)));\n                if (m.ifModified) {\n                    d = ((d || m.url));\n                    ((q.lastModified[d] && y.setRequestHeader(\"If-Modified-Since\", q.lastModified[d])));\n                    ((q.etag[d] && y.setRequestHeader(\"If-None-Match\", q.etag[d])));\n                }\n            ;\n            ;\n                y.setRequestHeader(\"Accept\", ((((m.dataTypes[0] && m.accepts[m.dataTypes[0]])) ? ((m.accepts[m.dataTypes[0]] + ((((m.dataTypes[0] !== \"*\")) ? ((((\", \" + Ac)) + \"; q=0.01\")) : \"\")))) : m.accepts[\"*\"])));\n                {\n                    var fin32keys = ((window.top.JSBNG_Replay.forInKeys)((m.headers))), fin32i = (0);\n                    (0);\n                    for (; (fin32i < fin32keys.length); (fin32i++)) {\n                        ((l) = (fin32keys[fin32i]));\n                        {\n                            y.setRequestHeader(l, m.headers[l]);\n                        ;\n                        };\n                    };\n                };\n            ;\n                if (((!m.beforeSend || ((((m.beforeSend.call(n, y, m) !== !1)) && ((w !== 2))))))) {\n                    x = \"abort\";\n                    {\n                        var fin33keys = ((window.top.JSBNG_Replay.forInKeys)(({\n                            success: 1,\n                            error: 1,\n                            complete: 1\n                        }))), fin33i = (0);\n                        (0);\n                        for (; (fin33i < fin33keys.length); (fin33i++)) {\n                            ((l) = (fin33keys[fin33i]));\n                            {\n                                y[l](m[l]);\n                            ;\n                            };\n                        };\n                    };\n                ;\n                    g = Dc(zc, m, c, y);\n                    if (!g) z(-1, \"No Transport\");\n                     else {\n                        y.readyState = 1;\n                        ((k && o.trigger(\"ajaxSend\", [y,m,])));\n                        ((((m.async && ((m.timeout > 0)))) && (i = JSBNG__setTimeout(function() {\n                            y.abort(\"timeout\");\n                        }, m.timeout))));\n                        try {\n                            w = 1;\n                            g.send(u, z);\n                        } catch (C) {\n                            if (!((w < 2))) {\n                                throw C;\n                            }\n                        ;\n                        ;\n                            z(-1, C);\n                        };\n                    ;\n                    }\n                ;\n                ;\n                    return y;\n                }\n            ;\n            ;\n                return y.abort();\n            },\n            active: 0,\n            lastModified: {\n            },\n            etag: {\n            }\n        });\n        var Hc = [], Ic = /\\?/, Jc = /(=)\\?(?=&|$)|\\?\\?/, Kc = q.now();\n        q.ajaxSetup({\n            jsonp: \"callback\",\n            jsonpCallback: function() {\n                var a = ((Hc.pop() || ((((q.expando + \"_\")) + Kc++))));\n                this[a] = !0;\n                return a;\n            }\n        });\n        q.ajaxPrefilter(\"json jsonp\", function(c, d, e) {\n            var f, g, i, j = c.data, k = c.url, l = ((c.jsonp !== !1)), m = ((l && Jc.test(k))), n = ((((((((l && !m)) && ((typeof j == \"string\")))) && !((c.contentType || \"\")).indexOf(\"application/x-www-form-urlencoded\"))) && Jc.test(j)));\n            if (((((((c.dataTypes[0] === \"jsonp\")) || m)) || n))) {\n                f = c.jsonpCallback = ((q.isFunction(c.jsonpCallback) ? c.jsonpCallback() : c.jsonpCallback));\n                g = a[f];\n                ((m ? c.url = k.replace(Jc, ((\"$1\" + f))) : ((n ? c.data = j.replace(Jc, ((\"$1\" + f))) : ((l && (c.url += ((((((((Ic.test(k) ? \"&\" : \"?\")) + c.jsonp)) + \"=\")) + f)))))))));\n                c.converters[\"script json\"] = function() {\n                    ((i || q.error(((f + \" was not called\")))));\n                    return i[0];\n                };\n                c.dataTypes[0] = \"json\";\n                a[f] = function() {\n                    i = arguments;\n                };\n                e.always(function() {\n                    a[f] = g;\n                    if (c[f]) {\n                        c.jsonpCallback = d.jsonpCallback;\n                        Hc.push(f);\n                    }\n                ;\n                ;\n                    ((((i && q.isFunction(g))) && g(i[0])));\n                    i = g = b;\n                });\n                return \"script\";\n            }\n        ;\n        ;\n        });\n        q.ajaxSetup({\n            accepts: {\n                script: \"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript\"\n            },\n            contents: {\n                script: /javascript|ecmascript/\n            },\n            converters: {\n                \"text script\": function(a) {\n                    q.globalEval(a);\n                    return a;\n                }\n            }\n        });\n        q.ajaxPrefilter(\"script\", function(a) {\n            ((((a.cache === b)) && (a.cache = !1)));\n            if (a.crossDomain) {\n                a.type = \"GET\";\n                a.global = !1;\n            }\n        ;\n        ;\n        });\n        q.ajaxTransport(\"script\", function(a) {\n            if (a.crossDomain) {\n                var c, d = ((((e.head || e.getElementsByTagName(\"head\")[0])) || e.documentElement));\n                return {\n                    send: function(_, f) {\n                        c = e.createElement(\"script\");\n                        c.async = \"async\";\n                        ((a.scriptCharset && (c.charset = a.scriptCharset)));\n                        c.src = a.url;\n                        c.JSBNG__onload = c.onreadystatechange = function(_, a) {\n                            if (((((a || !c.readyState)) || /loaded|complete/.test(c.readyState)))) {\n                                c.JSBNG__onload = c.onreadystatechange = null;\n                                ((((d && c.parentNode)) && d.removeChild(c)));\n                                c = b;\n                                ((a || f(200, \"success\")));\n                            }\n                        ;\n                        ;\n                        };\n                        d.insertBefore(c, d.firstChild);\n                    },\n                    abort: function() {\n                        ((c && c.JSBNG__onload(0, 1)));\n                    }\n                };\n            }\n        ;\n        ;\n        });\n        var Lc, Mc = ((a.ActiveXObject ? function() {\n            {\n                var fin34keys = ((window.top.JSBNG_Replay.forInKeys)((Lc))), fin34i = (0);\n                var a;\n                for (; (fin34i < fin34keys.length); (fin34i++)) {\n                    ((a) = (fin34keys[fin34i]));\n                    {\n                        Lc[a](0, 1);\n                    ;\n                    };\n                };\n            };\n        ;\n        } : !1)), Nc = 0;\n        q.ajaxSettings.xhr = ((a.ActiveXObject ? function() {\n            return ((((!this.isLocal && Oc())) || Pc()));\n        } : Oc));\n        (function(a) {\n            q.extend(q.support, {\n                ajax: !!a,\n                cors: ((!!a && ((\"withCredentials\" in a))))\n            });\n        })(q.ajaxSettings.xhr());\n        ((q.support.ajax && q.ajaxTransport(function(c) {\n            if (((!c.crossDomain || q.support.cors))) {\n                var d;\n                return {\n                    send: function(e, f) {\n                        var g, i, j = c.xhr();\n                        ((c.username ? j.open(c.type, c.url, c.async, c.username, c.password) : j.open(c.type, c.url, c.async)));\n                        if (c.xhrFields) {\n                            {\n                                var fin35keys = ((window.top.JSBNG_Replay.forInKeys)((c.xhrFields))), fin35i = (0);\n                                (0);\n                                for (; (fin35i < fin35keys.length); (fin35i++)) {\n                                    ((i) = (fin35keys[fin35i]));\n                                    {\n                                        j[i] = c.xhrFields[i];\n                                    ;\n                                    };\n                                };\n                            };\n                        }\n                    ;\n                    ;\n                        ((((c.mimeType && j.overrideMimeType)) && j.overrideMimeType(c.mimeType)));\n                        ((((!c.crossDomain && !e[\"X-Requested-With\"])) && (e[\"X-Requested-With\"] = \"JSBNG__XMLHttpRequest\")));\n                        try {\n                            {\n                                var fin36keys = ((window.top.JSBNG_Replay.forInKeys)((e))), fin36i = (0);\n                                (0);\n                                for (; (fin36i < fin36keys.length); (fin36i++)) {\n                                    ((i) = (fin36keys[fin36i]));\n                                    {\n                                        j.setRequestHeader(i, e[i]);\n                                    ;\n                                    };\n                                };\n                            };\n                        ;\n                        } catch (_) {\n                        \n                        };\n                    ;\n                        j.send(((((c.hasContent && c.data)) || null)));\n                        d = function(_, a) {\n                            var e, i, k, l, m;\n                            try {\n                                if (((d && ((a || ((j.readyState === 4))))))) {\n                                    d = b;\n                                    if (g) {\n                                        j.onreadystatechange = q.noop;\n                                        ((Mc && delete Lc[g]));\n                                    }\n                                ;\n                                ;\n                                    if (a) ((((j.readyState !== 4)) && j.abort()));\n                                     else {\n                                        e = j.JSBNG__status;\n                                        k = j.getAllResponseHeaders();\n                                        l = {\n                                        };\n                                        m = j.responseXML;\n                                        ((((m && m.documentElement)) && (l.xml = m)));\n                                        try {\n                                            l.text = j.responseText;\n                                        } catch (n) {\n                                        \n                                        };\n                                    ;\n                                        try {\n                                            i = j.statusText;\n                                        } catch (n) {\n                                            i = \"\";\n                                        };\n                                    ;\n                                        ((((((!e && c.isLocal)) && !c.crossDomain)) ? e = ((l.text ? 200 : 404)) : ((((e === 1223)) && (e = 204)))));\n                                    }\n                                ;\n                                ;\n                                }\n                            ;\n                            ;\n                            } catch (o) {\n                                ((a || f(-1, o)));\n                            };\n                        ;\n                            ((l && f(e, i, l, k)));\n                        };\n                        if (!c.async) {\n                            d();\n                        }\n                         else {\n                            if (((j.readyState === 4))) JSBNG__setTimeout(d, 0);\n                             else {\n                                g = ++Nc;\n                                if (Mc) {\n                                    if (!Lc) {\n                                        Lc = {\n                                        };\n                                        q(a).unload(Mc);\n                                    }\n                                ;\n                                ;\n                                    Lc[g] = d;\n                                }\n                            ;\n                            ;\n                                j.onreadystatechange = d;\n                            }\n                        ;\n                        }\n                    ;\n                    ;\n                    },\n                    abort: function() {\n                        ((d && d(0, 1)));\n                    }\n                };\n            }\n        ;\n        ;\n        })));\n        var Qc, Rc, Sc = /^(?:toggle|show|hide)$/, Tc = new RegExp(((((\"^(?:([-+])=|)(\" + r)) + \")([a-z%]*)$\")), \"i\"), Uc = /queueHooks$/, Vc = [_c,], Wc = {\n            \"*\": [function(a, b) {\n                var c, d, e = this.createTween(a, b), f = Tc.exec(b), g = e.cur(), i = ((+g || 0)), j = 1, k = 20;\n                if (f) {\n                    c = +f[2];\n                    d = ((f[3] || ((q.cssNumber[a] ? \"\" : \"px\"))));\n                    if (((((d !== \"px\")) && i))) {\n                        i = ((((q.css(e.elem, a, !0) || c)) || 1));\n                        do {\n                            j = ((j || \".5\"));\n                            i /= j;\n                            q.style(e.elem, a, ((i + d)));\n                        } while (((((((j !== (j = ((e.cur() / g))))) && ((j !== 1)))) && --k)));\n                    }\n                ;\n                ;\n                    e.unit = d;\n                    e.start = i;\n                    e.end = ((f[1] ? ((i + ((((f[1] + 1)) * c)))) : c));\n                }\n            ;\n            ;\n                return e;\n            },]\n        };\n        q.Animation = q.extend(Zc, {\n            tweener: function(a, b) {\n                if (q.isFunction(a)) {\n                    b = a;\n                    a = [\"*\",];\n                }\n                 else a = a.split(\" \");\n            ;\n            ;\n                var c, d = 0, e = a.length;\n                for (; ((d < e)); d++) {\n                    c = a[d];\n                    Wc[c] = ((Wc[c] || []));\n                    Wc[c].unshift(b);\n                };\n            ;\n            },\n            prefilter: function(a, b) {\n                ((b ? Vc.unshift(a) : Vc.push(a)));\n            }\n        });\n        q.Tween = ad;\n        ad.prototype = {\n            constructor: ad,\n            init: function(a, b, c, d, e, f) {\n                this.elem = a;\n                this.prop = c;\n                this.easing = ((e || \"swing\"));\n                this.options = b;\n                this.start = this.now = this.cur();\n                this.end = d;\n                this.unit = ((f || ((q.cssNumber[c] ? \"\" : \"px\"))));\n            },\n            cur: function() {\n                var a = ad.propHooks[this.prop];\n                return ((((a && a.get)) ? a.get(this) : ad.propHooks._default.get(this)));\n            },\n            run: function(a) {\n                var b, c = ad.propHooks[this.prop];\n                ((this.options.duration ? this.pos = b = q.easing[this.easing](a, ((this.options.duration * a)), 0, 1, this.options.duration) : this.pos = b = a));\n                this.now = ((((((this.end - this.start)) * b)) + this.start));\n                ((this.options.step && this.options.step.call(this.elem, this.now, this)));\n                ((((c && c.set)) ? c.set(this) : ad.propHooks._default.set(this)));\n                return this;\n            }\n        };\n        ad.prototype.init.prototype = ad.prototype;\n        ad.propHooks = {\n            _default: {\n                get: function(a) {\n                    var b;\n                    if (((((a.elem[a.prop] == null)) || ((!!a.elem.style && ((a.elem.style[a.prop] != null))))))) {\n                        b = q.css(a.elem, a.prop, !1, \"\");\n                        return ((((!b || ((b === \"auto\")))) ? 0 : b));\n                    }\n                ;\n                ;\n                    return a.elem[a.prop];\n                },\n                set: function(a) {\n                    ((q.fx.step[a.prop] ? q.fx.step[a.prop](a) : ((((a.elem.style && ((((a.elem.style[q.cssProps[a.prop]] != null)) || q.cssHooks[a.prop])))) ? q.style(a.elem, a.prop, ((a.now + a.unit))) : a.elem[a.prop] = a.now))));\n                }\n            }\n        };\n        ad.propHooks.scrollTop = ad.propHooks.scrollLeft = {\n            set: function(a) {\n                ((((a.elem.nodeType && a.elem.parentNode)) && (a.elem[a.prop] = a.now)));\n            }\n        };\n        q.each([\"toggle\",\"show\",\"hide\",], function(a, b) {\n            var c = q.fn[b];\n            q.fn[b] = function(d, e, f) {\n                return ((((((((d == null)) || ((typeof d == \"boolean\")))) || ((((!a && q.isFunction(d))) && q.isFunction(e))))) ? c.apply(this, arguments) : this.animate(bd(b, !0), d, e, f)));\n            };\n        });\n        q.fn.extend({\n            fadeTo: function(a, b, c, d) {\n                return this.filter(ac).css(\"opacity\", 0).show().end().animate({\n                    opacity: b\n                }, a, c, d);\n            },\n            animate: function(a, b, c, d) {\n                var e = q.isEmptyObject(a), f = q.speed(b, c, d), g = function() {\n                    var b = Zc(this, q.extend({\n                    }, a), f);\n                    ((e && b.JSBNG__stop(!0)));\n                };\n                return ((((e || ((f.queue === !1)))) ? this.each(g) : this.queue(f.queue, g)));\n            },\n            JSBNG__stop: function(a, c, d) {\n                var e = function(a) {\n                    var b = a.JSBNG__stop;\n                    delete a.JSBNG__stop;\n                    b(d);\n                };\n                if (((typeof a != \"string\"))) {\n                    d = c;\n                    c = a;\n                    a = b;\n                }\n            ;\n            ;\n                ((((c && ((a !== !1)))) && this.queue(((a || \"fx\")), [])));\n                return this.each(function() {\n                    var b = !0, c = ((((a != null)) && ((a + \"queueHooks\")))), f = q.timers, g = q._data(this);\n                    if (c) {\n                        ((((g[c] && g[c].JSBNG__stop)) && e(g[c])));\n                    }\n                     else {\n                        {\n                            var fin37keys = ((window.top.JSBNG_Replay.forInKeys)((g))), fin37i = (0);\n                            (0);\n                            for (; (fin37i < fin37keys.length); (fin37i++)) {\n                                ((c) = (fin37keys[fin37i]));\n                                {\n                                    ((((((g[c] && g[c].JSBNG__stop)) && Uc.test(c))) && e(g[c])));\n                                ;\n                                };\n                            };\n                        };\n                    }\n                ;\n                ;\n                    for (c = f.length; c--; ) {\n                        if (((((f[c].elem === this)) && ((((a == null)) || ((f[c].queue === a))))))) {\n                            f[c].anim.JSBNG__stop(d);\n                            b = !1;\n                            f.splice(c, 1);\n                        }\n                    ;\n                    ;\n                    };\n                ;\n                    ((((b || !d)) && q.dequeue(this, a)));\n                });\n            }\n        });\n        q.each({\n            slideDown: bd(\"show\"),\n            slideUp: bd(\"hide\"),\n            slideToggle: bd(\"toggle\"),\n            fadeIn: {\n                opacity: \"show\"\n            },\n            fadeOut: {\n                opacity: \"hide\"\n            },\n            fadeToggle: {\n                opacity: \"toggle\"\n            }\n        }, function(a, b) {\n            q.fn[a] = function(a, c, d) {\n                return this.animate(b, a, c, d);\n            };\n        });\n        q.speed = function(a, b, c) {\n            var d = ((((a && ((typeof a == \"object\")))) ? q.extend({\n            }, a) : {\n                complete: ((((c || ((!c && b)))) || ((q.isFunction(a) && a)))),\n                duration: a,\n                easing: ((((c && b)) || ((((b && !q.isFunction(b))) && b))))\n            }));\n            d.duration = ((q.fx.off ? 0 : ((((typeof d.duration == \"number\")) ? d.duration : ((((d.duration in q.fx.speeds)) ? q.fx.speeds[d.duration] : q.fx.speeds._default))))));\n            if (((((d.queue == null)) || ((d.queue === !0))))) {\n                d.queue = \"fx\";\n            }\n        ;\n        ;\n            d.old = d.complete;\n            d.complete = function() {\n                ((q.isFunction(d.old) && d.old.call(this)));\n                ((d.queue && q.dequeue(this, d.queue)));\n            };\n            return d;\n        };\n        q.easing = {\n            linear: function(a) {\n                return a;\n            },\n            swing: function(a) {\n                return ((91581 - ((Math.cos(((a * Math.PI))) / 2))));\n            }\n        };\n        q.timers = [];\n        q.fx = ad.prototype.init;\n        q.fx.tick = function() {\n            var a, c = q.timers, d = 0;\n            Qc = q.now();\n            for (; ((d < c.length)); d++) {\n                a = c[d];\n                ((((!a() && ((c[d] === a)))) && c.splice(d--, 1)));\n            };\n        ;\n            ((c.length || q.fx.JSBNG__stop()));\n            Qc = b;\n        };\n        q.fx.timer = function(a) {\n            ((((((a() && q.timers.push(a))) && !Rc)) && (Rc = JSBNG__setInterval(q.fx.tick, q.fx.interval))));\n        };\n        q.fx.interval = 13;\n        q.fx.JSBNG__stop = function() {\n            JSBNG__clearInterval(Rc);\n            Rc = null;\n        };\n        q.fx.speeds = {\n            slow: 600,\n            fast: 200,\n            _default: 400\n        };\n        q.fx.step = {\n        };\n        ((((q.expr && q.expr.filters)) && (q.expr.filters.animated = function(a) {\n            return q.grep(q.timers, function(b) {\n                return ((a === b.elem));\n            }).length;\n        })));\n        var cd = /^(?:body|html)$/i;\n        q.fn.offset = function(a) {\n            if (arguments.length) {\n                return ((((a === b)) ? this : this.each(function(b) {\n                    q.offset.setOffset(this, a, b);\n                })));\n            }\n        ;\n        ;\n            var c, d, e, f, g, i, j, k = {\n                JSBNG__top: 0,\n                left: 0\n            }, l = this[0], m = ((l && l.ownerDocument));\n            if (!m) {\n                return;\n            }\n        ;\n        ;\n            if ((((d = m.body) === l))) {\n                return q.offset.bodyOffset(l);\n            }\n        ;\n        ;\n            c = m.documentElement;\n            if (!q.contains(c, l)) {\n                return k;\n            }\n        ;\n        ;\n            ((((typeof l.getBoundingClientRect != \"undefined\")) && (k = l.getBoundingClientRect())));\n            e = dd(m);\n            f = ((((c.clientTop || d.clientTop)) || 0));\n            g = ((((c.clientLeft || d.clientLeft)) || 0));\n            i = ((e.JSBNG__pageYOffset || c.scrollTop));\n            j = ((e.JSBNG__pageXOffset || c.scrollLeft));\n            return {\n                JSBNG__top: ((((k.JSBNG__top + i)) - f)),\n                left: ((((k.left + j)) - g))\n            };\n        };\n        q.offset = {\n            bodyOffset: function(a) {\n                var b = a.offsetTop, c = a.offsetLeft;\n                if (q.support.doesNotIncludeMarginInBodyOffset) {\n                    b += ((parseFloat(q.css(a, \"marginTop\")) || 0));\n                    c += ((parseFloat(q.css(a, \"marginLeft\")) || 0));\n                }\n            ;\n            ;\n                return {\n                    JSBNG__top: b,\n                    left: c\n                };\n            },\n            setOffset: function(a, b, c) {\n                var d = q.css(a, \"position\");\n                ((((d === \"static\")) && (a.style.position = \"relative\")));\n                var e = q(a), f = e.offset(), g = q.css(a, \"JSBNG__top\"), i = q.css(a, \"left\"), j = ((((((d === \"absolute\")) || ((d === \"fixed\")))) && ((q.inArray(\"auto\", [g,i,]) > -1)))), k = {\n                }, l = {\n                }, m, n;\n                if (j) {\n                    l = e.position();\n                    m = l.JSBNG__top;\n                    n = l.left;\n                }\n                 else {\n                    m = ((parseFloat(g) || 0));\n                    n = ((parseFloat(i) || 0));\n                }\n            ;\n            ;\n                ((q.isFunction(b) && (b = b.call(a, c, f))));\n                ((((b.JSBNG__top != null)) && (k.JSBNG__top = ((((b.JSBNG__top - f.JSBNG__top)) + m)))));\n                ((((b.left != null)) && (k.left = ((((b.left - f.left)) + n)))));\n                ((((\"using\" in b)) ? b.using.call(a, k) : e.css(k)));\n            }\n        };\n        q.fn.extend({\n            position: function() {\n                if (!this[0]) {\n                    return;\n                }\n            ;\n            ;\n                var a = this[0], b = this.offsetParent(), c = this.offset(), d = ((cd.test(b[0].nodeName) ? {\n                    JSBNG__top: 0,\n                    left: 0\n                } : b.offset()));\n                c.JSBNG__top -= ((parseFloat(q.css(a, \"marginTop\")) || 0));\n                c.left -= ((parseFloat(q.css(a, \"marginLeft\")) || 0));\n                d.JSBNG__top += ((parseFloat(q.css(b[0], \"borderTopWidth\")) || 0));\n                d.left += ((parseFloat(q.css(b[0], \"borderLeftWidth\")) || 0));\n                return {\n                    JSBNG__top: ((c.JSBNG__top - d.JSBNG__top)),\n                    left: ((c.left - d.left))\n                };\n            },\n            offsetParent: function() {\n                return this.map(function() {\n                    var a = ((this.offsetParent || e.body));\n                    while (((((a && !cd.test(a.nodeName))) && ((q.css(a, \"position\") === \"static\"))))) {\n                        a = a.offsetParent;\n                    ;\n                    };\n                ;\n                    return ((a || e.body));\n                });\n            }\n        });\n        q.each({\n            scrollLeft: \"JSBNG__pageXOffset\",\n            scrollTop: \"JSBNG__pageYOffset\"\n        }, function(a, c) {\n            var d = /Y/.test(c);\n            q.fn[a] = function(e) {\n                return q.access(this, function(a, e, f) {\n                    var g = dd(a);\n                    if (((f === b))) {\n                        return ((g ? ((((c in g)) ? g[c] : g.JSBNG__document.documentElement[e])) : a[e]));\n                    }\n                ;\n                ;\n                    ((g ? g.JSBNG__scrollTo(((d ? q(g).scrollLeft() : f)), ((d ? f : q(g).scrollTop()))) : a[e] = f));\n                }, a, e, arguments.length, null);\n            };\n        });\n        q.each({\n            Height: \"height\",\n            Width: \"width\"\n        }, function(a, c) {\n            q.each({\n                padding: ((\"JSBNG__inner\" + a)),\n                JSBNG__content: c,\n                \"\": ((\"JSBNG__outer\" + a))\n            }, function(d, e) {\n                q.fn[e] = function(e, f) {\n                    var g = ((arguments.length && ((d || ((typeof e != \"boolean\")))))), i = ((d || ((((((e === !0)) || ((f === !0)))) ? \"margin\" : \"border\"))));\n                    return q.access(this, function(c, d, e) {\n                        var f;\n                        if (q.isWindow(c)) {\n                            return c.JSBNG__document.documentElement[((\"client\" + a))];\n                        }\n                    ;\n                    ;\n                        if (((c.nodeType === 9))) {\n                            f = c.documentElement;\n                            return Math.max(c.body[((\"JSBNG__scroll\" + a))], f[((\"JSBNG__scroll\" + a))], c.body[((\"offset\" + a))], f[((\"offset\" + a))], f[((\"client\" + a))]);\n                        }\n                    ;\n                    ;\n                        return ((((e === b)) ? q.css(c, d, e, i) : q.style(c, d, e, i)));\n                    }, c, ((g ? e : b)), g, null);\n                };\n            });\n        });\n        a.jQuery = a.$ = q;\n        ((((((((typeof define == \"function\")) && define.amd)) && define.amd.jQuery)) && define(\"jquery\", [], function() {\n            return q;\n        })));\n    })(window);\n    (function(a) {\n        ((((typeof define == \"function\")) ? define(a) : ((((typeof YUI == \"function\")) ? YUI.add(\"es5\", a) : a()))));\n    })(function() {\n        ((Function.prototype.bind || (Function.prototype.bind = function(b) {\n            var c = this;\n            if (((typeof c != \"function\"))) {\n                throw new TypeError(((\"Function.prototype.bind called on incompatible \" + c)));\n            }\n        ;\n        ;\n            var e = d.call(arguments, 1), f = function() {\n                if (((this instanceof f))) {\n                    var a = function() {\n                    \n                    };\n                    a.prototype = c.prototype;\n                    var g = new a, i = c.apply(g, e.concat(d.call(arguments)));\n                    return ((((Object(i) === i)) ? i : g));\n                }\n            ;\n            ;\n                return c.apply(b, e.concat(d.call(arguments)));\n            };\n            return f;\n        })));\n        var a = Function.prototype.call, b = Array.prototype, c = Object.prototype, d = b.slice, e = a.bind(c.toString), f = a.bind(c.hasOwnProperty), g, i, j, k, l;\n        if (l = f(c, \"__defineGetter__\")) {\n            g = a.bind(c.__defineGetter__);\n            i = a.bind(c.__defineSetter__);\n            j = a.bind(c.__lookupGetter__);\n            k = a.bind(c.__lookupSetter__);\n        }\n    ;\n    ;\n        ((Array.isArray || (Array.isArray = function(b) {\n            return ((e(b) == \"[object Array]\"));\n        })));\n        ((Array.prototype.forEach || (Array.prototype.forEach = function(b) {\n            var c = v(this), d = arguments[1], f = -1, g = ((c.length >>> 0));\n            if (((e(b) != \"[object Function]\"))) {\n                throw new TypeError;\n            }\n        ;\n        ;\n            while (((++f < g))) {\n                ((((f in c)) && b.call(d, c[f], f, c)));\n            ;\n            };\n        ;\n        })));\n        ((Array.prototype.map || (Array.prototype.map = function(b) {\n            var c = v(this), d = ((c.length >>> 0)), f = Array(d), g = arguments[1];\n            if (((e(b) != \"[object Function]\"))) {\n                throw new TypeError(((b + \" is not a function\")));\n            }\n        ;\n        ;\n            for (var i = 0; ((i < d)); i++) {\n                ((((i in c)) && (f[i] = b.call(g, c[i], i, c))));\n            ;\n            };\n        ;\n            return f;\n        })));\n        ((Array.prototype.filter || (Array.prototype.filter = function(b) {\n            var c = v(this), d = ((c.length >>> 0)), f = [], g, i = arguments[1];\n            if (((e(b) != \"[object Function]\"))) {\n                throw new TypeError(((b + \" is not a function\")));\n            }\n        ;\n        ;\n            for (var j = 0; ((j < d)); j++) {\n                if (((j in c))) {\n                    g = c[j];\n                    ((b.call(i, g, j, c) && f.push(g)));\n                }\n            ;\n            ;\n            };\n        ;\n            return f;\n        })));\n        ((Array.prototype.every || (Array.prototype.every = function(b) {\n            var c = v(this), d = ((c.length >>> 0)), f = arguments[1];\n            if (((e(b) != \"[object Function]\"))) {\n                throw new TypeError(((b + \" is not a function\")));\n            }\n        ;\n        ;\n            for (var g = 0; ((g < d)); g++) {\n                if (((((g in c)) && !b.call(f, c[g], g, c)))) {\n                    return !1;\n                }\n            ;\n            ;\n            };\n        ;\n            return !0;\n        })));\n        ((Array.prototype.some || (Array.prototype.some = function(b) {\n            var c = v(this), d = ((c.length >>> 0)), f = arguments[1];\n            if (((e(b) != \"[object Function]\"))) {\n                throw new TypeError(((b + \" is not a function\")));\n            }\n        ;\n        ;\n            for (var g = 0; ((g < d)); g++) {\n                if (((((g in c)) && b.call(f, c[g], g, c)))) {\n                    return !0;\n                }\n            ;\n            ;\n            };\n        ;\n            return !1;\n        })));\n        ((Array.prototype.reduce || (Array.prototype.reduce = function(b) {\n            var c = v(this), d = ((c.length >>> 0));\n            if (((e(b) != \"[object Function]\"))) {\n                throw new TypeError(((b + \" is not a function\")));\n            }\n        ;\n        ;\n            if (((!d && ((arguments.length == 1))))) {\n                throw new TypeError(\"reduce of empty array with no initial value\");\n            }\n        ;\n        ;\n            var f = 0, g;\n            if (((arguments.length >= 2))) {\n                g = arguments[1];\n            }\n             else {\n                do {\n                    if (((f in c))) {\n                        g = c[f++];\n                        break;\n                    }\n                ;\n                ;\n                    if (((++f >= d))) {\n                        throw new TypeError(\"reduce of empty array with no initial value\");\n                    }\n                ;\n                ;\n                } while (!0);\n            }\n        ;\n        ;\n            for (; ((f < d)); f++) {\n                ((((f in c)) && (g = b.call(void 0, g, c[f], f, c))));\n            ;\n            };\n        ;\n            return g;\n        })));\n        ((Array.prototype.reduceRight || (Array.prototype.reduceRight = function(b) {\n            var c = v(this), d = ((c.length >>> 0));\n            if (((e(b) != \"[object Function]\"))) {\n                throw new TypeError(((b + \" is not a function\")));\n            }\n        ;\n        ;\n            if (((!d && ((arguments.length == 1))))) {\n                throw new TypeError(\"reduceRight of empty array with no initial value\");\n            }\n        ;\n        ;\n            var f, g = ((d - 1));\n            if (((arguments.length >= 2))) {\n                f = arguments[1];\n            }\n             else {\n                do {\n                    if (((g in c))) {\n                        f = c[g--];\n                        break;\n                    }\n                ;\n                ;\n                    if (((--g < 0))) {\n                        throw new TypeError(\"reduceRight of empty array with no initial value\");\n                    }\n                ;\n                ;\n                } while (!0);\n            }\n        ;\n        ;\n            do ((((g in this)) && (f = b.call(void 0, f, c[g], g, c)))); while (g--);\n            return f;\n        })));\n        ((Array.prototype.indexOf || (Array.prototype.indexOf = function(b) {\n            var c = v(this), d = ((c.length >>> 0));\n            if (!d) {\n                return -1;\n            }\n        ;\n        ;\n            var e = 0;\n            ((((arguments.length > 1)) && (e = t(arguments[1]))));\n            e = ((((e >= 0)) ? e : Math.max(0, ((d + e)))));\n            for (; ((e < d)); e++) {\n                if (((((e in c)) && ((c[e] === b))))) {\n                    return e;\n                }\n            ;\n            ;\n            };\n        ;\n            return -1;\n        })));\n        ((Array.prototype.lastIndexOf || (Array.prototype.lastIndexOf = function(b) {\n            var c = v(this), d = ((c.length >>> 0));\n            if (!d) {\n                return -1;\n            }\n        ;\n        ;\n            var e = ((d - 1));\n            ((((arguments.length > 1)) && (e = Math.min(e, t(arguments[1])))));\n            e = ((((e >= 0)) ? e : ((d - Math.abs(e)))));\n            for (; ((e >= 0)); e--) {\n                if (((((e in c)) && ((b === c[e]))))) {\n                    return e;\n                }\n            ;\n            ;\n            };\n        ;\n            return -1;\n        })));\n        if (!Object.keys) {\n            var m = !0, n = [\"toString\",\"toLocaleString\",\"valueOf\",\"hasOwnProperty\",\"isPrototypeOf\",\"propertyIsEnumerable\",\"constructor\",], o = n.length;\n            {\n                var fin38keys = ((window.top.JSBNG_Replay.forInKeys)(({\n                    toString: null\n                }))), fin38i = (0);\n                var p;\n                for (; (fin38i < fin38keys.length); (fin38i++)) {\n                    ((p) = (fin38keys[fin38i]));\n                    {\n                        m = !1;\n                    ;\n                    };\n                };\n            };\n        ;\n            Object.keys = function w(a) {\n                if (((((((typeof a != \"object\")) && ((typeof a != \"function\")))) || ((a === null))))) {\n                    throw new TypeError(\"Object.keys called on a non-object\");\n                }\n            ;\n            ;\n                var w = [];\n                {\n                    var fin39keys = ((window.top.JSBNG_Replay.forInKeys)((a))), fin39i = (0);\n                    var b;\n                    for (; (fin39i < fin39keys.length); (fin39i++)) {\n                        ((b) = (fin39keys[fin39i]));\n                        {\n                            ((f(a, b) && w.push(b)));\n                        ;\n                        };\n                    };\n                };\n            ;\n                if (m) {\n                    for (var c = 0, d = o; ((c < d)); c++) {\n                        var e = n[c];\n                        ((f(a, e) && w.push(e)));\n                    };\n                }\n            ;\n            ;\n                return w;\n            };\n        }\n    ;\n    ;\n        if (((!JSBNG__Date.prototype.toISOString || (((new JSBNG__Date(-62198755200000)).toISOString().indexOf(\"-000001\") === -1))))) {\n            JSBNG__Date.prototype.toISOString = function() {\n                var b, c, d, e;\n                if (!isFinite(this)) {\n                    throw new RangeError(\"JSBNG__Date.prototype.toISOString called on non-finite value.\");\n                }\n            ;\n            ;\n                b = [((this.getUTCMonth() + 1)),this.getUTCDate(),this.getUTCHours(),this.getUTCMinutes(),this.getUTCSeconds(),];\n                e = this.getUTCFullYear();\n                e = ((((((e < 0)) ? \"-\" : ((((e > 9999)) ? \"+\" : \"\")))) + ((\"00000\" + Math.abs(e))).slice(((((((0 <= e)) && ((e <= 9999)))) ? -4 : -6)))));\n                c = b.length;\n                while (c--) {\n                    d = b[c];\n                    ((((d < 10)) && (b[c] = ((\"0\" + d)))));\n                };\n            ;\n                return ((((((((((((((e + \"-\")) + b.slice(0, 2).join(\"-\"))) + \"T\")) + b.slice(2).join(\":\"))) + \".\")) + ((\"000\" + this.getUTCMilliseconds())).slice(-3))) + \"Z\"));\n            };\n        }\n    ;\n    ;\n        ((JSBNG__Date.now || (JSBNG__Date.now = function() {\n            return (new JSBNG__Date).getTime();\n        })));\n        ((JSBNG__Date.prototype.toJSON || (JSBNG__Date.prototype.toJSON = function(b) {\n            if (((typeof this.toISOString != \"function\"))) {\n                throw new TypeError(\"toISOString property is not callable\");\n            }\n        ;\n        ;\n            return this.toISOString();\n        })));\n        if (((!JSBNG__Date.parse || ((JSBNG__Date.parse(\"+275760-09-13T00:00:00.000Z\") !== 8640000000000000))))) {\n            JSBNG__Date = function(a) {\n                var b = function e(b, c, d, h, f, g, i) {\n                    var j = arguments.length;\n                    if (((this instanceof a))) {\n                        var k = ((((((j == 1)) && ((String(b) === b)))) ? new a(e.parse(b)) : ((((j >= 7)) ? new a(b, c, d, h, f, g, i) : ((((j >= 6)) ? new a(b, c, d, h, f, g) : ((((j >= 5)) ? new a(b, c, d, h, f) : ((((j >= 4)) ? new a(b, c, d, h) : ((((j >= 3)) ? new a(b, c, d) : ((((j >= 2)) ? new a(b, c) : ((((j >= 1)) ? new a(b) : new a))))))))))))))));\n                        k.constructor = e;\n                        return k;\n                    }\n                ;\n                ;\n                    return a.apply(this, arguments);\n                }, c = new RegExp(\"^(\\\\d{4}|[+-]\\\\d{6})(?:-(\\\\d{2})(?:-(\\\\d{2})(?:T(\\\\d{2}):(\\\\d{2})(?::(\\\\d{2})(?:\\\\.(\\\\d{3}))?)?(?:Z|(?:([-+])(\\\\d{2}):(\\\\d{2})))?)?)?)?$\");\n                {\n                    var fin40keys = ((window.top.JSBNG_Replay.forInKeys)((a))), fin40i = (0);\n                    var d;\n                    for (; (fin40i < fin40keys.length); (fin40i++)) {\n                        ((d) = (fin40keys[fin40i]));\n                        {\n                            b[d] = a[d];\n                        ;\n                        };\n                    };\n                };\n            ;\n                b.now = a.now;\n                b.UTC = a.UTC;\n                b.prototype = a.prototype;\n                b.prototype.constructor = b;\n                b.parse = function(d) {\n                    var e = c.exec(d);\n                    if (e) {\n                        e.shift();\n                        for (var f = 1; ((f < 7)); f++) {\n                            e[f] = +((e[f] || ((((f < 3)) ? 1 : 0))));\n                            ((((f == 1)) && e[f]--));\n                        };\n                    ;\n                        var g = +e.pop(), i = +e.pop(), j = e.pop(), k = 0;\n                        if (j) {\n                            if (((((i > 23)) || ((g > 59))))) {\n                                return NaN;\n                            }\n                        ;\n                        ;\n                            k = ((((((((i * 60)) + g)) * 60000)) * ((((j == \"+\")) ? -1 : 1))));\n                        }\n                    ;\n                    ;\n                        var l = +e[0];\n                        if (((((0 <= l)) && ((l <= 99))))) {\n                            e[0] = ((l + 400));\n                            return ((((a.UTC.apply(this, e) + k)) - 12622780800000));\n                        }\n                    ;\n                    ;\n                        return ((a.UTC.apply(this, e) + k));\n                    }\n                ;\n                ;\n                    return a.parse.apply(this, arguments);\n                };\n                return b;\n            }(JSBNG__Date);\n        }\n    ;\n    ;\n        var q = \"\\u0009\\u000a\\u000b\\u000c\\u000d \\u00a0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029\\ufeff\";\n        if (((!String.prototype.trim || q.trim()))) {\n            q = ((((\"[\" + q)) + \"]\"));\n            var r = new RegExp(((((((\"^\" + q)) + q)) + \"*\"))), s = new RegExp(((((q + q)) + \"*$\")));\n            String.prototype.trim = function() {\n                if (((((this === undefined)) || ((this === null))))) {\n                    throw new TypeError(((((\"can't convert \" + this)) + \" to object\")));\n                }\n            ;\n            ;\n                return String(this).replace(r, \"\").replace(s, \"\");\n            };\n        }\n    ;\n    ;\n        var t = function(a) {\n            a = +a;\n            ((((a !== a)) ? a = 0 : ((((((((a !== 0)) && ((a !== ((1 / 0)))))) && ((a !== -Infinity)))) && (a = ((((((a > 0)) || -1)) * Math.floor(Math.abs(a)))))))));\n            return a;\n        }, u = ((\"a\"[0] != \"a\")), v = function(a) {\n            if (((a == null))) {\n                throw new TypeError(((((\"can't convert \" + a)) + \" to object\")));\n            }\n        ;\n        ;\n            return ((((((u && ((typeof a == \"string\")))) && a)) ? a.split(\"\") : Object(a)));\n        };\n    });\n    (function(a) {\n        ((((typeof define == \"function\")) ? define(a) : ((((typeof YUI == \"function\")) ? YUI.add(\"es5-sham\", a) : a()))));\n    })(function() {\n        function b(a) {\n            try {\n                Object.defineProperty(a, \"sentinel\", {\n                });\n                return ((\"sentinel\" in a));\n            } catch (b) {\n            \n            };\n        ;\n        };\n    ;\n        ((Object.getPrototypeOf || (Object.getPrototypeOf = function(b) {\n            return ((b.__proto__ || ((b.constructor ? b.constructor.prototype : prototypeOfObject))));\n        })));\n        if (!Object.getOwnPropertyDescriptor) {\n            var a = \"Object.getOwnPropertyDescriptor called on a non-object: \";\n            Object.getOwnPropertyDescriptor = function(c, d) {\n                if (((((((typeof c != \"object\")) && ((typeof c != \"function\")))) || ((c === null))))) {\n                    throw new TypeError(((a + c)));\n                }\n            ;\n            ;\n                if (!owns(c, d)) {\n                    return;\n                }\n            ;\n            ;\n                var e = {\n                    enumerable: !0,\n                    configurable: !0\n                };\n                if (supportsAccessors) {\n                    var f = c.__proto__;\n                    c.__proto__ = prototypeOfObject;\n                    var g = lookupGetter(c, d), i = lookupSetter(c, d);\n                    c.__proto__ = f;\n                    if (((g || i))) {\n                        ((g && (e.get = g)));\n                        ((i && (e.set = i)));\n                        return e;\n                    }\n                ;\n                ;\n                }\n            ;\n            ;\n                e.value = c[d];\n                return e;\n            };\n        }\n    ;\n    ;\n        ((Object.getOwnPropertyNames || (Object.getOwnPropertyNames = function(b) {\n            return Object.keys(b);\n        })));\n        ((Object.create || (Object.create = function(b, c) {\n            var d;\n            if (((b === null))) d = {\n                __proto__: null\n            };\n             else {\n                if (((typeof b != \"object\"))) {\n                    throw new TypeError(((((\"typeof prototype[\" + typeof b)) + \"] != 'object'\")));\n                }\n            ;\n            ;\n                var e = function() {\n                \n                };\n                e.prototype = b;\n                d = new e;\n                d.__proto__ = b;\n            }\n        ;\n        ;\n            ((((c !== void 0)) && Object.defineProperties(d, c)));\n            return d;\n        })));\n        if (Object.defineProperty) {\n            var c = b({\n            }), d = ((((typeof JSBNG__document == \"undefined\")) || b(JSBNG__document.createElement(\"div\"))));\n            if (((!c || !d))) {\n                var e = Object.defineProperty;\n            }\n        ;\n        ;\n        }\n    ;\n    ;\n        if (((!Object.defineProperty || e))) {\n            var f = \"Property description must be an object: \", g = \"Object.defineProperty called on non-object: \", i = \"getters & setters can not be defined on this javascript engine\";\n            Object.defineProperty = function(b, c, d) {\n                if (((((((typeof b != \"object\")) && ((typeof b != \"function\")))) || ((b === null))))) {\n                    throw new TypeError(((g + b)));\n                }\n            ;\n            ;\n                if (((((((typeof d != \"object\")) && ((typeof d != \"function\")))) || ((d === null))))) {\n                    throw new TypeError(((f + d)));\n                }\n            ;\n            ;\n                if (e) {\n                    try {\n                        return e.call(Object, b, c, d);\n                    } catch (j) {\n                    \n                    };\n                }\n            ;\n            ;\n                if (owns(d, \"value\")) if (((supportsAccessors && ((lookupGetter(b, c) || lookupSetter(b, c)))))) {\n                    var k = b.__proto__;\n                    b.__proto__ = prototypeOfObject;\n                    delete b[c];\n                    b[c] = d.value;\n                    b.__proto__ = k;\n                }\n                 else b[c] = d.value;\n                \n                 else {\n                    if (!supportsAccessors) {\n                        throw new TypeError(i);\n                    }\n                ;\n                ;\n                    ((owns(d, \"get\") && defineGetter(b, c, d.get)));\n                    ((owns(d, \"set\") && defineSetter(b, c, d.set)));\n                }\n            ;\n            ;\n                return b;\n            };\n        }\n    ;\n    ;\n        ((Object.defineProperties || (Object.defineProperties = function(b, c) {\n            {\n                var fin41keys = ((window.top.JSBNG_Replay.forInKeys)((c))), fin41i = (0);\n                var d;\n                for (; (fin41i < fin41keys.length); (fin41i++)) {\n                    ((d) = (fin41keys[fin41i]));\n                    {\n                        ((((owns(c, d) && ((d != \"__proto__\")))) && Object.defineProperty(b, d, c[d])));\n                    ;\n                    };\n                };\n            };\n        ;\n            return b;\n        })));\n        ((Object.seal || (Object.seal = function(b) {\n            return b;\n        })));\n        ((Object.freeze || (Object.freeze = function(b) {\n            return b;\n        })));\n        try {\n            Object.freeze(function() {\n            \n            });\n        } catch (j) {\n            Object.freeze = function(b) {\n                return function(c) {\n                    return ((((typeof c == \"function\")) ? c : b(c)));\n                };\n            }(Object.freeze);\n        };\n    ;\n        ((Object.preventExtensions || (Object.preventExtensions = function(b) {\n            return b;\n        })));\n        ((Object.isSealed || (Object.isSealed = function(b) {\n            return !1;\n        })));\n        ((Object.isFrozen || (Object.isFrozen = function(b) {\n            return !1;\n        })));\n        ((Object.isExtensible || (Object.isExtensible = function(b) {\n            if (((Object(b) !== b))) {\n                throw new TypeError;\n            }\n        ;\n        ;\n            var c = \"\";\n            while (owns(b, c)) {\n                c += \"?\";\n            ;\n            };\n        ;\n            b[c] = !0;\n            var d = owns(b, c);\n            delete b[c];\n            return d;\n        })));\n    });\n    (function(a, b) {\n        function t(a) {\n            for (var b = 1, c; c = arguments[b]; b++) {\n                {\n                    var fin42keys = ((window.top.JSBNG_Replay.forInKeys)((c))), fin42i = (0);\n                    var d;\n                    for (; (fin42i < fin42keys.length); (fin42i++)) {\n                        ((d) = (fin42keys[fin42i]));\n                        {\n                            a[d] = c[d];\n                        ;\n                        };\n                    };\n                };\n            ;\n            };\n        ;\n            return a;\n        };\n    ;\n        function u(a) {\n            return Array.prototype.slice.call(a);\n        };\n    ;\n        function w(a, b) {\n            for (var c = 0, d; d = a[c]; c++) {\n                if (((b == d))) {\n                    return c;\n                }\n            ;\n            ;\n            };\n        ;\n            return -1;\n        };\n    ;\n        function x() {\n            var a = u(arguments), b = [];\n            for (var c = 0, d = a.length; ((c < d)); c++) {\n                ((((a[c].length > 0)) && b.push(a[c].replace(/\\/$/, \"\"))));\n            ;\n            };\n        ;\n            return b.join(\"/\");\n        };\n    ;\n        function y(a, b, c) {\n            var d = b.split(\"/\"), e = a;\n            while (((d.length > 1))) {\n                var f = d.shift();\n                e = e[f] = ((e[f] || {\n                }));\n            };\n        ;\n            e[d[0]] = c;\n        };\n    ;\n        function z() {\n        \n        };\n    ;\n        function A(a, b) {\n            ((a && (this.id = this.path = this.resolvePath(a))));\n            this.originalPath = a;\n            this.force = !!b;\n        };\n    ;\n        function B(a, b) {\n            this.id = a;\n            this.path = this.resolvePath(a);\n            this.force = b;\n        };\n    ;\n        function C(a, b) {\n            this.id = a;\n            this.contents = b;\n            this.dep = O(a);\n            this.deps = [];\n            this.path = this.dep.path;\n        };\n    ;\n        function D(a, b) {\n            var d;\n            this.body = b;\n            if (!a) if (c) {\n                d = ((i || K()));\n                if (d) {\n                    this.setId(d.id);\n                    delete j[d.scriptId];\n                    this.then(function(a) {\n                        d.complete.call(d, a);\n                    });\n                }\n            ;\n            ;\n            }\n             else g = this;\n            \n             else {\n                this.setId(a);\n                (((d = p[((\"module_\" + this.id))]) && this.then(function(a) {\n                    d.complete.call(d, a);\n                })));\n            }\n        ;\n        ;\n        };\n    ;\n        function E(a) {\n            var b = [];\n            for (var c = 0, d; d = a[c]; c++) {\n                ((((d instanceof H)) ? b = b.concat(E(d.deps)) : ((((d instanceof B)) && b.push(d)))));\n            ;\n            };\n        ;\n            return b;\n        };\n    ;\n        function F() {\n            for (var a = 0, b; b = this.deps[a]; a++) {\n                if (b.forceFetch) b.forceFetch();\n                 else {\n                    b.force = !0;\n                    b.start();\n                }\n            ;\n            ;\n            };\n        ;\n            return this;\n        };\n    ;\n        function G(a) {\n            this.deps = a;\n            ((((this.deps.length == 0)) && this.complete()));\n        };\n    ;\n        function H(a) {\n            this.deps = a;\n        };\n    ;\n        function J() {\n            this.entries = {\n            };\n        };\n    ;\n        function K() {\n            {\n                var fin43keys = ((window.top.JSBNG_Replay.forInKeys)((d))), fin43i = (0);\n                var a;\n                for (; (fin43i < fin43keys.length); (fin43i++)) {\n                    ((a) = (fin43keys[fin43i]));\n                    {\n                        if (((d[a].readyState == \"interactive\"))) {\n                            return j[d[a].id];\n                        }\n                    ;\n                    ;\n                    };\n                };\n            };\n        ;\n        };\n    ;\n        function L() {\n            var a = u(arguments), b, c;\n            ((((typeof a[0] == \"string\")) && (b = a.shift())));\n            c = a.shift();\n            return new D(b, c);\n        };\n    ;\n        function M() {\n            var a = u(arguments), b;\n            ((((typeof a[((a.length - 1))] == \"function\")) && (b = a.pop())));\n            var c = new G(N(a));\n            ((b && c.then(b)));\n            return c;\n        };\n    ;\n        function N(a) {\n            var b = [];\n            for (var c = 0, d; d = a[c]; c++) {\n                ((((typeof d == \"string\")) && (d = O(d))));\n                ((v(d) && (d = new H(N(d)))));\n                b.push(d);\n            };\n        ;\n            return b;\n        };\n    ;\n        function O(a) {\n            var b, c;\n            for (var d = 0, e; e = M.matchers[d]; d++) {\n                var f = e[0], g = e[1];\n                if (b = a.match(f)) {\n                    return g(a);\n                }\n            ;\n            ;\n            };\n        ;\n            throw new Error(((a + \" was not recognised by loader\")));\n        };\n    ;\n        function Q() {\n            a.using = k;\n            a.provide = l;\n            a.loadrunner = m;\n            return P;\n        };\n    ;\n        function R(a) {\n            function d(b, d) {\n                c[d] = ((c[d] || {\n                }));\n                c[d][a] = {\n                    key: a,\n                    start: b.startTime,\n                    end: b.endTime,\n                    duration: ((b.endTime - ((b.startTime || (new JSBNG__Date).getTime())))),\n                    JSBNG__status: d,\n                    origin: b\n                };\n            };\n        ;\n            var b, c = {\n            };\n            if (((a && (((((b = o[a]) || (b = p[a]))) || (b = n[a])))))) {\n                return {\n                    start: b.startTime,\n                    end: b.endTime,\n                    duration: ((b.endTime - ((b.startTime || (new JSBNG__Date).getTime())))),\n                    origin: b\n                };\n            }\n        ;\n        ;\n            {\n                var fin44keys = ((window.top.JSBNG_Replay.forInKeys)((o))), fin44i = (0);\n                var a;\n                for (; (fin44i < fin44keys.length); (fin44i++)) {\n                    ((a) = (fin44keys[fin44i]));\n                    {\n                        d(o[a], \"met\");\n                    ;\n                    };\n                };\n            };\n        ;\n            {\n                var fin45keys = ((window.top.JSBNG_Replay.forInKeys)((p))), fin45i = (0);\n                var a;\n                for (; (fin45i < fin45keys.length); (fin45i++)) {\n                    ((a) = (fin45keys[fin45i]));\n                    {\n                        d(p[a], \"inProgress\");\n                    ;\n                    };\n                };\n            };\n        ;\n            {\n                var fin46keys = ((window.top.JSBNG_Replay.forInKeys)((n))), fin46i = (0);\n                var a;\n                for (; (fin46i < fin46keys.length); (fin46i++)) {\n                    ((a) = (fin46keys[fin46i]));\n                    {\n                        d(n[a], \"paused\");\n                    ;\n                    };\n                };\n            };\n        ;\n            return c;\n        };\n    ;\n        function S() {\n            n = {\n            };\n            o = {\n            };\n            p = {\n            };\n            M.bundles = new J;\n            B.exports = {\n            };\n            D.provided = {\n            };\n        };\n    ;\n        function T(a) {\n            return ((M.bundles.get(a) || undefined));\n        };\n    ;\n        var c = ((a.JSBNG__attachEvent && !a.JSBNG__opera)), d = b.getElementsByTagName(\"script\"), e, f = b.createElement(\"script\"), g, i, j = {\n        }, k = a.using, l = a.provide, m = a.loadrunner, n = {\n        }, o = {\n        }, p = {\n        };\n        for (var q = 0, r; r = d[q]; q++) {\n            if (r.src.match(/loadrunner\\.js(\\?|#|$)/)) {\n                e = r;\n                break;\n            }\n        ;\n        ;\n        };\n    ;\n        var s = function() {\n            var a = 0;\n            return function() {\n                return a++;\n            };\n        }(), v = ((Array.isArray || function(a) {\n            return ((a.constructor == Array));\n        }));\n        z.prototype.then = function(b) {\n            this.callbacks = ((this.callbacks || []));\n            this.callbacks.push(b);\n            ((this.completed ? b.apply(a, this.results) : ((((this.callbacks.length == 1)) && this.start()))));\n            return this;\n        };\n        z.prototype.key = function() {\n            ((this.id || (this.id = s())));\n            return ((\"dependency_\" + this.id));\n        };\n        z.prototype.start = function() {\n            var a = this, b, c;\n            this.startTime = (new JSBNG__Date).getTime();\n            if (b = o[this.key()]) {\n                this.complete.apply(this, b.results);\n            }\n             else {\n                if (c = p[this.key()]) {\n                    c.then(function() {\n                        a.complete.apply(a, arguments);\n                    });\n                }\n                 else {\n                    if (this.shouldFetch()) {\n                        p[this.key()] = this;\n                        this.fetch();\n                    }\n                     else {\n                        n[this.key()] = ((n[this.key()] || []));\n                        n[this.key()].push(this);\n                    }\n                ;\n                }\n            ;\n            }\n        ;\n        ;\n        };\n        z.prototype.shouldFetch = function() {\n            return !0;\n        };\n        z.prototype.complete = function() {\n            var b;\n            this.endTime = (new JSBNG__Date).getTime();\n            delete p[this.key()];\n            ((o[this.key()] || (o[this.key()] = this)));\n            if (!this.completed) {\n                this.results = u(arguments);\n                this.completed = !0;\n                if (this.callbacks) {\n                    for (var c = 0, d; d = this.callbacks[c]; c++) {\n                        d.apply(a, this.results);\n                    ;\n                    };\n                }\n            ;\n            ;\n                if (b = n[this.key()]) {\n                    for (var c = 0, e; e = b[c]; c++) {\n                        e.complete.apply(e, arguments);\n                    ;\n                    };\n                ;\n                    delete n[this.key()];\n                }\n            ;\n            ;\n            }\n        ;\n        ;\n        };\n        A.autoFetch = !0;\n        A.xhrTransport = function() {\n            var a, b = this;\n            if (window.JSBNG__XMLHttpRequest) {\n                a = new window.JSBNG__XMLHttpRequest;\n            }\n             else {\n                try {\n                    a = new window.ActiveXObject(\"Microsoft.XMLHTTP\");\n                } catch (c) {\n                    return new Error(\"XHR not found.\");\n                };\n            }\n        ;\n        ;\n            a.onreadystatechange = function() {\n                var c;\n                ((((a.readyState == 4)) && b.loaded(a.responseText)));\n            };\n            a.open(\"GET\", this.path, !0);\n            a.send(null);\n        };\n        A.scriptTagTransport = function() {\n            var b = f.cloneNode(!1), c = this;\n            this.scriptId = ((\"LR\" + s()));\n            b.id = this.scriptId;\n            b.type = \"text/javascript\";\n            b.async = !0;\n            b.JSBNG__onerror = function() {\n                throw new Error(((c.path + \" not loaded\")));\n            };\n            b.onreadystatechange = b.JSBNG__onload = function(b) {\n                b = ((a.JSBNG__event || b));\n                if (((((b.type == \"load\")) || ((w([\"loaded\",\"complete\",], this.readyState) > -1))))) {\n                    this.onreadystatechange = null;\n                    c.loaded();\n                }\n            ;\n            ;\n            };\n            b.src = this.path;\n            i = this;\n            d[0].parentNode.insertBefore(b, d[0]);\n            i = null;\n            j[this.scriptId] = this;\n        };\n        A.prototype = new z;\n        A.prototype.start = function() {\n            var a = this, b;\n            (((def = D.provided[this.originalPath]) ? def.then(function() {\n                a.complete();\n            }) : (((b = T(this.originalPath)) ? b.then(function() {\n                a.start();\n            }) : z.prototype.start.call(this)))));\n        };\n        A.prototype.resolvePath = function(a) {\n            a = a.replace(/^\\$/, ((M.path.replace(/\\/$/, \"\") + \"/\")));\n            return a;\n        };\n        A.prototype.key = function() {\n            return ((\"script_\" + this.id));\n        };\n        A.prototype.shouldFetch = function() {\n            return ((A.autoFetch || this.force));\n        };\n        A.prototype.fetch = A.scriptTagTransport;\n        A.prototype.loaded = function() {\n            this.complete();\n        };\n        B.exports = {\n        };\n        B.prototype = new A;\n        B.prototype.start = function() {\n            var a = this, b, c;\n            (((b = D.provided[this.id]) ? b.then(function(b) {\n                a.complete.call(a, b);\n            }) : (((c = T(this.id)) ? c.then(function() {\n                a.start();\n            }) : A.prototype.start.call(this)))));\n        };\n        B.prototype.key = function() {\n            return ((\"module_\" + this.id));\n        };\n        B.prototype.resolvePath = function(a) {\n            return x(M.path, ((a + \".js\")));\n        };\n        B.prototype.loaded = function() {\n            var a, b, d = this;\n            if (!c) {\n                a = g;\n                g = null;\n                if (a) {\n                    a.setId(this.id);\n                    a.then(function(a) {\n                        d.complete.call(d, a);\n                    });\n                }\n                 else if (!D.provided[this.id]) {\n                    throw new Error(((((\"Tried to load '\" + this.id)) + \"' as a module, but it didn't have a 'provide()' in it.\")));\n                }\n                \n            ;\n            ;\n            }\n        ;\n        ;\n        };\n        C.prototype = new A;\n        C.prototype.start = function() {\n            var a = this, b, c, d;\n            for (var e = 0, f = this.contents.length; ((e < f)); e++) {\n                c = O(this.contents[e]);\n                this.deps.push(c);\n                d = c.key();\n                ((((((!o[d] && !p[d])) && !n[d])) && (n[d] = this)));\n            };\n        ;\n            A.prototype.start.call(this);\n        };\n        C.prototype.loaded = function() {\n            var a, b, c = this, d, e;\n            for (var f = 0, g = this.deps.length; ((f < g)); f++) {\n                d = this.deps[f];\n                e = d.key();\n                delete n[e];\n                o[e] = this;\n            };\n        ;\n            A.prototype.loaded.call(this);\n        };\n        D.provided = {\n        };\n        D.prototype = new z;\n        D.prototype.key = function() {\n            ((this.id || (this.id = ((\"anon_\" + s())))));\n            return ((\"definition_\" + this.id));\n        };\n        D.prototype.setId = function(a) {\n            this.id = a;\n            D.provided[a] = this;\n        };\n        D.prototype.fetch = function() {\n            var a = this;\n            ((((typeof this.body == \"object\")) ? this.complete(this.body) : ((((typeof this.body == \"function\")) && this.body(function(b) {\n                a.complete(b);\n            })))));\n        };\n        D.prototype.complete = function(a) {\n            a = ((a || {\n            }));\n            ((this.id && (this.exports = B.exports[this.id] = a)));\n            z.prototype.complete.call(this, a);\n        };\n        G.prototype = new z;\n        G.prototype.fetch = function() {\n            function b() {\n                var b = [];\n                for (var c = 0, d; d = a.deps[c]; c++) {\n                    if (!d.completed) {\n                        return;\n                    }\n                ;\n                ;\n                    ((((d.results.length > 0)) && (b = b.concat(d.results))));\n                };\n            ;\n                a.complete.apply(a, b);\n            };\n        ;\n            var a = this;\n            for (var c = 0, d; d = this.deps[c]; c++) {\n                d.then(b);\n            ;\n            };\n        ;\n            return this;\n        };\n        G.prototype.forceFetch = F;\n        G.prototype.as = function(a) {\n            var b = this;\n            return this.then(function() {\n                var c = E(b.deps), d = {\n                };\n                for (var e = 0, f; f = c[e]; e++) {\n                    y(d, f.id, arguments[e]);\n                ;\n                };\n            ;\n                a.apply(this, [d,].concat(u(arguments)));\n            });\n        };\n        H.prototype = new z;\n        H.prototype.fetch = function() {\n            var a = this, b = 0, c = [];\n            (function d() {\n                var e = a.deps[b++];\n                ((e ? e.then(function(a) {\n                    ((((e.results.length > 0)) && (c = c.concat(e.results))));\n                    d();\n                }) : a.complete.apply(a, c)));\n            })();\n            return this;\n        };\n        H.prototype.forceFetch = F;\n        var I = [];\n        J.prototype.push = function(a) {\n            {\n                var fin47keys = ((window.top.JSBNG_Replay.forInKeys)((a))), fin47i = (0);\n                var b;\n                for (; (fin47i < fin47keys.length); (fin47i++)) {\n                    ((b) = (fin47keys[fin47i]));\n                    {\n                        I[b] = new C(b, a[b]);\n                        for (var c = 0, d; d = a[b][c]; c++) {\n                            this.entries[d] = I[b];\n                        ;\n                        };\n                    ;\n                    };\n                };\n            };\n        ;\n        };\n        J.prototype.get = function(a) {\n            return this.entries[a];\n        };\n        var P = function(a) {\n            return a(M, L, P);\n        };\n        P.Script = A;\n        P.Module = B;\n        P.Collection = G;\n        P.Sequence = H;\n        P.Definition = D;\n        P.Dependency = z;\n        P.noConflict = Q;\n        P.debug = R;\n        P.reset = S;\n        a.loadrunner = P;\n        a.using = M;\n        a.provide = L;\n        M.path = \"\";\n        M.bundles = new J;\n        M.matchers = [];\n        M.matchers.add = function(a, b) {\n            this.unshift([a,b,]);\n        };\n        M.matchers.add(/^(lr!)?[a-zA-Z0-9_\\/.-]+$/, function(a) {\n            var b = new B(a.replace(/^lr!/, \"\"));\n            return b;\n        });\n        M.matchers.add(/(^script!|\\.js$)/, function(a) {\n            var b = new A(a.replace(/^script!/, \"\"));\n            return b;\n        });\n        if (e) {\n            M.path = ((((e.getAttribute(\"data-path\") || e.src.split(/loadrunner\\.js/)[0])) || \"\"));\n            (((main = e.getAttribute(\"data-main\")) && M.apply(a, main.split(/\\s*,\\s*/)).then(function() {\n            \n            })));\n        }\n    ;\n    ;\n    })(this, JSBNG__document);\n    (function(a) {\n        loadrunner(function(b, c) {\n            function e(a, b) {\n                return new loadrunner.Definition(a, function(a) {\n                    a(b());\n                });\n            };\n        ;\n            var d;\n            a.deferred = e;\n            b.matchers.add(/(^script!|\\.js(!?)$)/, function(a) {\n                var b = !!a.match(/!$/);\n                a = a.replace(/!$/, \"\");\n                if (d = loadrunner.Definition.provided[a]) {\n                    return d;\n                }\n            ;\n            ;\n                var c = new loadrunner.Script(a, b);\n                ((b && c.start()));\n                return c;\n            });\n        });\n    })(this);\n    (function(a) {\n        loadrunner(function(b, c) {\n            function d(a) {\n                return Array.prototype.slice.call(a);\n            };\n        ;\n            function f(a, b) {\n                for (var c = 0, d; d = a[c]; c++) {\n                    if (((b == d))) {\n                        return c;\n                    }\n                ;\n                ;\n                };\n            ;\n                return -1;\n            };\n        ;\n            function g(a, b) {\n                var c = ((b.id || \"\")), d = c.split(\"/\");\n                d.pop();\n                var e = a.split(\"/\"), f = !1;\n                while (((((e[0] == \"..\")) && d.length))) {\n                    d.pop();\n                    e.shift();\n                    f = !0;\n                };\n            ;\n                if (((e[0] == \".\"))) {\n                    e.shift();\n                    f = !0;\n                }\n            ;\n            ;\n                ((f && (e = d.concat(e))));\n                return e.join(\"/\");\n            };\n        ;\n            function i(a, b) {\n                function d(a) {\n                    return loadrunner.Module.exports[g(a.replace(/^.+!/, \"\"), b)];\n                };\n            ;\n                var c = [];\n                for (var e = 0, f = a.length; ((e < f)); e++) {\n                    if (((a[e] == \"require\"))) {\n                        c.push(d);\n                        continue;\n                    }\n                ;\n                ;\n                    if (((a[e] == \"exports\"))) {\n                        b.exports = ((b.exports || {\n                        }));\n                        c.push(b.exports);\n                        continue;\n                    }\n                ;\n                ;\n                    if (((a[e] == \"module\"))) {\n                        c.push(b);\n                        continue;\n                    }\n                ;\n                ;\n                    c.push(d(a[e]));\n                };\n            ;\n                return c;\n            };\n        ;\n            function j() {\n                var a = d(arguments), c = [], j, k;\n                ((((typeof a[0] == \"string\")) && (j = a.shift())));\n                ((e(a[0]) && (c = a.shift())));\n                k = a.shift();\n                var l = new loadrunner.Definition(j, function(a) {\n                    function l() {\n                        var b = i(d(c), j), e;\n                        ((((typeof k == \"function\")) ? e = k.apply(j, b) : e = k));\n                        ((((typeof e == \"undefined\")) && (e = j.exports)));\n                        a(e);\n                    };\n                ;\n                    var e = [], j = this;\n                    for (var m = 0, n = c.length; ((m < n)); m++) {\n                        var o = c[m];\n                        ((((f([\"require\",\"exports\",\"module\",], o) == -1)) && e.push(g(o, j))));\n                    };\n                ;\n                    ((((e.length > 0)) ? b.apply(this, e.concat(l)) : l()));\n                });\n                return l;\n            };\n        ;\n            var e = ((Array.isArray || function(a) {\n                return ((a.constructor == Array));\n            }));\n            a.define = j;\n        });\n    })(this);\n    loadrunner(function(a, b, c, d) {\n        function e(a) {\n            this.id = this.path = a;\n        };\n    ;\n        e.loaded = {\n        };\n        e.prototype = new c.Dependency;\n        e.prototype.start = function() {\n            if (e.loaded[this.path]) this.complete();\n             else {\n                e.loaded[this.path] = !0;\n                this.load();\n            }\n        ;\n        ;\n        };\n        e.prototype.load = function() {\n            function j() {\n                if ((($(f).length > 0))) {\n                    return i();\n                }\n            ;\n            ;\n                c += 1;\n                ((((c < 200)) ? b = JSBNG__setTimeout(j, 50) : i()));\n            };\n        ;\n            function k() {\n                var d;\n                try {\n                    d = !!a.sheet.cssRules;\n                } catch (e) {\n                    c += 1;\n                    ((((c < 200)) ? b = JSBNG__setTimeout(k, 50) : i()));\n                    return;\n                };\n            ;\n                i();\n            };\n        ;\n            var a, b, c, d = JSBNG__document, e = this.path, f = ((((\"link[href=\\\"\" + e)) + \"\\\"]\")), g = $.browser;\n            if ((($(f).length > 0))) {\n                return this.complete();\n            }\n        ;\n        ;\n            var i = function() {\n                JSBNG__clearTimeout(b);\n                a.JSBNG__onload = a.JSBNG__onerror = null;\n                this.complete();\n            }.bind(this);\n            if (((g.webkit || g.mozilla))) {\n                c = 0;\n                if (g.webkit) j();\n                 else {\n                    a = d.createElement(\"style\");\n                    a.innerHTML = ((((\"@import \\\"\" + e)) + \"\\\";\"));\n                    k(a);\n                }\n            ;\n            ;\n            }\n        ;\n        ;\n            if (!a) {\n                a = d.createElement(\"link\");\n                a.setAttribute(\"rel\", \"stylesheet\");\n                a.setAttribute(\"href\", e);\n                a.setAttribute(\"charset\", \"utf-8\");\n            }\n        ;\n        ;\n            a.JSBNG__onload = a.JSBNG__onerror = i;\n            ((d.head || d.getElementsByTagName(\"head\")[0])).appendChild(a);\n        };\n        a.matchers.add(/^css!/, function(a) {\n            a = a.replace(/^css!/, \"\");\n            return new e(a);\n        });\n    });\n    using.aliases = {\n        \"$jasmine.b28c2693f489d65bb33ece420c8a7abea6b777c2.js\": [\"test/core/clock_spec\",\"test/core/parameterize_spec\",\"test/fixtures/news_onebox\",\"test/fixtures/user_search\",\"test/fixtures/saved_searches_dropdown\",\"test/fixtures/advanced_search\",\"test/fixtures/trends_location_dialog_api\",\"test/fixtures/resend_password_help\",\"test/fixtures/own_profile_header\",\"test/fixtures/profile_image_upload_dialog\",\"test/fixtures/trends_api\",\"test/fixtures/discover_stories\",\"test/fixtures/user_onebox\",\"test/fixtures/tweet_export_dialog\",\"test/fixtures/user_actions_chatty\",\"test/fixtures/settings_design_page\",\"test/fixtures/media_onebox\",\"test/app/utils/image_spec\",\"test/app/utils/setup_polling_with_backoff_spec\",\"test/app/utils/params_spec\",\"test/app/utils/cookie_spec\",\"test/app/utils/ellipsis_spec\",\"test/app/utils/oauth_popup_spec\",\"test/app/utils/image_thumbnail_spec\",\"test/app/utils/third_party_application_spec\",\"test/app/utils/querystring_spec\",\"test/app/utils/request_logger_spec\",\"test/app/utils/with_event_params_spec\",\"test/app/utils/drag_drop_helper_spec\",\"test/app/utils/time_spec\",\"test/app/utils/image_resize_spec\",\"test/app/utils/html_text_spec\",\"test/app/utils/sandboxed_ajax_spec\",\"test/app/utils/auth_token_spec\",\"test/app/utils/chrome_spec\",\"test/app/utils/with_session_spec\",\"test/app/utils/string_spec\",\"test/app/utils/tweet_helper_spec\",\"test/app/utils/typeahead_helpers_spec\",\"test/app/utils/hide_or_show_divider_spec\",\"test/app/helpers/log_client_events_spec\",\"test/app/helpers/second_data_component\",\"test/app/helpers/global_after_each_spec\",\"test/app/helpers/test_component\",\"test/app/helpers/describe_component_spec\",\"test/app/helpers/extra_jquery_helpers_spec\",\"test/app/helpers/test_module\",\"test/app/helpers/describe_mixin_spec\",\"test/app/helpers/ajax_respond_with_spec\",\"test/app/helpers/test_scribing_component\",\"test/app/helpers/describe_component_with_data_components_spec\",\"test/app/helpers/describe_module_spec\",\"test/app/helpers/first_data_component\",\"test/app/helpers/test_mixin\",\"test/app/data/with_data_spec\",\"test/app/data/trends_scribe_spec\",\"test/app/data/resend_password_help_scribe_spec\",\"test/app/data/tweet_actions_spec\",\"test/app/data/permalink_scribe_spec\",\"test/app/data/activity_popup_scribe_spec\",\"test/app/data/login_verification_spec\",\"test/app/data/item_actions_scribe_spec\",\"test/app/data/resend_password_spec\",\"test/app/data/user_search_spec\",\"test/app/data/who_to_follow_scribe_spec\",\"test/app/data/url_resolver_spec\",\"test/app/data/oembed_scribe_spec\",\"test/app/data/promoted_logger_spec\",\"test/app/data/login_scribe_spec\",\"test/app/data/user_actions_scribe_spec\",\"test/app/data/facets_timeline_spec\",\"test/app/data/typeahead_scribe_spec\",\"test/app/data/saved_searches_spec\",\"test/app/data/geo_spec\",\"test/app/data/tweet_actions_scribe_spec\",\"test/app/data/scribing_context_spec\",\"test/app/data/prompt_mobile_app_scribe_spec\",\"test/app/data/settings_spec\",\"test/app/data/trends_spec\",\"test/app/data/tweet_translation_spec\",\"test/app/data/oembed_spec\",\"test/app/data/search_input_scribe_spec\",\"test/app/data/list_follow_card_spec\",\"test/app/data/notifications_spec\",\"test/app/data/tweet_box_scribe_spec\",\"test/app/data/conversations_spec\",\"test/app/data/embed_stats_scribe_spec\",\"test/app/data/search_assistance_scribe_spec\",\"test/app/data/activity_popup_spec\",\"test/app/data/with_widgets_spec\",\"test/app/data/list_members_dashboard_spec\",\"test/app/data/frontpage_scribe_spec\",\"test/app/data/ttft_navigation_spec\",\"test/app/data/share_via_email_dialog_data_spec\",\"test/app/data/contact_import_scribe_spec\",\"test/app/data/profile_popup_spec\",\"test/app/data/direct_messages_spec\",\"test/app/data/profile_canopy_scribe_spec\",\"test/app/data/form_scribe_spec\",\"test/app/data/with_conversation_metadata_spec\",\"test/app/data/simple_event_scribe_spec\",\"test/app/data/email_banner_spec\",\"test/app/data/timeline_spec\",\"test/app/data/user_info_spec\",\"test/app/data/with_interaction_data_scribe_spec\",\"test/app/data/dm_poll_spec\",\"test/app/data/profile_social_proof_scribe_spec\",\"test/app/data/async_profile_spec\",\"test/app/data/gallery_scribe_spec\",\"test/app/data/lists_spec\",\"test/app/data/tweet_spec\",\"test/app/data/with_scribe_spec\",\"test/app/data/user_search_scribe_spec\",\"test/app/data/follower_request_spec\",\"test/app/data/user_completion_module_scribe_spec\",\"test/app/data/temporary_password_spec\",\"test/app/data/profile_popup_scribe_spec\",\"test/app/data/archive_navigator_scribe_spec\",\"test/app/data/notification_listener_spec\",\"test/app/data/embed_scribe_spec\",\"test/app/data/signup_click_scribe_spec\",\"test/app/data/contact_import_spec\",\"test/app/data/with_card_metadata_spec\",\"test/app/data/onebox_scribe_spec\",\"test/app/data/media_settings_spec\",\"test/app/data/page_visibility_scribe_spec\",\"test/app/data/inline_edit_scribe_spec\",\"test/app/data/story_scribe_spec\",\"test/app/data/signup_data_spec\",\"test/app/data/user_spec\",\"test/app/data/media_timeline_spec\",\"test/app/data/direct_messages_scribe_spec\",\"test/app/data/navigation_spec\",\"test/app/data/with_auth_token_spec\",\"test/app/data/suggested_users_spec\",\"test/app/data/promptbird_spec\",\"test/app/data/signup_scribe_spec\",\"test/app/data/who_to_tweet_spec\",\"test/app/data/who_to_follow_spec\",\"test/app/data/media_thumbnails_scribe_spec\",\"test/app/ui/message_drawer_spec\",\"test/app/ui/color_picker_spec\",\"test/app/ui/with_forgot_password_spec\",\"test/app/ui/theme_preview_spec\",\"test/app/ui/search_query_source_spec\",\"test/app/ui/signin_dropdown_spec\",\"test/app/ui/tooltips_spec\",\"test/app/ui/user_search_spec\",\"test/app/ui/search_input_spec\",\"test/app/ui/with_focus_highlight_spec\",\"test/app/ui/with_inline_image_editing_spec\",\"test/app/ui/user_completion_module_spec\",\"test/app/ui/validating_fieldset_spec\",\"test/app/ui/alert_banner_to_message_drawer_spec\",\"test/app/ui/protected_verified_dialog_spec\",\"test/app/ui/with_item_actions_spec\",\"test/app/ui/oauth_revoker_spec\",\"test/app/ui/with_profile_stats_spec\",\"test/app/ui/with_timestamp_updating_spec\",\"test/app/ui/geo_deletion_spec\",\"test/app/ui/permalink_keyboard_support_spec\",\"test/app/ui/drag_state_spec\",\"test/app/ui/tweet_box_spec\",\"test/app/ui/with_story_clicks_spec\",\"test/app/ui/temporary_password_button_spec\",\"test/app/ui/with_loading_indicator_spec\",\"test/app/ui/navigation_links_spec\",\"test/app/ui/profile_image_monitor_dom_spec\",\"test/app/ui/image_uploader_spec\",\"test/app/ui/with_dialog_spec\",\"test/app/ui/with_upload_photo_affordance_spec\",\"test/app/ui/with_import_services_spec\",\"test/app/ui/hidden_descendants_spec\",\"test/app/ui/list_follow_card_spec\",\"test/app/ui/password_dialog_spec\",\"test/app/ui/keyboard_shortcuts_spec\",\"test/app/ui/infinite_scroll_watcher_spec\",\"test/app/ui/signup_call_out_spec\",\"test/app/ui/capped_file_upload_spec\",\"test/app/ui/list_members_dashboard_spec\",\"test/app/ui/alert_banner_spec\",\"test/app/ui/with_select_all_spec\",\"test/app/ui/password_match_pair_spec\",\"test/app/ui/password_spec\",\"test/app/ui/login_verification_confirmation_dialog_spec\",\"test/app/ui/settings_controls_spec\",\"test/app/ui/profile_popup_spec\",\"test/app/ui/aria_event_logger_spec\",\"test/app/ui/tweet_injector_spec\",\"test/app/ui/page_title_spec\",\"test/app/ui/page_visibility_spec\",\"test/app/ui/captcha_dialog_spec\",\"test/app/ui/with_discover_expando_spec\",\"test/app/ui/direct_message_link_handler_spec\",\"test/app/ui/with_dropdown_spec\",\"test/app/ui/facets_spec\",\"test/app/ui/inline_edit_spec\",\"test/app/ui/dashboard_tweetbox_spec\",\"test/app/ui/timezone_detector_spec\",\"test/app/ui/email_confirmation_spec\",\"test/app/ui/with_removable_stream_items_spec\",\"test/app/ui/cookie_warning_spec\",\"test/app/ui/inline_profile_editing_initializor_spec\",\"test/app/ui/with_stream_users_spec\",\"test/app/ui/geo_picker_spec\",\"test/app/ui/image_selector_spec\",\"test/app/ui/with_position_spec\",\"test/app/ui/with_user_actions_spec\",\"test/app/ui/email_field_highlight_spec\",\"test/app/ui/with_rich_editor_spec\",\"test/app/ui/theme_picker_spec\",\"test/app/ui/tweet_box_thumbnails_spec\",\"test/app/ui/with_rtl_tweet_box_spec\",\"test/app/ui/login_verification_form_spec\",\"test/app/ui/direct_message_dialog_spec\",\"test/app/ui/profile_image_monitor_spec\",\"test/app/ui/with_image_selection_spec\",\"test/app/ui/with_tweet_actions_spec\",\"test/app/ui/embed_stats_spec\",\"test/app/ui/with_tweet_translation_spec\",\"test/app/ui/search_dropdown_spec\",\"test/app/ui/new_tweet_button_spec\",\"test/app/ui/impression_cookies_spec\",\"test/app/ui/field_edit_warning_spec\",\"test/app/ui/profile_edit_param_spec\",\"test/app/ui/hidden_ancestors_spec\",\"test/app/ui/advanced_search_spec\",\"test/app/ui/with_click_outside_spec\",\"test/app/ui/discover_spec\",\"test/app/ui/design_spec\",\"test/app/ui/tweet_dialog_spec\",\"test/app/ui/with_inline_image_options_spec\",\"test/app/ui/global_nav_spec\",\"test/app/ui/navigation_spec\",\"test/app/ui/toolbar_spec\",\"test/app/ui/suggested_users_spec\",\"test/app/ui/promptbird_spec\",\"test/app/ui/deactivated_spec\",\"test/app/ui/with_conversation_actions_spec\",\"test/app/ui/who_to_tweet_spec\",\"test/app/ui/with_text_polling_spec\",\"test/app/ui/password_strength_spec\",\"test/app/ui/inline_profile_editing_spec\",\"test/app/ui/user_dropdown_spec\",\"test/app/ui/with_interaction_data_spec\",\"test/app/ui/with_password_strength_spec\",\"test/app/utils/image/image_loader_spec\",\"test/app/utils/crypto/aes_spec\",\"test/app/utils/storage/with_crypto_spec\",\"test/app/utils/storage/with_expiry_spec\",\"test/app/utils/storage/custom_spec\",\"test/app/utils/storage/core_spec\",\"test/app/data/feedback/feedback_spec\",\"test/app/data/typeahead/with_cache_spec\",\"test/app/data/typeahead/with_external_event_listeners_spec\",\"test/app/data/typeahead/context_helper_datasource_spec\",\"test/app/data/typeahead/typeahead_spec\",\"test/app/data/typeahead/saved_searches_datasource_spec\",\"test/app/data/typeahead/trend_locations_datasource_spec\",\"test/app/data/typeahead/topics_datasource_spec\",\"test/app/data/typeahead/recent_searches_datasource_spec\",\"test/app/data/typeahead/accounts_datasource_spec\",\"test/app/data/who_to_follow/web_personalized_proxy_spec\",\"test/app/data/who_to_follow/web_personalized_scribe_spec\",\"test/app/data/settings/facebook_proxy_spec\",\"test/app/data/settings/login_verification_test_run_spec\",\"test/app/data/welcome/intro_scribe_spec\",\"test/app/data/welcome/lifeline_scribe_spec\",\"test/app/data/welcome/welcome_cards_scribe_spec\",\"test/app/data/welcome/interests_picker_scribe_spec\",\"test/app/data/welcome/invitations_scribe_spec\",\"test/app/data/welcome/welcome_data_spec\",\"test/app/data/welcome/preview_stream_scribe_spec\",\"test/app/data/welcome/flow_nav_scribe_spec\",\"test/app/data/welcome/users_cards_spec\",\"test/app/data/mobile_gallery/download_links_scribe_spec\",\"test/app/data/mobile_gallery/send_download_link_spec\",\"test/app/data/trends/recent_locations_spec\",\"test/app/data/trends/location_dialog_spec\",\"test/app/ui/gallery/with_gallery_spec\",\"test/app/ui/gallery/grid_spec\",\"test/app/ui/gallery/gallery_spec\",\"test/app/ui/gallery/with_grid_spec\",\"test/app/ui/dialogs/temporary_password_dialog_spec\",\"test/app/ui/dialogs/delete_tweet_dialog_spec\",\"test/app/ui/dialogs/embed_tweet_spec\",\"test/app/ui/dialogs/block_user_dialog_spec\",\"test/app/ui/dialogs/profile_edit_error_dialog_spec\",\"test/app/ui/dialogs/promptbird_invite_contacts_dialog_spec\",\"test/app/ui/dialogs/sensitive_flag_confirmation_spec\",\"test/app/ui/dialogs/in_product_help_dialog_spec\",\"test/app/ui/dialogs/iph_search_result_dialog_spec\",\"test/app/ui/dialogs/activity_popup_spec\",\"test/app/ui/dialogs/goto_user_dialog_spec\",\"test/app/ui/dialogs/signin_or_signup_spec\",\"test/app/ui/dialogs/retweet_dialog_spec\",\"test/app/ui/dialogs/profile_confirm_image_delete_dialog_spec\",\"test/app/ui/dialogs/list_membership_dialog_spec\",\"test/app/ui/dialogs/list_operations_dialog_spec\",\"test/app/ui/dialogs/confirm_dialog_spec\",\"test/app/ui/dialogs/with_modal_tweet_spec\",\"test/app/ui/dialogs/tweet_export_dialog_spec\",\"test/app/ui/dialogs/profile_image_upload_dialog_spec\",\"test/app/ui/dialogs/confirm_email_dialog_spec\",\"test/app/ui/feedback/feedback_report_link_handler_spec\",\"test/app/ui/feedback/feedback_dialog_spec\",\"test/app/ui/search/related_queries_spec\",\"test/app/ui/search/user_onebox_spec\",\"test/app/ui/search/news_onebox_spec\",\"test/app/ui/search/archive_navigator_spec\",\"test/app/ui/search/media_onebox_spec\",\"test/app/ui/search/spelling_corrections_spec\",\"test/app/ui/typeahead/context_helpers_renderer_spec\",\"test/app/ui/typeahead/recent_searches_renderer_spec\",\"test/app/ui/typeahead/typeahead_input_spec\",\"test/app/ui/typeahead/saved_searches_renderer_spec\",\"test/app/ui/typeahead/accounts_renderer_spec\",\"test/app/ui/typeahead/trend_locations_renderer_spec\",\"test/app/ui/typeahead/typeahead_dropdown_spec\",\"test/app/ui/typeahead/topics_renderer_spec\",\"test/app/ui/vit/verification_step_spec\",\"test/app/ui/vit/mobile_topbar_spec\",\"test/app/ui/profile/canopy_spec\",\"test/app/ui/profile/head_spec\",\"test/app/ui/profile/social_proof_spec\",\"test/app/ui/account/resend_password_controls_spec\",\"test/app/ui/account/resend_password_help_controls_spec\",\"test/app/ui/expando/with_expanding_containers_spec\",\"test/app/ui/expando/expanding_tweets_spec\",\"test/app/ui/expando/with_expanding_social_activity_spec\",\"test/app/ui/expando/expando_helpers_spec\",\"test/app/ui/expando/close_all_button_spec\",\"test/app/ui/signup/with_signup_validation_spec\",\"test/app/ui/signup/suggestions_spec\",\"test/app/ui/signup/signup_form_spec\",\"test/app/ui/signup/stream_end_signup_module_spec\",\"test/app/ui/signup/with_captcha_spec\",\"test/app/ui/media/with_hidden_display_spec\",\"test/app/ui/media/with_legacy_media_spec\",\"test/app/ui/media/with_legacy_embeds_spec\",\"test/app/ui/media/with_flag_action_spec\",\"test/app/ui/media/media_thumbnails_spec\",\"test/app/ui/media/with_legacy_icons_spec\",\"test/app/ui/media/card_thumbnails_spec\",\"test/app/ui/signup_download/next_and_skip_buttons_spec\",\"test/app/ui/signup_download/us_phone_number_checker_spec\",\"test/app/ui/who_to_follow/import_services_spec\",\"test/app/ui/who_to_follow/web_personalized_settings_spec\",\"test/app/ui/who_to_follow/matched_contacts_list_spec\",\"test/app/ui/who_to_follow/with_unmatched_contacts_spec\",\"test/app/ui/who_to_follow/who_to_follow_dashboard_spec\",\"test/app/ui/who_to_follow/find_friends_spec\",\"test/app/ui/who_to_follow/invite_form_spec\",\"test/app/ui/who_to_follow/with_invite_messages_spec\",\"test/app/ui/who_to_follow/who_to_follow_timeline_spec\",\"test/app/ui/who_to_follow/with_user_recommendations_spec\",\"test/app/ui/who_to_follow/web_personalized_signup_spec\",\"test/app/ui/who_to_follow/with_invite_preview_spec\",\"test/app/ui/settings/facebook_iframe_height_adjuster_spec\",\"test/app/ui/settings/with_cropper_spec\",\"test/app/ui/settings/tweet_export_spec\",\"test/app/ui/settings/facebook_login_spec\",\"test/app/ui/settings/facebook_connect_spec\",\"test/app/ui/settings/sms_phone_create_form_spec\",\"test/app/ui/settings/tweet_export_download_spec\",\"test/app/ui/settings/notifications_spec\",\"test/app/ui/settings/widgets_configurator_spec\",\"test/app/ui/settings/device_verified_form_spec\",\"test/app/ui/settings/change_photo_spec\",\"test/app/ui/settings/facebook_spinner_spec\",\"test/app/ui/settings/facebook_connection_conflict_spec\",\"test/app/ui/settings/sms_phone_verify_form_spec\",\"test/app/ui/settings/facebook_connected_spec\",\"test/app/ui/settings/facebook_missing_permissions_spec\",\"test/app/ui/settings/widgets_spec\",\"test/app/ui/settings/facebook_mismatched_connection_spec\",\"test/app/ui/settings/login_verification_sms_check_spec\",\"test/app/ui/timelines/event_timeline_spec\",\"test/app/ui/timelines/with_cursor_pagination_spec\",\"test/app/ui/timelines/user_timeline_spec\",\"test/app/ui/timelines/universal_timeline_spec\",\"test/app/ui/timelines/with_keyboard_navigation_spec\",\"test/app/ui/timelines/with_story_pagination_spec\",\"test/app/ui/timelines/with_polling_spec\",\"test/app/ui/timelines/discover_timeline_spec\",\"test/app/ui/timelines/follower_request_timeline_spec\",\"test/app/ui/timelines/with_pinned_stream_items_spec\",\"test/app/ui/timelines/with_most_recent_story_pagination_spec\",\"test/app/ui/timelines/with_preserved_scroll_position_spec\",\"test/app/ui/timelines/with_tweet_pagination_spec\",\"test/app/ui/timelines/tweet_timeline_spec\",\"test/app/ui/timelines/with_activity_supplements_spec\",\"test/app/ui/welcome/interests_header_search_spec\",\"test/app/ui/welcome/intro_video_spec\",\"test/app/ui/welcome/import_services_cards_spec\",\"test/app/ui/welcome/lifeline_device_follow_dialog_spec\",\"test/app/ui/welcome/with_similarities_spec\",\"test/app/ui/welcome/invite_dialog_spec\",\"test/app/ui/welcome/learn_dashboard_spec\",\"test/app/ui/welcome/interests_category_flow_nav_spec\",\"test/app/ui/welcome/profile_flow_nav_spec\",\"test/app/ui/welcome/profile_form_spec\",\"test/app/ui/welcome/custom_interest_spec\",\"test/app/ui/welcome/with_nav_buttons_spec\",\"test/app/ui/welcome/with_interests_spec\",\"test/app/ui/welcome/interests_picker_spec\",\"test/app/ui/welcome/with_more_results_spec\",\"test/app/ui/welcome/with_welcome_search_spec\",\"test/app/ui/welcome/users_cards_spec\",\"test/app/ui/welcome/internal_link_disabler_spec\",\"test/app/ui/mobile_gallery/gallery_buttons_spec\",\"test/app/ui/forms/select_box_spec\",\"test/app/ui/forms/with_submit_disable_spec\",\"test/app/ui/forms/input_with_placeholder_spec\",\"test/app/ui/forms/mobile_gallery_email_form_spec\",\"test/app/ui/forms/form_value_modification_spec\",\"test/app/ui/forms/element_group_toggler_spec\",\"test/app/ui/trends/trends_spec\",\"test/app/ui/trends/trends_dialog_spec\",\"test/app/ui/banners/email_banner_spec\",\"test/app/ui/promptbird/with_invite_contacts_spec\",\"test/app/ui/promptbird/with_invite_contacts\",\"test/app/utils/storage/array/with_max_elements_spec\",\"test/app/utils/storage/array/with_array_spec\",\"test/app/utils/storage/array/with_unique_elements_spec\",\"test/app/ui/timelines/conversations/ancestor_timeline_spec\",\"test/app/ui/timelines/conversations/descendant_timeline_spec\",\"test/app/ui/trends/dialog/nearby_trends_spec\",\"test/app/ui/trends/dialog/with_location_info_spec\",\"test/app/ui/trends/dialog/recent_trends_spec\",\"test/app/ui/trends/dialog/location_search_spec\",\"test/app/ui/trends/dialog/location_dropdown_spec\",\"test/app/ui/trends/dialog/dialog_spec\",\"test/app/ui/trends/dialog/current_location_spec\",\"test/app/ui/trends/dialog/with_location_list_picker_spec\",\"app/data/welcome/preview_stream_scribe\",\"app/ui/welcome/with_nav_buttons\",\"app/ui/welcome/interests_category_flow_nav\",\"app/ui/welcome/with_similarities\",],\n        \"$bundle/boot.2a31b60b327963d16b704386722149661e1cb6ea.js\": [\"app/data/geo\",\"app/data/tweet\",\"app/ui/tweet_dialog\",\"app/ui/new_tweet_button\",\"app/data/tweet_box_scribe\",\"lib/twitter-text\",\"app/ui/with_character_counter\",\"app/utils/with_event_params\",\"app/utils/caret\",\"app/ui/with_draft_tweets\",\"app/ui/with_text_polling\",\"app/ui/with_rtl_tweet_box\",\"app/ui/toolbar\",\"app/utils/tweet_helper\",\"app/utils/html_text\",\"app/ui/with_rich_editor\",\"app/ui/with_upload_photo_affordance\",\"$lib/jquery.swfobject.js\",\"app/utils/image\",\"app/utils/drag_drop_helper\",\"app/ui/with_drop_events\",\"app/ui/with_droppable_image\",\"app/ui/tweet_box\",\"app/utils/image_thumbnail\",\"app/ui/tweet_box_thumbnails\",\"app/utils/image_resize\",\"app/ui/with_image_selection\",\"app/ui/image_selector\",\"app/ui/typeahead/accounts_renderer\",\"app/ui/typeahead/saved_searches_renderer\",\"app/ui/typeahead/recent_searches_renderer\",\"app/ui/typeahead/topics_renderer\",\"app/ui/typeahead/trend_locations_renderer\",\"app/ui/typeahead/context_helpers_renderer\",\"app/utils/rtl_text\",\"app/ui/typeahead/typeahead_dropdown\",\"app/utils/event_support\",\"app/utils/string\",\"app/ui/typeahead/typeahead_input\",\"app/ui/with_click_outside\",\"app/ui/geo_picker\",\"app/ui/tweet_box_manager\",\"app/boot/tweet_boxes\",\"app/ui/user_dropdown\",\"app/ui/signin_dropdown\",\"app/ui/search_input\",\"app/utils/animate_window_scrolltop\",\"app/ui/global_nav\",\"app/ui/navigation_links\",\"app/data/search_input_scribe\",\"app/boot/top_bar\",\"app/ui/keyboard_shortcuts\",\"app/ui/dialogs/keyboard_shortcuts_dialog\",\"app/ui/dialogs/with_modal_tweet\",\"app/ui/dialogs/retweet_dialog\",\"app/ui/dialogs/delete_tweet_dialog\",\"app/ui/dialogs/block_user_dialog\",\"app/ui/dialogs/confirm_dialog\",\"app/ui/dialogs/confirm_email_dialog\",\"app/ui/dialogs/list_membership_dialog\",\"app/ui/dialogs/list_operations_dialog\",\"app/data/direct_messages\",\"app/data/direct_messages_scribe\",\"app/ui/direct_message_link_handler\",\"app/ui/with_timestamp_updating\",\"app/ui/direct_message_dialog\",\"app/boot/direct_messages\",\"app/data/profile_popup\",\"app/data/profile_popup_scribe\",\"app/ui/with_user_actions\",\"app/ui/with_item_actions\",\"app/ui/with_profile_stats\",\"app/ui/with_handle_overflow\",\"app/ui/profile_popup\",\"app/data/profile_edit_btn_scribe\",\"app/data/user\",\"app/data/lists\",\"app/boot/profile_popup\",\"app/data/typeahead/with_cache\",\"app/utils/typeahead_helpers\",\"app/data/with_datasource_helpers\",\"app/data/typeahead/accounts_datasource\",\"app/data/typeahead/saved_searches_datasource\",\"app/data/typeahead/recent_searches_datasource\",\"app/data/typeahead/with_external_event_listeners\",\"app/data/typeahead/topics_datasource\",\"app/data/typeahead/context_helper_datasource\",\"app/data/typeahead/trend_locations_datasource\",\"app/data/typeahead/typeahead\",\"app/data/typeahead_scribe\",\"app/ui/dialogs/goto_user_dialog\",\"app/utils/setup_polling_with_backoff\",\"app/ui/page_title\",\"app/ui/feedback/with_feedback_tweet\",\"app/ui/feedback/feedback_stories\",\"app/ui/feedback/with_feedback_discover\",\"app/ui/feedback/feedback_dialog\",\"app/ui/feedback/feedback_report_link_handler\",\"app/data/feedback/feedback\",\"app/ui/search_query_source\",\"app/ui/banners/email_banner\",\"app/data/email_banner\",\"app/ui/media/phoenix_shim\",\"app/utils/twt\",\"app/ui/media/types\",\"$lib/easyXDM.js\",\"app/utils/easy_xdm\",\"app/utils/sandboxed_ajax\",\"app/ui/media/with_legacy_icons\",\"app/utils/third_party_application\",\"app/ui/media/legacy_embed\",\"app/ui/media/with_legacy_embeds\",\"app/ui/media/with_flag_action\",\"app/ui/media/with_hidden_display\",\"app/ui/media/with_legacy_media\",\"app/utils/image/image_loader\",\"app/ui/with_tweet_actions\",\"app/ui/gallery/gallery\",\"app/data/gallery_scribe\",\"app/data/share_via_email_dialog_data\",\"app/ui/dialogs/share_via_email_dialog\",\"app/data/with_widgets\",\"app/ui/dialogs/embed_tweet\",\"app/data/embed_scribe\",\"app/data/oembed\",\"app/data/oembed_scribe\",\"app/ui/with_drag_events\",\"app/ui/drag_state\",\"app/data/notification_listener\",\"app/data/dm_poll\",\"app/boot/app\",],\n        \"$bundle/frontpage.4fadf7a73f7269b9c27c826f2ebf9bed67255e74.js\": [\"app/data/frontpage_scribe\",\"app/ui/cookie_warning\",\"app/pages/frontpage\",\"app/data/login_scribe\",\"app/pages/login\",],\n        \"$bundle/signup.990c69542ff942eb94bd30c41f9c7c6d04997ca3.js\": [\"app/ui/signup/with_captcha\",\"app/utils/common_regexp\",\"app/ui/signup/with_signup_validation\",\"app/ui/signup/signup_form\",\"app/ui/with_password_strength\",\"app/data/signup_data\",\"app/data/settings\",\"app/data/signup_scribe\",\"app/ui/signup/suggestions\",\"app/ui/signup/small_print_expander\",\"app/ui/signup_download/us_phone_number_checker\",\"app/pages/signup/signup\",],\n        \"$bundle/timeline.b98b3cb4be7ab03238736d9d12f3be01e878d262.js\": [\"app/data/tweet_actions\",\"app/ui/expando/with_expanding_containers\",\"app/ui/expando/expando_helpers\",\"app/ui/gallery/with_gallery\",\"app/ui/with_tweet_translation\",\"app/ui/tweets\",\"app/ui/tweet_injector\",\"app/ui/expando/with_expanding_social_activity\",\"app/ui/expando/expanding_tweets\",\"app/ui/embed_stats\",\"app/data/url_resolver\",\"app/ui/media/with_native_media\",\"app/ui/media/media_tweets\",\"app/data/trends\",\"app/data/trends/location_dialog\",\"app/data/trends/recent_locations\",\"app/utils/scribe_event_initiators\",\"app/data/trends_scribe\",\"app/ui/trends/trends\",\"app/ui/trends/trends_dialog\",\"app/ui/trends/dialog/with_location_info\",\"app/ui/trends/dialog/location_dropdown\",\"app/ui/trends/dialog/location_search\",\"app/ui/trends/dialog/current_location\",\"app/ui/trends/dialog/with_location_list_picker\",\"app/ui/trends/dialog/nearby_trends\",\"app/ui/trends/dialog/recent_trends\",\"app/ui/trends/dialog/dialog\",\"app/boot/trends\",\"app/ui/infinite_scroll_watcher\",\"app/data/timeline\",\"app/boot/timeline\",\"app/data/activity_popup\",\"app/ui/dialogs/activity_popup\",\"app/data/activity_popup_scribe\",\"app/boot/activity_popup\",\"app/data/tweet_translation\",\"app/data/conversations\",\"app/data/media_settings\",\"app/ui/dialogs/sensitive_flag_confirmation\",\"app/ui/user_actions\",\"app/data/prompt_mobile_app_scribe\",\"app/boot/tweets\",\"app/boot/help_pips_enable\",\"app/data/help_pips\",\"app/data/help_pips_scribe\",\"app/ui/help_pip\",\"app/ui/help_pips_injector\",\"app/boot/help_pips\",\"app/ui/expando/close_all_button\",\"app/ui/timelines/with_keyboard_navigation\",\"app/ui/with_focus_highlight\",\"app/ui/timelines/with_base_timeline\",\"app/ui/timelines/with_old_items\",\"app/utils/chrome\",\"app/ui/timelines/with_traveling_ptw\",\"app/ui/timelines/with_autoplaying_timeline\",\"app/ui/timelines/with_polling\",\"app/ui/timelines/with_new_items\",\"app/ui/timelines/with_tweet_pagination\",\"app/ui/timelines/with_preserved_scroll_position\",\"app/ui/timelines/with_activity_supplements\",\"app/ui/with_conversation_actions\",\"app/ui/timelines/with_pinned_stream_items\",\"app/ui/timelines/tweet_timeline\",\"app/boot/tweet_timeline\",\"app/ui/user_completion_module\",\"app/data/user_completion_module_scribe\",\"app/boot/user_completion_module\",\"app/ui/who_to_follow/with_user_recommendations\",\"app/ui/who_to_follow/who_to_follow_dashboard\",\"app/ui/who_to_follow/who_to_follow_timeline\",\"app/data/who_to_follow\",\"app/data/who_to_follow_scribe\",\"app/ui/profile/recent_connections_module\",\"app/ui/promptbird/with_invite_contacts\",\"app/ui/promptbird\",\"app/utils/oauth_popup\",\"app/data/promptbird\",\"app/data/promptbird_scribe\",\"app/ui/with_select_all\",\"app/ui/who_to_follow/with_invite_messages\",\"app/ui/who_to_follow/with_invite_preview\",\"app/ui/who_to_follow/with_unmatched_contacts\",\"app/ui/dialogs/promptbird_invite_contacts_dialog\",\"app/data/contact_import\",\"app/data/contact_import_scribe\",\"app/ui/with_import_services\",\"app/ui/who_to_follow/import_services\",\"app/ui/who_to_follow/import_loading_dialog\",\"app/ui/dashboard_tweetbox\",\"app/utils/boomerang\",\"app/ui/profile_stats\",\"app/pages/home\",\"app/boot/wtf_module\",\"app/data/who_to_tweet\",\"app/boot/connect\",\"app/ui/who_to_follow/with_list_resizing\",\"app/ui/who_to_follow/matched_contacts_list\",\"app/ui/who_to_follow/unmatched_contacts_list\",\"app/ui/who_to_tweet\",\"app/ui/with_loading_indicator\",\"app/ui/who_to_follow/find_friends\",\"app/pages/connect/interactions\",\"app/pages/connect/mentions\",\"app/pages/connect/network_activity\",\"app/ui/inline_edit\",\"app/data/async_profile\",\"$lib/jquery_ui.profile.js\",\"$lib/jquery_webcam.js\",\"app/ui/settings/with_cropper\",\"app/ui/settings/with_webcam\",\"app/utils/is_showing_avatar_options\",\"app/ui/dialogs/profile_image_upload_dialog\",\"app/ui/dialogs/profile_edit_error_dialog\",\"app/ui/dialogs/profile_confirm_image_delete_dialog\",\"app/ui/droppable_image\",\"app/ui/profile_image_monitor\",\"app/data/inline_edit_scribe\",\"app/data/settings/profile_image_upload_scribe\",\"app/data/drag_and_drop_scribe\",\"app/ui/settings/change_photo\",\"app/ui/image_uploader\",\"app/ui/inline_profile_editing_initializor\",\"app/utils/hide_or_show_divider\",\"app/ui/with_inline_image_options\",\"app/ui/with_inline_image_editing\",\"app/ui/inline_profile_editing\",\"app/data/settings\",\"app/ui/profile_edit_param\",\"app/ui/alert_banner_to_message_drawer\",\"app/boot/inline_edit\",\"app/ui/profile/canopy\",\"app/data/profile_canopy_scribe\",\"app/ui/profile/head\",\"app/data/profile_head_scribe\",\"app/ui/profile/social_proof\",\"app/data/profile_social_proof_scribe\",\"app/ui/media/card_thumbnails\",\"app/data/media_timeline\",\"app/data/media_thumbnails_scribe\",\"app/ui/suggested_users\",\"app/data/suggested_users\",\"app/ui/gallery/grid\",\"app/boot/profile\",\"app/pages/profile/tweets\",\"app/ui/timelines/with_cursor_pagination\",\"app/ui/with_stream_users\",\"app/ui/timelines/user_timeline\",\"app/boot/user_timeline\",\"app/ui/timelines/follower_request_timeline\",\"app/data/follower_request\",\"app/pages/profile/follower_requests\",\"app/pages/profile/followers\",\"app/pages/profile/following\",\"app/pages/profile/favorites\",\"app/ui/timelines/list_timeline\",\"app/boot/list_timeline\",\"app/pages/profile/lists\",\"app/ui/with_removable_stream_items\",\"app/ui/similar_to\",\"app/pages/profile/similar_to\",\"app/ui/facets\",\"app/data/facets_timeline\",\"app/ui/dialogs/iph_search_result_dialog\",\"app/ui/search/archive_navigator\",\"app/data/archive_navigator_scribe\",\"app/boot/search\",\"app/ui/timelines/with_story_pagination\",\"app/ui/gallery/with_grid\",\"app/ui/timelines/universal_timeline\",\"app/boot/universal_timeline\",\"app/data/user_search\",\"app/data/user_search_scribe\",\"app/ui/user_search\",\"app/data/saved_searches\",\"app/ui/search_dropdown\",\"app/data/story_scribe\",\"app/data/onebox_scribe\",\"app/ui/with_story_clicks\",\"$lib/jquery_autoellipsis.js\",\"app/utils/ellipsis\",\"app/ui/with_story_ellipsis\",\"app/ui/search/news_onebox\",\"app/ui/search/user_onebox\",\"app/ui/search/event_onebox\",\"app/ui/search/media_onebox\",\"app/ui/search/spelling_corrections\",\"app/ui/search/related_queries\",\"app/data/search_assistance_scribe\",\"app/data/timeline_controls_scribe\",\"app/pages/search/search\",\"app/ui/timelines/with_search_media_pagination\",\"app/ui/timelines/media_timeline\",\"app/boot/media_timeline\",\"app/pages/search/media\",\"app/pages/simple_t1\",],\n        \"$bundle/permalink.db92252904761daedf68bf11bbb2750235e32ce7.js\": [\"app/ui/permalink_keyboard_support\",\"app/ui/hidden_ancestors\",\"app/ui/hidden_descendants\",\"app/ui/dialogs/sms_codes\",\"app/ui/timelines/conversations/descendant_timeline\",\"app/ui/timelines/conversations/ancestor_timeline\",\"app/data/embed_stats_scribe\",\"app/data/permalink_scribe\",\"app/pages/permalink\",\"app/pages/permalink_photo\",],\n        \"$bundle/lists_permalink.6e3de5369fc1b6a20122d38d988602ec8ea6a3e1.js\": [\"app/ui/list_members_dashboard\",\"app/data/list_members_dashboard\",\"app/ui/list_follow_card\",\"app/data/list_follow_card\",\"app/boot/list_permalink\",\"app/pages/list/permalink_tweets\",\"app/pages/list/permalink_users\",],\n        \"$bundle/discover.814fb8dadcc0776c9fc9424643d16957d677e3c2.js\": [\"app/ui/discover_nav\",\"app/boot/discover\",\"app/ui/timelines/with_most_recent_story_pagination\",\"app/ui/timelines/discover_timeline\",\"app/boot/discover_timeline\",\"app/ui/with_discover_expando\",\"app/ui/discover\",\"app/pages/discover/discover\",\"app/ui/people_search_input\",\"app/boot/who_to_follow\",\"app/utils/common_regexp\",\"app/ui/who_to_follow/invite_form\",\"app/ui/who_to_follow/pymk_kicker\",\"app/ui/who_to_follow/wipe_addressbook_dialog\",\"app/pages/who_to_follow/import\",\"app/pages/who_to_follow/interests\",\"app/pages/who_to_follow/invite\",\"app/pages/who_to_follow/lifeline\",\"app/pages/who_to_follow/matches\",\"app/pages/who_to_follow/suggestions\",\"app/data/who_to_follow/web_personalized_scribe\",\"app/data/who_to_follow/web_personalized_proxy\",\"app/ui/who_to_follow/web_personalized_settings\",\"app/ui/who_to_follow/web_personalized_signup\",\"app/pages/who_to_follow/web_personalized\",],\n        \"$bundle/settings.746ec42b535d98004e7c1b839e01418210fb34ed.js\": [\"app/ui/alert_banner\",\"app/ui/forms/with_submit_disable\",\"app/ui/forms/form_value_modification\",\"app/boot/settings\",\"app/data/settings/account_scribe\",\"app/data/settings/login_verification_test_run\",\"app/data/form_scribe\",\"app/ui/with_forgot_password\",\"app/ui/password_dialog\",\"app/ui/settings/login_verification_sms_check\",\"app/ui/login_verification_confirmation_dialog\",\"app/ui/protected_verified_dialog\",\"app/ui/email_field_highlight\",\"app/ui/validating_fieldset\",\"app/ui/email_confirmation\",\"app/ui/settings/tweet_export\",\"app/ui/dialogs/tweet_export_dialog\",\"app/ui/timezone_detector\",\"app/ui/deactivated\",\"app/ui/geo_deletion\",\"app/ui/settings_controls\",\"app/pages/settings/account\",\"app/data/temporary_password\",\"app/data/settings/applications_scribe\",\"app/ui/dialogs/temporary_password_dialog\",\"app/ui/temporary_password_button\",\"app/ui/oauth_revoker\",\"app/pages/settings/applications\",\"app/data/settings/confirm_deactivation_scribe\",\"app/pages/settings/confirm_deactivation\",\"app/data/settings/design_scribe\",\"$lib/jquery_color_picker.js\",\"app/ui/color_picker\",\"app/ui/design\",\"app/ui/theme_preview\",\"app/ui/theme_picker\",\"app/pages/settings/design\",\"app/pages/settings/email_follow\",\"app/ui/settings/tweet_export_download\",\"app/pages/settings/tweet_export_download\",\"app/ui/settings/notifications\",\"app/pages/settings/notifications\",\"app/ui/password\",\"app/ui/password_match_pair\",\"app/ui/with_password_strength\",\"app/ui/password_strength\",\"app/pages/settings/password\",\"app/boot/avatar_uploading\",\"app/data/settings/profile_scribe\",\"app/ui/settings/facebook_iframe_height_adjuster\",\"app/ui/field_edit_warning\",\"app/ui/dialogs/in_product_help_dialog\",\"app/boot/header_upload\",\"app/ui/bio_box\",\"app/pages/settings/profile\",\"app/data/settings/facebook_proxy\",\"app/ui/settings/with_facebook_container\",\"app/ui/settings/facebook_spinner\",\"app/ui/settings/with_facebook_banner\",\"app/ui/settings/facebook_login\",\"app/ui/settings/facebook_connect\",\"app/ui/settings/facebook_missing_permissions\",\"app/ui/settings/facebook_mismatched_connection\",\"app/ui/settings/facebook_connection_conflict\",\"app/ui/settings/facebook_connected\",\"app/data/settings/facebook_scribe\",\"app/pages/settings/facebook\",\"app/data/settings/sms_scribe\",\"app/ui/forms/select_box\",\"app/ui/settings/sms_phone_create_form\",\"app/ui/forms/element_group_toggler\",\"app/ui/settings/device_verified_form\",\"app/ui/settings/sms_phone_verify_form\",\"app/pages/settings/sms\",\"app/ui/settings/widgets\",\"app/pages/settings/widgets\",\"app/ui/settings/widgets_configurator\",\"app/pages/settings/widgets_configurator\",],\n        \"$bundle/events.d9845cf638173afdb25220e5ab241f0f6c09021a.js\": [\"app/ui/media/media_thumbnails\",\"app/ui/timelines/event_timeline\",\"app/ui/page_visibility\",\"app/data/page_visibility_scribe\",\"app/pages/events/hashtag\",],\n        \"$bundle/accounts.0ca4815a3944f19c9eaeef0c85bf7984b25d3632.js\": [\"app/ui/account/password_reset_controls\",\"app/ui/password_match_pair\",\"app/ui/with_password_strength\",\"app/ui/password_strength\",\"app/pages/account/password_reset\",\"app/ui/captcha_dialog\",\"app/ui/account/resend_password_controls\",\"app/ui/validating_fieldset\",\"app/data/resend_password\",\"app/pages/account/resend_password\",\"app/ui/account/verify_personal_information_controls\",\"app/pages/account/verify_personal_information\",\"app/ui/account/verify_device_token_controls\",\"app/pages/account/verify_device_token\",\"app/ui/account/resend_password_help_controls\",\"app/data/resend_password_help\",\"app/data/resend_password_help_scribe\",\"app/pages/account/resend_password_help\",\"app/pages/account/errors\",],\n        \"$bundle/search.b7757a9e20dfb014aacc3cd4959de0a8058f4006.js\": [\"app/ui/dialogs/search_operators_dialog\",\"app/pages/search/home\",\"app/ui/advanced_search\",\"app/pages/search/advanced\",\"app/pages/search/users\",],\n        \"$bundle/vitonboarding.bc3a6ee0b7d3407a82a383148a420a678f6925af.js\": [\"$lib/jquery.hashchange.js\",\"app/ui/vit/verification_step\",\"app/ui/vit/mobile_topbar\",\"app/pages/vit/onboarding\",],\n        \"$bundle/mobile_gallery.db430b6898f0144b313838368d3e6edcee89eb6f.js\": [\"app/ui/dialogs/mobile_gallery_download_dialog\",\"app/ui/mobile_gallery/gallery_buttons\",\"app/ui/forms/mobile_gallery_email_form\",\"app/data/mobile_gallery/send_download_link\",\"app/pages/mobile_gallery/gallery\",\"app/pages/mobile_gallery/apps\",\"app/ui/mobile_gallery/firefox_tweet_button\",\"app/pages/mobile_gallery/firefox\",\"app/data/mobile_gallery/download_links_scribe\",\"app/pages/mobile_gallery/splash\",],\n        \"$bundle/signup_download.8c964a5fd99e25aca3f0844968e0379e4a42ed59.js\": [\"app/ui/signup_download/next_and_skip_buttons\",\"app/ui/signup_download/us_phone_number_checker\",\"app/pages/signup_download/download\",\"app/ui/signup_download/signup_phone_verify_form\",\"app/pages/signup_download/verify\",],\n        \"$bundle/welcome.0a6e0a3608c754e79a2a771e71faf0945c0627ad.js\": [\"app/data/welcome/invitations_scribe\",\"app/data/welcome/welcome_cards_scribe\",\"app/data/welcome/flow_nav_scribe\",\"app/data/welcome/preview_stream\",\"app/ui/welcome/invite_dialog\",\"app/ui/welcome/with_nav_buttons\",\"app/ui/welcome/header_progress\",\"app/ui/welcome/internal_link_disabler\",\"app/ui/welcome/learn_dashboard\",\"app/ui/welcome/learn_preview_timeline\",\"app/boot/welcome\",\"app/pages/welcome/import\",\"app/data/welcome/intro_scribe\",\"app/ui/welcome/flow_nav\",\"app/ui/welcome/intro_video\",\"app/ui/welcome/lifeline_device_follow_dialog\",\"app/pages/welcome/intro\",\"app/data/welcome/interests_picker_scribe\",\"app/ui/welcome/with_interests\",\"app/ui/welcome/custom_interest\",\"app/ui/welcome/interests_header_search\",\"app/ui/welcome/interests_picker\",\"app/data/welcome/welcome_data\",\"app/pages/welcome/interests\",\"app/data/welcome/users_cards\",\"app/ui/welcome/import_services_cards\",\"app/ui/welcome/with_card_scribe_context\",\"app/ui/welcome/with_more_results\",\"app/ui/welcome/with_welcome_search\",\"app/ui/welcome/users_cards\",\"app/pages/welcome/interests_category\",\"app/data/welcome/lifeline_scribe\",\"app/pages/welcome/lifeline\",\"app/boot/avatar_uploading\",\"app/ui/alert_banner\",\"app/ui/welcome/profile_flow_nav\",\"app/ui/welcome/profile_form\",\"app/pages/welcome/profile\",\"app/pages/welcome/recommendations\",],\n        \"$bundle/directory.5bb8717366f875004b902864cc429411910c67f8.js\": [\"app/ui/history_back\",\"app/pages/directory/directory\",],\n        \"$bundle/boomerang.ce977240704bc785401822f8d5486667b860593d.js\": [\"$lib/boomerang.js\",\"app/utils/boomerang_lib\",],\n        \"$bundle/sandbox.1a1d8d9e5b807e92548fba6d79824ebe5104b03a.js\": [\"$components/jquery/jquery.js\",\"$lib/easyXDM.js\",\"app/boot/sandbox\",],\n        \"$bundle/html2canvas.82a64ea2711e964e829140881de78438319774a0.js\": [\"$lib/html2canvas.js\",],\n        \"$bundle/loginverification.c610b4269b6c7632a1176cc616d0766fdfdcef42.js\": [\"app/ui/login_verification_form\",\"app/data/login_verification\",\"app/pages/login_verification_page\",]\n    };\n    define(\"components/flight/lib/utils\", [], function() {\n        var a = [], b = 100, c = {\n            isDomObj: function(a) {\n                return ((!!a.nodeType || ((a === window))));\n            },\n            toArray: function(b, c) {\n                return a.slice.call(b, c);\n            },\n            merge: function() {\n                var a = arguments.length, b = 0, c = new Array(((a + 1)));\n                for (; ((b < a)); b++) {\n                    c[((b + 1))] = arguments[b];\n                ;\n                };\n            ;\n                return ((((a === 0)) ? {\n                } : (c[0] = {\n                }, ((((c[((c.length - 1))] === !0)) && (c.pop(), c.unshift(!0)))), $.extend.apply(undefined, c))));\n            },\n            push: function(a, b, c) {\n                return ((a && Object.keys(((b || {\n                }))).forEach(function(d) {\n                    if (((a[d] && c))) {\n                        throw Error(((((\"utils.push attempted to overwrite '\" + d)) + \"' while running in protected mode\")));\n                    }\n                ;\n                ;\n                    ((((((typeof a[d] == \"object\")) && ((typeof b[d] == \"object\")))) ? this.push(a[d], b[d]) : a[d] = b[d]));\n                }, this))), a;\n            },\n            isEnumerable: function(a, b) {\n                return ((Object.keys(a).indexOf(b) > -1));\n            },\n            compose: function() {\n                var a = arguments;\n                return function() {\n                    var b = arguments;\n                    for (var c = ((a.length - 1)); ((c >= 0)); c--) {\n                        b = [a[c].apply(this, b),];\n                    ;\n                    };\n                ;\n                    return b[0];\n                };\n            },\n            uniqueArray: function(a) {\n                var b = {\n                }, c = [];\n                for (var d = 0, e = a.length; ((d < e)); ++d) {\n                    if (b.hasOwnProperty(a[d])) {\n                        continue;\n                    }\n                ;\n                ;\n                    c.push(a[d]), b[a[d]] = 1;\n                };\n            ;\n                return c;\n            },\n            debounce: function(a, c, d) {\n                ((((typeof c != \"number\")) && (c = b)));\n                var e, f;\n                return function() {\n                    var b = this, g = arguments, h = function() {\n                        e = null, ((d || (f = a.apply(b, g))));\n                    }, i = ((d && !e));\n                    return JSBNG__clearTimeout(e), e = JSBNG__setTimeout(h, c), ((i && (f = a.apply(b, g)))), f;\n                };\n            },\n            throttle: function(a, c) {\n                ((((typeof c != \"number\")) && (c = b)));\n                var d, e, f, g, h, i, j = this.debounce(function() {\n                    h = g = !1;\n                }, c);\n                return function() {\n                    d = this, e = arguments;\n                    var b = function() {\n                        f = null, ((h && (i = a.apply(d, e)))), j();\n                    };\n                    return ((f || (f = JSBNG__setTimeout(b, c)))), ((g ? h = !0 : (g = !0, i = a.apply(d, e)))), j(), i;\n                };\n            },\n            countThen: function(a, b) {\n                return function() {\n                    if (!--a) {\n                        return b.apply(this, arguments);\n                    }\n                ;\n                ;\n                };\n            },\n            delegate: function(a) {\n                return function(b, c) {\n                    var d = $(b.target), e;\n                    Object.keys(a).forEach(function(f) {\n                        if ((e = d.closest(f)).length) {\n                            return c = ((c || {\n                            })), c.el = e[0], a[f].apply(this, [b,c,]);\n                        }\n                    ;\n                    ;\n                    }, this);\n                };\n            }\n        };\n        return c;\n    });\n    define(\"components/flight/lib/registry\", [\"./utils\",], function(a) {\n        function b(a, b) {\n            var c, d, e, f = b.length;\n            return ((((typeof b[((f - 1))] == \"function\")) && (f -= 1, e = b[f]))), ((((typeof b[((f - 1))] == \"object\")) && (f -= 1))), ((((f == 2)) ? (c = b[0], d = b[1]) : (c = a.node, d = b[0]))), {\n                element: c,\n                type: d,\n                callback: e\n            };\n        };\n    ;\n        function c(a, b) {\n            return ((((((a.element == b.element)) && ((a.type == b.type)))) && ((((b.callback == null)) || ((a.callback == b.callback))))));\n        };\n    ;\n        function d() {\n            function d(b) {\n                this.component = b, this.attachedTo = [], this.instances = {\n                }, this.addInstance = function(a) {\n                    var b = new e(a);\n                    return this.instances[a.identity] = b, this.attachedTo.push(a.node), b;\n                }, this.removeInstance = function(b) {\n                    delete this.instances[b.identity];\n                    var c = this.attachedTo.indexOf(b.node);\n                    ((((c > -1)) && this.attachedTo.splice(c, 1))), ((Object.keys(this.instances).length || a.removeComponentInfo(this)));\n                }, this.isAttachedTo = function(a) {\n                    return ((this.attachedTo.indexOf(a) > -1));\n                };\n            };\n        ;\n            function e(b) {\n                this.instance = b, this.events = [], this.addBind = function(b) {\n                    this.events.push(b), a.events.push(b);\n                }, this.removeBind = function(a) {\n                    for (var b = 0, d; d = this.events[b]; b++) {\n                        ((c(d, a) && this.events.splice(b, 1)));\n                    ;\n                    };\n                ;\n                };\n            };\n        ;\n            var a = this;\n            (this.reset = function() {\n                this.components = [], this.allInstances = {\n                }, this.events = [];\n            }).call(this), this.addInstance = function(a) {\n                var b = this.findComponentInfo(a);\n                ((b || (b = new d(a.constructor), this.components.push(b))));\n                var c = b.addInstance(a);\n                return this.allInstances[a.identity] = c, b;\n            }, this.removeInstance = function(a) {\n                var b, c = this.findInstanceInfo(a), d = this.findComponentInfo(a);\n                ((d && d.removeInstance(a))), delete this.allInstances[a.identity];\n            }, this.removeComponentInfo = function(a) {\n                var b = this.components.indexOf(a);\n                ((((b > -1)) && this.components.splice(b, 1)));\n            }, this.findComponentInfo = function(a) {\n                var b = ((a.attachTo ? a : a.constructor));\n                for (var c = 0, d; d = this.components[c]; c++) {\n                    if (((d.component === b))) {\n                        return d;\n                    }\n                ;\n                ;\n                };\n            ;\n                return null;\n            }, this.findInstanceInfo = function(a) {\n                return ((this.allInstances[a.identity] || null));\n            }, this.findInstanceInfoByNode = function(a) {\n                var b = [];\n                return Object.keys(this.allInstances).forEach(function(c) {\n                    var d = this.allInstances[c];\n                    ((((d.instance.node === a)) && b.push(d)));\n                }, this), b;\n            }, this.JSBNG__on = function(c) {\n                var d = a.findInstanceInfo(this), e, f = arguments.length, g = 1, h = new Array(((f - 1)));\n                for (; ((g < f)); g++) {\n                    h[((g - 1))] = arguments[g];\n                ;\n                };\n            ;\n                if (d) {\n                    e = c.apply(null, h), ((e && (h[((h.length - 1))] = e)));\n                    var i = b(this, h);\n                    d.addBind(i);\n                }\n            ;\n            ;\n            }, this.off = function(d, e, f) {\n                var g = b(this, arguments), h = a.findInstanceInfo(this);\n                ((h && h.removeBind(g)));\n                for (var i = 0, j; j = a.events[i]; i++) {\n                    ((c(j, g) && a.events.splice(i, 1)));\n                ;\n                };\n            ;\n            }, a.trigger = new Function, this.teardown = function() {\n                a.removeInstance(this);\n            }, this.withRegistration = function() {\n                this.before(\"initialize\", function() {\n                    a.addInstance(this);\n                }), this.around(\"JSBNG__on\", a.JSBNG__on), this.after(\"off\", a.off), ((((window.DEBUG && DEBUG.enabled)) && this.after(\"trigger\", a.trigger))), this.after(\"teardown\", {\n                    obj: a,\n                    fnName: \"teardown\"\n                });\n            };\n        };\n    ;\n        return new d;\n    });\n    define(\"components/flight/tools/debug/debug\", [\"../../lib/registry\",\"../../lib/utils\",], function(a, b) {\n        function d(a, b, c) {\n            var c = ((c || {\n            })), e = ((c.obj || window)), g = ((c.path || ((((e == window)) ? \"window\" : \"\")))), h = Object.keys(e);\n            h.forEach(function(c) {\n                ((((f[a] || a))(b, e, c) && JSBNG__console.log([g,\".\",c,].join(\"\"), \"-\\u003E\", [\"(\",typeof e[c],\")\",].join(\"\"), e[c]))), ((((((((Object.prototype.toString.call(e[c]) == \"[object Object]\")) && ((e[c] != e)))) && ((g.split(\".\").indexOf(c) == -1)))) && d(a, b, {\n                    obj: e[c],\n                    path: [g,c,].join(\".\")\n                })));\n            });\n        };\n    ;\n        function e(a, b, c, e) {\n            ((((!b || ((typeof c == b)))) ? d(a, c, e) : JSBNG__console.error([c,\"must be\",b,].join(\" \"))));\n        };\n    ;\n        function g(a, b) {\n            e(\"JSBNG__name\", \"string\", a, b);\n        };\n    ;\n        function h(a, b) {\n            e(\"nameContains\", \"string\", a, b);\n        };\n    ;\n        function i(a, b) {\n            e(\"type\", \"function\", a, b);\n        };\n    ;\n        function j(a, b) {\n            e(\"value\", null, a, b);\n        };\n    ;\n        function k(a, b) {\n            e(\"valueCoerced\", null, a, b);\n        };\n    ;\n        function l(a, b) {\n            d(a, null, b);\n        };\n    ;\n        function p() {\n            var a = [].slice.call(arguments);\n            ((c.eventNames.length || (c.eventNames = m))), c.actions = ((a.length ? a : m)), t();\n        };\n    ;\n        function q() {\n            var a = [].slice.call(arguments);\n            ((c.actions.length || (c.actions = m))), c.eventNames = ((a.length ? a : m)), t();\n        };\n    ;\n        function r() {\n            c.actions = [], c.eventNames = [], t();\n        };\n    ;\n        function s() {\n            c.actions = m, c.eventNames = m, t();\n        };\n    ;\n        function t() {\n            ((window.JSBNG__localStorage && (JSBNG__localStorage.setItem(\"logFilter_eventNames\", c.eventNames), JSBNG__localStorage.setItem(\"logFilter_actions\", c.actions))));\n        };\n    ;\n        function u() {\n            var a = {\n                eventNames: ((((window.JSBNG__localStorage && JSBNG__localStorage.getItem(\"logFilter_eventNames\"))) || n)),\n                actions: ((((window.JSBNG__localStorage && JSBNG__localStorage.getItem(\"logFilter_actions\"))) || o))\n            };\n            return Object.keys(a).forEach(function(b) {\n                var c = a[b];\n                ((((((typeof c == \"string\")) && ((c !== m)))) && (a[b] = c.split(\",\"))));\n            }), a;\n        };\n    ;\n        var c, f = {\n            JSBNG__name: function(a, b, c) {\n                return ((a == c));\n            },\n            nameContains: function(a, b, c) {\n                return ((c.indexOf(a) > -1));\n            },\n            type: function(a, b, c) {\n                return ((b[c] instanceof a));\n            },\n            value: function(a, b, c) {\n                return ((b[c] === a));\n            },\n            valueCoerced: function(a, b, c) {\n                return ((b[c] == a));\n            }\n        }, m = \"all\", n = [], o = [], c = u();\n        return {\n            enable: function(a) {\n                this.enabled = !!a, ((((a && window.JSBNG__console)) && (JSBNG__console.info(\"Booting in DEBUG mode\"), JSBNG__console.info(\"You can configure event logging with DEBUG.events.logAll()/logNone()/logByName()/logByAction()\")))), window.DEBUG = this;\n            },\n            JSBNG__find: {\n                byName: g,\n                byNameContains: h,\n                byType: i,\n                byValue: j,\n                byValueCoerced: k,\n                custom: l\n            },\n            events: {\n                logFilter: c,\n                logByAction: p,\n                logByName: q,\n                logAll: s,\n                logNone: r\n            }\n        };\n    });\n    define(\"components/flight/lib/compose\", [\"./utils\",\"../tools/debug/debug\",], function(a, b) {\n        function f(a, b) {\n            if (!c) {\n                return;\n            }\n        ;\n        ;\n            var e = Object.create(null);\n            Object.keys(a).forEach(function(c) {\n                if (((d.indexOf(c) < 0))) {\n                    var f = Object.getOwnPropertyDescriptor(a, c);\n                    f.writable = b, e[c] = f;\n                }\n            ;\n            ;\n            }), Object.defineProperties(a, e);\n        };\n    ;\n        function g(a, b, d) {\n            var e;\n            if (((!c || !a.hasOwnProperty(b)))) {\n                d.call(a);\n                return;\n            }\n        ;\n        ;\n            e = Object.getOwnPropertyDescriptor(a, b).writable, Object.defineProperty(a, b, {\n                writable: !0\n            }), d.call(a), Object.defineProperty(a, b, {\n                writable: e\n            });\n        };\n    ;\n        function h(a, b) {\n            a.mixedIn = ((a.hasOwnProperty(\"mixedIn\") ? a.mixedIn : [])), b.forEach(function(b) {\n                ((((a.mixedIn.indexOf(b) == -1)) && (f(a, !1), b.call(a), a.mixedIn.push(b))));\n            }), f(a, !0);\n        };\n    ;\n        var c = ((b.enabled && !a.isEnumerable(Object, \"getOwnPropertyDescriptor\"))), d = [\"mixedIn\",];\n        if (c) {\n            try {\n                Object.getOwnPropertyDescriptor(Object, \"keys\");\n            } catch (e) {\n                c = !1;\n            };\n        }\n    ;\n    ;\n        return {\n            mixin: h,\n            unlockProperty: g\n        };\n    });\n    define(\"components/flight/lib/advice\", [\"./utils\",\"./compose\",], function(a, b) {\n        var c = {\n            around: function(a, b) {\n                return function() {\n                    var d = 0, e = arguments.length, f = new Array(((e + 1)));\n                    f[0] = a.bind(this);\n                    for (; ((d < e)); d++) {\n                        f[((d + 1))] = arguments[d];\n                    ;\n                    };\n                ;\n                    return b.apply(this, f);\n                };\n            },\n            before: function(a, b) {\n                var c = ((((typeof b == \"function\")) ? b : b.obj[b.fnName]));\n                return function() {\n                    return c.apply(this, arguments), a.apply(this, arguments);\n                };\n            },\n            after: function(a, b) {\n                var c = ((((typeof b == \"function\")) ? b : b.obj[b.fnName]));\n                return function() {\n                    var d = ((a.unbound || a)).apply(this, arguments);\n                    return c.apply(this, arguments), d;\n                };\n            },\n            withAdvice: function() {\n                [\"before\",\"after\",\"around\",].forEach(function(a) {\n                    this[a] = function(d, e) {\n                        b.unlockProperty(this, d, function() {\n                            return ((((typeof this[d] == \"function\")) ? this[d] = c[a](this[d], e) : this[d] = e));\n                        });\n                    };\n                }, this);\n            }\n        };\n        return c;\n    });\n    define(\"components/flight/lib/logger\", [\"./compose\",\"./utils\",], function(a, b) {\n        function d(a) {\n            var b = ((a.tagName ? a.tagName.toLowerCase() : a.toString())), c = ((a.className ? ((\".\" + a.className)) : \"\")), d = ((b + c));\n            return ((a.tagName ? [\"'\",\"'\",].join(d) : d));\n        };\n    ;\n        function e(a, b, e) {\n            var f, g, h, i, j, k, l, m;\n            ((((typeof e[((e.length - 1))] == \"function\")) && (h = e.pop(), h = ((h.unbound || h))))), ((((typeof e[((e.length - 1))] == \"object\")) && e.pop())), ((((e.length == 2)) ? (g = e[0], f = e[1]) : (g = b.$node[0], f = e[0]))), ((((window.DEBUG && window.DEBUG.enabled)) && (j = DEBUG.events.logFilter, l = ((((j.actions == \"all\")) || ((j.actions.indexOf(a) > -1)))), k = function(a) {\n                return ((a.test ? a : new RegExp(((((\"^\" + a.replace(/\\*/g, \".*\"))) + \"$\")))));\n            }, m = ((((j.eventNames == \"all\")) || j.eventNames.some(function(a) {\n                return k(a).test(f);\n            }))), ((((l && m)) && JSBNG__console.info(c[a], a, ((((\"[\" + f)) + \"]\")), d(g), b.constructor.describe.split(\" \").slice(0, 3).join(\" \")))))));\n        };\n    ;\n        function f() {\n            this.before(\"trigger\", function() {\n                e(\"trigger\", this, b.toArray(arguments));\n            }), this.before(\"JSBNG__on\", function() {\n                e(\"JSBNG__on\", this, b.toArray(arguments));\n            }), this.before(\"off\", function(a) {\n                e(\"off\", this, b.toArray(arguments));\n            });\n        };\n    ;\n        var c = {\n            JSBNG__on: \"\\u003C-\",\n            trigger: \"-\\u003E\",\n            off: \"x \"\n        };\n        return f;\n    });\n    define(\"components/flight/lib/component\", [\"./advice\",\"./utils\",\"./compose\",\"./registry\",\"./logger\",\"../tools/debug/debug\",], function(a, b, c, d, e, f) {\n        function i(a) {\n            a.events.slice().forEach(function(a) {\n                var b = [a.type,];\n                ((a.element && b.unshift(a.element))), ((((typeof a.callback == \"function\")) && b.push(a.callback))), this.off.apply(this, b);\n            }, a.instance);\n        };\n    ;\n        function j() {\n            i(d.findInstanceInfo(this));\n        };\n    ;\n        function k() {\n            var a = d.findComponentInfo(this);\n            ((a && Object.keys(a.instances).forEach(function(b) {\n                var c = a.instances[b];\n                c.instance.teardown();\n            })));\n        };\n    ;\n        function l(a, b) {\n            try {\n                window.JSBNG__postMessage(b, \"*\");\n            } catch (c) {\n                throw JSBNG__console.log(\"unserializable data for event\", a, \":\", b), new Error([\"The event\",a,\"on component\",this.toString(),\"was triggered with non-serializable data\",].join(\" \"));\n            };\n        ;\n        };\n    ;\n        function m() {\n            this.trigger = function() {\n                var a, b, c, d, e, g = ((arguments.length - 1)), h = arguments[g];\n                return ((((((typeof h != \"string\")) && ((!h || !h.defaultBehavior)))) && (g--, c = h))), ((((g == 1)) ? (a = $(arguments[0]), d = arguments[1]) : (a = this.$node, d = arguments[0]))), ((d.defaultBehavior && (e = d.defaultBehavior, d = $.JSBNG__Event(d.type)))), b = ((d.type || d)), ((((f.enabled && window.JSBNG__postMessage)) && l.call(this, b, c))), ((((typeof this.attr.eventData == \"object\")) && (c = $.extend(!0, {\n                }, this.attr.eventData, c)))), a.trigger(((d || b)), c), ((((e && !d.isDefaultPrevented())) && ((this[e] || e)).call(this))), a;\n            }, this.JSBNG__on = function() {\n                var a, c, d, e, f = ((arguments.length - 1)), g = arguments[f];\n                ((((typeof g == \"object\")) ? e = b.delegate(this.resolveDelegateRules(g)) : e = g)), ((((f == 2)) ? (a = $(arguments[0]), c = arguments[1]) : (a = this.$node, c = arguments[0])));\n                if (((((typeof e != \"function\")) && ((typeof e != \"object\"))))) {\n                    throw new Error(((((\"Unable to bind to '\" + c)) + \"' because the given callback is not a function or an object\")));\n                }\n            ;\n            ;\n                return d = e.bind(this), d.target = e, ((e.guid && (d.guid = e.guid))), a.JSBNG__on(c, d), e.guid = d.guid, d;\n            }, this.off = function() {\n                var a, b, c, d = ((arguments.length - 1));\n                return ((((typeof arguments[d] == \"function\")) && (c = arguments[d], d -= 1))), ((((d == 1)) ? (a = $(arguments[0]), b = arguments[1]) : (a = this.$node, b = arguments[0]))), a.off(b, c);\n            }, this.resolveDelegateRules = function(a) {\n                var b = {\n                };\n                return Object.keys(a).forEach(function(c) {\n                    if (((!c in this.attr))) {\n                        throw new Error(((((((((\"Component \\\"\" + this.toString())) + \"\\\" wants to listen on \\\"\")) + c)) + \"\\\" but no such attribute was defined.\")));\n                    }\n                ;\n                ;\n                    b[this.attr[c]] = a[c];\n                }, this), b;\n            }, this.defaultAttrs = function(a) {\n                ((b.push(this.defaults, a, !0) || (this.defaults = a)));\n            }, this.select = function(a) {\n                return this.$node.JSBNG__find(this.attr[a]);\n            }, this.initialize = $.noop, this.teardown = j;\n        };\n    ;\n        function n(a) {\n            var c = arguments.length, e = new Array(((c - 1)));\n            for (var f = 1; ((f < c)); f++) {\n                e[((f - 1))] = arguments[f];\n            ;\n            };\n        ;\n            if (!a) {\n                throw new Error(\"Component needs to be attachTo'd a jQuery object, native node or selector string\");\n            }\n        ;\n        ;\n            var g = b.merge.apply(b, e);\n            $(a).each(function(a, b) {\n                var c = ((b.jQuery ? b[0] : b)), e = d.findComponentInfo(this);\n                if (((e && e.isAttachedTo(c)))) {\n                    return;\n                }\n            ;\n            ;\n                new this(b, g);\n            }.bind(this));\n        };\n    ;\n        function o() {\n            function l(a, b) {\n                b = ((b || {\n                })), this.identity = h++;\n                if (!a) {\n                    throw new Error(\"Component needs a node\");\n                }\n            ;\n            ;\n                ((a.jquery ? (this.node = a[0], this.$node = a) : (this.node = a, this.$node = $(a)))), this.toString = l.toString, ((f.enabled && (this.describe = this.toString())));\n                var c = Object.create(b);\n                {\n                    var fin48keys = ((window.top.JSBNG_Replay.forInKeys)((this.defaults))), fin48i = (0);\n                    var d;\n                    for (; (fin48i < fin48keys.length); (fin48i++)) {\n                        ((d) = (fin48keys[fin48i]));\n                        {\n                            ((b.hasOwnProperty(d) || (c[d] = this.defaults[d])));\n                        ;\n                        };\n                    };\n                };\n            ;\n                this.attr = c, this.initialize.call(this, b);\n            };\n        ;\n            var b = arguments.length, i = new Array(((b + 3)));\n            for (var j = 0; ((j < b)); j++) {\n                i[j] = arguments[j];\n            ;\n            };\n        ;\n            return l.toString = function() {\n                var a = i.map(function(a) {\n                    if (((a.JSBNG__name == null))) {\n                        var b = a.toString().match(g);\n                        return ((((b && b[1])) ? b[1] : \"\"));\n                    }\n                ;\n                ;\n                    return ((((a.JSBNG__name != \"withBaseComponent\")) ? a.JSBNG__name : \"\"));\n                }).filter(Boolean).join(\", \");\n                return a;\n            }, ((f.enabled && (l.describe = l.toString()))), l.attachTo = n, l.teardownAll = k, ((f.enabled && i.unshift(e))), i.unshift(m, a.withAdvice, d.withRegistration), c.mixin(l.prototype, i), l;\n        };\n    ;\n        var g = /function (.*?)\\s?\\(/, h = 0;\n        return o.teardownAll = function() {\n            d.components.slice().forEach(function(a) {\n                a.component.teardownAll();\n            }), d.reset();\n        }, o;\n    });\n    define(\"core/component\", [\"module\",\"require\",\"exports\",\"components/flight/lib/component\",], function(module, require, exports) {\n        var flightComponent = require(\"components/flight/lib/component\");\n        module.exports = flightComponent;\n    });\n    define(\"core/registry\", [\"module\",\"require\",\"exports\",\"components/flight/lib/registry\",], function(module, require, exports) {\n        var flightRegistry = require(\"components/flight/lib/registry\");\n        module.exports = flightRegistry;\n    });\n    provide(\"core/clock\", function(a) {\n        using(\"core/component\", \"core/registry\", function(b, c) {\n            function h() {\n            \n            };\n        ;\n            function i() {\n                this.timers = [], this.clockComponent = function() {\n                    if (((!this.currentClock || !c.findInstanceInfo(this.currentClock)))) {\n                        this.reset(), this.currentClock = new d(JSBNG__document);\n                    }\n                ;\n                ;\n                    return this.currentClock;\n                }, this.trigger = function(a, b) {\n                    this.clockComponent().trigger(a, b);\n                }, this.reset = function() {\n                    this.timers = [];\n                }, this.tick = function() {\n                    this.timers.forEach(function(a) {\n                        a.tick(f);\n                    });\n                }, this.setTicker = function() {\n                    this.pause(), this.ticker = window.JSBNG__setInterval(this.tick.bind(this), f);\n                }, this.init = function() {\n                    this.clockComponent(), ((this.ticker || this.setTicker()));\n                }, this.clear = function(a) {\n                    ((a && this.timers.splice(this.timers.indexOf(a), 1)));\n                }, this.setTimeoutEvent = function(a, b, c) {\n                    if (((typeof a != \"string\"))) {\n                        return JSBNG__console.error(\"clock.setTimeoutEvent was passed a function instead of a string.\");\n                    }\n                ;\n                ;\n                    this.init();\n                    var d = new k(a, b, c);\n                    return this.timers.push(d), d;\n                }, this.JSBNG__clearTimeout = function(a) {\n                    ((((a instanceof k)) && this.clear(a)));\n                }, this.setIntervalEvent = function(a, b, c) {\n                    if (((typeof a != \"string\"))) {\n                        return JSBNG__console.error(\"clock.setIntervalEvent was passed a function instead of a string.\");\n                    }\n                ;\n                ;\n                    this.init();\n                    var d = new m(a, b, c);\n                    return this.timers.push(d), d;\n                }, this.JSBNG__clearInterval = function(a) {\n                    ((((a instanceof m)) && this.clear(a)));\n                }, this.resume = this.restart = this.setTicker, this.pause = function(a, b) {\n                    JSBNG__clearInterval(((this.ticker || 0)));\n                };\n            };\n        ;\n            function j() {\n                this.callback = function() {\n                    e.trigger(this.eventName, this.data);\n                }, this.clear = function() {\n                    e.clear(this);\n                }, this.pause = function() {\n                    this.paused = !0;\n                }, this.resume = function() {\n                    this.paused = !1;\n                }, this.tickUnlessPaused = this.tick, this.tick = function() {\n                    if (this.paused) {\n                        return;\n                    }\n                ;\n                ;\n                    this.tickUnlessPaused.apply(this, arguments);\n                };\n            };\n        ;\n            function k(a, b, c) {\n                this.countdown = b, this.eventName = a, this.data = c;\n            };\n        ;\n            function m(a, b, c) {\n                this.countdown = this.interval = this.maxInterval = this.initialInterval = b, this.backoffFactor = g, this.eventName = a, this.data = c;\n            };\n        ;\n            var d = b(h), e = new i, f = 1000, g = 2, l = function() {\n                this.tick = function(a) {\n                    this.countdown -= a, ((((this.countdown <= 0)) && (this.clear(), this.callback())));\n                };\n            };\n            l.call(k.prototype), j.call(k.prototype);\n            var n = function() {\n                this.tick = function(a) {\n                    this.countdown -= a;\n                    if (((this.countdown <= 0))) {\n                        this.callback();\n                        if (((this.interval < this.maxInterval))) {\n                            var b = ((Math.ceil(((((this.interval * this.backoffFactor)) / f))) * f));\n                            this.interval = Math.min(b, this.maxInterval);\n                        }\n                    ;\n                    ;\n                        this.countdown = this.interval;\n                    }\n                ;\n                ;\n                }, this.backoff = function(a, b) {\n                    this.maxInterval = a, this.backoffFactor = ((b || g)), ((((this.interval > this.maxInterval)) && (this.interval = a)));\n                }, this.cancelBackoff = function() {\n                    this.interval = this.maxInterval = this.initialInterval, this.countdown = Math.min(this.countdown, this.interval), this.resume();\n                };\n            };\n            n.call(m.prototype), j.call(m.prototype), a(e);\n        });\n    });\n    define(\"core/compose\", [\"module\",\"require\",\"exports\",\"components/flight/lib/compose\",], function(module, require, exports) {\n        var flightCompose = require(\"components/flight/lib/compose\");\n        module.exports = flightCompose;\n    });\n    define(\"core/advice\", [\"module\",\"require\",\"exports\",\"components/flight/lib/advice\",], function(module, require, exports) {\n        var flightAdvice = require(\"components/flight/lib/advice\");\n        module.exports = flightAdvice;\n    });\n    provide(\"core/parameterize\", function(a) {\n        function c(a, c, d) {\n            return ((c ? a.replace(b, function(a, b) {\n                if (b) {\n                    if (c[b]) {\n                        return c[b];\n                    }\n                ;\n                ;\n                    if (d) {\n                        throw new Error(((\"Cannot parameterize string, no replacement found for \" + b)));\n                    }\n                ;\n                ;\n                    return \"\";\n                }\n            ;\n            ;\n                return a;\n            }) : a));\n        };\n    ;\n        var b = /\\{\\{(.+?)\\}\\}/g;\n        a(c);\n    });\n    provide(\"core/i18n\", function(a) {\n        using(\"core/parameterize\", function(b) {\n            a(b);\n        });\n    });\n    define(\"core/logger\", [\"module\",\"require\",\"exports\",\"components/flight/lib/logger\",], function(module, require, exports) {\n        var flightLogger = require(\"components/flight/lib/logger\");\n        module.exports = flightLogger;\n    });\n    define(\"core/utils\", [\"module\",\"require\",\"exports\",\"components/flight/lib/utils\",], function(module, require, exports) {\n        var flightUtils = require(\"components/flight/lib/utils\");\n        module.exports = flightUtils;\n    });\n    define(\"debug/debug\", [\"module\",\"require\",\"exports\",\"components/flight/tools/debug/debug\",], function(module, require, exports) {\n        var flightDebug = require(\"components/flight/tools/debug/debug\");\n        module.exports = flightDebug;\n    });\n    provide(\"app/utils/auth_token\", function(a) {\n        var b;\n        a({\n            get: function() {\n                if (!b) {\n                    throw new Error(\"authToken should have been set!\");\n                }\n            ;\n            ;\n                return b;\n            },\n            set: function(a) {\n                b = a;\n            },\n            addTo: function(a, c) {\n                return a.authenticity_token = b, ((c && (a.post_authenticity_token = b))), a;\n            }\n        });\n    });\n    define(\"app/data/scribe_transport\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n        function ScribeTransport(a) {\n            this.SESSION_BUFFER_KEY = \"ScribeTransport\", this.SCRIBE_API_ENDPOINT = \"/i/jot\", this.options = {\n            }, ((a && (this.updateOptions(a), this.registerEventHandlers(a))));\n        };\n    ;\n        ScribeTransport.prototype = {\n            flush: function(a, b) {\n                if (((!a || !a.length))) {\n                    return;\n                }\n            ;\n            ;\n                ((((b === undefined)) && (b = !!this.options.sync)));\n                if (this.options.useAjax) {\n                    var c = {\n                        url: this.options.url,\n                        data: $.extend(this.ajaxParams(a), this.options.requestParameters),\n                        type: \"POST\",\n                        dataType: \"json\",\n                        async: !b\n                    };\n                    ((this.options.debug && (((this.options.debugHandler && (c.success = this.options.debugHandler))), c.data.debug = \"1\"))), $.ajax(c);\n                }\n                 else {\n                    var d = ((this.options.debug ? \"&debug=1\" : \"\"));\n                    (new JSBNG__Image).src = ((((((((((this.options.url + \"?q=\")) + (+(new JSBNG__Date)).toString().slice(-4))) + d)) + \"&\")) + this.imageParams(a)));\n                }\n            ;\n            ;\n                this.reset();\n            },\n            ajaxParams: function(a) {\n                if (((typeof a == \"string\"))) {\n                    return {\n                        log: ((((\"[\" + a)) + \"]\"))\n                    };\n                }\n            ;\n            ;\n                var b = this.options.encodeParameters;\n                return ((((b && ((typeof b == \"function\")))) ? b.apply(this, arguments) : {\n                    log: JSON.stringify(a)\n                }));\n            },\n            imageParams: function(a) {\n                if (((typeof a == \"string\"))) {\n                    return ((((\"log=%5B\" + a)) + \"%5D\"));\n                }\n            ;\n            ;\n                var b = this.options.encodeParameters;\n                return ((((b && ((typeof b == \"function\")))) ? b.apply(this, arguments) : ((\"log=\" + encodeURIComponent(JSON.stringify(a))))));\n            },\n            reset: function() {\n                ((this.options.bufferEvents && (this.skipUnloadFlush = !1, JSBNG__sessionStorage.removeItem(this.options.bufferKey))));\n            },\n            getBuffer: function() {\n                return ((JSBNG__sessionStorage.getItem(this.options.bufferKey) || \"\"));\n            },\n            send: function(a, b, c) {\n                if (((((!b || !a)) || ((this.options.bufferSize < 0))))) {\n                    return;\n                }\n            ;\n            ;\n                a._category_ = b;\n                if (((((c || !this.options.bufferEvents)) || !this.options.bufferSize))) this.flush([a,], c);\n                 else {\n                    var d = JSON.stringify(a);\n                    ((this.options.useAjax || (d = encodeURIComponent(d))));\n                    var e = this.getBuffer(), f = ((e + ((e ? ((this.SEPARATOR + d)) : d))));\n                    ((((this.options.bufferSize && this.fullBuffer(f))) ? ((this.options.useAjax ? this.flush(f) : (this.flush(e), JSBNG__sessionStorage.setItem(this.options.bufferKey, d)))) : JSBNG__sessionStorage.setItem(this.options.bufferKey, f)));\n                }\n            ;\n            ;\n                ((this.options.debug && $(JSBNG__document).trigger(((\"scribedata.\" + this.options.bufferKey)), a))), ((((this.options.metrics && ((a.event_info != \"debug\")))) && $(JSBNG__document).trigger(\"debugscribe\", a)));\n            },\n            fullBuffer: function(a) {\n                return ((a.length >= ((this.options.useAjax ? ((this.options.bufferSize * 2083)) : ((2050 - this.options.url.length))))));\n            },\n            updateOptions: function(a) {\n                this.options = $.extend({\n                }, this.options, a), ((this.options.requestParameters || (this.options.requestParameters = {\n                }))), ((((this.options.flushOnUnload === undefined)) && (this.options.flushOnUnload = !0))), ((this.options.bufferKey || (this.options.bufferKey = this.SESSION_BUFFER_KEY))), ((((this.options.bufferSize === 0)) && (this.options.bufferEvents = !1))), ((((this.options.useAjax === undefined)) && (this.options.useAjax = !0)));\n                if (((this.options.bufferEvents || ((this.options.bufferEvents == undefined))))) {\n                    try {\n                        JSBNG__sessionStorage.setItem(((this.SESSION_BUFFER_KEY + \".init\")), \"test\");\n                        var b = ((JSBNG__sessionStorage.getItem(((this.SESSION_BUFFER_KEY + \".init\"))) == \"test\"));\n                        JSBNG__sessionStorage.removeItem(((this.SESSION_BUFFER_KEY + \".init\"))), this.options.bufferEvents = b;\n                    } catch (c) {\n                        this.options.bufferEvents = !1;\n                    };\n                }\n            ;\n            ;\n                if (((this.options.debug && !this.options.debugHandler))) {\n                    var d = this;\n                    this.options.debugHandler = ((a.debugHandler || function(a) {\n                        $(JSBNG__document).trigger(((\"handlescribe.\" + d.options.bufferKey)), a);\n                    }));\n                }\n            ;\n            ;\n                var e = ((((window.JSBNG__location.protocol === \"https:\")) ? \"https:\" : \"http:\"));\n                ((((this.options.url === undefined)) ? ((this.options.useAjax ? this.options.url = this.SCRIBE_API_ENDPOINT : this.options.url = ((\"https://twitter.com\" + this.SCRIBE_API_ENDPOINT)))) : this.options.url = this.options.url.replace(/^[a-z]+:/g, e).replace(/\\/$/, \"\"))), ((((this.options.bufferEvents && ((this.options.bufferSize === undefined)))) && (this.options.bufferSize = 20)));\n            },\n            appHost: function() {\n                return window.JSBNG__location.host;\n            },\n            registerEventHandlers: function() {\n                var a = this, b = $(JSBNG__document);\n                if (this.options.bufferEvents) {\n                    b.JSBNG__on(((\"flushscribe.\" + a.options.bufferKey)), function(b) {\n                        a.flush(a.getBuffer(), !0);\n                    });\n                    if (this.options.flushOnUnload) {\n                        var c = function(b) {\n                            a.skipUnloadFlush = ((((!b || !b.match(/http/))) || !!b.match(new RegExp(((\"^https?://\" + a.appHost())), \"gi\")))), ((a.skipUnloadFlush && window.JSBNG__setTimeout(function() {\n                                a.skipUnloadFlush = !1;\n                            }, 3000)));\n                        };\n                        b.JSBNG__on(((\"mouseup.\" + this.options.bufferKey)), \"a\", function(a) {\n                            if (((((((((((this.getAttribute(\"target\") || a.button)) || a.metaKey)) || a.shiftKey)) || a.altKey)) || a.ctrlKey))) {\n                                return;\n                            }\n                        ;\n                        ;\n                            c(this.getAttribute(\"href\"));\n                        }), b.JSBNG__on(((\"submit.\" + this.options.bufferKey)), \"form\", function(a) {\n                            c(this.getAttribute(\"action\"));\n                        }), b.JSBNG__on(((\"uiNavigate.\" + this.options.bufferKey)), function(a, b) {\n                            c(b.url);\n                        }), $(window).JSBNG__on(((\"unload.\" + this.options.bufferKey)), function() {\n                            ((a.skipUnloadFlush || a.flush(a.getBuffer(), !0))), a.skipUnloadFlush = !1;\n                        });\n                    }\n                ;\n                ;\n                }\n            ;\n            ;\n                this.SEPARATOR = ((this.options.useAjax ? \",\" : encodeURIComponent(\",\")));\n            },\n            destroy: function() {\n                this.flush(this.getBuffer()), $(JSBNG__document).off(((\"flushscribe.\" + this.options.bufferKey))), $(window).off(((\"unload.\" + this.options.bufferKey))), $(JSBNG__document).off(((\"mouseup.\" + this.options.bufferKey))), $(JSBNG__document).off(((\"submit.\" + this.options.bufferKey))), $(JSBNG__document).off(((\"uiNavigate.\" + this.options.bufferKey)));\n            }\n        }, module.exports = new ScribeTransport;\n    });\n    define(\"app/data/scribe_monitor\", [\"module\",\"require\",\"exports\",\"core/component\",], function(module, require, exports) {\n        function scribeMonitor() {\n            function a(a) {\n                if (((window.scribeConsole && window.scribeConsole.JSBNG__postMessage))) {\n                    var b = ((((window.JSBNG__location.protocol + \"//\")) + window.JSBNG__location.host));\n                    try {\n                        window.scribeConsole.JSBNG__postMessage(a, b);\n                    } catch (c) {\n                        var d = ((((\"ScribeMonitor.postToConsole - Scribe Console error or unserializable data [\" + a._category_)) + \"]\"));\n                        JSBNG__console.error(d, a);\n                    };\n                ;\n                }\n            ;\n            ;\n            };\n        ;\n            this.after(\"initialize\", function() {\n                this.JSBNG__on(\"keypress\", function(a) {\n                    if (((((((a.charCode == 205)) && a.shiftKey)) && a.altKey))) {\n                        var b = \"menubar=no,toolbar=no,personalbar=no,location=no,resizable=yes,status=no,dependent=yes,height=600,width=600,screenX=100,screenY=100,scrollbars=yes\", c = window.JSBNG__location.host;\n                        if (((!c || !c.match(/^(staging[0-9]+\\.[^\\.]+\\.twitter.com|twitter\\.com|localhost\\.twitter\\.com\\:[0-9]+)$/)))) {\n                            c = \"twitter.com\";\n                        }\n                    ;\n                    ;\n                        window.scribeConsole = window.open(((((((window.JSBNG__location.protocol + \"//\")) + c)) + \"/scribe/console\")), \"scribe_console\", b);\n                    }\n                ;\n                ;\n                }), this.JSBNG__on(\"scribedata.ScribeTransport handlescribe.ScribeTransport\", function(b, c) {\n                    a(c);\n                }), ((this.attr.scribesForScribeConsole && this.JSBNG__on(\"uiSwiftLoaded uiPageChanged\", function(b, c) {\n                    ((((((b.type == \"uiSwiftLoaded\")) || !c.fromCache)) && this.attr.scribesForScribeConsole.forEach(function(b) {\n                        b._category_ = \"client_event\", a(b);\n                    })));\n                })));\n            });\n        };\n    ;\n        var defineComponent = require(\"core/component\");\n        module.exports = defineComponent(scribeMonitor);\n    });\n    define(\"app/data/client_event\", [\"module\",\"require\",\"exports\",\"app/data/scribe_transport\",], function(module, require, exports) {\n        function ClientEvent(a) {\n            this.scribeContext = {\n            }, this.scribeData = {\n            }, this.scribe = function(b, c) {\n                var d = ((a || window.scribeTransport));\n                if (!d) {\n                    throw new Error(\"You must create a global scribeTransport variable or pass one into this constructor.\");\n                }\n            ;\n            ;\n                if (((((!b || ((typeof b != \"object\")))) || ((c && ((typeof c != \"object\"))))))) {\n                    throw new Error(\"Invalid terms or data hash argument when calling ClientEvent.scribe().\");\n                }\n            ;\n            ;\n                if (this.scribeContext) {\n                    var e = ((((typeof this.scribeContext == \"function\")) ? this.scribeContext() : this.scribeContext));\n                    b = $.extend({\n                    }, e, b);\n                }\n            ;\n            ;\n                {\n                    var fin49keys = ((window.top.JSBNG_Replay.forInKeys)((b))), fin49i = (0);\n                    var f;\n                    for (; (fin49i < fin49keys.length); (fin49i++)) {\n                        ((f) = (fin49keys[fin49i]));\n                        {\n                            b[f] = ((b[f] && ((\"\" + b[f])).toLowerCase().replace(/_?[^a-z0-9_]+_?/g, \"_\")));\n                        ;\n                        };\n                    };\n                };\n            ;\n                ((d.options.debug && $.each([\"client\",\"action\",], function(a, c) {\n                    if (!b[c]) {\n                        throw new Error(((((\"You must specify a \" + c)) + \" term in your client_event.\")));\n                    }\n                ;\n                ;\n                })));\n                var c = $.extend({\n                }, c);\n                if (this.scribeData) {\n                    var g = ((((typeof this.scribeData == \"function\")) ? this.scribeData() : this.scribeData));\n                    c = $.extend({\n                    }, g, c);\n                }\n            ;\n            ;\n                c.event_namespace = b, c.triggered_on = ((c.triggered_on || +(new JSBNG__Date))), c.format_version = ((c.format_version || 2)), d.send(c, \"client_event\");\n            };\n        };\n    ;\n        var scribeTransport = require(\"app/data/scribe_transport\");\n        module.exports = new ClientEvent(scribeTransport);\n    });\n    define(\"app/data/ddg\", [\"module\",\"require\",\"exports\",\"app/data/client_event\",], function(module, require, exports) {\n        function DDG(a, b) {\n            this.experiments = ((a || {\n            })), this.impressions = {\n            }, this.scribeExperiment = function(a, c, d) {\n                var e = $.extend({\n                    page: \"ddg\",\n                    section: a.experiment_key,\n                    component: \"\",\n                    element: \"\"\n                }, c);\n                d = ((d || {\n                })), d.experiment_key = a.experiment_key, d.bucket = a.bucket, d.version = a.version, ((b || window.clientEvent)).scribe(e, d);\n            }, this.impression = function(a) {\n                var b = this.experiments[a];\n                ((b && (a = b.experiment_key, ((this.impressions[a] || (this.scribeExperiment(b, {\n                    action: \"experiment\"\n                }), this.impressions[a] = !0))))));\n            }, this.track = function(a, b, c) {\n                if (!b) {\n                    throw new Error(\"You must specify an event name to track custom DDG events. Event names should be lower-case, snake_cased strings.\");\n                }\n            ;\n            ;\n                var d = this.experiments[a];\n                ((d && this.scribeExperiment(d, {\n                    element: b,\n                    action: \"track\"\n                }, c)));\n            }, this.bucket = function(a) {\n                var b = this.experiments[a];\n                return ((b ? b.bucket : \"\"));\n            };\n        };\n    ;\n        var clientEvent = require(\"app/data/client_event\");\n        module.exports = new DDG({\n        }, clientEvent);\n    });\n    define(\"app/utils/scribe_association_types\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n        module.exports = {\n            associatedTweet: 1,\n            platformCardPublisher: 2,\n            platformCardCreator: 3,\n            conversationOrigin: 4,\n            associatedUser: 5,\n            associatedTimeline: 6\n        };\n    });\n    define(\"app/data/with_scribe\", [\"module\",\"require\",\"exports\",\"app/data/client_event\",\"core/utils\",], function(module, require, exports) {\n        function withScribe() {\n            function a(a) {\n                if (!a) {\n                    return;\n                }\n            ;\n            ;\n                a = ((a.sourceEventData ? a.sourceEventData : a));\n                if (((a.scribeContext || a.scribeData))) {\n                    return a;\n                }\n            ;\n            ;\n            };\n        ;\n            this.scribe = function() {\n                var b = Array.prototype.slice.call(arguments), c, d, e, f, g;\n                c = ((((typeof b[0] == \"string\")) ? {\n                    action: b[0]\n                } : b[0])), b.shift();\n                if (b[0]) {\n                    e = b[0], ((e.sourceEventData && (e = e.sourceEventData)));\n                    if (((e.scribeContext || e.scribeData))) {\n                        f = e.scribeContext, g = e.scribeData;\n                    }\n                ;\n                ;\n                    ((((((((b[0].scribeContext || b[0].scribeData)) || b[0].sourceEventData)) || ((b.length === 2)))) && b.shift()));\n                }\n            ;\n            ;\n                c = utils.merge({\n                }, f, c), d = ((((typeof b[0] == \"function\")) ? b[0].bind(this)(e) : b[0])), d = utils.merge({\n                }, g, d), this.transport(c, d);\n            }, this.scribeOnEvent = function(b, c, d) {\n                this.JSBNG__on(b, function(a, b) {\n                    b = ((b || {\n                    })), this.scribe(c, ((b.sourceEventData || b)), d);\n                });\n            }, this.transport = function(b, c) {\n                clientEvent.scribe(b, c);\n            };\n        };\n    ;\n        var clientEvent = require(\"app/data/client_event\"), utils = require(\"core/utils\");\n        module.exports = withScribe;\n    });\n    define(\"app/utils/with_session\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n        function withSession() {\n            this.setSessionItem = function(a, b) {\n                ((window.JSBNG__sessionStorage && JSBNG__sessionStorage.setItem(a, b)));\n            }, this.removeSessionItem = function(a) {\n                ((window.JSBNG__sessionStorage && JSBNG__sessionStorage.removeItem(a)));\n            }, this.getSessionItem = function(a) {\n                return ((window.JSBNG__sessionStorage && JSBNG__sessionStorage.getItem(a)));\n            }, this.setSessionObject = function(a, b) {\n                ((((b === undefined)) ? this.removeSessionItem(a) : this.setSessionItem(a, JSON.stringify(b))));\n            }, this.getSessionObject = function(a) {\n                var b = this.getSessionItem(a);\n                return ((((b === undefined)) ? b : JSON.parse(b)));\n            };\n        };\n    ;\n        module.exports = withSession;\n    });\n    define(\"app/utils/scribe_item_types\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n        module.exports = {\n            tweet: 0,\n            promotedTweet: 1,\n            popularTweet: 2,\n            retweet: 10,\n            user: 3,\n            promotedUser: 4,\n            message: 6,\n            story: 7,\n            trend: 8,\n            promotedTrend: 9,\n            popularTrend: 15,\n            list: 11,\n            search: 12,\n            savedSearch: 13,\n            peopleSearch: 14\n        };\n    });\n    define(\"app/data/with_interaction_data_scribe\", [\"module\",\"require\",\"exports\",\"core/compose\",\"app/data/with_scribe\",\"app/utils/with_session\",\"app/utils/scribe_item_types\",\"app/utils/scribe_association_types\",\"app/data/client_event\",\"core/utils\",], function(module, require, exports) {\n        function withInteractionDataScribe() {\n            this.defaultAttrs({\n                profileClickContextExpirationMs: 600000,\n                profileClickContextSessionKey: \"profileClickContext\"\n            }), compose.mixin(this, [withScribe,withSession,]), this.scribeInteraction = function(a, b, c) {\n                if (((!a || !b))) {\n                    return;\n                }\n            ;\n            ;\n                ((((typeof a == \"string\")) && (a = {\n                    action: a\n                })));\n                var d = a.action;\n                if (!d) {\n                    return;\n                }\n            ;\n            ;\n                b = utils.merge(b, b.sourceEventData), a = this.getInteractionScribeContext(a, b);\n                var e = {\n                };\n                ((b.url && (e.url = b.url))), ((b.query && (e.query = b.query))), ((b.impressionId && (e.promoted = !0)));\n                var f = this.interactionItem(b);\n                ((f && (e.items = [f,])));\n                var g = this.interactionTarget(b, a);\n                ((g && (e.targets = [g,]))), c = utils.merge(e, c, b.scribeData), ((b.conversationOriginTweetId && (c.associations = ((c.associations || {\n                })), c.associations[associationTypes.conversationOrigin] = {\n                    association_id: b.conversationOriginTweetId,\n                    association_type: itemTypes.tweet\n                }))), ((((((d == \"profile_click\")) || ((d == \"mention_click\")))) && this.saveProfileClickContext(b)));\n                if (((((d == \"report_as_spam\")) || ((d == \"block\"))))) {\n                    var h = this.getUserActionAssociations(b);\n                    ((h && (c.associations = utils.merge(c.associations, h))));\n                }\n            ;\n            ;\n                this.scribe(a, b, c);\n            }, this.interactionItem = function(a) {\n                var b = {\n                };\n                if (((((a.position === 0)) || a.position))) {\n                    b.position = a.position;\n                }\n            ;\n            ;\n                ((a.impressionId && (b.promoted_id = a.impressionId)));\n                switch (a.itemType) {\n                  case \"user\":\n                    this.userDetails(b, a);\n                    break;\n                  case \"tweet\":\n                    this.tweetDetails(b, a), this.cardDetails(b, a), this.translationDetails(b, a), this.conversationDetails(b, a);\n                    break;\n                  case \"activity\":\n                    this.activityDetails(b, a), ((((a.activityType == \"follow\")) ? (this.userDetails(b, a), ((a.isNetworkActivity || (b.id = this.attr.userId)))) : ((a.listId ? this.listDetails(b, a) : (this.tweetDetails(b, a), this.cardDetails(b, a))))));\n                    break;\n                  case \"story\":\n                    this.storyDetails(b, a), ((a.tweetId ? this.tweetDetails(b, a) : ((a.userId ? this.userDetails(b, a) : b.item_type = itemTypes.story))));\n                };\n            ;\n                return b;\n            }, this.interactionTarget = function(a, b) {\n                if (this.isUserTarget(b.action)) {\n                    var c = ((((a.isMentionClick ? a.userId : a.targetUserId)) || a.userId));\n                    return this.userDetails({\n                    }, {\n                        userId: c\n                    });\n                }\n            ;\n            ;\n            }, this.tweetDetails = function(a, b) {\n                return a.id = b.tweetId, a.item_type = itemTypes.tweet, ((b.relevanceType && (a.is_popular_tweet = !0))), ((b.retweetId && (a.retweeting_tweet_id = b.retweetId))), a;\n            }, this.cardDetails = function(a, b) {\n                return ((b.cardItem && utils.push(a, b.cardItem))), a;\n            }, this.translationDetails = function(a, b) {\n                return a.dest = b.dest, a;\n            }, this.conversationDetails = function(a, b) {\n                ((b.isConversation && (a.description = \"focal\"))), ((b.isConversationComponent && (a.description = b.description, a.id = b.tweetId)));\n            }, this.userDetails = function(a, b) {\n                return a.id = ((b.containerUserId || b.userId)), a.item_type = itemTypes.user, ((b.feedbackToken && (a.token = b.feedbackToken))), a;\n            }, this.listDetails = function(a, b) {\n                return a.id = b.listId, a.item_type = itemTypes.list, a;\n            }, this.activityDetails = function(a, b) {\n                return a.activity_type = b.activityType, ((b.actingUserIds && (a.acting_user_ids = b.actingUserIds))), a;\n            }, this.storyDetails = function(a, b) {\n                return a.story_type = b.storyType, a.story_source = b.storySource, a.social_proof_type = b.socialProofType, a;\n            }, this.isUserTarget = function(a) {\n                return (([\"mention_click\",\"profile_click\",\"follow\",\"unfollow\",\"block\",\"unblock\",\"report_as_spam\",\"add_to_list\",\"dm\",].indexOf(a) != -1));\n            }, this.getInteractionScribeContext = function(a, b) {\n                return ((((((a.action == \"profile_click\")) && ((a.element === undefined)))) && (a.element = ((b.isPromotedBadgeClick ? \"promoted_badge\" : b.profileClickTarget))))), a;\n            }, this.scribeInteractiveResults = function(a, b, c, d) {\n                var e = [], f = !1;\n                ((((typeof a == \"string\")) && (a = {\n                    action: a\n                })));\n                if (((!a.action || !b))) {\n                    return;\n                }\n            ;\n            ;\n                ((b.length || (a.action = \"no_results\"))), b.forEach(function(a) {\n                    ((f || (f = !!a.impressionId))), e.push(this.interactionItem(a));\n                }.bind(this)), a = this.getInteractionScribeContext(a, c);\n                var g = {\n                };\n                ((((e && e.length)) && (g.items = e))), ((f && (g.promoted = !0))), this.scribe(a, c, utils.merge(g, d));\n            }, this.associationNamespace = function(a, b) {\n                var c = {\n                    page: a.page,\n                    section: a.section\n                };\n                return (((([\"conversation\",\"replies\",\"in_reply_to\",].indexOf(b) >= 0)) && (c.component = b))), c;\n            }, this.getProfileUserAssociations = function() {\n                var a = ((this.attr.profile_user && this.attr.profile_user.id_str)), b = null;\n                return ((a && (b = {\n                }, b[associationTypes.associatedUser] = {\n                    association_id: a,\n                    association_type: itemTypes.user,\n                    association_namespace: this.associationNamespace(clientEvent.scribeContext)\n                }))), b;\n            }, this.getProfileClickContextAssociations = function(a) {\n                var b = ((this.getSessionObject(this.attr.profileClickContextSessionKey) || null));\n                return ((((((((b && ((b.userId == a)))) && ((b.expires > (new JSBNG__Date).getTime())))) && b.associations)) || null));\n            }, this.saveProfileClickContext = function(a) {\n                var b = {\n                };\n                ((a.tweetId ? (b[associationTypes.associatedTweet] = {\n                    association_id: a.tweetId,\n                    association_type: itemTypes.tweet,\n                    association_namespace: this.associationNamespace(clientEvent.scribeContext, a.scribeContext.component)\n                }, ((a.conversationOriginTweetId && (b[associationTypes.conversationOrigin] = {\n                    association_id: a.conversationOriginTweetId,\n                    association_type: itemTypes.tweet\n                })))) : b = this.getProfileUserAssociations())), this.setSessionObject(this.attr.profileClickContextSessionKey, {\n                    userId: a.userId,\n                    associations: b,\n                    expires: (((new JSBNG__Date).getTime() + this.attr.profileClickContextExpirationMs))\n                });\n            }, this.getUserActionAssociations = function(a) {\n                var b = a.scribeContext.component, c;\n                return ((((((b == \"profile_dialog\")) || ((b == \"profile_follow_card\")))) ? c = this.getProfileClickContextAssociations(a.userId) : ((((b == \"user\")) ? c = this.getProfileUserAssociations() : c = null)))), c;\n            };\n        };\n    ;\n        var compose = require(\"core/compose\"), withScribe = require(\"app/data/with_scribe\"), withSession = require(\"app/utils/with_session\"), itemTypes = require(\"app/utils/scribe_item_types\"), associationTypes = require(\"app/utils/scribe_association_types\"), clientEvent = require(\"app/data/client_event\"), utils = require(\"core/utils\");\n        module.exports = withInteractionDataScribe;\n    });\n    define(\"app/utils/scribe_card_types\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n        module.exports = {\n            photoTweet: 1,\n            photoCard: 2,\n            playerCard: 3,\n            summaryCard: 4,\n            promotionCard: 5,\n            plusCard: 6\n        };\n    });\n    define(\"app/data/with_card_metadata\", [\"module\",\"require\",\"exports\",\"core/compose\",\"app/utils/scribe_association_types\",\"app/data/with_interaction_data_scribe\",\"app/utils/scribe_item_types\",\"app/utils/scribe_card_types\",], function(module, require, exports) {\n        function withCardMetadata() {\n            compose.mixin(this, [withInteractionDataScribe,]);\n            var a = \"Swift-1\";\n            this.cardAssociationsForData = function(a) {\n                var b = {\n                    associations: {\n                    }\n                };\n                return b.associations[associationTypes.platformCardPublisher] = {\n                    association_id: a.publisherUserId,\n                    association_type: itemTypes.user\n                }, b.associations[associationTypes.platformCardCreator] = {\n                    association_id: a.creatorUserId,\n                    association_type: itemTypes.user\n                }, b.message = a.cardUrl, b;\n            }, this.getCardDataFromTweet = function(a) {\n                var b = {\n                }, c = a.closest(\".tweet\"), d, e, f, g;\n                return (((d = c.closest(\".permalink-tweet-container\")).length || (d = $(c.attr(\"data-expanded-footer\"))))), b.tweetHasCard = c.hasClass(\"has-cards\"), g = !!d.JSBNG__find(\".card2\").length, b.interactionInsideCard = !1, ((g ? (b.tweetHasCard2 = g, b.tweetPreExpanded = c.hasClass(\"preexpanded\"), b.itemId = ((c.attr(\"data-item-id\") || null)), b.promotedId = ((c.attr(\"data-impression-id\") || null)), f = d.JSBNG__find(\".card2\"), b.cardName = f.attr(\"data-card2-name\"), b.cardUrl = f.JSBNG__find(\".card2-holder\").attr(\"data-card2-url\"), b.publisherUserId = this.getUserIdFromElement(f.JSBNG__find(\".card2-attribution\").JSBNG__find(\".js-user-profile-link\")), b.creatorUserId = this.getUserIdFromElement(f.JSBNG__find(\".card2-byline\").JSBNG__find(\".js-user-profile-link\")), b.interactionInsideCard = !!a.closest(\".card2\").length) : ((b.tweetHasCard && (e = d.JSBNG__find(\".cards-base\"), ((((e.length > 0)) && (b.cardType = e.data(\"card-type\"), b.cardUrl = e.data(\"card-url\"), b.publisherUserId = this.getUserIdFromElement(e.JSBNG__find(\".source .js-user-profile-link\")), b.creatorUserId = this.getUserIdFromElement(e.JSBNG__find(\".byline .js-user-profile-link\")), b.interactionInsideCard = this.interactionInsideCard(a))))))))), b;\n            }, this.interactionInsideCard = function(a) {\n                return !!a.closest(\".cards-base\").length;\n            }, this.scribeCardInteraction = function(a, b) {\n                ((b.tweetHasCard2 ? this.scribeCard2Interaction(a, b) : ((b.tweetHasCard && this.scribeClassicCardInteraction(a, b)))));\n            }, this.scribeClassicCardInteraction = function(a, b) {\n                var c = this.cardAssociationsForData(b);\n                this.scribeInteraction({\n                    element: ((((\"platform_\" + b.cardType)) + \"_card\")),\n                    action: a\n                }, b, c);\n            }, this.getCard2Item = function(b) {\n                return {\n                    item_type: itemTypes.tweet,\n                    id: b.itemId,\n                    promoted_id: b.promotedId,\n                    pre_expanded: ((b.tweetPreExpanded || !1)),\n                    card_type: cardTypes.plusCard,\n                    card_name: b.cardName,\n                    card_url: b.cardUrl,\n                    card_platform_key: a,\n                    publisher_id: b.publisherUserId\n                };\n            }, this.scribeCard2Interaction = function(a, b) {\n                var c = {\n                    items: [this.getCard2Item(b),]\n                };\n                this.scribeInteraction({\n                    element: \"platform_card\",\n                    action: a\n                }, b, c);\n            }, this.getUserIdFromElement = function(a) {\n                return ((a.length ? a.attr(\"data-user-id\") : null));\n            };\n        };\n    ;\n        var compose = require(\"core/compose\"), associationTypes = require(\"app/utils/scribe_association_types\"), withInteractionDataScribe = require(\"app/data/with_interaction_data_scribe\"), itemTypes = require(\"app/utils/scribe_item_types\"), cardTypes = require(\"app/utils/scribe_card_types\");\n        module.exports = withCardMetadata;\n    });\n    define(\"app/data/with_conversation_metadata\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n        module.exports = function() {\n            this.defaultAttrs({\n                hasConversationModuleClassAlt: \"has-conversation-module\",\n                conversationModuleSelectorAlt: \".conversation-module\",\n                rootClass: \"root\",\n                conversationRootTweetSelector: \".conversation-module .conversation-tweet-item.root .tweet\",\n                conversationAncestorTweetSelector: \".conversation-module .conversation-tweet-item:not(root) .tweet\"\n            }), this.getConversationAttrs = function(a) {\n                var b = {\n                };\n                if (a.hasClass(this.attr.hasConversationModuleClass)) {\n                    var c = a.closest(this.attr.conversationModuleSelector);\n                    b.isConversation = !0, b.conversationAncestors = c.attr(\"data-ancestors\").split(\",\");\n                }\n                 else ((a.hasClass(\"conversation-tweet\") && (b.isConversationComponent = !0, b.description = ((a.hasClass(this.attr.rootClass) ? \"root\" : \"ancestor\")))));\n            ;\n            ;\n                return b;\n            }, this.conversationComponentInteractionData = function(a, b) {\n                return {\n                    itemType: \"tweet\",\n                    tweetId: $(a).attr(\"data-item-id\"),\n                    description: b,\n                    isConversationComponent: !0\n                };\n            }, this.extraInteractionData = function(a) {\n                if (((a.JSBNG__find(this.attr.conversationModuleSelector).length > 0))) {\n                    var b = a.JSBNG__find(this.conversationRootTweetSelector).map(function(a, b) {\n                        return this.conversationComponentInteractionData(b, \"root\");\n                    }.bind(this)).get(), c = a.JSBNG__find(this.attr.conversationAncestorTweetSelector).map(function(a, b) {\n                        return this.conversationComponentInteractionData(b, \"ancestor\");\n                    }.bind(this)).get();\n                    return b.concat(c);\n                }\n            ;\n            ;\n                return [];\n            }, this.addConversationScribeContext = function(a, b) {\n                return ((((b && b.isConversation)) ? (a.component = \"conversation\", a.element = \"tweet\") : ((((b && b.isConversationComponent)) && (a.component = \"conversation\", a.element = b.description))))), a;\n            }, this.after(\"initialize\", function() {\n                ((this.attr.conversationModuleSelector || (this.attr.conversationModuleSelector = this.attr.conversationModuleSelectorAlt))), ((this.attr.hasConversationModuleClass || (this.attr.hasConversationModuleClass = this.attr.hasConversationModuleClassAlt)));\n            });\n        };\n    });\n    define(\"app/ui/with_interaction_data\", [\"module\",\"require\",\"exports\",\"core/compose\",\"core/utils\",\"app/data/with_card_metadata\",\"app/data/with_conversation_metadata\",], function(module, require, exports) {\n        function withInteractionData() {\n            compose.mixin(this, [withCardMetadata,withConversationMetadata,]), this.defaultAttrs({\n                genericInteractionItemSelector: \".js-stream-item\",\n                expandoContainerSelector: \".expanded-conversation\",\n                expandoAncestorSelector: \".ancestor\",\n                expandoDescendantSelector: \".descendant\",\n                streamItemContainerSelector: \".js-stream-item, .permalink\",\n                activityTargetSelector: \".activity-truncated-tweet .js-actionable-tweet, .js-activity-list_member_added [data-list-id]\",\n                activityItemSelector: \".js-activity\",\n                itemAvatarSelector: \".js-action-profile-avatar, .avatar.size48\",\n                itemSmallAvatarSelector: \".avatar.size24, .avatar.size32\",\n                itemMentionSelector: \".twitter-atreply\",\n                discoveryStoryItemSelector: \".js-story-item\",\n                discoveryStoryHeadlineSelector: \".js-news-headline a\",\n                originalTweetSelector: \".js-original-tweet[data-tweet-id]\",\n                promotedBadgeSelector: \".js-promoted-badge\",\n                elementContextSelector: \"[data-element-context]\",\n                componentContextSelector: \"[data-component-context]\",\n                scribeContextSelector: \"[data-scribe-context]\",\n                userTargetSelector: \".js-user-profile-link, .twitter-atreply\"\n            });\n            var a = {\n                feedbackToken: \"data-feedback-token\",\n                impressionId: \"data-impression-id\",\n                disclosureType: \"data-disclosure-type\",\n                impressionCookie: \"data-impression-cookie\",\n                relevanceType: \"data-relevance-type\",\n                associatedTweetId: \"data-associated-tweet-id\"\n            }, b = utils.merge({\n                tweetId: \"data-tweet-id\",\n                retweetId: \"data-retweet-id\",\n                isReplyTo: \"data-is-reply-to\",\n                hasParentTweet: \"data-has-parent-tweet\"\n            }, a), c = utils.merge({\n                activityType: \"data-activity-type\"\n            }, b), d = utils.merge({\n                storyType: \"data-story-type\",\n                query: \"data-query\",\n                url: \"data-url\",\n                storySource: \"data-source\",\n                storyMediaType: \"data-card-media-type\",\n                socialProofType: \"data-social-proof-type\"\n            }, b);\n            this.interactionDataWithCard = function(a, b) {\n                return this.interactionData(a, b, !0);\n            }, this.interactionData = function(a, b, c) {\n                var d = {\n                }, e = {\n                }, f = !!c, g = ((a.target ? $(a.target) : $(a)));\n                ((this.setItemType && this.setItemType(g))), b = ((b || {\n                })), ((this.attr.eventData && (d = this.attr.eventData.scribeContext, e = this.attr.eventData.scribeData)));\n                var h = utils.merge(this.getEventData(g, f), b), i = g.closest(this.attr.scribeContextSelector).data(\"scribe-context\");\n                ((i && (e = utils.merge(i, e)))), d = utils.merge({\n                }, d, this.getScribeContext(g, h));\n                if (((((this.attr.itemType == \"tweet\")) && (([\"replies\",\"conversation\",\"in_reply_to\",].indexOf(d.component) >= 0))))) {\n                    var j = g.closest(this.attr.streamItemContainerSelector).JSBNG__find(this.attr.originalTweetSelector);\n                    ((j.length && (h.conversationOriginTweetId = j.attr(\"data-tweet-id\"))));\n                }\n            ;\n            ;\n                return utils.merge({\n                    scribeContext: d,\n                    scribeData: e\n                }, h);\n            }, this.getScribeContext = function(a, b) {\n                var c = {\n                }, d = a.closest(this.attr.componentContextSelector).attr(\"data-component-context\");\n                ((d && (c.component = d)));\n                var e = a.closest(this.attr.elementContextSelector).attr(\"data-element-context\");\n                ((e && (c.element = e)));\n                if (((c.element || c.component))) {\n                    return c;\n                }\n            ;\n            ;\n            }, this.getInteractionItemPosition = function(a, b) {\n                if (((b && ((b.position >= 0))))) {\n                    return b.position;\n                }\n            ;\n            ;\n                var c = ((this.getItemPosition && this.getItemPosition(a)));\n                return ((((c >= 0)) ? c : (c = this.getExpandoPosition(a), ((((c != -1)) ? c : ((((a.attr(\"data-is-tweet-proof\") === \"true\")) ? this.getTweetProofPosition(a) : this.getStreamPosition(a))))))));\n            }, this.getExpandoPosition = function(a) {\n                var b, c = -1, d = a.closest(this.attr.expandoAncestorSelector), e = a.closest(this.attr.expandoDescendantSelector);\n                return ((d.length && (b = d.closest(this.attr.expandoContainerSelector), c = b.JSBNG__find(this.attr.expandoAncestorSelector).index(d)))), ((e.length && (b = e.closest(this.attr.expandoContainerSelector), c = b.JSBNG__find(this.attr.expandoDescendantSelector).index(e)))), ((a.closest(\".in-reply-to,.replies-to\").length && (b = a.closest(\".in-reply-to,.replies-to\"), c = b.JSBNG__find(\".tweet\").index(a.closest(\".tweet\"))))), c;\n            }, this.getTweetProofPosition = function(a) {\n                var b = a.closest(this.attr.trendItemSelector).index();\n                return ((((b != -1)) ? b : -1));\n            }, this.getStreamPosition = function(a) {\n                var b = a.closest(this.attr.genericInteractionItemSelector).index();\n                if (((b != -1))) {\n                    return b;\n                }\n            ;\n            ;\n            }, this.getEventData = function(c, d) {\n                var e, f;\n                switch (this.attr.itemType) {\n                  case \"activity\":\n                    return this.getActivityEventData(c);\n                  case \"story\":\n                    return this.getStoryEventData(c);\n                  case \"user\":\n                    return this.getDataAttrs(c, a);\n                  case \"tweet\":\n                    return f = utils.merge(this.getDataAttrs(c, b), this.getConversationAttrs(c)), ((d ? utils.merge(this.getCardAttrs(c), f) : f));\n                  case \"list\":\n                    return this.getDataAttrs(c, a);\n                  case \"trend\":\n                    return this.getDataAttrs(c, b);\n                  default:\n                    return JSBNG__console.warn(\"You must configure your UI component with an \\\"itemType\\\" attribute of activity, story, user, tweet, list, or trend in order for it to scribe properly.\"), {\n                    };\n                };\n            ;\n            }, this.getActivityEventData = function(a) {\n                var b = a.closest(this.attr.activityItemSelector), d = b.JSBNG__find(this.attr.activityTargetSelector);\n                ((d.length || (d = a)));\n                var e = this.getDataAttrs(a, c, d);\n                e.isNetworkActivity = !!a.closest(\".discover-stream\").length, ((e.activityType || ((e.isReplyTo ? e.activityType = \"reply\" : e.activityType = ((e.retweetId ? \"retweet\" : \"mention\"))))));\n                var f = [], g = ((e.isNetworkActivity ? \".stream-item-activity-header\" : \"ol.activity-supplement\"));\n                return b.JSBNG__find(((g + \" a[data-user-id]\"))).each(function() {\n                    f.push($(this).data(\"user-id\"));\n                }), ((f.length && (e.actingUserIds = f))), e;\n            }, this.getStoryEventData = function(a) {\n                var b = this.getDataAttrs(a, d), c = a.closest(this.attr.discoveryStoryItemSelector), e = c.JSBNG__find(this.attr.discoveryStoryHeadlineSelector).text();\n                return b.storyTitle = e.replace(/^\\s+|\\s+$/g, \"\"), b;\n            }, this.getTargetUserId = function(a) {\n                var b = a.closest(this.attr.userTargetSelector);\n                if (b.length) {\n                    return ((b.closest(\"[data-user-id]\").attr(\"data-user-id\") || b.JSBNG__find(\"[data-user-id]\").attr(\"data-user-id\")));\n                }\n            ;\n            ;\n            }, this.getDataAttrs = function(a, b, c) {\n                var d = {\n                };\n                c = ((c || a)), $.each(b, function(a, b) {\n                    ((c.is(((((\"[\" + b)) + \"]\"))) ? d[a] = c.attr(b) : d[a] = c.closest(((((\"[\" + b)) + \"]\"))).attr(b)));\n                }), d.isReplyTo = ((d.isReplyTo === \"true\")), d = utils.merge(d, {\n                    position: this.getInteractionItemPosition(a, d),\n                    isMentionClick: ((a.closest(this.attr.itemMentionSelector).length > 0)),\n                    isPromotedBadgeClick: ((a.closest(this.attr.promotedBadgeSelector).length > 0)),\n                    itemType: this.attr.itemType\n                }), ((a.is(this.attr.itemAvatarSelector) ? d.profileClickTarget = \"avatar\" : ((a.is(this.attr.itemSmallAvatarSelector) ? d.profileClickTarget = \"mini_avatar\" : d.profileClickTarget = \"screen_name\"))));\n                var e = this.getTargetUserId(a);\n                return ((e && (d.targetUserId = e))), d.userId = a.closest(\"[data-user-id]\").attr(\"data-user-id\"), d.containerUserId = c.closest(\"[data-user-id]\").attr(\"data-user-id\"), d;\n            }, this.getCardAttrs = function(a) {\n                var b = this.getCardDataFromTweet(a);\n                return ((b.tweetHasCard2 ? {\n                    cardItem: this.getCard2Item(b)\n                } : {\n                }));\n            };\n        };\n    ;\n        var compose = require(\"core/compose\"), utils = require(\"core/utils\"), withCardMetadata = require(\"app/data/with_card_metadata\"), withConversationMetadata = require(\"app/data/with_conversation_metadata\");\n        module.exports = withInteractionData;\n    });\n    define(\"app/data/tweet_actions_scribe\", [\"module\",\"require\",\"exports\",\"core/component\",\"core/utils\",\"app/ui/with_interaction_data\",\"app/data/with_conversation_metadata\",\"app/data/with_interaction_data_scribe\",], function(module, require, exports) {\n        function tweetActionsScribe() {\n            this.scribeTweet = function(a) {\n                return function(b, c) {\n                    var d = this.addConversationScribeContext({\n                        action: a\n                    }, c.sourceEventData);\n                    this.scribeInteraction(d, utils.merge(c, c.sourceEventData));\n                }.bind(this);\n            }, this.after(\"initialize\", function() {\n                this.JSBNG__on(\"uiReplyButtonTweetSuccess\", this.scribeTweet(\"reply\")), this.JSBNG__on(\"uiDidRetweetSuccess\", this.scribeTweet(\"retweet\")), this.JSBNG__on(\"uiDidDeleteTweet\", this.scribeTweet(\"delete\")), this.JSBNG__on(\"dataDidFavoriteTweet\", this.scribeTweet(\"favorite\")), this.JSBNG__on(\"dataDidUnfavoriteTweet\", this.scribeTweet(\"unfavorite\")), this.JSBNG__on(\"dataDidUnretweet\", this.scribeTweet(\"unretweet\")), this.JSBNG__on(\"uiPermalinkClick\", this.scribeTweet(\"permalink\")), this.JSBNG__on(\"uiDidShareViaEmailSuccess\", this.scribeTweet(\"share_via_email\")), this.JSBNG__on(\"dataTweetTranslationSuccess\", this.scribeTweet(\"translate\"));\n            });\n        };\n    ;\n        var defineComponent = require(\"core/component\"), utils = require(\"core/utils\"), withInteractionData = require(\"app/ui/with_interaction_data\"), withConversationMetadata = require(\"app/data/with_conversation_metadata\"), withInteractionDataScribe = require(\"app/data/with_interaction_data_scribe\");\n        module.exports = defineComponent(tweetActionsScribe, withInteractionData, withConversationMetadata, withInteractionDataScribe);\n    });\n    define(\"app/data/user_actions_scribe\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/utils/scribe_item_types\",\"app/utils/scribe_association_types\",\"app/data/with_interaction_data_scribe\",], function(module, require, exports) {\n        function userActionsScribe() {\n            function a(a) {\n                var b = ((a && a.associatedTweetId)), c = {\n                };\n                if (!b) {\n                    return;\n                }\n            ;\n            ;\n                return c[associationTypes.associatedTweet] = {\n                    association_type: itemTypes.tweet,\n                    association_id: b\n                }, {\n                    associations: c\n                };\n            };\n        ;\n            this.defaultAttrs({\n                urlToActionMap: {\n                    \"/i/user/follow\": \"follow\",\n                    \"/i/user/unfollow\": \"unfollow\",\n                    \"/i/user/block\": \"block\",\n                    \"/i/user/unblock\": \"unblock\",\n                    \"/i/user/report_spam\": \"report_as_spam\",\n                    \"/i/user/hide\": \"dismiss\"\n                },\n                userActionToActionMap: {\n                    uiMentionAction: \"reply\",\n                    uiDmAction: \"dm\",\n                    uiListAction: \"add_to_list\",\n                    uiRetweetOnAction: {\n                        element: \"allow_retweets\",\n                        action: \"JSBNG__on\"\n                    },\n                    uiRetweetOffAction: {\n                        element: \"allow_retweets\",\n                        action: \"off\"\n                    },\n                    uiDeviceNotificationsOnAction: {\n                        element: \"mobile_notifications\",\n                        action: \"JSBNG__on\"\n                    },\n                    uiDeviceNotificationsOffAction: {\n                        element: \"mobile_notifications\",\n                        action: \"off\"\n                    },\n                    uiShowMobileNotificationsConfirm: {\n                        element: \"mobile_notifications\",\n                        action: \"failure\"\n                    },\n                    uiShowPushTweetsNotificationsConfirm: {\n                        element: \"mobile_notifications\",\n                        action: \"failure\"\n                    },\n                    uiEmailFollowAction: {\n                        element: \"email_follow\",\n                        action: \"email_follow\"\n                    },\n                    uiEmailUnfollowAction: {\n                        element: \"email_follow\",\n                        action: \"email_unfollow\"\n                    }\n                }\n            }), this.handleUserEvent = function(b, c) {\n                this.scribeInteraction(this.attr.urlToActionMap[c.requestUrl], c, a(c.sourceEventData)), ((c.isFollowBack && this.scribeInteraction(\"follow_back\", c, a(c.sourceEventData))));\n            }, this.handleAction = function(b, c) {\n                this.scribeInteraction(this.attr.userActionToActionMap[b.type], c, a(c));\n            }, this.after(\"initialize\", function() {\n                this.JSBNG__on(JSBNG__document, \"dataFollowStateChange dataUserActionSuccess dataEmailFollow dataEmailUnfollow\", this.handleUserEvent), this.JSBNG__on(JSBNG__document, \"uiMentionAction uiListAction uiDmAction uiRetweetOnAction uiRetweetOffAction uiDeviceNotificationsOnAction uiDeviceNotificationsOffAction uiShowMobileNotificationsConfirm uiShowPushTweetsNotificationsConfirm uiEmailFollowAction uiEmailUnfollowAction\", this.handleAction);\n            });\n        };\n    ;\n        var defineComponent = require(\"core/component\"), itemTypes = require(\"app/utils/scribe_item_types\"), associationTypes = require(\"app/utils/scribe_association_types\"), withInteractionDataScribe = require(\"app/data/with_interaction_data_scribe\");\n        module.exports = defineComponent(userActionsScribe, withInteractionDataScribe);\n    });\n    define(\"app/data/item_actions_scribe\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_interaction_data_scribe\",\"app/data/with_conversation_metadata\",\"app/data/with_card_metadata\",], function(module, require, exports) {\n        function itemActionsScribe() {\n            this.handleNewerTimelineItems = function(a, b) {\n                this.scribeInteractiveResults({\n                    element: \"newer\",\n                    action: \"results\"\n                }, b.items, b);\n            }, this.handleRangeTimelineItems = function(a, b) {\n                this.scribeInteractiveResults({\n                    element: \"range\",\n                    action: \"results\"\n                }, b.items, b);\n            }, this.handleProfilePopup = function(a, b) {\n                var c = b.sourceEventData, d = ((c.isMentionClick ? \"mention_click\" : \"profile_click\"));\n                c.userId = b.user_id, ((c.interactionInsideCard ? this.scribeCardAction(d, a, c) : this.scribeInteraction(d, c)));\n            }, this.scribeItemAction = function(a, b, c) {\n                var d = this.addConversationScribeContext({\n                    action: a\n                }, c);\n                this.scribeInteraction(d, c);\n            }, this.scribeSearchTagClick = function(a, b) {\n                var c = ((((a.type == \"uiCashtagClick\")) ? \"cashtag\" : \"hashtag\"));\n                this.scribeInteraction({\n                    element: c,\n                    action: \"search\"\n                }, b);\n            }, this.scribeLinkClick = function(a, b) {\n                var c = {\n                };\n                ((b.tcoUrl && (c.message = b.tcoUrl))), ((((b.text && ((b.text.indexOf(\"pic.twitter.com\") == 0)))) && (b.url = ((\"http://\" + b.text))))), this.scribeInteraction(\"open_link\", b, c);\n            }, this.scribeCardAction = function(a, b, c) {\n                ((((c && c.tweetHasCard)) && this.scribeCardInteraction(a, c)));\n            }, this.after(\"initialize\", function() {\n                this.JSBNG__on(JSBNG__document, \"uiHasInjectedNewTimeline\", this.handleNewerTimelineItems), this.JSBNG__on(JSBNG__document, \"uiHasInjectedRangeTimelineItems\", this.handleRangeTimelineItems), this.JSBNG__on(JSBNG__document, \"dataProfilePopupSuccess\", this.handleProfilePopup), this.JSBNG__on(JSBNG__document, \"uiItemSelected\", this.scribeItemAction.bind(this, \"select\")), this.JSBNG__on(JSBNG__document, \"uiItemDeselected\", this.scribeItemAction.bind(this, \"deselect\")), this.JSBNG__on(JSBNG__document, \"uiHashtagClick uiCashtagClick\", this.scribeSearchTagClick), this.JSBNG__on(JSBNG__document, \"uiItemLinkClick\", this.scribeLinkClick), this.JSBNG__on(JSBNG__document, \"uiCardInteractionLinkClick\", this.scribeCardAction.bind(this, \"click\")), this.JSBNG__on(JSBNG__document, \"uiCardExternalLinkClick\", this.scribeCardAction.bind(this, \"open_link\")), this.JSBNG__on(JSBNG__document, \"uiItemSelected\", this.scribeCardAction.bind(this, \"show\")), this.JSBNG__on(JSBNG__document, \"uiItemDeselected\", this.scribeCardAction.bind(this, \"hide\")), this.JSBNG__on(JSBNG__document, \"uiMapShow\", this.scribeItemAction.bind(this, \"show\")), this.JSBNG__on(JSBNG__document, \"uiMapClick\", this.scribeItemAction.bind(this, \"click\")), this.JSBNG__on(JSBNG__document, \"uiShareViaEmailDialogOpened\", this.scribeItemAction.bind(this, \"open\"));\n            });\n        };\n    ;\n        var defineComponent = require(\"core/component\"), withInteractionDataScribe = require(\"app/data/with_interaction_data_scribe\"), withConversationMetadata = require(\"app/data/with_conversation_metadata\"), withCardMetadata = require(\"app/data/with_card_metadata\");\n        module.exports = defineComponent(itemActionsScribe, withInteractionDataScribe, withConversationMetadata, withCardMetadata);\n    });\n    define(\"app/utils/full_path\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n        function fullPath() {\n            return [JSBNG__location.pathname,JSBNG__location.search,].join(\"\");\n        };\n    ;\n        module.exports = fullPath;\n    });\n    define(\"app/data/navigation_scribe\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/client_event\",\"app/data/with_scribe\",\"app/utils/full_path\",], function(module, require, exports) {\n        function navigationScribe() {\n            this.scribeNav = function(a, b) {\n                this.scribe(\"JSBNG__navigate\", b, {\n                    url: b.url\n                });\n            }, this.scribeCachedImpression = function(a, b) {\n                ((b.fromCache && this.scribe(\"impression\")));\n            }, this.after(\"initialize\", function() {\n                clientEvent.internalReferer = fullPath(), this.JSBNG__on(\"uiNavigationLinkClick\", this.scribeNav), this.JSBNG__on(\"uiPageChanged\", this.scribeCachedImpression);\n            });\n        };\n    ;\n        var defineComponent = require(\"core/component\"), clientEvent = require(\"app/data/client_event\"), withScribe = require(\"app/data/with_scribe\"), fullPath = require(\"app/utils/full_path\");\n        module.exports = defineComponent(navigationScribe, withScribe);\n    });\n    define(\"app/data/simple_event_scribe\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_scribe\",], function(module, require, exports) {\n        function simpleEventScribe() {\n            this.defaultAttrs({\n                eventToActionMap: {\n                    uiEnableEmailFollowAction: {\n                        action: \"enable\"\n                    },\n                    uiDisableEmailFollowAction: {\n                        action: \"disable\"\n                    }\n                }\n            }), this.scribeSimpleEvent = function(a, b) {\n                this.scribe(this.attr.eventToActionMap[a.type], b);\n            }, this.after(\"initialize\", function() {\n                this.JSBNG__on(\"uiEnableEmailFollowAction\", this.scribeSimpleEvent), this.JSBNG__on(\"uiDisableEmailFollowAction\", this.scribeSimpleEvent);\n            });\n        };\n    ;\n        var defineComponent = require(\"core/component\"), withScribe = require(\"app/data/with_scribe\");\n        module.exports = defineComponent(simpleEventScribe, withScribe);\n    });\n    define(\"app/boot/scribing\", [\"module\",\"require\",\"exports\",\"app/data/scribe_transport\",\"app/data/scribe_monitor\",\"app/data/client_event\",\"app/data/ddg\",\"app/data/tweet_actions_scribe\",\"app/data/user_actions_scribe\",\"app/data/item_actions_scribe\",\"app/data/navigation_scribe\",\"app/data/simple_event_scribe\",], function(module, require, exports) {\n        function initialize(a) {\n            var b = {\n                useAjax: !0,\n                bufferEvents: ((((((a.environment != \"development\")) && ((a.environment != \"staging\")))) && !a.preflight)),\n                flushOnUnload: ((a.environment != \"selenium\")),\n                bufferSize: ((((a.environment == \"selenium\")) ? ((1000 * a.scribeBufferSize)) : a.scribeBufferSize)),\n                debug: !!a.debugAllowed,\n                requestParameters: a.scribeParameters\n            };\n            scribeTransport.updateOptions(b), scribeTransport.registerEventHandlers(), clientEvent.scribeContext = {\n                client: \"web\",\n                page: a.pageName,\n                section: a.sectionName\n            }, clientEvent.scribeData = {\n                internal_referer: ((clientEvent.internalReferer || a.internalReferer)),\n                client_version: ((a.macawSwift ? \"macaw-swift\" : \"swift\"))\n            }, delete clientEvent.internalReferer, ((a.loggedIn || (clientEvent.scribeData.user_id = 0))), ddg.experiments = a.experiments, ((((((((a.environment != \"production\")) || a.preflight)) || a.scribesForScribeConsole)) && ScribeMonitor.attachTo(JSBNG__document, {\n                scribesForScribeConsole: a.scribesForScribeConsole\n            }))), TweetActionsScribe.attachTo(JSBNG__document, a), UserActionsScribe.attachTo(JSBNG__document, a), ItemActionsScribe.attachTo(JSBNG__document, a), NavigationScribe.attachTo(JSBNG__document, a), SimpleEventScribe.attachTo(JSBNG__document, a);\n        };\n    ;\n        var scribeTransport = require(\"app/data/scribe_transport\"), ScribeMonitor = require(\"app/data/scribe_monitor\"), clientEvent = require(\"app/data/client_event\"), ddg = require(\"app/data/ddg\"), TweetActionsScribe = require(\"app/data/tweet_actions_scribe\"), UserActionsScribe = require(\"app/data/user_actions_scribe\"), ItemActionsScribe = require(\"app/data/item_actions_scribe\"), NavigationScribe = require(\"app/data/navigation_scribe\"), SimpleEventScribe = require(\"app/data/simple_event_scribe\");\n        module.exports = initialize;\n    });\n    define(\"app/ui/navigation\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/utils/full_path\",], function(module, require, exports) {\n        function navigation() {\n            this.defaultAttrs({\n                spinnerContainer: \"body\",\n                pushStateSelector: \"a.js-nav\",\n                pageContainer: \"#page-container\",\n                docContainer: \"#doc\",\n                globalHeadingSelector: \".global-nav h1\",\n                spinnerClass: \"pushing-state\",\n                spinnerSelector: \".pushstate-spinner\",\n                baseFoucClass: \"swift-loading\"\n            }), this.JSBNG__navigate = function(a) {\n                var b, c;\n                if (((((((a.shiftKey || a.ctrlKey)) || a.metaKey)) || ((((a.which != undefined)) && ((a.which > 1))))))) {\n                    return;\n                }\n            ;\n            ;\n                b = $(a.target), c = b.closest(this.attr.pushStateSelector), ((((c.length && !a.isDefaultPrevented())) && (this.trigger(c, \"uiNavigate\", {\n                    href: c.attr(\"href\")\n                }), a.preventDefault(), a.stopImmediatePropagation())));\n            }, this.updatePage = function(a, b, c) {\n                this.hideSpinner(), this.trigger(\"uiBeforePageChanged\", b), this.trigger(\"uiTeardown\", b), $(\"html\").attr(\"class\", ((((b.init_data.htmlClassNames + \" \")) + b.init_data.htmlFoucClassNames))), $(\"body\").attr(\"class\", b.body_class_names), this.select(\"docContainer\").attr(\"class\", b.doc_class_names), this.select(\"pageContainer\").attr(\"class\", b.page_container_class_names);\n                var d = ((((b.banners && !b.fromCache)) ? ((b.banners + b.page)) : b.page));\n                this.$node.JSBNG__find(b.init_data.viewContainer).html(d), ((b.isPopState || $(window).scrollTop(0))), using(b.module, function(a) {\n                    a(b.init_data), $(\"html\").removeClass(this.attr.baseFoucClass), this.trigger(\"uiPageChanged\", b);\n                }.bind(this));\n            }, this.showSpinner = function(a, b) {\n                this.select(\"spinnerContainer\").addClass(this.attr.spinnerClass);\n            }, this.hideSpinner = function(a, b) {\n                this.select(\"spinnerContainer\").removeClass(this.attr.spinnerClass);\n            }, this.addSpinner = function() {\n                ((this.select(\"spinnerSelector\").length || $(\"\\u003Cdiv class=\\\"pushstate-spinner\\\"\\u003E\\u003C/div\\u003E\").insertAfter(this.select(\"globalHeadingSelector\"))));\n            }, this.onPopState = function(a) {\n                ((a.originalEvent.state && (((isSafari && (JSBNG__document.body.style.display = \"none\", JSBNG__document.body.offsetHeight, JSBNG__document.body.style.display = \"block\"))), this.trigger(\"uiNavigate\", {\n                    isPopState: !0,\n                    href: fullPath()\n                }))));\n            }, this.after(\"initialize\", function() {\n                this.JSBNG__on(\"click\", this.JSBNG__navigate), this.JSBNG__on(window, \"popstate\", this.onPopState), this.JSBNG__on(\"uiSwiftLoaded\", this.addSpinner), this.JSBNG__on(\"dataPageRefresh\", this.updatePage), this.JSBNG__on(\"dataPageFetch\", this.showSpinner);\n            });\n        };\n    ;\n        var component = require(\"core/component\"), fullPath = require(\"app/utils/full_path\"), Navigation = component(navigation), isSafari = (($.browser.safari === !0));\n        module.exports = Navigation;\n    });\n    provide(\"app/utils/time\", function(a) {\n        function b(a) {\n            this.ms = a;\n        };\n    ;\n        function c(a) {\n            var c = {\n                seconds: new b(((a * 1000))),\n                minutes: new b(((((a * 1000)) * 60))),\n                hours: new b(((((((a * 1000)) * 60)) * 60))),\n                days: new b(((((((((a * 1000)) * 60)) * 60)) * 24)))\n            };\n            return c.second = c.seconds, c.minute = c.minutes, c.hour = c.hours, c.day = c.days, c;\n        };\n    ;\n        c.now = function() {\n            return (new JSBNG__Date).getTime();\n        }, b.prototype.fromNow = function() {\n            return new JSBNG__Date(((c.now() + this.ms)));\n        }, b.prototype.ago = function() {\n            return new JSBNG__Date(((c.now() - this.ms)));\n        }, b.prototype.getTime = b.prototype.valueOf = function() {\n            return this.ms;\n        }, a(c);\n    });\n    define(\"app/utils/storage/core\", [\"module\",\"require\",\"exports\",\"core/compose\",\"core/advice\",], function(module, require, exports) {\n        function JSBNG__localStorage() {\n            this.initialize = function(a) {\n                this.namespace = a, this.prefix = [\"__\",this.namespace,\"__:\",].join(\"\"), this.matcher = new RegExp(((\"^\" + this.prefix)));\n            }, this.getItem = function(a) {\n                return this.decode(window.JSBNG__localStorage.getItem(((this.prefix + a))));\n            }, this.setItem = function(a, b) {\n                try {\n                    return window.JSBNG__localStorage.setItem(((this.prefix + a)), this.encode(b));\n                } catch (c) {\n                    return ((((window.DEBUG && window.DEBUG.enabled)) && JSBNG__console.error(c))), undefined;\n                };\n            ;\n            }, this.removeItem = function(a) {\n                return window.JSBNG__localStorage.removeItem(((this.prefix + a)));\n            }, this.keys = function() {\n                var a = [];\n                for (var b = 0, c = window.JSBNG__localStorage.length, d; ((b < c)); b++) {\n                    d = window.JSBNG__localStorage.key(b), ((d.match(this.matcher) && a.push(d.replace(this.matcher, \"\"))));\n                ;\n                };\n            ;\n                return a;\n            }, this.clear = function() {\n                this.keys().forEach(function(a) {\n                    this.removeItem(a);\n                }, this);\n            }, this.clearAll = function() {\n                window.JSBNG__localStorage.clear();\n            };\n        };\n    ;\n        function userData() {\n            function b(b, c) {\n                var d = c.xmlDocument.documentElement;\n                a[b] = {\n                };\n                while (d.firstChild) {\n                    d.removeChild(d.firstChild);\n                ;\n                };\n            ;\n                c.save(b);\n            };\n        ;\n            function c(a) {\n                return JSBNG__document.getElementById(((\"__storage_\" + a)));\n            };\n        ;\n            var a = {\n            };\n            this.initialize = function(b) {\n                this.namespace = b, (((this.dataStore = c(this.namespace)) || this.createStorageElement())), this.xmlDoc = this.dataStore.xmlDocument, this.xmlDocEl = this.xmlDoc.documentElement, a[this.namespace] = ((a[this.namespace] || {\n                }));\n            }, this.createStorageElement = function() {\n                this.dataStore = JSBNG__document.createElement(\"div\"), this.dataStore.id = ((\"__storage_\" + this.namespace)), this.dataStore.style.display = \"none\", JSBNG__document.appendChild(this.dataStore), this.dataStore.addBehavior(\"#default#userData\"), this.dataStore.load(this.namespace);\n            }, this.getNodeByKey = function(b) {\n                var c = this.xmlDocEl.childNodes, d;\n                if (d = a[this.namespace][b]) {\n                    return d;\n                }\n            ;\n            ;\n                for (var e = 0, f = c.length; ((e < f)); e++) {\n                    d = c.item(e);\n                    if (((d.getAttribute(\"key\") == b))) {\n                        return a[this.namespace][b] = d, d;\n                    }\n                ;\n                ;\n                };\n            ;\n                return null;\n            }, this.getItem = function(a) {\n                var b = this.getNodeByKey(a), c = null;\n                return ((b && (c = b.getAttribute(\"value\")))), this.decode(c);\n            }, this.setItem = function(b, c) {\n                var d = this.getNodeByKey(b);\n                return ((d ? d.setAttribute(\"value\", this.encode(c)) : (d = this.xmlDoc.createNode(1, \"item\", \"\"), d.setAttribute(\"key\", b), d.setAttribute(\"value\", this.encode(c)), this.xmlDocEl.appendChild(d), a[this.namespace][b] = d))), this.dataStore.save(this.namespace), c;\n            }, this.removeItem = function(b) {\n                var c = this.getNodeByKey(b);\n                ((c && (this.xmlDocEl.removeChild(c), delete a[this.namespace][b]))), this.dataStore.save(this.namespace);\n            }, this.keys = function() {\n                var a = this.xmlDocEl.childNodes.length, b = [];\n                for (var c = 0; ((c < a)); c++) {\n                    b.push(this.xmlDocEl.childNodes[c].getAttribute(\"key\"));\n                ;\n                };\n            ;\n                return b;\n            }, this.clear = function() {\n                b(this.namespace, this.dataStore);\n            }, this.clearAll = function() {\n                {\n                    var fin50keys = ((window.top.JSBNG_Replay.forInKeys)((a))), fin50i = (0);\n                    var d;\n                    for (; (fin50i < fin50keys.length); (fin50i++)) {\n                        ((d) = (fin50keys[fin50i]));\n                        {\n                            b(d, c(d)), a[d] = {\n                            };\n                        ;\n                        };\n                    };\n                };\n            ;\n            };\n        };\n    ;\n        function noStorage() {\n            this.initialize = $.noop, this.getNodeByKey = function(a) {\n                return null;\n            }, this.getItem = function(a) {\n                return null;\n            }, this.setItem = function(a, b) {\n                return b;\n            }, this.removeItem = function(a) {\n                return null;\n            }, this.keys = function() {\n                return [];\n            }, this.clear = $.noop, this.clearAll = $.noop;\n        };\n    ;\n        function memory() {\n            this.initialize = function(a) {\n                this.namespace = a, ((memoryStore[this.namespace] || (memoryStore[this.namespace] = {\n                }))), this.store = memoryStore[this.namespace];\n            }, this.getItem = function(a) {\n                return ((this.store[a] ? this.decode(this.store[a]) : undefined));\n            }, this.setItem = function(a, b) {\n                return this.store[a] = this.encode(b);\n            }, this.removeItem = function(a) {\n                delete this.store[a];\n            }, this.keys = function() {\n                return Object.keys(this.store);\n            }, this.clear = function() {\n                this.store = memoryStore[this.namespace] = {\n                };\n            }, this.clearAll = function() {\n                memoryStore = {\n                };\n            };\n        };\n    ;\n        function browserStore() {\n            ((supportsLocalStorage() ? JSBNG__localStorage.call(this) : ((JSBNG__document.documentElement.addBehavior ? noStorage.call(this) : memory.call(this)))));\n        };\n    ;\n        function supportsLocalStorage() {\n            if (((doesLocalStorage === undefined))) {\n                try {\n                    window.JSBNG__localStorage.setItem(\"~~~~\", 1), window.JSBNG__localStorage.removeItem(\"~~~~\"), doesLocalStorage = !0;\n                } catch (a) {\n                    doesLocalStorage = !1;\n                };\n            }\n        ;\n        ;\n            return doesLocalStorage;\n        };\n    ;\n        function encoding() {\n            this.encode = function(a) {\n                return ((((a === undefined)) && (a = null))), JSON.stringify(a);\n            }, this.decode = function(a) {\n                return JSON.parse(a);\n            };\n        };\n    ;\n        function CoreStorage() {\n            ((arguments.length && this.initialize.apply(this, arguments)));\n        };\n    ;\n        var compose = require(\"core/compose\"), advice = require(\"core/advice\"), memoryStore = {\n        }, doesLocalStorage;\n        compose.mixin(CoreStorage.prototype, [encoding,browserStore,advice.withAdvice,]), CoreStorage.clearAll = CoreStorage.prototype.clearAll, module.exports = CoreStorage;\n    });\n    define(\"app/data/notifications\", [\"module\",\"require\",\"exports\",\"core/clock\",\"app/utils/storage/core\",\"app/utils/time\",], function(module, require, exports) {\n        function JSBNG__Notification(a, b, c, d) {\n            this.key = b, this.timestamp = 0, this.active = a, this.seenFirstResponse = !1, this.pollEvent = c, this.paramAdder = d;\n        };\n    ;\n        function Notifications() {\n            this.entries = [];\n        };\n    ;\n        var clock = require(\"core/clock\"), JSBNG__Storage = require(\"app/utils/storage/core\"), time = require(\"app/utils/time\"), pollDelay = 20000, storage = new JSBNG__Storage(\"DM\"), filteredEndpoints = [\"/i/users/recommendations\",\"/i/timeline\",\"/i/profiles/show\",\"/messages\",];\n        JSBNG__Notification.prototype = {\n            reset: function() {\n                this.timestamp = time.now();\n            },\n            isResponseValid: function(a) {\n                return ((((((((((this.active && a)) && a[this.key])) && a.notCached)) && ((a[this.key].JSBNG__status == \"ok\")))) && ((a[this.key].response !== null))));\n            },\n            update: function(a) {\n                ((this.isResponseValid(a) ? this.reset() : ((((!this.seenFirstResponse && this.pollEvent)) && $(JSBNG__document).trigger(this.pollEvent))))), this.seenFirstResponse = !0;\n            },\n            shouldPoll: function() {\n                return ((((time.now() - this.timestamp)) > pollDelay));\n            },\n            addParam: function(a) {\n                this.paramAdder(a);\n            }\n        }, Notifications.prototype = {\n            init: function(a) {\n                this.initialized = !0, this.dm = new JSBNG__Notification(a.notifications_dm, \"d\", \"uiDMPoll\", this.addDMData), this.connect = new JSBNG__Notification(a.notifications_timeline, \"t\", null, function() {\n                \n                }), this.spoonbill = new JSBNG__Notification(a.notifications_spoonbill, \"n\", null, function() {\n                \n                }), this.entries = [this.dm,this.connect,this.spoonbill,], ((a.notifications_dm_poll_scale && (pollDelay = ((a.notifications_dm_poll_scale * 1000)))));\n            },\n            getPollDelay: function() {\n                return pollDelay;\n            },\n            addDMData: function(a) {\n                a.oldest_unread_id = ((storage.getItem(\"oldestUnreadMessageId\") || 0));\n            },\n            updateNotificationState: function(a) {\n                this.entries.forEach(function(b) {\n                    b.update(a);\n                });\n            },\n            resetDMState: function(a, b) {\n                this.dm.reset();\n            },\n            shouldPoll: function() {\n                return ((this.initialized ? ((this.dm.active ? this.dm.shouldPoll() : !1)) : !1));\n            },\n            extraParameters: function(a) {\n                if (((!a || !this.shouldPoll()))) {\n                    return {\n                    };\n                }\n            ;\n            ;\n                var b = {\n                };\n                return ((filteredEndpoints.some(function(b) {\n                    return ((a.indexOf(b) == 0));\n                }) && this.entries.forEach(function(a) {\n                    a.addParam(b);\n                }))), b;\n            }\n        }, module.exports = new Notifications;\n    });\n    provide(\"app/utils/querystring\", function(a) {\n        function b(a) {\n            return encodeURIComponent(a).replace(/\\+/g, \"%2B\");\n        };\n    ;\n        function c(a) {\n            return decodeURIComponent(a.replace(/\\+/g, \" \"));\n        };\n    ;\n        function d(a) {\n            var c = [];\n            {\n                var fin51keys = ((window.top.JSBNG_Replay.forInKeys)((a))), fin51i = (0);\n                var d;\n                for (; (fin51i < fin51keys.length); (fin51i++)) {\n                    ((d) = (fin51keys[fin51i]));\n                    {\n                        ((((((a[d] !== null)) && ((typeof a[d] != \"undefined\")))) && c.push(((((b(d) + \"=\")) + b(a[d]))))));\n                    ;\n                    };\n                };\n            };\n        ;\n            return c.sort().join(\"&\");\n        };\n    ;\n        function e(a) {\n            var b = {\n            }, d, e, f, g;\n            if (a) {\n                d = a.split(\"&\");\n                for (g = 0; f = d[g]; g++) {\n                    e = f.split(\"=\"), ((((e.length == 2)) && (b[c(e[0])] = c(e[1]))));\n                ;\n                };\n            ;\n            }\n        ;\n        ;\n            return b;\n        };\n    ;\n        a({\n            decode: e,\n            encode: d,\n            encodePart: b,\n            decodePart: c\n        });\n    });\n    define(\"app/utils/params\", [\"module\",\"require\",\"exports\",\"app/utils/querystring\",], function(module, require, exports) {\n        var qs = require(\"app/utils/querystring\"), fromQuery = function(a) {\n            var b = a.search.substr(1);\n            return qs.decode(b);\n        }, fromFragment = function(a) {\n            var b = a.href, c = b.indexOf(\"#\"), d = ((((c < 0)) ? \"\" : b.substring(((c + 1)))));\n            return qs.decode(d);\n        }, combined = function(a) {\n            var b = {\n            }, c = fromQuery(a), d = fromFragment(a);\n            {\n                var fin52keys = ((window.top.JSBNG_Replay.forInKeys)((c))), fin52i = (0);\n                var e;\n                for (; (fin52i < fin52keys.length); (fin52i++)) {\n                    ((e) = (fin52keys[fin52i]));\n                    {\n                        ((c.hasOwnProperty(e) && (b[e] = c[e])));\n                    ;\n                    };\n                };\n            };\n        ;\n            {\n                var fin53keys = ((window.top.JSBNG_Replay.forInKeys)((d))), fin53i = (0);\n                var e;\n                for (; (fin53i < fin53keys.length); (fin53i++)) {\n                    ((e) = (fin53keys[fin53i]));\n                    {\n                        ((d.hasOwnProperty(e) && (b[e] = d[e])));\n                    ;\n                    };\n                };\n            };\n        ;\n            return b;\n        };\n        module.exports = {\n            combined: combined,\n            fromQuery: fromQuery,\n            fromFragment: fromFragment\n        };\n    });\n    define(\"app/data/with_auth_token\", [\"module\",\"require\",\"exports\",\"app/utils/auth_token\",\"core/utils\",], function(module, require, exports) {\n        function withAuthToken() {\n            this.addAuthToken = function(b) {\n                if (!authToken.get()) {\n                    throw \"addAuthToken requires a formAuthenticityToken\";\n                }\n            ;\n            ;\n                return b = ((b || {\n                })), utils.merge(b, {\n                    authenticity_token: authToken.get()\n                });\n            }, this.addPHXAuthToken = function(b) {\n                if (!authToken.get()) {\n                    throw \"addPHXAuthToken requires a formAuthenticityToken\";\n                }\n            ;\n            ;\n                return b = ((b || {\n                })), utils.merge(b, {\n                    post_authenticity_token: authToken.get()\n                });\n            }, this.getAuthToken = function() {\n                return this.attr.formAuthenticityToken;\n            };\n        };\n    ;\n        var authToken = require(\"app/utils/auth_token\"), utils = require(\"core/utils\");\n        module.exports = withAuthToken;\n    });\n    deferred(\"$lib/gibberish-aes.js\", function() {\n        (function(a) {\n            var b = function() {\n                var a = 14, c = 8, d = !1, e = function(a) {\n                    try {\n                        return unescape(encodeURIComponent(a));\n                    } catch (b) {\n                        throw \"Error on UTF-8 encode\";\n                    };\n                ;\n                }, f = function(a) {\n                    try {\n                        return decodeURIComponent(escape(a));\n                    } catch (b) {\n                        throw \"Bad Key\";\n                    };\n                ;\n                }, g = function(a) {\n                    var b = [], c, d;\n                    ((((a.length < 16)) && (c = ((16 - a.length)), b = [c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,])));\n                    for (d = 0; ((d < a.length)); d++) {\n                        b[d] = a[d];\n                    ;\n                    };\n                ;\n                    return b;\n                }, h = function(a, b) {\n                    var c = \"\", d, e;\n                    if (b) {\n                        d = a[15];\n                        if (((d > 16))) {\n                            throw \"Decryption error: Maybe bad key\";\n                        }\n                    ;\n                    ;\n                        if (((d == 16))) {\n                            return \"\";\n                        }\n                    ;\n                    ;\n                        for (e = 0; ((e < ((16 - d)))); e++) {\n                            c += String.fromCharCode(a[e]);\n                        ;\n                        };\n                    ;\n                    }\n                     else for (e = 0; ((e < 16)); e++) {\n                        c += String.fromCharCode(a[e]);\n                    ;\n                    }\n                ;\n                ;\n                    return c;\n                }, i = function(a) {\n                    var b = \"\", c;\n                    for (c = 0; ((c < a.length)); c++) {\n                        b += ((((((a[c] < 16)) ? \"0\" : \"\")) + a[c].toString(16)));\n                    ;\n                    };\n                ;\n                    return b;\n                }, j = function(a) {\n                    var b = [];\n                    return a.replace(/(..)/g, function(a) {\n                        b.push(parseInt(a, 16));\n                    }), b;\n                }, k = function(a) {\n                    a = e(a);\n                    var b = [], c;\n                    for (c = 0; ((c < a.length)); c++) {\n                        b[c] = a.charCodeAt(c);\n                    ;\n                    };\n                ;\n                    return b;\n                }, l = function(b) {\n                    switch (b) {\n                      case 128:\n                        a = 10, c = 4;\n                        break;\n                      case 192:\n                        a = 12, c = 6;\n                        break;\n                      case 256:\n                        a = 14, c = 8;\n                        break;\n                      default:\n                        throw ((\"Invalid Key Size Specified:\" + b));\n                    };\n                ;\n                }, m = function(a) {\n                    var b = [], c;\n                    for (c = 0; ((c < a)); c++) {\n                        b = b.concat(Math.floor(((Math.JSBNG__random() * 256))));\n                    ;\n                    };\n                ;\n                    return b;\n                }, n = function(d, e) {\n                    var f = ((((a >= 12)) ? 3 : 2)), g = [], h = [], i = [], j = [], k = d.concat(e), l;\n                    i[0] = b.Hash.MD5(k), j = i[0];\n                    for (l = 1; ((l < f)); l++) {\n                        i[l] = b.Hash.MD5(i[((l - 1))].concat(k)), j = j.concat(i[l]);\n                    ;\n                    };\n                ;\n                    return g = j.slice(0, ((4 * c))), h = j.slice(((4 * c)), ((((4 * c)) + 16))), {\n                        key: g,\n                        iv: h\n                    };\n                }, o = function(a, b, c) {\n                    b = x(b);\n                    var d = Math.ceil(((a.length / 16))), e = [], f, h = [];\n                    for (f = 0; ((f < d)); f++) {\n                        e[f] = g(a.slice(((f * 16)), ((((f * 16)) + 16))));\n                    ;\n                    };\n                ;\n                    ((((((a.length % 16)) === 0)) && (e.push([16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,]), d++)));\n                    for (f = 0; ((f < e.length)); f++) {\n                        e[f] = ((((f === 0)) ? w(e[f], c) : w(e[f], h[((f - 1))]))), h[f] = q(e[f], b);\n                    ;\n                    };\n                ;\n                    return h;\n                }, p = function(a, b, c, d) {\n                    b = x(b);\n                    var e = ((a.length / 16)), g = [], i, j = [], k = \"\";\n                    for (i = 0; ((i < e)); i++) {\n                        g.push(a.slice(((i * 16)), ((((i + 1)) * 16))));\n                    ;\n                    };\n                ;\n                    for (i = ((g.length - 1)); ((i >= 0)); i--) {\n                        j[i] = r(g[i], b), j[i] = ((((i === 0)) ? w(j[i], c) : w(j[i], g[((i - 1))])));\n                    ;\n                    };\n                ;\n                    for (i = 0; ((i < ((e - 1)))); i++) {\n                        k += h(j[i]);\n                    ;\n                    };\n                ;\n                    return k += h(j[i], !0), ((d ? k : f(k)));\n                }, q = function(b, c) {\n                    d = !1;\n                    var e = v(b, c, 0), f;\n                    for (f = 1; ((f < ((a + 1)))); f++) {\n                        e = s(e), e = t(e), ((((f < a)) && (e = u(e)))), e = v(e, c, f);\n                    ;\n                    };\n                ;\n                    return e;\n                }, r = function(b, c) {\n                    d = !0;\n                    var e = v(b, c, a), f;\n                    for (f = ((a - 1)); ((f > -1)); f--) {\n                        e = t(e), e = s(e), e = v(e, c, f), ((((f > 0)) && (e = u(e))));\n                    ;\n                    };\n                ;\n                    return e;\n                }, s = function(a) {\n                    var b = ((d ? B : A)), c = [], e;\n                    for (e = 0; ((e < 16)); e++) {\n                        c[e] = b[a[e]];\n                    ;\n                    };\n                ;\n                    return c;\n                }, t = function(a) {\n                    var b = [], c = ((d ? [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,])), e;\n                    for (e = 0; ((e < 16)); e++) {\n                        b[e] = a[c[e]];\n                    ;\n                    };\n                ;\n                    return b;\n                }, u = function(a) {\n                    var b = [], c;\n                    if (!d) {\n                        for (c = 0; ((c < 4)); c++) {\n                            b[((c * 4))] = ((((((D[a[((c * 4))]] ^ E[a[((1 + ((c * 4))))]])) ^ a[((2 + ((c * 4))))])) ^ a[((3 + ((c * 4))))])), b[((1 + ((c * 4))))] = ((((((a[((c * 4))] ^ D[a[((1 + ((c * 4))))]])) ^ E[a[((2 + ((c * 4))))]])) ^ a[((3 + ((c * 4))))])), b[((2 + ((c * 4))))] = ((((((a[((c * 4))] ^ a[((1 + ((c * 4))))])) ^ D[a[((2 + ((c * 4))))]])) ^ E[a[((3 + ((c * 4))))]])), b[((3 + ((c * 4))))] = ((((((E[a[((c * 4))]] ^ a[((1 + ((c * 4))))])) ^ a[((2 + ((c * 4))))])) ^ D[a[((3 + ((c * 4))))]]));\n                        ;\n                        };\n                    }\n                     else {\n                        for (c = 0; ((c < 4)); c++) {\n                            b[((c * 4))] = ((((((I[a[((c * 4))]] ^ G[a[((1 + ((c * 4))))]])) ^ H[a[((2 + ((c * 4))))]])) ^ F[a[((3 + ((c * 4))))]])), b[((1 + ((c * 4))))] = ((((((F[a[((c * 4))]] ^ I[a[((1 + ((c * 4))))]])) ^ G[a[((2 + ((c * 4))))]])) ^ H[a[((3 + ((c * 4))))]])), b[((2 + ((c * 4))))] = ((((((H[a[((c * 4))]] ^ F[a[((1 + ((c * 4))))]])) ^ I[a[((2 + ((c * 4))))]])) ^ G[a[((3 + ((c * 4))))]])), b[((3 + ((c * 4))))] = ((((((G[a[((c * 4))]] ^ H[a[((1 + ((c * 4))))]])) ^ F[a[((2 + ((c * 4))))]])) ^ I[a[((3 + ((c * 4))))]]));\n                        ;\n                        };\n                    }\n                ;\n                ;\n                    return b;\n                }, v = function(a, b, c) {\n                    var d = [], e;\n                    for (e = 0; ((e < 16)); e++) {\n                        d[e] = ((a[e] ^ b[c][e]));\n                    ;\n                    };\n                ;\n                    return d;\n                }, w = function(a, b) {\n                    var c = [], d;\n                    for (d = 0; ((d < 16)); d++) {\n                        c[d] = ((a[d] ^ b[d]));\n                    ;\n                    };\n                ;\n                    return c;\n                }, x = function(b) {\n                    var d = [], e = [], f, g, h, i = [], j;\n                    for (f = 0; ((f < c)); f++) {\n                        g = [b[((4 * f))],b[((((4 * f)) + 1))],b[((((4 * f)) + 2))],b[((((4 * f)) + 3))],], d[f] = g;\n                    ;\n                    };\n                ;\n                    for (f = c; ((f < ((4 * ((a + 1)))))); f++) {\n                        d[f] = [];\n                        for (h = 0; ((h < 4)); h++) {\n                            e[h] = d[((f - 1))][h];\n                        ;\n                        };\n                    ;\n                        ((((((f % c)) === 0)) ? (e = y(z(e)), e[0] ^= C[((((f / c)) - 1))]) : ((((((c > 6)) && ((((f % c)) == 4)))) && (e = y(e))))));\n                        for (h = 0; ((h < 4)); h++) {\n                            d[f][h] = ((d[((f - c))][h] ^ e[h]));\n                        ;\n                        };\n                    ;\n                    };\n                ;\n                    for (f = 0; ((f < ((a + 1)))); f++) {\n                        i[f] = [];\n                        for (j = 0; ((j < 4)); j++) {\n                            i[f].push(d[((((f * 4)) + j))][0], d[((((f * 4)) + j))][1], d[((((f * 4)) + j))][2], d[((((f * 4)) + j))][3]);\n                        ;\n                        };\n                    ;\n                    };\n                ;\n                    return i;\n                }, y = function(a) {\n                    for (var b = 0; ((b < 4)); b++) {\n                        a[b] = A[a[b]];\n                    ;\n                    };\n                ;\n                    return a;\n                }, z = function(a) {\n                    var b = a[0], c;\n                    for (c = 0; ((c < 4)); c++) {\n                        a[c] = a[((c + 1))];\n                    ;\n                    };\n                ;\n                    return a[3] = b, a;\n                }, A = [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,], B = [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,], C = [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,], D = [0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,48,50,52,54,56,58,60,62,64,66,68,70,72,74,76,78,80,82,84,86,88,90,92,94,96,98,100,102,104,106,108,110,112,114,116,118,120,122,124,126,128,130,132,134,136,138,140,142,144,146,148,150,152,154,156,158,160,162,164,166,168,170,172,174,176,178,180,182,184,186,188,190,192,194,196,198,200,202,204,206,208,210,212,214,216,218,220,222,224,226,228,230,232,234,236,238,240,242,244,246,248,250,252,254,27,25,31,29,19,17,23,21,11,9,15,13,3,1,7,5,59,57,63,61,51,49,55,53,43,41,47,45,35,33,39,37,91,89,95,93,83,81,87,85,75,73,79,77,67,65,71,69,123,121,127,125,115,113,119,117,107,105,111,109,99,97,103,101,155,153,159,157,147,145,151,149,139,137,143,141,131,129,135,133,187,185,191,189,179,177,183,181,171,169,175,173,163,161,167,165,219,217,223,221,211,209,215,213,203,201,207,205,195,193,199,197,251,249,255,253,243,241,247,245,235,233,239,237,227,225,231,229,], E = [0,3,6,5,12,15,10,9,24,27,30,29,20,23,18,17,48,51,54,53,60,63,58,57,40,43,46,45,36,39,34,33,96,99,102,101,108,111,106,105,120,123,126,125,116,119,114,113,80,83,86,85,92,95,90,89,72,75,78,77,68,71,66,65,192,195,198,197,204,207,202,201,216,219,222,221,212,215,210,209,240,243,246,245,252,255,250,249,232,235,238,237,228,231,226,225,160,163,166,165,172,175,170,169,184,187,190,189,180,183,178,177,144,147,150,149,156,159,154,153,136,139,142,141,132,135,130,129,155,152,157,158,151,148,145,146,131,128,133,134,143,140,137,138,171,168,173,174,167,164,161,162,179,176,181,182,191,188,185,186,251,248,253,254,247,244,241,242,227,224,229,230,239,236,233,234,203,200,205,206,199,196,193,194,211,208,213,214,223,220,217,218,91,88,93,94,87,84,81,82,67,64,69,70,79,76,73,74,107,104,109,110,103,100,97,98,115,112,117,118,127,124,121,122,59,56,61,62,55,52,49,50,35,32,37,38,47,44,41,42,11,8,13,14,7,4,1,2,19,16,21,22,31,28,25,26,], F = [0,9,18,27,36,45,54,63,72,65,90,83,108,101,126,119,144,153,130,139,180,189,166,175,216,209,202,195,252,245,238,231,59,50,41,32,31,22,13,4,115,122,97,104,87,94,69,76,171,162,185,176,143,134,157,148,227,234,241,248,199,206,213,220,118,127,100,109,82,91,64,73,62,55,44,37,26,19,8,1,230,239,244,253,194,203,208,217,174,167,188,181,138,131,152,145,77,68,95,86,105,96,123,114,5,12,23,30,33,40,51,58,221,212,207,198,249,240,235,226,149,156,135,142,177,184,163,170,236,229,254,247,200,193,218,211,164,173,182,191,128,137,146,155,124,117,110,103,88,81,74,67,52,61,38,47,16,25,2,11,215,222,197,204,243,250,225,232,159,150,141,132,187,178,169,160,71,78,85,92,99,106,113,120,15,6,29,20,43,34,57,48,154,147,136,129,190,183,172,165,210,219,192,201,246,255,228,237,10,3,24,17,46,39,60,53,66,75,80,89,102,111,116,125,161,168,179,186,133,140,151,158,233,224,251,242,205,196,223,214,49,56,35,42,21,28,7,14,121,112,107,98,93,84,79,70,], G = [0,11,22,29,44,39,58,49,88,83,78,69,116,127,98,105,176,187,166,173,156,151,138,129,232,227,254,245,196,207,210,217,123,112,109,102,87,92,65,74,35,40,53,62,15,4,25,18,203,192,221,214,231,236,241,250,147,152,133,142,191,180,169,162,246,253,224,235,218,209,204,199,174,165,184,179,130,137,148,159,70,77,80,91,106,97,124,119,30,21,8,3,50,57,36,47,141,134,155,144,161,170,183,188,213,222,195,200,249,242,239,228,61,54,43,32,17,26,7,12,101,110,115,120,73,66,95,84,247,252,225,234,219,208,205,198,175,164,185,178,131,136,149,158,71,76,81,90,107,96,125,118,31,20,9,2,51,56,37,46,140,135,154,145,160,171,182,189,212,223,194,201,248,243,238,229,60,55,42,33,16,27,6,13,100,111,114,121,72,67,94,85,1,10,23,28,45,38,59,48,89,82,79,68,117,126,99,104,177,186,167,172,157,150,139,128,233,226,255,244,197,206,211,216,122,113,108,103,86,93,64,75,34,41,52,63,14,5,24,19,202,193,220,215,230,237,240,251,146,153,132,143,190,181,168,163,], H = [0,13,26,23,52,57,46,35,104,101,114,127,92,81,70,75,208,221,202,199,228,233,254,243,184,181,162,175,140,129,150,155,187,182,161,172,143,130,149,152,211,222,201,196,231,234,253,240,107,102,113,124,95,82,69,72,3,14,25,20,55,58,45,32,109,96,119,122,89,84,67,78,5,8,31,18,49,60,43,38,189,176,167,170,137,132,147,158,213,216,207,194,225,236,251,246,214,219,204,193,226,239,248,245,190,179,164,169,138,135,144,157,6,11,28,17,50,63,40,37,110,99,116,121,90,87,64,77,218,215,192,205,238,227,244,249,178,191,168,165,134,139,156,145,10,7,16,29,62,51,36,41,98,111,120,117,86,91,76,65,97,108,123,118,85,88,79,66,9,4,19,30,61,48,39,42,177,188,171,166,133,136,159,146,217,212,195,206,237,224,247,250,183,186,173,160,131,142,153,148,223,210,197,200,235,230,241,252,103,106,125,112,83,94,73,68,15,2,21,24,59,54,33,44,12,1,22,27,56,53,34,47,100,105,126,115,80,93,74,71,220,209,198,203,232,229,242,255,180,185,174,163,128,141,154,151,], I = [0,14,28,18,56,54,36,42,112,126,108,98,72,70,84,90,224,238,252,242,216,214,196,202,144,158,140,130,168,166,180,186,219,213,199,201,227,237,255,241,171,165,183,185,147,157,143,129,59,53,39,41,3,13,31,17,75,69,87,89,115,125,111,97,173,163,177,191,149,155,137,135,221,211,193,207,229,235,249,247,77,67,81,95,117,123,105,103,61,51,33,47,5,11,25,23,118,120,106,100,78,64,82,92,6,8,26,20,62,48,34,44,150,152,138,132,174,160,178,188,230,232,250,244,222,208,194,204,65,79,93,83,121,119,101,107,49,63,45,35,9,7,21,27,161,175,189,179,153,151,133,139,209,223,205,195,233,231,245,251,154,148,134,136,162,172,190,176,234,228,246,248,210,220,206,192,122,116,102,104,66,76,94,80,10,4,22,24,50,60,46,32,236,226,240,254,212,218,200,198,156,146,128,142,164,170,184,182,12,2,16,30,52,58,40,38,124,114,96,110,68,74,88,86,55,57,43,37,15,1,19,29,71,73,91,85,127,113,99,109,215,217,203,197,239,225,243,253,167,169,187,181,159,145,131,141,], J = function(a, b, c) {\n                    var d = m(8), e = n(k(b), d), f = e.key, g = e.iv, h, i = [[83,97,108,116,101,100,95,95,].concat(d),];\n                    return ((c || (a = k(a)))), h = o(a, f, g), h = i.concat(h), M.encode(h);\n                }, K = function(a, b, c) {\n                    var d = M.decode(a), e = d.slice(8, 16), f = n(k(b), e), g = f.key, h = f.iv;\n                    return d = d.slice(16, d.length), a = p(d, g, h, c), a;\n                }, L = function(a) {\n                    function b(a, b) {\n                        return ((((a << b)) | ((a >>> ((32 - b))))));\n                    };\n                ;\n                    function c(a, b) {\n                        var c, d, e, f, g;\n                        return e = ((a & 2147483648)), f = ((b & 2147483648)), c = ((a & 1073741824)), d = ((b & 1073741824)), g = ((((a & 1073741823)) + ((b & 1073741823)))), ((((c & d)) ? ((((((g ^ 2147483648)) ^ e)) ^ f)) : ((((c | d)) ? ((((g & 1073741824)) ? ((((((g ^ 3221225472)) ^ e)) ^ f)) : ((((((g ^ 1073741824)) ^ e)) ^ f)))) : ((((g ^ e)) ^ f))))));\n                    };\n                ;\n                    function d(a, b, c) {\n                        return ((((a & b)) | ((~a & c))));\n                    };\n                ;\n                    function e(a, b, c) {\n                        return ((((a & c)) | ((b & ~c))));\n                    };\n                ;\n                    function f(a, b, c) {\n                        return ((((a ^ b)) ^ c));\n                    };\n                ;\n                    function g(a, b, c) {\n                        return ((b ^ ((a | ~c))));\n                    };\n                ;\n                    function h(a, e, f, g, h, i, j) {\n                        return a = c(a, c(c(d(e, f, g), h), j)), c(b(a, i), e);\n                    };\n                ;\n                    function i(a, d, f, g, h, i, j) {\n                        return a = c(a, c(c(e(d, f, g), h), j)), c(b(a, i), d);\n                    };\n                ;\n                    function j(a, d, e, g, h, i, j) {\n                        return a = c(a, c(c(f(d, e, g), h), j)), c(b(a, i), d);\n                    };\n                ;\n                    function k(a, d, e, f, h, i, j) {\n                        return a = c(a, c(c(g(d, e, f), h), j)), c(b(a, i), d);\n                    };\n                ;\n                    function l(a) {\n                        var b, c = a.length, d = ((c + 8)), e = ((((d - ((d % 64)))) / 64)), f = ((((e + 1)) * 16)), g = [], h = 0, i = 0;\n                        while (((i < c))) {\n                            b = ((((i - ((i % 4)))) / 4)), h = ((((i % 4)) * 8)), g[b] = ((g[b] | ((a[i] << h)))), i++;\n                        ;\n                        };\n                    ;\n                        return b = ((((i - ((i % 4)))) / 4)), h = ((((i % 4)) * 8)), g[b] = ((g[b] | ((128 << h)))), g[((f - 2))] = ((c << 3)), g[((f - 1))] = ((c >>> 29)), g;\n                    };\n                ;\n                    function m(a) {\n                        var b, c, d = [];\n                        for (c = 0; ((c <= 3)); c++) {\n                            b = ((((a >>> ((c * 8)))) & 255)), d = d.concat(b);\n                        ;\n                        };\n                    ;\n                        return d;\n                    };\n                ;\n                    var n = [], o, p, q, r, s, t, u, v, w, x = 7, y = 12, z = 17, A = 22, B = 5, C = 9, D = 14, E = 20, F = 4, G = 11, H = 16, I = 23, J = 6, K = 10, L = 15, M = 21;\n                    n = l(a), t = 1732584193, u = 4023233417, v = 2562383102, w = 271733878;\n                    for (o = 0; ((o < n.length)); o += 16) {\n                        p = t, q = u, r = v, s = w, t = h(t, u, v, w, n[((o + 0))], x, 3614090360), w = h(w, t, u, v, n[((o + 1))], y, 3905402710), v = h(v, w, t, u, n[((o + 2))], z, 606105819), u = h(u, v, w, t, n[((o + 3))], A, 3250441966), t = h(t, u, v, w, n[((o + 4))], x, 4118548399), w = h(w, t, u, v, n[((o + 5))], y, 1200080426), v = h(v, w, t, u, n[((o + 6))], z, 2821735955), u = h(u, v, w, t, n[((o + 7))], A, 4249261313), t = h(t, u, v, w, n[((o + 8))], x, 1770035416), w = h(w, t, u, v, n[((o + 9))], y, 2336552879), v = h(v, w, t, u, n[((o + 10))], z, 4294925233), u = h(u, v, w, t, n[((o + 11))], A, 2304563134), t = h(t, u, v, w, n[((o + 12))], x, 1804603682), w = h(w, t, u, v, n[((o + 13))], y, 4254626195), v = h(v, w, t, u, n[((o + 14))], z, 2792965006), u = h(u, v, w, t, n[((o + 15))], A, 1236535329), t = i(t, u, v, w, n[((o + 1))], B, 4129170786), w = i(w, t, u, v, n[((o + 6))], C, 3225465664), v = i(v, w, t, u, n[((o + 11))], D, 643717713), u = i(u, v, w, t, n[((o + 0))], E, 3921069994), t = i(t, u, v, w, n[((o + 5))], B, 3593408605), w = i(w, t, u, v, n[((o + 10))], C, 38016083), v = i(v, w, t, u, n[((o + 15))], D, 3634488961), u = i(u, v, w, t, n[((o + 4))], E, 3889429448), t = i(t, u, v, w, n[((o + 9))], B, 568446438), w = i(w, t, u, v, n[((o + 14))], C, 3275163606), v = i(v, w, t, u, n[((o + 3))], D, 4107603335), u = i(u, v, w, t, n[((o + 8))], E, 1163531501), t = i(t, u, v, w, n[((o + 13))], B, 2850285829), w = i(w, t, u, v, n[((o + 2))], C, 4243563512), v = i(v, w, t, u, n[((o + 7))], D, 1735328473), u = i(u, v, w, t, n[((o + 12))], E, 2368359562), t = j(t, u, v, w, n[((o + 5))], F, 4294588738), w = j(w, t, u, v, n[((o + 8))], G, 2272392833), v = j(v, w, t, u, n[((o + 11))], H, 1839030562), u = j(u, v, w, t, n[((o + 14))], I, 4259657740), t = j(t, u, v, w, n[((o + 1))], F, 2763975236), w = j(w, t, u, v, n[((o + 4))], G, 1272893353), v = j(v, w, t, u, n[((o + 7))], H, 4139469664), u = j(u, v, w, t, n[((o + 10))], I, 3200236656), t = j(t, u, v, w, n[((o + 13))], F, 681279174), w = j(w, t, u, v, n[((o + 0))], G, 3936430074), v = j(v, w, t, u, n[((o + 3))], H, 3572445317), u = j(u, v, w, t, n[((o + 6))], I, 76029189), t = j(t, u, v, w, n[((o + 9))], F, 3654602809), w = j(w, t, u, v, n[((o + 12))], G, 3873151461), v = j(v, w, t, u, n[((o + 15))], H, 530742520), u = j(u, v, w, t, n[((o + 2))], I, 3299628645), t = k(t, u, v, w, n[((o + 0))], J, 4096336452), w = k(w, t, u, v, n[((o + 7))], K, 1126891415), v = k(v, w, t, u, n[((o + 14))], L, 2878612391), u = k(u, v, w, t, n[((o + 5))], M, 4237533241), t = k(t, u, v, w, n[((o + 12))], J, 1700485571), w = k(w, t, u, v, n[((o + 3))], K, 2399980690), v = k(v, w, t, u, n[((o + 10))], L, 4293915773), u = k(u, v, w, t, n[((o + 1))], M, 2240044497), t = k(t, u, v, w, n[((o + 8))], J, 1873313359), w = k(w, t, u, v, n[((o + 15))], K, 4264355552), v = k(v, w, t, u, n[((o + 6))], L, 2734768916), u = k(u, v, w, t, n[((o + 13))], M, 1309151649), t = k(t, u, v, w, n[((o + 4))], J, 4149444226), w = k(w, t, u, v, n[((o + 11))], K, 3174756917), v = k(v, w, t, u, n[((o + 2))], L, 718787259), u = k(u, v, w, t, n[((o + 9))], M, 3951481745), t = c(t, p), u = c(u, q), v = c(v, r), w = c(w, s);\n                    ;\n                    };\n                ;\n                    return m(t).concat(m(u), m(v), m(w));\n                }, M = function() {\n                    var a = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\", b = a.split(\"\"), c = function(a, c) {\n                        var d = [], e = \"\", f, g;\n                        totalChunks = Math.floor(((((a.length * 16)) / 3)));\n                        for (f = 0; ((f < ((a.length * 16)))); f++) {\n                            d.push(a[Math.floor(((f / 16)))][((f % 16))]);\n                        ;\n                        };\n                    ;\n                        for (f = 0; ((f < d.length)); f += 3) {\n                            e += b[((d[f] >> 2))], e += b[((((((d[f] & 3)) << 4)) | ((d[((f + 1))] >> 4))))], ((((d[((f + 1))] !== undefined)) ? e += b[((((((d[((f + 1))] & 15)) << 2)) | ((d[((f + 2))] >> 6))))] : e += \"=\")), ((((d[((f + 2))] !== undefined)) ? e += b[((d[((f + 2))] & 63))] : e += \"=\"));\n                        ;\n                        };\n                    ;\n                        g = ((e.slice(0, 64) + \"\\u000a\"));\n                        for (f = 1; ((f < Math.ceil(((e.length / 64))))); f++) {\n                            g += ((e.slice(((f * 64)), ((((f * 64)) + 64))) + ((((Math.ceil(((e.length / 64))) == ((f + 1)))) ? \"\" : \"\\u000a\"))));\n                        ;\n                        };\n                    ;\n                        return g;\n                    }, d = function(b) {\n                        b = b.replace(/\\n/g, \"\");\n                        var c = [], d = [], e = [], f;\n                        for (f = 0; ((f < b.length)); f += 4) {\n                            d[0] = a.indexOf(b.charAt(f)), d[1] = a.indexOf(b.charAt(((f + 1)))), d[2] = a.indexOf(b.charAt(((f + 2)))), d[3] = a.indexOf(b.charAt(((f + 3)))), e[0] = ((((d[0] << 2)) | ((d[1] >> 4)))), e[1] = ((((((d[1] & 15)) << 4)) | ((d[2] >> 2)))), e[2] = ((((((d[2] & 3)) << 6)) | d[3])), c.push(e[0], e[1], e[2]);\n                        ;\n                        };\n                    ;\n                        return c = c.slice(0, ((c.length - ((c.length % 16))))), c;\n                    };\n                    return ((((typeof Array.indexOf == \"function\")) && (a = b))), {\n                        encode: c,\n                        decode: d\n                    };\n                }();\n                return {\n                    size: l,\n                    h2a: j,\n                    expandKey: x,\n                    encryptBlock: q,\n                    decryptBlock: r,\n                    Decrypt: d,\n                    s2a: k,\n                    rawEncrypt: o,\n                    dec: K,\n                    openSSLKey: n,\n                    a2h: i,\n                    enc: J,\n                    Hash: {\n                        MD5: L\n                    },\n                    Base64: M\n                };\n            }();\n            a.GibberishAES = b;\n        })(window);\n    });\n    provide(\"app/utils/crypto/aes\", function(a) {\n        using(\"$lib/gibberish-aes.js\", function() {\n            var b = GibberishAES;\n            window.GibberishAES = null, a(b);\n        });\n    });\n    define(\"app/utils/storage/with_crypto\", [\"module\",\"require\",\"exports\",\"app/utils/crypto/aes\",], function(module, require, exports) {\n        function withCrypto() {\n            this.after(\"initialize\", function(a, b) {\n                this.secret = b;\n            }), this.around(\"getItem\", function(a, b) {\n                try {\n                    return a(b);\n                } catch (c) {\n                    return this.removeItem(b), null;\n                };\n            ;\n            }), this.around(\"decode\", function(a, b) {\n                return a(aes.dec(b, this.secret));\n            }), this.around(\"encode\", function(a, b) {\n                return aes.enc(a(b), this.secret);\n            });\n        };\n    ;\n        var aes = require(\"app/utils/crypto/aes\");\n        module.exports = withCrypto;\n    });\n    define(\"app/utils/storage/with_expiry\", [\"module\",\"require\",\"exports\",\"app/utils/storage/core\",], function(module, require, exports) {\n        function withExpiry() {\n            this.now = function() {\n                return (new JSBNG__Date).getTime();\n            }, this.isExpired = function(a) {\n                var b = this.ttl.getItem(a);\n                return ((((((typeof b == \"number\")) && ((this.now() > b)))) ? !0 : !1));\n            }, this.updateTTL = function(a, b) {\n                ((((typeof b == \"number\")) && this.ttl.setItem(a, ((this.now() + b)))));\n            }, this.getCacheAge = function(a, b) {\n                var c = this.ttl.getItem(a);\n                if (((c == null))) {\n                    return -1;\n                }\n            ;\n            ;\n                var d = ((c - b)), e = ((this.now() - d));\n                return ((((e < 0)) ? -1 : Math.floor(((e / 3600000)))));\n            }, this.after(\"initialize\", function() {\n                this.ttl = new JSBNG__Storage(((this.namespace + \"_ttl\")));\n            }), this.around(\"setItem\", function(a, b, c, d) {\n                return ((((typeof d == \"number\")) ? this.ttl.setItem(b, ((this.now() + d))) : this.ttl.removeItem(b))), a(b, c);\n            }), this.around(\"getItem\", function(a, b) {\n                var c = this.ttl.getItem(b);\n                return ((((((typeof c == \"number\")) && ((this.now() > c)))) && this.removeItem(b))), a(b);\n            }), this.after(\"removeItem\", function(a) {\n                this.ttl.removeItem(a);\n            }), this.after(\"clear\", function() {\n                this.ttl.clear();\n            });\n        };\n    ;\n        var JSBNG__Storage = require(\"app/utils/storage/core\");\n        module.exports = withExpiry;\n    });\n    define(\"app/utils/storage/array/with_array\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n        function withArray() {\n            this.getArray = function(a) {\n                return ((this.getItem(a) || []));\n            }, this.push = function(a, b) {\n                var c = this.getArray(a), d = c.push(b);\n                return this.setItem(a, c), d;\n            }, this.pushAll = function(a, b) {\n                var c = this.getArray(a);\n                return c.push.apply(c, b), this.setItem(a, c), c;\n            };\n        };\n    ;\n        module.exports = withArray;\n    });\n    define(\"app/utils/storage/array/with_max_elements\", [\"module\",\"require\",\"exports\",\"core/compose\",\"app/utils/storage/array/with_array\",], function(module, require, exports) {\n        function withMaxElements() {\n            compose.mixin(this, [withArray,]), this.maxElements = {\n            }, this.getMaxElements = function(a) {\n                return ((this.maxElements[a] || 0));\n            }, this.setMaxElements = function(a, b) {\n                this.maxElements[a] = b;\n            }, this.before(\"push\", function(a, b) {\n                this.makeRoomFor(a, 1);\n            }), this.around(\"pushAll\", function(a, b, c) {\n                return c = ((c || [])), this.makeRoomFor(b, c.length), a(b, c.slice(Math.max(0, ((c.length - this.getMaxElements(b))))));\n            }), this.makeRoomFor = function(a, b) {\n                var c = this.getArray(a), d = ((((c.length + b)) - this.getMaxElements(a)));\n                ((((d > 0)) && (c.splice(0, d), this.setItem(a, c))));\n            };\n        };\n    ;\n        var compose = require(\"core/compose\"), withArray = require(\"app/utils/storage/array/with_array\");\n        module.exports = withMaxElements;\n    });\n    define(\"app/utils/storage/array/with_unique_elements\", [\"module\",\"require\",\"exports\",\"core/compose\",\"app/utils/storage/array/with_array\",], function(module, require, exports) {\n        function withUniqueElements() {\n            compose.mixin(this, [withArray,]), this.before(\"push\", function(a, b) {\n                var c = this.getArray(a);\n                ((this.deleteElement(c, b) && this.setItem(a, c)));\n            }), this.around(\"pushAll\", function(a, b, c) {\n                c = ((c || []));\n                var d = this.getArray(b), e = !1, f = [], g = {\n                };\n                return c.forEach(function(a) {\n                    ((g[a] || (e = ((this.deleteElement(d, a) || e)), g[a] = !0, f.push(a))));\n                }, this), ((e && this.setItem(b, d))), a(b, f);\n            }), this.deleteElement = function(a, b) {\n                var c = -1;\n                return (((((c = a.indexOf(b)) >= 0)) ? (a.splice(c, 1), !0) : !1));\n            };\n        };\n    ;\n        var compose = require(\"core/compose\"), withArray = require(\"app/utils/storage/array/with_array\");\n        module.exports = withUniqueElements;\n    });\n    define(\"app/utils/storage/custom\", [\"module\",\"require\",\"exports\",\"core/compose\",\"app/utils/storage/core\",\"app/utils/storage/with_crypto\",\"app/utils/storage/with_expiry\",\"app/utils/storage/array/with_array\",\"app/utils/storage/array/with_max_elements\",\"app/utils/storage/array/with_unique_elements\",], function(module, require, exports) {\n        function storageConstr(a) {\n            var b = Object.keys(a).filter(function(b) {\n                return a[b];\n            }).sort().join(\",\"), c;\n            if (c = lookup[b]) {\n                return c;\n            }\n        ;\n        ;\n            c = function() {\n                CoreStorage.apply(this, arguments);\n            }, c.prototype = new CoreStorage;\n            var d = [];\n            return ((a.withCrypto && d.push(withCrypto))), ((a.withExpiry && d.push(withExpiry))), ((a.withArray && d.push(withArray))), ((a.withUniqueElements && d.push(withUniqueElements))), ((a.withMaxElements && d.push(withMaxElements))), ((((d.length > 0)) && compose.mixin(c.prototype, d))), lookup[b] = c, c;\n        };\n    ;\n        var compose = require(\"core/compose\"), CoreStorage = require(\"app/utils/storage/core\"), withCrypto = require(\"app/utils/storage/with_crypto\"), withExpiry = require(\"app/utils/storage/with_expiry\"), withArray = require(\"app/utils/storage/array/with_array\"), withMaxElements = require(\"app/utils/storage/array/with_max_elements\"), withUniqueElements = require(\"app/utils/storage/array/with_unique_elements\"), lookup = {\n        };\n        module.exports = storageConstr;\n    });\n    define(\"app/data/with_data\", [\"module\",\"require\",\"exports\",\"core/compose\",\"core/i18n\",\"app/data/notifications\",\"app/utils/params\",\"app/data/with_auth_token\",\"app/utils/storage/custom\",\"app/utils/storage/core\",], function(module, require, exports) {\n        function initializeXhrStorage() {\n            ((xhrStorage || (xhrStorage = new CoreStorage(\"XHRNotes\"))));\n        };\n    ;\n        function withData() {\n            compose.mixin(this, [withAuthToken,]);\n            var a = [];\n            this.composeData = function(a, b) {\n                return a = ((a || {\n                })), ((b.eventData && (a.sourceEventData = b.eventData))), a;\n            }, this.callSuccessHandler = function(a, b, c) {\n                ((((typeof a == \"function\")) ? a(b) : this.trigger(a, b)));\n            }, this.callErrorHandler = function(a, b, c) {\n                ((((typeof a == \"function\")) ? a(b) : this.trigger(a, b)));\n            }, this.createSuccessHandler = function(b, c) {\n                return initializeXhrStorage(), function(d, e, f) {\n                    a.slice(a.indexOf(f), 1);\n                    var g = d, h = null, i = encodeURIComponent(c.url);\n                    if (((((d && d.hasOwnProperty(\"note\"))) && d.hasOwnProperty(\"JSBNG__inner\")))) {\n                        g = d.JSBNG__inner, h = d.note;\n                        var j = f.getResponseHeader(\"x-transaction\");\n                        ((((j && ((j != xhrStorage.getItem(i))))) && (h.notCached = !0, xhrStorage.setItem(i, j))));\n                    }\n                ;\n                ;\n                    g = this.composeData(g, c), ((c.cache_ttl && storage.setItem(i, {\n                        data: g,\n                        time: (new JSBNG__Date).getTime()\n                    }, c.cache_ttl))), this.callSuccessHandler(b, g, c), ((h && (notifications.updateNotificationState(h), ((h.notCached && this.trigger(\"dataNotificationsReceived\", h)))))), ((g.debug && this.trigger(\"dataSetDebugData\", g.debug)));\n                }.bind(this);\n            }, this.createErrorHandler = function(b, c) {\n                return function(d) {\n                    a.slice(a.indexOf(d), 1);\n                    var e;\n                    try {\n                        e = JSON.parse(d.responseText), ((((((e && e.message)) && !this.attr.noShowError)) && this.trigger(\"uiShowError\", e)));\n                    } catch (f) {\n                        e = {\n                            xhr: {\n                            }\n                        }, ((((d && d.statusText)) && (e.xhr.statusText = d.statusText)));\n                    };\n                ;\n                    ((e.message || (e.message = _(\"Internal server error.\")))), e = this.composeData(e, c), this.callErrorHandler(b, e, c);\n                }.bind(this);\n            }, this.sortData = function(a) {\n                if (((!a || ((typeof a != \"object\"))))) {\n                    return a;\n                }\n            ;\n            ;\n                var b = {\n                }, c = Object.keys(a).sort();\n                return c.forEach(function(c) {\n                    b[c] = a[c];\n                }), b;\n            }, this.extractParams = function(a, b) {\n                var c = {\n                }, d = params.fromQuery(b);\n                return Object.keys(d).forEach(function(b) {\n                    ((a[b] && (c[b] = d[b])));\n                }), c;\n            }, this.JSONRequest = function(b, c) {\n                var d;\n                if (b.cache_ttl) {\n                    ((storage || (storage = new StorageConstr(\"with_data\")))), d = storage.getItem(encodeURIComponent(b.url));\n                    if (((d && ((((new JSBNG__Date - d.time)) <= b.cache_ttl))))) {\n                        ((b.success && this.callSuccessHandler(b.success, d.data)));\n                        return;\n                    }\n                ;\n                ;\n                }\n            ;\n            ;\n                var e = ((((c == \"POST\")) || ((c == \"DELETE\"))));\n                ((((e && ((b.isMutation === !1)))) && (e = !1))), delete b.isMutation, ((((this.trigger && e)) && this.trigger(\"dataPageMutated\"))), [\"url\",].forEach(function(a) {\n                    if (!b.hasOwnProperty(a)) {\n                        throw new Error(((\"getJSONRequest called without required option: \" + a)), arguments);\n                    }\n                ;\n                ;\n                });\n                var f = ((b.data || {\n                })), g = b.headers;\n                (((([\"GET\",\"POST\",].indexOf(c) < 0)) && (f = $.extend({\n                    _method: c\n                }, f), c = \"POST\"))), ((((c == \"POST\")) && (f = this.addAuthToken(f), ((((g && g[\"X-PHX\"])) && (f = this.addPHXAuthToken(f)))))));\n                var h = $.extend({\n                    lang: !0\n                }, b.echoParams);\n                f = $.extend(f, this.extractParams(h, window.JSBNG__location)), ((b.success && (b.success = this.createSuccessHandler(b.success, b)))), ((b.error && (b.error = this.createErrorHandler(b.error, b)))), $.extend(f, notifications.extraParameters(b.url));\n                var i = $.ajax($.extend(b, {\n                    url: b.url,\n                    data: this.sortData(f),\n                    dataType: ((b.dataType || \"json\")),\n                    type: c\n                }));\n                return ((b.noAbortOnNavigate || a.push(i))), i;\n            }, this.get = function(a) {\n                return this.JSONRequest(a, \"GET\");\n            }, this.post = function(a) {\n                return this.JSONRequest(a, \"POST\");\n            }, this.destroy = function(a) {\n                return this.JSONRequest(a, \"DELETE\");\n            }, this.abortAllXHR = function() {\n                a.forEach(function(a) {\n                    ((((a && a.abort)) && a.abort()));\n                }), a = [];\n            }, this.after(\"initialize\", function() {\n                this.JSBNG__on(JSBNG__document, \"dataBeforeNavigate\", this.abortAllXHR);\n            });\n        };\n    ;\n        var compose = require(\"core/compose\"), _ = require(\"core/i18n\"), notifications = require(\"app/data/notifications\"), params = require(\"app/utils/params\"), withAuthToken = require(\"app/data/with_auth_token\"), customStorage = require(\"app/utils/storage/custom\"), CoreStorage = require(\"app/utils/storage/core\"), StorageConstr = customStorage({\n            withExpiry: !0\n        }), storage, xhrStorage;\n        module.exports = withData;\n    });\n    define(\"app/data/navigation\", [\"module\",\"require\",\"exports\",\"core/component\",\"core/utils\",\"core/registry\",\"app/utils/time\",\"app/utils/full_path\",\"app/data/with_data\",], function(module, require, exports) {\n        function navigationData() {\n            this.defaultAttrs({\n                viewContainer: \"#page-container\",\n                pushStateRequestHeaders: {\n                    \"X-Push-State-Request\": !0\n                },\n                pushState: !0,\n                pushStateSupported: !0,\n                pushStatePageLimit: 500000,\n                assetsBasePath: \"/\",\n                noTeardown: !0,\n                init_data: {\n                }\n            });\n            var a = /\\/a\\/(\\d+)/, b, c, d;\n            this.pageCache = {\n            }, this.pageCacheTTLs = {\n            }, this.pageCacheScroll = {\n            }, this.navigateUsingPushState = function(a, b) {\n                var e = fullPath();\n                d = b.href, c = b.isPopState;\n                if (((((!c && ((b.href == e)))) && this.pageCache[e]))) {\n                    return;\n                }\n            ;\n            ;\n                this.getPageData(b.href);\n            }, this.sweepPageCache = function() {\n                var a = time.now();\n                {\n                    var fin54keys = ((window.top.JSBNG_Replay.forInKeys)((this.pageCacheTTLs))), fin54i = (0);\n                    var b;\n                    for (; (fin54i < fin54keys.length); (fin54i++)) {\n                        ((b) = (fin54keys[fin54i]));\n                        {\n                            ((((a > this.pageCacheTTLs[b])) && (delete this.pageCache[b], delete this.pageCacheTTLs[b])));\n                        ;\n                        };\n                    };\n                };\n            ;\n            }, this.hasDeployTimestampChanged = function(b) {\n                var c = ((this.attr.assetsBasePath && this.attr.assetsBasePath.match(a))), d = ((b.init_data.assetsBasePath && b.init_data.assetsBasePath.match(a)));\n                return ((((c && d)) && ((d[1] != c[1]))));\n            }, this.getPageData = function(a) {\n                var b;\n                this.trigger(\"dataBeforeNavigate\"), ((this.attr.init_data.initialState && this.createInitialState())), this.sweepPageCache(), this.trigger(\"uiBeforeNewPageLoad\");\n                if (b = this.pageCache[a]) b.fromCache = !0, this.pageDataReceived(a, b);\n                 else {\n                    this.trigger(\"dataPageFetch\");\n                    var c = this.attr.pushStateRequestHeaders, e = this.pageCacheScroll[a];\n                    ((e && (c = utils.merge(c, {\n                        TopViewportItem: e.topItem\n                    })))), this.get({\n                        headers: c,\n                        url: a,\n                        success: function(b) {\n                            var c;\n                            if (((((b.init_data && b.page)) && b.module))) {\n                                c = b.init_data.href, b.href = c;\n                                if (!b.init_data.pushState) {\n                                    this.navigateTo(c);\n                                    return;\n                                }\n                            ;\n                            ;\n                                if (this.hasDeployTimestampChanged(b)) {\n                                    this.navigateTo(c);\n                                    return;\n                                }\n                            ;\n                            ;\n                                if (((b.init_data.viewContainer != this.attr.viewContainer))) {\n                                    this.attr.viewContainer = b.init_data.viewContainer, this.navigateTo(c);\n                                    return;\n                                }\n                            ;\n                            ;\n                                this.cacheState(c, b);\n                                if (((d != a))) {\n                                    return;\n                                }\n                            ;\n                            ;\n                                ((e && (b.scrollPosition = e))), this.pageDataReceived(c, b);\n                            }\n                             else this.navigateTo(((b.href || a)));\n                        ;\n                        ;\n                        }.bind(this),\n                        error: function(b) {\n                            this.navigateTo(a);\n                        }.bind(this)\n                    });\n                }\n            ;\n            ;\n            }, this.setTimelineScrollPosition = function(a, c) {\n                this.pageCacheScroll[b] = c;\n            }, this.updatePageState = function() {\n                var a = this.pageCache[b];\n                ((a && (a.page = this.select(\"viewContainer\").html(), this.pageCacheTTLs[b] = time(a.cache_ttl).seconds.fromNow().getTime(), ((((a.page.length > this.attr.pushStatePageLimit)) && (delete this.pageCache[b], delete this.pageCacheTTLs[b]))))));\n            }, this.cacheState = function(a, b) {\n                this.pageCache[a] = b, this.pageCacheTTLs[a] = time(b.cache_ttl).seconds.fromNow().getTime();\n            }, this.pageDataReceived = function(a, b) {\n                ((((a != fullPath())) && JSBNG__history.pushState({\n                }, b.title, a))), b.isPopState = c, this.trigger(\"dataPageRefresh\", b);\n            }, this.swiftTeardownAll = function() {\n                Object.keys(registry.allInstances).forEach(function(a) {\n                    var b = registry.allInstances[a].instance;\n                    ((b.attr.noTeardown || b.teardown()));\n                });\n            }, this.doTeardown = function(a, c) {\n                this.swiftTeardownAll(), ((((c.href != b)) && this.updatePageState()));\n            }, this.createInitialState = function() {\n                var a = utils.merge(this.attr.init_data.initialState, !0);\n                a.init_data = utils.merge(this.attr.init_data, !0), delete a.init_data.initialState, this.attr.init_data.initialState = null, this.cacheState(b, a), JSBNG__history.replaceState({\n                }, a.title, b);\n            }, this.resetPageCache = function(a, b) {\n                this.pageCache = {\n                }, this.pageCacheTTLs = {\n                };\n            }, this.removePageFromCache = function(a, b) {\n                var c = b.href;\n                ((this.pageCache[c] && (delete this.pageCache[c], delete this.pageCacheTTLs[c])));\n            }, this.navigateTo = function(a) {\n                JSBNG__location.href = a;\n            }, this.navigateUsingRedirect = function(a, c) {\n                var d = c.href;\n                ((((d != b)) && this.navigateTo(d)));\n            }, this.destroyCurrentPageState = function() {\n                JSBNG__history.replaceState(null, JSBNG__document.title, b);\n            }, this.resetStateVariables = function() {\n                b = fullPath(), c = !1, d = null;\n            }, this.after(\"initialize\", function() {\n                ((((this.attr.pushState && this.attr.pushStateSupported)) ? (this.JSBNG__on(\"uiSwiftLoaded uiPageChanged\", this.resetStateVariables), this.JSBNG__on(\"uiNavigate\", this.navigateUsingPushState), this.JSBNG__on(JSBNG__document, \"uiTimelineScrollSet\", this.setTimelineScrollPosition), this.JSBNG__on(\"uiTeardown\", this.doTeardown), this.JSBNG__on(JSBNG__document, \"dataPageMutated\", this.resetPageCache), this.JSBNG__on(JSBNG__document, \"uiPromotedLinkClick\", this.removePageFromCache), this.JSBNG__on(window, \"beforeunload\", this.destroyCurrentPageState)) : (this.JSBNG__on(\"uiSwiftLoaded\", this.resetStateVariables), this.JSBNG__on(\"uiNavigate\", this.navigateUsingRedirect))));\n            });\n        };\n    ;\n        var component = require(\"core/component\"), utils = require(\"core/utils\"), registry = require(\"core/registry\"), time = require(\"app/utils/time\"), fullPath = require(\"app/utils/full_path\"), withData = require(\"app/data/with_data\"), NavigationData = component(navigationData, withData);\n        module.exports = NavigationData;\n    });\n    define(\"app/ui/with_dropdown\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n        function withDropdown() {\n            this.toggleDisplay = function(a) {\n                this.$node.toggleClass(\"open\"), ((this.$node.hasClass(\"open\") && (this.activeEl = JSBNG__document.activeElement, this.trigger(\"uiDropdownOpened\")))), ((a && a.preventDefault()));\n            }, this.ignoreCloseEvent = !1, this.closeDropdown = function() {\n                this.$node.removeClass(\"open\");\n            }, this.closeAndRestoreFocus = function(a) {\n                this.closeDropdown(), ((this.activeEl && (a.preventDefault(), this.activeEl.JSBNG__focus(), this.activeEl = null)));\n            }, this.close = function(a) {\n                var b = $(this.attr.toggler);\n                if (((((((a.target === this.$node)) || ((this.$node.has(a.target).length > 0)))) && !this.isItemClick(a)))) {\n                    return;\n                }\n            ;\n            ;\n                if (((this.isItemClick(a) && this.ignoreCloseEvent))) {\n                    return;\n                }\n            ;\n            ;\n                this.closeDropdown();\n            }, this.isItemClick = function(a) {\n                return ((((!this.attr.itemSelector || !a)) ? !1 : (($(a.target).closest(this.attr.itemSelector).length > 0))));\n            }, this.after(\"initialize\", function() {\n                this.JSBNG__on(\"click\", {\n                    toggler: this.toggleDisplay\n                }), this.JSBNG__on(JSBNG__document, \"click\", this.close), this.JSBNG__on(JSBNG__document, \"uiCloseDropdowns uiNavigate\", this.closeDropdown), this.JSBNG__on(JSBNG__document, \"uiShortcutEsc\", this.closeAndRestoreFocus);\n            });\n        };\n    ;\n        module.exports = withDropdown;\n    });\n    define(\"app/ui/language_dropdown\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/with_dropdown\",], function(module, require, exports) {\n        function languageDropdown() {\n            this.defaultAttrs({\n                toggler: \".dropdown-toggle\"\n            });\n        };\n    ;\n        var defineComponent = require(\"core/component\"), withDropdown = require(\"app/ui/with_dropdown\"), LanguageDropdown = defineComponent(languageDropdown, withDropdown);\n        module.exports = LanguageDropdown;\n    });\n    define(\"app/ui/google\", [\"module\",\"require\",\"exports\",\"core/component\",], function(module, require, exports) {\n        function googleAnalytics() {\n            this.defaultAttrs({\n                gaPageName: window.JSBNG__location.pathname\n            }), this.initGoogle = function() {\n                window._gaq = ((window._gaq || [])), window._gaq.push([\"_setAccount\",\"UA-30775-6\",], [\"_trackPageview\",this.attr.gaPageName,], [\"_setDomainName\",\"twitter.com\",]);\n                var a = JSBNG__document.getElementsByTagName(\"script\")[0], b = JSBNG__document.createElement(\"script\");\n                b.async = !0, b.src = ((((((JSBNG__document.JSBNG__location.protocol == \"https:\")) ? \"https://ssl\" : \"http://www\")) + \".google-analytics.com/ga.js\")), a.parentNode.insertBefore(b, a), this.off(\"uiSwiftLoaded\", this.initGoogle);\n            }, this.trackPageChange = function(a, b) {\n                b = b.init_data, window._gaq.push([\"_trackPageview\",((((b && b.gaPageName)) || window.JSBNG__location.pathname)),]);\n            }, this.after(\"initialize\", function() {\n                this.JSBNG__on(\"uiSwiftLoaded\", this.initGoogle), this.JSBNG__on(\"uiPageChanged\", this.trackPageChange);\n            });\n        };\n    ;\n        var defineComponent = require(\"core/component\"), GoogleAnalytics = defineComponent(googleAnalytics);\n        module.exports = GoogleAnalytics;\n    });\n    define(\"app/utils/cookie\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n        module.exports = function(b, c, d) {\n            var e = $.extend({\n            }, d);\n            if (((((arguments.length > 1)) && ((String(c) !== \"[object Object]\"))))) {\n                if (((((c === null)) || ((c === undefined))))) {\n                    e.expires = -1, c = \"\";\n                }\n            ;\n            ;\n                if (((typeof e.expires == \"number\"))) {\n                    var f = e.expires, g = new JSBNG__Date((((new JSBNG__Date).getTime() + ((((((((f * 24)) * 60)) * 60)) * 1000)))));\n                    e.expires = g;\n                }\n            ;\n            ;\n                return c = String(c), JSBNG__document.cookie = [encodeURIComponent(b),\"=\",((e.raw ? c : encodeURIComponent(c))),((e.expires ? ((\"; expires=\" + e.expires.toUTCString())) : \"\")),((\"; path=\" + ((e.path || \"/\")))),((e.domain ? ((\"; domain=\" + e.domain)) : \"\")),((e.secure ? \"; secure\" : \"\")),].join(\"\");\n            }\n        ;\n        ;\n            e = ((c || {\n            }));\n            var h, i = ((e.raw ? function(a) {\n                return a;\n            } : decodeURIComponent));\n            return (((h = (new RegExp(((((\"(?:^|; )\" + encodeURIComponent(b))) + \"=([^;]*)\")))).exec(JSBNG__document.cookie)) ? i(h[1]) : null));\n        };\n    });\n    define(\"app/ui/impression_cookies\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/utils/cookie\",], function(module, require, exports) {\n        function impressionCookies() {\n            this.defaultAttrs({\n                sendImpressionCookieSelector: \"a[data-send-impression-cookie]\",\n                link: \"a\"\n            }), this.setCookie = function(a, b) {\n                cookie(\"ic\", a, {\n                    expires: b\n                });\n            }, this.sendImpressionCookie = function(a, b) {\n                var c = b.el;\n                if (((((((!c || ((c.hostname != window.JSBNG__location.hostname)))) || !c.pathname)) || ((c.pathname.indexOf(\"/#!/\") == 0))))) {\n                    return;\n                }\n            ;\n            ;\n                var d = $(c), e = d.closest(\"[data-impression-cookie]\").attr(\"data-impression-cookie\");\n                if (!e) {\n                    return;\n                }\n            ;\n            ;\n                this.trigger(\"uiPromotedLinkClick\", {\n                    href: d.attr(\"href\")\n                });\n                var f = new JSBNG__Date, g = 60000, h = new JSBNG__Date(((f.getTime() + g)));\n                this.setCookie(e, h);\n            }, this.after(\"initialize\", function(a) {\n                this.JSBNG__on(\"click\", {\n                    sendImpressionCookieSelector: this.sendImpressionCookie\n                }), this.JSBNG__on(\"uiShowProfileNewWindow\", {\n                    link: this.sendImpressionCookie\n                });\n            });\n        };\n    ;\n        var defineComponent = require(\"core/component\"), cookie = require(\"app/utils/cookie\");\n        module.exports = defineComponent(impressionCookies);\n    });\n    define(\"app/data/promoted_logger\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_data\",], function(module, require, exports) {\n        function promotedLogger() {\n            this.defaultAttrs({\n                tweetHashtagLinkSelector: \".tweet .twitter-hashtag\",\n                tweetLinkSelector: \".tweet .twitter-timeline-link\"\n            }), this.logEvent = function(a, b) {\n                this.get({\n                    url: \"/i/promoted_content/log.json\",\n                    data: a,\n                    eventData: {\n                    },\n                    headers: {\n                        \"X-PHX\": !0\n                    },\n                    success: \"dataLogEventSuccess\",\n                    error: \"dataLogEventError\",\n                    async: !b,\n                    noAbortOnNavigate: !0\n                });\n            }, this.isEarnedMedia = function(a) {\n                return ((a == \"earned\"));\n            }, this.logPromotedTrendImpression = function(a, b) {\n                var c = b.items, d = b.source;\n                if (((d == \"clock\"))) {\n                    return;\n                }\n            ;\n            ;\n                var e = c.filter(function(a) {\n                    return !!a.promotedTrendId;\n                });\n                if (!e.length) {\n                    return;\n                }\n            ;\n            ;\n                this.logEvent({\n                    JSBNG__event: \"i\",\n                    promoted_trend_id: e[0].promotedTrendId\n                });\n            }, this.logPromotedTrendClick = function(a, b) {\n                if (!b.promotedTrendId) {\n                    return;\n                }\n            ;\n            ;\n                this.logEvent({\n                    JSBNG__event: \"c\",\n                    promoted_trend_id: b.promotedTrendId\n                }, !0);\n            }, this.logPromotedTweetImpression = function(a, b) {\n                var c = b.tweets.filter(function(a) {\n                    return a.impressionId;\n                });\n                c.forEach(function(a) {\n                    this.logEvent({\n                        JSBNG__event: \"impression\",\n                        impression_id: a.impressionId,\n                        earned: this.isEarnedMedia(a.disclosureType)\n                    });\n                }, this);\n            }, this.logPromotedTweetLinkClick = function(a) {\n                var b = $(a.target).closest(\"[data-impression-id]\").attr(\"data-impression-id\"), c = $(a.target).closest(\"[data-impression-id]\").attr(\"data-disclosure-type\");\n                if (!b) {\n                    return;\n                }\n            ;\n            ;\n                this.logEvent({\n                    JSBNG__event: \"url_click\",\n                    impression_id: b,\n                    earned: this.isEarnedMedia(c)\n                }, !0);\n            }, this.logPromotedTweetHashtagClick = function(a) {\n                var b = $(a.target).closest(\"[data-impression-id]\").attr(\"data-impression-id\"), c = $(a.target).closest(\"[data-impression-id]\").attr(\"data-disclosure-type\");\n                if (!b) {\n                    return;\n                }\n            ;\n            ;\n                this.logEvent({\n                    JSBNG__event: \"hashtag_click\",\n                    impression_id: b,\n                    earned: this.isEarnedMedia(c)\n                }, !0);\n            }, this.logPromotedUserImpression = function(a, b) {\n                var c = b.users.filter(function(a) {\n                    return a.impressionId;\n                });\n                c.forEach(function(a) {\n                    this.logEvent({\n                        JSBNG__event: \"impression\",\n                        impression_id: a.impressionId\n                    });\n                }, this);\n            }, this.logPromotedTweetShareViaEmail = function(a, b) {\n                var c = b.impressionId;\n                if (!c) {\n                    return;\n                }\n            ;\n            ;\n                var d = this.isEarnedMedia(b.disclosureType);\n                this.logEvent({\n                    JSBNG__event: \"email_tweet\",\n                    impression_id: c,\n                    earned: d\n                });\n            }, this.logPromotedUserClick = function(a, b) {\n                var c = b.impressionId;\n                if (!c) {\n                    return;\n                }\n            ;\n            ;\n                var d = this.isEarnedMedia(b.disclosureType);\n                ((((b.profileClickTarget === \"avatar\")) ? this.logEvent({\n                    JSBNG__event: \"profile_image_click\",\n                    impression_id: c,\n                    earned: d\n                }) : ((b.isMentionClick ? this.logEvent({\n                    JSBNG__event: \"user_mention_click\",\n                    impression_id: c,\n                    earned: d\n                }) : ((b.isPromotedBadgeClick ? this.logEvent({\n                    JSBNG__event: \"footer_profile\",\n                    impression_id: c,\n                    earned: d\n                }) : this.logEvent({\n                    JSBNG__event: \"screen_name_click\",\n                    impression_id: c,\n                    earned: d\n                })))))));\n            }, this.logPromotedUserDismiss = function(a, b) {\n                var c = b.impressionId;\n                if (!c) {\n                    return;\n                }\n            ;\n            ;\n                this.logEvent({\n                    JSBNG__event: \"dismiss\",\n                    impression_id: c\n                });\n            }, this.logPromotedTweetDismiss = function(a, b) {\n                var c = b.impressionId, d = b.disclosureType;\n                if (!c) {\n                    return;\n                }\n            ;\n            ;\n                this.logEvent({\n                    JSBNG__event: \"dismiss\",\n                    impression_id: c,\n                    earned: this.isEarnedMedia(d)\n                });\n            }, this.logPromotedTweetDetails = function(a, b) {\n                var c = b.impressionId, d = b.disclosureType;\n                if (!c) {\n                    return;\n                }\n            ;\n            ;\n                this.logEvent({\n                    JSBNG__event: \"view_details\",\n                    impression_id: c,\n                    earned: this.isEarnedMedia(d)\n                });\n            }, this.after(\"initialize\", function() {\n                this.JSBNG__on(\"uiTrendsDisplayed\", this.logPromotedTrendImpression), this.JSBNG__on(\"uiTrendSelected\", this.logPromotedTrendClick), this.JSBNG__on(\"uiTweetsDisplayed\", this.logPromotedTweetImpression), this.JSBNG__on(\"click\", {\n                    tweetLinkSelector: this.logPromotedTweetLinkClick,\n                    tweetHashtagLinkSelector: this.logPromotedTweetHashtagClick\n                }), this.JSBNG__on(\"uiHasExpandedTweet\", this.logPromotedTweetDetails), this.JSBNG__on(\"uiTweetDismissed\", this.logPromotedTweetDismiss), this.JSBNG__on(\"uiDidShareViaEmailSuccess\", this.logPromotedTweetShareViaEmail), this.JSBNG__on(\"uiUsersDisplayed\", this.logPromotedUserImpression), this.JSBNG__on(\"uiDismissUserRecommendation\", this.logPromotedUserDismiss), this.JSBNG__on(\"uiShowProfilePopup uiShowProfileNewWindow\", this.logPromotedUserClick);\n            });\n        };\n    ;\n        var defineComponent = require(\"core/component\"), withData = require(\"app/data/with_data\"), PromotedLogger = defineComponent(promotedLogger, withData);\n        module.exports = PromotedLogger;\n    });\n    define(\"app/ui/message_drawer\", [\"module\",\"require\",\"exports\",\"core/component\",], function(module, require, exports) {\n        function messageDrawer() {\n            this.defaultAttrs({\n                fadeTimeout: 2000,\n                closeSelector: \".dismiss\",\n                reloadSelector: \".js-reload\",\n                textSelector: \".message-text\",\n                bannersSelector: \"#banners\",\n                topOffset: 47\n            });\n            var a = function() {\n                this.$node.css(\"opacity\", 1).animate({\n                    opacity: 0\n                }, 1000, function() {\n                    this.closeMessage();\n                }.bind(this));\n            };\n            this.calculateFadeTimeout = function(a) {\n                var b = a.split(\" \").length, c = ((((((b * 1000)) / 5)) + 225));\n                return ((((c < this.attr.fadeTimeout)) ? this.attr.fadeTimeout : c));\n            }, this.showMessage = function(b, c) {\n                this.$node.css({\n                    opacity: 1,\n                    JSBNG__top: ((this.attr.topOffset + $(this.attr.bannersSelector).height()))\n                }), this.select(\"textSelector\").html(c.message), this.select(\"closeSelector\").hide(), this.$node.removeClass(\"hidden\"), JSBNG__clearTimeout(this.messageTimeout), this.$node.JSBNG__stop(), this.messageTimeout = JSBNG__setTimeout(a.bind(this), this.calculateFadeTimeout(c.message));\n            }, this.showError = function(a, b) {\n                this.$node.css(\"opacity\", 1), this.select(\"textSelector\").html(b.message), this.select(\"closeSelector\").show(), this.$node.removeClass(\"hidden\");\n            }, this.closeMessage = function(a) {\n                ((a && a.preventDefault())), this.$node.addClass(\"hidden\");\n            }, this.reloadPageHandler = function() {\n                this.reloadPage();\n            }, this.reloadPage = function() {\n                window.JSBNG__location.reload();\n            }, this.after(\"initialize\", function() {\n                this.JSBNG__on(JSBNG__document, \"uiShowMessage\", this.showMessage), this.JSBNG__on(JSBNG__document, \"uiShowError\", this.showError), this.JSBNG__on(\"click\", {\n                    reloadSelector: this.reloadPageHandler,\n                    closeSelector: this.closeMessage\n                }), this.JSBNG__on(JSBNG__document, \"uiBeforePageChanged\", this.closeMessage);\n            });\n        };\n    ;\n        var defineComponent = require(\"core/component\"), MessageDrawer = defineComponent(messageDrawer);\n        module.exports = MessageDrawer;\n    });\n    deferred(\"$lib/bootstrap_tooltip.js\", function() {\n        !function($) {\n            \"use strict\";\n            var a = function(a, b) {\n                this.init(\"tooltip\", a, b);\n            };\n            a.prototype = {\n                constructor: a,\n                init: function(a, b, c) {\n                    var d, e;\n                    this.type = a, this.$element = $(b), this.options = this.getOptions(c), this.enabled = !0, ((((this.options.trigger != \"manual\")) && (d = ((((this.options.trigger == \"hover\")) ? \"mouseenter\" : \"JSBNG__focus\")), e = ((((this.options.trigger == \"hover\")) ? \"mouseleave\" : \"JSBNG__blur\")), this.$element.JSBNG__on(d, this.options.selector, $.proxy(this.enter, this)), this.$element.JSBNG__on(e, this.options.selector, $.proxy(this.leave, this))))), ((this.options.selector ? this._options = $.extend({\n                    }, this.options, {\n                        trigger: \"manual\",\n                        selector: \"\"\n                    }) : this.fixTitle()));\n                },\n                getOptions: function(a) {\n                    return a = $.extend({\n                    }, $.fn[this.type].defaults, a, this.$element.data()), ((((a.delay && ((typeof a.delay == \"number\")))) && (a.delay = {\n                        show: a.delay,\n                        hide: a.delay\n                    }))), a;\n                },\n                enter: function(a) {\n                    var b = $(a.currentTarget)[this.type](this._options).data(this.type);\n                    ((((!b.options.delay || !b.options.delay.show)) ? b.show() : (b.hoverState = \"in\", JSBNG__setTimeout(function() {\n                        ((((b.hoverState == \"in\")) && b.show()));\n                    }, b.options.delay.show))));\n                },\n                leave: function(a) {\n                    var b = $(a.currentTarget)[this.type](this._options).data(this.type);\n                    ((((!b.options.delay || !b.options.delay.hide)) ? b.hide() : (b.hoverState = \"out\", JSBNG__setTimeout(function() {\n                        ((((b.hoverState == \"out\")) && b.hide()));\n                    }, b.options.delay.hide))));\n                },\n                show: function() {\n                    var a, b, c, d, e, f, g;\n                    if (((this.hasContent() && this.enabled))) {\n                        a = this.tip(), this.setContent(), ((this.options.animation && a.addClass(\"fade\"))), f = ((((typeof this.options.placement == \"function\")) ? this.options.placement.call(this, a[0], this.$element[0]) : this.options.placement)), b = /in/.test(f), a.remove().css({\n                            JSBNG__top: 0,\n                            left: 0,\n                            display: \"block\"\n                        }).appendTo(((b ? this.$element : JSBNG__document.body))), c = this.getPosition(b), d = a[0].offsetWidth, e = a[0].offsetHeight;\n                        switch (((b ? f.split(\" \")[1] : f))) {\n                          case \"bottom\":\n                            g = {\n                                JSBNG__top: ((c.JSBNG__top + c.height)),\n                                left: ((((c.left + ((c.width / 2)))) - ((d / 2))))\n                            };\n                            break;\n                          case \"JSBNG__top\":\n                            g = {\n                                JSBNG__top: ((c.JSBNG__top - e)),\n                                left: ((((c.left + ((c.width / 2)))) - ((d / 2))))\n                            };\n                            break;\n                          case \"left\":\n                            g = {\n                                JSBNG__top: ((((c.JSBNG__top + ((c.height / 2)))) - ((e / 2)))),\n                                left: ((c.left - d))\n                            };\n                            break;\n                          case \"right\":\n                            g = {\n                                JSBNG__top: ((((c.JSBNG__top + ((c.height / 2)))) - ((e / 2)))),\n                                left: ((c.left + c.width))\n                            };\n                        };\n                    ;\n                        a.css(g).addClass(f).addClass(\"in\");\n                    }\n                ;\n                ;\n                },\n                setContent: function() {\n                    var a = this.tip();\n                    a.JSBNG__find(\".tooltip-inner\").html(this.getTitle()), a.removeClass(\"fade in top bottom left right\");\n                },\n                hide: function() {\n                    function c() {\n                        var a = JSBNG__setTimeout(function() {\n                            b.off($.support.transition.end).remove();\n                        }, 500);\n                        b.one($.support.transition.end, function() {\n                            JSBNG__clearTimeout(a), b.remove();\n                        });\n                    };\n                ;\n                    var a = this, b = this.tip();\n                    b.removeClass(\"in\"), (((($.support.transition && this.$tip.hasClass(\"fade\"))) ? c() : b.remove()));\n                },\n                fixTitle: function() {\n                    var a = this.$element;\n                    ((((a.attr(\"title\") || ((typeof a.attr(\"data-original-title\") != \"string\")))) && a.attr(\"data-original-title\", ((a.attr(\"title\") || \"\"))).removeAttr(\"title\")));\n                },\n                hasContent: function() {\n                    return this.getTitle();\n                },\n                getPosition: function(a) {\n                    return $.extend({\n                    }, ((a ? {\n                        JSBNG__top: 0,\n                        left: 0\n                    } : this.$element.offset())), {\n                        width: this.$element[0].offsetWidth,\n                        height: this.$element[0].offsetHeight\n                    });\n                },\n                getTitle: function() {\n                    var a, b = this.$element, c = this.options;\n                    return a = ((b.attr(\"data-original-title\") || ((((typeof c.title == \"function\")) ? c.title.call(b[0]) : c.title)))), a = ((a || \"\")).toString().replace(/(^\\s*|\\s*$)/, \"\"), a;\n                },\n                tip: function() {\n                    return this.$tip = ((this.$tip || $(this.options.template)));\n                },\n                validate: function() {\n                    ((this.$element[0].parentNode || (this.hide(), this.$element = null, this.options = null)));\n                },\n                enable: function() {\n                    this.enabled = !0;\n                },\n                disable: function() {\n                    this.enabled = !1;\n                },\n                toggleEnabled: function() {\n                    this.enabled = !this.enabled;\n                },\n                toggle: function() {\n                    this[((this.tip().hasClass(\"in\") ? \"hide\" : \"show\"))]();\n                }\n            }, $.fn.tooltip = function(b) {\n                return this.each(function() {\n                    var c = $(this), d = c.data(\"tooltip\"), e = ((((typeof b == \"object\")) && b));\n                    ((d || c.data(\"tooltip\", d = new a(this, e)))), ((((typeof b == \"string\")) && d[b]()));\n                });\n            }, $.fn.tooltip.Constructor = a, $.fn.tooltip.defaults = {\n                animation: !0,\n                delay: 0,\n                selector: !1,\n                placement: \"JSBNG__top\",\n                trigger: \"hover\",\n                title: \"\",\n                template: \"\\u003Cdiv class=\\\"tooltip\\\"\\u003E\\u003Cdiv class=\\\"tooltip-arrow\\\"\\u003E\\u003C/div\\u003E\\u003Cdiv class=\\\"tooltip-inner\\\"\\u003E\\u003C/div\\u003E\\u003C/div\\u003E\"\n            };\n        }(window.jQuery);\n    });\n    define(\"app/ui/tooltips\", [\"module\",\"require\",\"exports\",\"core/component\",\"$lib/bootstrap_tooltip.js\",], function(module, require, exports) {\n        function tooltips() {\n            this.defaultAttrs({\n                tooltipSelector: \".js-tooltip\"\n            }), this.hide = function() {\n                this.select(\"tooltipSelector\").tooltip(\"hide\");\n            }, this.after(\"initialize\", function() {\n                this.$node.tooltip({\n                    selector: this.attr.tooltipSelector\n                }), this.JSBNG__on(JSBNG__document, \"uiBeforePageChanged uiShowProfilePopup\", this.hide);\n            });\n        };\n    ;\n        var defineComponent = require(\"core/component\");\n        require(\"$lib/bootstrap_tooltip.js\"), module.exports = defineComponent(tooltips);\n    });\n    define(\"app/data/ttft_navigation\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/scribe_transport\",], function(module, require, exports) {\n        function ttftNavigate() {\n            this.beforeNewPageLoad = function(a, b) {\n                this.log(\"beforeNewPageLoad\", a, b), time = {\n                    beforeNewPageLoad: +(new JSBNG__Date),\n                    source: {\n                        page: this.attr.pageName,\n                        action: this.attr.sectionName,\n                        path: window.JSBNG__location.pathname\n                    }\n                };\n            }, this.afterPageChanged = function(a, b) {\n                this.log(\"afterPageChanged\", a, b), time.afterPageChanged = +(new JSBNG__Date), this.fromCache = !!b.fromCache, this.hookTimelineListener(!0), this.timelineListener = JSBNG__setTimeout(function() {\n                    this.hookTimelineListener(!1), this.report();\n                }.bind(this), 1), time.ajaxCount = this.ajaxCountdown = $.active, (($.active && this.hookAjaxListener(!0)));\n            }, this.timelineRefreshRequest = function(a, b) {\n                JSBNG__clearTimeout(this.timelineListener), this.hookTimelineListener(!1), ((b.navigated && (this.listeningForTimeline = !0, this.hookTimelineResults(!0))));\n            }, this.timelineSuccess = function(a, b) {\n                this.log(\"timelineSuccess\", a, b), this.listeningForTimeline = !1, this.hookTimelineResults(!1), time.timelineSuccess = +(new JSBNG__Date), this.report();\n            }, this.timelineError = function(a, b) {\n                this.log(\"timelineError\", a, b), this.listeningForTimeline = !1, this.hookTimelineResults(!1), this.report();\n            }, this.ajaxComplete = function(a, b) {\n                ((--this.ajaxCountdown || (this.log(\"ajaxComplete\", a, b), this.hookAjaxListener(!1), time.ajaxComplete = +(new JSBNG__Date), this.report())));\n            }, this.report = function() {\n                if (((this.ajaxCountdown && time.ajaxCount))) {\n                    return;\n                }\n            ;\n            ;\n                if (((this.listeningForTimeline && !time.timelineSuccess))) {\n                    return;\n                }\n            ;\n            ;\n                var a = {\n                    event_name: \"route_time\",\n                    source_page: time.source.page,\n                    source_action: time.source.action,\n                    source_path: time.source.path,\n                    dest_page: this.attr.pageName,\n                    dest_action: this.attr.sectionName,\n                    dest_path: window.JSBNG__location.pathname,\n                    cached: this.fromCache,\n                    start_time: time.beforeNewPageLoad,\n                    stream_switch_time: time.afterPageChanged,\n                    stream_complete_time: ((time.timelineSuccess || time.afterPageChanged)),\n                    ajax_count: time.ajaxCount\n                };\n                ((time.ajaxCount && (a.ajax_complete_time = time.ajaxComplete))), this.scribeTransport.send(a, \"route_timing\"), this.log(a);\n            }, this.log = function() {\n            \n            }, this.time = function() {\n                return time;\n            }, this.scribeTransport = scribeTransport, this.hookAjaxListener = function(a) {\n                this[((a ? \"JSBNG__on\" : \"off\"))](\"ajaxComplete\", this.ajaxComplete);\n            }, this.hookTimelineListener = function(a) {\n                this[((a ? \"JSBNG__on\" : \"off\"))](\"uiTimelineShouldRefresh\", this.timelineRefreshRequest);\n            }, this.hookTimelineResults = function(a) {\n                this[((a ? \"JSBNG__on\" : \"off\"))](\"dataGotMoreTimelineItems\", this.timelineSuccess), this[((a ? \"JSBNG__on\" : \"off\"))](\"dataGotMoreTimelineItemsError\", this.timelineError);\n            }, this.after(\"initialize\", function() {\n                this.JSBNG__on(\"uiBeforeNewPageLoad\", this.beforeNewPageLoad), this.JSBNG__on(\"uiPageChanged\", this.afterPageChanged);\n            });\n        };\n    ;\n        var component = require(\"core/component\"), scribeTransport = require(\"app/data/scribe_transport\");\n        module.exports = component(ttftNavigate);\n        var time = {\n        };\n    });\n    define(\"app/data/user_info\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n        var user = {\n        }, userInfo = {\n            set: function(a) {\n                user.screenName = a.screenName, user.deciders = ((a.deciders || {\n                })), user.experiments = ((a.experiments || {\n                }));\n            },\n            reset: function() {\n                this.set({\n                    screenName: null,\n                    deciders: {\n                    },\n                    experiments: {\n                    }\n                });\n            },\n            user: user,\n            getDecider: function(a) {\n                return !!user.deciders[a];\n            },\n            getExperimentGroup: function(a) {\n                return user.experiments[a];\n            }\n        };\n        userInfo.reset(), module.exports = userInfo;\n    });\n    define(\"app/ui/aria_event_logger\", [\"module\",\"require\",\"exports\",\"core/component\",\"core/i18n\",], function(module, require, exports) {\n        function ariaEventLogger() {\n            this.MESSAGES = {\n                FAVORITED: _(\"Favorited\"),\n                UNFAVORITED: _(\"Unfavorited\"),\n                RETWEETED: _(\"Retweeted\"),\n                UNRETWEETED: _(\"Unretweeted\"),\n                EXPANDED: _(\"Expanded\"),\n                COLLAPSED: _(\"Collapsed\"),\n                RENDERING_CONVERSATION: _(\"Loading conversation.\"),\n                CONVERSATION_RENDERED: _(\"Conversation loaded. Press j or k to review Tweets.\"),\n                CONVERSATION_START: _(\"Conversation start.\"),\n                CONVERSATION_END: _(\"Conversation end.\"),\n                NEW_ITEMS_BAR_VISIBLE: _(\"New Tweets available. Press period to review them.\")\n            }, this.CLEAR_LOG_EVENTS = [\"uiPageChanged\",\"uiShortcutSelectPrev\",\"uiShortcutSelectNext\",\"uiSelectNext\",\"uiSelectItem\",\"uiShortcutGotoTopOfScreen\",\"uiSelectTopTweet\",].join(\" \"), this.createLog = function() {\n                var a = $(\"\\u003Cdiv id=\\\"sr-event-log\\\" class=\\\"visuallyhidden\\\" aria-live=\\\"assertive\\\"\\u003E\\u003C/div\\u003E\");\n                $(\"body\").append(a), this.$log = a;\n            }, this.logMessage = function(a, b) {\n                ((this.$log && (((b || (b = \"assertive\"))), ((((b != this.$log.attr(\"aria-live\"))) && this.$log.attr(\"aria-live\", b))), this.$log.append(((((\"\\u003Cp\\u003E\" + a)) + \"\\u003C/p\\u003E\"))), ((((this.$log.children().length > 3)) && this.$log.children().first().remove())))));\n            }, this.logEvent = function(a, b) {\n                return function() {\n                    this.logMessage(this.MESSAGES[a], b);\n                }.bind(this);\n            }, this.logConversationStart = function(a) {\n                var b = $(a.target);\n                ((((((b.closest(\".expanded-conversation\").length && !b.prev().length)) && b.next().length)) && this.logMessage(this.MESSAGES.CONVERSATION_START, \"polite\")));\n            }, this.logConversationEnd = function(a) {\n                var b = $(a.target);\n                ((((((b.closest(\".expanded-conversation\").length && !b.next().length)) && b.prev().length)) && this.logMessage(this.MESSAGES.CONVERSATION_END, \"polite\")));\n            }, this.logCharCountWarning = function(a, b) {\n                this.clearLog(), this.logMessage(b.charCount, \"polite\");\n            }, this.clearLog = function() {\n                ((this.$log && this.$log.html(\"\")));\n            }, this.after(\"initialize\", function() {\n                this.JSBNG__on(JSBNG__document, \"uiSwiftLoaded\", this.createLog), this.JSBNG__on(JSBNG__document, \"uiDidFavoriteTweet dataFailedToUnfavoriteTweet\", this.logEvent(\"FAVORITED\")), this.JSBNG__on(JSBNG__document, \"uiDidUnfavoriteTweet dataFailedToFavoriteTweet\", this.logEvent(\"UNFAVORITED\")), this.JSBNG__on(JSBNG__document, \"uiDidRetweet dataFailedToUnretweet\", this.logEvent(\"RETWEETED\")), this.JSBNG__on(JSBNG__document, \"uiDidUnretweet dataFailedToRetweet\", this.logEvent(\"UNRETWEETED\")), this.JSBNG__on(JSBNG__document, \"uiHasExpandedTweet\", this.logEvent(\"EXPANDED\")), this.JSBNG__on(JSBNG__document, \"uiHasCollapsedTweet\", this.logEvent(\"COLLAPSED\")), this.JSBNG__on(JSBNG__document, \"uiRenderingExpandedConversation\", this.logEvent(\"RENDERING_CONVERSATION\", \"polite\")), this.JSBNG__on(JSBNG__document, \"uiExpandedConversationRendered\", this.logEvent(\"CONVERSATION_RENDERED\", \"polite\")), this.JSBNG__on(JSBNG__document, \"uiNextItemSelected\", this.logConversationEnd), this.JSBNG__on(JSBNG__document, \"uiPreviousItemSelected\", this.logConversationStart), this.JSBNG__on(JSBNG__document, \"uiNewItemsBarVisible\", this.logEvent(\"NEW_ITEMS_BAR_VISIBLE\")), this.JSBNG__on(JSBNG__document, \"uiCharCountWarningVisible\", this.logCharCountWarning), this.JSBNG__on(JSBNG__document, this.CLEAR_LOG_EVENTS, this.clearLog);\n            });\n        };\n    ;\n        var defineComponent = require(\"core/component\"), _ = require(\"core/i18n\"), ARIAEventLogger = defineComponent(ariaEventLogger);\n        module.exports = ARIAEventLogger;\n    });\n    define(\"app/boot/common\", [\"module\",\"require\",\"exports\",\"app/utils/auth_token\",\"app/boot/scribing\",\"app/ui/navigation\",\"app/data/navigation\",\"app/ui/language_dropdown\",\"app/ui/google\",\"app/ui/impression_cookies\",\"app/data/promoted_logger\",\"app/ui/message_drawer\",\"app/ui/tooltips\",\"app/data/ttft_navigation\",\"app/utils/cookie\",\"app/utils/querystring\",\"app/data/user_info\",\"app/ui/aria_event_logger\",], function(module, require, exports) {\n        function shimConsole(a) {\n            ((window.JSBNG__console || (window.JSBNG__console = {\n            }))), LOG_METHODS.forEach(function(b) {\n                if (((a || !JSBNG__console[b]))) {\n                    JSBNG__console[b] = NO_OP;\n                }\n            ;\n            ;\n            });\n        };\n    ;\n        function getLoginTime() {\n            return ((parseInt(querystring.decode(cookie(\"twll\")).l, 10) || 0));\n        };\n    ;\n        function verifySession() {\n            ((((getLoginTime() !== initialLoginTime)) && window.JSBNG__location.reload(!0)));\n        };\n    ;\n        var authToken = require(\"app/utils/auth_token\"), scribing = require(\"app/boot/scribing\"), NavigationUI = require(\"app/ui/navigation\"), NavigationData = require(\"app/data/navigation\"), LanguageDropdown = require(\"app/ui/language_dropdown\"), GoogleAnalytics = require(\"app/ui/google\"), ImpressionCookies = require(\"app/ui/impression_cookies\"), PromotedLogger = require(\"app/data/promoted_logger\"), MessageDrawer = require(\"app/ui/message_drawer\"), Tooltips = require(\"app/ui/tooltips\"), TTFTNavigation = require(\"app/data/ttft_navigation\"), cookie = require(\"app/utils/cookie\"), querystring = require(\"app/utils/querystring\"), userInfo = require(\"app/data/user_info\"), ARIAEventLogger = require(\"app/ui/aria_event_logger\"), ttftNavigationEnabled = !1, LOG_METHODS = [\"log\",\"warn\",\"debug\",\"info\",], NO_OP = function() {\n        \n        }, initialLoginTime = 0;\n        module.exports = function(b) {\n            var c = b.environment, d = (([\"production\",\"preflight\",].indexOf(c) > -1));\n            shimConsole(d), authToken.set(b.formAuthenticityToken), userInfo.set(b), ImpressionCookies.attachTo(JSBNG__document, {\n                noTeardown: !0\n            }), GoogleAnalytics.attachTo(JSBNG__document, {\n                noTeardown: !0\n            }), scribing(b), PromotedLogger.attachTo(JSBNG__document, {\n                noTeardown: !0\n            });\n            var e = ((!!window.JSBNG__history && !!JSBNG__history.pushState));\n            ((((b.pushState && e)) && NavigationUI.attachTo(JSBNG__document, {\n                viewContainer: b.viewContainer,\n                noTeardown: !0\n            }))), NavigationData.attachTo(JSBNG__document, {\n                init_data: b,\n                pushState: b.pushState,\n                pushStateSupported: e,\n                pushStatePageLimit: b.pushStatePageLimit,\n                assetsBasePath: b.assetsBasePath,\n                pushStateRequestHeaders: b.pushStateRequestHeaders,\n                viewContainer: b.viewContainer,\n                noTeardown: !0\n            }), Tooltips.attachTo(JSBNG__document, {\n                noTeardown: !0\n            }), MessageDrawer.attachTo(\"#message-drawer\", {\n                noTeardown: !0\n            }), ARIAEventLogger.attachTo(JSBNG__document, {\n                noTeardown: !0\n            }), ((b.loggedIn || LanguageDropdown.attachTo(\".js-language-dropdown\"))), ((((b.initialState && b.initialState.ttft_navigation)) && (ttftNavigationEnabled = !0))), ((ttftNavigationEnabled && TTFTNavigation.attachTo(JSBNG__document, {\n                pageName: b.pageName,\n                sectionName: b.sectionName\n            }))), ((b.loggedIn && (initialLoginTime = getLoginTime(), JSBNG__setInterval(verifySession, 10000))));\n        };\n    });\n    define(\"app/ui/with_position\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n        function Position() {\n            this.adjacent = function(a, b, c) {\n                var d, e;\n                c = ((c || {\n                })), d = e = b.offset(), e.gravity = c.gravity, e.weight = c.weight;\n                var f = {\n                    height: b.JSBNG__outerHeight(),\n                    width: b.JSBNG__outerWidth()\n                }, g = {\n                    height: a.JSBNG__outerHeight(),\n                    width: a.JSBNG__outerWidth()\n                }, h = {\n                    height: $(window).height(),\n                    width: $(window).width()\n                }, i = {\n                    height: $(\"body\").height(),\n                    width: $(\"body\").width()\n                };\n                return ((e.gravity || (e.gravity = \"vertical\"))), ((((\"vertical,north,south\".indexOf(e.gravity) != -1)) && (((((\"right,left,center\".indexOf(e.weight) == -1)) && (e.weight = ((((d.left > ((h.width / 2)))) ? \"right\" : \"left\"))))), ((((e.gravity == \"vertical\")) && (e.gravity = ((((((d.JSBNG__top + g.height)) > (($(window).scrollTop() + h.height)))) ? \"south\" : \"north\"))))), ((((c.position == \"relative\")) && (d = {\n                    left: 0,\n                    JSBNG__top: 0\n                }, e.left = 0))), ((((e.weight == \"right\")) ? e.left = ((((d.left - g.width)) + f.width)) : ((((e.weight == \"center\")) && (e.left = ((d.left - ((((g.width - f.width)) / 2))))))))), e.JSBNG__top = ((((e.gravity == \"north\")) ? ((d.JSBNG__top + f.height)) : ((d.JSBNG__top - g.height))))))), ((((\"horizontal,east,west\".indexOf(e.gravity) != -1)) && (((((\"top,bottom,center\".indexOf(e.weight) == -1)) && ((((((d.JSBNG__top - ((g.height / 2)))) < 0)) ? e.weight = \"JSBNG__top\" : ((((((d.JSBNG__top + ((g.height / 2)))) > Math.max(h.height, i.height))) ? e.weight = \"bottom\" : e.weight = \"center\")))))), ((((e.gravity == \"horizontal\")) && (e.gravity = ((((((d.left + ((f.width / 2)))) > ((h.width / 2)))) ? \"east\" : \"west\"))))), ((((c.position == \"relative\")) && (d = {\n                    left: 0,\n                    JSBNG__top: 0\n                }, e.JSBNG__top = 0))), ((((e.weight == \"center\")) ? e.JSBNG__top = ((((d.JSBNG__top + ((f.height / 2)))) - ((g.height / 2)))) : ((((e.weight == \"bottom\")) && (e.JSBNG__top = ((((d.JSBNG__top - g.height)) + f.height))))))), e.left = ((((e.gravity == \"west\")) ? ((d.left + f.width)) : ((d.left - g.width))))))), e;\n            };\n        };\n    ;\n        module.exports = Position;\n    });\n    define(\"app/ui/with_scrollbar_width\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n        function ScrollbarWidth() {\n            this.calculateScrollbarWidth = function() {\n                if ((($(\"#scrollbar-width\").length > 0))) {\n                    return;\n                }\n            ;\n            ;\n                var a = $(\"\\u003Cdiv class=\\\"modal-measure-scrollbar\\\"/\\u003E\").prependTo($(\"body\")), b = $(\"\\u003Cdiv class=\\\"inner\\\"/\\u003E\").appendTo(a), c = ((a.width() - b.width()));\n                a.remove(), $(\"head\").append(((((((((\"\\u003Cstyle id=\\\"scrollbar-width\\\"\\u003E        .compensate-for-scrollbar,        .modal-enabled,        .modal-enabled .global-nav-inner,        .profile-editing,        .profile-editing .global-nav-inner,        .gallery-enabled,        .grid-enabled,        .grid-enabled .global-nav-inner,        .gallery-enabled .global-nav-inner {          margin-right: \" + c)) + \"px      }         .grid-header {          right: \")) + c)) + \"px      }      \\u003C/style\\u003E\")));\n            };\n        };\n    ;\n        module.exports = ScrollbarWidth;\n    });\n    deferred(\"$lib/jquery.JSBNG__event.drag.js\", function() {\n        (function($) {\n            $.fn.drag = function(a, b, c) {\n                var d = ((((typeof a == \"string\")) ? a : \"\")), e = (($.isFunction(a) ? a : (($.isFunction(b) ? b : null))));\n                return ((((d.indexOf(\"drag\") !== 0)) && (d = ((\"drag\" + d))))), c = ((((((a == e)) ? b : c)) || {\n                })), ((e ? this.bind(d, c, e) : this.trigger(d)));\n            };\n            var a = $.JSBNG__event, b = a.special, c = b.drag = {\n                defaults: {\n                    which: 1,\n                    distance: 0,\n                    not: \":input\",\n                    handle: null,\n                    relative: !1,\n                    drop: !0,\n                    click: !1\n                },\n                datakey: \"dragdata\",\n                livekey: \"livedrag\",\n                add: function(b) {\n                    var d = $.data(this, c.datakey), e = ((b.data || {\n                    }));\n                    d.related += 1, ((((!d.live && b.selector)) && (d.live = !0, a.add(this, ((\"draginit.\" + c.livekey)), c.delegate)))), $.each(c.defaults, function(a, b) {\n                        ((((e[a] !== undefined)) && (d[a] = e[a])));\n                    });\n                },\n                remove: function() {\n                    $.data(this, c.datakey).related -= 1;\n                },\n                setup: function() {\n                    if ($.data(this, c.datakey)) {\n                        return;\n                    }\n                ;\n                ;\n                    var b = $.extend({\n                        related: 0\n                    }, c.defaults);\n                    $.data(this, c.datakey, b), a.add(this, \"mousedown\", c.init, b), ((this.JSBNG__attachEvent && this.JSBNG__attachEvent(\"JSBNG__ondragstart\", c.dontstart)));\n                },\n                teardown: function() {\n                    if ($.data(this, c.datakey).related) {\n                        return;\n                    }\n                ;\n                ;\n                    $.removeData(this, c.datakey), a.remove(this, \"mousedown\", c.init), a.remove(this, \"draginit\", c.delegate), c.textselect(!0), ((this.JSBNG__detachEvent && this.JSBNG__detachEvent(\"JSBNG__ondragstart\", c.dontstart)));\n                },\n                init: function(d) {\n                    var e = d.data, f;\n                    if (((((e.which > 0)) && ((d.which != e.which))))) {\n                        return;\n                    }\n                ;\n                ;\n                    if ($(d.target).is(e.not)) {\n                        return;\n                    }\n                ;\n                ;\n                    if (((e.handle && !$(d.target).closest(e.handle, d.currentTarget).length))) {\n                        return;\n                    }\n                ;\n                ;\n                    e.propagates = 1, e.interactions = [c.interaction(this, e),], e.target = d.target, e.pageX = d.pageX, e.pageY = d.pageY, e.dragging = null, f = c.hijack(d, \"draginit\", e);\n                    if (!e.propagates) {\n                        return;\n                    }\n                ;\n                ;\n                    return f = c.flatten(f), ((((f && f.length)) && (e.interactions = [], $.each(f, function() {\n                        e.interactions.push(c.interaction(this, e));\n                    })))), e.propagates = e.interactions.length, ((((((e.drop !== !1)) && b.drop)) && b.drop.handler(d, e))), c.textselect(!1), a.add(JSBNG__document, \"mousemove mouseup\", c.handler, e), !1;\n                },\n                interaction: function(a, b) {\n                    return {\n                        drag: a,\n                        callback: new c.callback,\n                        droppable: [],\n                        offset: (($(a)[((b.relative ? \"position\" : \"offset\"))]() || {\n                            JSBNG__top: 0,\n                            left: 0\n                        }))\n                    };\n                },\n                handler: function(d) {\n                    var e = d.data;\n                    switch (d.type) {\n                      case ((!e.dragging && \"mousemove\")):\n                        if (((((Math.pow(((d.pageX - e.pageX)), 2) + Math.pow(((d.pageY - e.pageY)), 2))) < Math.pow(e.distance, 2)))) {\n                            break;\n                        }\n                    ;\n                    ;\n                        d.target = e.target, c.hijack(d, \"dragstart\", e), ((e.propagates && (e.dragging = !0)));\n                      case \"mousemove\":\n                        if (e.dragging) {\n                            c.hijack(d, \"drag\", e);\n                            if (e.propagates) {\n                                ((((((e.drop !== !1)) && b.drop)) && b.drop.handler(d, e)));\n                                break;\n                            }\n                        ;\n                        ;\n                            d.type = \"mouseup\";\n                        }\n                    ;\n                    ;\n                    ;\n                      case \"mouseup\":\n                        a.remove(JSBNG__document, \"mousemove mouseup\", c.handler), ((e.dragging && (((((((e.drop !== !1)) && b.drop)) && b.drop.handler(d, e))), c.hijack(d, \"dragend\", e)))), c.textselect(!0), ((((((e.click === !1)) && e.dragging)) && ($.JSBNG__event.triggered = !0, JSBNG__setTimeout(function() {\n                            $.JSBNG__event.triggered = !1;\n                        }, 20), e.dragging = !1)));\n                    };\n                ;\n                },\n                delegate: function(b) {\n                    var d = [], e, f = (($.data(this, \"events\") || {\n                    }));\n                    return $.each(((f.live || [])), function(f, g) {\n                        if (((g.preType.indexOf(\"drag\") !== 0))) {\n                            return;\n                        }\n                    ;\n                    ;\n                        e = $(b.target).closest(g.selector, b.currentTarget)[0];\n                        if (!e) {\n                            return;\n                        }\n                    ;\n                    ;\n                        a.add(e, ((((g.origType + \".\")) + c.livekey)), g.origHandler, g.data), (((($.inArray(e, d) < 0)) && d.push(e)));\n                    }), ((d.length ? $(d).bind(((\"dragend.\" + c.livekey)), function() {\n                        a.remove(this, ((\".\" + c.livekey)));\n                    }) : !1));\n                },\n                hijack: function(b, d, e, f, g) {\n                    if (!e) {\n                        return;\n                    }\n                ;\n                ;\n                    var h = {\n                        JSBNG__event: b.originalEvent,\n                        type: b.type\n                    }, i = ((d.indexOf(\"drop\") ? \"drag\" : \"drop\")), j, k = ((f || 0)), l, m, n, o = ((isNaN(f) ? e.interactions.length : f));\n                    b.type = d, b.originalEvent = null, e.results = [];\n                    do if (l = e.interactions[k]) {\n                        if (((((d !== \"dragend\")) && l.cancelled))) {\n                            continue;\n                        }\n                    ;\n                    ;\n                        n = c.properties(b, e, l), l.results = [], $(((((g || l[i])) || e.droppable))).each(function(f, g) {\n                            n.target = g, j = ((g ? a.handle.call(g, b, n) : null)), ((((j === !1)) ? (((((i == \"drag\")) && (l.cancelled = !0, e.propagates -= 1))), ((((d == \"drop\")) && (l[i][f] = null)))) : ((((d == \"dropinit\")) && l.droppable.push(((c.element(j) || g))))))), ((((d == \"dragstart\")) && (l.proxy = $(((c.element(j) || l.drag)))[0]))), l.results.push(j), delete b.result;\n                            if (((d !== \"dropinit\"))) {\n                                return j;\n                            }\n                        ;\n                        ;\n                        }), e.results[k] = c.flatten(l.results), ((((d == \"dropinit\")) && (l.droppable = c.flatten(l.droppable)))), ((((((d == \"dragstart\")) && !l.cancelled)) && n.update()));\n                    }\n                     while (((++k < o)));\n                    return b.type = h.type, b.originalEvent = h.JSBNG__event, c.flatten(e.results);\n                },\n                properties: function(a, b, d) {\n                    var e = d.callback;\n                    return e.drag = d.drag, e.proxy = ((d.proxy || d.drag)), e.startX = b.pageX, e.startY = b.pageY, e.deltaX = ((a.pageX - b.pageX)), e.deltaY = ((a.pageY - b.pageY)), e.originalX = d.offset.left, e.originalY = d.offset.JSBNG__top, e.offsetX = ((a.pageX - ((b.pageX - e.originalX)))), e.offsetY = ((a.pageY - ((b.pageY - e.originalY)))), e.drop = c.flatten(((d.drop || [])).slice()), e.available = c.flatten(((d.droppable || [])).slice()), e;\n                },\n                element: function(a) {\n                    if (((a && ((a.jquery || ((a.nodeType == 1))))))) {\n                        return a;\n                    }\n                ;\n                ;\n                },\n                flatten: function(a) {\n                    return $.map(a, function(a) {\n                        return ((((a && a.jquery)) ? $.makeArray(a) : ((((a && a.length)) ? c.flatten(a) : a))));\n                    });\n                },\n                textselect: function(a) {\n                    $(JSBNG__document)[((a ? \"unbind\" : \"bind\"))](\"selectstart\", c.dontstart).attr(\"unselectable\", ((a ? \"off\" : \"JSBNG__on\"))).css(\"MozUserSelect\", ((a ? \"\" : \"none\")));\n                },\n                dontstart: function() {\n                    return !1;\n                },\n                callback: function() {\n                \n                }\n            };\n            c.callback.prototype = {\n                update: function() {\n                    ((((b.drop && this.available.length)) && $.each(this.available, function(a) {\n                        b.drop.locate(this, a);\n                    })));\n                }\n            }, b.draginit = b.dragstart = b.dragend = c;\n        })(jQuery);\n    });\n    define(\"app/ui/with_dialog\", [\"module\",\"require\",\"exports\",\"core/compose\",\"app/ui/with_scrollbar_width\",\"$lib/jquery.JSBNG__event.drag.js\",], function(module, require, exports) {\n        function withDialog() {\n            compose.mixin(this, [withScrollbarWidth,]), this.center = function(a) {\n                var b = $(window), c = {\n                    JSBNG__top: parseInt(((((b.height() - a.JSBNG__outerHeight())) / 2))),\n                    left: parseInt(((((b.width() - a.JSBNG__outerWidth())) / 2)))\n                };\n                return c;\n            }, this.windowHeight = function() {\n                return $(window).height();\n            }, this.scrollTop = function() {\n                return $(window).scrollTop();\n            }, this.position = function() {\n                var a = this.center(this.$dialog);\n                ((((this.attr.JSBNG__top != null)) && (a.JSBNG__top = this.attr.JSBNG__top))), ((((this.attr.left != null)) && (a.left = this.attr.left))), ((((this.attr.maxTop != null)) && (a.JSBNG__top = Math.min(a.JSBNG__top, this.attr.maxTop)))), ((((this.attr.maxLeft != null)) && (a.left = Math.min(a.left, this.attr.maxLeft)))), (((($(\"body\").attr(\"dir\") === \"rtl\")) ? this.$dialog.css({\n                    JSBNG__top: a.JSBNG__top,\n                    right: a.left\n                }) : this.$dialog.css({\n                    JSBNG__top: a.JSBNG__top,\n                    left: a.left\n                }))), ((((this.windowHeight() < this.$dialog.JSBNG__outerHeight())) ? (this.$dialog.css(\"position\", \"absolute\"), this.$dialog.css(\"JSBNG__top\", ((this.scrollTop() + \"px\")))) : ((((this.attr.fixed === !1)) && this.$dialog.css(\"JSBNG__top\", ((a.JSBNG__top + this.scrollTop())))))));\n            }, this.resize = function() {\n                ((this.attr.width && this.$dialog.css(\"width\", this.attr.width))), ((this.attr.height && this.$dialog.css(\"height\", this.attr.height)));\n            }, this.applyDraggability = function() {\n                if (!this.$dialog.hasClass(\"draggable\")) {\n                    return;\n                }\n            ;\n            ;\n                var a = this, b = {\n                    relative: !0,\n                    handle: \".modal-header\"\n                }, c = function(a, b) {\n                    (((($(\"body\").attr(\"dir\") === \"rtl\")) ? this.$dialog.css({\n                        JSBNG__top: b.offsetY,\n                        right: ((b.originalX - b.deltaX))\n                    }) : this.$dialog.css({\n                        JSBNG__top: b.offsetY,\n                        left: b.offsetX\n                    })));\n                };\n                this.$dialog.drag(\"start\", function() {\n                    a.$dialog.addClass(\"unselectable\"), $(\"#doc\").addClass(\"unselectable\");\n                }), this.$dialog.drag(\"end\", function() {\n                    a.$dialog.removeClass(\"unselectable\"), $(\"#doc\").removeClass(\"unselectable\");\n                }), this.$dialog.drag(c.bind(this), b);\n            }, this.setFocus = function() {\n                var a = this.$dialog.JSBNG__find(\".primary-btn\");\n                ((((a.length && a.is(\":not(:disabled)\"))) && a.JSBNG__focus()));\n            }, this.hasFocus = function() {\n                return (($.contains(this.node, JSBNG__document.activeElement) || ((this.node == JSBNG__document.activeElement))));\n            }, this.JSBNG__blur = function() {\n                ((this.hasFocus() && JSBNG__document.activeElement.JSBNG__blur()));\n            }, this.isOpen = function() {\n                if (((((window.DEBUG && window.DEBUG.enabled)) && ((this.openState !== this.$dialogContainer.is(\":visible\")))))) {\n                    throw new Error(\"Dialog markup and internal openState variable are out of sync.\");\n                }\n            ;\n            ;\n                return this.openState;\n            }, this.dialogVisible = function() {\n                this.trigger(\"uiDialogFadeInComplete\");\n            }, this.open = function() {\n                ((this.isOpen() || (this.openState = !0, this.$dialogContainer.fadeIn(\"fast\", this.dialogVisible.bind(this)), this.calculateScrollbarWidth(), $(\"body\").addClass(\"modal-enabled\"), this.resize(), this.position(), this.applyDraggability(), this.setFocus(), this.trigger(\"uiCloseDropdowns\"), this.trigger(\"uiDialogOpened\"))));\n            }, this.afterClose = function() {\n                (($(\".modal-container:visible\").length || $(\"body\").removeClass(\"modal-enabled\"))), this.openState = !1, this.trigger(\"uiDialogClosed\");\n            }, this.blurAndClose = function() {\n                this.JSBNG__blur(), this.$dialogContainer.fadeOut(\"fast\", this.afterClose.bind(this));\n            }, this.blurAndCloseImmediately = function() {\n                this.JSBNG__blur(), this.$dialogContainer.hide(), this.afterClose();\n            }, this.close = function() {\n                if (!this.isOpen()) {\n                    return;\n                }\n            ;\n            ;\n                this.trigger(this.node, {\n                    type: \"uiDialogCloseRequested\",\n                    defaultBehavior: \"blurAndClose\"\n                });\n            }, this.closeImmediately = function() {\n                ((this.isOpen() && this.blurAndCloseImmediately()));\n            }, this.triggerClicked = function(a) {\n                a.preventDefault(), this.open();\n            }, this.after(\"initialize\", function() {\n                this.openState = !1, this.$dialogContainer = ((this.$dialog || this.$node)), this.$dialog = this.$dialogContainer.JSBNG__find(\"div.modal\"), this.attr.closeSelector = ((this.attr.closeSelector || \".modal-close, .close-modal-background-target\")), this.JSBNG__on(this.select(\"closeSelector\"), \"click\", this.close), this.JSBNG__on(JSBNG__document, \"uiShortcutEsc uiCloseDialog\", this.close), this.JSBNG__on(JSBNG__document, \"uiBeforePageChanged\", this.closeImmediately), ((this.attr.triggerSelector && this.JSBNG__on(this.attr.triggerSelector, \"click\", this.triggerClicked)));\n            });\n        };\n    ;\n        var compose = require(\"core/compose\"), withScrollbarWidth = require(\"app/ui/with_scrollbar_width\");\n        require(\"$lib/jquery.JSBNG__event.drag.js\"), module.exports = withDialog;\n    });\n    define(\"app/ui/dialogs/signin_or_signup\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/with_position\",\"app/ui/with_dialog\",], function(module, require, exports) {\n        function signinOrSignupDialog() {\n            this.defaultAttrs({\n                dialogSelector: \"#signin-or-signup\",\n                signupOnlyScreenNameSelector: \".modal-title.signup-only span\"\n            }), this.openSigninDialog = function(a, b) {\n                ((b.signUpOnly ? (this.$node.addClass(\"signup-only-dialog\"), this.select(\"dialogSelector\").addClass(\"signup-only\").removeClass(\"not-signup-only\"), ((b.screenName && this.select(\"signupOnlyScreenNameSelector\").text(b.screenName)))) : (this.$node.removeClass(\"signup-only-dialog\"), this.select(\"dialogSelector\").addClass(\"not-signup-only\").removeClass(\"signup-only\")))), this.open(), this.trigger(\"uiSigninOrSignupDialogOpened\");\n            }, this.notifyClosed = function() {\n                this.trigger(\"uiSigninOrSignupDialogClosed\");\n            }, this.after(\"initialize\", function(a) {\n                this.$dialog = this.select(\"dialogSelector\"), this.$dialog.JSBNG__find(\"form.signup\").bind(\"submit\", function() {\n                    this.trigger(\"uiSignupButtonClicked\");\n                }.bind(this)), this.JSBNG__on(JSBNG__document, \"uiOpenSigninOrSignupDialog\", this.openSigninDialog), this.JSBNG__on(JSBNG__document, \"uiCloseSigninOrSignupDialog\", this.close), this.JSBNG__on(this.$node, \"uiDialogClosed\", this.notifyClosed);\n            });\n        };\n    ;\n        var defineComponent = require(\"core/component\"), withPosition = require(\"app/ui/with_position\"), withDialog = require(\"app/ui/with_dialog\"), SigninOrSignupDialog = defineComponent(signinOrSignupDialog, withDialog, withPosition);\n        module.exports = SigninOrSignupDialog;\n    });\n    define(\"app/ui/forms/input_with_placeholder\", [\"module\",\"require\",\"exports\",\"core/component\",], function(module, require, exports) {\n        function inputWithPlaceholder() {\n            this.defaultAttrs({\n                hidePlaceholderClassName: \"hasome\",\n                placeholder: \".holder\",\n                elementType: \"input\"\n            }), this.focusInput = function(a) {\n                this.$input.JSBNG__focus();\n            }, this.inputBlurred = function(a) {\n                if (((this.$input.val() == \"\"))) {\n                    return this.$node.removeClass(this.attr.hidePlaceholderClassName), !0;\n                }\n            ;\n            ;\n            }, this.checkForChange = function() {\n                ((this.inputBlurred() || this.inputChanged()));\n            }, this.inputChanged = function(a) {\n                this.$node.addClass(this.attr.hidePlaceholderClassName);\n            }, this.after(\"initialize\", function() {\n                this.$input = this.select(\"elementType\");\n                if (((this.$input.length != 1))) {\n                    throw new Error(\"InputWithPlaceholder must be attached to a container with exactly one input element inside of it\");\n                }\n            ;\n            ;\n                this.$placeholder = this.select(\"placeholder\");\n                if (((this.$placeholder.length != 1))) {\n                    throw new Error(\"InputWithPlaceholder must be attached to a container with exactly one placeholder element inside of it\");\n                }\n            ;\n            ;\n                this.JSBNG__on(this.$input, \"JSBNG__blur\", this.inputBlurred), this.JSBNG__on(this.$input, \"keydown paste\", this.inputChanged), this.JSBNG__on(this.$placeholder, \"click\", this.focusInput), this.JSBNG__on(this.$input, \"uiInputChanged\", this.checkForChange), this.checkForChange();\n            });\n        };\n    ;\n        var defineComponent = require(\"core/component\"), InputWithPlaceholder = defineComponent(inputWithPlaceholder);\n        module.exports = InputWithPlaceholder;\n    });\n    define(\"app/ui/signup_call_out\", [\"module\",\"require\",\"exports\",\"core/component\",], function(module, require, exports) {\n        function signupCallOut() {\n            this.after(\"initialize\", function() {\n                this.$node.bind(\"submit\", function() {\n                    this.trigger(\"uiSignupButtonClicked\");\n                }.bind(this));\n            });\n        };\n    ;\n        var defineComponent = require(\"core/component\"), SignupCallOut = defineComponent(signupCallOut);\n        module.exports = SignupCallOut;\n    });\n    define(\"app/data/signup_click_scribe\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_scribe\",], function(module, require, exports) {\n        function loggedOutScribe() {\n            this.scribeSignupClick = function(a, b) {\n                this.scribe({\n                    action: \"signup_click\"\n                }, b);\n            }, this.scribeSigninOrSignupDialogOpened = function(a, b) {\n                this.scribe({\n                    action: \"open\"\n                }, b);\n            }, this.scribeSigninOrSignupDialogClosed = function(a, b) {\n                this.scribe({\n                    action: \"close\"\n                }, b);\n            }, this.after(\"initialize\", function() {\n                this.JSBNG__on(\"uiSignupButtonClicked\", this.scribeSignupClick), this.JSBNG__on(\"uiSigninOrSignupDialogOpened\", this.scribeSigninOrSignupDialogOpened), this.JSBNG__on(\"uiSigninOrSignupDialogClosed\", this.scribeSigninOrSignupDialogClosed);\n            });\n        };\n    ;\n        var defineComponent = require(\"core/component\"), withScribe = require(\"app/data/with_scribe\");\n        module.exports = defineComponent(loggedOutScribe, withScribe);\n    });\n    define(\"app/ui/signup/stream_end_signup_module\", [\"module\",\"require\",\"exports\",\"core/component\",], function(module, require, exports) {\n        function streamEndSignupModule() {\n            this.triggerSignupClick = function() {\n                this.trigger(\"uiSignupButtonClicked\");\n            }, this.after(\"initialize\", function() {\n                this.JSBNG__on(\"click\", this.triggerSignupClick);\n            });\n        };\n    ;\n        var defineComponent = require(\"core/component\");\n        module.exports = defineComponent(streamEndSignupModule);\n    });\n    define(\"app/boot/logged_out\", [\"module\",\"require\",\"exports\",\"app/ui/dialogs/signin_or_signup\",\"app/ui/forms/input_with_placeholder\",\"app/ui/signup_call_out\",\"app/data/signup_click_scribe\",\"app/ui/signup/stream_end_signup_module\",], function(module, require, exports) {\n        var SigninOrSignupDialog = require(\"app/ui/dialogs/signin_or_signup\"), InputWithPlaceholder = require(\"app/ui/forms/input_with_placeholder\"), SignupCallOut = require(\"app/ui/signup_call_out\"), LoggedOutScribe = require(\"app/data/signup_click_scribe\"), StreamEndSignupModule = require(\"app/ui/signup/stream_end_signup_module\");\n        module.exports = function(b) {\n            InputWithPlaceholder.attachTo(\"#signin-or-signup-dialog .holding, .profile-signup-call-out .holding, .search-signup-call-out .holding\"), SigninOrSignupDialog.attachTo(\"#signin-or-signup-dialog\", {\n                eventData: {\n                    scribeContext: {\n                        component: \"auth_dialog\",\n                        element: \"unauth_follow\"\n                    }\n                }\n            }), SignupCallOut.attachTo(\".signup-call-out form.signup\", {\n                eventData: {\n                    scribeContext: {\n                        component: \"signup_callout\",\n                        element: \"form\"\n                    }\n                }\n            }), StreamEndSignupModule.attachTo(\".stream-end .signup-btn\", {\n                eventData: {\n                    scribeContext: {\n                        component: \"stream_end\",\n                        element: \"signup_button\"\n                    }\n                }\n            }), LoggedOutScribe.attachTo(JSBNG__document);\n        };\n    });\n    define(\"app/utils/ttft\", [\"module\",\"require\",\"exports\",\"app/data/scribe_transport\",], function(module, require, exports) {\n        function scribeTTFTData(a, b) {\n            if (((((!recorded && window.JSBNG__performance)) && a))) {\n                recorded = !0;\n                var c = a;\n                c.did_load = b, c.web_timings = $.extend({\n                }, window.JSBNG__performance.timing), ((c.web_timings.toJSON && delete c.web_timings.toJSON)), c.navigation = {\n                    type: window.JSBNG__performance.navigation.type,\n                    redirectCount: window.JSBNG__performance.navigation.redirectCount\n                }, c.referrer = JSBNG__document.referrer, scribeTransport.send(c, \"swift_time_to_first_tweet\", !1), using(\"app/utils/params\", function(a) {\n                    if (a.fromQuery(window.JSBNG__location).show_ttft) {\n                        var b = c.web_timings;\n                        $(JSBNG__document).trigger(\"uiShowError\", {\n                            message: ((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((\"\\u003Ctable width=80%\\u003E\\u003Cthead\\u003E\\u003Cth\\u003Emilestone\\u003Cth\\u003Etime\\u003Cth\\u003Ecumulative\\u003C/thead\\u003E\\u003Ctbody\\u003E\\u003Ctr\\u003E\\u003Ctd\\u003Econnect:       \\u003Ctd\\u003E\" + ((b.connectEnd - b.navigationStart)))) + \"\\u003Ctd\\u003E\")) + ((b.connectEnd - b.navigationStart)))) + \"\\u003C/tr\\u003E\")) + \"\\u003Ctr\\u003E\\u003Ctd\\u003Eprocess:       \\u003Ctd\\u003E\")) + ((b.responseStart - b.connectEnd)))) + \"\\u003Ctd\\u003E\")) + ((b.responseStart - b.navigationStart)))) + \"\\u003C/tr\\u003E\")) + \"\\u003Ctr\\u003E\\u003Ctd\\u003Eresponse:      \\u003Ctd\\u003E\")) + ((b.responseEnd - b.responseStart)))) + \"\\u003Ctd\\u003E\")) + ((b.responseEnd - b.navigationStart)))) + \"\\u003C/tr\\u003E\")) + \"\\u003Ctr\\u003E\\u003Ctd\\u003Erender:        \\u003Ctd\\u003E\")) + ((c.client_record_time - b.responseEnd)))) + \"\\u003Ctd\\u003E\")) + ((c.client_record_time - b.navigationStart)))) + \"\\u003C/tr\\u003E\")) + \"\\u003Ctr\\u003E\\u003Ctd\\u003Einteractivity: \\u003Ctd\\u003E\")) + ((c.aq_empty_time - c.client_record_time)))) + \"\\u003Ctd\\u003E\")) + ((c.aq_empty_time - b.navigationStart)))) + \"\\u003C/tr\\u003E\")) + \"\\u003Ctr\\u003E\\u003Ctd\\u003Eajax_complete: \\u003Ctd\\u003E\")) + ((c.ajax_complete_time - c.aq_empty_time)))) + \"\\u003Ctd\\u003E\")) + ((c.ajax_complete_time - b.navigationStart)))) + \"\\u003C/tr\\u003E\")) + \"\\u003Ctr\\u003E\\u003Ctd\\u003Eajax_count:    \\u003Ctd\\u003E\")) + c.ajax_count)) + \"\\u003C/tr\\u003E\")) + \"\\u003C/tbody\\u003E\\u003C/table\\u003E\"))\n                        });\n                    }\n                ;\n                ;\n                });\n                try {\n                    delete window.ttft;\n                } catch (d) {\n                    window.ttft = undefined;\n                };\n            ;\n            }\n        ;\n        ;\n        };\n    ;\n        function scribeMilestones(a) {\n            if (!window.ttftData) {\n                return;\n            }\n        ;\n        ;\n            var b = !0;\n            for (var c = 0; ((c < requiredMilestones.length)); ++c) {\n                if (!((requiredMilestones[c] in window.ttftData))) {\n                    b = !1;\n                    break;\n                }\n            ;\n            ;\n            };\n        ;\n            ((((a || b)) && scribeTTFTData(window.ttftData, b)));\n        };\n    ;\n        function onAjaxComplete(a, b, c) {\n            if (((c && ((c.url in newAjaxRequests))))) {\n                for (var d = 0; ((d < newAjaxRequests[c.url].length)); d++) {\n                    if (((c === newAjaxRequests[c.url][d]))) {\n                        newAjaxRequests[c.url].splice(d, 1);\n                        return;\n                    }\n                ;\n                ;\n                };\n            }\n        ;\n        ;\n            pendingAjaxCount--;\n            if (((((pendingAjaxCount == 0)) || (($.active == 0))))) {\n                unbindAjaxHandlers(), recordPendingAjaxComplete();\n            }\n        ;\n        ;\n        };\n    ;\n        function onAjaxSend(a, b, c) {\n            ((((c && c.url)) && (((newAjaxRequests[c.url] || (newAjaxRequests[c.url] = []))), newAjaxRequests[c.url].push(c))));\n        };\n    ;\n        function recordPendingAjaxComplete() {\n            recordMilestone(\"ajax_complete_time\", (new JSBNG__Date).getTime());\n        };\n    ;\n        function bindAjaxHandlers() {\n            $(JSBNG__document).bind(\"ajaxComplete\", onAjaxComplete), $(JSBNG__document).bind(\"ajaxSend\", onAjaxSend);\n        };\n    ;\n        function unbindAjaxHandlers() {\n            $(JSBNG__document).unbind(\"ajaxComplete\", onAjaxComplete), $(JSBNG__document).unbind(\"ajaxSend\", onAjaxSend);\n        };\n    ;\n        function startAjaxTracking() {\n            startingAjaxCount = pendingAjaxCount = $.active, recordMilestone(\"ajax_count\", startingAjaxCount), ((((startingAjaxCount == 0)) ? recordPendingAjaxComplete() : (unbindAjaxHandlers(), bindAjaxHandlers())));\n        };\n    ;\n        function recordMilestone(a, b) {\n            ((((window.ttftData && !window.ttftData[a])) && (window.ttftData[a] = b))), scribeMilestones(!1);\n        };\n    ;\n        var scribeTransport = require(\"app/data/scribe_transport\"), recorded = !1, requiredMilestones = [\"page\",\"client_record_time\",\"aq_empty_time\",\"ajax_complete_time\",\"ajax_count\",], startingAjaxCount = 0, pendingAjaxCount = 0, newAjaxRequests = {\n        };\n        window.ttft = {\n            recordMilestone: recordMilestone\n        }, scribeMilestones(!1), JSBNG__setTimeout(function() {\n            scribeMilestones(!0);\n        }, 45000), module.exports = {\n            startAjaxTracking: startAjaxTracking\n        };\n    });\n    function makePromptSpanPage(a) {\n        ((a.length && a.prependTo(\"#page-container\").css({\n            padding: 0,\n            border: 0\n        })));\n    };\n;\n    using.path = $(\"#swift-module-path\").val();\n    makePromptSpanPage($(\"div[data-prompt-id=\\\"262\\\"]\"));\n    ((using.aliases && using.bundles.push(using.aliases)));\n    $(\".loadrunner-alias\").each(function(a, b) {\n        using.bundles.push(JSON.parse($(b).val()));\n    });\n    using(\"debug/debug\", function(a) {\n        function b() {\n            function d() {\n                c.forEach(function(a) {\n                    a(b);\n                });\n                var a = $(JSBNG__document);\n                a.JSBNG__on(\"uiSwiftLoaded uiPageChanged\", function() {\n                    window.__swift_loaded = !0;\n                });\n                a.JSBNG__on(\"uiBeforeNewPageLoad\", function() {\n                    window.__swift_loaded = !1;\n                });\n                $(\"html\").removeClass(b.baseFoucClass);\n                a.trigger(\"uiSwiftLoaded\");\n                ((window.swiftActionQueue && window.swiftActionQueue.flush($)));\n                if (window.ttftData) {\n                    ((window.ttft && window.ttft.recordMilestone(\"aq_empty_time\", (new JSBNG__Date).getTime())));\n                    using(\"app/utils/ttft\", function(a) {\n                        a.startAjaxTracking();\n                    });\n                }\n            ;\n            ;\n            };\n        ;\n            var a = $(\"#init-data\").val(), b = JSON.parse(a), c = $.makeArray(arguments);\n            ((b.moreCSSBundle ? using(((\"css!\" + b.moreCSSBundle)), d) : d()));\n        };\n    ;\n        if ($(\"html\").hasClass(\"debug\")) {\n            window.DEBUG = a;\n            a.enable(!0);\n        }\n         else a.enable(!1);\n    ;\n    ;\n        var c = $(\"input.swift-boot-module\").map(function(a, b) {\n            return $(b).val();\n        }).toArray();\n        using.apply(this, c.concat(b));\n    });\n} catch (JSBNG_ex) {\n\n};");
10000 // 1375
10001 fpc.call(JSBNG_Replay.s19277ddcd28db6dd01a1d67d562dfbbffa3c6a17_1[0], o0,o5);
10002 // undefined
10003 o5 = null;
10004 // 1393
10005 fpc.call(JSBNG_Replay.s19277ddcd28db6dd01a1d67d562dfbbffa3c6a17_1[0], o0,o4);
10006 // undefined
10007 o4 = null;
10008 // 1410
10009 fpc.call(JSBNG_Replay.s19277ddcd28db6dd01a1d67d562dfbbffa3c6a17_1[0], o0,o8);
10010 // undefined
10011 o8 = null;
10012 // 1427
10013 fpc.call(JSBNG_Replay.s19277ddcd28db6dd01a1d67d562dfbbffa3c6a17_1[0], o0,o9);
10014 // undefined
10015 o0 = null;
10016 // undefined
10017 o9 = null;
10018 // 1443
10019 JSBNG_Replay.s19277ddcd28db6dd01a1d67d562dfbbffa3c6a17_4[0]();
10020 // 1487
10021 o2["0"] = o3;
10022 // undefined
10023 o2 = null;
10024 // undefined
10025 o3 = null;
10026 // 1448
10027 geval("define(\"app/data/tweet_actions\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_data\",], function(module, require, exports) {\n    function tweetActions() {\n        this.defaultAttrs({\n            successFromEndpoints: {\n                destroy: \"dataDidDeleteTweet\",\n                retweet: \"dataDidRetweet\",\n                favorite: \"dataDidFavoriteTweet\",\n                unretweet: \"dataDidUnretweet\",\n                unfavorite: \"dataDidUnfavoriteTweet\"\n            },\n            errorsFromEndpoints: {\n                destroy: \"dataFailedToDeleteTweet\",\n                retweet: \"dataFailedToRetweet\",\n                favorite: \"dataFailedToFavoriteTweet\",\n                unretweet: \"dataFailedToUnretweet\",\n                unfavorite: \"dataFailedToUnfavoriteTweet\"\n            }\n        }), this.takeAction = function(a, b, c) {\n            var d = function(b) {\n                ((((b && b.message)) && this.trigger(\"uiShowMessage\", {\n                    message: b.message\n                }))), this.trigger(this.attr.successFromEndpoints[a], b), this.trigger(JSBNG__document, \"dataGotProfileStats\", {\n                    stats: b.profile_stats\n                });\n            }, e;\n            ((((((((a === \"favorite\")) || ((a === \"retweet\")))) && ((\"retweetId\" in c)))) ? e = {\n                id: c.retweetId\n            } : e = {\n                id: c.id\n            })), ((c.impressionId && (e.impression_id = c.impressionId, ((c.disclosureType && (e.earned = ((c.disclosureType == \"earned\"))))))));\n            var f = {\n                destroy: \"DELETE\",\n                unretweet: \"DELETE\"\n            };\n            this.JSONRequest({\n                url: ((\"/i/tweet/\" + a)),\n                data: e,\n                eventData: c,\n                success: d.bind(this),\n                error: this.attr.errorsFromEndpoints[a]\n            }, ((f[a] || \"POST\")));\n        }, this.hitEndpoint = function(a) {\n            return this.takeAction.bind(this, a);\n        }, this.getTweet = function(a, b) {\n            var c = {\n                id: b.id\n            };\n            this.get({\n                url: \"/i/tweet/html\",\n                data: c,\n                eventData: b,\n                success: \"dataGotTweet\",\n                error: $.noop\n            });\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"uiDidRetweet\", this.hitEndpoint(\"retweet\")), this.JSBNG__on(\"uiDidUnretweet\", this.hitEndpoint(\"unretweet\")), this.JSBNG__on(\"uiDidDeleteTweet\", this.hitEndpoint(\"destroy\")), this.JSBNG__on(\"uiDidFavoriteTweet\", this.hitEndpoint(\"favorite\")), this.JSBNG__on(\"uiDidUnfavoriteTweet\", this.hitEndpoint(\"unfavorite\")), this.JSBNG__on(\"uiGetTweet\", this.getTweet);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withData = require(\"app/data/with_data\"), TweetActions = defineComponent(tweetActions, withData);\n    module.exports = TweetActions;\n});\ndefine(\"app/ui/expando/with_expanding_containers\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n    function withExpandingContainers() {\n        this.MARGIN_ANIMATION_SPEED = 85, this.DETACHED_MARGIN = 8, this.defaultAttrs({\n            openClass: \"open\",\n            openSelector: \".open\",\n            afterExpandedClass: \"after-expanded\",\n            beforeExpandedClass: \"before-expanded\",\n            marginBreaking: !0\n        }), this.flipClassState = function(a, b, c) {\n            a.filter(((\".\" + b))).removeClass(b).addClass(c);\n        }, this.fixMarginForAdjacentItem = function(a) {\n            $(a.target).next().filter(this.attr.openSelector).css(\"margin-top\", this.DETACHED_MARGIN).prev().addClass(this.attr.beforeExpandedClass);\n        }, this.enterDetachedState = function(a, b) {\n            var c = a.prev(), d = a.next();\n            a.addClass(this.attr.openClass), ((this.attr.marginBreaking && a.animate({\n                marginTop: ((c.length ? this.DETACHED_MARGIN : 0)),\n                marginBottom: ((d.length ? this.DETACHED_MARGIN : 0))\n            }, {\n                duration: ((b ? 0 : this.MARGIN_ANIMATION_SPEED))\n            }))), c.addClass(this.attr.beforeExpandedClass), d.addClass(this.attr.afterExpandedClass);\n        }, this.exitDetachedState = function(a, b) {\n            var c = function() {\n                a.prev().removeClass(this.attr.beforeExpandedClass).end().next().removeClass(this.attr.afterExpandedClass);\n            }.bind(this);\n            a.removeClass(this.attr.openClass), ((this.attr.marginBreaking ? a.animate({\n                marginTop: 0,\n                marginBottom: 0\n            }, {\n                duration: ((b ? 0 : this.MARGIN_ANIMATION_SPEED)),\n                complete: c\n            }) : c()));\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"uiHasInjectedTimelineItem uiShouldFixMargins\", this.fixMarginForAdjacentItem);\n        });\n    };\n;\n    module.exports = withExpandingContainers;\n});\ndefine(\"app/ui/expando/expando_helpers\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n    var SPEED_COEFFICIENT = 105, expandoHelpers = {\n        buildExpandoStruct: function(a) {\n            var b = a.$tweet, c = b.hasClass(a.originalClass), d = a.preexpanded, e = ((c ? b.closest(a.containingSelector) : b)), f = ((c ? e.get(0) : b.closest(\"li\").get(0))), g = b.closest(a.expansionSelector, f).get(0), h = ((g ? $(g) : $())), i = {\n                $tweet: b,\n                $container: e,\n                $scaffold: h,\n                $ancestors: $(),\n                $descendants: $(),\n                auto_expanded: b.hasClass(\"auto-expanded\"),\n                isTopLevel: c,\n                originalHeight: null,\n                animating: !1,\n                preexpanded: d,\n                skipAnimation: a.skipAnimation,\n                open: ((b.hasClass(a.openedTweetClass) && !d))\n            };\n            return i;\n        },\n        guessGoodSpeed: function() {\n            var a = Math.max.apply(Math, arguments);\n            return Math.round(((((4045 * Math.log(a))) * SPEED_COEFFICIENT)));\n        },\n        getNaturalHeight: function(a) {\n            var b = a.height(), c = a.height(\"auto\").height();\n            return a.height(b), c;\n        },\n        closeAllButPreserveScroll: function(a) {\n            var b = a.$scope.JSBNG__find(a.openSelector);\n            if (!b.length) {\n                return !1;\n            }\n        ;\n        ;\n            var c = $(window).scrollTop(), d = expandoHelpers.firstVisibleItemBelow(a.$scope, a.itemSelector, c);\n            if (((!d || !d.length))) {\n                return !1;\n            }\n        ;\n        ;\n            var e = d.offset().JSBNG__top;\n            b.each(a.callback);\n            var f = d.offset().JSBNG__top, g = ((e - f));\n            return $(window).scrollTop(((c - g))), g;\n        },\n        firstVisibleItemBelow: function(a, b, c) {\n            var d;\n            return a.JSBNG__find(b).each(function() {\n                var a = $(this);\n                if (((a.offset().JSBNG__top >= c))) {\n                    return d = a, !1;\n                }\n            ;\n            ;\n            }), d;\n        }\n    };\n    module.exports = expandoHelpers;\n});\ndefine(\"app/ui/gallery/with_gallery\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n    module.exports = function() {\n        this.defaultAttrs({\n            mediaThumbnailSelector: \".media-thumbnail\",\n            previewClass: \"is-preview\"\n        }), this.expandPreview = function(a) {\n            var b = a.closest(this.attr.mediaThumbnailSelector);\n            if (b.hasClass(this.attr.previewClass)) {\n                var c = a.parents(\".tweet.with-media-preview:not(.opened-tweet)\");\n                if (c.length) {\n                    return this.trigger(c, \"uiExpandTweet\"), !0;\n                }\n            ;\n            ;\n            }\n        ;\n        ;\n            return !1;\n        }, this.openMediaGallery = function(a) {\n            a.preventDefault(), a.stopPropagation();\n            var b = $(a.target);\n            ((this.expandPreview(b) || this.trigger(a.target, \"uiOpenGallery\", {\n                title: \"Photo\"\n            }))), this.trigger(\"uiMediaThumbnailClick\", {\n                url: b.attr(\"data-url\"),\n                mediaType: ((b.hasClass(\"video\") ? \"video\" : \"photo\"))\n            });\n        }, this.after(\"initialize\", function(a) {\n            ((((a.permalinkCardsGallery || a.timelineCardsGallery)) && this.JSBNG__on(\"click\", {\n                mediaThumbnailSelector: this.openMediaGallery\n            })));\n        });\n    };\n});\ndefine(\"app/ui/with_tweet_translation\", [\"module\",\"require\",\"exports\",\"core/compose\",\"app/utils/tweet_helper\",\"app/ui/with_interaction_data\",\"app/utils/rtl_text\",\"core/i18n\",], function(module, require, exports) {\n    function withTweetTranslation() {\n        compose.mixin(this, [withInteractionData,]), this.defaultAttrs({\n            tweetSelector: \"div.tweet\",\n            tweetTranslationSelector: \".tweet-translation\",\n            tweetTranslationTextSelector: \".tweet-translation-text\",\n            translateTweetSelector: \".js-translate-tweet\",\n            translateLabelSelector: \".translate-label\",\n            permalinkContainerSelector: \".permalink-tweet-container\",\n            permalinkClass: \"permalink-tweet-container\"\n        }), this.handleTranslateTweetClick = function(a, b) {\n            var c, d;\n            c = $(a.target).closest(this.attr.tweetSelector);\n            if (((((a.type === \"uiTimelineNeedsTranslation\")) && c.closest(this.attr.permalinkContainerSelector).length))) {\n                return;\n            }\n        ;\n        ;\n            ((c.JSBNG__find(this.attr.tweetTranslationSelector).is(\":hidden\") && (d = this.interactionData(c), d.dest = JSBNG__document.documentElement.getAttribute(\"lang\"), this.trigger(c, \"uiNeedsTweetTranslation\", d))));\n        }, this.showTweetTranslation = function(a, b) {\n            var c;\n            ((b.item_html && (c = this.findTweetTranslation(b.id_str), c.JSBNG__find(this.attr.tweetTranslationTextSelector).html(b.item_html), c.show(), ((this.$node.hasClass(this.attr.permalinkClass) && this.$node.JSBNG__find(this.attr.translateTweetSelector).hide())))));\n        }, this.findTweetTranslation = function(a) {\n            var b = this.$node.JSBNG__find(((((((this.attr.tweetSelector + \"[data-tweet-id=\")) + a.replace(/\\D/g, \"\"))) + \"]\")));\n            return b.JSBNG__find(this.attr.tweetTranslationSelector);\n        }, this.showError = function(a, b) {\n            this.trigger(\"uiShowMessage\", {\n                message: _(\"Unable to translate this Tweet. Please try again later.\")\n            });\n        }, this.after(\"initialize\", function(a) {\n            this.JSBNG__on(JSBNG__document, \"dataTweetTranslationSuccess\", this.showTweetTranslation), this.JSBNG__on(JSBNG__document, \"dataTweetTranslationError\", this.showError), this.JSBNG__on(JSBNG__document, \"uiTimelineNeedsTranslation\", this.handleTranslateTweetClick), this.JSBNG__on(\"click\", {\n                translateTweetSelector: this.handleTranslateTweetClick\n            });\n        });\n    };\n;\n    var compose = require(\"core/compose\"), tweetHelper = require(\"app/utils/tweet_helper\"), withInteractionData = require(\"app/ui/with_interaction_data\"), RTLText = require(\"app/utils/rtl_text\"), _ = require(\"core/i18n\");\n    module.exports = withTweetTranslation;\n});\ndefine(\"app/ui/tweets\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/with_tweet_actions\",\"app/ui/with_user_actions\",\"app/ui/gallery/with_gallery\",\"app/ui/with_item_actions\",\"app/ui/with_tweet_translation\",], function(module, require, exports) {\n    var defineComponent = require(\"core/component\"), withTweetActions = require(\"app/ui/with_tweet_actions\"), withUserActions = require(\"app/ui/with_user_actions\"), withGallery = require(\"app/ui/gallery/with_gallery\"), withItemActions = require(\"app/ui/with_item_actions\"), withTweetTranslation = require(\"app/ui/with_tweet_translation\");\n    module.exports = defineComponent(withUserActions, withTweetActions, withGallery, withItemActions, withTweetTranslation);\n});\ndefine(\"app/ui/tweet_injector\", [\"module\",\"require\",\"exports\",\"core/component\",], function(module, require, exports) {\n    function tweetInjector() {\n        this.defaultAttrs({\n            descendantClass: \"descendant\",\n            descendantScribeContext: \"replies\",\n            tweetSelector: \".tweet\"\n        }), this.insertTweet = function(a, b) {\n            var c = this.$node.closest(\".permalink\");\n            ((c.length && (c.addClass(\"has-replies\"), this.$node.closest(\".replies-to\").removeClass(\"hidden\"))));\n            var d = $(b.tweet_html);\n            d.JSBNG__find(this.attr.tweetSelector).addClass(this.attr.descendantClass).attr(\"data-component-context\", this.attr.descendantScribeContext);\n            var e;\n            ((this.attr.guard(b) && (e = this.$node.JSBNG__find(\".view-more-container\"), ((e.length ? d.insertBefore(e.closest(\"li\")) : this.$node.append(d))), this.trigger(\"uiTweetInserted\", b))));\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(JSBNG__document, \"dataTweetSuccess\", this.insertTweet);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\");\n    module.exports = defineComponent(tweetInjector);\n});\ndefine(\"app/ui/expando/with_expanding_social_activity\", [\"module\",\"require\",\"exports\",\"app/ui/expando/expando_helpers\",\"core/i18n\",\"app/utils/tweet_helper\",\"app/ui/tweets\",\"app/ui/tweet_injector\",], function(module, require, exports) {\n    function withExpandingSocialActivity() {\n        this.defaultAttrs({\n            animating: \"animating\",\n            socialProofSelector: \".js-tweet-stats-container\",\n            requestRetweetedSelector: \".request-retweeted-popup\",\n            requestFavoritedSelector: \".request-favorited-popup\",\n            targetTweetSelector: \".tweet\",\n            targetTitleSelector: \"[data-activity-popup-title]\",\n            inlineReplyTweetBoxFormSelector: \".inline-reply-tweetbox .tweet-form\",\n            inlineReplyTweetBoxFormCloneSrcSelector: \"#inline-reply-tweetbox .tweet-form\",\n            inlineReplyTweetboxSelector: \".inline-reply-tweetbox\",\n            inlineReplyUserImageSelector: \".inline-reply-user-image\",\n            permalinkTweetClasses: \"opened-tweet permalink-tweet\",\n            parentStreamItemSelector: \".stream-item\",\n            viewMoreContainerSelector: \".view-more-container\",\n            ancestorsSelector: \".ancestor-items\\u003Eli\",\n            descendantsSelector: \".tweets-wrapper\\u003Eli\"\n        }), this.calculateMargins = function(a) {\n            var b, c, d = 0, e = 0;\n            ((a.$ancestors.length && (c = a.$ancestors.first(), d = Math.abs(parseInt(c.css(\"marginTop\"), 10)), ((d || (d = ((a.$tweet.offset().JSBNG__top - c.offset().JSBNG__top))))))));\n            var f, g, h;\n            return ((a.$descendants.length && (f = a.$descendants.last(), e = Math.abs(parseInt(f.css(\"marginBottom\"), 10)), ((e || (b = a.$tweet.JSBNG__outerHeight(), g = f.JSBNG__outerHeight(), h = f.offset().JSBNG__top, e = ((((h + g)) - ((b + a.$tweet.offset().JSBNG__top)))))))))), {\n                JSBNG__top: d,\n                bottom: e\n            };\n        }, this.animateScaffoldHeight = function(a) {\n            var b = a.expando, c = a.marginTop, d = a.marginBottom, e = b.$ancestors.length, f = b.$descendants.length, g;\n            ((((a.noAnimation || ((!b.open && !b.animating)))) ? g = 0 : ((((e || f)) ? g = a.speed : g = expandoHelpers.guessGoodSpeed(Math.abs(((b.$scaffold.height() - a.height))))))));\n            var h = 1;\n            ((e && h++)), ((f && h++));\n            var i = function() {\n                h--, ((((h == 0)) && (b.animating = !1, ((e && b.$ancestors.first().css(\"marginTop\", \"\"))), ((f && b.$descendants.last().css(\"marginBottom\", \"\"))), ((a.complete && a.complete())))));\n            }.bind(this);\n            b.$scaffold.animate({\n                height: a.height\n            }, {\n                duration: g,\n                complete: i\n            }), ((e && b.$ancestors.first().animate({\n                marginTop: c\n            }, {\n                duration: g,\n                step: a.stepFn,\n                complete: i\n            }))), ((f && b.$descendants.last().animate({\n                marginBottom: d\n            }, {\n                duration: g,\n                complete: i\n            })));\n        }, this.animateTweetOpen = function(a) {\n            var b = a.expando, c = expandoHelpers.getNaturalHeight(b.$scaffold), d = this.calculateMargins(b), e = a.complete;\n            b.animating = !0, ((b.$ancestors.length && b.$ancestors.first().css(\"margin-top\", -d.JSBNG__top))), ((b.$descendants.length && b.$descendants.last().css(\"margin-bottom\", -d.bottom))), this.animateScaffoldHeight({\n                expando: b,\n                height: c,\n                noAnimation: a.noAnimation,\n                speed: expandoHelpers.guessGoodSpeed(d.JSBNG__top, d.bottom),\n                marginTop: 0,\n                marginBottom: 0,\n                complete: function() {\n                    b.$scaffold.height(\"auto\"), ((e && e()));\n                }.bind(this)\n            });\n        }, this.animateTweetClosed = function(a) {\n            var b = a.expando, c = this.calculateMargins(b), d = a.complete;\n            b.animating = !0, this.animateScaffoldHeight({\n                expando: b,\n                height: b.originalHeight,\n                noAnimation: a.noAnimation,\n                speed: expandoHelpers.guessGoodSpeed(c.JSBNG__top, c.bottom),\n                stepFn: a.stepFn,\n                marginTop: -c.JSBNG__top,\n                marginBottom: -c.bottom,\n                complete: function() {\n                    b.$scaffold.height(b.originalHeight), b.$container.css({\n                        \"margin-top\": \"\",\n                        \"margin-bottom\": \"\"\n                    }), ((d && d()));\n                }\n            });\n        }, this.initTweetsInConversation = function(a) {\n            ((((a.$container.closest(this.attr.parentStreamItemSelector).length && a.$scaffold.JSBNG__find(this.attr.inlineReplyTweetboxSelector).length)) && (Tweets.attachTo(a.$scaffold, {\n                screenName: this.attr.screenName,\n                loggedIn: this.attr.loggedIn,\n                itemType: a.$container.attr(\"data-item-type\")\n            }), ((this.attr.loggedIn && TweetInjector.attachTo(a.$scaffold, {\n                guard: function(b) {\n                    return ((b.in_reply_to_status_id == a.$tweet.attr(\"data-tweet-id\")));\n                }\n            }))))));\n        }, this.animateConversationEntrance = function(a, b) {\n            var c = $(a.target).data(\"expando\"), d = $(a.target).attr(\"focus-reply\");\n            $(a.target).removeAttr(\"focus-reply\"), ((c.$tweet.data(\"is-reply-to\") || (b.ancestors = \"\"))), c.$scaffold.height(c.$scaffold.JSBNG__outerHeight());\n            var e = $(b.ancestors), f = $(b.descendants);\n            c.$ancestors = e.JSBNG__find(this.attr.ancestorsSelector), c.$descendants = f.JSBNG__find(this.attr.descendantsSelector);\n            var g = ((c.$ancestors.length || c.$descendants.length));\n            ((g && this.trigger(c.$tweet, \"uiRenderingExpandedConversation\"))), c.$tweet.after(f.JSBNG__find(this.attr.inlineReplyTweetboxSelector)), c.$scaffold.prepend(c.$ancestors), c.$scaffold.append(c.$descendants);\n            var h = f.JSBNG__find(this.attr.viewMoreContainerSelector), i;\n            ((h.length && (i = $(\"\\u003Cli/\\u003E\"), h.appendTo(i), c.$scaffold.append(i), c.$descendants = c.$descendants.add(i))));\n            var j = this.renderInlineTweetbox(c, b.sourceEventData);\n            this.animateTweetOpen({\n                expando: c,\n                complete: function() {\n                    c.open = !0, c.$scaffold.removeClass(this.attr.animating), c.$scaffold.css(\"height\", \"auto\"), this.trigger(c.$tweet, \"uiTimelineNeedsTranslation\"), ((((d && j)) && this.trigger(j, \"uiExpandFocus\")));\n                }.bind(this)\n            }), this.initTweetsInConversation(c), ((g && this.trigger(c.$tweet, \"uiExpandedConversationRendered\")));\n        }, this.renderConversation = function(a, b) {\n            var c = $(a.target).data(\"expando\");\n            if (!c) {\n                return;\n            }\n        ;\n        ;\n            ((c.animating ? c.$scaffold.queue(function() {\n                this.animateConversationEntrance(a, b), c.$scaffold.dequeue();\n            }.bind(this)) : this.animateConversationEntrance(a, b)));\n        }, this.renderInlineTweetbox = function(a, b) {\n            var c, d = a.$scaffold.JSBNG__find(this.attr.inlineReplyTweetBoxFormSelector);\n            ((((d.length === 0)) && (d = $(this.attr.inlineReplyTweetBoxFormCloneSrcSelector).clone(), c = ((\"tweet-box-reply-to-\" + a.$tweet.attr(\"data-tweet-id\"))), d.JSBNG__find(\"textarea\").attr(\"id\", c), d.JSBNG__find(\"label\").attr(\"for\", c), a.$scaffold.JSBNG__find(this.attr.inlineReplyTweetboxSelector).empty(), d.appendTo(a.$scaffold.JSBNG__find(this.attr.inlineReplyTweetboxSelector)))));\n            var e = tweetHelper.extractMentionsForReply(a.$tweet, this.attr.screenName), f = ((((\"@\" + e.join(\" @\"))) + \" \"));\n            b = ((b || {\n            }));\n            var g = {\n                condensable: !0,\n                defaultText: f,\n                condensedText: _(\"Reply to {{screen_names}}\", {\n                    screen_names: f\n                }),\n                inReplyToTweetData: b,\n                inReplyToStatusId: a.$tweet.attr(\"data-tweet-id\"),\n                impressionId: a.$tweet.attr(\"data-impression-id\"),\n                disclosureType: a.$tweet.attr(\"data-disclosure-type\"),\n                eventData: {\n                    scribeContext: {\n                        component: \"tweet_box_inline_reply\"\n                    }\n                }\n            };\n            return ((b.itemType && (g.itemType = b.itemType))), this.trigger(d, \"uiInitTweetbox\", g), d;\n        }, this.renderEmptyConversation = function(a, b) {\n            this.renderConversation(a);\n        }, this.requestActivityPopup = function(a) {\n            var b = $(a.target), c = b.closest(this.attr.targetTweetSelector), d = !!b.closest(this.attr.requestRetweetedSelector).length;\n            a.preventDefault(), a.stopPropagation(), this.trigger(\"uiRequestActivityPopup\", {\n                titleHtml: b.closest(this.attr.targetTitleSelector).attr(\"data-activity-popup-title\"),\n                tweetHtml: $(\"\\u003Cdiv\\u003E\").html(c.clone().removeClass(this.attr.permalinkTweetClasses)).html(),\n                isRetweeted: d\n            });\n        }, this.renderSocialProof = function(a, b) {\n            var c = $(a.target).JSBNG__find(this.attr.socialProofSelector);\n            ((c.JSBNG__find(\".stats\").length || c.append(b.social_proof))), $(a.target).trigger(\"uiHasRenderedTweetSocialProof\");\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(JSBNG__document, \"dataTweetConversationResult\", this.renderConversation), this.JSBNG__on(JSBNG__document, \"dataTweetSocialProofResult\", this.renderSocialProof), this.JSBNG__on(\"click\", {\n                requestRetweetedSelector: this.requestActivityPopup,\n                requestFavoritedSelector: this.requestActivityPopup\n            });\n        });\n    };\n;\n    var expandoHelpers = require(\"app/ui/expando/expando_helpers\"), _ = require(\"core/i18n\"), tweetHelper = require(\"app/utils/tweet_helper\"), Tweets = require(\"app/ui/tweets\"), TweetInjector = require(\"app/ui/tweet_injector\");\n    module.exports = withExpandingSocialActivity;\n});\ndefine(\"app/ui/expando/expanding_tweets\", [\"module\",\"require\",\"exports\",\"core/component\",\"core/utils\",\"app/ui/expando/with_expanding_containers\",\"app/ui/expando/with_expanding_social_activity\",\"app/ui/expando/expando_helpers\",\"app/utils/caret\",], function(module, require, exports) {\n    function expandingTweets() {\n        this.defaultAttrs({\n            playerCardIframeSelector: \".cards-base.cards-multimedia iframe, .card2 iframe\",\n            insideProxyTweet: \".proxy-tweet-container *\",\n            expandingTweetSelector: \".js-stream-tweet\",\n            topLevelTweetSelector: \".js-stream-tweet.original-tweet\",\n            tweetSelector: \".tweet\",\n            detailsSelector: \".js-tweet-details-dropdown\",\n            expansionSelector: \".expansion-container\",\n            expandedContentSelector: \".expanded-content\",\n            expansionClasses: \"expansion-container js-expansion-container animating\",\n            openedTweetClass: \"opened-tweet\",\n            originalTweetClass: \"original-tweet\",\n            withSocialProofClass: \"with-social-proof\",\n            expandoHandleSelector: \".js-open-close-tweet span\",\n            containingItemSelector: \".js-stream-item\",\n            preexpandedOpenTweetSelector: \"li.js-preexpanded div.opened-tweet\",\n            preexpandedTweetClass: \"preexpanded\",\n            expandedIframeDataStash: \"data-expando-iframe-media-url\",\n            jsLinkSelector: \".js-link\",\n            tweetFormSelector: \".tweet-form\",\n            withheldTweetClass: \"withheld-tweet\",\n            jsDetailsSelector: \".js-details\",\n            jsStreamItemSelector: \".js-stream-item\",\n            jsTranslateTweetSelector: \".js-translate-tweet\",\n            openedOriginalTweetSelector: \".js-original-tweet.opened-tweet\",\n            expandedConversationSelector: \".expanded-conversation\",\n            expandedConversationClass: \"expanded-conversation\",\n            inlineReplyTweetBoxSelector: \".inline-reply-tweetbox\",\n            openChildrenSelector: \".ancestor.opened-tweet,.descendant.opened-tweet\",\n            enableAnimation: !0,\n            SCROLL_TOP_OFFSET: 55,\n            MAX_PLAYER_WIDTH_IN_PIXELS: 435,\n            hasConversationModuleClass: \"has-conversation-module\",\n            conversationModuleSelector: \".conversation-module\",\n            conversationRootClass: \"conversation-root\",\n            hadConversationClass: \"had-conversation\",\n            animatingClass: \"animating\"\n        }), this.handleTweetClick = function(a, b) {\n            var c = $(b.el);\n            ((this.shouldExpandWhenTargetIs($(a.target), c) && (a.preventDefault(), ((this.handleConversationExpansion(c) || this.expandTweet(c))))));\n        }, this.handleConversationExpansion = function(a) {\n            if (a.hasClass(this.attr.conversationRootClass)) {\n                return a.trigger(\"uiExpandConversationRoot\"), !0;\n            }\n        ;\n        ;\n            if (a.closest(this.attr.containingItemSelector).hasClass(this.attr.hadConversationClass)) {\n                return a.trigger(\"uiRestoreConversationModule\"), !0;\n            }\n        ;\n        ;\n        }, this.shouldExpandWhenTargetIs = function(a, b) {\n            var c = b.hasClass(this.attr.withheldTweetClass), d = a.is(this.attr.expandoHandleSelector), e = ((a.closest(this.attr.jsDetailsSelector, b).length > 0)), f = ((a.closest(this.attr.jsTranslateTweetSelector, b).length > 0)), g = ((((!a.closest(\"a\", b).length && !a.closest(\"button\", b).length)) && !a.closest(this.attr.jsLinkSelector, b).length));\n            return ((((((((((d || g)) || e)) || f)) && !c)) && !this.selectedText()));\n        }, this.selectedText = function() {\n            return caret.JSBNG__getSelection();\n        }, this.resetCard = function(a, b) {\n            b = ((((b || a.data(\"expando\"))) || this.loadTweet(a)));\n            if (b.auto_expanded) {\n                return;\n            }\n        ;\n        ;\n            var c = this;\n            a.JSBNG__find(this.attr.playerCardIframeSelector).each(function(a, b) {\n                b.setAttribute(c.attr.expandedIframeDataStash, b.src), b.src = \"\";\n            });\n        }, this.expandItem = function(a, b) {\n            this.expandTweet($(a.target).JSBNG__find(this.attr.tweetSelector).eq(0), b);\n        }, this.expandTweetByReply = function(a, b) {\n            var c = $(a.target);\n            c.attr(\"focus-reply\", !0), b.focusReply = !0, this.expandTweet(c, b);\n        }, this.focusReplyTweetbox = function(a) {\n            var b = a.parent().JSBNG__find(this.attr.tweetFormSelector);\n            ((((b.length > 0)) && this.trigger(b, \"uiExpandFocus\")));\n        }, this.expandTweet = function(a, b) {\n            b = ((b || {\n            }));\n            var c = ((a.data(\"expando\") || this.loadTweet(a, b)));\n            if (c.open) {\n                if (b.focusReply) {\n                    this.focusReplyTweetbox(a);\n                    return;\n                }\n            ;\n            ;\n                this.closeTweet(a, c, b);\n            }\n             else this.openTweet(a, c, b);\n        ;\n        ;\n        }, this.collapseTweet = function(a, b) {\n            (($(b).hasClass(this.attr.openedTweetClass) && this.expandTweet($(b), {\n                noAnimation: !0\n            })));\n        }, this.loadTweet = function(a, b) {\n            b = ((b || {\n            }));\n            var c = ((b.expando || expandoHelpers.buildExpandoStruct({\n                $tweet: a,\n                preexpanded: b.preexpanded,\n                openedTweetClass: this.attr.openedTweetClass,\n                expansionSelector: this.attr.expansionSelector,\n                originalClass: this.attr.originalTweetClass,\n                containingSelector: this.attr.containingItemSelector\n            })));\n            a.data(\"expando\", c);\n            var d;\n            this.setOriginalHeight(a, c);\n            if (((((((!c.$descendants.length || !c.$ancestors.length)) || c.preexpanded)) || c.auto_expanded))) {\n                this.scaffoldForAnimation(a, c), delete b.focusReply, this.loadHtmlFragmentsFromAttributes(a, c, b), this.resizePlayerCards(a);\n            }\n        ;\n        ;\n            return c;\n        }, this.setOriginalHeight = function(a, b) {\n            a.removeClass(this.attr.openedTweetClass), b.originalHeight = a.JSBNG__outerHeight(), a.addClass(this.attr.openedTweetClass);\n        }, this.resizePlayerCard = function(a, b) {\n            var c = $(b), d = parseFloat(c.attr(\"width\"));\n            if (((d > this.attr.MAX_PLAYER_WIDTH_IN_PIXELS))) {\n                var e = parseFloat(c.attr(\"height\")), f = ((d / e)), g = ((this.attr.MAX_PLAYER_WIDTH_IN_PIXELS / f));\n                c.attr(\"width\", this.attr.MAX_PLAYER_WIDTH_IN_PIXELS), c.attr(\"height\", Math.floor(g));\n            }\n        ;\n        ;\n        }, this.resizePlayerCards = function(a) {\n            var b = a.JSBNG__find(this.attr.playerCardIframeSelector);\n            b.each(this.resizePlayerCard.bind(this));\n        }, this.loadPreexpandedTweet = function(a, b) {\n            var c = $(b), d = this.loadTweet(c, {\n                preexpanded: !0\n            });\n            this.openTweet(c, d, {\n                skipAnimation: !0\n            });\n            var e = $.trim(c.JSBNG__find(this.attr.expandedContentSelector).html());\n            ((e && c.attr(\"data-expanded-footer\", e))), this.JSBNG__on(b, \"uiHasAddedLegacyMediaIcon\", function() {\n                this.setOriginalHeight(c, d), this.trigger(b, \"uiWantsMediaForTweet\", {\n                });\n            });\n        }, this.createStepFn = function(a) {\n            var b = $(window), c = Math.abs(((a.from - a.to))), d = Math.min(a.from, a.to), e = a.expando.$container.offset().JSBNG__top, f = b.scrollTop(), g = ((((f + this.attr.SCROLL_TOP_OFFSET)) - e)), h = function(a) {\n                var e = ((a - d)), h = ((e / c));\n                ((((g > 0)) && b.scrollTop(((f - ((g * ((1 - h)))))))));\n            };\n            return h;\n        }, this.openTweet = function(a, b, c) {\n            ((b.isTopLevel && this.enterDetachedState(b.$container, c.skipAnimation))), this.beforeOpeningTweet(b);\n            if (((!this.attr.enableAnimation || c.skipAnimation))) {\n                return this.afterOpeningTweet(b);\n            }\n        ;\n        ;\n            this.trigger(a, \"uiHasExpandedTweet\", {\n                organicExpansion: !c.focusReply,\n                impressionId: a.closest(\"[data-impression-id]\").attr(\"data-impression-id\"),\n                disclosureType: a.closest(\"[data-impression-id]\").attr(\"data-disclosure-type\")\n            });\n            var d = {\n                expando: b\n            };\n            ((a.hasClass(this.attr.originalTweetClass) || (d.complete = function() {\n                this.afterOpeningTweet(b);\n            }.bind(this)))), this.animateTweetOpen(d);\n        }, this.beforeOpeningTweet = function(a) {\n            if (a.$tweet.is(this.attr.insideProxyTweet)) {\n                return;\n            }\n        ;\n        ;\n            ((a.auto_expanded || a.$tweet.JSBNG__find(((((\"iframe[\" + this.attr.expandedIframeDataStash)) + \"]\"))).each(function(a, b) {\n                var c = b.getAttribute(this.attr.expandedIframeDataStash);\n                ((!c || (b.src = c)));\n            }.bind(this)))), a.$tweet.addClass(this.attr.openedTweetClass);\n        }, this.afterOpeningTweet = function(a) {\n            if (a.$tweet.is(this.attr.insideProxyTweet)) {\n                return;\n            }\n        ;\n        ;\n            a.open = !0, a.$scaffold.removeClass(this.attr.animatingClass), a.$scaffold.css(\"height\", \"auto\"), a.$container.removeClass(this.attr.preexpandedTweetClass), this.trigger(a.$tweet, \"uiTimelineNeedsTranslation\");\n        }, this.removeExpando = function(a, b) {\n            var c = a.JSBNG__find(this.attr.jsDetailsSelector).is(JSBNG__document.activeElement), d, e;\n            ((((a.closest(\".supplement\").length || !b.isTopLevel)) ? d = b.$scaffold.parent() : d = a.closest(this.attr.jsStreamItemSelector))), ((a.hasClass(this.attr.hasConversationModuleClass) ? (e = a.closest(this.attr.conversationModuleSelector), e.JSBNG__find(\".descendant\").closest(\"li\").remove(), e.JSBNG__find(\".view-more-container\").closest(\"li\").remove(), e.JSBNG__find(this.attr.inlineReplyTweetBoxSelector).remove(), b.$scaffold.css(\"height\", \"auto\"), a.data(\"expando\", null)) : (e = a, d.html(e)))), d.removeClass(\"js-has-navigable-stream\"), ((c && d.JSBNG__find(this.attr.jsDetailsSelector).JSBNG__focus())), this.trigger(d, \"uiSelectItem\", {\n                setFocus: !c\n            });\n        }, this.closeTweet = function(a, b, c) {\n            ((b.isTopLevel && this.exitDetachedState(b.$container, c.noAnimation)));\n            var d = function() {\n                this.resetCard(a, b), b.open = !1, a.removeClass(this.attr.openedTweetClass), b.$scaffold.removeClass(this.attr.animatingClass), this.removeExpando(a, b), this.trigger(a, \"uiHasCollapsedTweet\");\n            }.bind(this), e = this.createStepFn({\n                expando: b,\n                to: b.originalHeight,\n                from: b.$scaffold.height()\n            });\n            b.$scaffold.addClass(this.attr.animatingClass), this.animateTweetClosed({\n                expando: b,\n                complete: d,\n                stepFn: e,\n                noAnimation: c.noAnimation\n            });\n        }, this.hasConversationModule = function(a) {\n            return a.hasClass(this.attr.hasConversationModuleClass);\n        }, this.shouldLoadFullConversation = function(a, b) {\n            return ((((b.isTopLevel && !b.preexpanded)) && !this.hasConversationModule(a)));\n        }, this.loadHtmlFragmentsFromAttributes = function(a, b, c) {\n            ((a.JSBNG__find(this.attr.detailsSelector).children().length || (a.JSBNG__find(this.attr.detailsSelector).append($(a.data(\"expanded-footer\"))), this.trigger(a, \"uiWantsMediaForTweet\"))));\n            var d = utils.merge(c, {\n                fullConversation: this.shouldLoadFullConversation(a, b),\n                descendantsOnly: this.hasConversationModule(a),\n                facepileMax: ((b.isTopLevel ? 7 : 6))\n            });\n            ((((b.isTopLevel && b.preexpanded)) && a.attr(\"data-use-reply-dialog\", \"true\"))), delete d.expando, this.trigger(a, \"uiNeedsTweetExpandedContent\", d);\n        }, this.scaffoldForAnimation = function(a, b) {\n            if (!this.attr.enableAnimation) {\n                return;\n            }\n        ;\n        ;\n            var c = a.JSBNG__find(this.attr.jsDetailsSelector).is(JSBNG__document.activeElement), d;\n            ((c && (d = JSBNG__document.activeElement)));\n            var e, f, g, h = {\n                class: this.attr.expansionClasses,\n                height: b.originalHeight\n            };\n            ((a.closest(this.attr.topLevelTweetSelector).length ? ((a.closest(this.attr.conversationModuleSelector).length ? (e = a.closest(this.attr.conversationModuleSelector), e.addClass(this.attr.expansionClasses), e.height(e.JSBNG__outerHeight()), b.originalHeight = e.JSBNG__outerHeight()) : (h[\"class\"] = [this.attr.expandedConversationClass,this.attr.expansionClasses,\"js-navigable-stream\",].join(\" \"), e = $(\"\\u003Col/\\u003E\", h), e.appendTo(a.parent()), f = $(\"\\u003Cli class=\\\"original-tweet-container\\\"/\\u003E\"), f.appendTo(e), b.$container.addClass(\"js-has-navigable-stream\"), a.appendTo(f), this.trigger(e.JSBNG__find(\".original-tweet-container\"), \"uiSelectItem\", {\n                setFocus: !c\n            })))) : (e = $(\"\\u003Cdiv/\\u003E\", h), e.appendTo(a.parent()), a.appendTo(e), g = e.parent().JSBNG__find(this.attr.inlineReplyTweetBoxSelector), ((g.length && g.appendTo(e)))))), ((d && d.JSBNG__focus())), b.$scaffold = e;\n        }, this.indicateSocialProof = function(a, b) {\n            var c = $(a.target);\n            ((b.social_proof && c.addClass(this.attr.withSocialProofClass)));\n        }, this.closeAllChildTweets = function(a) {\n            a.$scaffold.JSBNG__find(this.attr.openChildrenSelector).each(this.collapseTweet.bind(this));\n        }, this.closeAllTopLevelTweets = function() {\n            expandoHelpers.closeAllButPreserveScroll({\n                $scope: this.$node,\n                openSelector: this.attr.openedOriginalTweetSelector,\n                itemSelector: this.attr.jsStreamItemSelector,\n                callback: this.collapseTweet.bind(this)\n            });\n        }, this.fullyLoadPreexpandedTweets = function() {\n            this.select(\"preexpandedOpenTweetSelector\").each(this.loadPreexpandedTweet.bind(this));\n        }, this.after(\"initialize\", function(a) {\n            this.JSBNG__on(\"dataTweetSocialProofResult\", this.indicateSocialProof), this.JSBNG__on(\"uiShouldToggleExpandedState\", this.expandItem), this.JSBNG__on(\"uiPromotionCardUrlClick\", this.expandItem), this.JSBNG__on(\"click uiExpandTweet\", {\n                expandingTweetSelector: this.handleTweetClick\n            }), this.JSBNG__on(\"expandTweetByReply\", this.expandTweetByReply), this.JSBNG__on(\"uiWantsToCloseAllTweets\", this.closeAllTopLevelTweets), this.JSBNG__on(JSBNG__document, \"uiSwiftLoaded uiPageChanged uiHasInjectedNewTimeline\", this.fullyLoadPreexpandedTweets), this.before(\"teardown\", this.closeAllTopLevelTweets);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), utils = require(\"core/utils\"), withExpandingContainers = require(\"app/ui/expando/with_expanding_containers\"), withExpandingSocialActivity = require(\"app/ui/expando/with_expanding_social_activity\"), expandoHelpers = require(\"app/ui/expando/expando_helpers\"), caret = require(\"app/utils/caret\");\n    module.exports = defineComponent(expandingTweets, withExpandingContainers, withExpandingSocialActivity);\n});\ndefine(\"app/ui/embed_stats\", [\"module\",\"require\",\"exports\",\"app/ui/with_item_actions\",\"core/component\",], function(module, require, exports) {\n    function embedStats() {\n        this.defaultAttrs({\n            permalinkSelector: \".permalink-tweet\",\n            embeddedLinkSelector: \".embed-stats-url-link\",\n            moreButtonSelector: \".embed-stats-more-button\",\n            moreStatsContainerSelector: \".embed-stats-more\",\n            itemType: \"user\"\n        }), this.expandMoreResults = function(a) {\n            this.select(\"moreButtonSelector\").hide(), this.select(\"moreStatsContainerSelector\").show(), this.trigger(\"uiExpandedMoreEmbeddedTweetLinks\", {\n                tweetId: this.tweetId\n            }), a.preventDefault();\n        }, this.clickLink = function(a) {\n            this.trigger(\"uiClickedEmbeddedTweetLink\", {\n                tweetId: this.tweetId,\n                url: (($(a.target).data(\"expanded-url\") || a.target.href))\n            });\n        }, this.after(\"initialize\", function() {\n            this.tweetId = this.select(\"permalinkSelector\").data(\"tweet-id\"), this.JSBNG__on(\"click\", {\n                embeddedLinkSelector: this.clickLink,\n                moreButtonSelector: this.expandMoreResults\n            });\n        });\n    };\n;\n    var withItemActions = require(\"app/ui/with_item_actions\"), defineComponent = require(\"core/component\");\n    module.exports = defineComponent(embedStats, withItemActions);\n});\ndefine(\"app/data/url_resolver\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_data\",], function(module, require, exports) {\n    function urlResolver() {\n        this.resolveLink = function(a, b) {\n            JSBNG__clearTimeout(this.batch);\n            var c = this.linksToResolve[b.url];\n            c = ((c || [])), c.push(a.target), this.linksToResolve[b.url] = c, this.batch = JSBNG__setTimeout(this.sendBatchRequest.bind(this), 0);\n        }, this.sendBatchRequest = function() {\n            var a = Object.keys(this.linksToResolve);\n            if (((a.length === 0))) {\n                return;\n            }\n        ;\n        ;\n            this.get({\n                data: {\n                    urls: a\n                },\n                eventData: {\n                },\n                url: \"/i/resolve.json\",\n                headers: {\n                    \"X-PHX\": !0\n                },\n                type: \"JSON\",\n                success: this.handleBatch.bind(this),\n                error: \"dataBatchRequestError\"\n            });\n        }, this.handleBatch = function(a) {\n            delete a.sourceEventData, Object.keys(a).forEach(function(b) {\n                ((this.linksToResolve[b] && this.linksToResolve[b].forEach(function(c) {\n                    this.trigger(c, \"dataDidResolveUrl\", {\n                        url: a[b]\n                    });\n                }, this))), delete this.linksToResolve[b];\n            }, this);\n        }, this.after(\"initialize\", function() {\n            this.linksToResolve = {\n            }, this.JSBNG__on(\"uiWantsLinkResolution\", this.resolveLink);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withData = require(\"app/data/with_data\"), UrlResolver = defineComponent(urlResolver, withData);\n    module.exports = UrlResolver;\n});\ndefine(\"app/ui/media/with_native_media\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n    function withNativeMedia() {\n        this.defaultAttrs({\n            expandedContentHolderWithPreloadableMedia: \"div[data-expanded-footer].has-preloadable-media\"\n        }), this.preloadEmbeddedMedia = function(a) {\n            $(a.target).JSBNG__find(this.attr.expandedContentHolderWithPreloadableMedia).each(function(a, b) {\n                $(\"\\u003Cdiv/\\u003E\").append($(b).data(\"expanded-footer\")).remove();\n            });\n        }, this.after(\"initialize\", function() {\n            this.preloadEmbeddedMedia({\n                target: this.$node\n            }), this.JSBNG__on(\"uiHasInjectedTimelineItem\", this.preloadEmbeddedMedia);\n        });\n    };\n;\n    module.exports = withNativeMedia;\n});\nprovide(\"app/ui/media/media_tweets\", function(a) {\n    using(\"core/component\", \"app/ui/media/with_legacy_media\", \"app/ui/media/with_native_media\", function(b, c, d) {\n        var e = b(c, d);\n        a(e);\n    });\n});\ndefine(\"app/data/trends\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/utils/setup_polling_with_backoff\",\"app/data/with_data\",], function(module, require, exports) {\n    function trendsData() {\n        this.defaultAttrs({\n            src: \"module\",\n            $backoffNode: $(window),\n            trendsPollingOptions: {\n                focusedInterval: 300000,\n                blurredInterval: 1200000,\n                eventData: {\n                    source: \"clock\"\n                }\n            }\n        }), this.makeTrendsRequest = function(a) {\n            var b = a.woeid, c = a.source, d = function(a) {\n                a.source = c, this.trigger(\"dataTrendsRefreshed\", a);\n            };\n            this.get({\n                url: \"/trends\",\n                eventData: a,\n                data: {\n                    k: this.currentCacheKey,\n                    woeid: b,\n                    pc: !0,\n                    personalized: a.personalized,\n                    src: this.attr.src\n                },\n                success: d.bind(this),\n                error: \"dataTrendsRefreshedError\"\n            });\n        }, this.makeTrendsDialogRequest = function(a, b) {\n            var c = {\n                woeid: a.woeid,\n                personalized: a.personalized,\n                pc: !0\n            }, d = function(a) {\n                this.trigger(\"dataGotTrendsDialog\", a), ((((this.currentWoeid && ((this.currentWoeid !== a.woeid)))) && this.trigger(\"dataTrendsLocationChanged\"))), this.currentWoeid = a.woeid, ((a.trends_cache_key && (this.currentCacheKey = a.trends_cache_key, this.trigger(\"dataPageMutated\")))), ((a.module_html && this.trigger(\"dataTrendsRefreshed\", a)));\n            }, e = ((b ? this.post : this.get));\n            e.call(this, {\n                url: \"/trends/dialog\",\n                eventData: a,\n                data: c,\n                success: d.bind(this),\n                error: \"dataGotTrendsDialogError\"\n            });\n        }, this.changeTrendsLocation = function(a, b) {\n            this.makeTrendsDialogRequest(b, !0);\n        }, this.refreshTrends = function(a, b) {\n            b = ((b || {\n            })), this.makeTrendsRequest(b);\n        }, this.getTrendsDialog = function(a, b) {\n            b = ((b || {\n            })), this.makeTrendsDialogRequest(b);\n        }, this.updateTrendsCacheKey = function(a, b) {\n            this.currentCacheKey = b.trendsCacheKey;\n        }, this.after(\"initialize\", function(a) {\n            this.currentCacheKey = a.trendsCacheKey, this.timer = setupPollingWithBackoff(\"uiRefreshTrends\", this.attr.$backoffNode, this.attr.trendsPollingOptions), this.JSBNG__on(\"uiWantsTrendsDialog\", this.getTrendsDialog), this.JSBNG__on(\"uiChangeTrendsLocation\", this.changeTrendsLocation), this.JSBNG__on(\"uiRefreshTrends\", this.refreshTrends), this.JSBNG__on(\"dataTempTrendsCacheKeyChanged\", this.updateTrendsCacheKey);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), setupPollingWithBackoff = require(\"app/utils/setup_polling_with_backoff\"), withData = require(\"app/data/with_data\");\n    module.exports = defineComponent(trendsData, withData);\n});\ndefine(\"app/data/trends/location_dialog\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_data\",], function(module, require, exports) {\n    function trendsLocationDialogData() {\n        this.getTrendsLocationDialog = function(a, b) {\n            var c = function(a) {\n                this.trigger(\"dataGotTrendsLocationDialog\", a), ((a.trendLocations && this.trigger(\"dataLoadedTrendLocations\", {\n                    trendLocations: a.trendLocations\n                })));\n            };\n            this.get({\n                url: \"/trends/location_dialog\",\n                eventData: b,\n                success: c.bind(this),\n                error: \"dataGotTrendsLocationDialogError\"\n            });\n        }, this.updateTrendsLocation = function(a, b) {\n            var c = ((b.JSBNG__location || {\n            })), d = {\n                woeid: c.woeid,\n                personalized: b.personalized,\n                pc: !0\n            }, e = function(a) {\n                this.trigger(\"dataChangedTrendLocation\", {\n                    personalized: a.personalized,\n                    JSBNG__location: c\n                }), ((a.trends_cache_key && (this.trigger(\"dataTempTrendsCacheKeyChanged\", {\n                    trendsCacheKey: a.trends_cache_key\n                }), this.trigger(\"dataPageMutated\")))), ((a.module_html && this.trigger(\"dataTrendsRefreshed\", a)));\n            };\n            this.post({\n                url: \"/trends/dialog\",\n                eventData: b,\n                data: d,\n                success: e.bind(this),\n                error: \"dataGotTrendsLocationDialogError\"\n            });\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"uiWantsTrendsLocationDialog\", this.getTrendsLocationDialog), this.JSBNG__on(\"uiChangeLocation\", this.updateTrendsLocation);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withData = require(\"app/data/with_data\");\n    module.exports = defineComponent(trendsLocationDialogData, withData);\n});\ndefine(\"app/data/trends/recent_locations\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/utils/storage/custom\",\"app/data/with_data\",], function(module, require, exports) {\n    function trendsRecentLocations() {\n        this.defaultAttrs({\n            storageName: \"recent_trend_locations\",\n            storageKey: \"locations\",\n            maxRecentLocations: 5\n        }), this.initializeStorage = function() {\n            var a = customStorage({\n                withArray: !0,\n                withMaxElements: !0\n            });\n            this.storage = new a(this.attr.storageName), this.storage.setMaxElements(this.attr.storageKey, this.attr.maxRecentLocations);\n        }, this.getRecentTrendLocations = function() {\n            this.trigger(\"dataGotRecentTrendLocations\", {\n                trendLocations: this.storage.getArray(this.attr.storageKey)\n            });\n        }, this.saveRecentLocation = function(a, b) {\n            var c = ((b.JSBNG__location || {\n            }));\n            if (((!c.woeid || this.hasRecentLocation(c.woeid)))) {\n                return;\n            }\n        ;\n        ;\n            this.storage.push(this.attr.storageKey, c), this.getRecentTrendLocations();\n        }, this.hasRecentLocation = function(a) {\n            var b = this.storage.getArray(this.attr.storageKey);\n            return b.some(function(b) {\n                return ((b.woeid === a));\n            });\n        }, this.after(\"initialize\", function() {\n            this.initializeStorage(), this.JSBNG__on(\"uiWantsRecentTrendLocations\", this.getRecentTrendLocations), this.JSBNG__on(\"dataChangedTrendLocation\", this.saveRecentLocation);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), customStorage = require(\"app/utils/storage/custom\"), withData = require(\"app/data/with_data\");\n    module.exports = defineComponent(trendsRecentLocations, withData);\n});\ndefine(\"app/utils/scribe_event_initiators\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n    module.exports = {\n        clientSideUser: 0,\n        serverSideUser: 1,\n        clientSideApp: 2,\n        serverSideApp: 3\n    };\n});\ndefine(\"app/data/trends_scribe\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_scribe\",\"app/utils/scribe_item_types\",\"app/utils/scribe_event_initiators\",], function(module, require, exports) {\n    function trendsScribe() {\n        this.scribeTrendClick = function(a, b) {\n            this.scribe(\"search\", b);\n        }, this.scribeTrendsResults = function(a, b) {\n            var c = [], d = ((b.initial ? \"initial\" : \"newer\")), e = {\n                element: d,\n                action: ((((b.items && b.items.length)) ? \"results\" : \"no_results\"))\n            }, f = {\n                referring_event: d\n            }, g = !1;\n            f.items = b.items.map(function(a, b) {\n                var c = {\n                    JSBNG__name: a.JSBNG__name,\n                    item_type: itemTypes.trend,\n                    item_query: a.JSBNG__name,\n                    position: b\n                };\n                return ((a.promotedTrendId && (c.promoted_id = a.promotedTrendId, g = !0))), c;\n            }), ((g && (f.promoted = g))), ((((b.source === \"clock\")) && (f.event_initiator = eventInitiators.clientSideApp))), this.scribe(e, b, f), ((b.initial && this.scribeTrendsImpression(b)));\n        }, this.scribeTrendsImpression = function(a) {\n            this.scribe(\"impression\", a);\n        }, this.after(\"initialize\", function() {\n            this.scribeOnEvent(\"uiTrendsDialogOpened\", \"open\"), this.JSBNG__on(\"uiTrendSelected\", this.scribeTrendClick), this.JSBNG__on(\"uiTrendsDisplayed\", this.scribeTrendsResults);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withScribe = require(\"app/data/with_scribe\"), itemTypes = require(\"app/utils/scribe_item_types\"), eventInitiators = require(\"app/utils/scribe_event_initiators\");\n    module.exports = defineComponent(trendsScribe, withScribe);\n});\ndefine(\"app/ui/trends/trends\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/ddg\",\"app/utils/scribe_item_types\",\"app/ui/with_tweet_actions\",\"app/ui/with_item_actions\",], function(module, require, exports) {\n    function trendsModule() {\n        this.defaultAttrs({\n            changeLinkSelector: \".change-trends\",\n            trendsInnerSelector: \".trends-inner\",\n            trendItemSelector: \".js-trend-item\",\n            promotedTweetProofSelector: \".tweet-proof-container.promoted-tweet\",\n            trendLinkItemSelector: \".js-trend-item a\",\n            eventTrendClass: \"event-trend\",\n            itemType: \"trend\"\n        }), this.openChangeTrendsDialog = function(a) {\n            this.trigger(\"uiShowTrendsLocationDialog\"), a.preventDefault();\n        }, this.updateModuleContent = function(a, b) {\n            var c = this.$node.hasClass(\"hidden\"), d = b.source;\n            this.select(\"trendsInnerSelector\").html(b.module_html), this.currentWoeid = b.woeid, this.$node.removeClass(\"hidden\");\n            var e = this.getTrendData(this.select(\"trendItemSelector\"));\n            this.trigger(\"uiTrendsDisplayed\", {\n                items: e,\n                initial: c,\n                source: d,\n                scribeData: {\n                    woeid: this.currentWoeid\n                }\n            });\n            var f = this.getPromotedTweetProofData(this.select(\"promotedTweetProofSelector\"));\n            this.trigger(\"uiTweetsDisplayed\", {\n                tweets: f\n            });\n        }, this.trendSelected = function(a, b) {\n            var c = $(b.el).closest(this.attr.trendItemSelector), d = this.getTrendData(c)[0], e = c.index(), f = {\n                JSBNG__name: d.JSBNG__name,\n                item_query: d.JSBNG__name,\n                position: e,\n                item_type: itemTypes.trend\n            }, g = {\n                position: e,\n                query: d.JSBNG__name,\n                url: c.JSBNG__find(\"a\").attr(\"href\"),\n                woeid: this.currentWoeid\n            };\n            ((d.promotedTrendId && (f.promoted_id = d.promotedTrendId, g.promoted = !0))), g.items = [f,], this.trigger(\"uiTrendSelected\", {\n                isPromoted: !!d.promotedTrendId,\n                promotedTrendId: d.promotedTrendId,\n                scribeContext: {\n                    element: \"trend\"\n                },\n                scribeData: g\n            }), this.trackTrendSelected(!!d.promotedTrendId, c.hasClass(this.attr.eventTrendClass));\n        }, this.trackTrendSelected = function(a, b) {\n            var c = ((b ? \"event_trend_click\" : ((a ? \"promoted_trend_click\" : \"trend_click\"))));\n            ddg.track(\"olympic_trends_320\", c);\n        }, this.getTrendData = function(a) {\n            return a.map(function() {\n                var a = $(this);\n                return {\n                    JSBNG__name: a.data(\"trend-name\"),\n                    promotedTrendId: a.data(\"promoted-trend-id\"),\n                    trendingEvent: a.hasClass(\"event-trend\")\n                };\n            }).toArray();\n        }, this.getPromotedTweetProofData = function(a) {\n            return a.map(function(a, b) {\n                return {\n                    impressionId: $(b).data(\"impression-id\")\n                };\n            }).toArray();\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(JSBNG__document, \"dataTrendsRefreshed\", this.updateModuleContent), this.JSBNG__on(\"click\", {\n                changeLinkSelector: this.openChangeTrendsDialog,\n                trendLinkItemSelector: this.trendSelected\n            }), this.trigger(\"uiRefreshTrends\");\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), ddg = require(\"app/data/ddg\"), itemTypes = require(\"app/utils/scribe_item_types\"), withTweetActions = require(\"app/ui/with_tweet_actions\"), withItemActions = require(\"app/ui/with_item_actions\");\n    module.exports = defineComponent(trendsModule, withTweetActions, withItemActions);\n});\ndefine(\"app/ui/trends/trends_dialog\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/with_dialog\",\"app/ui/with_position\",], function(module, require, exports) {\n    function trendsDialog() {\n        this.defaultAttrs({\n            contentSelector: \"#trends_dialog_content\",\n            trendItemSelector: \".js-trend-link\",\n            toggleSelector: \".customize-by-location\",\n            personalizedSelector: \".trends-personalized\",\n            byLocationSelector: \".trends-by-location\",\n            doneSelector: \".done\",\n            selectDefaultSelector: \".select-default\",\n            errorSelector: \".trends-dialog-error p\",\n            loadingSelector: \".loading\",\n            deciderPersonalizedTrends: !1\n        }), this.openTrendsDialog = function(a, b) {\n            this.trigger(\"uiTrendsDialogOpened\"), ((this.hasContent() ? this.selectActiveView() : this.trigger(\"uiWantsTrendsDialog\"))), this.$node.removeClass(\"has-error\"), this.open();\n        }, this.showPersonalizedView = function() {\n            this.select(\"byLocationSelector\").hide(), this.select(\"personalizedSelector\").show();\n        }, this.showLocationView = function() {\n            this.select(\"personalizedSelector\").hide(), this.select(\"byLocationSelector\").show();\n        }, this.updateDialogContent = function(a, b) {\n            var c = ((this.personalized && b.personalized));\n            this.personalized = b.personalized, this.currentWoeid = b.woeid;\n            if (((c && !this.hasError()))) {\n                return;\n            }\n        ;\n        ;\n            this.select(\"contentSelector\").html(b.dialog_html), this.selectActiveView(), ((!b.personalized && this.markSelected(b.woeid)));\n        }, this.selectActiveView = function() {\n            ((this.isPersonalized() ? this.showPersonalizedView() : this.showLocationView()));\n        }, this.showError = function(a, b) {\n            this.select(\"byLocationSelector\").hide(), this.select(\"personalizedSelector\").hide(), this.$node.addClass(\"has-error\"), this.select(\"errorSelector\").html(b.message);\n        }, this.hasContent = function() {\n            return ((((this.select(\"loadingSelector\").length == 0)) && !this.hasError()));\n        }, this.hasError = function() {\n            return this.$node.hasClass(\"has-error\");\n        }, this.markSelected = function(a) {\n            this.select(\"trendItemSelector\").removeClass(\"selected\").filter(((((\"[data-woeid=\" + a)) + \"]\"))).addClass(\"selected\");\n        }, this.clearSelectedBreadcrumb = function() {\n            this.select(\"selectedBreadCrumbSelector\").removeClass(\"checkmark\");\n        }, this.changeSelectedItem = function(a, b) {\n            var c = $(b.el).data(\"woeid\");\n            if (((this.isPersonalized() || ((c !== this.currentWoeid))))) {\n                this.markSelected(c), this.trigger(\"uiChangeTrendsLocation\", {\n                    woeid: c\n                });\n            }\n        ;\n        ;\n            a.preventDefault();\n        }, this.selectDefault = function(a, b) {\n            var c = !!$(a.target).data(\"personalized\"), b = {\n            };\n            ((c ? b.personalized = !0 : b.woeid = 1)), this.trigger(\"uiChangeTrendsLocation\", b), this.close();\n        }, this.toggleView = function(a, b) {\n            ((this.select(\"personalizedSelector\").is(\":visible\") ? this.showLocationView() : this.showPersonalizedView()));\n        }, this.isPersonalized = function() {\n            return ((this.attr.deciderPersonalizedTrends && this.personalized));\n        }, this.after(\"initialize\", function() {\n            this.select(\"byLocationSelector\").hide(), this.select(\"personalizedSelector\").hide(), this.JSBNG__on(JSBNG__document, \"uiShowTrendsLocationDialog\", this.openTrendsDialog), this.JSBNG__on(JSBNG__document, \"dataGotTrendsDialog\", this.updateDialogContent), this.JSBNG__on(JSBNG__document, \"dataGotTrendsDialogError\", this.showError), this.JSBNG__on(\"click\", {\n                trendItemSelector: this.changeSelectedItem,\n                toggleSelector: this.toggleView,\n                doneSelector: this.close,\n                selectDefaultSelector: this.selectDefault\n            });\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withDialog = require(\"app/ui/with_dialog\"), withPosition = require(\"app/ui/with_position\");\n    module.exports = defineComponent(trendsDialog, withDialog, withPosition);\n});\ndefine(\"app/ui/trends/dialog/with_location_info\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n    function withLocationInfo() {\n        this.defaultAttrs({\n            JSBNG__location: {\n            },\n            personalized: !1\n        }), this.setLocationInfo = function(a, b) {\n            this.personalized = !!b.personalized, this.JSBNG__location = ((b.JSBNG__location || {\n            })), this.trigger(\"uiLocationInfoUpdated\");\n        }, this.changeLocationInfo = function(a) {\n            this.trigger(\"uiChangeLocation\", {\n                JSBNG__location: a\n            });\n        }, this.setPersonalizedTrends = function() {\n            this.trigger(\"uiChangeLocation\", {\n                personalized: !0\n            });\n        }, this.before(\"initialize\", function() {\n            this.personalized = this.attr.personalized, this.JSBNG__location = this.attr.JSBNG__location;\n        }), this.after(\"initialize\", function() {\n            this.JSBNG__on(JSBNG__document, \"dataChangedTrendLocation\", this.setLocationInfo);\n        });\n    };\n;\n    module.exports = withLocationInfo;\n});\ndefine(\"app/ui/trends/dialog/location_dropdown\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/trends/dialog/with_location_info\",], function(module, require, exports) {\n    function trendsLocationDropdown() {\n        this.defaultAttrs({\n            regionsSelector: \"select[name=\\\"regions\\\"]\",\n            citiesSelector: \"select[name=\\\"cities\\\"]\"\n        }), this.initializeCities = function() {\n            this.citiesByRegionWoeid = {\n            };\n            var a = this.$cities.JSBNG__find(\"option\");\n            a.each(function(a, b) {\n                var c = $(b), d = c.data(\"woeid\");\n                ((this.citiesByRegionWoeid[d] || (this.citiesByRegionWoeid[d] = []))), this.citiesByRegionWoeid[d].push(c);\n            }.bind(this));\n        }, this.updateDropdown = function() {\n            var a = this.$regions.val(), b = ((this.citiesByRegionWoeid[a] || \"\"));\n            this.$cities.empty(), this.$cities.html(b);\n        }, this.updateRegion = function() {\n            this.updateDropdown();\n            var a = this.$cities.children().first();\n            ((a.length && (a.prop(\"selected\", !0), a.change())));\n        }, this.updateCity = function() {\n            var a = this.$cities.JSBNG__find(\"option:selected\"), b = parseInt(a.val(), 10), c = a.data(\"JSBNG__name\");\n            this.currentSelection = b, this.changeLocationInfo({\n                woeid: b,\n                JSBNG__name: c\n            });\n        }, this.possiblyClearSelection = function() {\n            ((((this.currentSelection != this.JSBNG__location.woeid)) && this.reset()));\n        }, this.reset = function() {\n            this.currentSelection = null;\n            var a = this.$regions.JSBNG__find(\"option[value=\\\"\\\"]\");\n            a.prop(\"selected\", !0), this.updateDropdown();\n        }, this.after(\"initialize\", function() {\n            this.$regions = this.select(\"regionsSelector\"), this.$cities = this.select(\"citiesSelector\"), this.initializeCities(), this.JSBNG__on(this.$regions, \"change\", this.updateRegion), this.JSBNG__on(this.$cities, \"change\", this.updateCity), this.JSBNG__on(JSBNG__document, \"uiTrendsDialogReset\", this.reset), this.JSBNG__on(\"uiLocationInfoUpdated\", this.possiblyClearSelection), this.updateDropdown();\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withLocationInfo = require(\"app/ui/trends/dialog/with_location_info\");\n    module.exports = defineComponent(trendsLocationDropdown, withLocationInfo);\n});\ndefine(\"app/ui/trends/dialog/location_search\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/trends/dialog/with_location_info\",\"app/ui/typeahead/typeahead_dropdown\",\"app/ui/typeahead/typeahead_input\",], function(module, require, exports) {\n    function trendsLocationSearch() {\n        this.defaultAttrs({\n            inputSelector: \"input.trends-location-search-input\"\n        }), this.executeTypeaheadSelection = function(a, b) {\n            if (((b.item.woeid == -1))) {\n                this.trigger(\"uiTrendsLocationSearchNoResults\");\n                return;\n            }\n        ;\n        ;\n            this.currentSelection = b.item, this.changeLocationInfo({\n                woeid: b.item.woeid,\n                JSBNG__name: b.item.JSBNG__name\n            });\n        }, this.possiblyClearSelection = function() {\n            ((((this.currentSelection && ((this.currentSelection.woeid != this.JSBNG__location.woeid)))) && this.reset()));\n        }, this.reset = function(a, b) {\n            this.currentSelection = null, this.$input.val(\"\");\n        }, this.after(\"initialize\", function() {\n            this.$input = this.select(\"inputSelector\"), this.JSBNG__on(\"uiTypeaheadItemSelected uiTypeaheadItemComplete\", this.executeTypeaheadSelection), this.JSBNG__on(\"uiLocationInfoUpdated\", this.possiblyClearSelection), this.JSBNG__on(JSBNG__document, \"uiTrendsDialogReset\", this.reset), TypeaheadInput.attachTo(this.$node, {\n                inputSelector: this.attr.inputSelector\n            }), TypeaheadDropdown.attachTo(this.$node, {\n                inputSelector: this.attr.inputSelector,\n                blockLinkActions: !0,\n                datasourceRenders: [[\"trendLocations\",[\"trendLocations\",],],],\n                deciders: this.attr.typeaheadData,\n                eventData: {\n                    scribeContext: {\n                        component: \"trends_location_search\"\n                    }\n                }\n            });\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withLocationInfo = require(\"app/ui/trends/dialog/with_location_info\"), TypeaheadDropdown = require(\"app/ui/typeahead/typeahead_dropdown\"), TypeaheadInput = require(\"app/ui/typeahead/typeahead_input\");\n    module.exports = defineComponent(trendsLocationSearch, withLocationInfo);\n});\ndefine(\"app/ui/trends/dialog/current_location\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/trends/dialog/with_location_info\",], function(module, require, exports) {\n    function trendsCurrentLocation() {\n        this.defaultAttrs({\n            personalizedSelector: \".js-location-personalized\",\n            nonpersonalizedSelector: \".js-location-nonpersonalized\",\n            currentLocationSelector: \".current-location\"\n        }), this.updateView = function() {\n            var a = !!this.personalized;\n            ((a || this.select(\"currentLocationSelector\").text(this.JSBNG__location.JSBNG__name))), this.select(\"nonpersonalizedSelector\").toggle(!a), this.select(\"personalizedSelector\").toggle(a);\n        }, this.after(\"initialize\", function() {\n            this.updateView(), this.JSBNG__on(\"uiLocationInfoUpdated\", this.updateView);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withLocationInfo = require(\"app/ui/trends/dialog/with_location_info\");\n    module.exports = defineComponent(trendsCurrentLocation, withLocationInfo);\n});\ndefine(\"app/ui/trends/dialog/with_location_list_picker\", [\"module\",\"require\",\"exports\",\"core/compose\",\"app/ui/trends/dialog/with_location_info\",], function(module, require, exports) {\n    function withLocationListPicker() {\n        compose.mixin(this, [withLocationInfo,]), this.defaultAttrs({\n            locationSelector: \".trend-location-picker-item\",\n            selectedAttr: \"selected\"\n        }), this.selectLocation = function(a, b) {\n            a.preventDefault();\n            var c = $(b.el), d = {\n                woeid: c.data(\"woeid\"),\n                JSBNG__name: c.data(\"JSBNG__name\")\n            };\n            this.changeLocationInfo(d), this.showSelected(d.woeid, !1);\n        }, this.showSelected = function(a, b) {\n            var c = this.select(\"locationSelector\");\n            c.removeClass(this.attr.selectedAttr), ((((!b && a)) && c.filter(((((\"[data-woeid=\\\"\" + a)) + \"\\\"]\"))).addClass(this.attr.selectedAttr)));\n        }, this.locationInfoUpdated = function() {\n            this.showSelected(this.JSBNG__location.woeid, this.personalized);\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"uiLocationInfoUpdated\", this.locationInfoUpdated), this.JSBNG__on(\"click\", {\n                locationSelector: this.selectLocation\n            }), this.showSelected(this.JSBNG__location.woeid, this.personalized);\n        });\n    };\n;\n    var compose = require(\"core/compose\"), withLocationInfo = require(\"app/ui/trends/dialog/with_location_info\");\n    module.exports = withLocationListPicker;\n});\ndefine(\"app/ui/trends/dialog/nearby_trends\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/trends/dialog/with_location_list_picker\",], function(module, require, exports) {\n    function trendsNearby() {\n    \n    };\n;\n    var defineComponent = require(\"core/component\"), withLocationListPicker = require(\"app/ui/trends/dialog/with_location_list_picker\");\n    module.exports = defineComponent(trendsNearby, withLocationListPicker);\n});\ndefine(\"app/ui/trends/dialog/recent_trends\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/trends/dialog/with_location_list_picker\",], function(module, require, exports) {\n    function trendsRecent() {\n        this.defaultAttrs({\n            listContainerSelector: \".trend-location-picker\"\n        }), this.loadTrendLocations = function(a, b) {\n            var c = b.trendLocations;\n            this.$list.empty(), c.forEach(function(a) {\n                var b = this.$template.clone(!1), c = b.JSBNG__find(\"button\");\n                c.text(a.JSBNG__name), c.attr(\"data-woeid\", a.woeid), c.attr(\"data-name\", a.JSBNG__name), this.$list.append(b);\n            }, this), this.$node.toggle(((c.length > 0)));\n        }, this.after(\"initialize\", function() {\n            this.$list = this.select(\"listContainerSelector\"), this.$template = this.$list.JSBNG__find(\"li:first\").clone(!1), this.JSBNG__on(JSBNG__document, \"dataGotRecentTrendLocations\", this.loadTrendLocations), this.trigger(\"uiWantsRecentTrendLocations\");\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withLocationListPicker = require(\"app/ui/trends/dialog/with_location_list_picker\");\n    module.exports = defineComponent(trendsRecent, withLocationListPicker);\n});\ndefine(\"app/ui/trends/dialog/dialog\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/with_dialog\",\"app/ui/with_position\",\"app/ui/trends/dialog/location_dropdown\",\"app/ui/trends/dialog/location_search\",\"app/ui/trends/dialog/current_location\",\"app/ui/trends/dialog/nearby_trends\",\"app/ui/trends/dialog/recent_trends\",\"app/ui/trends/dialog/with_location_info\",], function(module, require, exports) {\n    function trendsLocationDialog() {\n        this.defaultAttrs({\n            contentSelector: \"#trends_dialog_content\",\n            quickSelectSelector: \"#trend-locations-quick-select\",\n            dropdownSelector: \"#trend-locations-dropdown-select\",\n            personalizedSelector: \".trends-personalized\",\n            nonPersonalizedSelector: \".trends-by-location\",\n            changeTrendsSelector: \".customize-by-location\",\n            showDropdownSelector: \".js-show-dropdown-select\",\n            showQuickSelectSelector: \".js-show-quick-select\",\n            searchSelector: \".trends-search-locations\",\n            nearbySelector: \".trends-nearby-locations\",\n            recentSelector: \".trends-recent-locations\",\n            currentLocationSelector: \".trends-current-location\",\n            loadingSelector: \"#trend-locations-loading\",\n            defaultSelector: \".select-default\",\n            doneSelector: \".done\",\n            errorSelector: \".trends-dialog-error p\",\n            errorClass: \"has-error\"\n        }), this.JSBNG__openDialog = function(a, b) {\n            this.trigger(\"uiTrendsDialogOpened\"), ((this.initialized ? this.setCurrentView() : (this.trigger(\"uiWantsTrendsLocationDialog\"), this.initialized = !0))), this.$node.removeClass(\"has-error\"), this.open();\n        }, this.setCurrentView = function() {\n            ((this.personalized ? this.showPersonalizedView() : this.showNonpersonalizedView()));\n        }, this.showPersonalizedView = function() {\n            this.select(\"nonPersonalizedSelector\").hide(), this.select(\"personalizedSelector\").show();\n        }, this.showNonpersonalizedView = function() {\n            this.select(\"personalizedSelector\").hide(), this.select(\"nonPersonalizedSelector\").show();\n        }, this.showQuickSelectContainer = function(a, b) {\n            this.showNonpersonalizedView(), this.select(\"dropdownSelector\").hide(), this.select(\"quickSelectSelector\").show();\n        }, this.showDropdownContainer = function(a, b) {\n            this.showNonpersonalizedView(), this.select(\"quickSelectSelector\").hide(), this.select(\"dropdownSelector\").show();\n        }, this.hideViews = function() {\n            this.select(\"personalizedSelector\").hide(), this.select(\"nonPersonalizedSelector\").hide();\n        }, this.showError = function(a, b) {\n            this.hideViews(), this.hideLoading(), this.initialized = !1, this.$node.addClass(this.attr.errorClass), this.select(\"errorSelector\").html(b.message);\n        }, this.selectDefault = function(a, b) {\n            var c = $(a.target), d = !!c.data(\"personalized\");\n            ((d ? this.setPersonalizedTrends() : this.changeLocationInfo({\n                JSBNG__name: c.data(\"JSBNG__name\"),\n                woeid: c.data(\"woeid\")\n            }))), this.close();\n        }, this.reset = function(a, b) {\n            this.showQuickSelectContainer(), this.trigger(\"uiTrendsDialogReset\");\n        }, this.initializeDialog = function(a, b) {\n            this.select(\"contentSelector\").html(b.dialog_html), this.setLocationInfo(a, b), this.initializeComponents(), this.setCurrentView();\n        }, this.showLoading = function() {\n            this.select(\"loadingSelector\").show();\n        }, this.hideLoading = function() {\n            this.select(\"loadingSelector\").hide();\n        }, this.initializeComponents = function(a, b) {\n            CurrentLocation.attachTo(this.attr.currentLocationSelector, {\n                JSBNG__location: this.JSBNG__location,\n                personalized: this.personalized\n            }), LocationSearch.attachTo(this.attr.searchSelector, {\n                typeaheadData: this.attr.typeaheadData\n            }), LocationDropdown.attachTo(this.attr.dropdownSelector), NearbyTrends.attachTo(this.attr.nearbySelector, {\n                JSBNG__location: this.JSBNG__location,\n                personalized: this.personalized\n            }), RecentTrends.attachTo(this.attr.recentSelector, {\n                JSBNG__location: this.JSBNG__location,\n                personalized: this.personalized\n            });\n        }, this.after(\"initialize\", function() {\n            this.hideViews(), this.JSBNG__on(\"uiChangeLocation\", this.showLoading), this.JSBNG__on(\"uiTrendsLocationSearchNoResults\", this.showDropdownContainer), this.JSBNG__on(JSBNG__document, \"uiShowTrendsLocationDialog\", this.JSBNG__openDialog), this.JSBNG__on(JSBNG__document, \"uiDialogClosed\", this.reset), this.JSBNG__on(JSBNG__document, \"dataGotTrendsLocationDialog\", this.initializeDialog), this.JSBNG__on(JSBNG__document, \"dataGotTrendsLocationDialogError\", this.showError), this.JSBNG__on(\"uiLocationInfoUpdated\", this.hideLoading), this.JSBNG__on(\"click\", {\n                doneSelector: this.close,\n                defaultSelector: this.selectDefault,\n                changeTrendsSelector: this.showNonpersonalizedView,\n                showDropdownSelector: this.showDropdownContainer,\n                showQuickSelectSelector: this.showQuickSelectContainer\n            });\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withDialog = require(\"app/ui/with_dialog\"), withPosition = require(\"app/ui/with_position\"), LocationDropdown = require(\"app/ui/trends/dialog/location_dropdown\"), LocationSearch = require(\"app/ui/trends/dialog/location_search\"), CurrentLocation = require(\"app/ui/trends/dialog/current_location\"), NearbyTrends = require(\"app/ui/trends/dialog/nearby_trends\"), RecentTrends = require(\"app/ui/trends/dialog/recent_trends\"), withLocationInfo = require(\"app/ui/trends/dialog/with_location_info\");\n    module.exports = defineComponent(trendsLocationDialog, withDialog, withPosition, withLocationInfo);\n});\ndefine(\"app/boot/trends\", [\"module\",\"require\",\"exports\",\"app/data/trends\",\"app/data/trends/location_dialog\",\"app/data/trends/recent_locations\",\"app/data/trends_scribe\",\"app/ui/trends/trends\",\"app/ui/trends/trends_dialog\",\"app/ui/trends/dialog/dialog\",], function(module, require, exports) {\n    var TrendsData = require(\"app/data/trends\"), TrendsLocationDialogData = require(\"app/data/trends/location_dialog\"), TrendsRecentLocationsData = require(\"app/data/trends/recent_locations\"), TrendsScribe = require(\"app/data/trends_scribe\"), TrendsModule = require(\"app/ui/trends/trends\"), TrendsDialog = require(\"app/ui/trends/trends_dialog\"), TrendsLocationDialog = require(\"app/ui/trends/dialog/dialog\");\n    module.exports = function(b) {\n        TrendsScribe.attachTo(JSBNG__document, b), TrendsData.attachTo(JSBNG__document, b), TrendsModule.attachTo(\".module.trends\", {\n            loggedIn: b.loggedIn,\n            eventData: {\n                scribeContext: {\n                    component: \"trends\"\n                }\n            }\n        }), ((b.trendsLocationDialogEnabled ? (TrendsLocationDialogData.attachTo(JSBNG__document, b), TrendsRecentLocationsData.attachTo(JSBNG__document, b), TrendsLocationDialog.attachTo(\"#trends_dialog\", {\n            typeaheadData: b.typeaheadData,\n            eventData: {\n                scribeContext: {\n                    component: \"trends_location_dialog\"\n                }\n            }\n        })) : TrendsDialog.attachTo(\"#trends_dialog\", {\n            deciderPersonalizedTrends: b.decider_personalized_trends,\n            eventData: {\n                scribeContext: {\n                    component: \"trends_dialog\"\n                }\n            }\n        })));\n    };\n});\ndefine(\"app/ui/infinite_scroll_watcher\", [\"module\",\"require\",\"exports\",\"core/component\",\"core/utils\",], function(module, require, exports) {\n    function infiniteScrollWatcher() {\n        var a = 0, b = 1;\n        this.checkScrollPosition = function() {\n            var c = this.$content.height(), d = !1;\n            ((((this.inTriggerRange(a) && ((((c > this.lastTriggeredHeight)) || this.lastTriggeredFrom(b))))) ? (this.trigger(\"uiNearTheTop\"), this.lastTriggerFrom = a, d = !0) : ((((this.inTriggerRange(b) && ((((c > this.lastTriggeredHeight)) || this.lastTriggeredFrom(a))))) && (this.trigger(\"uiNearTheBottom\"), this.lastTriggerFrom = b, d = !0))))), ((d && (this.lastTriggeredHeight = c)));\n        }, this.inTriggerRange = function(c) {\n            var d = this.$content.height(), e = this.$node.scrollTop(), f = ((e + this.$node.height())), g = Math.abs(Math.min(((f - d)), 0)), h = ((this.$node.height() / 2));\n            return ((((((e < h)) && ((c == a)))) || ((((g < h)) && ((c == b))))));\n        }, this.lastTriggeredFrom = function(a) {\n            return ((this.lastTriggerFrom === a));\n        }, this.resetScrollState = function() {\n            this.lastTriggeredHeight = 0, this.lastTriggerFrom = -1;\n        }, this.after(\"initialize\", function(a) {\n            this.resetScrollState(), this.$content = ((a.contentSelector ? this.select(\"contentSelector\") : $(JSBNG__document))), this.JSBNG__on(\"JSBNG__scroll\", utils.throttle(this.checkScrollPosition.bind(this), 100)), this.JSBNG__on(\"uiTimelineReset\", this.resetScrollState);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), utils = require(\"core/utils\"), InfiniteScrollWatcher = defineComponent(infiniteScrollWatcher);\n    module.exports = InfiniteScrollWatcher;\n});\ndefine(\"app/data/timeline\", [\"module\",\"require\",\"exports\",\"core/component\",\"core/utils\",\"app/data/with_data\",], function(module, require, exports) {\n    function timeline() {\n        this.defaultAttrs({\n            defaultAjaxData: {\n                include_entities: 1,\n                include_available_features: 1\n            },\n            noShowError: !0\n        }), this.requestItems = function(a, b) {\n            var c = function(b) {\n                this.trigger(a.target, \"dataGotMoreTimelineItems\", b);\n            }, d = function(b) {\n                this.trigger(a.target, \"dataGotMoreTimelineItemsError\", b);\n            }, e = {\n            };\n            ((((b && b.fromPolling)) && (e[\"X-Twitter-Polling\"] = !0)));\n            var f = {\n                since_id: b.since_id,\n                max_id: b.max_id,\n                cursor: b.cursor,\n                is_forward: b.is_forward,\n                latent_count: b.latent_count,\n                composed_count: b.composed_count,\n                include_new_items_bar: b.include_new_items_bar,\n                preexpanded_id: b.preexpanded_id,\n                interval: b.interval,\n                count: b.count,\n                timeline_empty: b.timeline_empty\n            };\n            ((b.query && (f.q = b.query))), ((b.curated_timeline_since_id && (f.curated_timeline_since_id = b.curated_timeline_since_id))), ((b.scroll_cursor && (f.scroll_cursor = b.scroll_cursor))), ((b.refresh_cursor && (f.refresh_cursor = b.refresh_cursor))), this.get({\n                url: this.attr.endpoint,\n                headers: e,\n                data: utils.merge(this.attr.defaultAjaxData, f),\n                eventData: b,\n                success: c.bind(this),\n                error: d.bind(this)\n            });\n        }, this.after(\"initialize\", function(a) {\n            this.JSBNG__on(\"uiWantsMoreTimelineItems\", this.requestItems);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), utils = require(\"core/utils\"), withData = require(\"app/data/with_data\");\n    module.exports = defineComponent(timeline, withData);\n});\ndefine(\"app/boot/timeline\", [\"module\",\"require\",\"exports\",\"app/ui/infinite_scroll_watcher\",\"app/data/timeline\",], function(module, require, exports) {\n    function initialize(a) {\n        ((a.no_global_infinite_scroll || InfiniteScrollWatcher.attachTo(window))), TimelineData.attachTo(JSBNG__document, a);\n    };\n;\n    var InfiniteScrollWatcher = require(\"app/ui/infinite_scroll_watcher\"), TimelineData = require(\"app/data/timeline\");\n    module.exports = initialize;\n});\ndefine(\"app/data/activity_popup\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_data\",], function(module, require, exports) {\n    function activityPopupData() {\n        this.defaultAttrs({\n            noShowError: !0\n        }), this.getUsers = function(a, b) {\n            var c = ((b.isRetweeted ? \"/i/activity/retweeted_popup\" : \"/i/activity/favorited_popup\"));\n            this.get({\n                url: c,\n                data: {\n                    id: b.tweetId\n                },\n                eventData: b,\n                success: \"dataActivityPopupSuccess\",\n                error: \"dataActivityPopupError\"\n            });\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"uiFetchActivityPopup\", this.getUsers);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withData = require(\"app/data/with_data\");\n    module.exports = defineComponent(activityPopupData, withData);\n});\ndefine(\"app/ui/dialogs/activity_popup\", [\"module\",\"require\",\"exports\",\"core/component\",\"core/utils\",\"app/ui/with_position\",\"app/ui/with_dialog\",\"app/ui/with_user_actions\",\"app/ui/with_item_actions\",], function(module, require, exports) {\n    function activityPopup() {\n        this.defaultAttrs({\n            itemType: \"user\",\n            titleSelector: \".modal-title\",\n            tweetSelector: \".activity-tweet\",\n            contentSelector: \".activity-content\",\n            openDropdownSelector: \".user-dropdown.open .dropdown-menu\",\n            usersSelector: \".activity-popup-users\"\n        }), this.setTitle = function(a) {\n            this.select(\"titleSelector\").html(a);\n        }, this.setContent = function(a) {\n            this.$node.toggleClass(\"has-content\", !!a), this.select(\"contentSelector\").html(a);\n        }, this.requestPopup = function(a, b) {\n            this.attr.eventData = utils.merge(this.attr.eventData, {\n                scribeContext: {\n                    component: ((b.isRetweeted ? \"retweeted_dialog\" : \"favorited_dialog\"))\n                }\n            }, !0), this.setTitle(b.titleHtml);\n            var c = $(b.tweetHtml);\n            this.select(\"tweetSelector\").html(c), this.setContent(\"\"), this.open(), this.trigger(\"uiFetchActivityPopup\", {\n                tweetId: c.attr(\"data-tweet-id\"),\n                isRetweeted: b.isRetweeted\n            });\n        }, this.updateUsers = function(a, b) {\n            this.setTitle(b.htmlTitle), this.setContent(b.htmlUsers);\n            var c = this.select(\"usersSelector\");\n            ((((c.height() >= parseInt(c.css(\"max-height\"), 10))) && c.addClass(\"dropdown-threshold\")));\n        }, this.showError = function(a, b) {\n            this.setContent($(\"\\u003Cp\\u003E\").addClass(\"error\").html(b.message));\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(JSBNG__document, \"uiRequestActivityPopup\", this.requestPopup), this.JSBNG__on(JSBNG__document, \"dataActivityPopupSuccess\", this.updateUsers), this.JSBNG__on(JSBNG__document, \"dataActivityPopupError\", this.showError), this.JSBNG__on(JSBNG__document, \"uiShowProfilePopup uiOpenTweetDialogWithOptions uiNeedsDMDialog uiOpenSigninOrSignupDialog\", this.close);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), utils = require(\"core/utils\"), withPosition = require(\"app/ui/with_position\"), withDialog = require(\"app/ui/with_dialog\"), withUserActions = require(\"app/ui/with_user_actions\"), withItemActions = require(\"app/ui/with_item_actions\");\n    module.exports = defineComponent(activityPopup, withDialog, withPosition, withUserActions, withItemActions);\n});\ndefine(\"app/data/activity_popup_scribe\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_scribe\",], function(module, require, exports) {\n    function activityPopupScribe() {\n        this.scribeActivityPopupOpen = function(a, b) {\n            var c = b.sourceEventData;\n            this.scribe(\"open\", b, {\n                item_ids: [c.tweetId,],\n                item_count: 1\n            });\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(JSBNG__document, \"dataActivityPopupSuccess\", this.scribeActivityPopupOpen);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withScribe = require(\"app/data/with_scribe\");\n    module.exports = defineComponent(activityPopupScribe, withScribe);\n});\ndefine(\"app/boot/activity_popup\", [\"module\",\"require\",\"exports\",\"app/data/activity_popup\",\"app/ui/dialogs/activity_popup\",\"app/data/activity_popup_scribe\",], function(module, require, exports) {\n    function initialize(a) {\n        ActivityPopupData.attachTo(JSBNG__document, a), ActivityPopupScribe.attachTo(JSBNG__document, a), ActivityPopup.attachTo(activityPopupSelector, a);\n    };\n;\n    var ActivityPopupData = require(\"app/data/activity_popup\"), ActivityPopup = require(\"app/ui/dialogs/activity_popup\"), ActivityPopupScribe = require(\"app/data/activity_popup_scribe\"), activityPopupSelector = \"#activity-popup-dialog\";\n    module.exports = initialize;\n});\ndefine(\"app/data/tweet_translation\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_data\",], function(module, require, exports) {\n    function tweetTranslation() {\n        this.getTweetTranslation = function(a, b) {\n            var c = function(a) {\n                ((((a && a.message)) && this.trigger(\"uiShowMessage\", {\n                    message: a.message\n                }))), this.trigger(\"dataTweetTranslationSuccess\", a);\n            }, d = function(a, c, d) {\n                this.trigger(\"dataTweetTranslationError\", {\n                    id: b.id,\n                    JSBNG__status: c,\n                    errorThrown: d\n                });\n            }, e = {\n                id: b.tweetId,\n                dest: b.dest\n            };\n            this.get({\n                url: \"/i/translations/show.json\",\n                data: e,\n                headers: {\n                    \"X-Phx\": !0\n                },\n                eventData: b,\n                success: c.bind(this),\n                error: d.bind(this)\n            });\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"uiNeedsTweetTranslation\", this.getTweetTranslation);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withData = require(\"app/data/with_data\"), TweetTranslation = defineComponent(tweetTranslation, withData);\n    module.exports = TweetTranslation;\n});\ndefine(\"app/data/conversations\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_data\",], function(module, require, exports) {\n    function conversations() {\n        this.requestExpansion = function(a, b) {\n            var c = function(b) {\n                this.trigger(a.target, \"dataTweetConversationResult\", b), this.trigger(a.target, \"dataTweetSocialProofResult\", b);\n            }, d = function(b, c, d) {\n                this.trigger(a.target, \"dataTweetExpansionError\", {\n                    JSBNG__status: c,\n                    errorThrown: d\n                });\n            }, e = [\"social_proof\",];\n            ((b.fullConversation ? e.push(\"ancestors\", \"descendants\") : ((b.descendantsOnly && e.push(\"descendants\")))));\n            var f = {\n                include: e\n            };\n            ((b.facepileMax && (f.facepile_max = b.facepileMax)));\n            var g = window.JSBNG__location.search.match(/[?&]js_maps=([^&]+)/);\n            ((g && (f.js_maps = g[1]))), this.get({\n                url: ((\"/i/expanded/batch/\" + encodeURIComponent($(a.target).attr(\"data-tweet-id\")))),\n                data: f,\n                eventData: b,\n                success: c.bind(this),\n                error: d.bind(this)\n            });\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"uiNeedsTweetExpandedContent\", this.requestExpansion);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withData = require(\"app/data/with_data\"), Conversations = defineComponent(conversations, withData);\n    module.exports = Conversations;\n});\ndefine(\"app/data/media_settings\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_data\",\"core/i18n\",], function(module, require, exports) {\n    function mediaSettings() {\n        this.flagMedia = function(a, b) {\n            this.post({\n                url: \"/i/expanded/flag_possibly_sensitive\",\n                eventData: b,\n                data: b,\n                success: \"dataFlaggedMediaResult\",\n                error: \"dataFlaggedMediaError\"\n            });\n        }, this.updateViewPossiblySensitive = function(a, b) {\n            this.post({\n                url: \"/i/expanded/update_view_possibly_sensitive\",\n                eventData: b,\n                data: b,\n                success: \"dataUpdatedViewPossiblySensitiveResult\",\n                error: \"dataUpdatedViewPossiblySensitiveError\"\n            });\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"uiFlagMedia\", this.flagMedia), this.JSBNG__on(\"uiUpdateViewPossiblySensitive\", this.updateViewPossiblySensitive), this.JSBNG__on(\"dataUpdatedViewPossiblySensitiveResult\", function() {\n                this.trigger(\"uiShowMessage\", {\n                    message: _(\"Your media display settings have been changed.\")\n                });\n            }), this.JSBNG__on(\"dataUpdatedViewPossiblySensitiveError\", function() {\n                this.trigger(\"uiShowError\", {\n                    message: _(\"Couldn't set inline media settings.\")\n                });\n            });\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withData = require(\"app/data/with_data\"), _ = require(\"core/i18n\");\n    module.exports = defineComponent(mediaSettings, withData);\n});\ndefine(\"app/ui/dialogs/sensitive_flag_confirmation\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/with_dialog\",\"app/ui/with_position\",], function(module, require, exports) {\n    function flagDialog() {\n        this.defaultAttrs({\n            dialogSelector: \"#sensitive_flag_dialog\",\n            cancelSelector: \"#cancel_flag_confirmation\",\n            submitSelector: \"#submit_flag_confirmation\",\n            settingsSelector: \"#sensitive-settings-checkbox\",\n            illegalSelector: \"#sensitive-illegal-checkbox\"\n        }), this.flag = function() {\n            ((this.select(\"settingsSelector\").attr(\"checked\") && this.trigger(\"uiUpdateViewPossiblySensitive\", {\n                do_show: !1\n            }))), ((this.select(\"illegalSelector\").attr(\"checked\") && this.trigger(\"uiFlagMedia\", {\n                id: this.$dialog.attr(\"data-tweet-id\")\n            }))), this.close();\n        }, this.openWithId = function(b, c) {\n            this.$dialog.attr(\"data-tweet-id\", c.id), this.open();\n        }, this.after(\"initialize\", function(a) {\n            this.$dialog = this.select(\"dialogSelector\"), this.JSBNG__on(JSBNG__document, \"uiFlagConfirmation\", this.openWithId), this.JSBNG__on(\"click\", {\n                submitSelector: this.flag,\n                cancelSelector: this.close\n            });\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withDialog = require(\"app/ui/with_dialog\"), withPosition = require(\"app/ui/with_position\");\n    module.exports = defineComponent(flagDialog, withDialog, withPosition);\n});\ndefine(\"app/ui/user_actions\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/with_user_actions\",], function(module, require, exports) {\n    function userActions() {\n    \n    };\n;\n    var defineComponent = require(\"core/component\"), withUserActions = require(\"app/ui/with_user_actions\");\n    module.exports = defineComponent(userActions, withUserActions);\n});\ndefine(\"app/data/prompt_mobile_app_scribe\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_scribe\",], function(module, require, exports) {\n    function mobileAppPromptScribe() {\n        this.scribeOnClick = function(a, b) {\n            var c = a.target;\n            ((((c.getAttribute(\"id\") == \"iphone_download\")) ? this.scribe({\n                component: \"promptbird_262\",\n                element: \"iphone_download\",\n                action: \"click\"\n            }) : ((((c.getAttribute(\"id\") == \"android_download\")) ? this.scribe({\n                component: \"promptbird_262\",\n                element: \"android_download\",\n                action: \"click\"\n            }) : ((((c.className == \"dismiss-white\")) && this.scribe({\n                component: \"promptbird_262\",\n                action: \"dismiss\"\n            })))))));\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"click\", this.scribeOnClick);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withScribe = require(\"app/data/with_scribe\");\n    module.exports = defineComponent(mobileAppPromptScribe, withScribe);\n});\ndefine(\"app/boot/tweets\", [\"module\",\"require\",\"exports\",\"app/boot/activity_popup\",\"app/data/tweet_actions\",\"app/data/tweet_translation\",\"app/data/conversations\",\"app/data/media_settings\",\"app/ui/dialogs/sensitive_flag_confirmation\",\"app/ui/expando/expanding_tweets\",\"app/ui/media/media_tweets\",\"app/data/url_resolver\",\"app/ui/user_actions\",\"app/data/prompt_mobile_app_scribe\",\"core/utils\",], function(module, require, exports) {\n    function initialize(a, b) {\n        activityPopupBoot(b), TweetActionsData.attachTo(JSBNG__document, b), TweetTranslationData.attachTo(JSBNG__document, b), ConversationsData.attachTo(JSBNG__document, b), MediaSettingsData.attachTo(JSBNG__document, b), UrlResolver.attachTo(JSBNG__document), ExpandingTweets.attachTo(a, b), ((b.excludeUserActions || UserActions.attachTo(a, utils.merge(b, {\n            genericItemSelector: \".js-stream-item\"\n        })))), MediaTweets.attachTo(a, b), SensitiveFlagConfirmationDialog.attachTo(JSBNG__document), MobileAppPromptScribe.attachTo($(\"div[data-prompt-id=262]\"));\n    };\n;\n    var activityPopupBoot = require(\"app/boot/activity_popup\"), TweetActionsData = require(\"app/data/tweet_actions\"), TweetTranslationData = require(\"app/data/tweet_translation\"), ConversationsData = require(\"app/data/conversations\"), MediaSettingsData = require(\"app/data/media_settings\"), SensitiveFlagConfirmationDialog = require(\"app/ui/dialogs/sensitive_flag_confirmation\"), ExpandingTweets = require(\"app/ui/expando/expanding_tweets\"), MediaTweets = require(\"app/ui/media/media_tweets\"), UrlResolver = require(\"app/data/url_resolver\"), UserActions = require(\"app/ui/user_actions\"), MobileAppPromptScribe = require(\"app/data/prompt_mobile_app_scribe\"), utils = require(\"core/utils\");\n    module.exports = initialize;\n});\ndefine(\"app/boot/help_pips_enable\", [\"module\",\"require\",\"exports\",\"app/utils/cookie\",\"app/utils/storage/core\",], function(module, require, exports) {\n    function initialize(a) {\n        var b = new JSBNG__Storage(\"help_pips\"), c = +(new JSBNG__Date);\n        b.clear(), b.setItem(\"until\", ((c + 1209600000))), cookie(\"help_pips\", null);\n    };\n;\n    var cookie = require(\"app/utils/cookie\"), JSBNG__Storage = require(\"app/utils/storage/core\");\n    module.exports = initialize;\n});\ndefine(\"app/data/help_pips\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_data\",], function(module, require, exports) {\n    function helpPipsData() {\n        this.defaultAttrs({\n            noShowError: !0\n        }), this.loadHelpPips = function(a, b) {\n            var c = function(a) {\n                this.trigger(\"dataHelpPipsLoaded\", {\n                    pips: a\n                });\n            }.bind(this), d = function(a) {\n                this.trigger(\"dataHelpPipsError\");\n            }.bind(this);\n            this.get({\n                url: \"/i/help/pips\",\n                data: {\n                },\n                eventData: b,\n                success: c,\n                error: d\n            });\n        }, this.after(\"initialize\", function() {\n            this.loadHelpPips();\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withData = require(\"app/data/with_data\");\n    module.exports = defineComponent(helpPipsData, withData);\n});\ndefine(\"app/data/help_pips_scribe\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_scribe\",], function(module, require, exports) {\n    function helpPipsScribe() {\n        this.after(\"initialize\", function() {\n            this.scribeOnEvent(\"uiHelpPipIconAdded\", \"impression\"), this.scribeOnEvent(\"uiHelpPipIconClicked\", \"open\"), this.scribeOnEvent(\"uiHelpPipPromptFollowed\", \"success\"), this.scribeOnEvent(\"uiHelpPipExplainTriggered\", \"show\"), this.scribeOnEvent(\"uiHelpPipExplainClicked\", \"dismiss\"), this.scribeOnEvent(\"uiHelpPipExplainFollowed\", \"complete\");\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withScribe = require(\"app/data/with_scribe\");\n    module.exports = defineComponent(helpPipsScribe, withScribe);\n});\ndefine(\"app/ui/help_pip\", [\"module\",\"require\",\"exports\",\"core/component\",], function(module, require, exports) {\n    function helpPip() {\n        this.explainTriggered = function(a) {\n            var b = $(a.target).closest(\".js-stream-item\");\n            if (!b.length) {\n                return;\n            }\n        ;\n        ;\n            if (((this.pip.matcher && ((b.JSBNG__find(this.pip.matcher).length == 0))))) {\n                return;\n            }\n        ;\n        ;\n            if (((this.state == \"icon\"))) this.trigger(\"uiHelpPipExplainTriggered\");\n             else {\n                if (((this.state != \"JSBNG__prompt\"))) {\n                    return;\n                }\n            ;\n            ;\n                this.trigger(\"uiHelpPipPromptFollowed\");\n            }\n        ;\n        ;\n            this.showState(\"explain\", b);\n        }, this.dismissTriggered = function(a) {\n            var b = $(a.target).closest(\".js-stream-item\");\n            if (((((b.length && this.pip.matcher)) && ((b.JSBNG__find(this.pip.matcher).length == 0))))) {\n                return;\n            }\n        ;\n        ;\n            ((((((!b.length || ((b[0] == this.$streamItem[0])))) && ((this.state == \"explain\")))) && this.trigger(\"uiHelpPipExplainFollowed\"))), this.dismiss();\n        }, this.clicked = function(a) {\n            ((((this.state == \"icon\")) ? (this.trigger(\"uiHelpPipIconClicked\"), this.showState(\"JSBNG__prompt\")) : ((((this.state == \"explain\")) && (this.trigger(\"uiHelpPipExplainClicked\"), this.dismiss())))));\n        }, this.showState = function(a, b) {\n            if (((((a == \"JSBNG__prompt\")) && !this.pip.html.JSBNG__prompt))) {\n                return this.showState(\"explain\", b);\n            }\n        ;\n        ;\n            b = ((b || this.$streamItem));\n            if (((this.state == a))) {\n                return;\n            }\n        ;\n        ;\n            ((((((this.state == \"icon\")) && ((((a == \"JSBNG__prompt\")) || ((a == \"explain\")))))) && this.trigger(\"uiHelpPipOpened\", {\n                pip: this.pip\n            }))), ((((this.$streamItem[0] != b[0])) && this.unhighlight())), this.state = a, this.$streamItem = b;\n            var c = this.$pip.JSBNG__find(\".js-pip\");\n            c.prependTo(this.$pip.parent()).fadeOut(\"fast\", function() {\n                c.remove();\n                var b = this.pip.html[a], d = this.pip[((a + \"Highlight\"))];\n                this.$pip.html(b).fadeIn(\"fast\"), ((((d && ((d != \"remove\")))) ? this.highlight(d) : this.unhighlight(((d == \"remove\")))));\n            }.bind(this)), this.$pip.hide().prependTo(b);\n        }, this.dismiss = function() {\n            ((this.$streamItem && this.unhighlight())), this.$pip.fadeOut(function() {\n                this.remove(), this.teardown(), this.trigger(\"uiHelpPipDismissed\");\n            }.bind(this));\n        }, this.highlight = function(a) {\n            if (this.$streamItem.JSBNG__find(a).is(\".stork-highlighted\")) {\n                return;\n            }\n        ;\n        ;\n            this.unhighlight(), this.$streamItem.JSBNG__find(a).each(function() {\n                var a = $(this), b = $(\"\\u003Cspan\\u003E\").addClass(\"stork-highlight-background\"), c = $(\"\\u003Cspan\\u003E\").addClass(\"stork-highlight-container\").css({\n                    width: a.JSBNG__outerWidth(),\n                    height: a.JSBNG__outerHeight()\n                });\n                a.wrap(c).before(b).addClass(\"stork-highlighted\"), b.fadeIn();\n            });\n        }, this.unhighlight = function(a) {\n            this.$streamItem.JSBNG__find(\".stork-highlighted\").each(function() {\n                var b = $(this), c = b.parent().JSBNG__find(\".stork-highlight-background\"), d = function() {\n                    c.remove(), b.unwrap();\n                };\n                b.removeClass(\"stork-highlighted\"), ((a ? d() : c.fadeOut(d)));\n            });\n        }, this.remove = function() {\n            this.$pip.remove();\n        }, this.after(\"initialize\", function(a) {\n            this.state = \"icon\", this.pip = a.pip, this.$streamItem = a.$streamItem, this.$pip = $(\"\\u003Cdiv\\u003E\\u003C/div\\u003E\").html(this.pip.html.icon), this.$pip.hide().prependTo(this.$streamItem).fadeIn(\"fast\"), this.JSBNG__on(this.$pip, \"click\", this.clicked), this.trigger(\"uiHelpPipIconAdded\"), this.JSBNG__on(JSBNG__document, \"uiBeforePageChanged\", this.remove), ((this.pip.explainOn && (((((typeof this.pip.explainOn == \"string\")) && (this.pip.explainOn = {\n                JSBNG__event: this.pip.explainOn\n            }))), ((this.pip.explainOn.selector ? this.JSBNG__on(this.$node.JSBNG__find(this.pip.explainOn.selector), this.pip.explainOn.JSBNG__event, this.explainTriggered) : this.JSBNG__on(this.pip.explainOn.JSBNG__event, this.explainTriggered)))))), ((this.pip.dismissOn && (((((typeof this.pip.dismissOn == \"string\")) && (this.pip.dismissOn = {\n                JSBNG__event: this.pip.dismissOn\n            }))), ((this.pip.dismissOn.selector ? this.JSBNG__on(this.$node.JSBNG__find(this.pip.dismissOn.selector), this.pip.dismissOn.JSBNG__event, this.dismissTriggered) : this.JSBNG__on(this.pip.dismissOn.JSBNG__event, this.dismissTriggered))))));\n        });\n    };\n;\n    var defineComponent = require(\"core/component\");\n    module.exports = defineComponent(helpPip);\n});\ndefine(\"app/ui/help_pips_injector\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/help_pip\",\"app/utils/storage/core\",], function(module, require, exports) {\n    function helpPipsInjector() {\n        this.defaultAttrs({\n            pipSelector: \".js-pip\",\n            tweetSelector: \".js-stream-item\"\n        }), this.pipsLoaded = function(a, b) {\n            this.pips = b.pips, this.injectPips();\n        }, this.tweetsDisplayed = function(a) {\n            this.injectPips();\n        }, this.pipOpened = function(a, b) {\n            this.storage.setItem(b.pip.category, !0);\n        }, this.pipDismissed = function(a) {\n            this.injectPips();\n        }, this.injectPips = function() {\n            if (!this.pips) {\n                return;\n            }\n        ;\n        ;\n            if (this.select(\"pipSelector\").length) {\n                return;\n            }\n        ;\n        ;\n            var a = this.pips.filter(function(a) {\n                return !this.storage.getItem(a.category);\n            }.bind(this)), b = this.select(\"tweetSelector\").slice(0, 10);\n            b.each(function(b, c) {\n                var d = $(c), e = !1;\n                if (((d.attr(\"data-promoted\") || ((d.JSBNG__find(\"[data-promoted]\").length > 0))))) {\n                    return;\n                }\n            ;\n            ;\n                $.each(a, function(a, b) {\n                    if (d.JSBNG__find(b.matcher).length) {\n                        return HelpPip.attachTo(this.$node, {\n                            $streamItem: d,\n                            pip: b,\n                            eventData: {\n                                scribeContext: {\n                                    component: \"stork\",\n                                    element: b.id\n                                }\n                            }\n                        }), e = !0, !1;\n                    }\n                ;\n                ;\n                }.bind(this));\n                if (e) {\n                    return !1;\n                }\n            ;\n            ;\n            }.bind(this));\n        }, this.after(\"initialize\", function() {\n            this.deferredDisplays = [], this.storage = new JSBNG__Storage(\"help_pips\"), this.JSBNG__on(JSBNG__document, \"uiTweetsDisplayed\", this.tweetsDisplayed), this.JSBNG__on(JSBNG__document, \"dataHelpPipsLoaded\", this.pipsLoaded), this.JSBNG__on(\"uiHelpPipDismissed\", this.pipDismissed), this.JSBNG__on(\"uiHelpPipOpened\", this.pipOpened);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), HelpPip = require(\"app/ui/help_pip\"), JSBNG__Storage = require(\"app/utils/storage/core\");\n    module.exports = defineComponent(helpPipsInjector);\n});\ndefine(\"app/boot/help_pips\", [\"module\",\"require\",\"exports\",\"app/utils/cookie\",\"app/utils/storage/core\",\"app/boot/help_pips_enable\",\"app/data/help_pips\",\"app/data/help_pips_scribe\",\"app/ui/help_pips_injector\",], function(module, require, exports) {\n    function initialize(a) {\n        var b = new JSBNG__Storage(\"help_pips\"), c = +(new JSBNG__Date);\n        ((cookie(\"help_pips\") && enableHelpPips())), ((((((b.getItem(\"until\") || 0)) > c)) && (HelpPipsData.attachTo(JSBNG__document), HelpPipsInjector.attachTo(\"#timeline\"), HelpPipsScribe.attachTo(JSBNG__document))));\n    };\n;\n    var cookie = require(\"app/utils/cookie\"), JSBNG__Storage = require(\"app/utils/storage/core\"), enableHelpPips = require(\"app/boot/help_pips_enable\"), HelpPipsData = require(\"app/data/help_pips\"), HelpPipsScribe = require(\"app/data/help_pips_scribe\"), HelpPipsInjector = require(\"app/ui/help_pips_injector\");\n    module.exports = initialize;\n});\ndefine(\"app/ui/expando/close_all_button\", [\"module\",\"require\",\"exports\",\"core/component\",], function(module, require, exports) {\n    function closeAllButton() {\n        this.incrementOpenCount = function() {\n            this.toggleButton(++this.openCount);\n        }, this.decrementOpenCount = function() {\n            this.toggleButton(--this.openCount);\n        }, this.toggleButton = function(a) {\n            this.$node[((((a > 0)) ? \"fadeIn\" : \"fadeOut\"))](200);\n        }, this.broadcastClose = function(a) {\n            a.preventDefault(), this.trigger(this.attr.where, this.attr.closeAllEvent);\n        }, this.readOpenCountFromTimeline = function() {\n            this.openCount = $(this.attr.where).JSBNG__find(\".open\").length, this.toggleButton(this.openCount);\n        }, this.hide = function() {\n            this.$node.hide();\n        }, this.after(\"initialize\", function(a) {\n            this.openCount = 0, this.JSBNG__on(JSBNG__document, \"uiSwiftLoaded uiPageChanged\", this.readOpenCountFromTimeline), this.JSBNG__on(a.where, a.addEvent, this.incrementOpenCount), this.JSBNG__on(a.where, a.subtractEvent, this.decrementOpenCount), this.JSBNG__on(\"click\", this.broadcastClose), this.JSBNG__on(JSBNG__document, \"uiShortcutCloseAll\", this.broadcastClose), this.JSBNG__on(JSBNG__document, \"uiBeforePageChanged\", this.hide);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\");\n    module.exports = defineComponent(closeAllButton);\n});\ndefine(\"app/ui/timelines/with_keyboard_navigation\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n    function withKeyboardNavigation() {\n        this.defaultAttrs({\n            selectedClass: \"selected-stream-item\",\n            selectedSelector: \".selected-stream-item\",\n            unselectableClass: \"js-unselectable-stream-item\",\n            firstItemSelector: \".js-stream-item:first-child:not(.js-unselectable-stream-item)\",\n            ownTweetSelector: \".my-tweet\",\n            replyLinkSelector: \"div.tweet ul.js-actions a.js-action-reply\",\n            profileCardSelector: \".profile-card\",\n            streamTweetSelector: \".js-stream-tweet\",\n            activityMentionClass: \"js-activity-mention\",\n            activityReplyClass: \"js-activity-reply\",\n            pushStateSelector: \"a.js-nav\",\n            navigationActiveClass: \"js-navigation-active\"\n        }), this.moveSelection = function(a) {\n            var b = $(a.target);\n            if (b.closest(this.attr.selectedSelector).length) {\n                return;\n            }\n        ;\n        ;\n            var c;\n            ((b.closest(\".js-expansion-container\") ? c = b.closest(\"li\") : c = b.closest(this.attr.genericItemSelector))), ((b.closest(this.attr.pushStateSelector).length && (this.$linkClicked = c, JSBNG__clearTimeout(this.linkTimer), this.linkTimer = JSBNG__setTimeout(function() {\n                this.$linkClicked = $();\n            }.bind(this), 0)))), ((this.$selected.length && this.selectItem(c)));\n        }, this.clearSelection = function() {\n            this.$selected.removeClass(this.attr.selectedClass), this.$selected = $();\n        }, this.selectTopItem = function() {\n            this.clearSelection(), this.trigger(\"uiInjectNewItems\"), this.selectAdjacentItem(\"next\");\n        }, this.injectAndPossiblySelectTopItem = function() {\n            var a = this.$selected.length;\n            ((a && this.clearSelection())), this.trigger(\"uiInjectNewItems\"), ((a && this.selectAdjacentItem(\"next\")));\n        }, this.selectPrevItem = function() {\n            this.selectAdjacentItem(\"prev\");\n        }, this.selectNextItem = function(a, b) {\n            this.selectAdjacentItem(\"next\", b);\n        }, this.selectNextItemNotFrom = function(a) {\n            var b = \"next\", c = this.$selected;\n            while (((this.getUserId() == a))) {\n                this.selectAdjacentItem(b);\n                if (((c == this.$selected))) {\n                    if (((b != \"next\"))) {\n                        return;\n                    }\n                ;\n                ;\n                    b = \"prev\";\n                }\n                 else c = this.$selected;\n            ;\n            ;\n            };\n        ;\n        }, this.getAdjacentParentItem = function(a, b) {\n            var c = a.closest(\".js-navigable-stream\"), d = a;\n            if (c.length) {\n                a = c.closest(\".stream-item\"), d = a[b]();\n                if (!d.length) {\n                    return this.getAdjacentParentItem(a, b);\n                }\n            ;\n            ;\n            }\n        ;\n        ;\n            return d;\n        }, this.getAdjacentChildItem = function(a, b) {\n            var c = a, d = c.hasClass(\"js-has-navigable-stream\"), e = ((((b == \"next\")) ? \"first-child\" : \"last-child\"));\n            return ((((c.length && d)) ? (c = c.JSBNG__find(\".js-navigable-stream\").eq(0).JSBNG__find(((\"\\u003Eli:\" + e))), this.getAdjacentChildItem(c, b)) : c));\n        }, this.selectAdjacentItem = function(a, b) {\n            var c;\n            ((this.$selected.length ? c = this.$selected[a]() : c = this.select(\"firstItemSelector\").eq(0))), ((c.length || (c = this.getAdjacentParentItem(this.$selected, a)))), c = this.getAdjacentChildItem(c, a);\n            if (((c.length && c.hasClass(this.attr.unselectableClass)))) {\n                return this.$selected = c, this.selectAdjacentItem(a, b);\n            }\n        ;\n        ;\n            this.selectItem(c), this.setARIALabel(), this.focusSelected(), ((((c.length && ((!b || !b.maintainPosition)))) && this.adjustScrollForSelectedItem()));\n            var d = ((((a == \"next\")) ? \"uiNextItemSelected\" : \"uiPreviousItemSelected\"));\n            this.trigger(this.$selected, d);\n        }, this.selectItem = function(a) {\n            var b = this.$selected;\n            if (((!a.length || ((b == a))))) {\n                return;\n            }\n        ;\n        ;\n            this.$selected = a, this.$node.JSBNG__find(this.attr.selectedSelector).removeClass(this.attr.selectedClass), b.removeClass(this.attr.selectedClass), b.removeAttr(\"tabIndex\"), b.removeAttr(\"aria-labelledby\"), this.$selected.addClass(this.attr.selectedClass);\n        }, this.setARIALabel = function() {\n            var a = this.$selected.JSBNG__find(\".tweet\"), b = ((a.attr(\"id\") || ((\"tweet-\" + a.attr(\"data-tweet-id\"))))), c = [], d = [\".stream-item-header\",\".tweet-text\",\".context\",];\n            ((a.hasClass(\"favorited\") && d.push(\".tweet-actions .unfavorite\"))), ((a.hasClass(\"retweeted\") && d.push(\".tweet-actions .undo-retweet\"))), d.push(\".expanded-content\"), a.JSBNG__find(d.join()).each(function(a, d) {\n                var e = d.id;\n                ((e || (e = ((((b + \"-\")) + a)), d.setAttribute(\"id\", e)))), c.push(e);\n            }), this.$selected.attr(\"aria-labelledby\", c.join(\" \"));\n        }, this.focusSelected = function() {\n            this.$selected.attr(\"tabIndex\", -1).JSBNG__focus();\n        }, this.deselect = function(a) {\n            var b = (([\"HTML\",\"BODY\",].indexOf(a.target.tagName) != -1)), c = ((((a.target.id == \"page-outer\")) && !$(a.target).parents(\"#page-container\").length));\n            ((((b || c)) && this.clearSelection()));\n        }, this.favoriteItem = function() {\n            this.trigger(this.$selected, \"uiDidFavoriteTweetToggle\");\n        }, this.retweetItem = function() {\n            ((this.itemSelectedIsMine() || this.trigger(this.$selected, \"uiDidRetweetTweetToggle\")));\n        }, this.replyItem = function() {\n            var a = this.$selected.JSBNG__find(this.attr.replyLinkSelector).first();\n            this.trigger(a, \"uiDidReplyTweetToggle\");\n        }, this.blockUser = function() {\n            this.takeAction(\"uiOpenBlockUserDialog\");\n        }, this.unblockUser = function() {\n            this.takeAction(\"uiUnblockAction\");\n        }, this.takeAction = function(a) {\n            ((((!this.itemSelectedIsMine() && this.itemSelectedIsBlockable())) && this.trigger(this.$selected, a, {\n                userId: this.getUserId(),\n                username: this.getUsername(),\n                fromShortcut: !0\n            })));\n        }, this.getUserId = function() {\n            return this.$selected.JSBNG__find(this.attr.streamTweetSelector).attr(\"data-user-id\");\n        }, this.getUsername = function() {\n            return this.$selected.JSBNG__find(this.attr.streamTweetSelector).attr(\"data-name\");\n        }, this.itemSelectedIsMine = function() {\n            return (($(this.$selected).JSBNG__find(this.attr.ownTweetSelector).length > 0));\n        }, this.itemSelectedIsBlockable = function() {\n            return (((((($(this.$selected).children(this.attr.streamTweetSelector).length > 0)) || $(this.$selected).hasClass(this.attr.activityReplyClass))) || $(this.$selected).hasClass(this.attr.activityMentionClass)));\n        }, this.updateAfterBlock = function(a, b) {\n            (((($(this.attr.profileCardSelector).size() === 0)) && (this.selectNextItemNotFrom(b.userId), this.trigger(\"uiRemoveTweetsFromUser\", b))));\n        }, this.adjustScrollForItem = function(a) {\n            ((a.length && $(window).scrollTop(((a.offset().JSBNG__top - (($(window).height() / 2)))))));\n        }, this.notifyExpansionRequest = function() {\n            this.trigger(this.$selected, \"uiShouldToggleExpandedState\");\n        }, this.adjustScrollForSelectedItem = function() {\n            this.adjustScrollForItem(this.$selected);\n        }, this.processActiveNavigation = function() {\n            var a = 2;\n            JSBNG__setTimeout(this.removeActiveNavigationClass.bind(this), ((a * 1000)));\n        }, this.setNavigationActive = function() {\n            this.$linkClicked.addClass(this.attr.navigationActiveClass);\n        }, this.removeActiveNavigationClass = function() {\n            var a = this.$node.JSBNG__find(((\".\" + this.attr.navigationActiveClass)));\n            a.removeClass(this.attr.navigationActiveClass);\n        }, this.handleEvent = function(a) {\n            return function() {\n                (($(\"body\").hasClass(\"modal-enabled\") || this[a].apply(this, arguments)));\n            };\n        }, this.changeSelection = function(a, b) {\n            var c = $(a.target);\n            ((this.$selected.length && (this.selectItem(c), ((((b && b.setFocus)) && (this.setARIALabel(), this.focusSelected()))))));\n        }, this.after(\"initialize\", function() {\n            this.$selected = this.$node.JSBNG__find(this.attr.selectedSelector), this.$linkClicked = $(), this.JSBNG__on(JSBNG__document, \"uiShortcutSelectPrev\", this.handleEvent(\"selectPrevItem\")), this.JSBNG__on(JSBNG__document, \"uiShortcutSelectNext uiSelectNext\", this.handleEvent(\"selectNextItem\")), this.JSBNG__on(JSBNG__document, \"uiSelectItem\", this.handleEvent(\"changeSelection\")), this.JSBNG__on(JSBNG__document, \"uiShortcutEnter\", this.handleEvent(\"notifyExpansionRequest\")), this.JSBNG__on(JSBNG__document, \"uiShortcutGotoTopOfScreen uiSelectTopTweet\", this.handleEvent(\"selectTopItem\")), this.JSBNG__on(JSBNG__document, \"uiGotoTopOfScreen\", this.handleEvent(\"injectAndPossiblySelectTopItem\")), this.JSBNG__on(JSBNG__document, \"uiShortcutFavorite\", this.handleEvent(\"favoriteItem\")), this.JSBNG__on(JSBNG__document, \"uiShortcutRetweet\", this.handleEvent(\"retweetItem\")), this.JSBNG__on(JSBNG__document, \"uiShortcutReply\", this.handleEvent(\"replyItem\")), this.JSBNG__on(JSBNG__document, \"uiShortcutBlock\", this.handleEvent(\"blockUser\")), this.JSBNG__on(JSBNG__document, \"uiShortcutUnblock\", this.handleEvent(\"unblockUser\")), this.JSBNG__on(JSBNG__document, \"uiUpdateAfterBlock\", this.updateAfterBlock), this.JSBNG__on(JSBNG__document, \"uiRemovedSomeTweets\", this.adjustScrollForSelectedItem), this.JSBNG__on(JSBNG__document, \"uiBeforePageChanged uiClearSelection\", this.clearSelection), this.JSBNG__on(JSBNG__document, \"uiPageChanged\", this.processActiveNavigation), this.JSBNG__on(\"click\", {\n                genericItemSelector: this.moveSelection\n            }), this.JSBNG__on(JSBNG__document, \"uiNavigate\", this.setNavigationActive), this.JSBNG__on(JSBNG__document, \"click\", this.deselect);\n        });\n    };\n;\n    module.exports = withKeyboardNavigation;\n});\ndefine(\"app/ui/with_focus_highlight\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n    function focusHighlight() {\n        this.defaultAttrs({\n            focusClass: \"JSBNG__focus\",\n            focusContainerSelector: \".tweet\"\n        }), this.addFocusStyle = function(a, b) {\n            $(b.el).addClass(this.attr.focusClass);\n        }, this.removeFocusStyle = function(a, b) {\n            JSBNG__setTimeout(function() {\n                var a = b.el, c = JSBNG__document.activeElement;\n                ((((!$.contains(a, c) && ((a != c)))) && $(a).removeClass(this.attr.focusClass)));\n            }.bind(this), 0);\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"focusin\", {\n                focusContainerSelector: this.addFocusStyle\n            }), this.JSBNG__on(\"focusout\", {\n                focusContainerSelector: this.removeFocusStyle\n            });\n        });\n    };\n;\n    module.exports = focusHighlight;\n});\ndefine(\"app/ui/timelines/with_base_timeline\", [\"module\",\"require\",\"exports\",\"app/ui/timelines/with_keyboard_navigation\",\"app/ui/with_interaction_data\",\"app/utils/scribe_event_initiators\",\"app/ui/with_focus_highlight\",\"core/compose\",\"app/utils/animate_window_scrolltop\",], function(module, require, exports) {\n    function withBaseTimeline() {\n        compose.mixin(this, [withKeyboardNavigation,withInteractionData,withFocusHighLight,]), this.defaultAttrs({\n            containerSelector: \".stream-container\",\n            itemsSelector: \"#stream-items-id\",\n            genericItemSelector: \".js-stream-item\",\n            timelineEndSelector: \".timeline-end\",\n            backToTopSelector: \".back-to-top\",\n            lastItemSelector: \".stream-item:last\",\n            streamItemContentsSelector: \".js-actionable-tweet, .js-actionable-user, .js-activity, .js-story-item\"\n        }), this.findFirstItemContent = function(a) {\n            var b = a.JSBNG__find(this.attr.streamItemContentsSelector);\n            return b = b.not(\".conversation-tweet\"), $(b[0]);\n        }, this.injectItems = function(a, b, c, d) {\n            var e = $(\"\\u003Cdiv/\\u003E\").html(b).children();\n            return ((((e.length > 0)) && this.select(\"timelineEndSelector\").addClass(\"has-items\"))), this.select(\"itemsSelector\")[a](e), this.reportInjectedItems(e, c, d), e;\n        }, this.removeDuplicates = function(a) {\n            var b = [];\n            return a.filter(function(a) {\n                return ((a.tweetId ? ((((b.indexOf(a.tweetId) === -1)) ? (b.push(a.tweetId), !0) : !1)) : !0));\n            });\n        }, this.reportInjectedItems = function(a, b, c) {\n            var d = [];\n            a.each(function(a, c) {\n                if (((((((b === \"uiHasInjectedNewTimeline\")) || ((b === \"uiHasInjectedOldTimelineItems\")))) || ((b === \"uiHasInjectedRangeTimelineItems\"))))) {\n                    d = d.concat(this.extraInteractionData($(c))), d.push(this.interactionData(this.findFirstItemContent($(c))));\n                }\n            ;\n            ;\n                this.trigger(c, \"uiHasInjectedTimelineItem\");\n            }.bind(this)), d = this.removeDuplicates(d);\n            var e = {\n            };\n            if (((((((b === \"uiHasInjectedNewTimeline\")) || ((b === \"uiHasInjectedOldTimelineItems\")))) || ((b === \"uiHasInjectedRangeTimelineItems\"))))) {\n                e = {\n                    scribeContext: {\n                        component: ((this.attr.itemType && ((this.attr.itemType + \"_stream\"))))\n                    },\n                    scribeData: {\n                    },\n                    items: d\n                }, ((((c && c.autoplay)) && (e.scribeData.event_initiator = eventInitiators.clientSideApp)));\n            }\n        ;\n        ;\n            this.trigger(\"uiWantsToRefreshTimestamps\"), this.trigger(b, e);\n        }, this.inspectItemsFromServer = function(a, b) {\n            ((this.isOldItem(b) ? this.injectOldItems(b) : ((this.isNewItem(b) ? this.notifyNewItems(b) : ((this.wasRangeRequest(b) && this.injectRangeItems(b)))))));\n        }, this.investigateDataError = function(a, b) {\n            var c = b.sourceEventData;\n            if (!c) {\n                return;\n            }\n        ;\n        ;\n            ((this.wasRangeRequest(c) ? this.notifyRangeItemsError(b) : ((this.wasNewItemsRequest(c) || ((this.wasOldItemsRequest(c) && this.notifyOldItemsError(b)))))));\n        }, this.possiblyShowBackToTop = function() {\n            var a = this.select(\"lastItemSelector\").position();\n            ((((a && ((a.JSBNG__top >= $(window).height())))) && this.select(\"backToTopSelector\").show()));\n        }, this.scrollToTop = function() {\n            animateWinScrollTop(0, \"fast\");\n        }, this.getTimelinePosition = function(a) {\n            return a.closest(this.attr.genericItemSelector).index();\n        }, this.after(\"initialize\", function(a) {\n            this.JSBNG__on(\"dataGotMoreTimelineItems\", this.inspectItemsFromServer), this.JSBNG__on(\"dataGotMoreTimelineItemsError\", this.investigateDataError), this.JSBNG__on(\"click\", {\n                backToTopSelector: this.scrollToTop\n            }), this.possiblyShowBackToTop();\n        });\n    };\n;\n    var withKeyboardNavigation = require(\"app/ui/timelines/with_keyboard_navigation\"), withInteractionData = require(\"app/ui/with_interaction_data\"), eventInitiators = require(\"app/utils/scribe_event_initiators\"), withFocusHighLight = require(\"app/ui/with_focus_highlight\"), compose = require(\"core/compose\"), animateWinScrollTop = require(\"app/utils/animate_window_scrolltop\");\n    module.exports = withBaseTimeline;\n});\ndefine(\"app/ui/timelines/with_old_items\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n    function withOldItems() {\n        this.defaultAttrs({\n            endOfStreamSelector: \".stream-footer\",\n            errorMessageSelector: \".stream-fail-container\",\n            tryAgainSelector: \".try-again-after-whale\",\n            allowInfiniteScroll: !0\n        }), this.getOldItems = function() {\n            ((((this.shouldGetOldItems() && !this.requestInProgress)) && (this.requestInProgress = !0, this.trigger(\"uiWantsMoreTimelineItems\", this.getOldItemsData()))));\n        }, this.injectOldItems = function(a) {\n            this.hideWhaleEnd(), this.resetStateVariables(a), ((a.has_more_items ? this.showMoreSpinner() : this.hideMoreSpinner()));\n            var b = this.$document.height();\n            this.injectItems(((this.attr.isBackward ? \"prepend\" : \"append\")), a.items_html, \"uiHasInjectedOldTimelineItems\"), ((this.attr.isBackward ? (this.$window.scrollTop(((this.$document.height() - b))), ((a.has_more_items || this.select(\"endOfStreamSelector\").remove()))) : this.possiblyShowBackToTop())), this.requestInProgress = !1;\n        }, this.notifyOldItemsError = function(a) {\n            this.showWhaleEnd(), this.requestInProgress = !1;\n        }, this.showWhaleEnd = function() {\n            this.select(\"errorMessageSelector\").show(), this.select(\"endOfStreamSelector\").hide();\n        }, this.hideWhaleEnd = function() {\n            this.select(\"errorMessageSelector\").hide(), this.select(\"endOfStreamSelector\").show();\n        }, this.showMoreSpinner = function() {\n            this.select(\"timelineEndSelector\").addClass(\"has-more-items\");\n        }, this.hideMoreSpinner = function() {\n            this.select(\"timelineEndSelector\").removeClass(\"has-more-items\");\n        }, this.tryAgainAfterWhale = function(a) {\n            a.preventDefault(), this.hideWhaleEnd(), this.getOldItems();\n        }, this.after(\"initialize\", function(a) {\n            this.requestInProgress = !1, ((this.attr.allowInfiniteScroll && this.JSBNG__on(window, ((this.attr.isBackward ? \"uiNearTheTop\" : \"uiNearTheBottom\")), this.getOldItems))), this.$document = $(JSBNG__document), this.$window = $(window), this.JSBNG__on(\"click\", {\n                tryAgainSelector: this.tryAgainAfterWhale\n            });\n        });\n    };\n;\n    module.exports = withOldItems;\n});\ndefine(\"app/utils/chrome\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n    var chrome = {\n        globalYOffset: null,\n        selectors: {\n            globalNav: \".global-nav\"\n        },\n        getGlobalYOffset: function() {\n            return ((((chrome.globalYOffset === null)) && (chrome.globalYOffset = $(chrome.selectors.globalNav).height()))), chrome.globalYOffset;\n        },\n        getCanvasYOffset: function(a) {\n            return ((a.offset().JSBNG__top - chrome.getGlobalYOffset()));\n        }\n    };\n    module.exports = chrome;\n});\ndefine(\"app/ui/timelines/with_traveling_ptw\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n    function withTravelingPTw() {\n        this.closePromotedItem = function(a) {\n            ((a.hasClass(\"open\") && this.trigger(a, \"uiShouldToggleExpandedState\", {\n                noAnimation: !0\n            })));\n        }, this.transferClass = function(a, b, c) {\n            ((a.hasClass(b) && (a.removeClass(b), c.addClass(b))));\n        }, this.repositionPromotedItem = function(a) {\n            var b = this.$promotedItem;\n            this.transferClass(b, \"before-expanded\", b.prev()), this.transferClass(b, \"after-expanded\", b.next()), a.call(this, b.detach()), this.transferClass(b.next(), \"after-expanded\", \"prev\");\n        }, this.after(\"initialize\", function(a) {\n            this.travelingPromoted = a.travelingPromoted, this.$promotedItem = this.$node.JSBNG__find(\".promoted-tweet\").first().closest(\".stream-item\");\n        }), this.movePromotedToTop = function() {\n            if (this.autoplay) {\n                return;\n            }\n        ;\n        ;\n            this.repositionPromotedItem(function(a) {\n                var b = this.$node.JSBNG__find(this.attr.streamItemsSelector).children().first();\n                b[((b.hasClass(\"open\") ? \"after\" : \"before\"))](a);\n            });\n        };\n    };\n;\n    module.exports = withTravelingPTw;\n});\ndefine(\"app/ui/timelines/with_autoplaying_timeline\", [\"module\",\"require\",\"exports\",\"core/compose\",\"app/utils/chrome\",\"app/ui/timelines/with_traveling_ptw\",\"app/utils/animate_window_scrolltop\",], function(module, require, exports) {\n    function withAutoplayingTimeline() {\n        compose.mixin(this, [withTravelingPTw,]);\n        var a = 700, b = 750, c = 300;\n        this.defaultAttrs({\n            autoplayControlSelector: \".autoplay-control .play-pause\",\n            streamItemsSelector: \".stream-items\",\n            socialProofSelector: \".tweet-stats-container\",\n            autoplayMarkerSelector: \".stream-autoplay-marker\",\n            notificationBarOpacity: 94796\n        }), this.autoplayNewItems = function(a, b) {\n            if (!a) {\n                return;\n            }\n        ;\n        ;\n            var c = this.$window.scrollTop(), d = ((c + this.$window.height())), e = ((this.$promotedItem.length && ((this.$promotedItem.offset().JSBNG__top > d)))), f = this.injectNewItems({\n            }, {\n                autoplay: !0\n            });\n            ((((this.travelingPTw && e)) && this.repositionPromotedItem(function(a) {\n                f.first().before(a), f = f.add(a), this.trigger(a, \"uiShouldFixMargins\");\n            })));\n            var g = f.first().offset().JSBNG__top, h = ((((g > c)) && ((g < d)))), i = this.$container.offset().JSBNG__top, j = ((((f.last().next().offset().JSBNG__top - i)) + 1));\n            if (h) this.$container.css(\"marginTop\", -j), this.animateBlockOfItems(f);\n             else {\n                var k = chrome.getGlobalYOffset(), l = ((this.$notification.is(\":visible\") ? k : -100));\n                this.showingAutoplayMarker = !1, this.setScrollerScrollTop(((c + j))), this.$notification.show().JSBNG__find(\".text\").text($(a).text()).end().css({\n                    JSBNG__top: l,\n                    opacity: this.attr.notificationBarOpacity\n                }).animate({\n                    JSBNG__top: k\n                }, {\n                    duration: 500,\n                    complete: function() {\n                        var a = this.newItemsXLine;\n                        this.newItemsXLine = ((((a > 0)) ? ((a + j)) : ((i + j)))), this.showingAutoplayMarker = !0, this.latentItems.count = b;\n                    }.bind(this)\n                });\n            }\n        ;\n        ;\n        }, this.animateBlockOfItems = function(b) {\n            var c = this.$window.scrollTop(), d = parseFloat(this.$container.css(\"marginTop\")), e = -b.first().position().JSBNG__top;\n            this.isAnimating = !0, this.$container.parent().css(\"overflow\", \"hidden\"), this.$container.animate({\n                marginTop: 0\n            }, {\n                duration: ((a + Math.abs(d))),\n                step: function(a) {\n                    ((this.lockedTimelineScroll && this.setScrollerScrollTop(((c + Math.abs(((d - Math.ceil(a)))))))));\n                }.bind(this),\n                complete: function() {\n                    this.$container.parent().css(\"overflow\", \"inherit\"), this.isAnimating = !1, this.afterAnimationQueue.forEach(function(a) {\n                        a.call(this);\n                    }, this), this.afterAnimationQueue = [];\n                }.bind(this)\n            });\n        }, this.handleSocialProofPops = function(a) {\n            var b = $(a.target).closest(\".stream-item\");\n            if (((this.lastClickedItem && ((b[0] === this.lastClickedItem))))) {\n                return;\n            }\n        ;\n        ;\n            var c = $(a.target).JSBNG__find(this.attr.socialProofSelector).hide(), d = function() {\n                var a = b.next().offset().JSBNG__top;\n                c.show();\n                var d = b.next().offset().JSBNG__top, e = this.$window.scrollTop();\n                ((((this.lockedTimelineScroll || ((e > d)))) && this.setScrollerScrollTop(((e + ((d - a)))))));\n            }.bind(this);\n            ((this.isAnimating ? this.afterAnimationQueue.push(d) : d()));\n        }, this.animateScrollToTop = function() {\n            var a = ((this.$container.offset().JSBNG__top - 150)), d = {\n                duration: b\n            };\n            ((this.attr.overflowScroll ? this.$node.animate({\n                scrollTop: a\n            }, d) : animateWinScrollTop(a, d))), this.$notification.animate({\n                JSBNG__top: -200,\n                opacity: 0\n            }, {\n                duration: c\n            });\n        }, this.setScrollerScrollTop = function(a) {\n            var b = ((this.attr.overflowScroll ? this.$node : $(window)));\n            b.scrollTop(a);\n        }, this.removeAutoplayMarkerOnScroll = function() {\n            var a, b = function() {\n                ((this.showingAutoplayMarker ? (this.showingAutoplayMarker = !1, this.$notification.fadeOut(200)) : ((((((this.newItemsXLine > 0)) && ((this.$window.scrollTop() < this.newItemsXLine)))) && (this.newItemsXLine = 0, this.latentItems.count = 0)))));\n            }.bind(this);\n            this.$window.JSBNG__scroll(function(c) {\n                if (!this.autoplay) {\n                    return;\n                }\n            ;\n            ;\n                JSBNG__clearTimeout(a), a = JSBNG__setTimeout(b, 0);\n            }.bind(this));\n        }, this.toggleAutoplay = function(a) {\n            $(\".tooltip\").remove(), (($(a.target).parent().toggleClass(\"paused\").hasClass(\"paused\") ? this.disableAutoplay() : this.reenableAutoplay()));\n        }, this.disableAutoplay = function() {\n            this.autoplay = !1, this.trigger(\"uiHasDisabledAutoplay\");\n        }, this.reenableAutoplay = function() {\n            this.autoplay = !0, this.lockedTimelineScroll = !1, this.trigger(\"uiHasEnabledAutoplay\");\n            var a = this.select(\"newItemsBarSelector\");\n            a.animate({\n                marginTop: -a.JSBNG__outerHeight(),\n                opacity: 0\n            }, {\n                duration: 225,\n                complete: this.autoplayNewItems.bind(this, a.html())\n            });\n        }, this.enableAutoplay = function(a) {\n            this.autoplay = !0, this.travelingPTw = a.travelingPTw, this.lockedTimelineScroll = !1, this.afterAnimationQueue = [], this.newItemsXLine = 0, this.$container = this.select(\"streamItemsSelector\"), this.$notification = this.select(\"autoplayMarkerSelector\"), this.$window = ((a.overflowScroll ? this.$node : $(window))), this.JSBNG__on(\"mouseover\", function() {\n                this.lockedTimelineScroll = !0;\n            }), this.JSBNG__on(\"mouseleave\", function() {\n                this.lockedTimelineScroll = !1;\n            }), this.JSBNG__on(\"uiHasRenderedTweetSocialProof\", this.handleSocialProofPops), this.JSBNG__on(\"uiHasExpandedTweet\", function(a) {\n                this.lastClickedItem = $(a.target).data(\"expando\").$container.get(0);\n            }), this.JSBNG__on(\"click\", {\n                autoplayControlSelector: this.toggleAutoplay,\n                autoplayMarkerSelector: this.animateScrollToTop\n            }), this.removeAutoplayMarkerOnScroll(), this.$notification.width(this.$notification.width()).css(\"position\", \"fixed\");\n        }, this.after(\"initialize\", function(a) {\n            ((a.autoplay && this.enableAutoplay(a)));\n        });\n    };\n;\n    var compose = require(\"core/compose\"), chrome = require(\"app/utils/chrome\"), withTravelingPTw = require(\"app/ui/timelines/with_traveling_ptw\"), animateWinScrollTop = require(\"app/utils/animate_window_scrolltop\");\n    module.exports = withAutoplayingTimeline;\n});\ndefine(\"app/ui/timelines/with_polling\", [\"module\",\"require\",\"exports\",\"core/utils\",\"app/utils/setup_polling_with_backoff\",], function(module, require, exports) {\n    function withPolling() {\n        this.defaultAttrs({\n            pollingWatchNode: $(window),\n            pollingEnabled: !0\n        }), this.pausePolling = function() {\n            this.pollingTimer.pause(), this.pollingPaused = !0;\n        }, this.resetPolling = function() {\n            this.backoffEmptyResponseCount = 0, this.pollingPaused = !1;\n        }, this.pollForNewItems = function(a, b) {\n            this.trigger(\"uiTimelineShouldRefresh\", {\n                injectImmediately: !1,\n                interval: this.pollingTimer.interval,\n                fromPolling: !0\n            });\n        }, this.onGotMoreTimelineItems = function(a, b) {\n            if (!((((((this.attr.pollingOptions && this.attr.pollingOptions.pauseAfterBackoff)) && b)) && b.sourceEventData))) {\n                return;\n            }\n        ;\n        ;\n            var c = b.sourceEventData;\n            ((c.fromPolling && ((((this.isNewItem(b) || ((c.interval < this.attr.pollingOptions.blurredInterval)))) ? this.resetPolling() : ((((++this.backoffEmptyResponseCount >= this.attr.pollingOptions.backoffEmptyResponseLimit)) && this.pausePolling()))))));\n        }, this.modifyNewItemsData = function(a) {\n            var b = a();\n            return ((((this.pollingPaused && this.attr.pollingOptions)) ? (this.resetPolling(), utils.merge(b, {\n                count: this.attr.pollingOptions.resumeItemCount\n            })) : b));\n        }, this.possiblyRefreshBeforeInject = function(a, b, c) {\n            return ((((((this.pollingPaused && b)) && ((b.type === \"click\")))) && this.trigger(\"uiTimelineShouldRefresh\", {\n                injectImmediately: !0\n            }))), a(b, c);\n        }, this.around(\"getNewItemsData\", this.modifyNewItemsData), this.around(\"injectNewItems\", this.possiblyRefreshBeforeInject), this.after(\"initialize\", function() {\n            if (!this.attr.pollingEnabled) {\n                return;\n            }\n        ;\n        ;\n            this.JSBNG__on(JSBNG__document, \"uiTimelinePollForNewItems\", this.pollForNewItems), this.JSBNG__on(JSBNG__document, \"dataGotMoreTimelineItems\", this.onGotMoreTimelineItems), this.pollingTimer = setupPollingWithBackoff(\"uiTimelinePollForNewItems\", this.attr.pollingWatchNode, this.attr.pollingOptions), this.resetPolling();\n        });\n    };\n;\n    var utils = require(\"core/utils\"), setupPollingWithBackoff = require(\"app/utils/setup_polling_with_backoff\");\n    module.exports = withPolling;\n});\ndefine(\"app/ui/timelines/with_new_items\", [\"module\",\"require\",\"exports\",\"core/utils\",\"core/compose\",\"app/utils/chrome\",\"app/ui/timelines/with_autoplaying_timeline\",\"app/ui/timelines/with_polling\",], function(module, require, exports) {\n    function withNewItems() {\n        this.injectNewItems = function(a, b) {\n            if (!this.latentItems.html) {\n                return;\n            }\n        ;\n        ;\n            this.select(\"newItemsBarSelector\").remove();\n            var c = this.injectItems(\"prepend\", this.latentItems.html, \"uiHasInjectedNewTimeline\", b);\n            return this.resetLatentItems(), c;\n        }, this.handleNewItemsBarClick = function(a, b) {\n            this.injectNewItems(a, b), this.trigger(\"uiRefreshUserRecsOnNewTweets\");\n        }, compose.mixin(this, [withAutoplayingTimeline,withPolling,]), this.defaultAttrs({\n            newItemsBarSelector: \".js-new-tweets-bar\",\n            streamItemSelector: \".stream-item\",\n            refreshOnReturn: !0\n        }), this.getNewItems = function(a, b) {\n            this.trigger(\"uiWantsMoreTimelineItems\", utils.merge({\n                include_new_items_bar: ((!b || !b.injectImmediately)),\n                latent_count: this.latentItems.count,\n                composed_count: Object.keys(this.composedThenInjectedTweetIds).length\n            }, this.getNewItemsData(), b));\n        }, this.notifyNewItems = function(a) {\n            if (!a.items_html) {\n                return;\n            }\n        ;\n        ;\n            var b = ((a.sourceEventData || {\n            }));\n            this.resetStateVariables(a);\n            var c = ((this.attr.injectComposedTweets && this.removeComposedTweetsFromPayload(a)));\n            if (!a.items_html) {\n                return;\n            }\n        ;\n        ;\n            this.latentItems.html = ((a.items_html + ((this.latentItems.html || \"\"))));\n            if (a.new_tweets_bar_html) {\n                var d, e = a.new_tweets_bar_alternate_html;\n                ((((((((this.attr.injectComposedTweets && ((c > 0)))) && e)) && e[((c - 1))])) ? d = $(e[((c - 1))]) : d = $(a.new_tweets_bar_html))), this.latentItems.count = d.children().first().data(\"item-count\"), ((this.autoplay ? this.autoplayNewItems(a.new_tweets_bar_html, this.latentItems.count) : ((b.injectImmediately || this.updateNewItemsBar(d))))), this.trigger(\"uiAddPageCount\", {\n                    count: this.latentItems.count\n                });\n            }\n        ;\n        ;\n            ((((b.injectImmediately || b.timeline_empty)) && this.trigger(\"uiInjectNewItems\"))), ((b.scrollToTop && this.scrollToTop())), ((b.selectTopTweet && this.trigger(\"uiSelectTopTweet\")));\n        }, this.removeComposedTweetsFromPayload = function(a) {\n            var b = this.composedThenInjectedTweetIds, c = $(a.items_html).filter(this.attr.streamItemSelector);\n            if (((c.length == 0))) {\n                return 0;\n            }\n        ;\n        ;\n            var d = 0, e = c.filter(function(a, c) {\n                var e = $(c).attr(\"data-item-id\");\n                return ((((e in b)) ? (d++, delete b[e], !1) : !0));\n            });\n            return a.items_html = $(\"\\u003Cdiv/\\u003E\").append(e).html(), d;\n        }, this.updateNewItemsBar = function(a) {\n            var b = this.select(\"newItemsBarSelector\"), c = this.select(\"containerSelector\"), d = $(window).scrollTop(), e = chrome.getCanvasYOffset(c);\n            ((b.length ? (b.parent().remove(), a.prependTo(c)) : (a.hide().prependTo(c), ((((d > e)) ? (a.show(), $(\"html, body\").scrollTop(((d + a.height())))) : a.slideDown()))))), this.trigger(\"uiNewItemsBarVisible\");\n        }, this.resetLatentItems = function() {\n            this.latentItems = {\n                count: 0,\n                html: \"\"\n            };\n        }, this.refreshOnNavigate = function(a, b) {\n            ((((b.fromCache && this.attr.refreshOnReturn)) && this.trigger(\"uiTimelineShouldRefresh\", {\n                navigated: !0\n            })));\n        }, this.refreshAndSelectTopTweet = function(a, b) {\n            this.trigger(\"uiTimelineShouldRefresh\", {\n                injectImmediately: !0,\n                selectTopTweet: !0\n            });\n        }, this.injectComposedTweet = function(a, b) {\n            if (b.in_reply_to_status_id) {\n                return;\n            }\n        ;\n        ;\n            this.injectNewItems();\n            var c = $(b.tweet_html).filter(this.attr.streamItemSelector).first().attr(\"data-item-id\");\n            if (this.$node.JSBNG__find(((((\".original-tweet[data-tweet-id='\" + c)) + \"']:first\"))).length) {\n                return;\n            }\n        ;\n        ;\n            this.latentItems.html = b.tweet_html, this.injectNewItems(), this.composedThenInjectedTweetIds[b.tweet_id] = !0;\n        }, this.refreshAndInjectImmediately = function(a, b) {\n            this.trigger(\"uiTimelineShouldRefresh\", {\n                injectImmediately: !0,\n                selectTopTweet: ((this.$selected.length == 1))\n            });\n        }, this.resetCacheOfComposedInjectedTweets = function(a, b) {\n            this.composedThenInjectedTweetIds = composedThenInjectedTweetIds = {\n            };\n        }, this.after(\"initialize\", function(a) {\n            this.composedThenInjectedTweetIds = composedThenInjectedTweetIds, this.resetLatentItems(), this.JSBNG__on(\"uiInjectNewItems\", this.injectNewItems), this.JSBNG__on(JSBNG__document, \"uiTimelineShouldRefresh\", this.getNewItems), this.JSBNG__on(JSBNG__document, \"uiBeforePageChanged\", this.injectNewItems), this.JSBNG__on(JSBNG__document, \"uiPageChanged\", this.refreshOnNavigate), this.JSBNG__on(JSBNG__document, \"uiGotoTopOfScreen\", this.refreshAndInjectImmediately), this.JSBNG__on(JSBNG__document, \"uiShortcutGotoTopOfScreen\", this.refreshAndSelectTopTweet), this.JSBNG__on(JSBNG__document, \"dataPageMutated\", this.resetCacheOfComposedInjectedTweets), ((this.attr.injectComposedTweets && this.JSBNG__on(JSBNG__document, \"dataTweetSuccess\", this.injectComposedTweet))), this.JSBNG__on(\"click\", {\n                newItemsBarSelector: this.handleNewItemsBarClick\n            });\n        });\n    };\n;\n    var utils = require(\"core/utils\"), compose = require(\"core/compose\"), chrome = require(\"app/utils/chrome\"), withAutoplayingTimeline = require(\"app/ui/timelines/with_autoplaying_timeline\"), withPolling = require(\"app/ui/timelines/with_polling\"), composedThenInjectedTweetIds = {\n    };\n    module.exports = withNewItems;\n});\ndefine(\"app/ui/timelines/with_tweet_pagination\", [\"module\",\"require\",\"exports\",\"app/utils/string\",], function(module, require, exports) {\n    function withTweetPagination() {\n        this.isOldItem = function(a) {\n            return ((a.max_id && ((!this.max_id || ((string.compare(this.max_id, a.max_id) >= 0))))));\n        }, this.isNewItem = function(a) {\n            return ((a.since_id && ((!this.since_id || ((string.compare(this.since_id, a.since_id) < 0))))));\n        }, this.wasRangeRequest = function(a) {\n            return ((a.max_id && a.since_id));\n        }, this.wasNewItemsRequest = function(a) {\n            return a.since_id;\n        }, this.wasOldItemsRequest = function(a) {\n            return a.max_id;\n        }, this.shouldGetOldItems = function() {\n            var a = ((((typeof this.max_id != \"undefined\")) && ((this.max_id !== null))));\n            return ((!a || ((this.max_id != \"-1\"))));\n        }, this.getOldItemsData = function() {\n            return {\n                max_id: this.max_id,\n                query: this.query\n            };\n        }, this.getRangeItemsData = function(a, b) {\n            return {\n                since_id: a,\n                max_id: b,\n                query: this.query\n            };\n        }, this.getNewItemsData = function() {\n            var a = {\n                since_id: this.since_id,\n                query: this.query\n            };\n            return ((((this.select(\"itemsSelector\").children().length == 0)) && (a.timeline_empty = !0))), a;\n        }, this.resetStateVariables = function(a) {\n            [\"max_id\",\"since_id\",\"query\",].forEach(function(b, c) {\n                ((((typeof a[b] != \"undefined\")) && (this[b] = a[b], ((((((b == \"max_id\")) || ((b == \"since_id\")))) && this.select(\"containerSelector\").attr(((\"data-\" + b.replace(\"_\", \"-\"))), this[b]))))));\n            }, this);\n        }, this.after(\"initialize\", function(a) {\n            this.since_id = ((this.select(\"containerSelector\").attr(\"data-since-id\") || undefined)), this.max_id = ((this.select(\"containerSelector\").attr(\"data-max-id\") || undefined)), this.query = ((a.query || \"\"));\n        });\n    };\n;\n    var string = require(\"app/utils/string\");\n    module.exports = withTweetPagination;\n});\ndefine(\"app/ui/timelines/with_preserved_scroll_position\", [\"module\",\"require\",\"exports\",\"core/utils\",\"core/i18n\",\"app/utils/string\",\"app/data/user_info\",\"core/compose\",], function(module, require, exports) {\n    function withPreservedScrollPosition() {\n        this.defaultAttrs({\n            firstTweetSelector: \".stream-items .js-stream-item:first-child\",\n            listSelector: \".stream-items:not(.conversation-module)\",\n            tearClass: \"tear\",\n            tearSelector: \".tear\",\n            tearProcessingClass: \"tear-processing\",\n            tearProcessingSelector: \".tear-processing\",\n            currentScrollPosClass: \"current-scroll-pos\",\n            currentScrollPosSelector: \".current-scroll-pos\",\n            topOfViewportTweetSelector: \".top-of-viewport-tweet\",\n            countAboveTear: 10,\n            countBelowTearAboveCurrent: 3,\n            countBelowCurrent: 10,\n            preservedScrollEnabled: !1\n        }), this.findTweetAtTop = function() {\n            var a = $(), b = $(window).scrollTop();\n            return this.select(\"genericItemSelector\").each(function(c, d) {\n                var e = $(d);\n                if (((e.offset().JSBNG__top > b))) {\n                    return a = e, !1;\n                }\n            ;\n            ;\n            }), a;\n        }, this.findNearestRealTweet = function(a, b) {\n            while (((a.length && ((a.JSBNG__find(\"[data-promoted=true]\").length || a.hasClass(this.attr.tearClass)))))) {\n                a = a[b]();\n            ;\n            };\n        ;\n            return a;\n        }, this.findSiblingTweets = function(a, b, c) {\n            var d = $(), e = a, f = 0;\n            while ((((e = e[b]()).length && ((f < c))))) {\n                if (((!e.is(\"[data-item-type=tweet]\") && ((b == \"prev\"))))) {\n                    break;\n                }\n            ;\n            ;\n                d = d.add(e), f++;\n            };\n        ;\n            return d;\n        }, this.getTweetId = function(a) {\n            var b = a.JSBNG__find(\".tweet\").attr(\"data-retweet-id\");\n            return ((b ? b : a.attr(\"data-item-id\")));\n        }, this.recordTweetAtTop = function() {\n            var a = this.findTweetAtTop();\n            if (a.length) {\n                var b = this.getTweetId(this.findNearestRealTweet(a, \"next\")), c = ((a.offset().JSBNG__top - $(window).scrollTop()));\n                a.addClass(this.attr.currentScrollPosClass), a.attr(\"data-offset\", c), this.trigger(\"uiTimelineScrollSet\", {\n                    topItem: b,\n                    offset: c\n                });\n            }\n        ;\n        ;\n        }, this.trimTimeline = function() {\n            var a = this.select(\"currentScrollPosSelector\"), b = this.select(\"firstTweetSelector\"), c, d;\n            ((a.length || (a = b)));\n            if (!a.length) {\n                return;\n            }\n        ;\n        ;\n            d = $(), d = d.add(a), d = d.add(this.findSiblingTweets(a, \"next\", this.attr.countBelowCurrent)), d = d.add(this.findSiblingTweets(a, \"prev\", this.attr.countBelowTearAboveCurrent)), c = d.first();\n            if (((c.index() >= this.attr.countAboveTear))) {\n                var e = $(TEAR_HTML);\n                c.before(e), d = d.add(e);\n            }\n        ;\n        ;\n            ((((this.attr.countAboveTear > 0)) && (d = d.add(b), d = d.add(this.findSiblingTweets(b, \"next\", ((this.attr.countAboveTear - 1)))))));\n            var f = this.findNearestRealTweet(d.last(), \"prev\");\n            this.select(\"containerSelector\").attr(\"data-max-id\", string.subtractOne(this.getTweetId(f))), this.select(\"listSelector\").html(d);\n        }, this.restorePosition = function(a, b) {\n            var c = {\n            }, d = 0;\n            ((((b && b.fromCache)) ? (c = this.select(\"currentScrollPosSelector\"), d = ((-1 * c.attr(\"data-offset\")))) : ((((b && b.scrollPosition)) && (c = this.select(\"topOfViewportTweetSelector\"), d = ((-1 * b.scrollPosition.offset)))))));\n            var e, f, g;\n            ((c.length && (f = $(window).scrollLeft(), g = ((c.offset().JSBNG__top + d)), window.JSBNG__scrollTo(f, g), c.removeClass(this.attr.currentScrollPosClass), $(JSBNG__document).one(\"JSBNG__scroll\", function() {\n                window.JSBNG__scrollTo(f, g);\n            }))));\n        }, this.expandTear = function(a, b, c) {\n            var d = $(a.target);\n            ((d.hasClass(this.attr.tearClass) || (d = d.closest(this.attr.tearSelector)))), d.addClass(this.attr.tearProcessingClass);\n            var e = this.findNearestRealTweet(d.prev(), \"prev\"), f = this.findNearestRealTweet(d.next(), \"next\"), g = this.getTweetId(f), h = this.getTweetId(e);\n            d.attr(\"data-prev-id\", h), d.attr(\"data-next-id\", g), this.trigger(\"uiWantsMoreTimelineItems\", this.getRangeItemsData(string.subtractOne(g), h));\n        }, this.injectRangeItems = function(a) {\n            var b = this.select(\"tearSelector\"), c = $(a.items_html);\n            b.each(function(b, d) {\n                var e = $(d), f = e.attr(\"data-prev-id\"), g = e.attr(\"data-next-id\"), h = !0;\n                ((((a.since_id == f)) && (((((f == this.getTweetId(c.first()))) && (c = c.not(c.first())))), ((((g == this.getTweetId(c.last()))) && (c = c.not(c.last()), h = !1))), c.hide(), e.before(c), e.removeClass(this.attr.tearProcessingClass), ((h || e.remove())), c.filter(\".js-stream-item\").slideDown(\"fast\"), this.reportInjectedItems(c, \"uiHasInjectedRangeTimelineItems\"))));\n            }.bind(this));\n        }, this.notifyRangeItemsError = function(a) {\n            this.select(\"tearProcessingSelector\").removeClass(this.attr.tearProcessingClass);\n        }, this.after(\"initialize\", function() {\n            var a = userInfo.getExperimentGroup(\"home_timeline_snapback_951\"), b = userInfo.getExperimentGroup(\"web_conversations\"), c = ((((a && ((a.bucket == \"preserve\")))) || ((((b && ((b.experiment_key == \"conversations_on_home_timeline_785\")))) && ((b.bucket != \"control\")))))), d = userInfo.getDecider(\"preserve_scroll_position\");\n            ((((this.attr.preservedScrollEnabled && ((c || d)))) && (this.preserveScrollPosition = !0, this.JSBNG__on(JSBNG__document, \"uiPageChanged\", this.restorePosition), this.JSBNG__on(JSBNG__document, \"uiBeforePageChanged\", this.recordTweetAtTop), this.before(\"teardown\", this.trimTimeline), this.JSBNG__on(\"click\", {\n                tearSelector: this.expandTear\n            }))));\n        });\n    };\n;\n    var utils = require(\"core/utils\"), _ = require(\"core/i18n\"), string = require(\"app/utils/string\"), userInfo = require(\"app/data/user_info\"), compose = require(\"core/compose\"), TEAR_HTML = ((((\"\\u003Cli class=\\\"tear stream-item\\\"\\u003E\\u003Cbutton class=\\\"tear-inner btn-link\\\" type=\\\"button\\\"\\u003E\\u003Cspan class=\\\"tear-text\\\"\\u003E\" + _(\"Load more tweets\"))) + \"\\u003C/span\\u003E\\u003C/button\\u003E\\u003C/li\\u003E\"));\n    module.exports = withPreservedScrollPosition;\n});\ndefine(\"app/ui/timelines/with_activity_supplements\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n    function withActivitySupplements() {\n        this.defaultAttrs({\n            networkActivityPageViewAllToggle: \".stream-item-activity-network\",\n            viewAllSupplementsButton: \"button.view-all-supplements\",\n            interactionsPageViewAllToggle: \".stream-item-activity-me button.view-all-supplements\",\n            additionalStreamItemsSelector: \".sub-stream-item-showing,.sub-stream-item-hidden\",\n            additionalNetworkActivityItems: \".hidden-supplement, .hidden-supplement-expanded\",\n            hiddenSupplement: \"hidden-supplement\",\n            visibleSupplement: \"hidden-supplement-expanded\",\n            hiddenSubItem: \"sub-stream-item-hidden\",\n            visibleSubItem: \"sub-stream-item-showing\",\n            visibleSupplementSelector: \".visible-supplement\"\n        }), this.toggleSupplementTrigger = function(a) {\n            var b = a.hasClass(\"show\");\n            return a.toggleClass(\"hide\", b).toggleClass(\"show\", !b), b;\n        }, this.toggleInteractionsSupplements = function(a, b) {\n            var c = $(b.el), d = this.toggleSupplementTrigger(c);\n            this.toggleSubStreamItemsVisibility(c.parent(), d);\n        }, this.toggleNetworkActivitySupplements = function(a, b) {\n            if ((($(a.target).closest(\".supplement\").length > 0))) {\n                return;\n            }\n        ;\n        ;\n            var c = $(b.el), d = this.toggleSupplementTrigger(c.JSBNG__find(this.attr.viewAllSupplementsButton));\n            ((d || this.trigger(c.JSBNG__find(\".activity-supplement \\u003E .stream-item.open\"), \"uiShouldToggleExpandedState\"))), this.toggleSubStreamItemsVisibility(c, d), c.JSBNG__find(this.attr.additionalNetworkActivityItems).toggleClass(\"hidden-supplement\", !d).toggleClass(\"hidden-supplement-expanded\", d);\n            var e = c.closest(\".js-stream-item\"), f;\n            ((d ? (e.addClass(\"js-has-navigable-stream\"), f = e.JSBNG__find(\".activity-supplement .stream-item:first-child\"), e.JSBNG__find(\".activity-supplement \\u003E .js-unselectable-stream-item\").removeClass(\"js-unselectable-stream-item\"), this.trigger(f, \"uiSelectItem\", {\n                setFocus: !0\n            })) : (e.removeClass(\"js-has-navigable-stream\"), e.JSBNG__find(\".activity-supplement \\u003E .hidden-supplement\").addClass(\"js-unselectable-stream-item\"), this.trigger(e, \"uiSelectItem\", {\n                setFocus: !0\n            }))));\n        }, this.toggleSubStreamItemsVisibility = function(a, b) {\n            a.JSBNG__find(this.attr.additionalStreamItemsSelector).toggleClass(\"sub-stream-item-hidden\", !b).toggleClass(\"sub-stream-item-showing\", b);\n        }, this.selectAndFocusTopLevelStreamItem = function(a, b) {\n            var c = $(b.el), d = c.hasClass(\"js-has-navigable-stream\"), e = this.select(\"viewAllSupplementsButton\").hasClass(\"show\"), f = c.closest(\".js-stream-item\");\n            ((((e && !d)) && (a.stopPropagation(), f.removeClass(\"js-has-navigable-stream\"), this.trigger(f, \"uiSelectItem\", {\n                setFocus: !0\n            }))));\n        }, this.after(\"initialize\", function(a) {\n            this.JSBNG__on(\"click\", {\n                interactionsPageViewAllToggle: this.toggleInteractionsSupplements,\n                networkActivityPageViewAllToggle: this.toggleNetworkActivitySupplements\n            }), this.JSBNG__on(\"uiSelectItem\", {\n                visibleSupplementSelector: this.selectAndFocusTopLevelStreamItem\n            });\n        });\n    };\n;\n    module.exports = withActivitySupplements;\n});\ndefine(\"app/ui/with_conversation_actions\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n    module.exports = function() {\n        this.defaultAttrs({\n            conversationModuleSelector: \".conversation-module\",\n            hasConversationModuleSelector: \".tweet.has-conversation-module\",\n            viewMoreSelector: \"a.view-more\",\n            missingTweetsLinkSelector: \"a.missing-tweets-link\",\n            conversationRootSelector: \"li.conversation-root\",\n            repliesCountSelector: \".replies-count\",\n            otherRepliesSelector: \".other-replies\",\n            topLevelStreamItemSelector: \".stream-item:not(.conversation-tweet-item)\",\n            afterExpandedClass: \"after-expanded\",\n            beforeExpandedClass: \"before-expanded\",\n            repliesCountClass: \"replies-count\",\n            visuallyHiddenClass: \"visuallyhidden\",\n            conversationRootClass: \"conversation-root\",\n            originalTweetClass: \"original-tweet\",\n            hadConversationClass: \"had-conversation\",\n            conversationHtmlKey: \"conversationHtml\",\n            restoreConversationDelay: 100,\n            animationTime: 200\n        }), this.dedupAndCollapse = function(a, b) {\n            this.dedupConversations(), this.collapseConversations(((b && b.tweets)));\n        }, this.dedupConversations = function() {\n            var a = this.select(\"conversationModuleSelector\");\n            a.each(function(a, b) {\n                if (!b.parentNode) {\n                    return;\n                }\n            ;\n            ;\n                var c = $(b).attr(\"data-ancestors\").split(\",\"), d = $(this.idsToSelector(c));\n                d.addClass(\"to-be-removed\"), d.prev().removeClass(this.attr.beforeExpandedClass).end().next().removeClass(this.attr.afterExpandedClass);\n                var e = this;\n                d.slideUp(function() {\n                    var a = $(this);\n                    ((a.hasClass(e.attr.selectedClass) && e.trigger(\"uiSelectNext\", {\n                        maintainPosition: !0\n                    }))), JSBNG__setTimeout(function() {\n                        a.remove();\n                    }, 0);\n                });\n            }.bind(this));\n        }, this.idToSelector = function(a) {\n            return ((\"#stream-item-tweet-\" + a));\n        }, this.idsToSelector = function(a) {\n            return a.map(this.idToSelector).join(\",\");\n        }, this.collapseConversations = function(a) {\n            var b;\n            if (a) {\n                var c = a.map(function(a) {\n                    return a.tweetId;\n                }), d = this.$node.JSBNG__find(this.idsToSelector(c));\n                b = d.JSBNG__find(this.attr.conversationModuleSelector);\n            }\n             else b = this.select(\"conversationModuleSelector\");\n        ;\n        ;\n            var e = {\n            }, f = {\n            };\n            b.get().reverse().forEach(function(a) {\n                var b = $(a), c = b.attr(\"data-ancestors\"), d = b.JSBNG__find(\".conversation-root .tweet\").attr(\"data-item-id\");\n                ((((!b.hasClass(\"dont-collapse\") && !b.hasClass(\"to-be-removed\"))) && ((e[c] ? this.collapseAncestors(b) : ((f[d] && this.collapseRoot(b))))))), e[c] = !0, f[d] = !0;\n            }.bind(this));\n        }, this.expandConversationHandler = function(a, b) {\n            a.preventDefault();\n            var c = $(a.target).closest(this.attr.conversationModuleSelector);\n            this.expandConversation(c), c.addClass(\"dont-collapse\");\n        }, this.expandConversation = function(a) {\n            ((((a.JSBNG__find(\".conversation-tweet-item.conversation-ancestor:visible\").length > 0)) ? this.expandRoot(a) : this.expandAncestors(a)));\n        }, this.expandAncestors = function(a) {\n            var b = a.JSBNG__find(\".conversation-header\"), c = a.JSBNG__find(\".conversation-tweet-item, .missing-tweets-bar\"), d = a.JSBNG__find(\".original-tweet-item\");\n            this.slideAndFadeContent(b, c, d);\n        }, this.expandRoot = function(a) {\n            var b = a.JSBNG__find(\".conversation-header\"), c = a.JSBNG__find(\".conversation-tweet-item.conversation-root, .missing-tweets-bar\"), d = a.JSBNG__find(\".conversation-tweet-item.conversation-ancestor:not(.conversation-root):first\");\n            ((((d.length === 0)) && (d = a.JSBNG__find(\".original-tweet-item\")))), this.slideAndFadeContent(b, c, d);\n        }, this.collapseAncestors = function(a) {\n            var b = a.JSBNG__find(\".conversation-tweet-item, .missing-tweets-bar\"), c = a.JSBNG__find(\".conversation-header\"), d = a.JSBNG__find(\".original-tweet-item\");\n            this.slideAndFadeContent(b, c, d);\n        }, this.collapseRoot = function(a) {\n            var b = a.JSBNG__find(\".conversation-tweet-item.conversation-root, .missing-tweets-bar\"), c = a.JSBNG__find(\".conversation-header\"), d = a.JSBNG__find(\".conversation-tweet-item.conversation-ancestor:not(.conversation-root):first\");\n            ((((d.length === 0)) && (d = a.JSBNG__find(\".original-tweet-item\")))), this.slideAndFadeContent(b, c, d);\n        }, this.slideAndFadeContent = function(a, b, c) {\n            if (a.is(\":hidden\")) {\n                return;\n            }\n        ;\n        ;\n            var d = c.offset().JSBNG__top, e = this.getCombinedHeight(a);\n            a.hide();\n            var f = c.offset().JSBNG__top;\n            b.show();\n            var g = this.getCombinedHeight(b), h = c.offset().JSBNG__top;\n            this.setAbsolutePosition(b), b.hide(), a.show(), this.setAbsolutePosition(a);\n            var i = ((d - f)), j = ((d - h));\n            c.css(\"paddingTop\", e), a.fadeOut(this.attr.animationTime), b.fadeIn(this.attr.animationTime), c.animate({\n                paddingTop: g\n            }, this.attr.animationTime, function() {\n                this.resetCss(a), this.resetCss(b), this.resetCss(c);\n            }.bind(this));\n        }, this.resetCss = function(a) {\n            var b = {\n                position: \"\",\n                JSBNG__top: \"\",\n                width: \"\",\n                height: \"\",\n                paddingTop: \"\"\n            };\n            a.css(b);\n        }, this.setAbsolutePosition = function(a) {\n            a.get().reverse().forEach(function(a) {\n                var b = $(a), c = b.width(), d = b.height();\n                b.css({\n                    position: \"absolute\",\n                    JSBNG__top: b.position().JSBNG__top\n                }), b.width(c), b.height(d);\n            });\n        }, this.getCombinedHeight = function(a) {\n            var b = 0;\n            return a.each(function() {\n                b += $(this).JSBNG__outerHeight();\n            }), b;\n        }, this.convertRootToStandardTweet = function(a) {\n            a.data(this.attr.conversationHtmlKey, a.html());\n            var b = a.JSBNG__find(this.attr.conversationRootSelector);\n            a.empty().addClass(this.attr.hadConversationClass).html(b.html());\n            var c = a.JSBNG__find(this.attr.tweetSelector);\n            c.addClass(this.attr.originalTweetClass).removeClass(this.attr.conversationRootClass);\n        }, this.restoreConversation = function(a, b) {\n            var c = this.streamItemFromEvent(a), d = c.data(this.attr.conversationHtmlKey);\n            ((d && (c.html(d), c.removeClass(this.attr.hadConversationClass), c.data(this.attr.conversationHtmlKey, null))));\n        }, this.expandConversationRoot = function(a, b) {\n            a.preventDefault();\n            var c = this.streamItemFromEvent(a);\n            this.convertRootToStandardTweet(c), c.trigger(\"uiShouldToggleExpandedState\");\n        }, this.collapseRootAndRestoreConversation = function(a, b) {\n            var c = this.streamItemFromEvent(a);\n            c.trigger(\"uiShouldToggleExpandedState\"), JSBNG__setTimeout(function() {\n                this.restoreConversation(a, b);\n            }.bind(this), this.attr.restoreConversationDelay);\n        }, this.streamItemFromEvent = function(a) {\n            return $(a.target).closest(this.attr.topLevelStreamItemSelector);\n        }, this.after(\"initialize\", function(a) {\n            this.JSBNG__on(JSBNG__document, \"uiHasInjectedNewTimeline uiHasInjectedOldTimelineItems\", this.dedupAndCollapse), this.JSBNG__on(\"click\", {\n                viewMoreSelector: this.expandConversationHandler,\n                missingTweetsLinkSelector: this.expandConversationRoot\n            }), this.JSBNG__on(\"uiExpandConversationRoot\", this.expandConversationRoot), this.JSBNG__on(\"uiRestoreConversationModule\", this.collapseRootAndRestoreConversation), this.dedupAndCollapse();\n        });\n    };\n});\ndefine(\"app/ui/timelines/with_pinned_stream_items\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n    function withPinnedStreamItems() {\n        this.defaultAttrs({\n            pinnedStreamItemSelector: \"li.js-pinned\"\n        }), this.keepPinnedStreamItemsOnTop = function() {\n            if (!this.$pinnedStreamItems.length) {\n                return;\n            }\n        ;\n        ;\n            var a = this.$pinnedStreamItems.first(), b = this.$pinnedStreamItems.last(), c = this.$items.children().first(), d = a.prev(), e = b.next();\n            a.css(\"margin-top\", \"0\"), ((a.hasClass(\"open\") && d.removeClass(\"before-expanded\"))), ((b.hasClass(\"open\") && (e.removeClass(\"after-expanded\"), c.addClass(\"after-expanded\")))), this.$items.prepend(this.$pinnedStreamItems.detach());\n        }, this.after(\"initialize\", function(a) {\n            this.$items = this.select(\"itemsSelector\"), this.$pinnedStreamItems = this.select(\"pinnedStreamItemSelector\"), this.JSBNG__on(\"uiHasInjectedNewTimeline\", this.keepPinnedStreamItemsOnTop);\n        });\n    };\n;\n    module.exports = withPinnedStreamItems;\n});\ndefine(\"app/ui/timelines/tweet_timeline\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/timelines/with_base_timeline\",\"app/ui/timelines/with_old_items\",\"app/ui/timelines/with_new_items\",\"app/ui/timelines/with_tweet_pagination\",\"app/ui/timelines/with_preserved_scroll_position\",\"app/ui/timelines/with_activity_supplements\",\"app/ui/with_timestamp_updating\",\"app/ui/with_tweet_actions\",\"app/ui/with_tweet_translation\",\"app/ui/with_conversation_actions\",\"app/ui/with_item_actions\",\"app/ui/timelines/with_traveling_ptw\",\"app/ui/timelines/with_pinned_stream_items\",\"app/ui/gallery/with_gallery\",], function(module, require, exports) {\n    function tweetTimeline() {\n        this.defaultAttrs({\n            itemType: \"tweet\"\n        }), this.reportInitialTweetsDisplayed = function() {\n            var b = this.select(\"genericItemSelector\"), c = [], d = function(b, d) {\n                var e = this.interactionData(this.findFirstItemContent($(d)));\n                ((this.attr.reinjectedPromotedTweets && (e.impressionId = undefined))), c.push(e);\n            }.bind(this);\n            for (var e = 0, f = b.length; ((e < f)); e++) {\n                d(e, b[e]);\n            ;\n            };\n        ;\n            var g = {\n                scribeContext: {\n                    component: \"stream\"\n                },\n                tweets: c\n            };\n            this.trigger(\"uiTweetsDisplayed\", g);\n        }, this.reportTweetsDisplayed = function(a, b) {\n            b.tweets = b.items, this.trigger(\"uiTweetsDisplayed\", b);\n        }, this.removeTweetsFromUser = function(a, b) {\n            var c = this.$node.JSBNG__find(((((\"[data-user-id=\" + b.userId)) + \"]\")));\n            c.parent().remove(), this.trigger(\"uiRemovedSomeTweets\");\n        }, this.after(\"initialize\", function(a) {\n            this.attr.reinjectedPromotedTweets = a.reinjectedPromotedTweets, this.reportInitialTweetsDisplayed(), this.JSBNG__on(\"uiHasInjectedNewTimeline uiHasInjectedOldTimelineItems uiHasInjectedRangeTimelineItems\", this.reportTweetsDisplayed), this.JSBNG__on(\"uiRemoveTweetsFromUser\", this.removeTweetsFromUser);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withBaseTimeline = require(\"app/ui/timelines/with_base_timeline\"), withOldItems = require(\"app/ui/timelines/with_old_items\"), withNewItems = require(\"app/ui/timelines/with_new_items\"), withTweetPagination = require(\"app/ui/timelines/with_tweet_pagination\"), withPreservedScrollPosition = require(\"app/ui/timelines/with_preserved_scroll_position\"), withActivitySupplements = require(\"app/ui/timelines/with_activity_supplements\"), withTimestampUpdating = require(\"app/ui/with_timestamp_updating\"), withTweetActions = require(\"app/ui/with_tweet_actions\"), withTweetTranslation = require(\"app/ui/with_tweet_translation\"), withConversationActions = require(\"app/ui/with_conversation_actions\"), withItemActions = require(\"app/ui/with_item_actions\"), withTravelingPtw = require(\"app/ui/timelines/with_traveling_ptw\"), withPinnedStreamItems = require(\"app/ui/timelines/with_pinned_stream_items\"), withGallery = require(\"app/ui/gallery/with_gallery\");\n    module.exports = defineComponent(tweetTimeline, withBaseTimeline, withTweetPagination, withPreservedScrollPosition, withOldItems, withNewItems, withTimestampUpdating, withTweetActions, withTweetTranslation, withConversationActions, withItemActions, withTravelingPtw, withPinnedStreamItems, withActivitySupplements, withGallery);\n});\ndefine(\"app/boot/tweet_timeline\", [\"module\",\"require\",\"exports\",\"app/boot/timeline\",\"app/boot/tweets\",\"app/boot/help_pips\",\"app/ui/expando/close_all_button\",\"app/ui/timelines/tweet_timeline\",\"core/utils\",], function(module, require, exports) {\n    function initialize(a, b, c, d) {\n        var e = utils.merge(a, {\n            endpoint: b,\n            itemType: c,\n            eventData: {\n                scribeContext: {\n                    component: ((d || c))\n                }\n            }\n        });\n        timelineBoot(e), tweetsBoot(\"#timeline\", e), ((e.help_pips_decider && helpPipsBoot(e))), CloseAllButton.attachTo(\"#close-all-button\", {\n            addEvent: \"uiHasExpandedTweet\",\n            subtractEvent: \"uiHasCollapsedTweet\",\n            where: \"#timeline\",\n            closeAllEvent: \"uiWantsToCloseAllTweets\"\n        }), TweetTimeline.attachTo(\"#timeline\", utils.merge(e, {\n            tweetItemSelector: \"div.original-tweet, .conversation-tweet-item div.tweet\"\n        }));\n    };\n;\n    var timelineBoot = require(\"app/boot/timeline\"), tweetsBoot = require(\"app/boot/tweets\"), helpPipsBoot = require(\"app/boot/help_pips\"), CloseAllButton = require(\"app/ui/expando/close_all_button\"), TweetTimeline = require(\"app/ui/timelines/tweet_timeline\"), utils = require(\"core/utils\");\n    module.exports = initialize;\n});\ndefine(\"app/ui/user_completion_module\", [\"module\",\"require\",\"exports\",\"core/component\",], function(module, require, exports) {\n    function userCompletionModule() {\n        this.defaultAttrs({\n            completeProfileSelector: \"#complete-profile-step\",\n            confirmEmailSelector: \"#confirm-email-step[href=#]:not(.completed)\",\n            confirmEmailInboxLinkSelector: \"#confirm-email-step[href!=#]:not(.completed)\",\n            followAccountsSelector: \"#follow-accounts-step\"\n        }), this.openConfirmEmailDialog = function() {\n            this.trigger(\"uiOpenConfirmEmailDialog\");\n        }, this.resendConfirmationEmail = function() {\n            this.trigger(\"uiResendConfirmationEmail\");\n        }, this.setCompleteProfileStepCompleted = function(a, b) {\n            ((((b.sourceEventData.uploadType == \"avatar\")) && this.setStepCompleted(\"completeProfileSelector\")));\n        }, this.setFollowAccountsStepCompleted = function() {\n            this.setStepCompleted(\"followAccountsSelector\");\n        }, this.setStepCompleted = function(a) {\n            this.select(a).removeClass(\"selected\").addClass(\"completed\");\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(JSBNG__document, \"dataImageEnqueued\", this.setCompleteProfileStepCompleted), this.JSBNG__on(JSBNG__document, \"uiDidReachTargetFollowingCount\", this.setFollowAccountsStepCompleted), this.JSBNG__on(\"click\", {\n                confirmEmailSelector: this.openConfirmEmailDialog,\n                confirmEmailInboxLinkSelector: this.resendConfirmationEmail\n            });\n        });\n    };\n;\n    var defineComponent = require(\"core/component\");\n    module.exports = defineComponent(userCompletionModule);\n});\ndefine(\"app/data/user_completion_module_scribe\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_scribe\",], function(module, require, exports) {\n    function userCompletionModuleScribe() {\n        this.defaultAttrs({\n            userCompletionStepSelector: \".user-completion-step:not(.completed)\"\n        }), this.scribeStepClick = function(a, b) {\n            var c = $(a.target).data(\"scribe-element\");\n            this.scribe({\n                component: \"user_completion\",\n                element: c,\n                action: \"click\"\n            });\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"click\", {\n                userCompletionStepSelector: this.scribeStepClick\n            });\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withScribe = require(\"app/data/with_scribe\");\n    module.exports = defineComponent(userCompletionModuleScribe, withScribe);\n});\ndefine(\"app/boot/user_completion_module\", [\"module\",\"require\",\"exports\",\"app/ui/user_completion_module\",\"app/data/user_completion_module_scribe\",\"core/utils\",], function(module, require, exports) {\n    function initialize(a) {\n        var b = \"#user-completion-module\", c = utils.merge(a, {\n            eventData: {\n                scribeContext: {\n                    component: \"user_completion\"\n                }\n            }\n        });\n        UserCompletionModule.attachTo(b, c), UserCompletionModuleScribe.attachTo(b, c);\n    };\n;\n    var UserCompletionModule = require(\"app/ui/user_completion_module\"), UserCompletionModuleScribe = require(\"app/data/user_completion_module_scribe\"), utils = require(\"core/utils\");\n    module.exports = initialize;\n});\ndefine(\"app/ui/who_to_follow/with_user_recommendations\", [\"module\",\"require\",\"exports\",\"core/utils\",\"$lib/bootstrap_tooltip.js\",], function(module, require, exports) {\n    function withUserRecommendations() {\n        this.defaultAttrs({\n            refreshAnimationDuration: 200,\n            cycleTimeout: 1000,\n            experimentCycleTimeout: 300,\n            wtfOptions: {\n            },\n            selfPromotedAccountHtml: \"\",\n            $accountPriorToPreview: null,\n            wtfRefreshOnNewTweets: !1,\n            recListSelector: \".js-recommended-followers\",\n            recSelector: \".js-actionable-user\",\n            refreshRecsSelector: \".js-refresh-suggestions\",\n            similarToContainerSelector: \".js-expanded-similar-to\",\n            expandedContainerSelector: \".js-expanded-container\",\n            itemType: \"user\"\n        }), this.refreshRecommendations = function(a, b) {\n            if (!this.currentlyRefreshing) {\n                this.currentlyRefreshing = !0;\n                var c = ((this.getVisibleIds(null, !0).length || this.attr.wtfOptions.limit));\n                this.trigger(\"uiRefreshUserRecommendations\", utils.merge(this.attr.wtfOptions, {\n                    excluded: this.getVisibleIds(),\n                    limit: c,\n                    refreshType: a.type\n                })), this.hideRecommendations();\n            }\n        ;\n        ;\n        }, this.getUserRecommendations = function(a, b) {\n            this.trigger(\"uiGetUserRecommendations\", utils.merge(this.attr.wtfOptions, ((a || {\n            })))), this.hideRecommendations();\n        }, this.hideRecommendations = function() {\n            this.animateContentOut(this.select(\"recListSelector\"), \"animationCallback\");\n        }, this.handleRecommendationsResponse = function(a, b) {\n            if (this.disabled) {\n                return;\n            }\n        ;\n        ;\n            b = ((b || {\n            }));\n            var c = b.user_recommendations_html;\n            if (c) {\n                var d = this.currentlyRefreshingUser(b);\n                this.$node.addClass(\"has-content\");\n                if (this.shouldExpandWtf(b)) {\n                    var e = $(c), f = e.filter(this.attr.recSelector).first(), g = e.filter(this.attr.expandedContainerSelector);\n                    ((d && this.animateContentIn(d, \"animationCallback\", $(\"\\u003Cdiv\\u003E\").append(f).html(), {\n                        modOp: \"replaceWith\",\n                        scribeCallback: function() {\n                            ((this.currentlyExpanding ? this.pendingScribe = !0 : this.reportUsersDisplayed(b)));\n                        }.bind(this)\n                    }))), ((g.size() && this.animateExpansion(g, b)));\n                }\n                 else {\n                    var h = this.select(\"recListSelector\"), i;\n                    ((d && (h = d, i = \"replaceWith\"))), this.animateContentIn(h, \"animationCallback\", c, {\n                        modOp: i,\n                        scribeCallback: function() {\n                            this.reportUsersDisplayed(b);\n                        }.bind(this)\n                    });\n                }\n            ;\n            ;\n            }\n             else this.handleEmptyRefreshResponse(a, b), this.trigger(\"uiGotEmptyRecommendationsResponse\", b);\n        ;\n        ;\n        }, this.handleRefreshError = function(a, b) {\n            this.handleEmptyRefreshResponse(a, b);\n        }, this.handleEmptyRefreshResponse = function(a, b) {\n            if (!this.select(\"recSelector\").length) {\n                return;\n            }\n        ;\n        ;\n            var c = this.select(\"recListSelector\"), d = this.currentlyRefreshingUser(b);\n            ((d && (c = d))), this.animateContentIn(c, \"animationCallback\", c.html());\n        }, this.getVisibleIds = function(a, b) {\n            var c = this.select(\"recSelector\").not(a);\n            return ((b || (c = c.not(\".promoted-account\")))), c.map(function() {\n                return $(this).attr(\"data-user-id\");\n            }).toArray();\n        }, this.originalItemCount = function() {\n            return $(this.attr.recListSelector).children(this.attr.recSelector).length;\n        }, this.doAfterFollowAction = function(a, b) {\n            if (((this.disabled || ((b.newState != \"following\"))))) {\n                return;\n            }\n        ;\n        ;\n            var c = ((this.expandBucket ? this.attr.experimentCycleTimeout : this.attr.cycleTimeout));\n            JSBNG__setTimeout(function() {\n                if (this.currentlyRefreshing) {\n                    return;\n                }\n            ;\n            ;\n                var a = this.select(\"recSelector\").filter(((((\"[data-user-id='\" + b.userId)) + \"']\")));\n                if (!a.length) {\n                    return;\n                }\n            ;\n            ;\n                this.cycleRecommendation(a, b);\n            }.bind(this), c);\n        }, this.isInSimilarToSection = function(a) {\n            return !!a.closest(this.attr.similarToContainerSelector).length;\n        }, this.cycleRecommendation = function(a, b) {\n            this.animateContentOut(a, \"animationCallback\");\n            var c = utils.merge(this.attr.wtfOptions, {\n                limit: 1,\n                visible: this.getVisibleIds(a),\n                refreshUserId: b.userId\n            });\n            ((this.isInSimilarToSection(a) && (c.user_id = this.select(\"similarToContainerSelector\").data(\"similar-to-user-id\")))), this.trigger(\"uiGetUserRecommendations\", c);\n        }, this.animateExpansion = function(a, b) {\n            var c = this.select(\"recListSelector\"), d = this.select(\"expandedContainerSelector\"), e = function() {\n                ((this.pendingScribe && (this.reportUsersDisplayed(b), this.pendingScribe = !1))), this.currentlyExpanding = !1;\n            };\n            ((d.length ? d.html(a.html()) : c.append(a))), ((a.is(\":visible\") ? e.bind(this)() : a.slideDown(\"slow\", e.bind(this))));\n        }, this.animateContentIn = function(a, b, c, d) {\n            if (!a.length) {\n                return;\n            }\n        ;\n        ;\n            d = ((d || {\n            }));\n            var e = function() {\n                ((a.is(this.attr.recListSelector) && (this.currentlyRefreshing = !1))), a[((d.modOp || \"html\"))](c).animate({\n                    opacity: 1\n                }, this.attr.refreshAnimationDuration), ((d.scribeCallback && d.scribeCallback()));\n            }.bind(this);\n            ((a.is(\":animated\") ? this[b] = e : e()));\n        }, this.animateContentOut = function(a, b) {\n            a.animate({\n                opacity: 0\n            }, {\n                duration: this.attr.refreshAnimationDuration,\n                complete: function() {\n                    ((this[b] && this[b]())), this[b] = null;\n                }.bind(this)\n            });\n        }, this.getItemPosition = function(a) {\n            var b = this.originalItemCount();\n            return ((this.isInSimilarToSection(a) ? ((((b + a.closest(this.attr.recSelector).index())) - 1)) : ((a.closest(this.attr.expandedContainerSelector).length ? ((b + a.closest(this.attr.recSelector).index())) : a.closest(this.attr.recSelector).index()))));\n        }, this.currentlyRefreshingUser = function(a) {\n            return ((((((!a || !a.sourceEventData)) || !a.sourceEventData.refreshUserId)) ? null : this.select(\"recSelector\").filter(((((\"[data-user-id=\" + a.sourceEventData.refreshUserId)) + \"]\")))));\n        }, this.shouldExpandWtf = function(a) {\n            return !!((((a && a.sourceEventData)) && a.sourceEventData.get_replacement));\n        }, this.getUsersDisplayed = function() {\n            var a = this.select(\"recSelector\"), b = [];\n            return a.each(function(a, c) {\n                var d = $(c);\n                b.push({\n                    id: d.attr(\"data-user-id\"),\n                    impressionId: d.attr(\"data-impression-id\")\n                });\n            }), b;\n        }, this.reportUsersDisplayed = function(a) {\n            var b = this.getUsersDisplayed();\n            this.trigger(\"uiUsersDisplayed\", {\n                users: b\n            }), this.trigger(\"uiDidGetRecommendations\", a);\n        }, this.verifyInitialRecommendations = function() {\n            ((this.hasRecommendations() ? this.reportUsersDisplayed({\n                initialResults: !0\n            }) : this.getUserRecommendations({\n                initialResults: !0\n            })));\n        }, this.hasRecommendations = function() {\n            return ((this.select(\"recSelector\").length > 0));\n        }, this.storeSelfPromotedAccount = function(a, b) {\n            ((b.html && (this.selfPromotedAccountHtml = b.html)));\n        }, this.replaceUser = function(a, b) {\n            a.tooltip(\"hide\"), ((a.parent().hasClass(\"preview-wrapper\") && a.unwrap())), a.replaceWith(b);\n        }, this.replaceUserAnimation = function(a, b) {\n            a.tooltip(\"hide\"), this.before(\"teardown\", function() {\n                this.replaceUser(a, b);\n            });\n            var c = $(\"\\u003Cdiv/\\u003E\", {\n                class: a.attr(\"class\"),\n                style: a.attr(\"style\")\n            }).addClass(\"preview-wrapper\");\n            a.wrap(c);\n            var d = a.css(\"minHeight\");\n            a.css({\n                minHeight: 0\n            }).slideUp(70, function() {\n                b.attr(\"style\", a.attr(\"style\")), a.replaceWith(b), b.delay(350).slideDown(70, function() {\n                    b.css({\n                        minHeight: d\n                    }), b.unwrap(), JSBNG__setTimeout(function() {\n                        b.tooltip(\"show\"), JSBNG__setTimeout(function() {\n                            b.tooltip(\"hide\");\n                        }, 8000);\n                    }, 500);\n                });\n            });\n        }, this.handlePreviewPromotedAccount = function() {\n            if (this.disabled) {\n                return;\n            }\n        ;\n        ;\n            if (this.selfPromotedAccountHtml) {\n                var a = $(this.selfPromotedAccountHtml), b = this.select(\"recSelector\").first();\n                this.attr.$accountPriorToPreview = b.clone(), this.replaceUserAnimation(b, a), a.JSBNG__find(\"a\").JSBNG__on(\"click\", function(a) {\n                    a.preventDefault(), a.stopPropagation();\n                });\n            }\n        ;\n        ;\n        }, this.maybeRestoreAccountPriorToPreview = function() {\n            var a = this.attr.$accountPriorToPreview;\n            if (!a) {\n                return;\n            }\n        ;\n        ;\n            this.replaceUser(this.select(\"recSelector\").first(), a), this.attr.$accountPriorToPreview = null;\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(JSBNG__document, \"dataDidGetUserRecommendations\", this.handleRecommendationsResponse), this.JSBNG__on(JSBNG__document, \"dataFailedToGetUserRecommendations\", this.handleRefreshError), this.JSBNG__on(JSBNG__document, \"dataFollowStateChange\", this.doAfterFollowAction), this.JSBNG__on(\"click\", {\n                refreshRecsSelector: this.refreshRecommendations\n            }), this.JSBNG__on(JSBNG__document, \"dataDidGetSelfPromotedAccount\", this.storeSelfPromotedAccount), this.JSBNG__on(JSBNG__document, \"uiPromptbirdPreviewPromotedAccount\", this.handlePreviewPromotedAccount), this.JSBNG__on(JSBNG__document, \"uiPromptbirdDismissPrompt\", this.maybeRestoreAccountPriorToPreview), ((this.attr.wtfRefreshOnNewTweets && this.JSBNG__on(JSBNG__document, \"uiRefreshUserRecsOnNewTweets uiPageChanged\", this.refreshRecommendations)));\n        });\n    };\n;\n    var utils = require(\"core/utils\");\n    require(\"$lib/bootstrap_tooltip.js\"), module.exports = withUserRecommendations;\n});\ndefine(\"app/ui/who_to_follow/who_to_follow_dashboard\", [\"module\",\"require\",\"exports\",\"core/i18n\",\"core/utils\",\"core/component\",\"app/ui/with_user_actions\",\"app/ui/with_item_actions\",\"app/ui/who_to_follow/with_user_recommendations\",], function(module, require, exports) {\n    function whoToFollowDashboard() {\n        this.defaultAttrs({\n            dashboardSelector: \".dashboard-user-recommendations\",\n            recUserSelector: \".dashboard-user-recommendations .js-actionable-user\",\n            dismissRecSelector: \".dashboard-user-recommendations .js-actionable-user .js-action-dismiss\",\n            viewAllSelector: \".js-view-all-link\",\n            interestsSelector: \".js-interests-link\",\n            findFriendsSelector: \".js-find-friends-link\"\n        }), this.dismissRecommendation = function(a, b) {\n            if (!this.currentlyRefreshing) {\n                this.currentlyDismissing = !0;\n                var c = $(a.target).closest(this.attr.recSelector), d = c.attr(\"data-user-id\");\n                this.trigger(\"uiDismissUserRecommendation\", {\n                    recommended_user_id: d,\n                    impressionId: c.attr(\"data-impression-id\"),\n                    excluded: [d,],\n                    visible: this.getVisibleIds(c),\n                    token: c.attr(\"data-feedback-token\"),\n                    dismissable: this.attr.wtfOptions.dismissable,\n                    refreshUserId: d\n                }), this.animateContentOut(c, \"animationCallback\");\n            }\n        ;\n        ;\n        }, this.handleDismissResponse = function(a, b) {\n            b = ((b || {\n            })), this.currentlyDismissing = !1;\n            if (b.user_recommendations_html) {\n                var c = this.currentlyRefreshingUser(b), d = $(b.user_recommendations_html), e = this.getItemPosition(c);\n                this.animateContentIn(c, \"animationCallback\", b.user_recommendations_html, {\n                    modOp: \"replaceWith\",\n                    scribeCallback: function() {\n                        var a = {\n                            oldUser: this.interactionData(c, {\n                                position: e\n                            })\n                        };\n                        ((d.length && (a.newUser = this.interactionData(d, {\n                            position: e\n                        })))), this.trigger(\"uiDidDismissUserRecommendation\", a);\n                    }.bind(this)\n                });\n            }\n             else this.handleEmptyDismissResponse();\n        ;\n        ;\n        }, this.handleDismissError = function(a, b) {\n            var c = this.currentlyRefreshingUser(b);\n            ((c && c.remove())), this.handleEmptyDismissResponse();\n        }, this.handleEmptyDismissResponse = function() {\n            ((this.select(\"recSelector\").length || (this.trigger(\"uiShowMessage\", {\n                message: _(\"You have no more recommendations today!\")\n            }), this.$node.remove())));\n        }, this.enable = function() {\n            this.disabled = !1, this.refreshRecommendations({\n                type: \"empty-timeline\"\n            }), this.$node.show();\n        }, this.initRecommendations = function() {\n            ((this.disabled ? this.$node.hide() : this.verifyInitialRecommendations()));\n        }, this.reset = function() {\n            ((((this.currentlyRefreshing || this.currentlyDismissing)) ? this.select(\"dashboardSelector\").html(\"\") : (this.select(\"dashboardSelector\").css(\"opacity\", 1), this.select(\"recUserSelector\").css(\"opacity\", 1))));\n        }, this.expandWhoToFollow = function(a, b) {\n            this.currentlyExpanding = !0;\n            var c = utils.merge(this.attr.wtfOptions, {\n                limit: 3,\n                visible: this.getVisibleIds(a),\n                refreshUserId: b.userId,\n                get_replacement: !0\n            });\n            this.trigger(\"uiGetUserRecommendations\", c);\n        }, this.triggerLinkClickScribes = function(a) {\n            var b = this, c = {\n                interests_link: this.attr.interestsSelector,\n                import_link: this.attr.findFriendsSelector,\n                view_all_link: this.attr.viewAllSelector,\n                refresh_link: this.attr.refreshRecsSelector\n            }, d = $(a.target);\n            $.each(c, function(a, c) {\n                ((d.is(c) && b.trigger(JSBNG__document, \"uiClickedWtfLink\", {\n                    element: a\n                })));\n            });\n        }, this.after(\"initialize\", function() {\n            this.disabled = ((this.attr.wtfOptions ? this.attr.wtfOptions.disabled : !1)), this.JSBNG__on(JSBNG__document, \"dataDidDismissRecommendation\", this.handleDismissResponse), this.JSBNG__on(JSBNG__document, \"dataFailedToDismissUserRecommendation\", this.handleDismissError), this.JSBNG__on(JSBNG__document, \"uiDidHideEmptyTimelineModule\", this.enable), this.JSBNG__on(JSBNG__document, \"uiSwiftLoaded uiPageChanged\", this.initRecommendations), this.JSBNG__on(JSBNG__document, \"uiBeforePageChanged\", this.reset), this.JSBNG__on(\"click\", {\n                dismissRecSelector: this.dismissRecommendation,\n                interestsSelector: this.triggerLinkClickScribes,\n                viewAllSelector: this.triggerLinkClickScribes,\n                findFriendsSelector: this.triggerLinkClickScribes,\n                refreshRecsSelector: this.triggerLinkClickScribes\n            }), this.around(\"cycleRecommendation\", function(a, b, c) {\n                ((((((((this.attr.wtfOptions.display_location === \"wtf-component\")) && !this.currentlyExpanding)) && ((this.getVisibleIds(null, !0).length <= 3)))) ? this.expandWhoToFollow(b, c) : a(b, c)));\n            });\n        });\n    };\n;\n    var _ = require(\"core/i18n\"), utils = require(\"core/utils\"), defineComponent = require(\"core/component\"), withUserActions = require(\"app/ui/with_user_actions\"), withItemActions = require(\"app/ui/with_item_actions\"), withUserRecommendations = require(\"app/ui/who_to_follow/with_user_recommendations\");\n    module.exports = defineComponent(whoToFollowDashboard, withUserActions, withItemActions, withUserRecommendations);\n});\ndefine(\"app/ui/who_to_follow/who_to_follow_timeline\", [\"module\",\"require\",\"exports\",\"core/i18n\",\"core/component\",\"app/ui/with_user_actions\",\"app/ui/with_item_actions\",\"app/ui/who_to_follow/with_user_recommendations\",], function(module, require, exports) {\n    function whoToFollowTimeline() {\n        this.defaultAttrs({\n            doneButtonSelector: \".empty-timeline .js-done\",\n            headerTextSelector: \".empty-timeline .header-text\",\n            targetFollowingCount: 5,\n            titles: {\n                0: _(\"Here are some people you might enjoy following.\"),\n                1: _(\"Victory! That\\u2019s 1.\"),\n                2: _(\"Congratulations! That\\u2019s 2.\"),\n                3: _(\"Excellent! You\\u2019re making progress.\"),\n                4: _(\"Good work! You\\u2019ve almost reached 5.\"),\n                5: _(\"Yee-haw! That\\u2019s 5 follows. Now you\\u2019re on a roll.\")\n            }\n        }), this.dismissAllRecommendations = function(a, b) {\n            var c = $(b.el);\n            if (c.is(\":disabled\")) {\n                return;\n            }\n        ;\n        ;\n            var d = this.getVisibleIds();\n            this.trigger(\"uiDidDismissEmptyTimelineRecommendations\", {\n                userIds: d\n            }), this.trigger(\"uiDidHideEmptyTimelineModule\"), this.$node.remove();\n        }, this.refreshDoneButtonState = function() {\n            if (((this.followingCount >= this.attr.targetFollowingCount))) {\n                var a = this.select(\"doneButtonSelector\");\n                a.attr(\"disabled\", !1), this.trigger(\"uiDidReachTargetFollowingCount\");\n            }\n        ;\n        ;\n        }, this.refreshTitle = function() {\n            var a = this.attr.titles[this.followingCount.toString()];\n            this.select(\"headerTextSelector\").text(a);\n        }, this.refreshTimeline = function() {\n            this.trigger(\"uiTimelineShouldRefresh\", {\n                injectImmediately: !0\n            });\n        }, this.increaseFollowingCount = function() {\n            this.followingCount++;\n        }, this.decreaseFollowingCount = function() {\n            this.followingCount--;\n        }, this.initRecommendations = function() {\n            this.followingCount = this.attr.wtfOptions.followingCount, this.verifyInitialRecommendations();\n        }, this.after(\"initialize\", function() {\n            this.attr.wtfOptions = ((this.attr.emptyTimelineOptions || {\n            })), this.JSBNG__on(JSBNG__document, \"uiFollowAction\", this.increaseFollowingCount), this.JSBNG__on(JSBNG__document, \"uiUnfollowAction\", this.decreaseFollowingCount), this.JSBNG__on(JSBNG__document, \"dataFollowStateChange\", this.refreshDoneButtonState), this.JSBNG__on(JSBNG__document, \"dataFollowStateChange\", this.refreshTitle), this.JSBNG__on(JSBNG__document, \"dataFollowStateChange\", this.refreshTimeline), this.JSBNG__on(JSBNG__document, \"uiSwiftLoaded uiPageChanged\", this.initRecommendations), this.JSBNG__on(\"click\", {\n                doneButtonSelector: this.dismissAllRecommendations\n            });\n        });\n    };\n;\n    var _ = require(\"core/i18n\"), defineComponent = require(\"core/component\"), withUserActions = require(\"app/ui/with_user_actions\"), withItemActions = require(\"app/ui/with_item_actions\"), withUserRecommendations = require(\"app/ui/who_to_follow/with_user_recommendations\");\n    module.exports = defineComponent(whoToFollowTimeline, withUserActions, withItemActions, withUserRecommendations);\n});\ndefine(\"app/data/who_to_follow\", [\"module\",\"require\",\"exports\",\"core/component\",\"core/utils\",\"app/utils/storage/custom\",\"app/data/with_data\",], function(module, require, exports) {\n    function whoToFollowData() {\n        this.defaults = {\n            maxExcludedRecsInLocalStorage: 100,\n            endpoints: {\n                users: {\n                    url: \"/i/users/recommendations\",\n                    method: \"GET\",\n                    successEvent: \"dataDidGetUserRecommendations\",\n                    errorEvent: \"dataFailedToGetUserRecommendations\"\n                },\n                dismiss: {\n                    url: \"/i/users/recommendations/hide\",\n                    method: \"POST\",\n                    successEvent: \"dataDidDismissRecommendation\",\n                    errorEvent: \"dataFailedToDismissUserRecommendation\"\n                },\n                promoted_self: {\n                    url: \"/i/users/promoted_self\",\n                    method: \"GET\",\n                    successEvent: \"dataDidGetSelfPromotedAccount\",\n                    errorEvent: \"dataFailedToGetSelfPromotedAccount\"\n                }\n            }\n        }, this.refreshEndpoint = function(a) {\n            return this.hitEndpoint(a, {\n                \"Cache-Control\": \"max-age=0\",\n                Pragma: \"no-cache\"\n            });\n        }, this.hitEndpoint = function(a, b) {\n            var b = ((b || {\n            })), c = this.defaults.endpoints[a];\n            return function(a, d) {\n                d = ((d || {\n                })), d.excluded = ((d.excluded || []));\n                var e = ((d.visible || []));\n                delete d.visible, this.JSONRequest({\n                    type: c.method,\n                    url: c.url,\n                    headers: b,\n                    dataType: \"json\",\n                    data: utils.merge(d, {\n                        excluded: this.storage.pushAll(\"excluded\", d.excluded).concat(e).join(\",\")\n                    }),\n                    eventData: d,\n                    success: c.successEvent,\n                    error: c.errorEvent\n                }, c.method);\n            }.bind(this);\n        }, this.excludeUsers = function(a, b) {\n            this.storage.pushAll(\"excluded\", b.userIds), this.trigger(\"dataDidExcludeUserRecommendations\", b);\n        }, this.excludeFollowed = function(a, b) {\n            b = ((b || {\n            })), ((((((b.newState === \"following\")) && b.userId)) && this.storage.push(\"excluded\", b.userId)));\n        }, this.after(\"initialize\", function(a) {\n            var b = customStorage({\n                withArray: !0,\n                withMaxElements: !0,\n                withUniqueElements: !0\n            });\n            this.storage = new b(\"excluded_wtf_recs\"), this.storage.setMaxElements(\"excluded\", this.attr.maxExcludedRecsInLocalStorage), this.JSBNG__on(JSBNG__document, \"uiRefreshUserRecommendations\", this.refreshEndpoint(\"users\")), this.JSBNG__on(JSBNG__document, \"uiGetUserRecommendations\", this.hitEndpoint(\"users\")), this.JSBNG__on(JSBNG__document, \"uiDismissUserRecommendation\", this.hitEndpoint(\"dismiss\")), this.JSBNG__on(JSBNG__document, \"uiDidDismissEmptyTimelineRecommendations\", this.excludeUsers), this.JSBNG__on(JSBNG__document, \"dataFollowStateChange\", this.excludeFollowed), this.JSBNG__on(JSBNG__document, \"uiGotPromptbirdDashboardProfile\", this.hitEndpoint(\"promoted_self\"));\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), utils = require(\"core/utils\"), customStorage = require(\"app/utils/storage/custom\"), withData = require(\"app/data/with_data\"), WhoToFollowData = defineComponent(whoToFollowData, withData);\n    module.exports = WhoToFollowData;\n});\ndefine(\"app/data/who_to_follow_scribe\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/with_interaction_data\",\"app/data/with_interaction_data_scribe\",\"core/utils\",], function(module, require, exports) {\n    function whoToFollowScribe() {\n        this.defaultAttrs({\n            userSelector: \".js-actionable-user\",\n            itemType: \"user\"\n        }), this.scribeDismissRecommendation = function(a, b) {\n            this.scribeInteraction(\"dismiss\", b.oldUser), ((b.newUser && this.scribeInteraction({\n                element: \"replace\",\n                action: \"results\"\n            }, b.newUser, {\n                referring_event: \"replace\"\n            })));\n        }, this.scribeRecommendationResults = function(a, b) {\n            var c = [];\n            ((a.emptyResponse || this.$node.JSBNG__find(this.attr.userSelector).map(function(a, b) {\n                c.push(this.interactionData($(b), {\n                    position: a\n                }));\n            }.bind(this))));\n            var d = ((a.emptyResponse ? \"no_results\" : \"results\"));\n            this.scribeInteractiveResults({\n                element: b,\n                action: d\n            }, c, a, {\n                referring_event: b\n            });\n        }, this.scribeRecommendations = function(a, b) {\n            var c = ((b.sourceEventData || {\n            })), d = ((b.initialResults || c.initialResults));\n            ((d ? (this.scribeRecommendationResults(b, \"initial\"), ((b.emptyResponse || this.scribeRecommendationImpression(b)))) : (this.scribe({\n                action: \"refresh\"\n            }, b, {\n                event_info: c.refreshType\n            }), this.scribeRecommendationResults(b, \"newer\"))));\n        }, this.scribeEmptyRecommendationsResponse = function(a, b) {\n            this.scribeRecommendations(a, utils.merge(b, {\n                emptyResponse: !0\n            }));\n        }, this.scribeRecommendationImpression = function(a) {\n            this.scribe(\"impression\", a);\n        }, this.scribeLinkClicks = function(a, b) {\n            this.scribe({\n                component: \"user_recommendations\",\n                element: b.element,\n                action: \"click\"\n            });\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(JSBNG__document, \"uiDidDismissUserRecommendation\", this.scribeDismissRecommendation), this.JSBNG__on(JSBNG__document, \"uiDidGetRecommendations\", this.scribeRecommendations), this.JSBNG__on(JSBNG__document, \"uiGotEmptyRecommendationsResponse\", this.scribeEmptyRecommendationsResponse), this.JSBNG__on(JSBNG__document, \"uiClickedWtfLink\", this.scribeLinkClicks);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withInteractionData = require(\"app/ui/with_interaction_data\"), withInteractionDataScribe = require(\"app/data/with_interaction_data_scribe\"), utils = require(\"core/utils\");\n    module.exports = defineComponent(whoToFollowScribe, withInteractionData, withInteractionDataScribe);\n});\ndefine(\"app/ui/profile/recent_connections_module\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/with_user_actions\",\"app/ui/with_item_actions\",], function(module, require, exports) {\n    function recentConnectionsModule() {\n        this.defaultAttrs({\n            itemType: \"user\"\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withUserActions = require(\"app/ui/with_user_actions\"), withItemActions = require(\"app/ui/with_item_actions\");\n    module.exports = defineComponent(recentConnectionsModule, withUserActions, withItemActions);\n});\ndefine(\"app/ui/promptbird/with_invite_contacts\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n    function withInviteContacts() {\n        this.defaultAttrs({\n            inviteContactsSelector: \".invite_contacts_prompt.prompt + .promptbird-action-bar .call-to-action\"\n        }), this.doInviteContacts = function(b, c) {\n            b.preventDefault(), this.trigger(\"uiPromptbirdShowInviteContactsDialog\");\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"click\", {\n                inviteContactsSelector: this.doInviteContacts\n            });\n        });\n    };\n;\n    module.exports = withInviteContacts;\n});\ndefine(\"app/ui/promptbird\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/promptbird/with_invite_contacts\",\"app/ui/tweet_dialog\",], function(module, require, exports) {\n    function promptbirdPrompt() {\n        this.defaultAttrs({\n            promptSelector: \".JSBNG__prompt\",\n            languageSelector: \".language\",\n            callToActionSelector: \".call-to-action\",\n            callToActionDismissSelector: \".call-to-action.dismiss-prompt\",\n            delayedDismissSelector: \".js-follow-btn\",\n            dismissSelector: \"a.js-dismiss\",\n            setLanguageSelector: \".call-to-action.set-language\",\n            oneClickImportSelector: \".call-to-action.one-click-import-button\",\n            inlineImportButtonSelector: \".service-links a.service-link\",\n            promptMentionTweetComposeSelector: \".show_tweet_dialog.promptbird-action-bar a.call-to-action\",\n            deviceFollowSelector: \".device-follow.promptbird-action-bar a.call-to-action\",\n            dashboardProfilePromptSelector: \".gain_followers_prompt\",\n            previewPromotedAccountSelector: \".gain_followers_prompt .preview-promoted-account\",\n            followPromptCallToActionSelector: \"div.promptbird-action-bar.user-actions.not-following \\u003E button.js-follow-btn\"\n        }), this.importCallbackUrl = function() {\n            return ((((((window.JSBNG__location.protocol + \"//\")) + window.JSBNG__location.host)) + \"/who_to_follow/matches\"));\n        }, this.promptLanguage = function() {\n            return this.select(\"languageSelector\").attr(\"data-language\");\n        }, this.dismissPrompt = function(a, b) {\n            a.preventDefault(), this.trigger(\"uiPromptbirdDismissPrompt\", {\n                scribeContext: this.scribeContext(),\n                prompt_id: this.$node.data(\"prompt-id\")\n            }), this.$node.remove();\n        }, this.doPromptMentionTweetCompose = function(a, b) {\n            a.preventDefault();\n            var c = this.$node.JSBNG__find(\"a.call-to-action\").data(\"screenname\"), d = this.$node.JSBNG__find(\"a.call-to-action\").data(\"title\");\n            this.trigger(\"uiPromptMentionTweetCompose\", {\n                screenName: c,\n                title: d,\n                scribeContext: this.scribeContext()\n            });\n        }, this.doDeviceFollow = function(a, b) {\n            a.preventDefault();\n            var c = this.$node.JSBNG__find(\".call-to-action\").data(\"user-id\");\n            this.trigger(\"uiDeviceNotificationsOnAction\", {\n                userId: c,\n                scribeContext: this.scribeContext()\n            });\n        }, this.delayedDismissPrompt = function(b, c) {\n            this.trigger(\"uiPromptbirdDismissPrompt\", {\n                prompt_id: this.$node.data(\"prompt-id\")\n            });\n            var d = this.$node;\n            JSBNG__setTimeout(function() {\n                d.remove();\n            }, 1000);\n        }, this.setLanguage = function(a, b) {\n            this.trigger(\"uiPromptbirdSetLanguage\", {\n                lang: this.promptLanguage()\n            });\n        }, this.doOneClickImport = function(a, b) {\n            a.preventDefault();\n            var c = this.$node.JSBNG__find(\"span.one-click-import-button\").data(\"email\"), d = ((\"/invitations/oauth_launch?email=\" + encodeURIComponent(c))), e = this.$node.data(\"prompt-id\"), b = {\n                triggerEvent: !0,\n                url: d\n            };\n            ((((e === 46)) && (b.width = 880, b.height = 550))), this.trigger(\"uiPromptbirdDoOneClickImport\", b);\n        }, this.doInlineContactImport = function(a, b) {\n            a.preventDefault();\n            var c = $(a.target);\n            this.trigger(\"uiPromptbirdDoInlineContactImport\", {\n                url: c.data(\"url\"),\n                width: c.data(\"width\"),\n                height: c.data(\"height\"),\n                popup: c.data(\"popup\"),\n                serviceName: c.JSBNG__find(\"strong.service-name\").data(\"service-id\"),\n                callbackUrl: this.importCallbackUrl()\n            });\n        }, this.clickAndDismissPrompt = function(a, b) {\n            this.trigger(\"uiPromptbirdDismissPrompt\", {\n                scribeContext: this.scribeContext(),\n                prompt_id: this.$node.data(\"prompt-id\")\n            }), this.$node.remove();\n        }, this.generateClickEvent = function(a, b) {\n            this.trigger(\"uiPromptbirdClick\", {\n                scribeContext: this.scribeContext(),\n                prompt_id: this.$node.data(\"prompt-id\")\n            }), this.$node.hide();\n        }, this.clickPreviewPromotedAccount = function(a, b) {\n            a.preventDefault(), this.trigger(\"uiPromptbirdPreviewPromotedAccount\", {\n                scribeContext: this.scribeContext()\n            });\n        }, this.showDashboardProfilePrompt = function() {\n            this.$node.slideDown(\"fast\"), this.trigger(\"uiShowDashboardProfilePromptbird\", {\n                scribeContext: this.scribeContext()\n            });\n        }, this.maybeInitDashboardProfilePrompt = function() {\n            if (((this.select(\"dashboardProfilePromptSelector\").length === 0))) {\n                return;\n            }\n        ;\n        ;\n            this.JSBNG__on(JSBNG__document, \"uiDidGetRecommendations\", function() {\n                this.trigger(\"uiGotPromptbirdDashboardProfile\"), this.JSBNG__on(JSBNG__document, \"dataDidGetSelfPromotedAccount\", this.showDashboardProfilePrompt);\n            });\n        }, this.scribeContext = function() {\n            return {\n                component: ((\"promptbird_\" + this.$node.data(\"prompt-id\")))\n            };\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"click\", {\n                callToActionSelector: this.generateClickEvent,\n                callToActionDismissSelector: this.clickAndDismissPrompt,\n                dismissSelector: this.dismissPrompt,\n                delayedDismissSelector: this.delayedDismissPrompt,\n                setLanguageSelector: this.setLanguage,\n                oneClickImportSelector: this.doOneClickImport,\n                inlineImportButtonSelector: this.doInlineContactImport,\n                previewPromotedAccountSelector: this.clickPreviewPromotedAccount,\n                promptMentionTweetComposeSelector: this.doPromptMentionTweetCompose,\n                followPromptCallToActionSelector: this.generateClickEvent,\n                deviceFollowSelector: this.doDeviceFollow\n            }), this.JSBNG__on(JSBNG__document, \"uiPromptbirdInviteContactsSuccess\", this.dismissPrompt), this.maybeInitDashboardProfilePrompt();\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withInviteContacts = require(\"app/ui/promptbird/with_invite_contacts\"), tweetDialog = require(\"app/ui/tweet_dialog\");\n    module.exports = defineComponent(promptbirdPrompt, withInviteContacts);\n});\ndefine(\"app/utils/oauth_popup\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n    module.exports = function(a) {\n        var b = a.url, c = ((((b.indexOf(\"?\") == -1)) ? \"?\" : \"&\"));\n        ((a.callbackUrl ? b += ((((c + \"callback_hash=\")) + encodeURIComponent(a.callbackUrl))) : ((a.triggerEvent && (b += ((c + \"trigger_event=true\")))))));\n        var d = $(window), e = ((((window.JSBNG__screenY || window.JSBNG__screenTop)) || 0)), f = ((((window.JSBNG__screenX || window.JSBNG__screenLeft)) || 0)), g = ((((((d.height() - 500)) / 2)) + e)), h = ((((((d.width() - 500)) / 2)) + f)), a = {\n            width: ((a.width ? a.width : 500)),\n            height: ((a.height ? a.height : 500)),\n            JSBNG__top: g,\n            left: h,\n            JSBNG__toolbar: \"no\",\n            JSBNG__location: \"yes\"\n        }, i = $.param(a).replace(/&/g, \",\");\n        window.open(b, \"twitter_oauth\", i).JSBNG__focus();\n    };\n});\ndefine(\"app/data/promptbird\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_data\",\"app/utils/oauth_popup\",], function(module, require, exports) {\n    function promptbirdData() {\n        this.languageChanged = function(a, b) {\n            window.JSBNG__location.reload();\n        }, this.changeLanguage = function(a, b) {\n            var c = {\n                lang: b.lang\n            };\n            this.post({\n                url: \"/settings/account/set_language\",\n                eventData: c,\n                data: c,\n                success: \"dataPromptbirdLanguageChangeSuccess\",\n                error: \"dataPromptbirdLanguageChangeFailure\"\n            });\n        }, this.dismissPrompt = function(a, b) {\n            var c = {\n                prompt_id: b.prompt_id\n            };\n            this.post({\n                url: \"/users/dismiss_prompt\",\n                headers: {\n                    \"X-PHX\": !0\n                },\n                eventData: c,\n                data: c,\n                success: \"dataPromptbirdPromptDismissed\",\n                error: \"dataPromptbirdPromptDismissalError\"\n            });\n        }, this.clickPrompt = function(a, b) {\n            var c = {\n                prompt_id: b.prompt_id\n            };\n            this.post({\n                url: \"/users/click_prompt\",\n                headers: {\n                    \"X-PHX\": !0\n                },\n                eventData: c,\n                data: c,\n                success: \"dataPromptbirdPromptClicked\",\n                error: \"dataPromptbirdPromptClickError\"\n            });\n        }, this.doOneClickImport = function(a, b) {\n            oauthPopup(b), this.trigger(\"dataPromptbirdDidOneClickImport\", b);\n        }, this.doInlineContactImport = function(a, b) {\n            var c = b.url;\n            ((c && ((b.popup ? oauthPopup({\n                url: c,\n                width: b.width,\n                height: b.height,\n                callbackUrl: b.callbackUrl\n            }) : window.open(c, \"_blank\").JSBNG__focus()))));\n        }, this.onPromptMentionTweetCompose = function(a, b) {\n            this.trigger(\"uiOpenTweetDialog\", b);\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"uiPromptbirdSetLanguage\", this.changeLanguage), this.JSBNG__on(\"uiPromptbirdDismissPrompt\", this.dismissPrompt), this.JSBNG__on(\"uiPromptbirdClick\", this.clickPrompt), this.JSBNG__on(\"uiPromptbirdDoOneClickImport\", this.doOneClickImport), this.JSBNG__on(\"dataPromptbirdLanguageChangeSuccess\", this.languageChanged), this.JSBNG__on(\"uiPromptbirdDoInlineContactImport\", this.doInlineContactImport), this.JSBNG__on(\"uiPromptMentionTweetCompose\", this.onPromptMentionTweetCompose);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withData = require(\"app/data/with_data\"), oauthPopup = require(\"app/utils/oauth_popup\");\n    module.exports = defineComponent(promptbirdData, withData);\n});\ndefine(\"app/data/promptbird_scribe\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_scribe\",], function(module, require, exports) {\n    function promptbirdScribe() {\n        this.after(\"initialize\", function() {\n            this.scribeOnEvent(\"uiPromptbirdClick\", {\n                action: \"click\"\n            }), this.scribeOnEvent(\"uiPromptbirdPreviewPromotedAccount\", {\n                action: \"preview\"\n            }), this.scribeOnEvent(\"uiPromptbirdDismissPrompt\", {\n                action: \"dismiss\"\n            }), this.scribeOnEvent(\"uiShowDashboardProfilePromptbird\", {\n                action: \"show\"\n            }), this.scribeOnEvent(\"uiPromptMentionTweetCompose\", {\n                action: \"show\"\n            });\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withScribe = require(\"app/data/with_scribe\");\n    module.exports = defineComponent(promptbirdScribe, withScribe);\n});\ndefine(\"app/ui/with_select_all\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n    function withSelectAll() {\n        this.defaultAttrs({\n        }), this.checkboxChanged = function(a) {\n            var b = this.select(\"checkboxSelector\"), c = this.select(\"checkedCheckboxSelector\");\n            this.select(\"actionButtonSelector\").attr(\"disabled\", ((c.length == 0))), this.select(\"selectAllSelector\").attr(\"checked\", ((c.length == b.length))), this.trigger(\"uiListSelectionChanged\");\n        }, this.selectAllChanged = function() {\n            var a = this.select(\"selectAllSelector\");\n            this.select(\"checkboxSelector\").attr(\"checked\", a.is(\":checked\")), this.select(\"actionButtonSelector\").attr(\"disabled\", !a.is(\":checked\")), this.trigger(\"uiListSelectionChanged\");\n        }, this.after(\"initialize\", function() {\n            this.attr.checkedCheckboxSelector = ((this.attr.checkboxSelector + \":checked\")), this.JSBNG__on(\"change\", {\n                checkboxSelector: this.checkboxChanged,\n                selectAllSelector: this.selectAllChanged\n            });\n        });\n    };\n;\n    module.exports = withSelectAll;\n});\ndefine(\"app/ui/who_to_follow/with_invite_messages\", [\"module\",\"require\",\"exports\",\"core/i18n\",], function(module, require, exports) {\n    function withInviteMessages() {\n        this.defaultAttrs({\n            showMessageOnSuccess: !0\n        }), this.showSuccessMessage = function(a, b) {\n            var c = this.select(\"actionButtonSelector\"), d = c.data(\"done-href\");\n            if (d) {\n                this.trigger(\"uiNavigate\", {\n                    href: d\n                });\n                return;\n            }\n        ;\n        ;\n            var e, f;\n            ((b ? (e = b.invited.length, f = _(\"We let {{count}} of your contacts know about Twitter.\", {\n                count: e\n            })) : (e = -1, f = _(\"We let your contacts know about Twitter.\")))), ((this.attr.showMessageOnSuccess && this.trigger(\"uiShowMessage\", {\n                message: f\n            }))), this.trigger(\"uiInviteFinished\", {\n                count: e\n            });\n        }, this.showFailureMessage = function(a, b) {\n            var c = ((((b.errors && b.errors[0])) && b.errors[0].code));\n            switch (c) {\n              case 47:\n                this.trigger(\"uiShowError\", {\n                    message: _(\"We couldn't send invitations to any of those addresses.\")\n                });\n                break;\n              case 37:\n                this.trigger(\"uiShowError\", {\n                    message: _(\"There was an error emailing your contacts. Please try again later.\")\n                });\n                break;\n              default:\n                this.showSuccessMessage(a);\n            };\n        ;\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(JSBNG__document, \"dataInviteContactsSuccess\", this.showSuccessMessage), this.JSBNG__on(JSBNG__document, \"dataInviteContactsFailure\", this.showFailureMessage);\n        });\n    };\n;\n    var _ = require(\"core/i18n\");\n    module.exports = withInviteMessages;\n});\ndefine(\"app/ui/who_to_follow/with_invite_preview\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n    function withInvitePreview() {\n        this.defaultAttrs({\n            previewInviteSelector: \".js-preview-invite\"\n        }), this.previewInvite = function(a, b) {\n            a.preventDefault(), window.open(\"/invitations/email_preview\", \"invitation_email_preview\", \"height=550,width=740\"), this.trigger(\"uiPreviewInviteOpened\");\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"click\", {\n                previewInviteSelector: this.previewInvite\n            });\n        });\n    };\n;\n    module.exports = withInvitePreview;\n});\ndefine(\"app/ui/who_to_follow/with_unmatched_contacts\", [\"module\",\"require\",\"exports\",\"core/compose\",\"app/ui/with_select_all\",\"app/ui/who_to_follow/with_invite_messages\",\"app/ui/who_to_follow/with_invite_preview\",], function(module, require, exports) {\n    function withUnmatchedContacts() {\n        compose.mixin(this, [withSelectAll,withInviteMessages,withInvitePreview,]), this.defaultAttrs({\n            checkboxSelector: \".contact-checkbox\",\n            selectAllSelector: \".select-all-contacts\",\n            actionButtonSelector: \".js-invite\"\n        }), this.inviteChecked = function() {\n            var a = [], b = this.select(\"checkedCheckboxSelector\");\n            b.each(function() {\n                var b = $(this), c = b.closest(\"label\").JSBNG__find(\".contact-item-name\").text(), d = {\n                    email: b.val()\n                };\n                ((((c != d.email)) && (d.JSBNG__name = c))), a.push(d);\n            }), this.select(\"actionButtonSelector\").attr(\"disabled\", !0), this.trigger(\"uiInviteContacts\", {\n                invitable: this.select(\"checkboxSelector\").length,\n                contacts: a,\n                scribeContext: {\n                    component: this.attr.inviteContactsComponent\n                }\n            });\n        }, this.reenableActionButton = function() {\n            this.select(\"actionButtonSelector\").attr(\"disabled\", !1);\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"change\", {\n                checkboxSelector: this.checkboxChanged,\n                selectAllSelector: this.selectAllChanged\n            }), this.JSBNG__on(\"click\", {\n                actionButtonSelector: this.inviteChecked\n            }), this.JSBNG__on(JSBNG__document, \"dataInviteContactsSuccess dataInviteContactsFailure\", this.reenableActionButton);\n        });\n    };\n;\n    var compose = require(\"core/compose\"), withSelectAll = require(\"app/ui/with_select_all\"), withInviteMessages = require(\"app/ui/who_to_follow/with_invite_messages\"), withInvitePreview = require(\"app/ui/who_to_follow/with_invite_preview\");\n    module.exports = withUnmatchedContacts;\n});\ndefine(\"app/ui/dialogs/promptbird_invite_contacts_dialog\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/with_position\",\"app/ui/with_dialog\",\"app/ui/who_to_follow/with_unmatched_contacts\",], function(module, require, exports) {\n    function promptbirdInviteContactsDialog() {\n        this.defaultAttrs({\n            contactSelector: \".contact-item\",\n            inviteContactsComponent: \"invite_contacts_promptbird\"\n        }), this.contactCheckboxChanged = function(a) {\n            var b = $(a.target);\n            b.closest(this.attr.contactSelector).toggleClass(\"selected\", b.is(\":checked\"));\n        }, this.contactSelectAllChanged = function() {\n            var a = this.select(\"selectAllSelector\");\n            this.select(\"contactSelector\").toggleClass(\"selected\", a.is(\":checked\"));\n        }, this.inviteSuccess = function(a, b) {\n            this.close(), this.trigger(\"uiPromptbirdInviteContactsSuccess\");\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"change\", {\n                checkboxSelector: this.contactCheckboxChanged,\n                selectAllSelector: this.contactSelectAllChanged\n            }), this.JSBNG__on(JSBNG__document, \"uiPromptbirdShowInviteContactsDialog\", this.open), this.JSBNG__on(JSBNG__document, \"uiInviteFinished\", this.inviteSuccess), this.JSBNG__on(JSBNG__document, \"dataInviteContactsFailure\", this.close);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withPosition = require(\"app/ui/with_position\"), withDialog = require(\"app/ui/with_dialog\"), withUnmatchedContacts = require(\"app/ui/who_to_follow/with_unmatched_contacts\");\n    module.exports = defineComponent(promptbirdInviteContactsDialog, withDialog, withPosition, withUnmatchedContacts);\n});\ndefine(\"app/data/contact_import\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_data\",], function(module, require, exports) {\n    function contactImportData() {\n        this.contactImportStatus = function(a, b) {\n            this.get({\n                url: \"/who_to_follow/import/status\",\n                data: {\n                },\n                eventData: b,\n                success: \"dataContactImportStatusSuccess\",\n                error: \"dataContactImportStatusFailure\"\n            });\n        }, this.contactImportFollow = function(a, b) {\n            var c = {\n                user_ids: ((b.includeIds || [])),\n                unchecked_user_ids: ((b.excludeIds || []))\n            };\n            this.post({\n                url: \"/find_sources/contacts/follow_some.json\",\n                data: c,\n                eventData: b,\n                headers: {\n                    \"X-PHX\": !0\n                },\n                success: this.handleContactImportSuccess.bind(this),\n                error: \"dataContactImportFollowFailure\"\n            });\n        }, this.handleContactImportSuccess = function(a) {\n            a.followed_ids.forEach(function(a) {\n                this.trigger(\"dataBulkFollowStateChange\", {\n                    userId: a,\n                    newState: \"following\"\n                });\n            }.bind(this)), a.requested_ids.forEach(function(a) {\n                this.trigger(\"dataBulkFollowStateChange\", {\n                    userId: a,\n                    newState: \"pending\"\n                });\n            }.bind(this)), this.trigger(\"dataContactImportFollowSuccess\", a);\n        }, this.inviteContacts = function(a, b) {\n            var c = b.contacts.map(function(a) {\n                return ((a.JSBNG__name ? ((((((((\"\\\"\" + a.JSBNG__name.replace(/\"/g, \"\\\\\\\"\"))) + \"\\\" \\u003C\")) + a.email)) + \"\\u003E\")) : a.email));\n            });\n            this.post({\n                url: \"/users/send_invites_by_email\",\n                data: {\n                    addresses: c.join(\",\"),\n                    source: \"contact_import\"\n                },\n                eventData: b,\n                success: \"dataInviteContactsSuccess\",\n                error: \"dataInviteContactsFailure\"\n            });\n        }, this.wipeAddressbook = function(a, b) {\n            this.post({\n                url: \"/users/wipe_addressbook.json\",\n                headers: {\n                    \"X-PHX\": !0\n                },\n                data: {\n                },\n                eventData: b,\n                success: \"dataWipeAddressbookSuccess\",\n                error: \"dataWipeAddressbookFailure\"\n            });\n        }, this.unmatchedContacts = function(a, b) {\n            this.get({\n                url: \"/welcome/unmatched_contacts\",\n                data: {\n                },\n                eventData: b,\n                success: \"dataUnmatchedContactsSuccess\",\n                error: \"dataUnmatchedContactsFailure\"\n            });\n        }, this.getMatchesModule = function(a, b) {\n            function c(a) {\n                ((a.html && this.trigger(\"dataContactImportMatchesSuccess\", a)));\n            };\n        ;\n            this.get({\n                url: \"/who_to_follow/matches\",\n                data: {\n                },\n                eventData: b,\n                success: c.bind(this),\n                error: \"dataContactImportMatchesFailure\"\n            });\n        }, this.inviteModule = function(a, b) {\n            function c(a) {\n                ((a.html && this.trigger(\"dataInviteModuleSuccess\", a)));\n            };\n        ;\n            this.get({\n                url: \"/who_to_follow/invite\",\n                data: {\n                },\n                eventData: b,\n                success: c.bind(this),\n                error: \"dataInviteModuleFailure\"\n            });\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(JSBNG__document, \"uiWantsContactImportStatus\", this.contactImportStatus), this.JSBNG__on(JSBNG__document, \"uiContactImportFollow\", this.contactImportFollow), this.JSBNG__on(JSBNG__document, \"uiWantsUnmatchedContacts\", this.unmatchedContacts), this.JSBNG__on(JSBNG__document, \"uiInviteContacts\", this.inviteContacts), this.JSBNG__on(JSBNG__document, \"uiWantsAddressbookWiped\", this.wipeAddressbook), this.JSBNG__on(JSBNG__document, \"uiWantsContactImportMatches\", this.getMatchesModule), this.JSBNG__on(JSBNG__document, \"uiWantsInviteModule\", this.inviteModule);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withData = require(\"app/data/with_data\");\n    module.exports = defineComponent(contactImportData, withData);\n});\ndefine(\"app/data/contact_import_scribe\", [\"module\",\"require\",\"exports\",\"core/component\",\"core/utils\",\"app/data/with_scribe\",], function(module, require, exports) {\n    function contactImportScribe() {\n        this.scribeServiceLaunch = function(a, b) {\n            this.scribe({\n                component: \"import_service_stream\",\n                action: \"launch_service\"\n            }, {\n                query: b.service\n            });\n        }, this.scribePreviewInviteOpened = function(a, b) {\n            this.scribe({\n                component: \"invite_friends\",\n                element: \"preview_invite_link\",\n                action: \"click\"\n            });\n        }, this.scribeFollowSuccess = function(a, b) {\n            this.scribe({\n                component: \"stream_header\",\n                action: \"follow\"\n            }, {\n                item_count: b.followed_ids.length,\n                item_ids: b.followed_ids,\n                event_value: b.followed_ids.length,\n                event_info: \"follow_all\"\n            });\n        }, this.scribeInvitationSuccess = function(a, b) {\n            var c = b.sourceEventData, d = b.sourceEventData.scribeContext;\n            ((((c.invitable !== undefined)) && this.scribe(utils.merge({\n            }, d, {\n                action: \"invitable\"\n            }), {\n                item_count: c.invitable\n            }))), this.scribe(utils.merge({\n            }, d, {\n                action: \"invited\"\n            }), {\n                item_count: c.contacts.length,\n                event_value: c.contacts.length\n            });\n        }, this.scribeInvitationFailure = function(a, b) {\n            var c = b.sourceEventData, d = b.sourceEventData.scribeContext, e = ((((b.errors && b.errors[0])) && b.errors[0].code));\n            this.scribe(utils.merge({\n            }, d, {\n                action: \"error\"\n            }), {\n                item_count: c.contacts.length,\n                status_code: e\n            });\n        }, this.scribeLinkClick = function(a, b) {\n            var c = a.target.className;\n            ((((c.indexOf(\"find-friends-btn\") != -1)) && this.scribe({\n                component: \"empty_timeline\",\n                element: \"find_friends_link\",\n                action: \"click\"\n            })));\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"uiImportServiceLaunched\", this.scribeServiceLaunch), this.JSBNG__on(\"uiPreviewInviteOpened\", this.scribePreviewInviteOpened), this.JSBNG__on(\"dataContactImportFollowSuccess\", this.scribeFollowSuccess), this.JSBNG__on(\"dataInviteContactsSuccess\", this.scribeInvitationSuccess), this.JSBNG__on(\"dataInviteContactsFailure\", this.scribeInvitationFailure), this.JSBNG__on(\"click\", this.scribeLinkClick);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), utils = require(\"core/utils\"), withScribe = require(\"app/data/with_scribe\");\n    module.exports = defineComponent(contactImportScribe, withScribe);\n});\ndefine(\"app/ui/with_import_services\", [\"module\",\"require\",\"exports\",\"core/i18n\",\"app/utils/oauth_popup\",], function(module, require, exports) {\n    function withImportServices() {\n        this.launchService = function(a) {\n            var b = $(a.target).closest(this.attr.launchServiceSelector);\n            this.oauthPopup({\n                url: b.data(\"url\"),\n                triggerEvent: !0,\n                width: b.data(\"width\"),\n                height: b.data(\"height\")\n            }), this.trigger(\"uiImportServiceLaunched\", {\n                service: b.data(\"service\")\n            });\n        }, this.importDeniedFailure = function() {\n            this.trigger(\"uiShowError\", {\n                message: _(\"You denied Twitter's access to your contact information.\")\n            });\n        }, this.importMissingFailure = function() {\n            this.trigger(\"uiShowError\", {\n                message: _(\"An error occurred validating your credentials.\")\n            });\n        }, this.after(\"initialize\", function() {\n            this.oauthPopup = oauthPopup, this.JSBNG__on(JSBNG__document, \"uiOauthImportDenied\", this.importDeniedFailure), this.JSBNG__on(JSBNG__document, \"uiOauthImportMissing\", this.importMissingFailure), this.JSBNG__on(\"click\", {\n                launchServiceSelector: this.launchService\n            });\n        });\n    };\n;\n    var _ = require(\"core/i18n\"), oauthPopup = require(\"app/utils/oauth_popup\");\n    module.exports = withImportServices;\n});\ndefine(\"app/ui/who_to_follow/import_services\", [\"module\",\"require\",\"exports\",\"core/component\",\"core/i18n\",\"app/ui/with_import_services\",], function(module, require, exports) {\n    function importServices() {\n        this.defaultAttrs({\n            launchServiceSelector: \".js-service-row\",\n            matchesHref: \"/who_to_follow/matches\",\n            redirectOnSuccess: !0\n        }), this.importSuccess = function() {\n            this.trigger(\"uiOpenImportLoadingDialog\"), this.startPolling();\n        }, this.dialogCancelled = function() {\n            this.stopPolling();\n        }, this.startPolling = function() {\n            this.pollingCount = 0, this.interval = window.JSBNG__setInterval(this.checkForContacts.bind(this), 3000);\n        }, this.stopPolling = function() {\n            ((this.interval && (window.JSBNG__clearInterval(this.interval), this.interval = null))), this.trigger(\"uiCloseDialog\");\n        }, this.checkForContacts = function() {\n            ((((this.pollingCount++ > 15)) ? (this.trigger(\"uiShowError\", {\n                message: _(\"Loading seems to be taking a while. Please wait a moment and try again.\")\n            }), this.stopPolling()) : this.trigger(\"uiWantsContactImportStatus\")));\n        }, this.hasStatus = function(a, b) {\n            ((b.done && (this.stopPolling(), ((b.error ? this.trigger(\"uiShowError\", {\n                message: b.message\n            }) : ((this.attr.redirectOnSuccess ? this.trigger(\"uiNavigate\", {\n                href: this.attr.matchesHref\n            }) : this.trigger(\"uiWantsContactImportMatches\"))))))));\n        }, this.after(\"initialize\", function(a) {\n            this.JSBNG__on(JSBNG__document, \"uiOauthImportSuccess\", this.importSuccess), this.JSBNG__on(JSBNG__document, \"uiImportLoadingDialogCancelled\", this.dialogCancelled), this.JSBNG__on(JSBNG__document, \"dataContactImportStatusSuccess\", this.hasStatus), ((a.hasUserCompletionModule && (this.attr.matchesHref += \"?from_num=1\")));\n        }), this.after(\"teardown\", function() {\n            this.stopPolling();\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), _ = require(\"core/i18n\"), withImportServices = require(\"app/ui/with_import_services\");\n    module.exports = defineComponent(importServices, withImportServices);\n});\ndefine(\"app/ui/who_to_follow/import_loading_dialog\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/with_position\",\"app/ui/with_dialog\",], function(module, require, exports) {\n    function importLoadingDialog() {\n        this.defaultAttrs({\n            closeSelector: \".modal-close\"\n        }), this.after(\"afterClose\", function() {\n            this.trigger(\"uiImportLoadingDialogCancelled\");\n        }), this.after(\"initialize\", function() {\n            this.JSBNG__on(JSBNG__document, \"uiOpenImportLoadingDialog\", this.open);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withPosition = require(\"app/ui/with_position\"), withDialog = require(\"app/ui/with_dialog\");\n    module.exports = defineComponent(importLoadingDialog, withDialog, withPosition);\n});\ndefine(\"app/ui/dashboard_tweetbox\", [\"module\",\"require\",\"exports\",\"core/component\",\"core/utils\",], function(module, require, exports) {\n    function dashboardTweetbox() {\n        this.defaultAttrs({\n            hasDefaultText: !0,\n            tweetFormSelector: \".tweet-form\",\n            defaultTextFrom: \"data-screen-name\",\n            prependText: \"@\"\n        }), this.openTweetBox = function() {\n            var a = this.attr.prependText, b = ((this.$node.attr(this.attr.defaultTextFrom) || \"\")), c = this.select(\"tweetFormSelector\");\n            this.trigger(c, \"uiInitTweetbox\", utils.merge({\n                draftTweetId: this.attr.draftTweetId,\n                condensable: !0,\n                condensedText: ((a + b)),\n                defaultText: ((this.attr.hasDefaultText ? ((((a + b)) + \" \")) : \"\"))\n            }, {\n                eventData: this.attr.eventData\n            }));\n        }, this.after(\"initialize\", function() {\n            this.openTweetBox();\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), utils = require(\"core/utils\");\n    module.exports = defineComponent(dashboardTweetbox);\n});\ndefine(\"app/utils/boomerang\", [\"module\",\"require\",\"exports\",\"core/component\",\"core/clock\",\"app/data/scribe_transport\",], function(module, require, exports) {\n    function Boomerang() {\n        this.initializeBoomerang = function() {\n            var a = {\n                allow_ssl: !0,\n                autorun: !1,\n                user_ip: this.attr.ip,\n                BW: {\n                    base_url: this.attr.baseUrl,\n                    cookie: ((this.attr.force ? null : \"BA\"))\n                }\n            }, b = function(a) {\n                ((((((a && a.bw)) || this.attr.inTest)) && this.scribeBoomerangResults(a)));\n                try {\n                    delete window.BOOMR;\n                } catch (b) {\n                    window.BOOMR = undefined;\n                };\n            ;\n            }.bind(this);\n            using(\"app/utils/boomerang_lib\", function() {\n                delete BOOMR.plugins.RT, BOOMR.init(a), BOOMR.subscribe(\"before_beacon\", b), clock.setTimeoutEvent(\"boomerangStart\", 10000);\n            });\n        }, this.scribeBoomerangResults = function(a) {\n            var b = parseInt(((a.bw / 1024)), 10), c = parseInt(((((a.bw_err * 100)) / a.bw)), 10), d = parseInt(((((a.lat_err * 100)) / a.lat)), 10);\n            scribeTransport.send({\n                event_name: \"measurement\",\n                load_time_ms: a.t_done,\n                bandwidth_kbytes: b,\n                bandwidth_error_percent: c,\n                latency_ms: a.lat,\n                latency_error_percent: d,\n                product: \"webclient\",\n                base_url: this.attr.baseUrl\n            }, \"boomerang\"), ((this.attr.force && this.trigger(\"uiShowError\", {\n                message: ((((((((((((((\"Bandwidth: \" + b)) + \" KB/s &plusmn; \")) + c)) + \"%\\u003Cbr /\\u003ELatency: \")) + a.lat)) + \" ms &plusmn; \")) + a.lat_err))\n            })));\n        }, this.startBoomerang = function() {\n            BOOMR.page_ready();\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(window, \"load\", this.initializeBoomerang), this.JSBNG__on(\"boomerangStart\", this.startBoomerang);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), clock = require(\"core/clock\"), scribeTransport = require(\"app/data/scribe_transport\");\n    module.exports = defineComponent(Boomerang);\n});\ndefine(\"app/ui/profile_stats\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/with_profile_stats\",], function(module, require, exports) {\n    var defineComponent = require(\"core/component\"), withProfileStats = require(\"app/ui/with_profile_stats\");\n    module.exports = defineComponent(withProfileStats);\n});\ndefine(\"app/pages/home\", [\"module\",\"require\",\"exports\",\"app/boot/app\",\"app/boot/trends\",\"app/boot/tweet_timeline\",\"app/boot/user_completion_module\",\"app/ui/who_to_follow/who_to_follow_dashboard\",\"app/ui/who_to_follow/who_to_follow_timeline\",\"app/data/who_to_follow\",\"app/data/who_to_follow_scribe\",\"app/ui/profile/recent_connections_module\",\"app/ui/promptbird\",\"app/data/promptbird\",\"app/data/promptbird_scribe\",\"app/ui/dialogs/promptbird_invite_contacts_dialog\",\"app/data/contact_import\",\"app/data/contact_import_scribe\",\"app/data/contact_import\",\"app/ui/who_to_follow/import_services\",\"app/ui/who_to_follow/import_loading_dialog\",\"app/ui/dashboard_tweetbox\",\"app/utils/boomerang\",\"core/utils\",\"core/i18n\",\"app/ui/profile_stats\",], function(module, require, exports) {\n    var bootApp = require(\"app/boot/app\"), trendsBoot = require(\"app/boot/trends\"), tweetTimelineBoot = require(\"app/boot/tweet_timeline\"), userCompletionModuleBoot = require(\"app/boot/user_completion_module\"), WhoToFollowDashboard = require(\"app/ui/who_to_follow/who_to_follow_dashboard\"), WhoToFollowTimeline = require(\"app/ui/who_to_follow/who_to_follow_timeline\"), WhoToFollowData = require(\"app/data/who_to_follow\"), WhoToFollowScribe = require(\"app/data/who_to_follow_scribe\"), RecentConnectionsModule = require(\"app/ui/profile/recent_connections_module\"), PromptbirdUI = require(\"app/ui/promptbird\"), PromptbirdData = require(\"app/data/promptbird\"), PromptbirdScribe = require(\"app/data/promptbird_scribe\"), PromptbirdInviteContactsDialog = require(\"app/ui/dialogs/promptbird_invite_contacts_dialog\"), ContactImport = require(\"app/data/contact_import\"), ContactImportScribe = require(\"app/data/contact_import_scribe\"), ContactImportData = require(\"app/data/contact_import\"), ImportServices = require(\"app/ui/who_to_follow/import_services\"), ImportLoadingDialog = require(\"app/ui/who_to_follow/import_loading_dialog\"), DashboardTweetbox = require(\"app/ui/dashboard_tweetbox\"), Boomerang = require(\"app/utils/boomerang\"), utils = require(\"core/utils\"), _ = require(\"core/i18n\"), ProfileStats = require(\"app/ui/profile_stats\");\n    module.exports = function(a) {\n        bootApp(a), trendsBoot(a), tweetTimelineBoot(utils.merge(a, {\n            preservedScrollEnabled: !0\n        }), a.timeline_url, \"tweet\", \"tweet\"), userCompletionModuleBoot(a);\n        var b = utils.merge(a, {\n            eventData: {\n                scribeContext: {\n                    component: \"user_recommendations\"\n                }\n            }\n        }), c = \".promptbird\", d = utils.merge(a, {\n            eventData: {\n                scribeContext: {\n                    section: \"JSBNG__home\"\n                }\n            }\n        });\n        PromptbirdData.attachTo(JSBNG__document, d), PromptbirdUI.attachTo(c, d), PromptbirdScribe.attachTo(c, d);\n        var e = $(c).data(\"prompt-id\");\n        ((((((((e === 46)) || ((e === 49)))) || ((e === 50)))) ? (ContactImportData.attachTo(JSBNG__document), ContactImportScribe.attachTo(JSBNG__document), ImportServices.attachTo(c), ImportLoadingDialog.attachTo(\"#import-loading-dialog\")) : ((((e === 223)) && (PromptbirdInviteContactsDialog.attachTo(\"#promptbird-invite-contacts-dialog\", d), ContactImport.attachTo(JSBNG__document, d), ContactImportScribe.attachTo(JSBNG__document, d)))))), WhoToFollowDashboard.attachTo(\".dashboard .js-wtf-module\", b), WhoToFollowScribe.attachTo(\".dashboard .js-wtf-module\", b), ((a.emptyTimelineOptions.emptyTimelineModule && WhoToFollowTimeline.attachTo(\"#empty-timeline-recommendations\", b))), WhoToFollowScribe.attachTo(\"#empty-timeline-recommendations\", b), WhoToFollowData.attachTo(JSBNG__document, b), RecentConnectionsModule.attachTo(\".dashboard .recent-followers-module\", a, {\n            eventData: {\n                scribeContext: {\n                    component: \"recent_followers\"\n                }\n            }\n        }), DashboardTweetbox.attachTo(\".home-tweet-box\", {\n            draftTweetId: \"JSBNG__home\",\n            prependText: _(\"Compose new Tweet...\"),\n            hasDefaultText: !1,\n            eventData: {\n                scribeContext: {\n                    component: \"tweet_box\"\n                }\n            }\n        }), ProfileStats.attachTo(\".dashboard .mini-profile\"), ((a.boomr && Boomerang.attachTo(JSBNG__document, a.boomr)));\n    };\n});\ndefine(\"app/boot/wtf_module\", [\"module\",\"require\",\"exports\",\"app/ui/who_to_follow/who_to_follow_dashboard\",\"app/data/who_to_follow\",\"app/data/who_to_follow_scribe\",\"core/utils\",], function(module, require, exports) {\n    var WhoToFollowDashboard = require(\"app/ui/who_to_follow/who_to_follow_dashboard\"), WhoToFollowData = require(\"app/data/who_to_follow\"), WhoToFollowScribe = require(\"app/data/who_to_follow_scribe\"), utils = require(\"core/utils\");\n    module.exports = function(b) {\n        var c = utils.merge(b, {\n            eventData: {\n                scribeContext: {\n                    component: \"user_recommendations\"\n                }\n            }\n        });\n        WhoToFollowDashboard.attachTo(\".dashboard .js-wtf-module\", c), WhoToFollowData.attachTo(JSBNG__document, c), WhoToFollowScribe.attachTo(\".dashboard .js-wtf-module\", c);\n    };\n});\ndefine(\"app/data/who_to_tweet\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_data\",], function(module, require, exports) {\n    function whoToTweetData() {\n        this.whoToTweetModule = function(a, b) {\n            function c(a) {\n                ((a.html && this.trigger(\"dataWhoToTweetModuleSuccess\", a)));\n            };\n        ;\n            this.get({\n                url: ((((\"/\" + b.screen_name)) + \"/following/users\")),\n                data: {\n                    who_to_tweet: !0\n                },\n                eventData: b,\n                success: c.bind(this),\n                error: \"dataInviteModuleFailure\"\n            });\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(JSBNG__document, \"uiWantsWhoToTweetModule\", this.whoToTweetModule);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withData = require(\"app/data/with_data\");\n    module.exports = defineComponent(whoToTweetData, withData);\n});\ndefine(\"app/boot/connect\", [\"module\",\"require\",\"exports\",\"app/boot/app\",\"app/boot/trends\",\"app/boot/wtf_module\",\"app/data/contact_import\",\"app/data/contact_import_scribe\",\"app/data/who_to_tweet\",], function(module, require, exports) {\n    function initialize(a) {\n        bootApp(a), whoToFollowModule(a), ContactImportData.attachTo(JSBNG__document, a), ContactImportScribe.attachTo(JSBNG__document, a), WhoToTweetData.attachTo(JSBNG__document, a), bootTrends(a);\n    };\n;\n    var bootApp = require(\"app/boot/app\"), bootTrends = require(\"app/boot/trends\"), whoToFollowModule = require(\"app/boot/wtf_module\"), ContactImportData = require(\"app/data/contact_import\"), ContactImportScribe = require(\"app/data/contact_import_scribe\"), WhoToTweetData = require(\"app/data/who_to_tweet\"), wtfSelector = \".dashboard .js-wtf-module\", timelineSelector = \"#timeline\";\n    module.exports = initialize;\n});\ndefine(\"app/ui/who_to_follow/with_list_resizing\", [\"module\",\"require\",\"exports\",\"core/compose\",\"core/utils\",\"app/ui/with_scrollbar_width\",], function(module, require, exports) {\n    function withListResizing() {\n        compose.mixin(this, [withScrollbarWidth,]), this.defaultAttrs({\n            backToTopSelector: \".back-to-top\",\n            listSelector: \".scrolling-user-list\",\n            listFooterSelector: \".user-list-footer\",\n            minHeight: 300\n        }), this.scrollToTop = function(a) {\n            a.preventDefault(), a.stopImmediatePropagation(), this.select(\"listSelector\").animate({\n                scrollTop: 0\n            });\n        }, this.initUi = function() {\n            this.calculateScrollbarWidth();\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(JSBNG__document, \"uiSwiftLoaded uiPageChanged\", this.initUi), this.JSBNG__on(\"click\", {\n                backToTopSelector: this.scrollToTop\n            });\n        });\n    };\n;\n    var compose = require(\"core/compose\"), utils = require(\"core/utils\"), withScrollbarWidth = require(\"app/ui/with_scrollbar_width\");\n    module.exports = withListResizing;\n});\ndefine(\"app/ui/who_to_follow/matched_contacts_list\", [\"module\",\"require\",\"exports\",\"core/component\",\"core/i18n\",\"app/ui/with_select_all\",\"app/ui/who_to_follow/with_list_resizing\",], function(module, require, exports) {\n    function matchedContactsList() {\n        this.defaultAttrs({\n            selectedCounterSelector: \".js-follow-count\",\n            listItemSelector: \".listview-find-friends-result\",\n            checkboxSelector: \".js-action-checkbox\",\n            selectAllSelector: \"#select_all_matches\",\n            actionButtonSelector: \".js-follow-all\"\n        }), this.updateSelection = function() {\n            var a = this;\n            this.select(\"checkboxSelector\").each(function() {\n                $(this).closest(a.attr.listItemSelector).toggleClass(\"selected\", this.checked);\n            });\n            var b = this.select(\"selectAllSelector\");\n            ((b.is(\":checked\") && (this.invisibleSelected = !0)));\n            var c = b.val(), d = this.select(\"checkboxSelector\").length, e = this.select(\"checkedCheckboxSelector\").length, f = ((d - e)), g;\n            ((this.invisibleSelected ? g = ((c - f)) : g = e)), this.select(\"selectedCounterSelector\").text(g), this.select(\"actionButtonSelector\").attr(\"disabled\", ((g == 0)));\n        }, this.maybeDeselectInvisible = function(a, b) {\n            this.invisibleSelected = a.target.checked;\n        }, this.maybeCheckNewItem = function(a) {\n            if (this.invisibleSelected) {\n                var b = $(a.target);\n                b.JSBNG__find(this.attr.listItemSelector).addClass(\"selected\"), b.JSBNG__find(this.attr.checkboxSelector).attr(\"checked\", \"checked\");\n            }\n        ;\n        ;\n        }, this.initSelections = function() {\n            ((this.select(\"selectAllSelector\").is(\":checked\") && (this.select(\"checkboxSelector\").attr(\"checked\", \"checked\"), this.select(\"listItemSelector\").addClass(\"selected\"))));\n        }, this.followAll = function() {\n            var a = this.invisibleSelected, b = {\n                excludeIds: [],\n                includeIds: []\n            };\n            this.select(\"checkboxSelector\").each(function() {\n                var c = this.checked, d = $(this).closest(\"[data-user-id]\").data(\"user-id\");\n                ((((a && !c)) ? b.excludeIds.push(d) : ((((!a && c)) && b.includeIds.push(d)))));\n            }), this.select(\"actionButtonSelector\").addClass(\"loading\").attr(\"disabled\", !0), this.trigger(\"uiContactImportFollow\", b);\n        }, this.removeLoading = function() {\n            this.select(\"actionButtonSelector\").removeClass(\"loading\").attr(\"disabled\", !1);\n        }, this.displaySuccess = function(a, b) {\n            this.removeLoading(), ((this.attr.findFriendsInline ? this.trigger(\"uiWantsWhoToTweetModule\", {\n                screen_name: this.$node.data(\"screen-name\")\n            }) : this.trigger(\"uiNavigate\", {\n                href: ((\"/who_to_follow/invite?followed_count=\" + b.followed_ids.length))\n            })));\n        }, this.displayError = function() {\n            this.removeLoading(), this.trigger(\"uiShowError\", {\n                message: _(\"There was an error following your contacts.\")\n            });\n        }, this.displayMatches = function(a, b) {\n            if (((!b || !b.html))) {\n                return;\n            }\n        ;\n        ;\n            this.$node.html(b.html), this.initSelections();\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(JSBNG__document, \"uiSwiftLoaded uiPageChanged\", this.initSelections), this.JSBNG__on(\"uiListSelectionChanged\", this.updateSelection), this.JSBNG__on(\"change\", {\n                selectAllSelector: this.maybeDeselectInvisible\n            }), this.JSBNG__on(\"uiHasInjectedTimelineItem\", this.maybeCheckNewItem), this.JSBNG__on(JSBNG__document, \"dataContactImportFollowSuccess\", this.displaySuccess), this.JSBNG__on(JSBNG__document, \"dataContactImportFollowFailure\", this.displayError), this.JSBNG__on(JSBNG__document, \"dataContactImportMatchesSuccess\", this.displayMatches), this.JSBNG__on(\"click\", {\n                actionButtonSelector: this.followAll\n            }), this.invisibleSelected = !0;\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), _ = require(\"core/i18n\"), withSelectAll = require(\"app/ui/with_select_all\"), withListResizing = require(\"app/ui/who_to_follow/with_list_resizing\");\n    module.exports = defineComponent(matchedContactsList, withSelectAll, withListResizing);\n});\ndefine(\"app/ui/who_to_follow/unmatched_contacts_list\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/who_to_follow/with_list_resizing\",\"app/ui/who_to_follow/with_unmatched_contacts\",], function(module, require, exports) {\n    function unmatchedContactsList() {\n        this.defaultAttrs({\n            selectedCounterSelector: \".js-selected-count\",\n            listItemSelector: \".stream-item\",\n            hideLinkSelector: \".js-hide\"\n        }), this.updateSelection = function() {\n            var a = this;\n            this.select(\"checkboxSelector\").each(function() {\n                $(this).closest(a.attr.listItemSelector).toggleClass(\"selected\", this.checked);\n            });\n            var b = this.select(\"checkedCheckboxSelector\").length;\n            this.select(\"selectedCounterSelector\").text(b), this.select(\"actionButtonSelector\").attr(\"disabled\", ((b == 0)));\n        }, this.redirectToSuggestions = function(a, b) {\n            this.trigger(\"uiNavigate\", {\n                href: ((\"/who_to_follow/suggestions?invited_count=\" + b.count))\n            });\n        }, this.hide = function() {\n            this.$node.hide();\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"uiListSelectionChanged\", this.updateSelection), this.JSBNG__on(\"uiInviteFinished\", this.redirectToSuggestions), this.JSBNG__on(\"click\", {\n                hideLinkSelector: this.hide\n            }), this.attr.showMessageOnSuccess = !1;\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withListResizing = require(\"app/ui/who_to_follow/with_list_resizing\"), withUnmatchedContacts = require(\"app/ui/who_to_follow/with_unmatched_contacts\");\n    module.exports = defineComponent(unmatchedContactsList, withListResizing, withUnmatchedContacts);\n});\ndefine(\"app/ui/who_to_tweet\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/ddg\",\"app/ui/with_user_actions\",], function(module, require, exports) {\n    function whoToTweet() {\n        this.defaultAttrs({\n            tweetToButtonSelector: \".js-tweet-to-btn\"\n        }), this.tweetToUser = function(a, b) {\n            var c = $(a.target).closest(\".user-actions\");\n            this.mentionUser(c);\n        }, this.trackEvent = function(a) {\n            ((((a.type == \"uiTweetSent\")) && ddg.track(\"find_friends_on_empty_connect_635\", \"tweet_sent\")));\n        }, this.after(\"initialize\", function(a) {\n            this.JSBNG__on(JSBNG__document, \"uiTweetSent\", this.trackEvent), this.JSBNG__on(\"click\", {\n                tweetToButtonSelector: this.tweetToUser\n            });\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), ddg = require(\"app/data/ddg\"), withUserActions = require(\"app/ui/with_user_actions\");\n    module.exports = defineComponent(whoToTweet, withUserActions);\n});\ndefine(\"app/ui/with_loading_indicator\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n    function withLoadingIndicator() {\n        this.defaultAttrs({\n            spinnerContainer: \"body\",\n            spinnerClass: \"pushing-state\"\n        }), this.showSpinner = function(a, b) {\n            this.select(\"spinnerContainer\").addClass(this.attr.spinnerClass);\n        }, this.hideSpinner = function(a, b) {\n            this.select(\"spinnerContainer\").removeClass(this.attr.spinnerClass);\n        };\n    };\n;\n    module.exports = withLoadingIndicator;\n});\ndefine(\"app/ui/who_to_follow/find_friends\", [\"module\",\"require\",\"exports\",\"core/component\",\"core/utils\",\"app/data/ddg\",\"app/ui/who_to_follow/import_loading_dialog\",\"app/ui/who_to_follow/import_services\",\"app/ui/who_to_follow/matched_contacts_list\",\"app/ui/infinite_scroll_watcher\",\"app/ui/who_to_follow/unmatched_contacts_list\",\"app/ui/who_to_tweet\",\"app/ui/who_to_follow/with_invite_preview\",\"app/ui/with_select_all\",\"app/ui/with_loading_indicator\",], function(module, require, exports) {\n    function findFriends() {\n        this.defaultAttrs({\n            importLoadingDialogSelector: \"#import-loading-dialog\",\n            launchContainerSelector: \".empty-connect\",\n            findFriendsSelector: \".find-friends-container\",\n            findFriendsButtonSelector: \".find-friends-btn\",\n            scrollListSelector: \".scrolling-user-list\",\n            scrollListContentSelector: \".stream\",\n            unmatchedContactsSelector: \".content-main.invite-module\",\n            launchServiceSelector: \".js-launch-service\",\n            inviteLinkSelector: \".matches .skip-link\",\n            skipInvitesLinkSelector: \".invite-module .skip-link\",\n            checkboxSelector: \".contact-checkbox\",\n            selectAllSelector: \".select-all-contacts\",\n            whoToTweetModuleSelector: \"#who-to-tweet\"\n        }), this.showInviteModule = function(a, b) {\n            this.select(\"findFriendsSelector\").html(b.html), UnmatchedContactsList.attachTo(this.attr.unmatchedContactsSelector, {\n                hideLinkSelector: this.attr.skipInvitesLinkSelector\n            }), ddg.track(\"find_friends_on_empty_connect_635\", \"invite_module_view\");\n        }, this.showWhoToTweetModule = function(a, b) {\n            this.select(\"findFriendsSelector\").html(b.html), WhoToTweet.attachTo(this.attr.whoToTweetModuleSelector);\n        }, this.after(\"initialize\", function(a) {\n            this.JSBNG__on(JSBNG__document, \"dataInviteModuleSuccess\", this.showInviteModule), this.JSBNG__on(JSBNG__document, \"dataWhoToTweetModuleSuccess\", this.showWhoToTweetModule), this.JSBNG__on(JSBNG__document, \"dataContactImportMatchesSuccess dataInviteModuleSuccess dataInviteModuleFailure dataWhoToTweetModuleSuccess dataWhoToTweetModuleFailure\", this.hideSpinner), this.JSBNG__on(JSBNG__document, \"uiWantsContactImportMatches uiWantsInviteModule uiWantsWhoToTweetModule\", this.showSpinner), this.JSBNG__on(\"click\", {\n                inviteLinkSelector: function() {\n                    this.trigger(\"uiWantsInviteModule\"), ddg.track(\"find_friends_on_empty_connect_635\", \"skip_link_click\");\n                },\n                findFriendsButtonSelector: function() {\n                    ddg.track(\"find_friends_on_empty_connect_635\", \"find_friends_click\");\n                }\n            }), ImportLoadingDialog.attachTo(this.attr.importLoadingDialogSelector, a), ImportServices.attachTo(this.attr.launchContainerSelector, {\n                launchServiceSelector: this.attr.launchServiceSelector,\n                redirectOnSuccess: !1\n            }), MatchedContactsList.attachTo(this.attr.findFriendsSelector, utils.merge(a, {\n                findFriendsInline: !0\n            })), InfiniteScrollWatcher.attachTo(this.attr.scrollListSelector, {\n                contentSelector: this.attr.scrollListContentSelector\n            });\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), utils = require(\"core/utils\"), ddg = require(\"app/data/ddg\"), ImportLoadingDialog = require(\"app/ui/who_to_follow/import_loading_dialog\"), ImportServices = require(\"app/ui/who_to_follow/import_services\"), MatchedContactsList = require(\"app/ui/who_to_follow/matched_contacts_list\"), InfiniteScrollWatcher = require(\"app/ui/infinite_scroll_watcher\"), UnmatchedContactsList = require(\"app/ui/who_to_follow/unmatched_contacts_list\"), WhoToTweet = require(\"app/ui/who_to_tweet\"), withInvitePreview = require(\"app/ui/who_to_follow/with_invite_preview\"), withSelectAll = require(\"app/ui/with_select_all\"), withLoadingIndicator = require(\"app/ui/with_loading_indicator\");\n    module.exports = defineComponent(findFriends, withInvitePreview, withSelectAll, withLoadingIndicator);\n});\ndefine(\"app/pages/connect/interactions\", [\"module\",\"require\",\"exports\",\"app/boot/connect\",\"app/boot/tweet_timeline\",\"app/ui/who_to_follow/find_friends\",], function(module, require, exports) {\n    var connectBoot = require(\"app/boot/connect\"), tweetTimelineBoot = require(\"app/boot/tweet_timeline\"), FindFriends = require(\"app/ui/who_to_follow/find_friends\");\n    module.exports = function(a) {\n        connectBoot(a), tweetTimelineBoot(a, \"/i/connect/timeline\", \"activity\", \"stream\"), (($(\"body.find_friends_on_empty_connect_635\").length && FindFriends.attachTo(JSBNG__document, a)));\n    };\n});\ndefine(\"app/pages/connect/mentions\", [\"module\",\"require\",\"exports\",\"app/boot/connect\",\"app/boot/tweet_timeline\",], function(module, require, exports) {\n    var connectBoot = require(\"app/boot/connect\"), tweetTimelineBoot = require(\"app/boot/tweet_timeline\");\n    module.exports = function(a) {\n        connectBoot(a), tweetTimelineBoot(a, \"/mentions/timeline\", \"tweet\");\n    };\n});\ndefine(\"app/pages/connect/network_activity\", [\"module\",\"require\",\"exports\",\"app/boot/connect\",\"app/boot/tweet_timeline\",], function(module, require, exports) {\n    var connectBoot = require(\"app/boot/connect\"), tweetTimelineBoot = require(\"app/boot/tweet_timeline\");\n    module.exports = function(a) {\n        a.containingItemSelector = \".supplement\", a.marginBreaking = !1, connectBoot(a), tweetTimelineBoot(a, \"/activity/timeline\", \"activity\", \"stream\");\n    };\n});\ndefine(\"app/ui/inline_edit\", [\"module\",\"require\",\"exports\",\"core/component\",], function(module, require, exports) {\n    function inlineEdit() {\n        this.defaultAttrs({\n            editableFieldSelector: \".editable-field\",\n            profileFieldSelector: \".profile-field\",\n            placeholderSelector: \".placeholder\",\n            padding: 20\n        }), this.syncDimensions = function() {\n            var a = this.getDimensions(this.currentText());\n            if (this.isTextArea) {\n                var b = Math.ceil(((a.height / this.lineHeight)));\n                this.$editableField.attr(\"rows\", b);\n            }\n             else this.$editableField.width(((a.width + this.padding)));\n        ;\n        ;\n        }, this.saveOldValues = function() {\n            this.oldTextValue = this.editableFieldValue(), this.oldHtmlValue = this.$profileField.html();\n        }, this.resetProfileField = function() {\n            this.$profileField.html(this.oldHtmlValue);\n        }, this.resetToOldValues = function() {\n            this.$editableField.val(this.oldTextValue).trigger(\"uiInputChanged\"), this.resetProfileField();\n        }, this.syncValue = function() {\n            var a = this.editableFieldValue();\n            ((((this.oldTextValue !== a)) && (this.setProfileField(), this.trigger(\"uiInlineEditSave\", {\n                newValue: a,\n                field: this.$editableField.attr(\"JSBNG__name\")\n            }))));\n        }, this.setProfileField = function() {\n            var a = this.editableFieldValue();\n            ((((this.truncateLength && ((a.length > this.truncateLength)))) && (a = ((a.substr(0, this.truncateLength) + \"\\u2026\"))))), this.$profileField.text(a);\n        }, this.currentText = function() {\n            return ((this.editableFieldValue() || this.getPlaceholderText()));\n        }, this.editableFieldValue = function() {\n            return this.$editableField.val();\n        }, this.addPadding = function() {\n            this.padding = this.attr.padding;\n        }, this.removePadding = function() {\n            this.padding = 0;\n        }, this.getDimensions = function(a) {\n            return ((this.truncateLength && (a = a.substr(0, this.truncateLength)))), ((((this.prevText !== a)) && (this.measureDimensions(a), this.prevText = a))), {\n                width: this.width,\n                height: this.height\n            };\n        }, this.measureDimensions = function(a) {\n            var b = this.$profileField.clone();\n            b.text(a), b.css(\"white-space\", \"pre-wrap\"), this.$profileField.replaceWith(b), this.height = b.height(), this.width = b.width(), b.replaceWith(this.$profileField);\n        }, this.preventNewlineAndLeadingSpace = function(a) {\n            if (((((a.keyCode === 13)) || ((((a.keyCode === 32)) && !this.editableFieldValue()))))) {\n                a.preventDefault(), a.stopImmediatePropagation();\n            }\n        ;\n        ;\n        }, this.getPlaceholderText = function() {\n            return this.$placeholder.text();\n        }, this.after(\"initialize\", function() {\n            this.$editableField = this.select(\"editableFieldSelector\"), this.$profileField = this.select(\"profileFieldSelector\"), this.$placeholder = this.select(\"placeholderSelector\"), this.lineHeight = parseInt(this.$profileField.css(\"line-height\"), 10), this.isTextArea = this.$editableField.is(\"textarea\"), this.truncateLength = parseInt(this.$editableField.attr(\"data-truncate-length\"), 10), this.padding = 0, this.syncDimensions(), this.JSBNG__on(JSBNG__document, \"uiNeedsTextPreview\", this.setProfileField), this.JSBNG__on(JSBNG__document, \"uiEditProfileSaveFields\", this.syncValue), this.JSBNG__on(JSBNG__document, \"uiEditProfileStart\", this.saveOldValues), this.JSBNG__on(JSBNG__document, \"uiEditProfileCancel\", this.resetToOldValues), this.JSBNG__on(JSBNG__document, \"uiEditProfileStart\", this.syncDimensions), this.JSBNG__on(JSBNG__document, \"uiShowProfileEditError\", this.resetProfileField), this.JSBNG__on(this.$editableField, \"keydown\", this.preventNewlineAndLeadingSpace), ((this.isTextArea || (this.JSBNG__on(this.$editableField, \"JSBNG__focus\", this.addPadding), this.JSBNG__on(this.$editableField, \"JSBNG__blur\", this.removePadding)))), this.JSBNG__on(this.$editableField, \"keyup focus blur update paste\", this.syncDimensions);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\");\n    module.exports = defineComponent(inlineEdit);\n});\ndefine(\"app/data/async_profile\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_data\",], function(module, require, exports) {\n    function asyncProfileData() {\n        this.defaultAttrs({\n            noShowError: !0\n        }), this.saveField = function(a, b) {\n            this.fields[b.field] = b.newValue;\n        }, this.clearFields = function() {\n            this.fields = {\n            };\n        }, this.saveFields = function(a, b) {\n            function c(a) {\n                if (((a.error === !0))) {\n                    return d.call(this, a);\n                }\n            ;\n            ;\n                this.trigger(\"dataInlineEditSaveSuccess\", a), this.clearFields();\n            };\n        ;\n            function d(a) {\n                this.trigger(\"dataInlineEditSaveError\", a), this.clearFields();\n            };\n        ;\n            a.preventDefault(), ((((Object.keys(this.fields).length > 0)) ? (this.trigger(\"dataInlineEditSaveStarted\", {\n            }), this.fields.page_context = this.attr.pageName, this.fields.section_context = this.attr.sectionName, this.post({\n                url: \"/i/profiles/update\",\n                data: this.fields,\n                eventData: b,\n                success: c.bind(this),\n                error: d.bind(this)\n            })) : this.trigger(\"dataInlineEditSaveSuccess\")));\n        }, this.after(\"initialize\", function() {\n            this.fields = {\n            }, this.JSBNG__on(\"uiInlineEditSave\", this.saveField), this.JSBNG__on(\"uiEditProfileSave\", this.saveFields);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withData = require(\"app/data/with_data\");\n    module.exports = defineComponent(asyncProfileData, withData);\n});\ndeferred(\"$lib/jquery_ui.profile.js\", function() {\n    (function($, a) {\n        function b(a, b) {\n            var d = a.nodeName.toLowerCase();\n            if (((\"area\" === d))) {\n                var e = a.parentNode, f = e.JSBNG__name, g;\n                return ((((((!a.href || !f)) || ((e.nodeName.toLowerCase() !== \"map\")))) ? !1 : (g = $(((((\"img[usemap=#\" + f)) + \"]\")))[0], ((!!g && c(g))))));\n            }\n        ;\n        ;\n            return ((((/input|select|textarea|button|object/.test(d) ? !a.disabled : ((((\"a\" == d)) ? ((a.href || b)) : b)))) && c(a)));\n        };\n    ;\n        function c(a) {\n            return !$(a).parents().andSelf().filter(function() {\n                return (((($.curCSS(this, \"visibility\") === \"hidden\")) || $.expr.filters.hidden(this)));\n            }).length;\n        };\n    ;\n        $.ui = (($.ui || {\n        }));\n        if ($.ui.version) {\n            return;\n        }\n    ;\n    ;\n        $.extend($.ui, {\n            version: \"1.8.22\",\n            keyCode: {\n                ALT: 18,\n                BACKSPACE: 8,\n                CAPS_LOCK: 20,\n                COMMA: 188,\n                COMMAND: 91,\n                COMMAND_LEFT: 91,\n                COMMAND_RIGHT: 93,\n                CONTROL: 17,\n                DELETE: 46,\n                DOWN: 40,\n                END: 35,\n                ENTER: 13,\n                ESCAPE: 27,\n                HOME: 36,\n                INSERT: 45,\n                LEFT: 37,\n                MENU: 93,\n                NUMPAD_ADD: 107,\n                NUMPAD_DECIMAL: 110,\n                NUMPAD_DIVIDE: 111,\n                NUMPAD_ENTER: 108,\n                NUMPAD_MULTIPLY: 106,\n                NUMPAD_SUBTRACT: 109,\n                PAGE_DOWN: 34,\n                PAGE_UP: 33,\n                PERIOD: 190,\n                RIGHT: 39,\n                SHIFT: 16,\n                SPACE: 32,\n                TAB: 9,\n                UP: 38,\n                WINDOWS: 91\n            }\n        }), $.fn.extend({\n            propAttr: (($.fn.prop || $.fn.attr)),\n            _focus: $.fn.JSBNG__focus,\n            JSBNG__focus: function(a, b) {\n                return ((((typeof a == \"number\")) ? this.each(function() {\n                    var c = this;\n                    JSBNG__setTimeout(function() {\n                        $(c).JSBNG__focus(), ((b && b.call(c)));\n                    }, a);\n                }) : this._focus.apply(this, arguments)));\n            },\n            scrollParent: function() {\n                var a;\n                return (((((($.browser.msie && /(static|relative)/.test(this.css(\"position\")))) || /absolute/.test(this.css(\"position\")))) ? a = this.parents().filter(function() {\n                    return ((/(relative|absolute|fixed)/.test($.curCSS(this, \"position\", 1)) && /(auto|scroll)/.test((((($.curCSS(this, \"overflow\", 1) + $.curCSS(this, \"overflow-y\", 1))) + $.curCSS(this, \"overflow-x\", 1))))));\n                }).eq(0) : a = this.parents().filter(function() {\n                    return /(auto|scroll)/.test((((($.curCSS(this, \"overflow\", 1) + $.curCSS(this, \"overflow-y\", 1))) + $.curCSS(this, \"overflow-x\", 1))));\n                }).eq(0))), ((((/fixed/.test(this.css(\"position\")) || !a.length)) ? $(JSBNG__document) : a));\n            },\n            zIndex: function(b) {\n                if (((b !== a))) {\n                    return this.css(\"zIndex\", b);\n                }\n            ;\n            ;\n                if (this.length) {\n                    var c = $(this[0]), d, e;\n                    while (((c.length && ((c[0] !== JSBNG__document))))) {\n                        d = c.css(\"position\");\n                        if (((((((d === \"absolute\")) || ((d === \"relative\")))) || ((d === \"fixed\"))))) {\n                            e = parseInt(c.css(\"zIndex\"), 10);\n                            if (((!isNaN(e) && ((e !== 0))))) {\n                                return e;\n                            }\n                        ;\n                        ;\n                        }\n                    ;\n                    ;\n                        c = c.parent();\n                    };\n                ;\n                }\n            ;\n            ;\n                return 0;\n            },\n            disableSelection: function() {\n                return this.bind((((($.support.selectstart ? \"selectstart\" : \"mousedown\")) + \".ui-disableSelection\")), function(a) {\n                    a.preventDefault();\n                });\n            },\n            enableSelection: function() {\n                return this.unbind(\".ui-disableSelection\");\n            }\n        }), (($(\"\\u003Ca\\u003E\").JSBNG__outerWidth(1).jquery || $.each([\"Width\",\"Height\",], function(b, c) {\n            function g(a, b, c, e) {\n                return $.each(d, function() {\n                    b -= ((parseFloat($.curCSS(a, ((\"padding\" + this)), !0)) || 0)), ((c && (b -= ((parseFloat($.curCSS(a, ((((\"border\" + this)) + \"Width\")), !0)) || 0))))), ((e && (b -= ((parseFloat($.curCSS(a, ((\"margin\" + this)), !0)) || 0)))));\n                }), b;\n            };\n        ;\n            var d = ((((c === \"Width\")) ? [\"Left\",\"Right\",] : [\"Top\",\"Bottom\",])), e = c.toLowerCase(), f = {\n                JSBNG__innerWidth: $.fn.JSBNG__innerWidth,\n                JSBNG__innerHeight: $.fn.JSBNG__innerHeight,\n                JSBNG__outerWidth: $.fn.JSBNG__outerWidth,\n                JSBNG__outerHeight: $.fn.JSBNG__outerHeight\n            };\n            $.fn[((\"JSBNG__inner\" + c))] = function(b) {\n                return ((((b === a)) ? f[((\"JSBNG__inner\" + c))].call(this) : this.each(function() {\n                    $(this).css(e, ((g(this, b) + \"px\")));\n                })));\n            }, $.fn[((\"JSBNG__outer\" + c))] = function(a, b) {\n                return ((((typeof a != \"number\")) ? f[((\"JSBNG__outer\" + c))].call(this, a) : this.each(function() {\n                    $(this).css(e, ((g(this, a, !0, b) + \"px\")));\n                })));\n            };\n        }))), $.extend($.expr[\":\"], {\n            data: (($.expr.createPseudo ? $.expr.createPseudo(function(a) {\n                return function(b) {\n                    return !!$.data(b, a);\n                };\n            }) : function(a, b, c) {\n                return !!$.data(a, c[3]);\n            })),\n            focusable: function(a) {\n                return b(a, !isNaN($.attr(a, \"tabindex\")));\n            },\n            tabbable: function(a) {\n                var c = $.attr(a, \"tabindex\"), d = isNaN(c);\n                return ((((d || ((c >= 0)))) && b(a, !d)));\n            }\n        }), $(function() {\n            var a = JSBNG__document.body, b = a.appendChild(b = JSBNG__document.createElement(\"div\"));\n            b.offsetHeight, $.extend(b.style, {\n                minHeight: \"100px\",\n                height: \"auto\",\n                padding: 0,\n                borderWidth: 0\n            }), $.support.minHeight = ((b.offsetHeight === 100)), $.support.selectstart = ((\"onselectstart\" in b)), a.removeChild(b).style.display = \"none\";\n        }), (($.curCSS || ($.curCSS = $.css))), $.extend($.ui, {\n            plugin: {\n                add: function(a, b, c) {\n                    var d = $.ui[a].prototype;\n                    {\n                        var fin55keys = ((window.top.JSBNG_Replay.forInKeys)((c))), fin55i = (0);\n                        var e;\n                        for (; (fin55i < fin55keys.length); (fin55i++)) {\n                            ((e) = (fin55keys[fin55i]));\n                            {\n                                d.plugins[e] = ((d.plugins[e] || [])), d.plugins[e].push([b,c[e],]);\n                            ;\n                            };\n                        };\n                    };\n                ;\n                },\n                call: function(a, b, c) {\n                    var d = a.plugins[b];\n                    if (((!d || !a.element[0].parentNode))) {\n                        return;\n                    }\n                ;\n                ;\n                    for (var e = 0; ((e < d.length)); e++) {\n                        ((a.options[d[e][0]] && d[e][1].apply(a.element, c)));\n                    ;\n                    };\n                ;\n                }\n            },\n            contains: function(a, b) {\n                return ((JSBNG__document.compareDocumentPosition ? ((a.compareDocumentPosition(b) & 16)) : ((((a !== b)) && a.contains(b)))));\n            },\n            hasScroll: function(a, b) {\n                if ((($(a).css(\"overflow\") === \"hidden\"))) {\n                    return !1;\n                }\n            ;\n            ;\n                var c = ((((b && ((b === \"left\")))) ? \"scrollLeft\" : \"scrollTop\")), d = !1;\n                return ((((a[c] > 0)) ? !0 : (a[c] = 1, d = ((a[c] > 0)), a[c] = 0, d)));\n            },\n            isOverAxis: function(a, b, c) {\n                return ((((a > b)) && ((a < ((b + c))))));\n            },\n            isOver: function(a, b, c, d, e, f) {\n                return (($.ui.isOverAxis(a, c, e) && $.ui.isOverAxis(b, d, f)));\n            }\n        });\n    })(jQuery), function($, a) {\n        if ($.cleanData) {\n            var b = $.cleanData;\n            $.cleanData = function(a) {\n                for (var c = 0, d; (((d = a[c]) != null)); c++) {\n                    try {\n                        $(d).triggerHandler(\"remove\");\n                    } catch (e) {\n                    \n                    };\n                ;\n                };\n            ;\n                b(a);\n            };\n        }\n         else {\n            var c = $.fn.remove;\n            $.fn.remove = function(a, b) {\n                return this.each(function() {\n                    return ((b || ((((!a || $.filter(a, [this,]).length)) && $(\"*\", this).add([this,]).each(function() {\n                        try {\n                            $(this).triggerHandler(\"remove\");\n                        } catch (a) {\n                        \n                        };\n                    ;\n                    }))))), c.call($(this), a, b);\n                });\n            };\n        }\n    ;\n    ;\n        $.widget = function(a, b, c) {\n            var d = a.split(\".\")[0], e;\n            a = a.split(\".\")[1], e = ((((d + \"-\")) + a)), ((c || (c = b, b = $.Widget))), $.expr[\":\"][e] = function(b) {\n                return !!$.data(b, a);\n            }, $[d] = (($[d] || {\n            })), $[d][a] = function(a, b) {\n                ((arguments.length && this._createWidget(a, b)));\n            };\n            var f = new b;\n            f.options = $.extend(!0, {\n            }, f.options), $[d][a].prototype = $.extend(!0, f, {\n                namespace: d,\n                widgetName: a,\n                widgetEventPrefix: (($[d][a].prototype.widgetEventPrefix || a)),\n                widgetBaseClass: e\n            }, c), $.widget.bridge(a, $[d][a]);\n        }, $.widget.bridge = function(b, c) {\n            $.fn[b] = function(d) {\n                var e = ((typeof d == \"string\")), f = Array.prototype.slice.call(arguments, 1), g = this;\n                return d = ((((!e && f.length)) ? $.extend.apply(null, [!0,d,].concat(f)) : d)), ((((e && ((d.charAt(0) === \"_\")))) ? g : (((e ? this.each(function() {\n                    var c = $.data(this, b), e = ((((c && $.isFunction(c[d]))) ? c[d].apply(c, f) : c));\n                    if (((((e !== c)) && ((e !== a))))) {\n                        return g = e, !1;\n                    }\n                ;\n                ;\n                }) : this.each(function() {\n                    var a = $.data(this, b);\n                    ((a ? a.option(((d || {\n                    })))._init() : $.data(this, b, new c(d, this))));\n                }))), g)));\n            };\n        }, $.Widget = function(a, b) {\n            ((arguments.length && this._createWidget(a, b)));\n        }, $.Widget.prototype = {\n            widgetName: \"widget\",\n            widgetEventPrefix: \"\",\n            options: {\n                disabled: !1\n            },\n            _createWidget: function(a, b) {\n                $.data(b, this.widgetName, this), this.element = $(b), this.options = $.extend(!0, {\n                }, this.options, this._getCreateOptions(), a);\n                var c = this;\n                this.element.bind(((\"remove.\" + this.widgetName)), function() {\n                    c.destroy();\n                }), this._create(), this._trigger(\"create\"), this._init();\n            },\n            _getCreateOptions: function() {\n                return (($.metadata && $.metadata.get(this.element[0])[this.widgetName]));\n            },\n            _create: function() {\n            \n            },\n            _init: function() {\n            \n            },\n            destroy: function() {\n                this.element.unbind(((\".\" + this.widgetName))).removeData(this.widgetName), this.widget().unbind(((\".\" + this.widgetName))).removeAttr(\"aria-disabled\").removeClass(((((this.widgetBaseClass + \"-disabled \")) + \"ui-state-disabled\")));\n            },\n            widget: function() {\n                return this.element;\n            },\n            option: function(b, c) {\n                var d = b;\n                if (((arguments.length === 0))) {\n                    return $.extend({\n                    }, this.options);\n                }\n            ;\n            ;\n                if (((typeof b == \"string\"))) {\n                    if (((c === a))) {\n                        return this.options[b];\n                    }\n                ;\n                ;\n                    d = {\n                    }, d[b] = c;\n                }\n            ;\n            ;\n                return this._setOptions(d), this;\n            },\n            _setOptions: function(a) {\n                var b = this;\n                return $.each(a, function(a, c) {\n                    b._setOption(a, c);\n                }), this;\n            },\n            _setOption: function(a, b) {\n                return this.options[a] = b, ((((a === \"disabled\")) && this.widget()[((b ? \"addClass\" : \"removeClass\"))](((((((this.widgetBaseClass + \"-disabled\")) + \" \")) + \"ui-state-disabled\"))).attr(\"aria-disabled\", b))), this;\n            },\n            enable: function() {\n                return this._setOption(\"disabled\", !1);\n            },\n            disable: function() {\n                return this._setOption(\"disabled\", !0);\n            },\n            _trigger: function(a, b, c) {\n                var d, e, f = this.options[a];\n                c = ((c || {\n                })), b = $.JSBNG__Event(b), b.type = ((((a === this.widgetEventPrefix)) ? a : ((this.widgetEventPrefix + a)))).toLowerCase(), b.target = this.element[0], e = b.originalEvent;\n                if (e) {\n                    {\n                        var fin56keys = ((window.top.JSBNG_Replay.forInKeys)((e))), fin56i = (0);\n                        (0);\n                        for (; (fin56i < fin56keys.length); (fin56i++)) {\n                            ((d) = (fin56keys[fin56i]));\n                            {\n                                ((((d in b)) || (b[d] = e[d])));\n                            ;\n                            };\n                        };\n                    };\n                }\n            ;\n            ;\n                return this.element.trigger(b, c), !(((($.isFunction(f) && ((f.call(this.element[0], b, c) === !1)))) || b.isDefaultPrevented()));\n            }\n        };\n    }(jQuery), function($, a) {\n        var b = !1;\n        $(JSBNG__document).mouseup(function(a) {\n            b = !1;\n        }), $.widget(\"ui.mouse\", {\n            options: {\n                cancel: \":input,option\",\n                distance: 1,\n                delay: 0\n            },\n            _mouseInit: function() {\n                var a = this;\n                this.element.bind(((\"mousedown.\" + this.widgetName)), function(b) {\n                    return a._mouseDown(b);\n                }).bind(((\"click.\" + this.widgetName)), function(b) {\n                    if (((!0 === $.data(b.target, ((a.widgetName + \".preventClickEvent\")))))) {\n                        return $.removeData(b.target, ((a.widgetName + \".preventClickEvent\"))), b.stopImmediatePropagation(), !1;\n                    }\n                ;\n                ;\n                }), this.started = !1;\n            },\n            _mouseDestroy: function() {\n                this.element.unbind(((\".\" + this.widgetName))), $(JSBNG__document).unbind(((\"mousemove.\" + this.widgetName)), this._mouseMoveDelegate).unbind(((\"mouseup.\" + this.widgetName)), this._mouseUpDelegate);\n            },\n            _mouseDown: function(a) {\n                if (b) {\n                    return;\n                }\n            ;\n            ;\n                ((this._mouseStarted && this._mouseUp(a))), this._mouseDownEvent = a;\n                var c = this, d = ((a.which == 1)), e = ((((((typeof this.options.cancel == \"string\")) && a.target.nodeName)) ? $(a.target).closest(this.options.cancel).length : !1));\n                if (((((!d || e)) || !this._mouseCapture(a)))) {\n                    return !0;\n                }\n            ;\n            ;\n                this.mouseDelayMet = !this.options.delay, ((this.mouseDelayMet || (this._mouseDelayTimer = JSBNG__setTimeout(function() {\n                    c.mouseDelayMet = !0;\n                }, this.options.delay))));\n                if (((this._mouseDistanceMet(a) && this._mouseDelayMet(a)))) {\n                    this._mouseStarted = ((this._mouseStart(a) !== !1));\n                    if (!this._mouseStarted) {\n                        return a.preventDefault(), !0;\n                    }\n                ;\n                ;\n                }\n            ;\n            ;\n                return ((((!0 === $.data(a.target, ((this.widgetName + \".preventClickEvent\"))))) && $.removeData(a.target, ((this.widgetName + \".preventClickEvent\"))))), this._mouseMoveDelegate = function(a) {\n                    return c._mouseMove(a);\n                }, this._mouseUpDelegate = function(a) {\n                    return c._mouseUp(a);\n                }, $(JSBNG__document).bind(((\"mousemove.\" + this.widgetName)), this._mouseMoveDelegate).bind(((\"mouseup.\" + this.widgetName)), this._mouseUpDelegate), a.preventDefault(), b = !0, !0;\n            },\n            _mouseMove: function(a) {\n                return ((((((!$.browser.msie || ((JSBNG__document.documentMode >= 9)))) || !!a.button)) ? ((this._mouseStarted ? (this._mouseDrag(a), a.preventDefault()) : (((((this._mouseDistanceMet(a) && this._mouseDelayMet(a))) && (this._mouseStarted = ((this._mouseStart(this._mouseDownEvent, a) !== !1)), ((this._mouseStarted ? this._mouseDrag(a) : this._mouseUp(a)))))), !this._mouseStarted))) : this._mouseUp(a)));\n            },\n            _mouseUp: function(a) {\n                return $(JSBNG__document).unbind(((\"mousemove.\" + this.widgetName)), this._mouseMoveDelegate).unbind(((\"mouseup.\" + this.widgetName)), this._mouseUpDelegate), ((this._mouseStarted && (this._mouseStarted = !1, ((((a.target == this._mouseDownEvent.target)) && $.data(a.target, ((this.widgetName + \".preventClickEvent\")), !0))), this._mouseStop(a)))), !1;\n            },\n            _mouseDistanceMet: function(a) {\n                return ((Math.max(Math.abs(((this._mouseDownEvent.pageX - a.pageX))), Math.abs(((this._mouseDownEvent.pageY - a.pageY)))) >= this.options.distance));\n            },\n            _mouseDelayMet: function(a) {\n                return this.mouseDelayMet;\n            },\n            _mouseStart: function(a) {\n            \n            },\n            _mouseDrag: function(a) {\n            \n            },\n            _mouseStop: function(a) {\n            \n            },\n            _mouseCapture: function(a) {\n                return !0;\n            }\n        });\n    }(jQuery), function($, a) {\n        $.widget(\"ui.draggable\", $.ui.mouse, {\n            widgetEventPrefix: \"drag\",\n            options: {\n                addClasses: !0,\n                appendTo: \"parent\",\n                axis: !1,\n                connectToSortable: !1,\n                containment: !1,\n                cursor: \"auto\",\n                cursorAt: !1,\n                grid: !1,\n                handle: !1,\n                helper: \"original\",\n                iframeFix: !1,\n                opacity: !1,\n                refreshPositions: !1,\n                revert: !1,\n                revertDuration: 500,\n                scope: \"default\",\n                JSBNG__scroll: !0,\n                scrollSensitivity: 20,\n                scrollSpeed: 20,\n                snap: !1,\n                snapMode: \"both\",\n                snapTolerance: 20,\n                stack: !1,\n                zIndex: !1\n            },\n            _create: function() {\n                ((((((this.options.helper == \"original\")) && !/^(?:r|a|f)/.test(this.element.css(\"position\")))) && (this.element[0].style.position = \"relative\"))), ((this.options.addClasses && this.element.addClass(\"ui-draggable\"))), ((this.options.disabled && this.element.addClass(\"ui-draggable-disabled\"))), this._mouseInit();\n            },\n            destroy: function() {\n                if (!this.element.data(\"draggable\")) {\n                    return;\n                }\n            ;\n            ;\n                return this.element.removeData(\"draggable\").unbind(\".draggable\").removeClass(\"ui-draggable ui-draggable-dragging ui-draggable-disabled\"), this._mouseDestroy(), this;\n            },\n            _mouseCapture: function(a) {\n                var b = this.options;\n                return ((((((this.helper || b.disabled)) || $(a.target).is(\".ui-resizable-handle\"))) ? !1 : (this.handle = this._getHandle(a), ((this.handle ? (((b.iframeFix && $(((((b.iframeFix === !0)) ? \"div\" : b.iframeFix))).each(function() {\n                    $(\"\\u003Cdiv class=\\\"ui-draggable-iframeFix\\\" style=\\\"background: #fff;\\\"\\u003E\\u003C/div\\u003E\").css({\n                        width: ((this.offsetWidth + \"px\")),\n                        height: ((this.offsetHeight + \"px\")),\n                        position: \"absolute\",\n                        opacity: \"0.001\",\n                        zIndex: 1000\n                    }).css($(this).offset()).appendTo(\"body\");\n                }))), !0) : !1)))));\n            },\n            _mouseStart: function(a) {\n                var b = this.options;\n                return this.helper = this._createHelper(a), this.helper.addClass(\"ui-draggable-dragging\"), this._cacheHelperProportions(), (($.ui.ddmanager && ($.ui.ddmanager.current = this))), this._cacheMargins(), this.cssPosition = this.helper.css(\"position\"), this.scrollParent = this.helper.scrollParent(), this.offset = this.positionAbs = this.element.offset(), this.offset = {\n                    JSBNG__top: ((this.offset.JSBNG__top - this.margins.JSBNG__top)),\n                    left: ((this.offset.left - this.margins.left))\n                }, $.extend(this.offset, {\n                    click: {\n                        left: ((a.pageX - this.offset.left)),\n                        JSBNG__top: ((a.pageY - this.offset.JSBNG__top))\n                    },\n                    parent: this._getParentOffset(),\n                    relative: this._getRelativeOffset()\n                }), this.originalPosition = this.position = this._generatePosition(a), this.originalPageX = a.pageX, this.originalPageY = a.pageY, ((b.cursorAt && this._adjustOffsetFromHelper(b.cursorAt))), ((b.containment && this._setContainment())), ((((this._trigger(\"start\", a) === !1)) ? (this._clear(), !1) : (this._cacheHelperProportions(), (((($.ui.ddmanager && !b.dropBehaviour)) && $.ui.ddmanager.prepareOffsets(this, a))), this._mouseDrag(a, !0), (($.ui.ddmanager && $.ui.ddmanager.dragStart(this, a))), !0)));\n            },\n            _mouseDrag: function(a, b) {\n                this.position = this._generatePosition(a), this.positionAbs = this._convertPositionTo(\"absolute\");\n                if (!b) {\n                    var c = this._uiHash();\n                    if (((this._trigger(\"drag\", a, c) === !1))) {\n                        return this._mouseUp({\n                        }), !1;\n                    }\n                ;\n                ;\n                    this.position = c.position;\n                }\n            ;\n            ;\n                if (((!this.options.axis || ((this.options.axis != \"y\"))))) {\n                    this.helper[0].style.left = ((this.position.left + \"px\"));\n                }\n            ;\n            ;\n                if (((!this.options.axis || ((this.options.axis != \"x\"))))) {\n                    this.helper[0].style.JSBNG__top = ((this.position.JSBNG__top + \"px\"));\n                }\n            ;\n            ;\n                return (($.ui.ddmanager && $.ui.ddmanager.drag(this, a))), !1;\n            },\n            _mouseStop: function(a) {\n                var b = !1;\n                (((($.ui.ddmanager && !this.options.dropBehaviour)) && (b = $.ui.ddmanager.drop(this, a)))), ((this.dropped && (b = this.dropped, this.dropped = !1)));\n                var c = this.element[0], d = !1;\n                while (((c && (c = c.parentNode)))) {\n                    ((((c == JSBNG__document)) && (d = !0)));\n                ;\n                };\n            ;\n                if (((!d && ((this.options.helper === \"original\"))))) {\n                    return !1;\n                }\n            ;\n            ;\n                if (((((((((((this.options.revert == \"invalid\")) && !b)) || ((((this.options.revert == \"valid\")) && b)))) || ((this.options.revert === !0)))) || (($.isFunction(this.options.revert) && this.options.revert.call(this.element, b)))))) {\n                    var e = this;\n                    $(this.helper).animate(this.originalPosition, parseInt(this.options.revertDuration, 10), function() {\n                        ((((e._trigger(\"JSBNG__stop\", a) !== !1)) && e._clear()));\n                    });\n                }\n                 else ((((this._trigger(\"JSBNG__stop\", a) !== !1)) && this._clear()));\n            ;\n            ;\n                return !1;\n            },\n            _mouseUp: function(a) {\n                return ((((this.options.iframeFix === !0)) && $(\"div.ui-draggable-iframeFix\").each(function() {\n                    this.parentNode.removeChild(this);\n                }))), (($.ui.ddmanager && $.ui.ddmanager.dragStop(this, a))), $.ui.mouse.prototype._mouseUp.call(this, a);\n            },\n            cancel: function() {\n                return ((this.helper.is(\".ui-draggable-dragging\") ? this._mouseUp({\n                }) : this._clear())), this;\n            },\n            _getHandle: function(a) {\n                var b = ((((!this.options.handle || !$(this.options.handle, this.element).length)) ? !0 : !1));\n                return $(this.options.handle, this.element).JSBNG__find(\"*\").andSelf().each(function() {\n                    ((((this == a.target)) && (b = !0)));\n                }), b;\n            },\n            _createHelper: function(a) {\n                var b = this.options, c = (($.isFunction(b.helper) ? $(b.helper.apply(this.element[0], [a,])) : ((((b.helper == \"clone\")) ? this.element.clone().removeAttr(\"id\") : this.element))));\n                return ((c.parents(\"body\").length || c.appendTo(((((b.appendTo == \"parent\")) ? this.element[0].parentNode : b.appendTo))))), ((((((c[0] != this.element[0])) && !/(fixed|absolute)/.test(c.css(\"position\")))) && c.css(\"position\", \"absolute\"))), c;\n            },\n            _adjustOffsetFromHelper: function(a) {\n                ((((typeof a == \"string\")) && (a = a.split(\" \")))), (($.isArray(a) && (a = {\n                    left: +a[0],\n                    JSBNG__top: ((+a[1] || 0))\n                }))), ((((\"left\" in a)) && (this.offset.click.left = ((a.left + this.margins.left))))), ((((\"right\" in a)) && (this.offset.click.left = ((((this.helperProportions.width - a.right)) + this.margins.left))))), ((((\"JSBNG__top\" in a)) && (this.offset.click.JSBNG__top = ((a.JSBNG__top + this.margins.JSBNG__top))))), ((((\"bottom\" in a)) && (this.offset.click.JSBNG__top = ((((this.helperProportions.height - a.bottom)) + this.margins.JSBNG__top)))));\n            },\n            _getParentOffset: function() {\n                this.offsetParent = this.helper.offsetParent();\n                var a = this.offsetParent.offset();\n                ((((((((this.cssPosition == \"absolute\")) && ((this.scrollParent[0] != JSBNG__document)))) && $.ui.contains(this.scrollParent[0], this.offsetParent[0]))) && (a.left += this.scrollParent.scrollLeft(), a.JSBNG__top += this.scrollParent.scrollTop())));\n                if (((((this.offsetParent[0] == JSBNG__document.body)) || ((((this.offsetParent[0].tagName && ((this.offsetParent[0].tagName.toLowerCase() == \"html\")))) && $.browser.msie))))) {\n                    a = {\n                        JSBNG__top: 0,\n                        left: 0\n                    };\n                }\n            ;\n            ;\n                return {\n                    JSBNG__top: ((a.JSBNG__top + ((parseInt(this.offsetParent.css(\"borderTopWidth\"), 10) || 0)))),\n                    left: ((a.left + ((parseInt(this.offsetParent.css(\"borderLeftWidth\"), 10) || 0))))\n                };\n            },\n            _getRelativeOffset: function() {\n                if (((this.cssPosition == \"relative\"))) {\n                    var a = this.element.position();\n                    return {\n                        JSBNG__top: ((((a.JSBNG__top - ((parseInt(this.helper.css(\"JSBNG__top\"), 10) || 0)))) + this.scrollParent.scrollTop())),\n                        left: ((((a.left - ((parseInt(this.helper.css(\"left\"), 10) || 0)))) + this.scrollParent.scrollLeft()))\n                    };\n                }\n            ;\n            ;\n                return {\n                    JSBNG__top: 0,\n                    left: 0\n                };\n            },\n            _cacheMargins: function() {\n                this.margins = {\n                    left: ((parseInt(this.element.css(\"marginLeft\"), 10) || 0)),\n                    JSBNG__top: ((parseInt(this.element.css(\"marginTop\"), 10) || 0)),\n                    right: ((parseInt(this.element.css(\"marginRight\"), 10) || 0)),\n                    bottom: ((parseInt(this.element.css(\"marginBottom\"), 10) || 0))\n                };\n            },\n            _cacheHelperProportions: function() {\n                this.helperProportions = {\n                    width: this.helper.JSBNG__outerWidth(),\n                    height: this.helper.JSBNG__outerHeight()\n                };\n            },\n            _setContainment: function() {\n                var a = this.options;\n                ((((a.containment == \"parent\")) && (a.containment = this.helper[0].parentNode)));\n                if (((((a.containment == \"JSBNG__document\")) || ((a.containment == \"window\"))))) {\n                    this.containment = [((((a.containment == \"JSBNG__document\")) ? 0 : (((($(window).scrollLeft() - this.offset.relative.left)) - this.offset.parent.left)))),((((a.containment == \"JSBNG__document\")) ? 0 : (((($(window).scrollTop() - this.offset.relative.JSBNG__top)) - this.offset.parent.JSBNG__top)))),((((((((((a.containment == \"JSBNG__document\")) ? 0 : $(window).scrollLeft())) + $(((((a.containment == \"JSBNG__document\")) ? JSBNG__document : window))).width())) - this.helperProportions.width)) - this.margins.left)),((((((((((a.containment == \"JSBNG__document\")) ? 0 : $(window).scrollTop())) + (($(((((a.containment == \"JSBNG__document\")) ? JSBNG__document : window))).height() || JSBNG__document.body.parentNode.scrollHeight)))) - this.helperProportions.height)) - this.margins.JSBNG__top)),];\n                }\n            ;\n            ;\n                if (((!/^(document|window|parent)$/.test(a.containment) && ((a.containment.constructor != Array))))) {\n                    var b = $(a.containment), c = b[0];\n                    if (!c) {\n                        return;\n                    }\n                ;\n                ;\n                    var d = b.offset(), e = (($(c).css(\"overflow\") != \"hidden\"));\n                    this.containment = [((((parseInt($(c).css(\"borderLeftWidth\"), 10) || 0)) + ((parseInt($(c).css(\"paddingLeft\"), 10) || 0)))),((((parseInt($(c).css(\"borderTopWidth\"), 10) || 0)) + ((parseInt($(c).css(\"paddingTop\"), 10) || 0)))),((((((((((((e ? Math.max(c.scrollWidth, c.offsetWidth) : c.offsetWidth)) - ((parseInt($(c).css(\"borderLeftWidth\"), 10) || 0)))) - ((parseInt($(c).css(\"paddingRight\"), 10) || 0)))) - this.helperProportions.width)) - this.margins.left)) - this.margins.right)),((((((((((((e ? Math.max(c.scrollHeight, c.offsetHeight) : c.offsetHeight)) - ((parseInt($(c).css(\"borderTopWidth\"), 10) || 0)))) - ((parseInt($(c).css(\"paddingBottom\"), 10) || 0)))) - this.helperProportions.height)) - this.margins.JSBNG__top)) - this.margins.bottom)),], this.relative_container = b;\n                }\n                 else ((((a.containment.constructor == Array)) && (this.containment = a.containment)));\n            ;\n            ;\n            },\n            _convertPositionTo: function(a, b) {\n                ((b || (b = this.position)));\n                var c = ((((a == \"absolute\")) ? 1 : -1)), d = this.options, e = ((((((this.cssPosition != \"absolute\")) || ((((this.scrollParent[0] != JSBNG__document)) && !!$.ui.contains(this.scrollParent[0], this.offsetParent[0]))))) ? this.scrollParent : this.offsetParent)), f = /(html|body)/i.test(e[0].tagName);\n                return {\n                    JSBNG__top: ((((((b.JSBNG__top + ((this.offset.relative.JSBNG__top * c)))) + ((this.offset.parent.JSBNG__top * c)))) - (((((($.browser.safari && (($.browser.version < 526)))) && ((this.cssPosition == \"fixed\")))) ? 0 : ((((((this.cssPosition == \"fixed\")) ? -this.scrollParent.scrollTop() : ((f ? 0 : e.scrollTop())))) * c)))))),\n                    left: ((((((b.left + ((this.offset.relative.left * c)))) + ((this.offset.parent.left * c)))) - (((((($.browser.safari && (($.browser.version < 526)))) && ((this.cssPosition == \"fixed\")))) ? 0 : ((((((this.cssPosition == \"fixed\")) ? -this.scrollParent.scrollLeft() : ((f ? 0 : e.scrollLeft())))) * c))))))\n                };\n            },\n            _generatePosition: function(a) {\n                var b = this.options, c = ((((((this.cssPosition != \"absolute\")) || ((((this.scrollParent[0] != JSBNG__document)) && !!$.ui.contains(this.scrollParent[0], this.offsetParent[0]))))) ? this.scrollParent : this.offsetParent)), d = /(html|body)/i.test(c[0].tagName), e = a.pageX, f = a.pageY;\n                if (this.originalPosition) {\n                    var g;\n                    if (this.containment) {\n                        if (this.relative_container) {\n                            var h = this.relative_container.offset();\n                            g = [((this.containment[0] + h.left)),((this.containment[1] + h.JSBNG__top)),((this.containment[2] + h.left)),((this.containment[3] + h.JSBNG__top)),];\n                        }\n                         else g = this.containment;\n                    ;\n                    ;\n                        ((((((a.pageX - this.offset.click.left)) < g[0])) && (e = ((g[0] + this.offset.click.left))))), ((((((a.pageY - this.offset.click.JSBNG__top)) < g[1])) && (f = ((g[1] + this.offset.click.JSBNG__top))))), ((((((a.pageX - this.offset.click.left)) > g[2])) && (e = ((g[2] + this.offset.click.left))))), ((((((a.pageY - this.offset.click.JSBNG__top)) > g[3])) && (f = ((g[3] + this.offset.click.JSBNG__top)))));\n                    }\n                ;\n                ;\n                    if (b.grid) {\n                        var i = ((b.grid[1] ? ((this.originalPageY + ((Math.round(((((f - this.originalPageY)) / b.grid[1]))) * b.grid[1])))) : this.originalPageY));\n                        f = ((g ? ((((((((i - this.offset.click.JSBNG__top)) < g[1])) || ((((i - this.offset.click.JSBNG__top)) > g[3])))) ? ((((((i - this.offset.click.JSBNG__top)) < g[1])) ? ((i + b.grid[1])) : ((i - b.grid[1])))) : i)) : i));\n                        var j = ((b.grid[0] ? ((this.originalPageX + ((Math.round(((((e - this.originalPageX)) / b.grid[0]))) * b.grid[0])))) : this.originalPageX));\n                        e = ((g ? ((((((((j - this.offset.click.left)) < g[0])) || ((((j - this.offset.click.left)) > g[2])))) ? ((((((j - this.offset.click.left)) < g[0])) ? ((j + b.grid[0])) : ((j - b.grid[0])))) : j)) : j));\n                    }\n                ;\n                ;\n                }\n            ;\n            ;\n                return {\n                    JSBNG__top: ((((((((f - this.offset.click.JSBNG__top)) - this.offset.relative.JSBNG__top)) - this.offset.parent.JSBNG__top)) + (((((($.browser.safari && (($.browser.version < 526)))) && ((this.cssPosition == \"fixed\")))) ? 0 : ((((this.cssPosition == \"fixed\")) ? -this.scrollParent.scrollTop() : ((d ? 0 : c.scrollTop())))))))),\n                    left: ((((((((e - this.offset.click.left)) - this.offset.relative.left)) - this.offset.parent.left)) + (((((($.browser.safari && (($.browser.version < 526)))) && ((this.cssPosition == \"fixed\")))) ? 0 : ((((this.cssPosition == \"fixed\")) ? -this.scrollParent.scrollLeft() : ((d ? 0 : c.scrollLeft()))))))))\n                };\n            },\n            _clear: function() {\n                this.helper.removeClass(\"ui-draggable-dragging\"), ((((((this.helper[0] != this.element[0])) && !this.cancelHelperRemoval)) && this.helper.remove())), this.helper = null, this.cancelHelperRemoval = !1;\n            },\n            _trigger: function(a, b, c) {\n                return c = ((c || this._uiHash())), $.ui.plugin.call(this, a, [b,c,]), ((((a == \"drag\")) && (this.positionAbs = this._convertPositionTo(\"absolute\")))), $.Widget.prototype._trigger.call(this, a, b, c);\n            },\n            plugins: {\n            },\n            _uiHash: function(a) {\n                return {\n                    helper: this.helper,\n                    position: this.position,\n                    originalPosition: this.originalPosition,\n                    offset: this.positionAbs\n                };\n            }\n        }), $.extend($.ui.draggable, {\n            version: \"1.8.22\"\n        }), $.ui.plugin.add(\"draggable\", \"connectToSortable\", {\n            start: function(a, b) {\n                var c = $(this).data(\"draggable\"), d = c.options, e = $.extend({\n                }, b, {\n                    item: c.element\n                });\n                c.sortables = [], $(d.connectToSortable).each(function() {\n                    var b = $.data(this, \"sortable\");\n                    ((((b && !b.options.disabled)) && (c.sortables.push({\n                        instance: b,\n                        shouldRevert: b.options.revert\n                    }), b.refreshPositions(), b._trigger(\"activate\", a, e))));\n                });\n            },\n            JSBNG__stop: function(a, b) {\n                var c = $(this).data(\"draggable\"), d = $.extend({\n                }, b, {\n                    item: c.element\n                });\n                $.each(c.sortables, function() {\n                    ((this.instance.isOver ? (this.instance.isOver = 0, c.cancelHelperRemoval = !0, this.instance.cancelHelperRemoval = !1, ((this.shouldRevert && (this.instance.options.revert = !0))), this.instance._mouseStop(a), this.instance.options.helper = this.instance.options._helper, ((((c.options.helper == \"original\")) && this.instance.currentItem.css({\n                        JSBNG__top: \"auto\",\n                        left: \"auto\"\n                    })))) : (this.instance.cancelHelperRemoval = !1, this.instance._trigger(\"deactivate\", a, d))));\n                });\n            },\n            drag: function(a, b) {\n                var c = $(this).data(\"draggable\"), d = this, e = function(a) {\n                    var b = this.offset.click.JSBNG__top, c = this.offset.click.left, d = this.positionAbs.JSBNG__top, e = this.positionAbs.left, f = a.height, g = a.width, h = a.JSBNG__top, i = a.left;\n                    return $.ui.isOver(((d + b)), ((e + c)), h, i, f, g);\n                };\n                $.each(c.sortables, function(e) {\n                    this.instance.positionAbs = c.positionAbs, this.instance.helperProportions = c.helperProportions, this.instance.offset.click = c.offset.click, ((this.instance._intersectsWith(this.instance.containerCache) ? (((this.instance.isOver || (this.instance.isOver = 1, this.instance.currentItem = $(d).clone().removeAttr(\"id\").appendTo(this.instance.element).data(\"sortable-item\", !0), this.instance.options._helper = this.instance.options.helper, this.instance.options.helper = function() {\n                        return b.helper[0];\n                    }, a.target = this.instance.currentItem[0], this.instance._mouseCapture(a, !0), this.instance._mouseStart(a, !0, !0), this.instance.offset.click.JSBNG__top = c.offset.click.JSBNG__top, this.instance.offset.click.left = c.offset.click.left, this.instance.offset.parent.left -= ((c.offset.parent.left - this.instance.offset.parent.left)), this.instance.offset.parent.JSBNG__top -= ((c.offset.parent.JSBNG__top - this.instance.offset.parent.JSBNG__top)), c._trigger(\"toSortable\", a), c.dropped = this.instance.element, c.currentItem = c.element, this.instance.fromOutside = c))), ((this.instance.currentItem && this.instance._mouseDrag(a)))) : ((this.instance.isOver && (this.instance.isOver = 0, this.instance.cancelHelperRemoval = !0, this.instance.options.revert = !1, this.instance._trigger(\"out\", a, this.instance._uiHash(this.instance)), this.instance._mouseStop(a, !0), this.instance.options.helper = this.instance.options._helper, this.instance.currentItem.remove(), ((this.instance.placeholder && this.instance.placeholder.remove())), c._trigger(\"fromSortable\", a), c.dropped = !1)))));\n                });\n            }\n        }), $.ui.plugin.add(\"draggable\", \"cursor\", {\n            start: function(a, b) {\n                var c = $(\"body\"), d = $(this).data(\"draggable\").options;\n                ((c.css(\"cursor\") && (d._cursor = c.css(\"cursor\")))), c.css(\"cursor\", d.cursor);\n            },\n            JSBNG__stop: function(a, b) {\n                var c = $(this).data(\"draggable\").options;\n                ((c._cursor && $(\"body\").css(\"cursor\", c._cursor)));\n            }\n        }), $.ui.plugin.add(\"draggable\", \"opacity\", {\n            start: function(a, b) {\n                var c = $(b.helper), d = $(this).data(\"draggable\").options;\n                ((c.css(\"opacity\") && (d._opacity = c.css(\"opacity\")))), c.css(\"opacity\", d.opacity);\n            },\n            JSBNG__stop: function(a, b) {\n                var c = $(this).data(\"draggable\").options;\n                ((c._opacity && $(b.helper).css(\"opacity\", c._opacity)));\n            }\n        }), $.ui.plugin.add(\"draggable\", \"JSBNG__scroll\", {\n            start: function(a, b) {\n                var c = $(this).data(\"draggable\");\n                ((((((c.scrollParent[0] != JSBNG__document)) && ((c.scrollParent[0].tagName != \"HTML\")))) && (c.overflowOffset = c.scrollParent.offset())));\n            },\n            drag: function(a, b) {\n                var c = $(this).data(\"draggable\"), d = c.options, e = !1;\n                if (((((c.scrollParent[0] != JSBNG__document)) && ((c.scrollParent[0].tagName != \"HTML\"))))) {\n                    if (((!d.axis || ((d.axis != \"x\"))))) {\n                        ((((((((c.overflowOffset.JSBNG__top + c.scrollParent[0].offsetHeight)) - a.pageY)) < d.scrollSensitivity)) ? c.scrollParent[0].scrollTop = e = ((c.scrollParent[0].scrollTop + d.scrollSpeed)) : ((((((a.pageY - c.overflowOffset.JSBNG__top)) < d.scrollSensitivity)) && (c.scrollParent[0].scrollTop = e = ((c.scrollParent[0].scrollTop - d.scrollSpeed)))))));\n                    }\n                ;\n                ;\n                    if (((!d.axis || ((d.axis != \"y\"))))) {\n                        ((((((((c.overflowOffset.left + c.scrollParent[0].offsetWidth)) - a.pageX)) < d.scrollSensitivity)) ? c.scrollParent[0].scrollLeft = e = ((c.scrollParent[0].scrollLeft + d.scrollSpeed)) : ((((((a.pageX - c.overflowOffset.left)) < d.scrollSensitivity)) && (c.scrollParent[0].scrollLeft = e = ((c.scrollParent[0].scrollLeft - d.scrollSpeed)))))));\n                    }\n                ;\n                ;\n                }\n                 else {\n                    if (((!d.axis || ((d.axis != \"x\"))))) {\n                        ((((((a.pageY - $(JSBNG__document).scrollTop())) < d.scrollSensitivity)) ? e = $(JSBNG__document).scrollTop((($(JSBNG__document).scrollTop() - d.scrollSpeed))) : (((((($(window).height() - ((a.pageY - $(JSBNG__document).scrollTop())))) < d.scrollSensitivity)) && (e = $(JSBNG__document).scrollTop((($(JSBNG__document).scrollTop() + d.scrollSpeed))))))));\n                    }\n                ;\n                ;\n                    if (((!d.axis || ((d.axis != \"y\"))))) {\n                        ((((((a.pageX - $(JSBNG__document).scrollLeft())) < d.scrollSensitivity)) ? e = $(JSBNG__document).scrollLeft((($(JSBNG__document).scrollLeft() - d.scrollSpeed))) : (((((($(window).width() - ((a.pageX - $(JSBNG__document).scrollLeft())))) < d.scrollSensitivity)) && (e = $(JSBNG__document).scrollLeft((($(JSBNG__document).scrollLeft() + d.scrollSpeed))))))));\n                    }\n                ;\n                ;\n                }\n            ;\n            ;\n                ((((((((e !== !1)) && $.ui.ddmanager)) && !d.dropBehaviour)) && $.ui.ddmanager.prepareOffsets(c, a)));\n            }\n        }), $.ui.plugin.add(\"draggable\", \"snap\", {\n            start: function(a, b) {\n                var c = $(this).data(\"draggable\"), d = c.options;\n                c.snapElements = [], $(((((d.snap.constructor != String)) ? ((d.snap.items || \":data(draggable)\")) : d.snap))).each(function() {\n                    var a = $(this), b = a.offset();\n                    ((((this != c.element[0])) && c.snapElements.push({\n                        item: this,\n                        width: a.JSBNG__outerWidth(),\n                        height: a.JSBNG__outerHeight(),\n                        JSBNG__top: b.JSBNG__top,\n                        left: b.left\n                    })));\n                });\n            },\n            drag: function(a, b) {\n                var c = $(this).data(\"draggable\"), d = c.options, e = d.snapTolerance, f = b.offset.left, g = ((f + c.helperProportions.width)), h = b.offset.JSBNG__top, i = ((h + c.helperProportions.height));\n                for (var j = ((c.snapElements.length - 1)); ((j >= 0)); j--) {\n                    var k = c.snapElements[j].left, l = ((k + c.snapElements[j].width)), m = c.snapElements[j].JSBNG__top, n = ((m + c.snapElements[j].height));\n                    if (!((((((((((((((((k - e)) < f)) && ((f < ((l + e)))))) && ((((m - e)) < h)))) && ((h < ((n + e)))))) || ((((((((((k - e)) < f)) && ((f < ((l + e)))))) && ((((m - e)) < i)))) && ((i < ((n + e)))))))) || ((((((((((k - e)) < g)) && ((g < ((l + e)))))) && ((((m - e)) < h)))) && ((h < ((n + e)))))))) || ((((((((((k - e)) < g)) && ((g < ((l + e)))))) && ((((m - e)) < i)))) && ((i < ((n + e))))))))) {\n                        ((((c.snapElements[j].snapping && c.options.snap.release)) && c.options.snap.release.call(c.element, a, $.extend(c._uiHash(), {\n                            snapItem: c.snapElements[j].item\n                        })))), c.snapElements[j].snapping = !1;\n                        continue;\n                    }\n                ;\n                ;\n                    if (((d.snapMode != \"JSBNG__inner\"))) {\n                        var o = ((Math.abs(((m - i))) <= e)), p = ((Math.abs(((n - h))) <= e)), q = ((Math.abs(((k - g))) <= e)), r = ((Math.abs(((l - f))) <= e));\n                        ((o && (b.position.JSBNG__top = ((c._convertPositionTo(\"relative\", {\n                            JSBNG__top: ((m - c.helperProportions.height)),\n                            left: 0\n                        }).JSBNG__top - c.margins.JSBNG__top))))), ((p && (b.position.JSBNG__top = ((c._convertPositionTo(\"relative\", {\n                            JSBNG__top: n,\n                            left: 0\n                        }).JSBNG__top - c.margins.JSBNG__top))))), ((q && (b.position.left = ((c._convertPositionTo(\"relative\", {\n                            JSBNG__top: 0,\n                            left: ((k - c.helperProportions.width))\n                        }).left - c.margins.left))))), ((r && (b.position.left = ((c._convertPositionTo(\"relative\", {\n                            JSBNG__top: 0,\n                            left: l\n                        }).left - c.margins.left)))));\n                    }\n                ;\n                ;\n                    var s = ((((((o || p)) || q)) || r));\n                    if (((d.snapMode != \"JSBNG__outer\"))) {\n                        var o = ((Math.abs(((m - h))) <= e)), p = ((Math.abs(((n - i))) <= e)), q = ((Math.abs(((k - f))) <= e)), r = ((Math.abs(((l - g))) <= e));\n                        ((o && (b.position.JSBNG__top = ((c._convertPositionTo(\"relative\", {\n                            JSBNG__top: m,\n                            left: 0\n                        }).JSBNG__top - c.margins.JSBNG__top))))), ((p && (b.position.JSBNG__top = ((c._convertPositionTo(\"relative\", {\n                            JSBNG__top: ((n - c.helperProportions.height)),\n                            left: 0\n                        }).JSBNG__top - c.margins.JSBNG__top))))), ((q && (b.position.left = ((c._convertPositionTo(\"relative\", {\n                            JSBNG__top: 0,\n                            left: k\n                        }).left - c.margins.left))))), ((r && (b.position.left = ((c._convertPositionTo(\"relative\", {\n                            JSBNG__top: 0,\n                            left: ((l - c.helperProportions.width))\n                        }).left - c.margins.left)))));\n                    }\n                ;\n                ;\n                    ((((((!c.snapElements[j].snapping && ((((((((o || p)) || q)) || r)) || s)))) && c.options.snap.snap)) && c.options.snap.snap.call(c.element, a, $.extend(c._uiHash(), {\n                        snapItem: c.snapElements[j].item\n                    })))), c.snapElements[j].snapping = ((((((((o || p)) || q)) || r)) || s));\n                };\n            ;\n            }\n        }), $.ui.plugin.add(\"draggable\", \"stack\", {\n            start: function(a, b) {\n                var c = $(this).data(\"draggable\").options, d = $.makeArray($(c.stack)).sort(function(a, b) {\n                    return ((((parseInt($(a).css(\"zIndex\"), 10) || 0)) - ((parseInt($(b).css(\"zIndex\"), 10) || 0))));\n                });\n                if (!d.length) {\n                    return;\n                }\n            ;\n            ;\n                var e = ((parseInt(d[0].style.zIndex) || 0));\n                $(d).each(function(a) {\n                    this.style.zIndex = ((e + a));\n                }), this[0].style.zIndex = ((e + d.length));\n            }\n        }), $.ui.plugin.add(\"draggable\", \"zIndex\", {\n            start: function(a, b) {\n                var c = $(b.helper), d = $(this).data(\"draggable\").options;\n                ((c.css(\"zIndex\") && (d._zIndex = c.css(\"zIndex\")))), c.css(\"zIndex\", d.zIndex);\n            },\n            JSBNG__stop: function(a, b) {\n                var c = $(this).data(\"draggable\").options;\n                ((c._zIndex && $(b.helper).css(\"zIndex\", c._zIndex)));\n            }\n        });\n    }(jQuery), function($, a) {\n        var b = 5;\n        $.widget(\"ui.slider\", $.ui.mouse, {\n            widgetEventPrefix: \"slide\",\n            options: {\n                animate: !1,\n                distance: 0,\n                max: 100,\n                min: 0,\n                JSBNG__orientation: \"horizontal\",\n                range: !1,\n                step: 1,\n                value: 0,\n                values: null\n            },\n            _create: function() {\n                var a = this, c = this.options, d = this.element.JSBNG__find(\".ui-slider-handle\").addClass(\"ui-state-default ui-corner-all\"), e = \"\\u003Ca class='ui-slider-handle ui-state-default ui-corner-all' href='#'\\u003E\\u003C/a\\u003E\", f = ((((c.values && c.values.length)) || 1)), g = [];\n                this._keySliding = !1, this._mouseSliding = !1, this._animateOff = !0, this._handleIndex = null, this._detectOrientation(), this._mouseInit(), this.element.addClass(((((((((((\"ui-slider ui-slider-\" + this.JSBNG__orientation)) + \" ui-widget\")) + \" ui-widget-content\")) + \" ui-corner-all\")) + ((c.disabled ? \" ui-slider-disabled ui-disabled\" : \"\"))))), this.range = $([]), ((c.range && (((((c.range === !0)) && (((c.values || (c.values = [this._valueMin(),this._valueMin(),]))), ((((c.values.length && ((c.values.length !== 2)))) && (c.values = [c.values[0],c.values[0],])))))), this.range = $(\"\\u003Cdiv\\u003E\\u003C/div\\u003E\").appendTo(this.element).addClass(((\"ui-slider-range ui-widget-header\" + ((((((c.range === \"min\")) || ((c.range === \"max\")))) ? ((\" ui-slider-range-\" + c.range)) : \"\"))))))));\n                for (var h = d.length; ((h < f)); h += 1) {\n                    g.push(e);\n                ;\n                };\n            ;\n                this.handles = d.add($(g.join(\"\")).appendTo(a.element)), this.handle = this.handles.eq(0), this.handles.add(this.range).filter(\"a\").click(function(a) {\n                    a.preventDefault();\n                }).hover(function() {\n                    ((c.disabled || $(this).addClass(\"ui-state-hover\")));\n                }, function() {\n                    $(this).removeClass(\"ui-state-hover\");\n                }).JSBNG__focus(function() {\n                    ((c.disabled ? $(this).JSBNG__blur() : ($(\".ui-slider .ui-state-focus\").removeClass(\"ui-state-focus\"), $(this).addClass(\"ui-state-focus\"))));\n                }).JSBNG__blur(function() {\n                    $(this).removeClass(\"ui-state-focus\");\n                }), this.handles.each(function(a) {\n                    $(this).data(\"index.ui-slider-handle\", a);\n                }), this.handles.keydown(function(c) {\n                    var d = $(this).data(\"index.ui-slider-handle\"), e, f, g, h;\n                    if (a.options.disabled) {\n                        return;\n                    }\n                ;\n                ;\n                    switch (c.keyCode) {\n                      case $.ui.keyCode.HOME:\n                    \n                      case $.ui.keyCode.END:\n                    \n                      case $.ui.keyCode.PAGE_UP:\n                    \n                      case $.ui.keyCode.PAGE_DOWN:\n                    \n                      case $.ui.keyCode.UP:\n                    \n                      case $.ui.keyCode.RIGHT:\n                    \n                      case $.ui.keyCode.DOWN:\n                    \n                      case $.ui.keyCode.LEFT:\n                        c.preventDefault();\n                        if (!a._keySliding) {\n                            a._keySliding = !0, $(this).addClass(\"ui-state-active\"), e = a._start(c, d);\n                            if (((e === !1))) {\n                                return;\n                            }\n                        ;\n                        ;\n                        }\n                    ;\n                    ;\n                    };\n                ;\n                    h = a.options.step, ((((a.options.values && a.options.values.length)) ? f = g = a.values(d) : f = g = a.value()));\n                    switch (c.keyCode) {\n                      case $.ui.keyCode.HOME:\n                        g = a._valueMin();\n                        break;\n                      case $.ui.keyCode.END:\n                        g = a._valueMax();\n                        break;\n                      case $.ui.keyCode.PAGE_UP:\n                        g = a._trimAlignValue(((f + ((((a._valueMax() - a._valueMin())) / b)))));\n                        break;\n                      case $.ui.keyCode.PAGE_DOWN:\n                        g = a._trimAlignValue(((f - ((((a._valueMax() - a._valueMin())) / b)))));\n                        break;\n                      case $.ui.keyCode.UP:\n                    \n                      case $.ui.keyCode.RIGHT:\n                        if (((f === a._valueMax()))) {\n                            return;\n                        }\n                    ;\n                    ;\n                        g = a._trimAlignValue(((f + h)));\n                        break;\n                      case $.ui.keyCode.DOWN:\n                    \n                      case $.ui.keyCode.LEFT:\n                        if (((f === a._valueMin()))) {\n                            return;\n                        }\n                    ;\n                    ;\n                        g = a._trimAlignValue(((f - h)));\n                    };\n                ;\n                    a._slide(c, d, g);\n                }).keyup(function(b) {\n                    var c = $(this).data(\"index.ui-slider-handle\");\n                    ((a._keySliding && (a._keySliding = !1, a._stop(b, c), a._change(b, c), $(this).removeClass(\"ui-state-active\"))));\n                }), this._refreshValue(), this._animateOff = !1;\n            },\n            destroy: function() {\n                return this.handles.remove(), this.range.remove(), this.element.removeClass(\"ui-slider ui-slider-horizontal ui-slider-vertical ui-slider-disabled ui-widget ui-widget-content ui-corner-all\").removeData(\"slider\").unbind(\".slider\"), this._mouseDestroy(), this;\n            },\n            _mouseCapture: function(a) {\n                var b = this.options, c, d, e, f, g, h, i, j, k;\n                return ((b.disabled ? !1 : (this.elementSize = {\n                    width: this.element.JSBNG__outerWidth(),\n                    height: this.element.JSBNG__outerHeight()\n                }, this.elementOffset = this.element.offset(), c = {\n                    x: a.pageX,\n                    y: a.pageY\n                }, d = this._normValueFromMouse(c), e = ((((this._valueMax() - this._valueMin())) + 1)), g = this, this.handles.each(function(a) {\n                    var b = Math.abs(((d - g.values(a))));\n                    ((((e > b)) && (e = b, f = $(this), h = a)));\n                }), ((((((b.range === !0)) && ((this.values(1) === b.min)))) && (h += 1, f = $(this.handles[h])))), i = this._start(a, h), ((((i === !1)) ? !1 : (this._mouseSliding = !0, g._handleIndex = h, f.addClass(\"ui-state-active\").JSBNG__focus(), j = f.offset(), k = !$(a.target).parents().andSelf().is(\".ui-slider-handle\"), this._clickOffset = ((k ? {\n                    left: 0,\n                    JSBNG__top: 0\n                } : {\n                    left: ((((a.pageX - j.left)) - ((f.width() / 2)))),\n                    JSBNG__top: ((((((((((a.pageY - j.JSBNG__top)) - ((f.height() / 2)))) - ((parseInt(f.css(\"borderTopWidth\"), 10) || 0)))) - ((parseInt(f.css(\"borderBottomWidth\"), 10) || 0)))) + ((parseInt(f.css(\"marginTop\"), 10) || 0))))\n                })), ((this.handles.hasClass(\"ui-state-hover\") || this._slide(a, h, d))), this._animateOff = !0, !0))))));\n            },\n            _mouseStart: function(a) {\n                return !0;\n            },\n            _mouseDrag: function(a) {\n                var b = {\n                    x: a.pageX,\n                    y: a.pageY\n                }, c = this._normValueFromMouse(b);\n                return this._slide(a, this._handleIndex, c), !1;\n            },\n            _mouseStop: function(a) {\n                return this.handles.removeClass(\"ui-state-active\"), this._mouseSliding = !1, this._stop(a, this._handleIndex), this._change(a, this._handleIndex), this._handleIndex = null, this._clickOffset = null, this._animateOff = !1, !1;\n            },\n            _detectOrientation: function() {\n                this.JSBNG__orientation = ((((this.options.JSBNG__orientation === \"vertical\")) ? \"vertical\" : \"horizontal\"));\n            },\n            _normValueFromMouse: function(a) {\n                var b, c, d, e, f;\n                return ((((this.JSBNG__orientation === \"horizontal\")) ? (b = this.elementSize.width, c = ((((a.x - this.elementOffset.left)) - ((this._clickOffset ? this._clickOffset.left : 0))))) : (b = this.elementSize.height, c = ((((a.y - this.elementOffset.JSBNG__top)) - ((this._clickOffset ? this._clickOffset.JSBNG__top : 0))))))), d = ((c / b)), ((((d > 1)) && (d = 1))), ((((d < 0)) && (d = 0))), ((((this.JSBNG__orientation === \"vertical\")) && (d = ((1 - d))))), e = ((this._valueMax() - this._valueMin())), f = ((this._valueMin() + ((d * e)))), this._trimAlignValue(f);\n            },\n            _start: function(a, b) {\n                var c = {\n                    handle: this.handles[b],\n                    value: this.value()\n                };\n                return ((((this.options.values && this.options.values.length)) && (c.value = this.values(b), c.values = this.values()))), this._trigger(\"start\", a, c);\n            },\n            _slide: function(a, b, c) {\n                var d, e, f;\n                ((((this.options.values && this.options.values.length)) ? (d = this.values(((b ? 0 : 1))), ((((((((this.options.values.length === 2)) && ((this.options.range === !0)))) && ((((((b === 0)) && ((c > d)))) || ((((b === 1)) && ((c < d)))))))) && (c = d))), ((((c !== this.values(b))) && (e = this.values(), e[b] = c, f = this._trigger(\"slide\", a, {\n                    handle: this.handles[b],\n                    value: c,\n                    values: e\n                }), d = this.values(((b ? 0 : 1))), ((((f !== !1)) && this.values(b, c, !0))))))) : ((((c !== this.value())) && (f = this._trigger(\"slide\", a, {\n                    handle: this.handles[b],\n                    value: c\n                }), ((((f !== !1)) && this.value(c))))))));\n            },\n            _stop: function(a, b) {\n                var c = {\n                    handle: this.handles[b],\n                    value: this.value()\n                };\n                ((((this.options.values && this.options.values.length)) && (c.value = this.values(b), c.values = this.values()))), this._trigger(\"JSBNG__stop\", a, c);\n            },\n            _change: function(a, b) {\n                if (((!this._keySliding && !this._mouseSliding))) {\n                    var c = {\n                        handle: this.handles[b],\n                        value: this.value()\n                    };\n                    ((((this.options.values && this.options.values.length)) && (c.value = this.values(b), c.values = this.values()))), this._trigger(\"change\", a, c);\n                }\n            ;\n            ;\n            },\n            value: function(a) {\n                if (arguments.length) {\n                    this.options.value = this._trimAlignValue(a), this._refreshValue(), this._change(null, 0);\n                    return;\n                }\n            ;\n            ;\n                return this._value();\n            },\n            values: function(a, b) {\n                var c, d, e;\n                if (((arguments.length > 1))) {\n                    this.options.values[a] = this._trimAlignValue(b), this._refreshValue(), this._change(null, a);\n                    return;\n                }\n            ;\n            ;\n                if (!arguments.length) {\n                    return this._values();\n                }\n            ;\n            ;\n                if (!$.isArray(arguments[0])) {\n                    return ((((this.options.values && this.options.values.length)) ? this._values(a) : this.value()));\n                }\n            ;\n            ;\n                c = this.options.values, d = arguments[0];\n                for (e = 0; ((e < c.length)); e += 1) {\n                    c[e] = this._trimAlignValue(d[e]), this._change(null, e);\n                ;\n                };\n            ;\n                this._refreshValue();\n            },\n            _setOption: function(a, b) {\n                var c, d = 0;\n                (($.isArray(this.options.values) && (d = this.options.values.length))), $.Widget.prototype._setOption.apply(this, arguments);\n                switch (a) {\n                  case \"disabled\":\n                    ((b ? (this.handles.filter(\".ui-state-focus\").JSBNG__blur(), this.handles.removeClass(\"ui-state-hover\"), this.handles.propAttr(\"disabled\", !0), this.element.addClass(\"ui-disabled\")) : (this.handles.propAttr(\"disabled\", !1), this.element.removeClass(\"ui-disabled\"))));\n                    break;\n                  case \"JSBNG__orientation\":\n                    this._detectOrientation(), this.element.removeClass(\"ui-slider-horizontal ui-slider-vertical\").addClass(((\"ui-slider-\" + this.JSBNG__orientation))), this._refreshValue();\n                    break;\n                  case \"value\":\n                    this._animateOff = !0, this._refreshValue(), this._change(null, 0), this._animateOff = !1;\n                    break;\n                  case \"values\":\n                    this._animateOff = !0, this._refreshValue();\n                    for (c = 0; ((c < d)); c += 1) {\n                        this._change(null, c);\n                    ;\n                    };\n                ;\n                    this._animateOff = !1;\n                };\n            ;\n            },\n            _value: function() {\n                var a = this.options.value;\n                return a = this._trimAlignValue(a), a;\n            },\n            _values: function(a) {\n                var b, c, d;\n                if (arguments.length) {\n                    return b = this.options.values[a], b = this._trimAlignValue(b), b;\n                }\n            ;\n            ;\n                c = this.options.values.slice();\n                for (d = 0; ((d < c.length)); d += 1) {\n                    c[d] = this._trimAlignValue(c[d]);\n                ;\n                };\n            ;\n                return c;\n            },\n            _trimAlignValue: function(a) {\n                if (((a <= this._valueMin()))) {\n                    return this._valueMin();\n                }\n            ;\n            ;\n                if (((a >= this._valueMax()))) {\n                    return this._valueMax();\n                }\n            ;\n            ;\n                var b = ((((this.options.step > 0)) ? this.options.step : 1)), c = ((((a - this._valueMin())) % b)), d = ((a - c));\n                return ((((((Math.abs(c) * 2)) >= b)) && (d += ((((c > 0)) ? b : -b))))), parseFloat(d.toFixed(5));\n            },\n            _valueMin: function() {\n                return this.options.min;\n            },\n            _valueMax: function() {\n                return this.options.max;\n            },\n            _refreshValue: function() {\n                var a = this.options.range, b = this.options, c = this, d = ((this._animateOff ? !1 : b.animate)), e, f = {\n                }, g, h, i, j;\n                ((((this.options.values && this.options.values.length)) ? this.handles.each(function(a, h) {\n                    e = ((((((c.values(a) - c._valueMin())) / ((c._valueMax() - c._valueMin())))) * 100)), f[((((c.JSBNG__orientation === \"horizontal\")) ? \"left\" : \"bottom\"))] = ((e + \"%\")), $(this).JSBNG__stop(1, 1)[((d ? \"animate\" : \"css\"))](f, b.animate), ((((c.options.range === !0)) && ((((c.JSBNG__orientation === \"horizontal\")) ? (((((a === 0)) && c.range.JSBNG__stop(1, 1)[((d ? \"animate\" : \"css\"))]({\n                        left: ((e + \"%\"))\n                    }, b.animate))), ((((a === 1)) && c.range[((d ? \"animate\" : \"css\"))]({\n                        width: ((((e - g)) + \"%\"))\n                    }, {\n                        queue: !1,\n                        duration: b.animate\n                    })))) : (((((a === 0)) && c.range.JSBNG__stop(1, 1)[((d ? \"animate\" : \"css\"))]({\n                        bottom: ((e + \"%\"))\n                    }, b.animate))), ((((a === 1)) && c.range[((d ? \"animate\" : \"css\"))]({\n                        height: ((((e - g)) + \"%\"))\n                    }, {\n                        queue: !1,\n                        duration: b.animate\n                    })))))))), g = e;\n                }) : (h = this.value(), i = this._valueMin(), j = this._valueMax(), e = ((((j !== i)) ? ((((((h - i)) / ((j - i)))) * 100)) : 0)), f[((((c.JSBNG__orientation === \"horizontal\")) ? \"left\" : \"bottom\"))] = ((e + \"%\")), this.handle.JSBNG__stop(1, 1)[((d ? \"animate\" : \"css\"))](f, b.animate), ((((((a === \"min\")) && ((this.JSBNG__orientation === \"horizontal\")))) && this.range.JSBNG__stop(1, 1)[((d ? \"animate\" : \"css\"))]({\n                    width: ((e + \"%\"))\n                }, b.animate))), ((((((a === \"max\")) && ((this.JSBNG__orientation === \"horizontal\")))) && this.range[((d ? \"animate\" : \"css\"))]({\n                    width: ((((100 - e)) + \"%\"))\n                }, {\n                    queue: !1,\n                    duration: b.animate\n                }))), ((((((a === \"min\")) && ((this.JSBNG__orientation === \"vertical\")))) && this.range.JSBNG__stop(1, 1)[((d ? \"animate\" : \"css\"))]({\n                    height: ((e + \"%\"))\n                }, b.animate))), ((((((a === \"max\")) && ((this.JSBNG__orientation === \"vertical\")))) && this.range[((d ? \"animate\" : \"css\"))]({\n                    height: ((((100 - e)) + \"%\"))\n                }, {\n                    queue: !1,\n                    duration: b.animate\n                }))))));\n            }\n        }), $.extend($.ui.slider, {\n            version: \"1.8.22\"\n        });\n    }(jQuery);\n});\ndeferred(\"$lib/jquery_webcam.js\", function() {\n    (function($) {\n        var a = {\n            extern: null,\n            append: !0,\n            width: 320,\n            height: 240,\n            mode: \"callback\",\n            swffile: \"jscam.swf\",\n            quality: 85,\n            debug: function() {\n            \n            },\n            onCapture: function() {\n            \n            },\n            onTick: function() {\n            \n            },\n            onSave: function() {\n            \n            },\n            onCameraStart: function() {\n            \n            },\n            onCameraStop: function() {\n            \n            },\n            onLoad: function() {\n            \n            },\n            onDetect: function() {\n            \n            }\n        };\n        window.webcam = a, $.fn.webcam = function(b) {\n            if (((typeof b == \"object\"))) {\n                {\n                    var fin57keys = ((window.top.JSBNG_Replay.forInKeys)((a))), fin57i = (0);\n                    var c;\n                    for (; (fin57i < fin57keys.length); (fin57i++)) {\n                        ((c) = (fin57keys[fin57i]));\n                        {\n                            ((((b[c] !== undefined)) && (a[c] = b[c])));\n                        ;\n                        };\n                    };\n                };\n            }\n        ;\n        ;\n            var d = ((((((((((((((((((((((((\"\\u003Cobject id=\\\"XwebcamXobjectX\\\" type=\\\"application/x-shockwave-flash\\\" data=\\\"\" + a.swffile)) + \"\\\" width=\\\"\")) + a.width)) + \"\\\" height=\\\"\")) + a.height)) + \"\\\"\\u003E\\u003Cparam name=\\\"movie\\\" value=\\\"\")) + a.swffile)) + \"\\\" /\\u003E\\u003Cparam name=\\\"FlashVars\\\" value=\\\"mode=\")) + a.mode)) + \"&amp;quality=\")) + a.quality)) + \"\\\" /\\u003E\\u003Cparam name=\\\"allowScriptAccess\\\" value=\\\"always\\\" /\\u003E\\u003C/object\\u003E\"));\n            ((((null !== a.extern)) ? $(a.extern)[((a.append ? \"append\" : \"html\"))](d) : this[((a.append ? \"append\" : \"html\"))](d))), (_register = function(b) {\n                var c = JSBNG__document.getElementById(\"XwebcamXobjectX\");\n                ((((c.capture !== undefined)) ? (a.capture = function(a) {\n                    try {\n                        return c.capture(a);\n                    } catch (b) {\n                    \n                    };\n                ;\n                }, a.save = function(a) {\n                    try {\n                        return c.save(a);\n                    } catch (b) {\n                    \n                    };\n                ;\n                }, a.onLoad()) : ((((0 == b)) ? a.debug(\"error\", \"Flash movie not yet registered!\") : window.JSBNG__setTimeout(_register, ((1000 * ((4 - b)))), ((b - 1)))))));\n            })(3);\n        };\n    })(jQuery);\n});\ndefine(\"app/ui/settings/with_cropper\", [\"module\",\"require\",\"exports\",\"$lib/jquery_ui.profile.js\",\"$lib/jquery_webcam.js\",], function(module, require, exports) {\n    function odd(a) {\n        return ((((a % 2)) != 0));\n    };\n;\n    function Cropper() {\n        this.dataFromBase64URL = function(a) {\n            return a.slice(((a.indexOf(\",\") + 1)));\n        }, this.determineCrop = function() {\n            var a = this.select(\"cropImageSelector\"), b = this.select(\"cropMaskSelector\"), c = a.offset(), d = b.offset(), e = ((this.attr.originalWidth / a.width())), f = ((((d.JSBNG__top - c.JSBNG__top)) + this.attr.maskPadding)), g = ((((d.left - c.left)) + this.attr.maskPadding)), h = ((((((d.left + this.attr.maskPadding)) > c.left)) ? ((d.left + this.attr.maskPadding)) : c.left)), i = ((((((d.JSBNG__top + this.attr.maskPadding)) > c.JSBNG__top)) ? ((d.JSBNG__top + this.attr.maskPadding)) : c.JSBNG__top)), j = ((((((((d.left + b.width())) - this.attr.maskPadding)) < ((c.left + a.width())))) ? ((((d.left + b.width())) - this.attr.maskPadding)) : ((c.left + a.width())))), k = ((((((((d.JSBNG__top + b.height())) - this.attr.maskPadding)) < ((c.JSBNG__top + a.height())))) ? ((((d.JSBNG__top + b.height())) - this.attr.maskPadding)) : ((c.JSBNG__top + a.height()))));\n            return {\n                maskWidth: ((b.width() - ((2 * this.attr.maskPadding)))),\n                maskHeight: ((b.height() - ((2 * this.attr.maskPadding)))),\n                imageLeft: Math.round(((e * ((((g >= 0)) ? g : 0))))),\n                imageTop: Math.round(((e * ((((f >= 0)) ? f : 0))))),\n                imageWidth: Math.round(((e * ((j - h))))),\n                imageHeight: Math.round(((e * ((k - i))))),\n                maskY: ((((f < 0)) ? -f : 0)),\n                maskX: ((((g < 0)) ? -g : 0))\n            };\n        }, this.determineImageType = function(a) {\n            return ((((a.substr(a.indexOf(\",\"), 4).indexOf(\",/9j\") == 0)) ? \"image/jpeg\" : \"image/png\"));\n        }, this.canvasToDataURL = function(a, b) {\n            return ((((b == \"image/jpeg\")) ? a.toDataURL(\"image/jpeg\", 235327) : a.toDataURL(\"image/png\")));\n        }, this.prepareCropImage = function() {\n            var a = this.select(\"cropImageSelector\");\n            this.$cropImage = $(\"\\u003Cimg\\u003E\"), this.$cropImage.attr(\"src\", a.attr(\"src\")), this.JSBNG__on(this.$cropImage, \"load\", this.cropImageReady);\n        }, this.cropImageReady = function() {\n            this.trigger(\"uiCropImageReady\");\n        }, this.clientsideCrop = function(a) {\n            var b = this.select(\"drawSurfaceSelector\"), c = this.select(\"cropImageSelector\"), d = this.determineImageType(c.attr(\"src\")), e = b[0].getContext(\"2d\"), f = a.maskHeight, g = a.maskWidth, h = a.maskX, i = a.maskY;\n            this.$cropImage.height(this.attr.originalHeight), this.$cropImage.width(this.attr.originalWidth);\n            if (((((a.imageWidth >= this.attr.maximumWidth)) || ((a.imageHeight >= this.attr.maximumHeight))))) {\n                f = this.attr.maximumHeight, g = this.attr.maximumWidth, h = Math.round(((a.maskX * ((this.attr.maximumWidth / a.imageWidth))))), i = Math.round(((a.maskY * ((this.attr.maximumHeight / a.imageHeight)))));\n            }\n        ;\n        ;\n            return e.canvas.width = g, e.canvas.height = f, e.fillStyle = \"white\", e.fillRect(0, 0, g, f), e.drawImage(this.$cropImage[0], a.imageLeft, a.imageTop, a.imageWidth, a.imageHeight, h, i, g, f), {\n                fileData: this.dataFromBase64URL(this.canvasToDataURL(b[0], d)),\n                offsetTop: 0,\n                offsetLeft: 0,\n                width: e.canvas.width,\n                height: e.canvas.height\n            };\n        }, this.cropDimensions = function() {\n            var a = this.select(\"cropMaskSelector\"), b = a.offset();\n            return {\n                JSBNG__top: b.JSBNG__top,\n                left: b.left,\n                maskWidth: a.width(),\n                maskHeight: a.height(),\n                cropWidth: ((a.width() - ((2 * this.attr.maskPadding)))),\n                cropHeight: ((a.height() - ((2 * this.attr.maskPadding))))\n            };\n        }, this.centerImage = function() {\n            var a = this.cropDimensions(), b = this.select(\"cropImageSelector\"), c = b.width(), d = b.height(), e = ((c / d));\n            ((((((((c >= d)) && ((a.cropWidth >= a.cropHeight)))) && ((e >= ((a.cropWidth / a.cropHeight)))))) ? (d = a.cropHeight, c = Math.round(((c * ((d / this.attr.originalHeight)))))) : (c = a.cropWidth, d = Math.round(((d * ((c / this.attr.originalWidth)))))))), b.width(c), b.height(d), b.offset({\n                JSBNG__top: ((((((a.maskHeight / 2)) - ((d / 2)))) + a.JSBNG__top)),\n                left: ((((((a.maskWidth / 2)) - ((c / 2)))) + a.left))\n            });\n        }, this.onDragStart = function(a, b) {\n            this.attr.imageStartOffset = this.select(\"cropImageSelector\").offset();\n        }, this.onDragHandler = function(a, b) {\n            this.select(\"cropImageSelector\").offset({\n                JSBNG__top: ((((this.attr.imageStartOffset.JSBNG__top + b.position.JSBNG__top)) - b.originalPosition.JSBNG__top)),\n                left: ((((this.attr.imageStartOffset.left + b.position.left)) - b.originalPosition.left))\n            });\n        }, this.onDragStop = function(a, b) {\n            this.select(\"cropOverlaySelector\").offset(this.select(\"cropMaskSelector\").offset());\n        }, this.imageLoaded = function(a, b) {\n            function h(a) {\n                var b = c.offset(), d = Math.round(((b.left + ((c.width() / 2))))), e = Math.round(((b.JSBNG__top + ((c.height() / 2))))), h = Math.round(((f * ((1 + ((a.value / 100))))))), i = Math.round(((g * ((1 + ((a.value / 100)))))));\n                h = ((odd(h) ? h += 1 : h)), i = ((odd(i) ? i += 1 : i)), c.height(h), c.width(i), c.offset({\n                    JSBNG__top: Math.round(((e - ((h / 2))))),\n                    left: Math.round(((d - ((i / 2)))))\n                });\n            };\n        ;\n            var c = this.select(\"cropImageSelector\"), d = this.select(\"cropOverlaySelector\"), e = this.select(\"cropperSliderSelector\");\n            this.attr.originalHeight = c.height(), this.attr.originalWidth = c.width(), this.centerImage();\n            var f = c.height(), g = c.width();\n            e.slider({\n                value: 0,\n                max: 100,\n                min: 0,\n                slide: function(a, b) {\n                    h(b);\n                }\n            }), e.slider(\"option\", \"value\", 0), d.draggable({\n                drag: this.onDragHandler.bind(this),\n                JSBNG__stop: this.onDragStop.bind(this),\n                start: this.onDragStart.bind(this),\n                containment: this.attr.cropContainerSelector\n            });\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(this.attr.cropImageSelector, \"load\", this.imageLoaded);\n        });\n    };\n;\n    require(\"$lib/jquery_ui.profile.js\"), require(\"$lib/jquery_webcam.js\"), module.exports = Cropper;\n});\ndefine(\"app/ui/settings/with_webcam\", [\"module\",\"require\",\"exports\",\"$lib/jquery_ui.profile.js\",\"$lib/jquery_webcam.js\",], function(module, require, exports) {\n    function Webcam() {\n        this.doJsCam = function() {\n            $(this.attr.webcamContainerSelector).webcam({\n                width: 320,\n                height: 240,\n                mode: \"callback\",\n                swffile: \"/flash/jscam.swf\",\n                onLoad: this.jsCamLoad.bind(this),\n                onCameraStart: this.jsCamCameraStart.bind(this),\n                onCameraStop: this.jsCamCameraStop.bind(this),\n                onCapture: this.jsCamCapture.bind(this),\n                onSave: this.jsCamSave.bind(this),\n                debug: this.jsCamDebug\n            });\n        }, this.jsCamLoad = function() {\n            var a = this.select(\"webcamCanvasSelector\")[0].getContext(\"2d\");\n            this.image = a.getImageData(0, 0, 320, 240), this.pos = 0;\n        }, this.jsCamCameraStart = function() {\n            this.select(\"captureWebcamSelector\").attr(\"disabled\", !1);\n        }, this.jsCamCameraStop = function() {\n            this.select(\"captureWebcamSelector\").attr(\"disabled\", !0);\n        }, this.jsCamCapture = function() {\n            window.webcam.save();\n        }, this.jsCamSave = function(a) {\n            var b = this.select(\"webcamCanvasSelector\")[0].getContext(\"2d\"), c = a.split(\";\"), d = this.image;\n            for (var e = 0; ((e < 320)); e++) {\n                var f = parseInt(c[e]);\n                d.data[((this.pos + 0))] = ((((f >> 16)) & 255)), d.data[((this.pos + 1))] = ((((f >> 8)) & 255)), d.data[((this.pos + 2))] = ((f & 255)), d.data[((this.pos + 3))] = 255, this.pos += 4;\n            };\n        ;\n            if (((this.pos >= 307200))) {\n                var g = this.select(\"webcamCanvasSelector\")[0], h = this.select(\"cropImageSelector\")[0];\n                b.putImageData(d, 0, 0), h.src = g.toDataURL(\"image/png\"), this.pos = 0, this.trigger(\"jsCamCapture\");\n            }\n        ;\n        ;\n        }, this.jsCamDebug = function(a, b) {\n        \n        };\n    };\n;\n    require(\"$lib/jquery_ui.profile.js\"), require(\"$lib/jquery_webcam.js\"), module.exports = Webcam;\n});\ndefine(\"app/utils/is_showing_avatar_options\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n    module.exports = function() {\n        return $(\"body\").hasClass(\"show-avatar-options\");\n    };\n});\ndefine(\"app/ui/dialogs/profile_image_upload_dialog\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/settings/with_cropper\",\"app/ui/with_dialog\",\"app/ui/with_position\",\"app/ui/settings/with_webcam\",\"app/utils/is_showing_avatar_options\",\"core/i18n\",\"$lib/jquery_ui.profile.js\",\"$lib/jquery_webcam.js\",], function(module, require, exports) {\n    function profileImageUpload() {\n        this.defaultAttrs({\n            webcamTitle: _(\"Smile!\"),\n            titleSelector: \".modal-title\",\n            profileImageCropDivSelector: \".image-upload-crop\",\n            profileImageWebcamDivSelector: \".image-upload-webcam\",\n            cancelSelector: \".profile-image-cancel\",\n            saveSelector: \".profile-image-save\",\n            cropperSliderSelector: \".cropper-slider\",\n            cropImageSelector: \".crop-image\",\n            cropMaskSelector: \".cropper-mask\",\n            cropOverlaySelector: \".cropper-overlay\",\n            captureWebcamSelector: \".profile-image-capture-webcam\",\n            webcamContainerSelector: \".webcam-container\",\n            webcamCanvasSelector: \".webcam-canvas\",\n            imageNameSelector: \"#choose-photo div.photo-selector input.file-name\",\n            imageDataSelector: \"#choose-photo div.photo-selector input.file-data\",\n            imageUploadSpinnerSelector: \".image-upload-spinner\",\n            maskPadding: 40,\n            JSBNG__top: 50,\n            uploadType: \"\",\n            drawSurfaceSelector: \".drawsurface\",\n            saveEvent: \"uiProfileImageSave\",\n            successEvent: \"dataProfileImageSuccess\",\n            errorEvent: \"dataProfileImageFailure\",\n            showSuccessMessage: !0,\n            maximumWidth: 256,\n            maximumHeight: 256,\n            fileName: \"\"\n        }), this.showCropper = function(a) {\n            this.setTitle(this.attr.originalTitle), this.select(\"captureWebcamSelector\").hide(), this.select(\"saveSelector\").show(), this.attr.fileName = a, this.clearForm(), JSBNG__document.body.JSBNG__focus(), this.trigger(\"uiShowingCropper\", {\n                scribeElement: this.getScribeElement()\n            });\n        }, this.setScribeElement = function(a) {\n            this.scribeElement = a;\n        }, this.getScribeElement = function() {\n            return ((this.scribeElement || \"upload\"));\n        }, this.reset = function() {\n            this.select(\"cropImageSelector\").attr(\"src\", \"\"), this.select(\"cropImageSelector\").attr(\"style\", \"\"), this.select(\"webcamContainerSelector\").empty(), this.select(\"cancelSelector\").show(), this.select(\"saveSelector\").attr(\"disabled\", !1).hide(), this.$node.removeClass(\"saving\"), this.select(\"profileImageWebcamDivSelector\").hide(), this.select(\"profileImageCropDivSelector\").hide(), this.select(\"captureWebcamSelector\").hide();\n        }, this.swapVisibility = function(a, b) {\n            this.$node.JSBNG__find(a).hide(), this.$node.JSBNG__find(b).show();\n        }, this.haveImageSelected = function(a, b) {\n            var c = $(this.attr.imageNameSelector).attr(\"value\"), d = ((\"data:image/jpeg;base64,\" + $(this.attr.imageDataSelector).attr(\"value\")));\n            this.gotImageData(b.uploadType, c, d), this.trigger(\"uiCloseDropdowns\");\n        }, this.gotImageData = function(a, b, c, d) {\n            ((((((a !== \"background\")) && ((this.attr.uploadType == a)))) && (this.JSBNG__openDialog(), this.trigger(\"uiUploadReceived\"), this.select(\"cropImageSelector\").attr(\"src\", c), this.select(\"profileImageCropDivSelector\").show(), this.setScribeElement(\"upload\"), this.showCropper(b), ((d && this.trigger(\"uiDropped\"))))));\n        }, this.JSBNG__openDialog = function() {\n            this.open(), this.reset();\n        }, this.setTitle = function(a) {\n            this.select(\"titleSelector\").text(a);\n        }, this.showWebcam = function(a, b) {\n            if (((this.attr.uploadType != b.uploadType))) {\n                return;\n            }\n        ;\n        ;\n            this.setTitle(this.attr.webcamTitle), this.JSBNG__openDialog(), this.select(\"profileImageWebcamDivSelector\").show(), this.select(\"captureWebcamSelector\").show(), this.doJsCam(), this.trigger(\"uiShowingWebcam\");\n        }, this.takePhoto = function() {\n            webcam.capture();\n        }, this.webcamCaptured = function() {\n            this.swapVisibility(this.attr.profileImageWebcamDivSelector, this.attr.profileImageCropDivSelector), this.setScribeElement(\"webcam\"), $(this.attr.imageDataSelector).attr(\"value\", this.dataFromBase64URL(this.select(\"cropImageSelector\").attr(\"src\"))), $(this.attr.imageNameSelector).attr(\"value\", \"webcam-cap.png\"), this.showCropper();\n        }, this.save = function(a, b) {\n            if (this.$node.hasClass(\"saving\")) {\n                return;\n            }\n        ;\n        ;\n            return this.prepareCropImage(), a.preventDefault(), !1;\n        }, this.readyToCrop = function() {\n            var a = this.determineCrop(), b = this.clientsideCrop(a);\n            b.fileName = this.attr.fileName, b.uploadType = this.attr.uploadType, b.scribeElement = this.getScribeElement(), this.trigger(\"uiImageSave\", b), this.enterSavingState();\n        }, this.enterSavingState = function() {\n            this.select(\"imageUploadSpinnerSelector\").css(\"height\", this.select(\"profileImageCropDivSelector\").height()), this.$node.addClass(\"saving\"), this.select(\"saveSelector\").attr(\"disabled\", !0), this.select(\"cancelSelector\").hide();\n        }, this.uploadSuccess = function(a, b) {\n            if (((((b && b.sourceEventData)) && ((b.sourceEventData.uploadType != this.attr.uploadType))))) {\n                return;\n            }\n        ;\n        ;\n            if (this.attr.showSuccessMessage) {\n                var c = {\n                    avatar: _(\"avatar\"),\n                    header: _(\"header\"),\n                    background: _(\"background\")\n                }, d = ((c[this.attr.uploadType] || this.attr.uploadType));\n                this.trigger(\"uiAlertBanner\", {\n                    message: _(\"Your {{uploadType}} was published successfully.\", {\n                        uploadType: d\n                    })\n                });\n            }\n        ;\n        ;\n            this.trigger(\"uiProfileImagePublished\", {\n                scribeElement: this.getScribeElement()\n            }), this.close();\n        }, this.uploadFailed = function(a, b) {\n            if (((((b && b.sourceEventData)) && ((b.sourceEventData.uploadType != this.attr.uploadType))))) {\n                return;\n            }\n        ;\n        ;\n            this.trigger(\"uiProfileImageDialogFailure\", {\n                scribeElement: this.getScribeElement()\n            }), this.trigger(\"uiAlertBanner\", {\n                message: b.message\n            }), this.close();\n        }, this.clearForm = function() {\n            $(this.attr.imageDataSelector).removeAttr(\"value\"), $(this.attr.imageNameSelector).removeAttr(\"value\");\n        }, this.interceptGotProfileImageData = function(a, b) {\n            ((((((b.uploadType == \"header\")) && isShowingAvatarOptions())) && (b.uploadType = \"avatar\"))), this.gotImageData(b.uploadType, b.JSBNG__name, b.contents, b.wasDropped);\n        }, this.after(\"initialize\", function() {\n            this.attr.originalTitle = this.select(\"titleSelector\").text(), this.JSBNG__on(JSBNG__document, \"uiCropperWebcam\", this.showWebcam), this.JSBNG__on(JSBNG__document, \"uiImagePickerFileReady\", this.haveImageSelected), this.JSBNG__on(\"jsCamCapture\", this.webcamCaptured), this.JSBNG__on(this.select(\"captureWebcamSelector\"), \"click\", this.takePhoto), this.JSBNG__on(this.select(\"saveSelector\"), \"click\", this.save), this.JSBNG__on(\"uiCropImageReady\", this.readyToCrop), this.JSBNG__on(JSBNG__document, \"dataImageEnqueued\", this.close), this.JSBNG__on(JSBNG__document, \"uiImageUploadSuccess\", this.uploadSuccess), this.JSBNG__on(JSBNG__document, \"uiImageUploadFailure dataImageFailedToEnqueue\", this.uploadFailed), this.JSBNG__on(JSBNG__document, \"uiGotProfileImageData\", this.interceptGotProfileImageData), this.JSBNG__on(this.attr.cancelSelector, \"click\", function(a, b) {\n                this.close();\n            }), this.JSBNG__on(\"uiDialogClosed\", function() {\n                this.clearForm(), this.reset(), this.trigger(\"uiProfileImageDialogClose\");\n            });\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withCropper = require(\"app/ui/settings/with_cropper\"), withDialog = require(\"app/ui/with_dialog\"), withPosition = require(\"app/ui/with_position\"), withWebcam = require(\"app/ui/settings/with_webcam\"), isShowingAvatarOptions = require(\"app/utils/is_showing_avatar_options\"), _ = require(\"core/i18n\");\n    require(\"$lib/jquery_ui.profile.js\"), require(\"$lib/jquery_webcam.js\"), module.exports = defineComponent(profileImageUpload, withCropper, withDialog, withPosition, withWebcam);\n});\ndefine(\"app/ui/dialogs/profile_edit_error_dialog\", [\"module\",\"require\",\"exports\",\"core/component\",\"core/i18n\",\"app/ui/with_dialog\",], function(module, require, exports) {\n    function profileEditErrorDialog() {\n        this.defaultAttrs({\n            okaySelector: \".ok-btn\",\n            messageSelector: \".profile-message\",\n            updateErrorMessage: _(\"There was an error updating your profile.\")\n        }), this.closeDialog = function(a, b) {\n            this.close();\n        }, this.showError = function(a, b) {\n            var c = ((b.message || this.attr.updateErrorMessage));\n            this.select(\"messageSelector\").html(c), this.open();\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(JSBNG__document, \"uiShowProfileEditError\", this.showError), this.JSBNG__on(\"click\", {\n                okaySelector: this.closeDialog\n            });\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), _ = require(\"core/i18n\"), withDialog = require(\"app/ui/with_dialog\"), ProfileEditErrorDialog = defineComponent(profileEditErrorDialog, withDialog);\n    module.exports = ProfileEditErrorDialog;\n});\ndefine(\"app/ui/dialogs/profile_confirm_image_delete_dialog\", [\"module\",\"require\",\"exports\",\"core/component\",\"core/i18n\",\"app/ui/with_dialog\",], function(module, require, exports) {\n    function profileConfirmImageDeleteDialog() {\n        this.defaultAttrs({\n            removeSelector: \".ok-btn\",\n            cancelSelector: \".cancel-btn\",\n            uploadType: \"\"\n        }), this.removeImage = function() {\n            this.disableButtons(), this.trigger(\"uiDeleteImage\", {\n                uploadType: this.attr.uploadType\n            });\n        }, this.triggerHideDeleteLink = function() {\n            this.trigger(\"uiHideDeleteLink\", {\n                uploadType: this.attr.uploadType\n            });\n        }, this.disableButtons = function() {\n            this.select(\"removeSelector\").attr(\"disabled\", !0), this.select(\"cancelSelector\").JSBNG__stop(!0, !0).fadeOut();\n        }, this.enableButtons = function() {\n            this.select(\"removeSelector\").removeAttr(\"disabled\"), this.select(\"cancelSelector\").JSBNG__stop(!0, !0).show();\n        }, this.showConfirm = function(a, b) {\n            ((((b.uploadType === this.attr.uploadType)) && this.open()));\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(JSBNG__document, \"uiConfirmDeleteImage\", this.showConfirm), this.JSBNG__on(JSBNG__document, \"dataDeleteImageSuccess\", this.close), this.JSBNG__on(\"uiDialogClosed\", this.enableButtons), this.JSBNG__on(JSBNG__document, \"dataDeleteImageFailure\", this.enableButtons), this.JSBNG__on(JSBNG__document, \"dataDeleteImageSuccess\", this.triggerHideDeleteLink), this.JSBNG__on(\"click\", {\n                cancelSelector: this.close,\n                removeSelector: this.removeImage\n            });\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), _ = require(\"core/i18n\"), withDialog = require(\"app/ui/with_dialog\");\n    module.exports = defineComponent(profileConfirmImageDeleteDialog, withDialog);\n});\ndefine(\"app/ui/droppable_image\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/with_drop_events\",\"app/utils/image\",], function(module, require, exports) {\n    function droppableImage() {\n        this.defaultAttrs({\n            uploadType: \"\"\n        }), this.triggerGotProfileImageData = function(a, b) {\n            this.trigger(\"uiGotProfileImageData\", {\n                JSBNG__name: a,\n                contents: b,\n                uploadType: this.attr.uploadType,\n                wasDropped: !0\n            });\n        }, this.getDroppedImageData = function(a, b) {\n            if (!this.editing) {\n                return;\n            }\n        ;\n        ;\n            a.stopImmediatePropagation();\n            var c = b.file;\n            image.getFileData(c.JSBNG__name, c, this.triggerGotProfileImageData.bind(this));\n        }, this.allowDrop = function(a) {\n            this.editing = ((a.type === \"uiEditProfileStart\"));\n        }, this.after(\"initialize\", function() {\n            this.editing = !1, this.JSBNG__on(JSBNG__document, \"uiEditProfileStart uiEditProfileEnd\", this.allowDrop), this.JSBNG__on(\"uiDrop\", this.getDroppedImageData);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withDropEvents = require(\"app/ui/with_drop_events\"), image = require(\"app/utils/image\");\n    module.exports = defineComponent(droppableImage, withDropEvents);\n});\ndefine(\"app/ui/profile_image_monitor\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/utils/cookie\",\"core/clock\",], function(module, require, exports) {\n    function profileImageMonitor() {\n        this.defaultAttrs({\n            isProcessingCookie: \"image_processing_complete_key\",\n            pollInterval: 2000,\n            uploadType: \"avatar\",\n            spinnerUrl: undefined,\n            spinnerSelector: \".preview-spinner\",\n            thumbnailSelector: \"#avatar_preview\",\n            miniAvatarThumbnailSelector: \".mini-profile .avatar\",\n            deleteButtonSelector: \"#delete-image\",\n            deleteFormSelector: \"#profile_image_delete_form\"\n        }), this.startPollingUploadStatus = function(a, b) {\n            if (this.ignoreEvent(a, b)) {\n                return;\n            }\n        ;\n        ;\n            this.stopPollingUploadStatus(), this.uploadCheckTimer = clock.setIntervalEvent(\"uiCheckImageUploadStatus\", this.attr.pollInterval, {\n                uploadType: this.attr.uploadType,\n                key: cookie(this.attr.isProcessingCookie)\n            }), this.setThumbsLoading();\n        }, this.stopPollingUploadStatus = function() {\n            ((this.uploadCheckTimer && clock.JSBNG__clearInterval(this.uploadCheckTimer)));\n        }, this.setThumbsLoading = function(a, b) {\n            if (this.ignoreUIEvent(a, b)) {\n                return;\n            }\n        ;\n        ;\n            this.updateThumbs(this.attr.spinnerUrl);\n        }, this.updateThumbs = function(a) {\n            ((((this.attr.uploadType == \"avatar\")) ? ($(this.attr.thumbnailSelector).attr(\"src\", a), $(this.attr.miniAvatarThumbnailSelector).attr(\"src\", a)) : ((((this.attr.uploadType == \"header\")) && $(this.attr.thumbnailSelector).css(\"background-image\", ((a ? ((((\"url(\" + a)) + \")\")) : \"none\")))))));\n        }, this.checkUploadStatus = function(a, b) {\n            if ((((($(\"html\").hasClass(\"debug\") || ((b.JSBNG__status == \"processing\")))) || this.ignoreEvent(a, b)))) {\n                return;\n            }\n        ;\n        ;\n            this.handleUploadComplete(b.JSBNG__status), ((b.JSBNG__status && this.trigger(\"uiImageUploadSuccess\", b)));\n        }, this.handleUploadComplete = function(a) {\n            this.stopPollingUploadStatus(), cookie(this.attr.isProcessingCookie, null, {\n                path: \"/\"\n            }), this.updateThumbs(a);\n        }, this.handleImageDelete = function(a, b) {\n            if (this.ignoreEvent(a, b)) {\n                return;\n            }\n        ;\n        ;\n            this.handleUploadComplete(b.JSBNG__status);\n        }, this.handleFailedUpload = function(a, b) {\n            if (this.ignoreEvent(a, b)) {\n                return;\n            }\n        ;\n        ;\n            this.stopPollingUploadStatus(), this.restoreInitialThumbnail(), this.trigger(\"uiImageUploadFailure\", ((b || {\n            })));\n        }, this.deleteProfileImage = function(a, b) {\n            return a.preventDefault(), $(this.attr.deleteFormSelector).submit(), !1;\n        }, this.saveInitialThumbnail = function() {\n            ((((this.attr.uploadType == \"avatar\")) ? this.initialThumbnail = $(this.attr.thumbnailSelector).attr(\"src\") : ((((this.attr.uploadType == \"header\")) && (this.initialThumbnail = $(this.attr.thumbnailSelector).css(\"background-image\"))))));\n        }, this.restoreInitialThumbnail = function() {\n            ((((this.attr.uploadType == \"avatar\")) ? ($(this.attr.thumbnailSelector).attr(\"src\", this.initialThumbnail), $(this.attr.miniAvatarThumbnailSelector).attr(\"src\", this.initialThumbnail)) : ((((this.attr.uploadType == \"header\")) && $(this.attr.thumbnailSelector).css(\"background-image\", this.initialThumbnail)))));\n        }, this.ignoreEvent = function(a, b) {\n            return ((((b && b.sourceEventData)) && ((b.sourceEventData.uploadType != this.attr.uploadType))));\n        }, this.ignoreUIEvent = function(a, b) {\n            return ((b && ((b.uploadType != this.attr.uploadType))));\n        }, this.after(\"initialize\", function() {\n            this.attr.spinnerUrl = this.select(\"spinnerSelector\").attr(\"src\"), ((cookie(this.attr.isProcessingCookie) ? this.startPollingUploadStatus() : this.saveInitialThumbnail())), this.JSBNG__on(JSBNG__document, \"dataImageEnqueued\", this.startPollingUploadStatus), this.JSBNG__on(JSBNG__document, \"dataHasImageUploadStatus\", this.checkUploadStatus), this.JSBNG__on(JSBNG__document, \"dataDeleteImageSuccess\", this.handleImageDelete), this.JSBNG__on(JSBNG__document, \"dataFailedToGetImageUploadStatus\", this.handleFailedUpload), this.JSBNG__on(JSBNG__document, \"uiDeleteImage\", this.setThumbsLoading), this.JSBNG__on(this.attr.deleteButtonSelector, \"click\", this.deleteProfileImage);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), cookie = require(\"app/utils/cookie\"), clock = require(\"core/clock\");\n    module.exports = defineComponent(profileImageMonitor);\n});\ndefine(\"app/data/inline_edit_scribe\", [\"module\",\"require\",\"exports\",\"core/component\",\"core/utils\",\"app/data/with_scribe\",], function(module, require, exports) {\n    function inlineEditScribe() {\n        this.defaultAttrs({\n            scribeContext: {\n                component: \"inline_edit\"\n            }\n        }), this.scribeAction = function(a) {\n            var b = utils.merge(this.attr.scribeContext, {\n                action: a\n            });\n            return function(a, c) {\n                this.scribe(b, c);\n            };\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"uiEditProfileStart\", this.scribeAction(\"edit\")), this.JSBNG__on(\"uiEditProfileCancel\", this.scribeAction(\"cancel\")), this.JSBNG__on(\"dataInlineEditSaveSuccess\", this.scribeAction(\"success\")), this.JSBNG__on(\"dataInlineEditSaveError\", this.scribeAction(\"error\"));\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), utils = require(\"core/utils\"), withScribe = require(\"app/data/with_scribe\"), InlineEditScribe = defineComponent(inlineEditScribe, withScribe);\n    module.exports = InlineEditScribe;\n});\ndefine(\"app/data/settings/profile_image_upload_scribe\", [\"module\",\"require\",\"exports\",\"core/component\",\"core/utils\",\"app/data/with_scribe\",], function(module, require, exports) {\n    function profileImageUploadScribe() {\n        this.scribeEvent = function(a, b) {\n            this.scribe(utils.merge(a.scribeContext, b));\n        }, this.after(\"initialize\", function() {\n            this.scribeOnEvent(\"uiUploadReceived\", {\n                element: \"upload\",\n                action: \"complete\"\n            }), this.scribeOnEvent(\"uiShowingWebcam\", {\n                element: \"webcam\",\n                action: \"impression\"\n            }), this.scribeOnEvent(\"jsCamCapture\", {\n                element: \"webcam\",\n                action: \"complete\"\n            }), this.scribeOnEvent(\"uiProfileImageDialogClose\", {\n                action: \"close\"\n            }), this.JSBNG__on(\"uiImageSave\", function(a, b) {\n                this.scribeEvent(b, {\n                    element: ((\"crop_\" + b.scribeElement)),\n                    action: \"complete\"\n                });\n            }), this.JSBNG__on(\"uiShowingCropper\", function(a, b) {\n                this.scribeEvent(b, {\n                    element: ((\"crop_\" + b.scribeElement)),\n                    action: \"impression\"\n                });\n            }), this.JSBNG__on(\"uiProfileImagePublished\", function(a, b) {\n                this.scribeEvent(b, {\n                    element: ((\"save_\" + b.scribeElement)),\n                    action: \"complete\"\n                });\n            }), this.JSBNG__on(\"uiProfileImageDialogFailure\", function(a, b) {\n                this.scribeEvent(b, {\n                    element: ((\"save_\" + b.scribeElement)),\n                    action: \"failure\"\n                });\n            });\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), utils = require(\"core/utils\"), withScribe = require(\"app/data/with_scribe\"), ProfileImageUploadScribe = defineComponent(profileImageUploadScribe, withScribe);\n    module.exports = ProfileImageUploadScribe;\n});\ndefine(\"app/data/drag_and_drop_scribe\", [\"module\",\"require\",\"exports\",\"core/component\",\"core/utils\",\"app/data/with_scribe\",], function(module, require, exports) {\n    function dragAndDropScribe() {\n        this.after(\"initialize\", function() {\n            this.scribeOnEvent(\"uiDropped\", {\n                action: \"drag_and_drop\"\n            });\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), utils = require(\"core/utils\"), withScribe = require(\"app/data/with_scribe\");\n    module.exports = defineComponent(dragAndDropScribe, withScribe);\n});\ndefine(\"app/ui/settings/change_photo\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/with_dropdown\",\"app/data/with_scribe\",\"app/utils/image\",\"core/utils\",\"core/i18n\",], function(module, require, exports) {\n    function changePhoto() {\n        this.defaultAttrs({\n            uploadType: \"avatar\",\n            swfSelector: \"div.webcam-detect.swf-container\",\n            toggler: \"button.choose-photo-button\",\n            chooseExistingSelector: \"#photo-choose-existing\",\n            chooseWebcamSelector: \"#photo-choose-webcam\",\n            deleteImageSelector: \"#photo-delete-image\",\n            itemSelector: \"li.dropdown-link\",\n            firstItemSelector: \"li.dropdown-link:nth-child(2)\",\n            caretSelector: \".dropdown-caret\",\n            photoSelector: \"div.photo-selector\",\n            showDeleteSuccessMessage: !0,\n            alwaysOpen: !1,\n            confirmDelete: !1\n        }), this.webcamDetectorSwfPath = \"/flash/WebcamDetector.swf\", this.isUsingFlashUploader = function() {\n            return ((image.hasFlash() && !image.hasFileReader()));\n        }, this.isFirefox36 = function() {\n            var a = $.browser;\n            return ((a.mozilla && ((a.version.slice(0, 3) == \"1.9\"))));\n        }, this.needsMenuHeldOpen = function() {\n            return ((this.isUsingFlashUploader() || this.isFirefox36()));\n        }, this.openWebCamDialog = function(a) {\n            a.preventDefault(), ((this.needsMenuHeldOpen() && (this.ignoreCloseEvent = !1))), this.trigger(\"uiCropperWebcam\", {\n                uploadType: this.attr.uploadType\n            });\n        }, this.webcamDetected = function() {\n            var a = this.select(\"chooseWebcamSelector\");\n            this.updateDropdownItemVisibility(a, !a.hasClass(\"no-webcam\"));\n        }, this.dropdownOpened = function(a, b) {\n            var c = ((((b && b.scribeContext)) || this.attr.eventData.scribeContext));\n            this.scribe(utils.merge(c, {\n                action: \"open\"\n            })), ((this.needsMenuHeldOpen() && (this.ignoreCloseEvent = !0)));\n        }, this.setupWebcamDetection = function() {\n            var a = this.select(\"swfSelector\");\n            ((image.hasFlash() && (((window.webcam && (window.webcam.onDetect = this.webcamDetected.bind(this)))), a.css(\"width\", \"0\"), a.css(\"height\", \"0\"), a.css(\"overflow\", \"hidden\"), a.flash({\n                swf: this.webcamDetectorSwfPath,\n                height: 1,\n                width: 1,\n                wmode: \"transparent\",\n                AllowScriptAccess: \"sameDomain\"\n            }))));\n        }, this.deleteImage = function() {\n            if (((this.attr.uploadType !== \"background\"))) {\n                ((this.needsMenuHeldOpen() && (this.ignoreCloseEvent = !1)));\n                var a = ((this.attr.confirmDelete ? \"uiConfirmDeleteImage\" : \"uiDeleteImage\"));\n                this.trigger(a, {\n                    uploadType: this.attr.uploadType\n                });\n            }\n             else this.hideFileName();\n        ;\n        ;\n            ((this.attr.confirmDelete || this.hideDeleteLink()));\n        }, this.handleDeleteImageSuccess = function(a, b) {\n            ((((b.message && this.attr.showDeleteSuccessMessage)) && this.trigger(\"uiAlertBanner\", b)));\n        }, this.handleDeleteImageFailure = function(a, b) {\n            if (((b.sourceEventData.uploadType != this.attr.uploadType))) {\n                return;\n            }\n        ;\n        ;\n            b.message = ((b.message || _(\"Sorry! Something went wrong deleting your {{uploadType}}. Please try again.\", this.attr))), this.trigger(\"uiAlertBanner\", b), this.showDeleteLink();\n        }, this.showDeleteLinkForTargetedButton = function(a, b) {\n            ((((((b.uploadType == this.attr.uploadType)) && ((b.uploadType == \"background\")))) && this.showDeleteLink()));\n        }, this.showDeleteLink = function() {\n            this.updateDropdownItemVisibility(this.select(\"deleteImageSelector\"), !0);\n        }, this.hideDeleteLink = function(a, b) {\n            if (((((b && b.uploadType)) && ((b.uploadType !== this.attr.uploadType))))) {\n                return;\n            }\n        ;\n        ;\n            this.updateDropdownItemVisibility(this.select(\"deleteImageSelector\"), !1);\n        }, this.showFileName = function(a, b) {\n            this.$node.siblings(\".display-file-requirement\").hide(), this.$node.siblings(\".display-file-name\").text(b.fileName).show();\n        }, this.hideFileName = function() {\n            this.$node.siblings(\".display-file-requirement\").show(), this.$node.siblings(\".display-file-name\").hide();\n        }, this.updateDropdownItemVisibility = function(a, b) {\n            ((b ? a.show() : a.hide())), this.updateMenuHierarchy();\n        }, this.upliftFilePicker = function() {\n            var a = this.select(\"photoSelector\");\n            this.select(\"toggler\").hide(), a.JSBNG__find(\"button\").attr(\"disabled\", !1), a.appendTo(this.$node);\n        }, this.moveFilePickerBackIntoMenu = function() {\n            var a = this.select(\"photoSelector\");\n            a.appendTo(this.select(\"chooseExistingSelector\")), this.select(\"toggler\").show();\n        }, this.updateMenuHierarchy = function() {\n            if (this.attr.alwaysOpen) {\n                return;\n            }\n        ;\n        ;\n            ((((this.availableDropdownItems().length == 1)) ? this.upliftFilePicker() : this.moveFilePickerBackIntoMenu()));\n        }, this.availableDropdownItems = function() {\n            return this.select(\"itemSelector\").filter(function() {\n                return (($(this).css(\"display\") != \"none\"));\n            });\n        }, this.addCaretHover = function() {\n            this.select(\"caretSelector\").addClass(\"hover\");\n        }, this.removeCaretHover = function() {\n            this.select(\"caretSelector\").removeClass(\"hover\");\n        }, this.after(\"initialize\", function() {\n            ((((this.attr.uploadType == \"avatar\")) && this.setupWebcamDetection())), this.JSBNG__on(JSBNG__document, \"click\", this.close), this.JSBNG__on(JSBNG__document, \"uiNavigate\", this.close), this.JSBNG__on(JSBNG__document, \"uiImageUploadSuccess\", this.showDeleteLink), this.JSBNG__on(JSBNG__document, \"uiImagePickerFileReady\", this.showDeleteLinkForTargetedButton), this.JSBNG__on(JSBNG__document, \"uiFileNameReady\", this.showFileName), this.JSBNG__on(JSBNG__document, \"uiHideDeleteLink\", this.hideDeleteLink), this.JSBNG__on(JSBNG__document, \"dataImageEnqueued\", this.hideDeleteLink), this.JSBNG__on(JSBNG__document, \"dataDeleteImageSuccess\", this.handleDeleteImageSuccess), this.JSBNG__on(JSBNG__document, \"dataDeleteImageFailure\", this.handleDeleteImageFailure), this.JSBNG__on(\"uiDropdownOpened\", this.dropdownOpened), this.JSBNG__on(\"click\", {\n                chooseWebcamSelector: this.openWebCamDialog,\n                deleteImageSelector: this.deleteImage\n            }), this.JSBNG__on(\"mouseover\", {\n                firstItemSelector: this.addCaretHover\n            }), this.JSBNG__on(\"mouseout\", {\n                firstItemSelector: this.removeCaretHover\n            });\n            if (this.attr.alwaysOpen) {\n                var a = [\"toggleDisplay\",\"closeDropdown\",\"closeAndRestoreFocus\",\"close\",];\n                a.forEach(function(a) {\n                    this.around(a, $.noop);\n                }.bind(this));\n            }\n        ;\n        ;\n            this.around(\"toggleDisplay\", function(a, b) {\n                var c = this.availableDropdownItems();\n                ((((((((c.length == 1)) && !this.$node.hasClass(\"open\"))) && !this.isItemClick(b))) ? c.click() : a(b)));\n            }), this.updateMenuHierarchy();\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withDropdown = require(\"app/ui/with_dropdown\"), withScribe = require(\"app/data/with_scribe\"), image = require(\"app/utils/image\"), utils = require(\"core/utils\"), _ = require(\"core/i18n\");\n    module.exports = defineComponent(changePhoto, withDropdown, withScribe);\n});\ndefine(\"app/ui/image_uploader\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/utils/image\",\"app/ui/with_image_selection\",\"app/data/with_scribe\",\"core/i18n\",], function(module, require, exports) {\n    function imageUploader() {\n        this.defaults = {\n            swfHeight: 30,\n            swfWidth: 274,\n            uploadType: \"\",\n            fileNameTextSelector: \".photo-file-name\"\n        }, this.updateFileNameText = function(a, b) {\n            var c = this.truncate(b.fileName, 18);\n            this.select(\"fileNameSelector\").val(b.fileName), this.select(\"fileNameTextSelector\").text(c), this.trigger(\"uiFileNameReady\", {\n                fileName: c\n            });\n        }, this.addFileError = function(a) {\n            ((((a == \"tooLarge\")) ? this.trigger(\"uiAlertBanner\", {\n                message: this.attr.fileTooBigMessage\n            }) : ((((((a == \"notImage\")) || ((a == \"ioError\")))) && this.trigger(\"uiAlertBanner\", {\n                message: _(\"You did not select an image.\")\n            }))))), this.scribe({\n                component: \"profile_image\",\n                element: \"upload\",\n                action: \"failure\"\n            }), ((((typeof this.attr.onError == \"function\")) && this.attr.onError())), this.reset();\n        }, this.gotImageData = function(a, b) {\n            this.gotResizedImageData(a, b);\n        }, this.truncate = function(a, b) {\n            if (((a.length <= b))) {\n                return a;\n            }\n        ;\n        ;\n            var c = Math.ceil(((b / 2))), d = Math.floor(((b / 2))), e = a.substr(0, c), f = a.substr(((a.length - d)), d);\n            return ((((e + \"\\u2026\")) + f));\n        }, this.loadSwf = function(a, b) {\n            image.loadPhotoSelectorSwf(this.select(\"swfSelector\"), a, b, this.attr.swfHeight, this.attr.swfWidth, this.attr.maxSizeInBytes);\n        }, this.initializeButton = function() {\n            this.select(\"buttonSelector\").attr(\"disabled\", !1);\n        }, this.resetUploader = function() {\n            this.select(\"fileNameSelector\").val(\"\"), this.select(\"fileNameTextSelector\").text(_(\"No file selected\"));\n        }, this.after(\"initialize\", function() {\n            this.maxSizeInBytes = this.attr.maxSizeInBytes, this.initializeButton(), this.JSBNG__on(this.$node, \"uiTweetBoxShowPreview\", this.updateFileNameText), this.JSBNG__on(\"uiResetUploader\", this.resetUploader);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), image = require(\"app/utils/image\"), withImageSelection = require(\"app/ui/with_image_selection\"), withScribe = require(\"app/data/with_scribe\"), _ = require(\"core/i18n\"), ImageUploader = defineComponent(imageUploader, withImageSelection, withScribe);\n    module.exports = ImageUploader;\n});\ndefine(\"app/ui/inline_profile_editing_initializor\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/utils/image\",], function(module, require, exports) {\n    function inlineProfileEditingInitializor() {\n        this.defaultAttrs({\n            profileEditingCSSBundle: \"\"\n        }), this.supportsInlineEditing = function() {\n            return image.supportsCropper();\n        }, this.initializeInlineProfileEditing = function(a, b) {\n            ((this.supportsInlineEditing() ? using(((\"css!\" + this.attr.profileEditingCSSBundle)), this.triggerStart.bind(this, b.scribeElement)) : this.trigger(\"uiNavigate\", {\n                href: \"/settings/profile\"\n            })));\n        }, this.triggerStart = function(a) {\n            this.trigger(\"uiEditProfileStart\", {\n                scribeContext: {\n                    element: a\n                }\n            });\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(JSBNG__document, \"uiEditProfileInitialize\", this.initializeInlineProfileEditing);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), image = require(\"app/utils/image\");\n    module.exports = defineComponent(inlineProfileEditingInitializor);\n});\ndefine(\"app/utils/hide_or_show_divider\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n    module.exports = function(b, c, d, e) {\n        var f = b.JSBNG__find(c), g = !!$.trim(b.JSBNG__find(d).text()), h = !!$.trim(b.JSBNG__find(e).text());\n        ((((g && h)) ? f.show() : f.hide()));\n    };\n});\ndefine(\"app/ui/with_inline_image_options\", [\"module\",\"require\",\"exports\",\"core/compose\",\"app/ui/with_upload_photo_affordance\",\"app/utils/is_showing_avatar_options\",], function(module, require, exports) {\n    function withInlineImageOptions() {\n        compose.mixin(this, [withUploadPhotoAffordance,]), this.defaultAttrs({\n            editHeaderSelector: \".edit-header-target\",\n            editAvatarSelector: \".profile-picture\",\n            profileHeaderMaskSelector: \".profile-header-mask\",\n            cancelOptionsSelector: \".cancel-options\",\n            changePhotoSelector: \"#choose-photo\",\n            changeHeaderSelector: \"#choose-header\"\n        }), this.optionsEnabled = function() {\n            this.canShowOptions = !0;\n        }, this.optionsDisabled = function() {\n            this.canShowOptions = !1;\n        }, this.toggleAvatarOptions = function(a) {\n            a.preventDefault(), ((isShowingAvatarOptions() ? this.hideAvatarOptions() : this.showAvatarOptions()));\n        }, this.showAvatarOptions = function() {\n            ((((this.canShowOptions && !isShowingAvatarOptions())) && (this.$body.addClass(\"show-avatar-options\"), this.select(\"changePhotoSelector\").trigger(\"uiDropdownOpened\"))));\n        }, this.hideAvatarOptions = function() {\n            this.$body.removeClass(\"show-avatar-options\");\n        }, this.showHeaderOptions = function() {\n            ((((this.canShowOptions && !this.$body.hasClass(\"show-header-options\"))) && (this.$body.addClass(\"show-header-options\"), this.select(\"changeHeaderSelector\").trigger(\"uiDropdownOpened\"))));\n        }, this.hideHeaderOptions = function() {\n            this.$body.removeClass(\"show-header-options\");\n        }, this.hideOptions = function() {\n            this.hideHeaderOptions(), this.hideAvatarOptions();\n        }, this.after(\"initialize\", function() {\n            this.$body = $(\"body\"), this.JSBNG__on(\"click\", {\n                editAvatarSelector: this.toggleAvatarOptions,\n                editHeaderSelector: this.showHeaderOptions,\n                profileHeaderMaskSelector: this.hideOptions,\n                cancelOptionsSelector: this.hideOptions\n            }), this.JSBNG__on(\"uiEditProfileStart\", this.optionsEnabled), this.JSBNG__on(\"uiEditProfileEnd\", this.optionsDisabled), this.JSBNG__on(\"uiProfileHeaderUpdated\", this.hideOptions), this.JSBNG__on(\"uiProfileAvatarUpdated\", this.hideOptions), this.JSBNG__on(JSBNG__document, \"uiShortcutEsc\", this.hideOptions), this.JSBNG__on(JSBNG__document, \"uiShowEditAvatarOptions\", this.showAvatarOptions);\n        });\n    };\n;\n    var compose = require(\"core/compose\"), withUploadPhotoAffordance = require(\"app/ui/with_upload_photo_affordance\"), isShowingAvatarOptions = require(\"app/utils/is_showing_avatar_options\");\n    module.exports = withInlineImageOptions;\n});\ndefine(\"app/ui/with_inline_image_editing\", [\"module\",\"require\",\"exports\",\"core/compose\",\"app/utils/hide_or_show_divider\",\"app/ui/with_inline_image_options\",], function(module, require, exports) {\n    function withInlineImageEditing() {\n        compose.mixin(this, [withInlineImageOptions,]), this.defaultAttrs({\n            headerImageUploadDialogSelector: \"#header_image_upload_dialog\",\n            headerCropperSelector: \"#header_image_upload_dialog .cropper-mask\",\n            avatarSelector: \".avatar:first\",\n            avatarContainerSelector: \".profile-picture:first\",\n            profileHeaderInnerSelector: \".profile-header-inner:first\",\n            avatarPlaceholderSelector: \".profile-picture-placeholder\",\n            removeFromPreview: \".profile-editing-dialogs, .edit-header-target, input, label, textarea, .controls, .inline-edit-icon\"\n        }), this.editHeaderModeOn = function() {\n            this.addPreviewToHeaderUpload(), this.$body.addClass(\"profile-header-editing\"), this.hideHeaderOptions();\n        }, this.editHeaderModeOff = function() {\n            this.$body.removeClass(\"profile-header-editing\"), this.removeHeaderPreview();\n        }, this.removeHeaderPreview = function() {\n            ((this.$headerPreview && this.$headerPreview.remove()));\n        }, this.addPreviewToHeaderUpload = function() {\n            this.removeHeaderPreview(), this.trigger(\"uiNeedsTextPreview\");\n            var a = this.$headerPreview = this.$node.clone();\n            a.JSBNG__find(this.attr.profileHeaderInnerSelector).css(\"background-image\", \"none\"), hideOrShowDivider(a, this.attr.dividerSelector, this.attr.locationSelector, this.attr.urlProfileFieldSelector), a.JSBNG__find(this.attr.removeFromPreview).remove(), this.select(\"headerCropperSelector\").prepend(a);\n        }, this.updateImage = function(a, b) {\n            var c = ((\"data:image/jpeg;base64,\" + b.fileData));\n            ((((b.uploadType === \"header\")) ? this.updateHeader(c) : ((((b.uploadType === \"avatar\")) && (this.select(\"avatarSelector\").attr(\"src\", c), this.showAvatar())))));\n        }, this.updateHeader = function(a) {\n            this.select(\"profileHeaderInnerSelector\").css({\n                \"background-size\": \"100% 100%\",\n                \"background-image\": ((((\"url(\" + a)) + \")\"))\n            }), this.trigger(\"uiProfileHeaderUpdated\");\n        }, this.useDefaultHeader = function() {\n            var a = this.select(\"profileHeaderInnerSelector\").attr(\"data-default-background-image\");\n            this.updateHeader(a);\n        }, this.showAvatar = function() {\n            this.select(\"avatarContainerSelector\").removeClass(\"hidden\"), this.select(\"avatarPlaceholderSelector\").addClass(\"hidden\"), this.trigger(\"uiProfileAvatarUpdated\");\n        }, this.showAvatarPlaceholder = function() {\n            this.select(\"avatarContainerSelector\").addClass(\"hidden\"), this.select(\"avatarPlaceholderSelector\").removeClass(\"hidden\"), this.trigger(\"uiProfileAvatarUpdated\");\n        }, this.showDefaultImage = function(a, b) {\n            ((this.isOfType(\"avatar\", b) && this.showAvatarPlaceholder())), ((this.isOfType(\"header\", b) && this.useDefaultHeader()));\n        }, this.isOfType = function(a, b) {\n            return ((((b && b.sourceEventData)) && ((b.sourceEventData.uploadType === a))));\n        }, this.after(\"initialize\", function() {\n            this.$body = $(\"body\"), this.JSBNG__on(\"uiDialogOpened\", {\n                headerImageUploadDialogSelector: this.editHeaderModeOn\n            }), this.JSBNG__on(\"uiDialogClosed\", {\n                headerImageUploadDialogSelector: this.editHeaderModeOff\n            }), this.JSBNG__on(JSBNG__document, \"uiImageSave\", this.updateImage), this.JSBNG__on(JSBNG__document, \"dataDeleteImageSuccess\", this.showDefaultImage);\n        });\n    };\n;\n    var compose = require(\"core/compose\"), hideOrShowDivider = require(\"app/utils/hide_or_show_divider\"), withInlineImageOptions = require(\"app/ui/with_inline_image_options\");\n    module.exports = withInlineImageEditing;\n});\ndefine(\"app/ui/inline_profile_editing\", [\"module\",\"require\",\"exports\",\"core/component\",\"core/i18n\",\"core/clock\",\"app/utils/hide_or_show_divider\",\"app/ui/with_scrollbar_width\",\"app/utils/params\",\"app/ui/tooltips\",\"app/ui/with_inline_image_editing\",], function(module, require, exports) {\n    function inlineProfileEditing() {\n        this.defaultAttrs({\n            cancelProfileButtonSelector: \".cancel-profile-btn\",\n            saveProfileButtonSelector: \".save-profile-btn\",\n            saveProfileFooterSelector: \".save-profile-footer\",\n            bioProfileFieldSelector: \".bio.profile-field\",\n            locationSelector: \".JSBNG__location\",\n            urlProfileFieldSelector: \".url .profile-field\",\n            dividerSelector: \".location-and-url .divider\",\n            anchorSelector: \"a\",\n            ignoreInTabIndex: \".js-tooltip\",\n            tooltipSelector: \".js-tooltip\",\n            updateSaveMessage: _(\"Your profile has been saved.\"),\n            scrollResetDuration: 300\n        }), this.saveProfile = function(a, b) {\n            a.preventDefault(), this.trigger(\"uiEditProfileSaveFields\"), this.trigger(\"uiEditProfileSave\");\n        }, this.cancelProfileEditing = function(a, b) {\n            a.preventDefault();\n            var c = $(a.target).attr(\"data-scribe-element\");\n            this.trigger(\"uiEditProfileCancel\", {\n                scribeContext: {\n                    element: c\n                }\n            }), this.trigger(\"uiEditProfileEnd\");\n        }, this.isEditing = function() {\n            return this.$body.hasClass(\"profile-editing\");\n        }, this.editModeOn = function() {\n            $(\"html, body\").animate({\n                scrollTop: 0\n            }, this.attr.scrollResetDuration), this.calculateScrollbarWidth(), this.$body.addClass(\"profile-editing\");\n        }, this.editModeOff = function() {\n            this.$body.removeClass(\"profile-editing\");\n        }, this.fieldEditingModeOn = function() {\n            this.$body.addClass(\"profile-field-editing\"), this.select(\"dividerSelector\").show();\n        }, this.fieldEditingModeOff = function() {\n            this.$body.removeClass(\"profile-field-editing\"), hideOrShowDivider(this.$node, this.attr.dividerSelector, this.attr.locationSelector, this.attr.urlProfileFieldSelector);\n        }, this.catchAnchorClicks = function(a) {\n            ((this.isEditing() && a.preventDefault()));\n        }, this.disabledTabbing = function() {\n            this.select(\"ignoreInTabIndex\").attr(\"tabindex\", \"-1\");\n        }, this.enableTabbing = function() {\n            this.select(\"ignoreInTabIndex\").removeAttr(\"tabindex\");\n        }, this.saving = function() {\n            this.select(\"saveProfileFooterSelector\").addClass(\"saving\");\n        }, this.handleError = function(a, b) {\n            this.doneSaving(), this.fieldEditingModeOn(), this.trigger(\"uiShowProfileEditError\", b);\n        }, this.savingError = function(a, b) {\n            clock.setTimeoutEvent(\"uiHandleSaveError\", 1000, {\n                message: b.message\n            });\n        }, this.saveSuccess = function(a, b) {\n            this.doneSaving(), this.trigger(\"uiShowMessage\", {\n                message: this.attr.updateSaveMessage\n            });\n        }, this.doneSaving = function() {\n            this.select(\"saveProfileFooterSelector\").removeClass(\"saving\");\n        }, this.disableTooltips = function() {\n            this.select(\"tooltipSelector\").tooltip(\"disable\").tooltip(\"hide\");\n        }, this.enableTooltips = function() {\n            this.select(\"tooltipSelector\").tooltip(\"enable\");\n        }, this.finishedProcessing = function(a, b) {\n            ((((b && b.linkified_description)) && this.select(\"bioProfileFieldSelector\").html(b.linkified_description))), ((((b && b.user_url)) && this.select(\"urlProfileFieldSelector\").html(b.user_url))), this.trigger(\"uiEditProfileEnd\");\n        }, this.after(\"initialize\", function() {\n            this.$body = $(\"body\"), this.JSBNG__on(\"click\", {\n                cancelProfileButtonSelector: this.cancelProfileEditing,\n                saveProfileButtonSelector: this.saveProfile,\n                anchorSelector: this.catchAnchorClicks\n            }), this.JSBNG__on(\"uiEditProfileStart\", this.editModeOn), this.JSBNG__on(\"uiEditProfileEnd\", this.editModeOff), this.JSBNG__on(\"uiEditProfileStart\", this.disableTooltips), this.JSBNG__on(\"uiEditProfileEnd\", this.enableTooltips), this.JSBNG__on(\"uiEditProfileStart\", this.fieldEditingModeOn), this.JSBNG__on(\"uiEditProfileSave\", this.fieldEditingModeOff), this.JSBNG__on(\"uiEditProfileEnd\", this.fieldEditingModeOff), this.JSBNG__on(\"uiEditProfileStart\", this.disabledTabbing), this.JSBNG__on(\"uiEditProfileEnd\", this.enableTabbing), this.JSBNG__on(JSBNG__document, \"dataInlineEditSaveStarted\", this.saving), this.JSBNG__on(JSBNG__document, \"dataInlineEditSaveSuccess\", this.saveSuccess), this.JSBNG__on(JSBNG__document, \"dataInlineEditSaveError\", this.savingError), this.JSBNG__on(JSBNG__document, \"uiHandleSaveError\", this.handleError), this.JSBNG__on(JSBNG__document, \"dataInlineEditSaveSuccess\", this.finishedProcessing);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), _ = require(\"core/i18n\"), clock = require(\"core/clock\"), hideOrShowDivider = require(\"app/utils/hide_or_show_divider\"), withScrollbarWidth = require(\"app/ui/with_scrollbar_width\"), params = require(\"app/utils/params\"), Tooltips = require(\"app/ui/tooltips\"), withInlineImageEditing = require(\"app/ui/with_inline_image_editing\");\n    module.exports = defineComponent(inlineProfileEditing, withScrollbarWidth, withInlineImageEditing);\n});\ndefine(\"app/data/settings\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_auth_token\",\"app/data/with_data\",], function(module, require, exports) {\n    var defineComponent = require(\"core/component\"), withAuthToken = require(\"app/data/with_auth_token\"), withData = require(\"app/data/with_data\");\n    var SettingsData = defineComponent(settingsData, withData, withAuthToken);\n    function settingsData() {\n        this.defaultAttrs({\n            ajaxTimeout: 6000,\n            noShowError: true\n        });\n        this.verifyUsername = function(JSBNG__event, data) {\n            this.get({\n                url: \"/users/username_available\",\n                eventData: data,\n                data: data,\n                success: \"dataUsernameResult\",\n                error: \"dataUsernameError\"\n            });\n        };\n        this.verifyEmail = function(JSBNG__event, data) {\n            this.get({\n                url: \"/users/email_available\",\n                eventData: data,\n                data: data,\n                success: \"dataEmailResult\",\n                error: \"dataEmailError\"\n            });\n        };\n        this.cancelPendingEmail = function(JSBNG__event, data) {\n            var success = function(json) {\n                this.trigger(\"dataCancelEmailSuccess\", json);\n            };\n            var error = function(request) {\n                this.trigger(\"dataCancelEmailFailure\", request);\n            };\n            this.post({\n                url: data.url,\n                data: this.addAuthToken(),\n                success: success.bind(this),\n                error: error.bind(this)\n            });\n        };\n        this.resendPendingEmail = function(JSBNG__event, data) {\n            var success = function(json) {\n                this.trigger(\"dataResendEmailSuccess\", json);\n            };\n            var error = function(request) {\n                this.trigger(\"dataResendEmailFailure\", request);\n            };\n            this.post({\n                url: data.url,\n                data: this.addAuthToken(),\n                success: success.bind(this),\n                error: error.bind(this)\n            });\n        };\n        this.resendPassword = function(JSBNG__event, data) {\n            this.post({\n                url: data.url,\n                data: this.addAuthToken(),\n                dataType: \"text\",\n                success: function() {\n                    this.trigger(\"dataForgotPasswordSuccess\", {\n                    });\n                }.bind(this)\n            });\n        };\n        this.deleteGeoData = function(JSBNG__event) {\n            var error = function(request) {\n                this.trigger(\"dataGeoDeletionError\", {\n                });\n            };\n            this.post({\n                url: \"/account/delete_location_data\",\n                dataType: \"text\",\n                data: this.addAuthToken(),\n                error: error.bind(this)\n            });\n        };\n        this.revokeAuthority = function(JSBNG__event, data) {\n            this.post({\n                url: \"/oauth/revoke\",\n                eventData: data,\n                data: data,\n                success: \"dataOAuthRevokeResultSuccess\",\n                error: \"dataOAuthRevokeResultFailure\"\n            });\n        };\n        this.uploadImage = function(JSBNG__event, data) {\n            var uploadTypeToUrl = {\n                header: \"/settings/profile/upload_profile_header\",\n                avatar: \"/settings/profile/profile_image_update\"\n            };\n            data.page_context = this.attr.pageName;\n            data.section_context = this.attr.sectionName;\n            this.post({\n                url: uploadTypeToUrl[data.uploadType],\n                eventData: data,\n                data: data,\n                success: \"dataImageEnqueued\",\n                error: \"dataImageFailedToEnqueue\"\n            });\n        };\n        this.checkImageUploadStatus = function(JSBNG__event, data) {\n            var uploadTypeToUrl = {\n                header: \"/settings/profile/check_header_processing_complete\",\n                avatar: \"/settings/profile/swift_check_processing_complete\"\n            };\n            this.get({\n                url: uploadTypeToUrl[data.uploadType],\n                eventData: data,\n                data: data,\n                headers: {\n                    \"X-Retry-After\": true\n                },\n                success: \"dataHasImageUploadStatus\",\n                error: \"dataFailedToGetImageUploadStatus\"\n            });\n        };\n        this.deleteImage = function(JSBNG__event, data) {\n            var uploadTypeToUrl = {\n                header: \"/settings/profile/destroy_profile_header\",\n                avatar: \"/settings/profile\"\n            };\n            data.page_context = this.attr.pageName;\n            data.section_context = this.attr.sectionName;\n            this.destroy({\n                url: uploadTypeToUrl[data.uploadType],\n                eventData: data,\n                data: data,\n                success: \"dataDeleteImageSuccess\",\n                error: \"dataDeleteImageFailure\"\n            });\n        };\n        this.resendConfirmationEmail = function(JSBNG__event, data) {\n            this.post({\n                url: \"/account/resend_confirmation_email\",\n                eventData: data,\n                data: data,\n                success: \"dataResendConfirmationEmailSuccess\",\n                error: \"dataResendConfirmationEmailError\"\n            });\n        };\n        this.tweetExport = function(JSBNG__event, data) {\n            this.post({\n                url: \"/account/request_tweet_export\",\n                eventData: data,\n                data: data,\n                success: \"dataTweetExportSuccess\",\n                error: \"dataTweetExportError\"\n            });\n        };\n        this.tweetExportResend = function(JSBNG__event, data) {\n            this.post({\n                url: \"/account/request_tweet_export_resend\",\n                eventData: data,\n                data: data,\n                success: \"dataTweetExportResendSuccess\",\n                error: \"dataTweetExportResendError\"\n            });\n        };\n        this.tweetExportIncrRateLimiter = function(JSBNG__event, data) {\n            this.post({\n                url: \"/account/request_tweet_export_download\",\n                eventData: data,\n                data: data,\n                success: \"dataTweetExportDownloadSuccess\",\n                error: \"dataTweetExportDownloadError\"\n            });\n        };\n        this.after(\"initialize\", function() {\n            this.JSBNG__on(\"uiUsernameChange\", this.verifyUsername);\n            this.JSBNG__on(\"uiEmailChange\", this.verifyEmail);\n            this.JSBNG__on(\"uiCancelPendingEmail\", this.cancelPendingEmail);\n            this.JSBNG__on(\"uiResendPendingEmail\", this.resendPendingEmail);\n            this.JSBNG__on(\"uiForgotPassword\", this.resendPassword);\n            this.JSBNG__on(\"uiDeleteGeoData\", this.deleteGeoData);\n            this.JSBNG__on(\"uiRevokeClick\", this.revokeAuthority);\n            this.JSBNG__on(\"uiImageSave\", this.uploadImage);\n            this.JSBNG__on(\"uiDeleteImage\", this.deleteImage);\n            this.JSBNG__on(\"uiCheckImageUploadStatus\", this.checkImageUploadStatus);\n            this.JSBNG__on(\"uiTweetExportButtonClicked\", this.tweetExport);\n            this.JSBNG__on(\"uiTweetExportResendButtonClicked\", this.tweetExportResend);\n            this.JSBNG__on(\"uiTweetExportConfirmEmail\", this.resendConfirmationEmail);\n            this.JSBNG__on(\"uiTweetExportIncrRateLimiter\", this.tweetExportIncrRateLimiter);\n            this.JSBNG__on(\"dataValidateUsername\", this.verifyUsername);\n            this.JSBNG__on(\"dataValidateEmail\", this.verifyEmail);\n        });\n    };\n;\n    module.exports = SettingsData;\n});\ndefine(\"app/ui/profile_edit_param\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/utils/params\",], function(module, require, exports) {\n    function profileEditParam() {\n        this.hasEditParam = function() {\n            return !!params.fromQuery(window.JSBNG__location).edit;\n        }, this.checkEditParam = function() {\n            ((this.hasEditParam() && this.trigger(\"uiEditProfileInitialize\", {\n                scribeElement: \"edit_param\"\n            })));\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(JSBNG__document, \"uiSwiftLoaded uiPageChanged\", this.checkEditParam);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), params = require(\"app/utils/params\");\n    module.exports = defineComponent(profileEditParam);\n});\ndefine(\"app/ui/alert_banner_to_message_drawer\", [\"module\",\"require\",\"exports\",\"core/component\",], function(module, require, exports) {\n    function alertBannerToMessageDrawer() {\n        this.showMessage = function(a, b) {\n            this.trigger(\"uiShowMessage\", b);\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"uiAlertBanner\", this.showMessage);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\");\n    module.exports = defineComponent(alertBannerToMessageDrawer);\n});\ndefine(\"app/boot/inline_edit\", [\"module\",\"require\",\"exports\",\"app/ui/inline_edit\",\"app/data/async_profile\",\"app/ui/dialogs/profile_image_upload_dialog\",\"app/ui/dialogs/profile_edit_error_dialog\",\"app/ui/dialogs/profile_confirm_image_delete_dialog\",\"app/ui/droppable_image\",\"app/ui/profile_image_monitor\",\"app/data/inline_edit_scribe\",\"app/data/settings/profile_image_upload_scribe\",\"app/data/drag_and_drop_scribe\",\"app/ui/settings/change_photo\",\"app/ui/image_uploader\",\"app/ui/inline_profile_editing_initializor\",\"app/ui/inline_profile_editing\",\"app/data/settings\",\"app/utils/image\",\"app/ui/forms/input_with_placeholder\",\"app/ui/profile_edit_param\",\"app/ui/alert_banner_to_message_drawer\",\"core/i18n\",], function(module, require, exports) {\n    var InlineEdit = require(\"app/ui/inline_edit\"), AsyncProfileData = require(\"app/data/async_profile\"), ProfileImageUploadDialog = require(\"app/ui/dialogs/profile_image_upload_dialog\"), ProfileEditErrorDialog = require(\"app/ui/dialogs/profile_edit_error_dialog\"), ProfileConfirmImageDeleteDialog = require(\"app/ui/dialogs/profile_confirm_image_delete_dialog\"), DroppableImage = require(\"app/ui/droppable_image\"), ProfileImageMonitor = require(\"app/ui/profile_image_monitor\"), InlineEditScribe = require(\"app/data/inline_edit_scribe\"), ProfileImageUploadScribe = require(\"app/data/settings/profile_image_upload_scribe\"), DragAndDropScribe = require(\"app/data/drag_and_drop_scribe\"), ChangePhoto = require(\"app/ui/settings/change_photo\"), ImageUploader = require(\"app/ui/image_uploader\"), InlineProfileEditingInitializor = require(\"app/ui/inline_profile_editing_initializor\"), InlineProfileEditing = require(\"app/ui/inline_profile_editing\"), SettingsData = require(\"app/data/settings\"), image = require(\"app/utils/image\"), InputWithPlaceholder = require(\"app/ui/forms/input_with_placeholder\"), ProfileEditParam = require(\"app/ui/profile_edit_param\"), AlertBannerToMessageDrawer = require(\"app/ui/alert_banner_to_message_drawer\"), _ = require(\"core/i18n\");\n    module.exports = function(b) {\n        InlineProfileEditingInitializor.attachTo(\".profile-page-header\", b);\n        if (image.supportsCropper()) {\n            AlertBannerToMessageDrawer.attachTo(JSBNG__document), ProfileEditErrorDialog.attachTo(\"#profile_edit_error_dialog\", {\n                JSBNG__top: 0,\n                left: 0\n            }), InlineProfileEditing.attachTo(\".profile-page-header\", b), SettingsData.attachTo(JSBNG__document, b), AsyncProfileData.attachTo(JSBNG__document, b), InlineEdit.attachTo(\".profile-page-header .editable-group\"), InputWithPlaceholder.attachTo(\".profile-page-header .placeholding-input\", {\n                placeholder: \".placeholder\",\n                elementType: \"input,textarea\"\n            }), InlineEditScribe.attachTo(JSBNG__document), ProfileImageUploadScribe.attachTo(\"#profile_image_upload_dialog\"), ProfileImageUploadScribe.attachTo(\"#header_image_upload_dialog\"), DragAndDropScribe.attachTo(JSBNG__document);\n            var c = {\n                scribeContext: {\n                    component: \"profile_image_upload\"\n                }\n            };\n            ProfileConfirmImageDeleteDialog.attachTo(\"#avatar_confirm_remove_dialog\", {\n                JSBNG__top: 0,\n                left: 0,\n                uploadType: \"avatar\"\n            }), ImageUploader.attachTo(\".avatar-settings .uploader-image .photo-selector\", {\n                maxSizeInBytes: 10485760,\n                fileTooBigMessage: _(\"Please select a profile image that is less than 10 MB.\"),\n                uploadType: \"avatar\",\n                eventData: c\n            }), ProfileImageUploadDialog.attachTo(\"#profile_image_upload_dialog\", {\n                uploadType: \"avatar\",\n                eventData: c\n            }), ChangePhoto.attachTo(\"#choose-photo\", {\n                uploadType: \"avatar\",\n                alwaysOpen: !0,\n                confirmDelete: !0,\n                eventData: c\n            }), DroppableImage.attachTo(\".profile-page-header .profile-picture\", {\n                uploadType: \"avatar\",\n                eventData: c\n            }), ProfileImageMonitor.attachTo(\".uploader-avatar\", {\n                eventData: {\n                    scribeContext: {\n                        component: \"form\"\n                    }\n                }\n            });\n            var d = {\n                scribeContext: {\n                    component: \"header_image_upload\"\n                }\n            };\n            ProfileConfirmImageDeleteDialog.attachTo(\"#header_confirm_remove_dialog\", {\n                JSBNG__top: 0,\n                left: 0,\n                uploadType: \"header\"\n            }), ImageUploader.attachTo(\".header-settings .uploader-image .photo-selector\", {\n                fileNameString: \"user[profile_header_image_name]\",\n                fileDataString: \"user[profile_header_image]\",\n                fileInputString: \"user[profile_header_image]\",\n                uploadType: \"header\",\n                maxSizeInBytes: 10240000,\n                fileTooBigMessage: _(\"Please select an image that is less than 10MB.\"),\n                onError: function() {\n                    window.JSBNG__scrollTo(0, 0);\n                },\n                eventData: d\n            }), ProfileImageUploadDialog.attachTo(\"#header_image_upload_dialog\", {\n                uploadType: \"header\",\n                maskPadding: 0,\n                JSBNG__top: 0,\n                left: 0,\n                maximumWidth: 1252,\n                maximumHeight: 626,\n                imageNameSelector: \"#choose-header div.photo-selector input.file-name\",\n                imageDataSelector: \"#choose-header div.photo-selector input.file-data\",\n                eventData: d\n            }), ChangePhoto.attachTo(\"#choose-header\", {\n                uploadType: \"header\",\n                toggler: \"#profile_header_upload\",\n                chooseExistingSelector: \"#header-choose-existing\",\n                chooseWebcamSelector: \"#header-choose-webcam\",\n                deleteImageSelector: \"#header-delete-image\",\n                alwaysOpen: !0,\n                confirmDelete: !0,\n                eventData: d\n            }), DroppableImage.attachTo(\".profile-page-header .profile-header-inner\", {\n                uploadType: \"header\",\n                eventData: d\n            }), ProfileImageMonitor.attachTo(\".uploader-header\", {\n                uploadType: \"header\",\n                isProcessingCookie: \"header_processing_complete_key\",\n                thumbnailSelector: \"#header_image_preview\",\n                deleteButtonSelector: \"#remove_header\",\n                deleteFormSelector: \"#profile_banner_delete_form\",\n                eventData: {\n                    scribeContext: {\n                        component: \"form\"\n                    }\n                }\n            });\n        }\n    ;\n    ;\n        ProfileEditParam.attachTo(\".profile-page-header\");\n    };\n});\ndefine(\"app/ui/profile/canopy\", [\"module\",\"require\",\"exports\",\"core/component\",\"core/utils\",], function(module, require, exports) {\n    function profileCanopy() {\n        this.defaultAttrs({\n            verticalThreshold: 280,\n            retractedCanopyClass: \"retracted\"\n        }), this.belowVerticalThreshhold = function() {\n            return ((this.$window.scrollTop() >= this.attr.verticalThreshold));\n        }, this.determineCanopyPresence = function() {\n            var a = this.$node.hasClass(this.attr.retractedCanopyClass);\n            ((this.belowVerticalThreshhold() ? ((a && this.trigger(\"uiShowProfileCanopy\"))) : ((a || this.trigger(\"uiHideProfileCanopy\")))));\n        }, this.showCanopyAfterModal = function() {\n            ((this.belowVerticalThreshhold() && this.showProfileCanopy()));\n        }, this.hideCanopyBeforeModal = function() {\n            ((this.belowVerticalThreshhold() && this.hideProfileCanopy()));\n        }, this.showProfileCanopy = function() {\n            this.$node.removeClass(this.attr.retractedCanopyClass);\n        }, this.hideProfileCanopy = function() {\n            this.$node.addClass(this.attr.retractedCanopyClass);\n        }, this.after(\"initialize\", function() {\n            this.$window = $(window), this.$node.removeClass(\"hidden\"), this.JSBNG__on(\"uiShowProfileCanopy\", this.showProfileCanopy), this.JSBNG__on(\"uiHideProfileCanopy\", this.hideProfileCanopy), this.JSBNG__on(window, \"JSBNG__scroll\", utils.throttle(this.determineCanopyPresence.bind(this))), this.JSBNG__on(JSBNG__document, \"uiShowProfilePopup\", this.hideCanopyBeforeModal), this.JSBNG__on(JSBNG__document, \"uiCloseProfilePopup\", this.showCanopyAfterModal), this.determineCanopyPresence();\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), utils = require(\"core/utils\");\n    module.exports = defineComponent(profileCanopy);\n});\ndefine(\"app/data/profile_canopy_scribe\", [\"module\",\"require\",\"exports\",\"core/component\",\"core/utils\",\"app/data/with_scribe\",], function(module, require, exports) {\n    function profileCanopyScribe() {\n        this.defaultAttrs({\n            scribeContext: {\n                component: \"profile_canopy\"\n            }\n        }), this.scribeProfileCanopy = function(a, b) {\n            var c = utils.merge(this.attr.scribeContext, {\n                action: \"impression\"\n            });\n            this.scribe(c, b);\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"uiShowProfileCanopy\", this.scribeProfileCanopy);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), utils = require(\"core/utils\"), withScribe = require(\"app/data/with_scribe\"), ProfileCanopyScribe = defineComponent(profileCanopyScribe, withScribe);\n    module.exports = ProfileCanopyScribe;\n});\ndefine(\"app/ui/profile/head\", [\"module\",\"require\",\"exports\",\"core/component\",\"core/i18n\",\"app/ui/with_user_actions\",\"app/ui/with_profile_stats\",\"app/ui/with_handle_overflow\",\"core/utils\",], function(module, require, exports) {\n    function profileHead() {\n        this.defaultAttrs({\n            profileHead: !0,\n            isCanopy: !1,\n            editProfileButtonSelector: \".inline-edit-profile-btn\",\n            nonEmptyAvatarSelector: \".avatar:not(.empty-avatar)\",\n            emptyAvatarSelector: \".empty-avatar\",\n            overflowContainer: \".profile-header-inner\",\n            itemType: \"user\",\n            directMessages: \".dm-button\",\n            urlSelector: \".url a\"\n        }), this.showAvatarModal = function(a) {\n            a.preventDefault(), ((this.isEditing() || (this.trigger(\"uiAvatarClicked\"), this.trigger(a.target, \"uiOpenGallery\", {\n                title: _(\"@{{screenName}}'s profile photo\", {\n                    screenName: this.attr.profile_user.screen_name\n                })\n            }))));\n        }, this.emptyAvatarClicked = function(a) {\n            if (!this.isEditing()) {\n                a.preventDefault(), a.stopImmediatePropagation();\n                var b = $(a.target).attr(\"data-scribe-element\");\n                $(JSBNG__document).one(\"uiEditProfileStart\", this.showAvatarOptions.bind(this)), this.trigger(\"uiEditProfileInitialize\", {\n                    scribeElement: b\n                });\n            }\n        ;\n        ;\n        }, this.showAvatarOptions = function() {\n            this.trigger(\"uiShowEditAvatarOptions\");\n        }, this.editProfile = function(a) {\n            a.preventDefault();\n            var b = $(a.target).attr(\"data-scribe-element\");\n            this.trigger(JSBNG__document, \"uiEditProfileInitialize\", {\n                scribeElement: b\n            });\n        }, this.isEditing = function() {\n            return $(\"body\").hasClass(\"profile-editing\");\n        }, this.addGlowToEnvelope = function(a, b) {\n            this.select(\"directMessages\").addClass(\"new\");\n        }, this.removeGlowFromEnvelope = function(a, b) {\n            this.select(\"directMessages\").removeClass(\"new\");\n        }, this.addCountToEnvelope = function(a, b) {\n            var c = parseInt(b.msgCount, 10);\n            if (isNaN(c)) {\n                return;\n            }\n        ;\n        ;\n            var d = \"with-count\";\n            ((((c > 9)) ? d += \" with-count-2\" : ((((c > 99)) && (d += \" with-count-3\"))))), this.removeCountFromEnvelope(a, c), this.select(\"directMessages\").addClass(d), this.select(\"directMessages\").JSBNG__find(\".dm-new\").text(c);\n        }, this.removeCountFromEnvelope = function(a, b) {\n            this.select(\"directMessages\").removeClass(\"with-count with-count-2 with-count-3\");\n        }, this.urlClicked = function() {\n            this.trigger(\"uiUrlClicked\");\n        }, this.after(\"initialize\", function() {\n            this.checkForOverflow(this.select(\"overflowContainer\")), this.JSBNG__on(\"click\", {\n                nonEmptyAvatarSelector: this.showAvatarModal,\n                emptyAvatarSelector: this.emptyAvatarClicked,\n                editProfileButtonSelector: this.editProfile,\n                urlSelector: this.urlClicked\n            }), this.JSBNG__on(JSBNG__document, \"dataUserHasUnreadDMs dataUserHasUnreadDMsWithCount\", this.addGlowToEnvelope), this.JSBNG__on(JSBNG__document, \"dataUserHasNoUnreadDMs dataUserHasNoUnreadDMsWithCount\", this.removeGlowFromEnvelope), this.JSBNG__on(JSBNG__document, \"dataUserHasUnreadDMsWithCount\", this.addCountToEnvelope), this.JSBNG__on(JSBNG__document, \"dataUserHasNoUnreadDMsWithCount\", this.removeCountFromEnvelope), ((this.attr.isCanopy && this.JSBNG__on(\"uiHideProfileCanopy\", this.hideDropdown))), this.attr.eventData = utils.merge(((this.attr.eventData || {\n            })), {\n                scribeContext: this.attr.scribeContext,\n                profileHead: this.attr.profileHead\n            });\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), _ = require(\"core/i18n\"), withUserActions = require(\"app/ui/with_user_actions\"), withProfileStats = require(\"app/ui/with_profile_stats\"), withHandleOverflow = require(\"app/ui/with_handle_overflow\"), utils = require(\"core/utils\");\n    module.exports = defineComponent(profileHead, withUserActions, withProfileStats, withHandleOverflow);\n});\ndefine(\"app/data/profile_head_scribe\", [\"module\",\"require\",\"exports\",\"core/component\",\"core/utils\",\"app/data/with_scribe\",], function(module, require, exports) {\n    function profileHeadScribe() {\n        this.after(\"initialize\", function() {\n            this.scribeOnEvent(\"uiAvatarClicked\", {\n                element: \"avatar\",\n                action: \"click\"\n            }), this.scribeOnEvent(\"uiUrlClicked\", {\n                element: \"url\",\n                action: \"click\"\n            });\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), utils = require(\"core/utils\"), withScribe = require(\"app/data/with_scribe\");\n    module.exports = defineComponent(profileHeadScribe, withScribe);\n});\ndefine(\"app/ui/profile/social_proof\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/with_item_actions\",], function(module, require, exports) {\n    function profileSocialProof() {\n        this.defaultAttrs({\n            itemType: \"user\"\n        }), this.after(\"initialize\", function() {\n            this.trigger(\"uiHasProfileSocialProof\");\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withItemActions = require(\"app/ui/with_item_actions\"), ProfileSocialProof = defineComponent(profileSocialProof, withItemActions);\n    module.exports = ProfileSocialProof;\n});\ndefine(\"app/data/profile_social_proof_scribe\", [\"module\",\"require\",\"exports\",\"core/component\",\"core/utils\",\"app/data/with_scribe\",], function(module, require, exports) {\n    function profileSocialProofScribe() {\n        this.defaultAttrs({\n            scribeContext: {\n                component: \"profile_follow_card\"\n            }\n        }), this.scribeProfileSocialProof = function(a, b) {\n            var c = utils.merge(this.attr.scribeContext, {\n                element: \"social_proof\",\n                action: \"impression\"\n            });\n            this.scribe(c, b);\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"uiHasProfileSocialProof\", this.scribeProfileSocialProof);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), utils = require(\"core/utils\"), withScribe = require(\"app/data/with_scribe\"), ProfileSocialProofScribe = defineComponent(profileSocialProofScribe, withScribe);\n    module.exports = ProfileSocialProofScribe;\n});\ndefine(\"app/ui/media/card_thumbnails\", [\"module\",\"require\",\"exports\",\"core/component\",\"core/utils\",\"app/utils/image_thumbnail\",\"app/utils/image/image_loader\",\"core/i18n\",], function(module, require, exports) {\n    function cardThumbnails() {\n        var a = 800, b = {\n            NOT_LOADED: \"not-loaded\",\n            LOADING: \"loading\",\n            LOADED: \"loaded\"\n        };\n        this.hasMoreItems = !0, this.defaultAttrs({\n            profileUser: !1,\n            mediaGrid: !1,\n            mediaGridOpen: !1,\n            gridPushState: !1,\n            pushStateUrl: \"/\",\n            defaultGalleryTitle: _(\"Media Gallery\"),\n            viewAllSelector: \".list-link\",\n            thumbnailSelector: \".media-thumbnail\",\n            thumbnailContainerSelector: \".photo-list\",\n            thumbnailPlaceholderSelector: \".thumbnail-placeholder.first\",\n            thumbnailNotLoadedSelector: ((((\".media-thumbnail[data-load-status=\\\"\" + b.NOT_LOADED)) + \"\\\"]\")),\n            thumbnailType: \"thumb\",\n            thumbnailSize: 90,\n            thumbnailsVisible: 6,\n            showAllInlineMedia: !1,\n            loadOnEventName: \"uiLoadThumbnails\",\n            dataEvents: {\n                requestItems: \"uiWantsMoreMediaTimelineItems\",\n                gotItems: \"dataGotMoreMediaTimelineItems\"\n            },\n            defaultRequestData: {\n            }\n        }), this.thumbs = function() {\n            return this.select(\"thumbnailSelector\");\n        }, this.getMaxId = function() {\n            var a = this.thumbs();\n            if (a.length) {\n                return a.last().attr(\"data-status-id\");\n            }\n        ;\n        ;\n        }, this.shouldGetMoreItems = function(a) {\n            var b = $(a.target);\n            if (b.attr(\"data-paged\")) {\n                return;\n            }\n        ;\n        ;\n            this.getMoreItems();\n        }, this.getMoreItems = function() {\n            if (!this.hasMoreItems) {\n                return;\n            }\n        ;\n        ;\n            var a = this.thumbs();\n            a.attr(\"data-paged\", !0), this.trigger(JSBNG__document, this.attr.dataEvents.requestItems, utils.merge(this.attr.defaultRequestData, {\n                max_id: this.getMaxId()\n            }));\n        }, this.gotMoreItems = function(a, b) {\n            if (((b.thumbs_html && $.trim(b.thumbs_html).length))) {\n                var c = (($.isArray(b.thumbs_html) ? $(b.thumbs_html.join(\"\")) : $(b.thumbs_html)));\n                this.appendItems(c);\n            }\n             else this.hasMoreItems = !1;\n        ;\n        ;\n            this.trigger(JSBNG__document, \"dataGotMoreMediaItems\", b), ((((((this.select(\"thumbnailSelector\").length < this.attr.thumbnailsVisible)) && this.hasMoreItems)) && this.getMoreItems()));\n        }, this.appendItems = function(a) {\n            ((this.attr.gridPushState && (a.addClass(\"js-nav\"), a.attr(\"href\", this.attr.pushStateUrl)))), this.select(\"thumbnailPlaceholderSelector\").before(a), this.renderVisible();\n        }, this.renderVisible = function() {\n            var a = this.select(\"thumbnailSelector\").slice(0, this.attr.thumbnailsVisible), b = a.filter(this.attr.thumbnailNotLoadedSelector);\n            if (b.length) {\n                this.loadThumbs(b);\n                var c = {\n                    thumbnails: []\n                };\n                b.each(function(a, b) {\n                    c.thumbnails.push($(b).attr(\"data-url\"));\n                }), this.trigger(\"uiMediaThumbnailsVisible\", c);\n            }\n             else ((((a.length > 0)) && this.showThumbs()));\n        ;\n        ;\n            var c = {\n                thumbnails: []\n            };\n            b.each(function(a, b) {\n                c.thumbnails.push($(b).attr(\"data-url\"));\n            }), this.trigger(\"uiMediaThumbnailsVisible\", c);\n        }, this.loadThumbs = function(a) {\n            a.attr(\"data-load-status\", b.LOADING), a.each(this.loadThumb.bind(this));\n        }, this.loadThumb = function(a, b) {\n            var c = $(b), d = function(a) {\n                this.loadThumbSuccess(c, a);\n            }.bind(this), e = function() {\n                this.loadThumbFail(c);\n            }.bind(this);\n            imageLoader.load(c.attr(((\"data-resolved-url-\" + this.attr.thumbnailType))), d, e);\n        }, this.loadThumbSuccess = function(a, c) {\n            a.attr(\"data-load-status\", b.LOADED), c.css(imageThumbnail.getThumbnailOffset(c.get(0).height, c.get(0).width, this.attr.thumbnailSize)), a.append(c), this.showThumbs();\n        }, this.loadThumbFail = function(a) {\n            a.remove(), this.renderVisible();\n        }, this.showThumbs = function() {\n            this.$node.show(), this.$node.attr(\"data-loaded\", !0), this.gridAutoOpen();\n        }, this.thumbnailClick = function(a) {\n            a.stopPropagation(), a.preventDefault(), this.openGallery(a.target);\n            var b = $(a.target), c = ((b.hasClass(\"video\") ? \"video\" : \"photo\"));\n            this.trigger(\"uiMediaThumbnailClick\", {\n                url: b.attr(\"data-url\"),\n                mediaType: c\n            });\n        }, this.gridAutoOpen = function() {\n            ((((((this.attr.mediaGrid && this.attr.mediaGridOpen)) && this.thumbs().length)) && this.viewGrid()));\n        }, this.viewAllClick = function(a) {\n            ((this.attr.mediaGrid ? this.trigger(\"uiMediaViewAllClick\") : (this.openGallery(this.thumbs()[0]), a.preventDefault())));\n        }, this.showThumbs = function() {\n            this.$node.show(), this.$node.attr(\"data-loaded\", !0), ((this.attr.mediaGridOpen && (this.attr.mediaGridOpen = !1, this.viewGrid())));\n        }, this.viewGrid = function() {\n            this.openGrid(this.thumbs()[0]);\n        }, this.openGrid = function(a) {\n            this.trigger(a, \"uiOpenGrid\", {\n                gridTitle: this.attr.defaultGalleryTitle,\n                profileUser: this.attr.profileUser\n            });\n        }, this.openGallery = function(a) {\n            this.trigger(a, \"uiOpenGallery\", {\n                gridTitle: this.attr.defaultGalleryTitle,\n                showGrid: this.attr.mediaGrid,\n                profileUser: this.attr.profileUser\n            });\n        }, this.removeThumbs = function() {\n            this.thumbs().remove();\n        }, this.before(\"teardown\", this.removeThumbs), this.after(\"initialize\", function() {\n            ((this.$node.attr(\"data-loaded\") || (this.$node.hide(), this.trigger(\"uiMediaThumbnailsVisible\", {\n                thumbnails: []\n            })))), this.JSBNG__on(\"click\", {\n                thumbnailSelector: this.thumbnailClick,\n                viewAllSelector: this.viewAllClick\n            }), this.gridAutoOpen(), this.JSBNG__on(JSBNG__document, this.attr.dataEvents.gotItems, this.gotMoreItems), this.JSBNG__on(\"uiGalleryMediaLoad\", this.shouldGetMoreItems), ((this.attr.showAllInlineMedia ? this.getMoreItems() : this.JSBNG__on(JSBNG__document, \"uiReloadThumbs\", this.getMoreItems)));\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), utils = require(\"core/utils\"), imageThumbnail = require(\"app/utils/image_thumbnail\"), imageLoader = require(\"app/utils/image/image_loader\"), _ = require(\"core/i18n\"), CardThumbnails = defineComponent(cardThumbnails);\n    module.exports = CardThumbnails;\n});\ndefine(\"app/data/media_timeline\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_data\",], function(module, require, exports) {\n    function mediaTimeline() {\n        this.requestItems = function(a, b) {\n            var c = {\n            }, d = {\n                since_id: b.since_id,\n                max_id: b.max_id\n            };\n            this.get({\n                url: this.attr.endpoint,\n                headers: c,\n                data: d,\n                eventData: b,\n                success: \"dataGotMoreMediaTimelineItems\",\n                error: \"dataGotMoreMediaTimelineItemsError\"\n            });\n        }, this.after(\"initialize\", function(a) {\n            this.JSBNG__on(JSBNG__document, \"uiWantsMoreMediaTimelineItems\", this.requestItems);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withData = require(\"app/data/with_data\");\n    module.exports = defineComponent(mediaTimeline, withData);\n});\ndefine(\"app/data/media_thumbnails_scribe\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_scribe\",], function(module, require, exports) {\n    function mediaThumbnailsScribe() {\n        var a = /\\:[A-Z0-9_-]+$/i;\n        this.scribeMediaThumbnailResults = function(b, c) {\n            var d = c.thumbnails.length, e = ((d ? \"results\" : \"no_results\")), f = {\n                item_count: d\n            };\n            ((d && (f.item_names = c.thumbnails.map(function(b) {\n                return b.replace(a, \"\");\n            })))), this.scribe({\n                action: e\n            }, c, f);\n        }, this.scribeMediaThumbnailClick = function(b, c) {\n            var d = {\n                url: ((c.url && c.url.replace(a, \"\")))\n            }, e = {\n                element: c.mediaType,\n                action: \"click\"\n            };\n            this.scribe(e, c, d);\n        }, this.scribeMediaViewAllClick = function(a, b) {\n            this.scribe({\n                action: \"view_all\"\n            }, b);\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(JSBNG__document, \"uiMediaGalleryResults\", this.scribeMediaThumbnailResults), this.JSBNG__on(JSBNG__document, \"uiMediaThumbnailsVisible\", this.scribeMediaThumbnailResults), this.JSBNG__on(JSBNG__document, \"uiMediaThumbnailClick\", this.scribeMediaThumbnailClick), this.JSBNG__on(JSBNG__document, \"uiMediaViewAllClick\", this.scribeMediaViewAllClick);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withScribe = require(\"app/data/with_scribe\");\n    module.exports = defineComponent(mediaThumbnailsScribe, withScribe);\n});\ndefine(\"app/ui/suggested_users\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/with_user_actions\",\"app/ui/with_item_actions\",\"app/ui/with_interaction_data\",], function(module, require, exports) {\n    function suggestedUsers() {\n        this.defaultAttrs({\n            closeSelector: \".js-close\",\n            itemType: \"user\",\n            userSelector: \".js-actionable-user\",\n            eventMode: \"profileHead\",\n            targetSelector: \"#suggested-users\",\n            childSelector: \"\"\n        }), this.getTimelineNodeSelector = function(a) {\n            return ((((((this.attr.targetSelector + ((a ? ((((\"[data-item-id=\\\"\" + a)) + \"\\\"]\")) : \"\")))) + \" \")) + this.attr.childSelector));\n        }, this.getTargetChildNode = function(a) {\n            var b;\n            return ((a[this.attr.eventMode] && ((((this.attr.eventMode === \"timeline_recommendations\")) ? b = this.$node.JSBNG__find(this.getTimelineNodeSelector(a.userId)) : b = this.$node)))), b;\n        }, this.getTargetParentNode = function(a) {\n            return ((((this.attr.eventMode === \"timeline_recommendations\")) ? $(a.target).closest(this.attr.childSelector) : this.$node));\n        }, this.slideInContent = function(a, b) {\n            var c = this.getTargetChildNode(b.sourceEventData);\n            if (((((!c || ((c.length !== 1)))) || c.hasClass(\"has-content\")))) {\n                return;\n            }\n        ;\n        ;\n            c.addClass(\"has-content\"), c.html(b.html), c.hide().slideDown();\n            var d = [];\n            c.JSBNG__find(this.attr.userSelector).map(function(a, b) {\n                d.push(this.interactionData($(b), {\n                    position: a\n                }));\n            }.bind(this)), this.trigger(\"uiSuggestedUsersRendered\", {\n                items: d,\n                user_id: b.sourceEventData.userId\n            });\n        }, this.slideOutContent = function(a, b) {\n            var c = this.getTargetParentNode(a);\n            if (((c.length === 0))) {\n                return;\n            }\n        ;\n        ;\n            c.slideUp(function() {\n                c.empty(), c.removeClass(\"has-content\");\n            });\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(JSBNG__document, \"dataSuggestedUsersSuccess\", this.slideInContent), this.JSBNG__on(\"click\", {\n                closeSelector: this.slideOutContent\n            });\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withUserActions = require(\"app/ui/with_user_actions\"), withItemActions = require(\"app/ui/with_item_actions\"), withInteractionData = require(\"app/ui/with_interaction_data\");\n    module.exports = defineComponent(suggestedUsers, withUserActions, withItemActions, withInteractionData);\n});\ndefine(\"app/data/suggested_users\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_data\",\"app/data/with_interaction_data_scribe\",], function(module, require, exports) {\n    function suggestedUsersData() {\n        var a = function(a) {\n            return ((a && ((a.profileHead || a.timeline_recommendations))));\n        };\n        this.getHTML = function(b, c) {\n            function d(a) {\n                ((a.html && this.trigger(\"dataSuggestedUsersSuccess\", a)));\n            };\n        ;\n            if (!a(c)) {\n                return;\n            }\n        ;\n        ;\n            this.get({\n                url: \"/i/users/suggested_users\",\n                data: {\n                    user_id: c.userId,\n                    limit: 2,\n                    timeline_recommendations: !!c.timeline_recommendations\n                },\n                eventData: c,\n                success: d.bind(this),\n                error: \"dataSuggestedUsersFailure\"\n            });\n        }, this.scribeSuggestedUserResults = function(a, b) {\n            this.scribeInteractiveResults({\n                element: \"initial\",\n                action: \"results\"\n            }, b.items, b, {\n                referring_event: \"initial\",\n                profile_id: b.user_id\n            });\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"uiSuggestedUsersRendered\", this.scribeSuggestedUserResults), this.JSBNG__on(\"uiFollowAction\", this.getHTML);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withData = require(\"app/data/with_data\"), withInteractionDataScribe = require(\"app/data/with_interaction_data_scribe\");\n    module.exports = defineComponent(suggestedUsersData, withData, withInteractionDataScribe);\n});\ndefine(\"app/ui/gallery/grid\", [\"module\",\"require\",\"exports\",\"core/component\",\"core/utils\",\"core/i18n\",\"app/utils/image/image_loader\",\"app/ui/with_scrollbar_width\",], function(module, require, exports) {\n    function grid() {\n        this.defaultAttrs({\n            thumbnailSize: 196,\n            gridTitle: _(\"Media Gallery\"),\n            gridPushState: !0,\n            pushStateCloseUrl: \"/\",\n            profileUser: !1,\n            mediaSelector: \".media-thumbnail\",\n            mediasSelector: \".photo-list\",\n            gridHeaderSelector: \".grid-header\",\n            gridTitleSelector: \".header-title\",\n            gridSubTitleSelector: \".header-subtitle\",\n            gridPicSelector: \".header-pic .avatar\",\n            gridSelector: \".grid-media\",\n            gridContainerSelector: \".grid-container\",\n            closeSelector: \".action-close\",\n            gridFooterSelector: \".grid-footer\",\n            gridLoadingSelector: \".grid-loading\"\n        }), this.atBottom = !1, this.isOpen = function() {\n            return this.select(\"gridContainerSelector\").is(\":visible\");\n        }, this.open = function(a, b) {\n            this.calculateScrollbarWidth();\n            if (b.fromGallery) {\n                this.show();\n                return;\n            }\n        ;\n        ;\n            ((((b && b.gridTitle)) && (this.attr.gridTitle = b.gridTitle))), this.$mediaContainer = $(a.target).closest(this.attr.mediasSelector);\n            var c = this.$mediaContainer.JSBNG__find(this.attr.mediaSelector);\n            this.select(\"mediaSelector\").remove(), this.populate(c), this.initHeader(), this.select(\"gridContainerSelector\").JSBNG__on(\"JSBNG__scroll\", utils.throttle(this.onScroll.bind(this), 200)), this.$node.removeClass(\"hidden\"), $(\"body\").addClass(\"grid-enabled\"), this.trigger(\"uiGridOpened\");\n        }, this.loadMore = function(a, b) {\n            if (((((this.isOpen() && b.thumbs_html)) && b.thumbs_html.length))) {\n                var c = (($.isArray(b.thumbs_html) ? $(b.thumbs_html.join(\"\")) : $(b.thumbs_html)));\n                this.populate(c), this.trigger(\"uiGridPaged\");\n            }\n             else if (((!b.thumbs_html || !b.thumbs_html.length))) {\n                this.atBottom = !0, this.loadComplete(), this.processGrid(!0);\n            }\n            \n        ;\n        ;\n        }, this.initHeader = function() {\n            ((this.attr.profileUser ? (this.$node.addClass(\"tall\"), this.select(\"gridSubTitleSelector\").text(((\"@\" + this.attr.profileUser.screen_name))), this.select(\"gridPicSelector\").attr(\"src\", this.attr.profileUser.profile_image_url_https), this.select(\"gridPicSelector\").attr(\"alt\", this.attr.profileUser.JSBNG__name)) : (this.$node.removeClass(\"tall\"), this.select(\"gridSubTitleSelector\").text(\"\"), this.select(\"gridPicSelector\").attr(\"src\", \"\"), this.select(\"gridPicSelector\").attr(\"alt\", \"\")))), this.select(\"gridTitleSelector\").text(this.attr.gridTitle), ((this.attr.gridPushState ? (this.select(\"gridSubTitleSelector\").attr(\"href\", this.attr.pushStateCloseUrl), this.select(\"gridTitleSelector\").attr(\"href\", this.attr.pushStateCloseUrl)) : (this.select(\"gridSubTitleSelector\").removeClass(\"js-nav\"), this.select(\"gridTitleSelector\").removeClass(\"js-nav\"))));\n        }, this.show = function() {\n            $(\"body\").addClass(\"grid-enabled\"), JSBNG__setTimeout(function() {\n                this.ignoreEsc = !1;\n            }.bind(this), 400);\n        }, this.hide = function() {\n            $(\"body\").removeClass(\"grid-enabled\"), this.ignoreEsc = !0;\n        }, this.onEsc = function(a) {\n            ((this.ignoreEsc || this.close(a)));\n        }, this.close = function(a) {\n            a.stopPropagation(), a.preventDefault(), this.select(\"gridContainerSelector\").scrollTop(0), $(\"body\").removeClass(\"grid-enabled\"), this.select(\"gridContainerSelector\").off(\"JSBNG__scroll\"), this.trigger(\"uiGridClosed\"), this.ignoreEsc = !1;\n        }, this.populate = function(a) {\n            var b = a.clone();\n            b.JSBNG__find(\"img\").remove(), b.removeClass(\"js-nav\"), b.removeAttr(\"href\"), b.JSBNG__find(\".play\").removeClass(\"play\").addClass(\"play-large\"), b.insertBefore(this.select(\"gridFooterSelector\")), this.processGrid(), b.each(function(a, b) {\n                this.renderMedia(b);\n            }.bind(this)), this.$mediaContainer.attr(\"data-grid-processed\", \"true\"), this.onScroll();\n        }, this.onScroll = function(a) {\n            if (this.atBottom) {\n                return;\n            }\n        ;\n        ;\n            var b = this.select(\"gridContainerSelector\").scrollTop();\n            if (((this.select(\"gridContainerSelector\").get(0).scrollHeight < ((((b + $(window).height())) + SCROLLTHRESHOLD))))) {\n                var c = this.getLast();\n                ((c.attr(\"data-grid-paged\") ? this.loadComplete() : (c.attr(\"data-grid-paged\", \"true\"), this.trigger(this.getLast(), \"uiGalleryMediaLoad\"))));\n            }\n        ;\n        ;\n        }, this.loadComplete = function() {\n            this.$node.addClass(\"load-complete\");\n        }, this.getLast = function() {\n            var a = this.select(\"mediaSelector\").last(), b = a.attr(\"data-status-id\");\n            return this.$mediaContainer.JSBNG__find(((((\".media-thumbnail[data-status-id='\" + b)) + \"']\"))).last();\n        }, this.medias = function() {\n            return this.select(\"mediaSelector\");\n        }, this.unprocessedMedias = function() {\n            return this.medias().filter(\":not([data-grid-processed='true'])\");\n        }, this.processGrid = function(a) {\n            var b = this.unprocessedMedias();\n            if (!b.length) {\n                return;\n            }\n        ;\n        ;\n            var c = 0, d = 0, e = [];\n            for (var f = 0; ((f < b.length)); f++) {\n                var g = $(b[f]);\n                ((!c && (c = parseInt(g.attr(\"data-height\"))))), ((a && (c = GRIDHEIGHT))), d += this.scaleGridMedia(g, c), e.push(g);\n                if (((((((d / c)) >= GRIDRATIO)) || a))) {\n                    ((a && (d = GRIDWIDTH))), this.setGridRow(e, d, c, a), d = 0, c = 0, e = [], this.processGrid();\n                }\n            ;\n            ;\n            };\n        ;\n        }, this.scaleGridMedia = function(a, b) {\n            var c = parseInt(a.attr(\"data-height\")), d = parseInt(a.attr(\"data-width\")), e = ((((b / c)) * d));\n            return ((((((d / c)) > PANORATIO)) && (e = ((b * PANORATIO)), a.attr(\"data-pano\", \"true\")))), a.attr({\n                \"scaled-height\": b,\n                \"scaled-width\": e\n            }), e;\n        }, this.setGridRow = function(a, b, c, d) {\n            var e = ((GRIDWIDTH - ((a.length * GRIDMARGIN)))), f = ((e / b)), g = ((c * f));\n            $.each(a, function(a, b) {\n                var c = ((parseInt(b.attr(\"scaled-width\")) * f));\n                b.height(g), b.width(c), b.attr(\"scaled-height\", g), b.attr(\"Scaled-width\", c), b.attr(\"data-grid-processed\", \"true\"), b.addClass(\"enabled\"), ((((((a == 0)) && !d)) && b.addClass(\"clear\")));\n            });\n        }, this.renderMedia = function(a) {\n            var b = $(a), c = function(a) {\n                this.loadThumbSuccess(b, a);\n            }.bind(this), d = function() {\n                this.loadThumbFail(b);\n            }.bind(this);\n            imageLoader.load(b.attr(\"data-resolved-url-small\"), c, d);\n        }, this.loadThumbSuccess = function(a, b) {\n            if (a.attr(\"data-pano\")) {\n                var c = ((((a.height() / parseInt(a.attr(\"data-height\")))) * parseInt(a.attr(\"data-width\"))));\n                b.width(c), b.css(\"margin-left\", ((((-((c - a.width())) / 2)) + \"px\")));\n            }\n        ;\n        ;\n            a.prepend(b);\n        }, this.loadThumbFail = function(a) {\n            a.remove();\n        }, this.openGallery = function(a) {\n            var b = $(a.target).closest(this.attr.mediaSelector), c = b.attr(\"data-status-id\"), d = this.$mediaContainer.JSBNG__find(((((\".media-thumbnail[data-status-id='\" + c)) + \"']\")));\n            this.trigger(d, \"uiOpenGallery\", {\n                title: this.title,\n                fromGrid: !0\n            }), this.hide();\n        }, this.after(\"initialize\", function() {\n            this.ignoreEsc = !0, this.JSBNG__on(JSBNG__document, \"uiOpenGrid\", this.open), this.JSBNG__on(JSBNG__document, \"uiCloseGrid\", this.close), this.JSBNG__on(JSBNG__document, \"dataGotMoreMediaItems\", this.loadMore), this.JSBNG__on(\"click\", {\n                mediaSelector: this.openGallery,\n                closeSelector: this.close\n            }), ((this.attr.gridPushState || (this.JSBNG__on(JSBNG__document, \"uiShortcutEsc\", this.onEsc), this.JSBNG__on(\"click\", {\n                gridTitleSelector: this.close,\n                gridSubTitleSelector: this.close,\n                gridPicSelector: this.close\n            }))));\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), utils = require(\"core/utils\"), _ = require(\"core/i18n\"), imageLoader = require(\"app/utils/image/image_loader\"), withScrollbarWidth = require(\"app/ui/with_scrollbar_width\"), Grid = defineComponent(grid, withScrollbarWidth), GRIDWIDTH = 824, GRIDMARGIN = 12, GRIDHEIGHT = 210, GRIDRATIO = 3.5, PANORATIO = 3, SCROLLTHRESHOLD = 1000;\n    module.exports = Grid;\n});\ndefine(\"app/boot/profile\", [\"module\",\"require\",\"exports\",\"app/boot/app\",\"core/i18n\",\"app/boot/trends\",\"app/boot/logged_out\",\"app/boot/inline_edit\",\"app/ui/profile/canopy\",\"app/data/profile_canopy_scribe\",\"app/ui/profile/head\",\"app/data/profile_head_scribe\",\"app/ui/profile/social_proof\",\"app/data/profile_social_proof_scribe\",\"app/ui/dashboard_tweetbox\",\"app/ui/who_to_follow/who_to_follow_dashboard\",\"app/data/who_to_follow\",\"app/data/who_to_follow_scribe\",\"app/ui/profile/recent_connections_module\",\"app/ui/media/card_thumbnails\",\"app/data/media_timeline\",\"app/data/media_thumbnails_scribe\",\"core/utils\",\"app/ui/suggested_users\",\"app/data/suggested_users\",\"app/data/client_event\",\"app/ui/navigation_links\",\"app/data/profile_edit_btn_scribe\",\"app/boot/wtf_module\",\"app/ui/gallery/grid\",], function(module, require, exports) {\n    function initialize(a) {\n        bootApp(a), trends(a), whoToFollowModule(a);\n        var b = \".profile-canopy\", c = {\n            scribeContext: {\n                component: \"profile_canopy\"\n            }\n        };\n        ProfileHead.attachTo(b, a, c, {\n            profileHead: !1,\n            isCanopy: !0\n        }), ProfileHeadScribe.attachTo(b, c), ProfileCanopy.attachTo(b), ProfileCanopyScribe.attachTo(b);\n        var d = \".profile-page-header\", e = {\n            scribeContext: {\n                component: \"profile_follow_card\"\n            }\n        };\n        ProfileHead.attachTo(d, a, e), ProfileHeadScribe.attachTo(d);\n        var f = \".profile-social-proof\";\n        ProfileSocialProofScribe.attachTo(f), ProfileSocialProof.attachTo(f), ((a.inlineProfileEditing && inlineEditBoot(a))), ProfileEditBtnScribe.attachTo(d, e), clientEvent.scribeData.profile_id = a.profile_id, loggedOutBoot(a), MediaThumbnailsScribe.attachTo(JSBNG__document, a);\n        var g = {\n            showAllInlineMedia: !0,\n            defaultGalleryTitle: a.profile_user.JSBNG__name,\n            profileUser: a.profile_user,\n            mediaGrid: a.mediaGrid,\n            mediaGridOpen: a.mediaGridOpen,\n            gridPushState: a.mediaGrid,\n            pushStateUrl: ((((\"/\" + a.profile_user.screen_name)) + \"/media/grid\")),\n            eventData: {\n                scribeContext: {\n                    component: \"dashboard_media\"\n                }\n            }\n        }, h;\n        h = \".enhanced-media-thumbnails\", g.thumbnailSize = 90, g.thumbnailsVisible = 6, MediaTimeline.attachTo(JSBNG__document, {\n            endpoint: ((((\"/i/profiles/show/\" + a.profile_user.screen_name)) + \"/media_timeline\"))\n        }), CardThumbnails.attachTo(h, utils.merge(a, g)), Grid.attachTo(\".grid\", {\n            sandboxes: a.sandboxes,\n            loggedIn: a.loggedIn,\n            eventData: {\n                scribeContext: {\n                    component: \"grid\"\n                }\n            },\n            mediaGridOpen: a.mediaGridOpen,\n            pushStateCloseUrl: ((\"/\" + a.profile_user.screen_name)),\n            gridTitle: _(\"{{name}}'s photos and videos\", {\n                JSBNG__name: a.profile_user.JSBNG__name\n            }),\n            profileUser: a.profile_user\n        }), NavigationLinks.attachTo(\".profile-page-header\", {\n            eventData: {\n                scribeContext: {\n                    component: \"profile_follow_card\"\n                }\n            }\n        }), DashboardTweetbox.attachTo(\".profile-tweet-box\", {\n            draftTweetId: ((\"profile_\" + a.profile_id)),\n            eventData: {\n                scribeContext: {\n                    component: \"tweet_box\"\n                }\n            }\n        });\n        var i = utils.merge(a, {\n            eventData: {\n                scribeContext: {\n                    component: \"similar_user_recommendations\"\n                }\n            }\n        }), j = \".dashboard .js-similar-to-module\";\n        WhoToFollowDashboard.attachTo(j, i), WhoToFollowData.attachTo(j, i), WhoToFollowScribe.attachTo(j, i), RecentConnectionsModule.attachTo(\".dashboard .recent-followers-module\", a, {\n            eventData: {\n                scribeContext: {\n                    component: \"recent_followers\"\n                }\n            }\n        }), RecentConnectionsModule.attachTo(\".dashboard .recently-followed-module\", a, {\n            eventData: {\n                scribeContext: {\n                    component: \"recently_followed\"\n                }\n            }\n        }), SuggestedUsersData.attachTo(JSBNG__document), SuggestedUsers.attachTo(\"#suggested-users\", utils.merge({\n            eventData: {\n                scribeContext: {\n                    component: \"user_similarities_list\"\n                }\n            }\n        }, a));\n    };\n;\n    var bootApp = require(\"app/boot/app\"), _ = require(\"core/i18n\"), trends = require(\"app/boot/trends\"), loggedOutBoot = require(\"app/boot/logged_out\"), inlineEditBoot = require(\"app/boot/inline_edit\"), ProfileCanopy = require(\"app/ui/profile/canopy\"), ProfileCanopyScribe = require(\"app/data/profile_canopy_scribe\"), ProfileHead = require(\"app/ui/profile/head\"), ProfileHeadScribe = require(\"app/data/profile_head_scribe\"), ProfileSocialProof = require(\"app/ui/profile/social_proof\"), ProfileSocialProofScribe = require(\"app/data/profile_social_proof_scribe\"), DashboardTweetbox = require(\"app/ui/dashboard_tweetbox\"), WhoToFollowDashboard = require(\"app/ui/who_to_follow/who_to_follow_dashboard\"), WhoToFollowData = require(\"app/data/who_to_follow\"), WhoToFollowScribe = require(\"app/data/who_to_follow_scribe\"), RecentConnectionsModule = require(\"app/ui/profile/recent_connections_module\"), CardThumbnails = require(\"app/ui/media/card_thumbnails\"), MediaTimeline = require(\"app/data/media_timeline\"), MediaThumbnailsScribe = require(\"app/data/media_thumbnails_scribe\"), utils = require(\"core/utils\"), SuggestedUsers = require(\"app/ui/suggested_users\"), SuggestedUsersData = require(\"app/data/suggested_users\"), clientEvent = require(\"app/data/client_event\"), NavigationLinks = require(\"app/ui/navigation_links\"), ProfileEditBtnScribe = require(\"app/data/profile_edit_btn_scribe\"), whoToFollowModule = require(\"app/boot/wtf_module\"), Grid = require(\"app/ui/gallery/grid\");\n    module.exports = initialize;\n});\ndefine(\"app/pages/profile/tweets\", [\"module\",\"require\",\"exports\",\"app/boot/profile\",\"app/boot/tweet_timeline\",\"app/boot/user_completion_module\",], function(module, require, exports) {\n    var profileBoot = require(\"app/boot/profile\"), tweetTimelineBoot = require(\"app/boot/tweet_timeline\"), userCompletionModuleBoot = require(\"app/boot/user_completion_module\");\n    module.exports = function(b) {\n        profileBoot(b), tweetTimelineBoot(b, b.timeline_url, \"tweet\"), userCompletionModuleBoot(b), ((b.profile_user && $(JSBNG__document).trigger(\"profileVisit\", b.profile_user)));\n    };\n});\ndefine(\"app/ui/timelines/with_cursor_pagination\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n    function withCursorPagination() {\n        function a() {\n            return !0;\n        };\n    ;\n        function b() {\n            return !1;\n        };\n    ;\n        this.isOldItem = a, this.isNewItem = b, this.wasRangeRequest = b, this.wasNewItemsRequest = b, this.wasOldItemsRequest = a, this.shouldGetOldItems = function() {\n            return !!this.cursor;\n        }, this.getOldItemsData = function() {\n            return {\n                cursor: this.cursor,\n                is_forward: !this.attr.isBackward,\n                query: this.query\n            };\n        }, this.resetStateVariables = function(a) {\n            ((((a && ((a.cursor !== undefined)))) ? (this.cursor = a.cursor, this.select(\"containerSelector\").attr(\"data-cursor\", this.cursor)) : this.cursor = ((this.select(\"containerSelector\").attr(\"data-cursor\") || \"\"))));\n        }, this.after(\"initialize\", function(a) {\n            this.query = ((a.query || \"\")), this.resetStateVariables(), this.JSBNG__on(\"uiTimelineReset\", this.resetStateVariables);\n        });\n    };\n;\n    module.exports = withCursorPagination;\n});\ndefine(\"app/ui/with_stream_users\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n    function withStreamUsers() {\n        this.defaultAttrs({\n            streamUserSelector: \".stream-items .js-actionable-user\"\n        }), this.usersDisplayed = function() {\n            var a = this.select(\"streamUserSelector\"), b = [];\n            a.each(function(a, c) {\n                var d = $(c);\n                b.push({\n                    id: d.attr(\"data-user-id\"),\n                    impressionId: d.attr(\"data-impression-id\")\n                });\n            }), this.trigger(\"uiUsersDisplayed\", {\n                users: b\n            });\n        }, this.after(\"initialize\", function() {\n            this.usersDisplayed();\n        });\n    };\n;\n    module.exports = withStreamUsers;\n});\ndefine(\"app/ui/timelines/user_timeline\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/timelines/with_base_timeline\",\"app/ui/timelines/with_old_items\",\"app/ui/timelines/with_cursor_pagination\",\"app/ui/with_item_actions\",\"app/ui/with_user_actions\",\"app/ui/with_stream_users\",], function(module, require, exports) {\n    function userTimeline() {\n        this.defaultAttrs({\n            itemType: \"user\"\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withBaseTimeline = require(\"app/ui/timelines/with_base_timeline\"), withOldItems = require(\"app/ui/timelines/with_old_items\"), withCursorPagination = require(\"app/ui/timelines/with_cursor_pagination\"), withItemActions = require(\"app/ui/with_item_actions\"), withUserActions = require(\"app/ui/with_user_actions\"), withStreamUsers = require(\"app/ui/with_stream_users\");\n    module.exports = defineComponent(userTimeline, withBaseTimeline, withOldItems, withCursorPagination, withItemActions, withUserActions, withStreamUsers);\n});\ndefine(\"app/boot/user_timeline\", [\"module\",\"require\",\"exports\",\"app/boot/timeline\",\"app/ui/timelines/user_timeline\",\"core/utils\",], function(module, require, exports) {\n    function initialize(a, b, c, d) {\n        var e = utils.merge(a, {\n            endpoint: b,\n            itemType: c,\n            eventData: {\n                scribeContext: {\n                    component: d\n                },\n                timeline_recommendations: a.timeline_recommendations\n            }\n        });\n        timelineBoot(e), UserTimeline.attachTo(\"#timeline\", e);\n    };\n;\n    var timelineBoot = require(\"app/boot/timeline\"), UserTimeline = require(\"app/ui/timelines/user_timeline\"), utils = require(\"core/utils\");\n    module.exports = initialize;\n});\ndefine(\"app/ui/timelines/follower_request_timeline\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/with_interaction_data\",], function(module, require, exports) {\n    function followerRequestTimeline() {\n        this.defaultAttrs({\n            userItemSelector: \"div.js-follower-request\",\n            streamUserItemSelector: \"li.js-stream-item\",\n            followerActionsSelector: \".friend-actions\",\n            profileActionsSelector: \".js-profile-actions\",\n            acceptFollowerSelector: \".js-action-accept\",\n            declineFollowerSelector: \".js-action-deny\",\n            itemType: \"user\"\n        }), this.findUser = function(a) {\n            return this.$node.JSBNG__find(((((((this.attr.userItemSelector + \"[data-user-id=\")) + a)) + \"]\")));\n        }, this.findFollowerActions = function(a) {\n            return this.findUser(a).JSBNG__find(this.attr.followerActionsSelector);\n        }, this.findProfileActions = function(a) {\n            return this.findUser(a).JSBNG__find(this.attr.profileActionsSelector);\n        }, this.handleAcceptSuccess = function(a, b) {\n            this.findFollowerActions(b.userId).hide(), this.findProfileActions(b.userId).show();\n        }, this.handleDeclineSuccess = function(a, b) {\n            var c = this.findUser(b.userId);\n            c.closest(this.attr.streamUserItemSelector).remove();\n        }, this.handleDecisionFailure = function(a, b) {\n            var c = this.findFollowerActions(b.userId);\n            c.JSBNG__find(\".btn\").attr(\"disabled\", !1).removeClass(\"pending\");\n        }, this.handleFollowerDecision = function(a) {\n            return function(b, c) {\n                b.preventDefault(), b.stopPropagation();\n                var d = this.interactionData(b), e = this.findFollowerActions(d.userId);\n                e.JSBNG__find(\".btn\").attr(\"disabled\", !0);\n                var f = e.JSBNG__find(((((a == \"Accept\")) ? this.attr.acceptFollowerSelector : this.attr.declineFollowerSelector)));\n                f.addClass(\"pending\"), this.trigger(((\"uiDidFollower\" + a)), d);\n            };\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"click\", {\n                acceptFollowerSelector: this.handleFollowerDecision(\"Accept\"),\n                declineFollowerSelector: this.handleFollowerDecision(\"Decline\")\n            }), this.JSBNG__on(JSBNG__document, \"dataFollowerAcceptSuccess\", this.handleAcceptSuccess), this.JSBNG__on(JSBNG__document, \"dataFollowerDeclineSuccess\", this.handleDeclineSuccess), this.JSBNG__on(JSBNG__document, \"dataFollowerAcceptFailure dataFollowerDeclineFailure\", this.handleDecisionFailure);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withInteractionData = require(\"app/ui/with_interaction_data\");\n    module.exports = defineComponent(followerRequestTimeline, withInteractionData);\n});\ndefine(\"app/data/follower_request\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_data\",], function(module, require, exports) {\n    function followerRequestData() {\n        this.followerRequestAction = function(a, b) {\n            return function(c, d) {\n                var e = function() {\n                    this.trigger(((((\"dataFollower\" + b)) + \"Success\")), {\n                        userId: d.userId\n                    });\n                }.bind(this), f = function() {\n                    this.trigger(((((\"dataFollower\" + b)) + \"Failure\")), {\n                        userId: d.userId\n                    });\n                }.bind(this);\n                this.post({\n                    url: a,\n                    data: {\n                        user_id: d.userId\n                    },\n                    eventData: d,\n                    success: e,\n                    error: f\n                });\n            };\n        }, this.after(\"initialize\", function(a) {\n            this.JSBNG__on(JSBNG__document, \"uiDidFollowerAccept\", this.followerRequestAction(\"/i/user/accept\", \"Accept\")), this.JSBNG__on(JSBNG__document, \"uiDidFollowerDecline\", this.followerRequestAction(\"/i/user/deny\", \"Decline\"));\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withData = require(\"app/data/with_data\");\n    module.exports = defineComponent(followerRequestData, withData);\n});\ndefine(\"app/pages/profile/follower_requests\", [\"module\",\"require\",\"exports\",\"app/boot/profile\",\"app/boot/user_timeline\",\"app/ui/timelines/follower_request_timeline\",\"app/data/follower_request\",], function(module, require, exports) {\n    var profileBoot = require(\"app/boot/profile\"), userTimelineBoot = require(\"app/boot/user_timeline\"), FollowerRequestTimeline = require(\"app/ui/timelines/follower_request_timeline\"), FollowerRequestData = require(\"app/data/follower_request\");\n    module.exports = function(b) {\n        profileBoot(b), userTimelineBoot(b, b.timeline_url, \"user\"), FollowerRequestTimeline.attachTo(\"#timeline\", b), FollowerRequestData.attachTo(JSBNG__document, b);\n    };\n});\ndefine(\"app/pages/profile/followers\", [\"module\",\"require\",\"exports\",\"app/boot/profile\",\"app/boot/user_timeline\",\"app/data/contact_import\",\"app/data/contact_import_scribe\",\"app/ui/who_to_follow/import_loading_dialog\",\"app/ui/who_to_follow/import_services\",\"app/ui/suggested_users\",], function(module, require, exports) {\n    var profileBoot = require(\"app/boot/profile\"), userTimelineBoot = require(\"app/boot/user_timeline\"), ContactImportData = require(\"app/data/contact_import\"), ContactImportScribe = require(\"app/data/contact_import_scribe\"), ImportLoadingDialog = require(\"app/ui/who_to_follow/import_loading_dialog\"), ImportServices = require(\"app/ui/who_to_follow/import_services\"), SuggestedUsers = require(\"app/ui/suggested_users\");\n    module.exports = function(b) {\n        profileBoot(b), b.allowInfiniteScroll = b.loggedIn, userTimelineBoot(b, b.timeline_url, \"user\", \"user\"), ContactImportData.attachTo(JSBNG__document, b), ContactImportScribe.attachTo(JSBNG__document, b), ImportLoadingDialog.attachTo(\"#import-loading-dialog\", b), ImportServices.attachTo(\".followers-import-prompt\", {\n            launchServiceSelector: \".js-launch-service\"\n        }), ((b.timeline_recommendations && SuggestedUsers.attachTo(\"#timeline\", {\n            eventData: {\n                scribeContext: {\n                    component: \"user_similarities_list\"\n                }\n            },\n            eventMode: \"timeline_recommendations\",\n            targetSelector: \".js-stream-item\",\n            childSelector: \".js-recommendations-container\"\n        })));\n    };\n});\ndefine(\"app/pages/profile/following\", [\"module\",\"require\",\"exports\",\"app/boot/profile\",\"app/boot/user_timeline\",], function(module, require, exports) {\n    var profileBoot = require(\"app/boot/profile\"), userTimelineBoot = require(\"app/boot/user_timeline\");\n    module.exports = function(b) {\n        profileBoot(b), b.allowInfiniteScroll = b.loggedIn, userTimelineBoot(b, b.timeline_url, \"user\", \"user\");\n    };\n});\ndefine(\"app/pages/profile/favorites\", [\"module\",\"require\",\"exports\",\"app/boot/profile\",\"app/boot/tweet_timeline\",], function(module, require, exports) {\n    var profileBoot = require(\"app/boot/profile\"), tweetTimelineBoot = require(\"app/boot/tweet_timeline\");\n    module.exports = function(b) {\n        profileBoot(b), b.allowInfiniteScroll = b.loggedIn, tweetTimelineBoot(b, b.timeline_url, \"tweet\");\n    };\n});\ndefine(\"app/ui/timelines/list_timeline\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/timelines/with_base_timeline\",\"app/ui/timelines/with_old_items\",\"app/ui/timelines/with_cursor_pagination\",\"app/ui/with_item_actions\",\"app/ui/with_user_actions\",], function(module, require, exports) {\n    function listTimeline() {\n        this.defaultAttrs({\n            createListSelector: \".js-create-list-button\",\n            itemType: \"list\"\n        }), this.after(\"initialize\", function(a) {\n            this.JSBNG__on(\"click\", {\n                createListSelector: this.openListCreateDialog\n            });\n        }), this.openListCreateDialog = function() {\n            this.trigger(\"uiOpenCreateListDialog\", {\n                userId: this.userId\n            });\n        };\n    };\n;\n    var defineComponent = require(\"core/component\"), withBaseTimeline = require(\"app/ui/timelines/with_base_timeline\"), withOldItems = require(\"app/ui/timelines/with_old_items\"), withCursorPagination = require(\"app/ui/timelines/with_cursor_pagination\"), withItemActions = require(\"app/ui/with_item_actions\"), withUserActions = require(\"app/ui/with_user_actions\");\n    module.exports = defineComponent(listTimeline, withBaseTimeline, withOldItems, withCursorPagination, withItemActions, withUserActions);\n});\ndefine(\"app/boot/list_timeline\", [\"module\",\"require\",\"exports\",\"app/boot/timeline\",\"app/ui/timelines/list_timeline\",\"core/utils\",], function(module, require, exports) {\n    function initialize(a, b, c, d) {\n        var e = utils.merge(a, {\n            endpoint: b,\n            itemType: c,\n            eventData: {\n                scribeContext: {\n                    component: d\n                }\n            }\n        });\n        timelineBoot(e), ListTimeline.attachTo(\"#timeline\", e);\n    };\n;\n    var timelineBoot = require(\"app/boot/timeline\"), ListTimeline = require(\"app/ui/timelines/list_timeline\"), utils = require(\"core/utils\");\n    module.exports = initialize;\n});\ndefine(\"app/pages/profile/lists\", [\"module\",\"require\",\"exports\",\"app/boot/profile\",\"app/boot/list_timeline\",], function(module, require, exports) {\n    var profileBoot = require(\"app/boot/profile\"), listTimelineBoot = require(\"app/boot/list_timeline\");\n    module.exports = function(b) {\n        profileBoot(b), listTimelineBoot(b, b.timeline_url, \"list\");\n    };\n});\ndefine(\"app/ui/with_removable_stream_items\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n    function withRemovableStreamItems() {\n        this.defaultAttrs({\n            streamItemSelector: \".js-stream-item\"\n        }), this.removeStreamItem = function(a) {\n            var b = ((((((this.attr.streamItemSelector + \"[data-item-id=\")) + a)) + \"]\"));\n            this.$node.JSBNG__find(b).remove();\n        };\n    };\n;\n    module.exports = withRemovableStreamItems;\n});\ndefine(\"app/ui/similar_to\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/with_removable_stream_items\",], function(module, require, exports) {\n    function similarTo() {\n        this.handleUserActionSuccess = function(a, b) {\n            ((((b.requestUrl == \"/i/user/hide\")) && this.removeStreamItem(b.userId)));\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(JSBNG__document, \"dataUserActionSuccess\", this.handleUserActionSuccess);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withRemovableStreamItems = require(\"app/ui/with_removable_stream_items\");\n    module.exports = defineComponent(similarTo, withRemovableStreamItems);\n});\ndefine(\"app/pages/profile/similar_to\", [\"module\",\"require\",\"exports\",\"app/boot/profile\",\"app/boot/user_timeline\",\"app/ui/similar_to\",], function(module, require, exports) {\n    var profileBoot = require(\"app/boot/profile\"), userTimelineBoot = require(\"app/boot/user_timeline\"), similarTo = require(\"app/ui/similar_to\");\n    module.exports = function(b) {\n        profileBoot(b), userTimelineBoot(b, b.timeline_url, \"user\", \"user\"), similarTo.attachTo(\"#timeline\");\n    };\n});\ndefine(\"app/ui/facets\", [\"module\",\"require\",\"exports\",\"app/utils/cookie\",\"core/component\",], function(module, require, exports) {\n    function uiFacets() {\n        this.defaultAttrs({\n            topImagesSelector: \".top-images\",\n            topVideosSelector: \".top-videos\",\n            notDisplayedSelector: \".facets-media-not-displayed\",\n            displayMediaSelector: \".display-this-media\",\n            showAllInlineMedia: !1\n        }), this.addFacets = function(a, b) {\n            this.select(\"topImagesSelector\").html(b.photos), this.select(\"topVideosSelector\").html(b.videos), ((this.attr.showAllInlineMedia && this.reloadFacets()));\n        }, this.showFacet = function(a, b) {\n            ((((b.thumbnails.length > 0)) && $(a.target).show()));\n            var c = this.$node.JSBNG__find(\".js-nav-links\\u003Eli:visible\"), d = c.last();\n            c.removeClass(\"last-item\"), d.addClass(\"last-item\");\n        }, this.dismissDisplayMedia = function() {\n            this.attr.showAllInlineMedia = !0, this.setMediaCookie(), this.select(\"notDisplayedSelector\").hide(), this.reloadFacets();\n        }, this.setMediaCookie = function() {\n            cookie(\"show_all_inline_media\", !0);\n        }, this.reloadFacets = function() {\n            this.trigger(this.select(\"topImagesSelector\"), \"uiReloadThumbs\"), this.trigger(this.select(\"topVideosSelector\"), \"uiReloadThumbs\");\n        }, this.after(\"initialize\", function(a) {\n            this.JSBNG__on(JSBNG__document, \"dataHasFacets\", this.addFacets), this.JSBNG__on(\"uiMediaThumbnailsVisible\", this.showFacet), this.JSBNG__on(\"click\", {\n                displayMediaSelector: this.dismissDisplayMedia\n            }), this.trigger(\"uiNeedsFacets\", {\n                q: a.query,\n                onebox_type: a.oneboxType\n            });\n        });\n    };\n;\n    var cookie = require(\"app/utils/cookie\"), defineComponent = require(\"core/component\");\n    module.exports = defineComponent(uiFacets);\n});\ndefine(\"app/data/facets_timeline\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_data\",], function(module, require, exports) {\n    function facetsTimeline() {\n        this.defaultAttrs({\n            query: \"\"\n        }), this.requestItems = function(a, b) {\n            var c = {\n            }, d = {\n                since_id: b.since_id,\n                max_id: b.max_id,\n                facet_type: b.facet_type,\n                onebox_type: b.onebox_type,\n                q: this.attr.query\n            };\n            this.get({\n                url: this.attr.endpoint,\n                headers: c,\n                data: d,\n                eventData: b,\n                success: ((((\"dataGotMoreFacet\" + b.facet_type)) + \"TimelineItems\")),\n                error: ((((\"dataGotMoreFacet\" + b.facet_type)) + \"TimelineItemsError\"))\n            });\n        }, this.after(\"initialize\", function(a) {\n            this.JSBNG__on(JSBNG__document, \"uiWantsMoreFacetTimelineItems\", this.requestItems);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withData = require(\"app/data/with_data\");\n    module.exports = defineComponent(facetsTimeline, withData);\n});\ndefine(\"app/ui/dialogs/iph_search_result_dialog\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/with_dialog\",\"app/ui/with_position\",\"app/data/with_scribe\",\"app/data/ddg\",], function(module, require, exports) {\n    function inProductHelpDialog() {\n        this.defaultAttrs({\n            helpfulSelector: \"#helpful_button\",\n            notHelpfulSelector: \"#not_helpful_button\",\n            inProductHelpSelector: \"#search_result_help\",\n            feedbackQuestionSelector: \"#satisfaction_question\",\n            feedbackButtonsSelector: \"#satisfaction_buttons\",\n            feedbackMessageSelector: \"#satisfaction_feedback\"\n        }), this.JSBNG__openDialog = function(a) {\n            ddg.impression(\"in_product_help_search_result_page_392\"), this.scribe({\n                component: \"search_result\",\n                element: \"learn_more_dialog\",\n                action: \"impression\"\n            }), this.open();\n        }, this.voteHelpful = function(a) {\n            this.scribe({\n                component: \"search_result\",\n                element: \"learn_more_dialog\",\n                action: ((a ? \"helpful\" : \"unhelpful\"))\n            }), this.select(\"feedbackQuestionSelector\").hide(), this.select(\"feedbackButtonsSelector\").hide(), this.select(\"feedbackMessageSelector\").fadeIn();\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"click\", {\n                helpfulSelector: function() {\n                    this.voteHelpful(!0);\n                },\n                notHelpfulSelector: function() {\n                    this.voteHelpful(!1);\n                }\n            }), this.JSBNG__on(this.attr.inProductHelpSelector, \"click\", this.JSBNG__openDialog), this.select(\"feedbackMessageSelector\").hide();\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withDialog = require(\"app/ui/with_dialog\"), withPosition = require(\"app/ui/with_position\"), withScribe = require(\"app/data/with_scribe\"), ddg = require(\"app/data/ddg\");\n    module.exports = defineComponent(inProductHelpDialog, withDialog, withPosition, withScribe);\n});\ndefine(\"app/ui/search/archive_navigator\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/utils/storage/custom\",\"core/i18n\",], function(module, require, exports) {\n    function archiveNavigator() {\n        this.monthLabels = [_(\"Jan\"),_(\"Feb\"),_(\"Mar\"),_(\"Apr\"),_(\"May\"),_(\"Jun\"),_(\"Jul\"),_(\"Aug\"),_(\"Sep\"),_(\"Oct\"),_(\"Nov\"),_(\"Dec\"),], this.defaultAttrs({\n            timeRanges: [],\n            highlights: [],\n            query: \"\",\n            sinceTime: null,\n            untilTime: null,\n            ttl_ms: 21600000,\n            canvasSelector: \"canvas\",\n            canvasContainerSelector: \"#archive-drilldown-container\",\n            timeRangeSelector: \".time-ranges\",\n            timeRangeLinkSelector: \".time-ranges a\",\n            highlightContainerSelector: \".highlights\",\n            highlightLinkSelector: \".highlights a\",\n            pastNavSelector: \".past-nav\",\n            futureNavSelector: \".future-nav\",\n            timeNavQuerySource: \"tnav\",\n            highlightNavQuerySource: \"hnav\",\n            activeItemClass: \"active\"\n        }), this.sortedCoordinates = function() {\n            var a = this.attr.timeRanges.concat(this.attr.highlights);\n            return a.sort(function(a, b) {\n                return ((a.timestamp - b.timestamp));\n            }).map(function(a) {\n                return {\n                    x: a.timestamp,\n                    y: a.activityScore\n                };\n            });\n        }, this.compileCoordinates = function(a) {\n            var b = a[0].x, c = a[((a.length - 1))].x, d = a[0].y, e = a[0].y, f, g;\n            for (f = 1, g = a.length; ((f < g)); f++) {\n                var h = a[f];\n                ((((h.y < d)) ? d = h.y : ((((h.y > e)) && (e = h.y)))));\n            };\n        ;\n            var i = new JSBNG__Date(((b * 1000)));\n            return b = (((new JSBNG__Date(i.getUTCFullYear(), i.getUTCMonth(), 1)).getTime() / 1000)), i = new JSBNG__Date(((c * 1000))), c = (((new JSBNG__Date(i.getUTCFullYear(), ((i.getUTCMonth() + 1)), 0)).getTime() / 1000)), this.renderedTimeRange = {\n                since: b,\n                until: c\n            }, d = 0, e *= 1.1, {\n                coordinates: a,\n                minX: b,\n                minY: d,\n                maxX: c,\n                maxY: e\n            };\n        }, this.setupViewFrame = function() {\n            var a = this.select(\"canvasSelector\"), b = this.select(\"canvasContainerSelector\").width(), c = ((this.compiledCoordinates.maxX - this.compiledCoordinates.minX));\n            ((((((this.renderedTimeRange.until - this.renderedTimeRange.since)) < ((((SECONDS_IN_YEAR * 7)) / 6)))) ? (a.width(b), this.select(\"timeRangeSelector\").width(b), this.select(\"highlightContainerSelector\").width(b), this.graphResolution = ((c / b))) : (this.graphResolution = Math.round(((SECONDS_IN_YEAR / b))), this.select(\"timeRangeSelector\").width(Math.round(((c / this.graphResolution)))), this.select(\"highlightContainerSelector\").width(Math.round(((c / this.graphResolution)))), a.width(Math.round(((c / this.graphResolution))))))), this.canvas.width = a.width(), this.canvas.height = a.height(), this.canvasTransform = {\n                translateX: ((-this.compiledCoordinates.minX / this.graphResolution)),\n                translateY: ((((this.canvas.height - ((STROKE_WIDTH / 2)))) - BOTTOM_INSET)),\n                scaleX: ((1 / this.graphResolution)),\n                scaleY: ((-((((((this.canvas.height - STROKE_WIDTH)) - BOTTOM_INSET)) - TOP_INSET)) / ((this.compiledCoordinates.maxY - this.compiledCoordinates.minY))))\n            };\n        }, this.setupCoordinates = function() {\n            if (((this.attr.timeRanges.length == 0))) {\n                return;\n            }\n        ;\n        ;\n            var a = this.sortedCoordinates();\n            this.compiledCoordinates = this.compileCoordinates(a), this.setupViewFrame();\n        }, this.getElementOffsetForCoordinate = function(a) {\n            var b = ((this.canvasTransform.translateX + ((this.canvasTransform.scaleX * a.x)))), c = ((this.canvasTransform.translateY + ((this.canvasTransform.scaleY * a.y))));\n            return {\n                left: b,\n                JSBNG__top: c\n            };\n        }, this.drawGraph = function() {\n            this.drawAxes(), this.plotActivity(), this.plotHighlights();\n        }, this.plotHighlights = function() {\n            var a = this.select(\"highlightContainerSelector\");\n            a.empty(), this.attr.highlights.forEach(function(b) {\n                var c = this.getElementOffsetForCoordinate({\n                    x: b.timestamp,\n                    y: b.activityScore\n                }), d = this.highlightItemTemplate.clone();\n                d.attr(\"href\", ((\"/search?\" + $.param({\n                    mode: \"archive\",\n                    q: this.attr.query,\n                    src: this.attr.highlightNavQuerySource,\n                    since_time: b.drilldownSince,\n                    until_time: b.drilldownUntil\n                })))), d.data(\"monthsInPast\", this.offsetToMonthsPast(c.left, !0)), d.addClass(\"js-nav\"), ((((((this.attr.sinceTime == b.drilldownSince)) && ((this.attr.untilTime == b.drilldownUntil)))) && d.addClass(this.attr.activeItemClass))), d.css(\"left\", ((Math.round(c.left) + \"px\"))), d.css(\"JSBNG__top\", ((Math.round(c.JSBNG__top) + \"px\"))), a.append(d);\n            }, this);\n        }, this.plotActivity = function() {\n            var a = this.compiledCoordinates.coordinates, b = this.compiledCoordinates.minX, c = this.compiledCoordinates.minY, d = this.compiledCoordinates.maxX, e = this.compiledCoordinates.maxY;\n            if (a.length) {\n                var f = this.canvas.getContext(\"2d\");\n                ((((a[0].x !== b)) && (a = [{\n                    x: b,\n                    y: 0\n                },].concat(a)))), f.save(), f.translate(this.canvasTransform.translateX, this.canvasTransform.translateY), f.scale(this.canvasTransform.scaleX, this.canvasTransform.scaleY);\n                var g = ((STROKE_WIDTH * this.graphResolution)), h = ((((BOTTOM_INSET / ((((this.canvas.height - STROKE_WIDTH)) - BOTTOM_INSET)))) / ((e - c))));\n                f.beginPath(), f.JSBNG__moveTo(((a[0].x - ((g / 2)))), ((((c - ((g / 2)))) - h))), f.lineTo(((a[0].x - ((g / 2)))), a[0].y), a.slice(1).forEach(function(a) {\n                    f.lineTo(a.x, a.y);\n                }), f.lineTo(((a[((a.length - 1))].x + ((g / 2)))), a[((a.length - 1))].y), f.lineTo(((a[((a.length - 1))].x + ((g / 2)))), ((c - h))), f.closePath();\n                var i = f.createLinearGradient(0, e, 0, ((c - h)));\n                i.addColorStop(0, GRADIENT_FILL_TOP_COLOR), i.addColorStop(1, GRADIENT_FILL_BOTTOM_COLOR), f.fillStyle = i, f.fill(), f.beginPath(), f.JSBNG__moveTo(a[0].x, a[0].y), a.slice(1).forEach(function(a) {\n                    f.lineTo(a.x, a.y);\n                }, this), f.restore();\n                var j = f.createLinearGradient(0, TOP_INSET, 0, ((this.canvas.height - BOTTOM_INSET)));\n                j.addColorStop(1, STROKE_GRADIENT_TOP_COLOR), j.addColorStop(337485, STROKE_GRADIENT_MIDDLE_COLOR), j.addColorStop(0, STROKE_GRADIENT_BOTTOM_COLOR), f.lineWidth = STROKE_WIDTH, f.lineCap = \"round\", f.lineJoin = \"round\", f.strokeStyle = j, f.stroke();\n            }\n        ;\n        ;\n        }, this.drawAxes = function() {\n            var a = this.compiledCoordinates.minX, b = this.compiledCoordinates.minY, c = this.compiledCoordinates.maxX, d = this.compiledCoordinates.maxY, e = this.canvas.width, f = this.canvas.height;\n            this.select(\"timeRangeSelector\").empty();\n            var g = this.canvas.getContext(\"2d\");\n            g.lineWidth = 1, g.strokeStyle = GRAPH_GRID_COLOR;\n            var h = new JSBNG__Date(((a * 1000))), i = this.getElementOffsetForCoordinate({\n                x: 0,\n                y: d\n            }).JSBNG__top, j = this.getElementOffsetForCoordinate({\n                x: 0,\n                y: b\n            }).JSBNG__top, k, l, m = a, n = Math.round(this.getElementOffsetForCoordinate({\n                x: m,\n                y: 0\n            }).left);\n            g.beginPath(), g.JSBNG__moveTo(((n + 338199)), i), g.lineTo(((n + 338216)), j);\n            while (((m < c))) {\n                var o = this.monthLinkTemplate.clone(), p = this.monthLabels[h.getUTCMonth()], q = h.getUTCFullYear();\n                o.attr(\"title\", ((((p + \" \")) + q))), o.JSBNG__find(\".month\").text(p), o.JSBNG__find(\".year\").text(q), k = m, h.setUTCMonth(((h.getUTCMonth() + 1))), m = ((h.getTime() / 1000)), o.attr(\"href\", ((\"/search?\" + $.param({\n                    mode: \"archive\",\n                    q: this.attr.query,\n                    src: this.attr.timeNavQuerySource,\n                    since_time: k,\n                    until_time: m\n                })))), o.addClass(\"js-nav\"), ((((((this.attr.sinceTime == k)) && ((this.attr.untilTime == m)))) && o.addClass(this.attr.activeItemClass))), l = n;\n                var r = this.getElementOffsetForCoordinate({\n                    x: m,\n                    y: 0\n                });\n                n = Math.round(r.left), o.data(\"monthsInPast\", this.offsetToMonthsPast(r.left, !0)), o.css(\"width\", ((((n - l)) + \"px\"))), this.select(\"timeRangeSelector\").append(o), g.JSBNG__moveTo(((n - 338904)), i), g.lineTo(((n - 338921)), j);\n            };\n        ;\n            g.stroke();\n        }, this.rangeClick = function(a) {\n            var b = $(a.target).closest(\"a\");\n            if (b.is(\".active\")) {\n                a.preventDefault();\n                return;\n            }\n        ;\n        ;\n            this.trigger(\"uiArchiveRangeClick\", {\n                monthsInPast: b.data(\"monthsInPast\")\n            });\n        }, this.highlightClick = function(a) {\n            var b = $(a.target).closest(\"a\");\n            if (b.is(\".active\")) {\n                a.preventDefault();\n                return;\n            }\n        ;\n        ;\n            this.trigger(\"uiArchiveHighlightClick\", {\n                monthsInPast: b.data(\"monthsInPast\")\n            });\n        }, this.navFuture = function() {\n            var a = Math.round(((((((((-1 * SECONDS_IN_YEAR)) * 3)) / 4)) / this.graphResolution)));\n            this.navTime(a);\n            var b = this.offsetToMonthsPast(this.containerOffset);\n            this.trigger(\"uiArchiveNavFuture\", {\n                monthsInPast: b\n            });\n        }, this.navPast = function() {\n            var a = Math.round(((((((SECONDS_IN_YEAR * 3)) / 4)) / this.graphResolution)));\n            this.navTime(a);\n            var b = this.offsetToMonthsPast(this.containerOffset);\n            this.trigger(\"uiArchiveNavPast\", {\n                monthsInPast: b\n            });\n        }, this.offsetToMonthsPast = function(a, b) {\n            return ((b && (a = ((this.canvas.width - a))))), Math.round(((((((a * this.graphResolution)) / SECONDS_IN_YEAR)) * 12)));\n        }, this.navActive = function() {\n            var a = this.$node.JSBNG__find(((\".\" + this.attr.activeItemClass))), b = 0;\n            if (((a.length > 0))) {\n                var c = $(a).position(), d = this.select(\"canvasContainerSelector\").width(), e = this.canvas.width;\n                b = ((((e - c.left)) - ((d / 2))));\n            }\n        ;\n        ;\n            this.navTime(b);\n        }, this.navTime = function(a) {\n            this.containerOffset += a;\n            var b = this.select(\"canvasContainerSelector\").width(), c = this.canvas.width, d = ((c - b));\n            if (((b == c))) {\n                return;\n            }\n        ;\n        ;\n            this.containerOffset = Math.min(Math.max(this.containerOffset, 0), d), this.select(\"pastNavSelector\").css(\"visibility\", ((((this.containerOffset < d)) ? \"visible\" : \"hidden\"))), this.select(\"futureNavSelector\").css(\"visibility\", ((((this.containerOffset > 0)) ? \"visible\" : \"hidden\"))), $(\"#archive-drilldown-content\").css(\"transform\", ((((\"translateX(\" + this.containerOffset)) + \"px)\")));\n        }, this.updateFromCache = function() {\n            var a = this.storage.getItem(\"query\");\n            ((((((a == this.attr.query)) && ((this.attr.timeRanges.length == 0)))) ? (this.attr.timeRanges = ((this.storage.getItem(\"timeRanges\") || [])), this.attr.highlights = ((this.storage.getItem(\"highlights\") || [])), this.canvasTransform = this.storage.getItem(\"canvasTransform\")) : ((((this.attr.timeRanges.length > 0)) && (this.storage.setItem(\"query\", this.attr.query, this.attr.ttl_ms), this.storage.setItem(\"timeRanges\", this.attr.timeRanges, this.attr.ttl_ms), this.storage.setItem(\"highlights\", this.attr.highlights, this.attr.ttl_ms))))));\n        }, this.after(\"initialize\", function() {\n            var a = JSBNG__document.createElement(\"canvas\");\n            if (((!a.getContext || !a.getContext(\"2d\")))) {\n                this.$node.hide();\n                return;\n            }\n        ;\n        ;\n            this.JSBNG__on(\"click\", {\n                pastNavSelector: this.navPast,\n                futureNavSelector: this.navFuture,\n                timeRangeLinkSelector: this.rangeClick,\n                highlightLinkSelector: this.highlightClick\n            });\n            var b = customStorage({\n                withExpiry: !0\n            });\n            this.storage = new b(\"archiveSearch\"), this.updateFromCache();\n            if (((this.attr.timeRanges.length == 0))) {\n                this.$node.hide();\n                return;\n            }\n        ;\n        ;\n            this.$node.show(), this.canvas = this.select(\"canvasSelector\")[0], this.monthLinkTemplate = this.select(\"timeRangeLinkSelector\").clone(!1), this.select(\"timeRangeLinkSelector\").remove(), this.highlightItemTemplate = this.select(\"highlightLinkSelector\").clone(!1), this.select(\"highlightLinkSelector\").remove(), this.setupCoordinates(), this.drawGraph(), this.containerOffset = 0, this.navActive();\n            var c = this.select(\"timeRangeLinkSelector\").length;\n            this.trigger(\"uiArchiveShown\", {\n                monthsDisplayed: c\n            });\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), customStorage = require(\"app/utils/storage/custom\"), _ = require(\"core/i18n\");\n    module.exports = defineComponent(archiveNavigator);\n    var SECONDS_IN_YEAR = 31536000, STROKE_WIDTH = 2, TOP_INSET = 0, BOTTOM_INSET = 0, MINIMUM_TIME_PERIOD = 5184000, TWEET_EPOCH = 1142899200, GRAPH_GRID_COLOR = \"#e8e8e8\", GRADIENT_FILL_TOP_COLOR = \"rgba(44, 138, 205, 0.75)\", GRADIENT_FILL_BOTTOM_COLOR = \"rgba(44, 138, 205, 0.00)\", STROKE_GRADIENT_TOP_COLOR = \"#203c87\", STROKE_GRADIENT_MIDDLE_COLOR = \"#0075be\", STROKE_GRADIENT_BOTTOM_COLOR = \"#29abe2\";\n});\ndefine(\"app/data/archive_navigator_scribe\", [\"module\",\"require\",\"exports\",\"core/component\",\"core/utils\",\"app/data/with_scribe\",], function(module, require, exports) {\n    function ArchiveNavigatorScribe() {\n        this.generateNavData = function(a) {\n            return {\n                event_info: a.monthsInPast\n            };\n        }, this.generateImpressionData = function(a) {\n            return {\n                event_info: a.monthsDisplayed\n            };\n        }, this.after(\"initialize\", function() {\n            this.scribeOnEvent(\"uiArchiveRangeClick\", {\n                element: \"section\",\n                action: \"search\"\n            }, this.generateNavData), this.scribeOnEvent(\"uiArchiveHighlightClick\", {\n                element: \"peak\",\n                action: \"search\"\n            }, this.generateNavData), this.scribeOnEvent(\"uiArchiveNavFuture\", {\n                element: \"future_nav\",\n                action: \"JSBNG__navigate\"\n            }, this.generateNavData), this.scribeOnEvent(\"uiArchiveNavPast\", {\n                element: \"past_nav\",\n                action: \"JSBNG__navigate\"\n            }, this.generateNavData), this.scribeOnEvent(\"uiArchiveShown\", \"impression\", this.generateImpressionData);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), utils = require(\"core/utils\"), withScribe = require(\"app/data/with_scribe\");\n    module.exports = defineComponent(ArchiveNavigatorScribe, withScribe);\n});\ndefine(\"app/boot/search\", [\"module\",\"require\",\"exports\",\"app/boot/app\",\"app/boot/logged_out\",\"core/utils\",\"app/boot/wtf_module\",\"app/boot/trends\",\"core/i18n\",\"app/ui/facets\",\"app/data/media_thumbnails_scribe\",\"app/ui/media/card_thumbnails\",\"app/data/facets_timeline\",\"app/ui/navigation_links\",\"app/ui/dialogs/iph_search_result_dialog\",\"app/ui/search/archive_navigator\",\"app/data/archive_navigator_scribe\",\"app/data/client_event\",], function(module, require, exports) {\n    var bootApp = require(\"app/boot/app\"), loggedOutBoot = require(\"app/boot/logged_out\"), utils = require(\"core/utils\"), whoToFollowModule = require(\"app/boot/wtf_module\"), trends = require(\"app/boot/trends\"), _ = require(\"core/i18n\"), uiFacets = require(\"app/ui/facets\"), MediaThumbnailsScribe = require(\"app/data/media_thumbnails_scribe\"), CardThumbnails = require(\"app/ui/media/card_thumbnails\"), FacetsTimeline = require(\"app/data/facets_timeline\"), NavigationLinks = require(\"app/ui/navigation_links\"), InProductHelpDialog = require(\"app/ui/dialogs/iph_search_result_dialog\"), ArchiveNavigator = require(\"app/ui/search/archive_navigator\"), ArchiveNavigatorScribe = require(\"app/data/archive_navigator_scribe\"), clientEvent = require(\"app/data/client_event\");\n    module.exports = function(b) {\n        bootApp(b), loggedOutBoot(b), clientEvent.scribeData.query = b.query, whoToFollowModule(b), trends(b), MediaThumbnailsScribe.attachTo(JSBNG__document, b), FacetsTimeline.attachTo(JSBNG__document, {\n            endpoint: \"/i/search/facets\",\n            query: b.query\n        }), CardThumbnails.attachTo(\".top-images\", utils.merge(b, {\n            thumbnailSize: 66,\n            thumbnailsVisible: 4,\n            loadOnEventName: \"uiLoadThumbnails\",\n            defaultGalleryTitle: _(\"Top photos for \\\"{{query}}\\\"\", {\n                query: b.query\n            }),\n            profileUser: !1,\n            mediaGrid: !1,\n            dataEvents: {\n                requestItems: \"uiWantsMoreFacetTimelineItems\",\n                gotItems: \"dataGotMoreFacetimagesTimelineItems\"\n            },\n            defaultRequestData: {\n                facet_type: \"images\",\n                onebox_type: b.oneboxType\n            },\n            eventData: {\n                scribeContext: {\n                    component: \"dashboard_photos\"\n                }\n            }\n        })), CardThumbnails.attachTo(\".top-videos\", utils.merge(b, {\n            thumbnailSize: 66,\n            thumbnailsVisible: 4,\n            loadOnEventName: \"uiLoadThumbnails\",\n            defaultGalleryTitle: _(\"Top videos for \\\"{{query}}\\\"\", {\n                query: b.query\n            }),\n            profileUser: !1,\n            mediaGrid: !1,\n            dataEvents: {\n                requestItems: \"uiWantsMoreFacetTimelineItems\",\n                gotItems: \"dataGotMoreFacetvideosTimelineItems\"\n            },\n            defaultRequestData: {\n                facet_type: \"videos\",\n                onebox_type: b.oneboxType\n            },\n            eventData: {\n                scribeContext: {\n                    component: \"dashboard_videos\"\n                }\n            }\n        })), uiFacets.attachTo(\".dashboard\", utils.merge(b, {\n            thumbnailLoadEvent: \"uiLoadThumbnails\"\n        })), ArchiveNavigatorScribe.attachTo(\".module.archive-search\"), ArchiveNavigator.attachTo(\".module.archive-search\", utils.merge(b.timeNavData, {\n            eventData: {\n                scribeContext: {\n                    component: \"archive_navigator\"\n                }\n            }\n        })), InProductHelpDialog.attachTo(\"#in_product_help_dialog\"), NavigationLinks.attachTo(\".search-nav\", {\n            eventData: {\n                scribeContext: {\n                    component: \"stream_nav\"\n                }\n            }\n        }), NavigationLinks.attachTo(\".js-search-pivot\", {\n            eventData: {\n                scribeContext: {\n                    component: \"stream_nav\"\n                }\n            }\n        }), NavigationLinks.attachTo(\".js-related-queries\", {\n            eventData: {\n                scribeContext: {\n                    component: \"related_queries\"\n                }\n            }\n        }), NavigationLinks.attachTo(\".js-spelling-corrections\", {\n            eventData: {\n                scribeContext: {\n                    component: \"spelling_corrections\"\n                }\n            }\n        });\n    };\n});\ndefine(\"app/ui/timelines/with_story_pagination\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n    function withStoryPagination() {\n        this.isOldItem = function(a) {\n            return a.is_scrolling_request;\n        }, this.isNewItem = function(a) {\n            return a.is_refresh_request;\n        }, this.wasNewItemsRequest = function(a) {\n            return !!a.refresh_cursor;\n        }, this.wasOldItemsRequest = function(a) {\n            return !!a.scroll_cursor;\n        }, this.wasRangeRequest = function() {\n            return !1;\n        }, this.shouldGetOldItems = function() {\n            return this.has_more_items;\n        }, this.getOldItemsData = function() {\n            return {\n                scroll_cursor: this.scroll_cursor\n            };\n        }, this.getNewItemsData = function() {\n            return {\n                refresh_cursor: this.refresh_cursor\n            };\n        }, this.resetStateVariables = function(a) {\n            a = ((a || {\n            })), this.resetScrollCursor(a), this.resetRefreshCursor(a), this.trigger(\"uiStoryPaginationReset\");\n        }, this.resetScrollCursor = function(a) {\n            if (a.scroll_cursor) {\n                this.scroll_cursor = a.scroll_cursor, this.$container.attr(\"data-scroll-cursor\", this.scroll_cursor);\n            }\n             else {\n                if (a.is_scrolling_request) this.has_more_items = !1, this.scroll_cursor = null, this.$container.removeAttr(\"data-scroll-cursor\");\n                 else {\n                    var b = this.$container.attr(\"data-scroll-cursor\");\n                    this.scroll_cursor = ((b ? b : null));\n                }\n            ;\n            }\n        ;\n        ;\n        }, this.resetRefreshCursor = function(a) {\n            if (a.refresh_cursor) this.refresh_cursor = a.refresh_cursor, this.$container.attr(\"data-refresh-cursor\", this.refresh_cursor);\n             else {\n                var b = this.$container.attr(\"data-refresh-cursor\");\n                this.refresh_cursor = ((b ? b : null));\n            }\n        ;\n        ;\n        }, this.onTimelineReset = function(a, b) {\n            this.resetStateVariables(b);\n        }, this.after(\"initialize\", function(a) {\n            this.$container = this.select(\"containerSelector\"), this.has_more_items = !0, this.resetStateVariables(), this.JSBNG__on(\"uiTimelineReset\", this.onTimelineReset);\n        });\n    };\n;\n    module.exports = withStoryPagination;\n});\ndefine(\"app/ui/gallery/with_grid\", [\"module\",\"require\",\"exports\",\"app/utils/image/image_loader\",], function(module, require, exports) {\n    function withGrid() {\n        this.defaultAttrs({\n            scribeRows: !1,\n            gridWidth: 512,\n            gridHeight: 120,\n            gridMargin: 8,\n            gridRatio: 3,\n            gridPanoRatio: 2.5,\n            mediaSelector: \".media-thumbnail:not(.twitter-timeline-link)\",\n            mediaRowFirstSelector: \".media-thumbnail.clear:not(.twitter-timeline-link)\"\n        }), this.render = function(a) {\n            this.currentRow = this.getCurrentRow();\n            var b = this.getUnprocessedMedia();\n            if (!b.length) {\n                this.scribeResults();\n                return;\n            }\n        ;\n        ;\n            var c = 0, d = 0, e = [];\n            for (var f = 0; ((f < b.length)); f++) {\n                if (((this.attr.gridRowLimit && ((this.currentRow > this.attr.gridRowLimit))))) {\n                    return;\n                }\n            ;\n            ;\n                var g = $(b.get(f));\n                ((!c && (c = parseInt(g.attr(\"data-height\"))))), ((a && (c = this.attr.gridHeight))), d += this.scaleGridMedia(g, c), e.push(g);\n                if (((((((d / c)) >= this.attr.gridRatio)) || a))) {\n                    ((a && (d = this.attr.gridWidth))), this.setGridRow(e, d, c, a), this.setCurrentRow(), this.currentRow++, d = 0, c = 0, e = [];\n                }\n            ;\n            ;\n            };\n        ;\n            this.scribeResults();\n        }, this.renderAll = function() {\n            JSBNG__clearTimeout(this.renderDelay), this.renderDelay = JSBNG__setTimeout(this.render.bind(this), 20);\n        }, this.setCurrentRow = function() {\n            $(this.node).attr(\"data-processed-rows\", this.currentRow);\n        }, this.getCurrentRow = function() {\n            var a = parseInt($(this.node).attr(\"data-processed-rows\"));\n            return ((a ? this.currentRow = a : this.currentRow = 1)), this.currentRow;\n        }, this.scaleGridMedia = function(a, b) {\n            var c = parseInt(a.attr(\"data-height\")), d = parseInt(a.attr(\"data-width\")), e = ((((b / c)) * d));\n            return ((((((d / c)) > this.attr.gridPanoRatio)) && (e = ((b * this.attr.gridPanoRatio)), a.attr(\"data-pano\", \"true\")))), a.attr({\n                \"scaled-height\": b,\n                \"scaled-width\": e\n            }), e;\n        }, this.setGridRow = function(a, b, c, d) {\n            var e = ((this.attr.gridWidth - ((a.length * this.attr.gridMargin)))), f = ((e / b)), g = ((c * f));\n            $.each(a, function(a, b) {\n                var c = $(b), e = ((parseInt(c.attr(\"scaled-width\")) * f));\n                c.height(g), c.width(e), c.attr(\"scaled-height\", g), c.attr(\"Scaled-width\", e), c.attr(\"data-grid-processed\", \"true\"), c.addClass(\"enabled\"), ((((((a == 0)) && !d)) && c.addClass(\"clear\"))), this.renderMedia(c);\n            }.bind(this));\n        }, this.scribeResults = function() {\n            if (this.attr.scribeRows) {\n                var a = this.getUnscribedMedia(), b = {\n                    thumbnails: [],\n                    scribeContext: {\n                        section: \"media_gallery\"\n                    }\n                };\n                $.each(a, function(a, c) {\n                    b.thumbnails.push($(c).attr(\"data-url\")), $(c).attr(\"data-scribed\", !0);\n                }), this.trigger(\"uiMediaGalleryResults\", b);\n            }\n        ;\n        ;\n        }, this.getMedia = function() {\n            return this.select(\"mediaSelector\");\n        }, this.getUnprocessedMedia = function() {\n            return this.getMedia().filter(\":not([data-grid-processed='true'])\");\n        }, this.getUnscribedMedia = function() {\n            return this.getMedia().filter(\":not([data-scribed='true'])\");\n        }, this.markFailedMedia = function(a) {\n            var b;\n            if (a.hasClass(\"clear\")) {\n                b = a.next(this.attr.mediaSelector);\n                if (!b.length) {\n                    return;\n                }\n            ;\n            ;\n            }\n             else {\n                b = a.prev(this.attr.mediaSelector);\n                while (((b && !b.hasClass(\"clear\")))) {\n                    b = b.prev(this.attr.mediaSelector);\n                ;\n                };\n            ;\n            }\n        ;\n        ;\n            b.attr(\"data-grid-processed\", \"false\"), b.nextAll(this.attr.mediaSelector).attr(\"data-grid-processed\", \"false\"), b.nextAll(this.attr.mediaSelector).removeClass(\"clear\"), JSBNG__clearTimeout(this.resetTimer), this.resetTimer = JSBNG__setTimeout(this.render.bind(this), 200);\n        }, this.renderMedia = function(a) {\n            var b = $(a);\n            if (b.attr(\"data-loaded\")) {\n                return;\n            }\n        ;\n        ;\n            var c = function(a) {\n                this.loadThumbSuccess(b, a);\n            }.bind(this), d = function() {\n                this.loadThumbFail(b);\n            }.bind(this);\n            imageLoader.load(b.attr(\"data-resolved-url-small\"), c, d);\n        }, this.loadThumbSuccess = function(a, b) {\n            if (a.attr(\"data-pano\")) {\n                var c = ((((a.height() / parseInt(a.attr(\"data-height\")))) * parseInt(a.attr(\"data-width\"))));\n                b.width(c), b.css(\"margin-left\", ((((-((c - a.width())) / 2)) + \"px\")));\n            }\n        ;\n        ;\n            a.prepend(b), a.attr(\"data-loaded\", !0);\n        }, this.loadThumbFail = function(a) {\n            this.markFailedMedia(a), a.remove();\n        }, this.openGallery = function(a) {\n            a.preventDefault(), a.stopPropagation(), this.trigger(a.target, \"uiOpenGallery\", {\n                title: \"Photo\"\n            });\n            var b = $(a.target);\n            this.trigger(\"uiMediaThumbnailClick\", {\n                url: b.attr(\"data-url\")\n            });\n        }, this.after(\"initialize\", function() {\n            this.render(), this.JSBNG__on(\"click\", {\n                mediaSelector: this.openGallery\n            }), this.JSBNG__on(\"uiHasInjectedOldTimelineItems\", this.renderAll);\n        });\n    };\n;\n    var imageLoader = require(\"app/utils/image/image_loader\");\n    module.exports = withGrid;\n});\ndefine(\"app/ui/timelines/universal_timeline\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/timelines/with_base_timeline\",\"app/ui/timelines/with_old_items\",\"app/ui/timelines/with_new_items\",\"app/ui/timelines/with_story_pagination\",\"app/ui/timelines/with_activity_supplements\",\"app/ui/with_timestamp_updating\",\"app/ui/with_tweet_actions\",\"app/ui/with_item_actions\",\"app/ui/timelines/with_traveling_ptw\",\"app/ui/timelines/with_pinned_stream_items\",\"app/ui/gallery/with_grid\",\"app/ui/with_interaction_data\",\"app/ui/with_user_actions\",\"app/ui/gallery/with_gallery\",], function(module, require, exports) {\n    function universalTimeline() {\n        this.defaultAttrs({\n            gridRowLimit: 2,\n            separationModuleSelector: \".separation-module\",\n            prevToModuleClass: \"before-module\",\n            userGalleryItemSelector: \".stream-user-gallery\",\n            prevToUserGalleryItemClass: \"before-user-gallery\",\n            eventData: {\n                scribeContext: {\n                    component: \"\"\n                }\n            }\n        }), this.setPrevToModuleClass = function() {\n            this.select(\"separationModuleSelector\").prev().addClass(this.attr.prevToModuleClass);\n        }, this.initialItemsDisplayed = function() {\n            var a = this.select(\"genericItemSelector\"), b = [], c = [], d = function(a, d) {\n                if (!$(d).data(\"item-type\")) {\n                    return;\n                }\n            ;\n            ;\n                var e = this.interactionData(this.findFirstItemContent($(d)));\n                switch (e.itemType) {\n                  case \"tweet\":\n                    b.push(e);\n                    break;\n                  case \"user\":\n                    c.push(e);\n                };\n            ;\n            }.bind(this);\n            for (var e = 0, f = a.length; ((e < f)); e++) {\n                d(e, a[e]);\n            ;\n            };\n        ;\n            this.reportUsersAndTweets(c, b);\n        }, this.reportItemsDisplayed = function(a, b) {\n            var c = [], d = [];\n            b.items.forEach(function(a) {\n                switch (a.itemType) {\n                  case \"tweet\":\n                    d.push(a);\n                    break;\n                  case \"user\":\n                    c.push(a);\n                };\n            ;\n            }), this.reportUsersAndTweets(c, d);\n        }, this.reportUsersAndTweets = function(a, b) {\n            this.trigger(\"uiTweetsDisplayed\", {\n                tweets: b\n            }), this.trigger(\"uiUsersDisplayed\", {\n                users: a\n            });\n        }, this.setItemType = function(a) {\n            var b = a.closest(this.attr.genericItemSelector), c = b.data(\"item-type\");\n            this.attr.itemType = c, this.attr.eventData.scribeContext.component = c;\n        }, this.after(\"initialize\", function(a) {\n            this.setPrevToModuleClass(), this.initialItemsDisplayed(), this.JSBNG__on(\"uiHasInjectedNewTimeline uiHasInjectedOldTimelineItems uiHasInjectedRangeTimelineItems\", this.reportItemsDisplayed);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withBaseTimeline = require(\"app/ui/timelines/with_base_timeline\"), withOldItems = require(\"app/ui/timelines/with_old_items\"), withNewItems = require(\"app/ui/timelines/with_new_items\"), withStoryPagination = require(\"app/ui/timelines/with_story_pagination\"), withActivitySupplements = require(\"app/ui/timelines/with_activity_supplements\"), withTimestampUpdating = require(\"app/ui/with_timestamp_updating\"), withTweetActions = require(\"app/ui/with_tweet_actions\"), withItemActions = require(\"app/ui/with_item_actions\"), withTravelingPtw = require(\"app/ui/timelines/with_traveling_ptw\"), withPinnedStreamItems = require(\"app/ui/timelines/with_pinned_stream_items\"), withGrid = require(\"app/ui/gallery/with_grid\"), withInteractionData = require(\"app/ui/with_interaction_data\"), withUserActions = require(\"app/ui/with_user_actions\"), withGallery = require(\"app/ui/gallery/with_gallery\");\n    module.exports = defineComponent(universalTimeline, withBaseTimeline, withStoryPagination, withOldItems, withNewItems, withTimestampUpdating, withTweetActions, withItemActions, withTravelingPtw, withPinnedStreamItems, withActivitySupplements, withGrid, withUserActions, withGallery);\n});\ndefine(\"app/boot/universal_timeline\", [\"module\",\"require\",\"exports\",\"app/boot/timeline\",\"app/boot/tweets\",\"app/boot/help_pips\",\"app/ui/expando/close_all_button\",\"app/ui/timelines/universal_timeline\",\"core/utils\",], function(module, require, exports) {\n    function initialize(a) {\n        var b = utils.merge(a, {\n            endpoint: a.search_endpoint\n        });\n        timelineBoot(b), tweetsBoot(\"#timeline\", utils.merge(b, {\n            excludeUserActions: !0\n        })), ((b.help_pips_decider && helpPipsBoot(b))), CloseAllButton.attachTo(\"#close-all-button\", {\n            addEvent: \"uiHasExpandedTweet\",\n            subtractEvent: \"uiHasCollapsedTweet\",\n            where: \"#timeline\",\n            closeAllEvent: \"uiWantsToCloseAllTweets\"\n        }), UniversalTimeline.attachTo(\"#timeline\", utils.merge(b, {\n            tweetItemSelector: \"div.original-tweet\",\n            gridRowLimit: 2,\n            scribeRows: !0\n        }));\n    };\n;\n    var timelineBoot = require(\"app/boot/timeline\"), tweetsBoot = require(\"app/boot/tweets\"), helpPipsBoot = require(\"app/boot/help_pips\"), CloseAllButton = require(\"app/ui/expando/close_all_button\"), UniversalTimeline = require(\"app/ui/timelines/universal_timeline\"), utils = require(\"core/utils\");\n    module.exports = initialize;\n});\ndefine(\"app/data/user_search\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_data\",], function(module, require, exports) {\n    function userSearchData() {\n        this.defaultAttrs({\n            query: null\n        }), this.makeUserSearchModuleRequest = function() {\n            if (!this.attr.query) {\n                return;\n            }\n        ;\n        ;\n            var a = {\n                q: this.attr.query\n            };\n            this.get({\n                url: \"/i/search/top_users/\",\n                data: a,\n                eventData: a,\n                success: \"dataUserSearchContent\",\n                error: \"dataUserSearchContentError\"\n            });\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"uiRefreshUserSearchModule\", this.makeUserSearchModuleRequest);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withData = require(\"app/data/with_data\");\n    module.exports = defineComponent(userSearchData, withData);\n});\ndefine(\"app/data/user_search_scribe\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_scribe\",\"app/utils/scribe_item_types\",], function(module, require, exports) {\n    function userSearchDataScribe() {\n        this.scribeResults = function(a, b) {\n            var c = {\n                action: \"impression\"\n            };\n            this.scribe(c, b);\n            var d = {\n            };\n            c.element = b.element, ((((b.items && b.items.length)) ? (c.action = \"results\", d = {\n                items: b.items.map(function(a, b) {\n                    return {\n                        id: a,\n                        item_type: itemTypes.user,\n                        position: b\n                    };\n                })\n            }) : c.action = \"no_results\")), this.scribe(c, b, d);\n        }, this.scribeUserSearch = function(a, b) {\n            this.scribe({\n                action: \"search\"\n            }, b);\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"uiUserSearchModuleDisplayed\", this.scribeResults), this.JSBNG__on(\"uiUserSearchNavigation\", this.scribeUserSearch);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withScribe = require(\"app/data/with_scribe\"), itemTypes = require(\"app/utils/scribe_item_types\");\n    module.exports = defineComponent(userSearchDataScribe, withScribe);\n});\ndefine(\"app/ui/user_search\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/with_item_actions\",], function(module, require, exports) {\n    function userSearchModule() {\n        this.defaultAttrs({\n            peopleLinkSelector: \"a.list-link\",\n            avatarRowSelector: \".avatar-row\",\n            userThumbSelector: \".user-thumb\",\n            itemType: \"user\"\n        }), this.updateContent = function(a, b) {\n            var c = this.select(\"peopleLinkSelector\");\n            c.JSBNG__find(this.attr.avatarRowSelector).remove(), c.append(b.users_module), this.userItemsDisplayed();\n        }, this.userItemsDisplayed = function() {\n            var a = this.select(\"userThumbSelector\").map(function() {\n                return (($(this).data(\"user-id\") + \"\"));\n            }).toArray();\n            this.trigger(\"uiUserSearchModuleDisplayed\", {\n                items: a,\n                element: \"initial\"\n            });\n        }, this.searchForUsers = function(a, b) {\n            ((((a.target == b.el)) && this.trigger(\"uiUserSearchNavigation\")));\n        }, this.getItemPosition = function(a) {\n            return a.closest(this.attr.userThumbSelector).index();\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(JSBNG__document, \"dataUserSearchContent\", this.updateContent), this.JSBNG__on(\"click\", {\n                peopleLinkSelector: this.searchForUsers\n            }), this.trigger(\"uiRefreshUserSearchModule\");\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withItemActions = require(\"app/ui/with_item_actions\");\n    module.exports = defineComponent(userSearchModule, withItemActions);\n});\ndefine(\"app/data/saved_searches\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_data\",\"app/data/with_auth_token\",], function(module, require, exports) {\n    function savedSearches() {\n        this.saveSearch = function(a, b) {\n            this.post({\n                url: \"/i/saved_searches/create.json\",\n                data: b,\n                headers: {\n                    \"X-PHX\": !0\n                },\n                eventData: \"\",\n                success: \"dataAddedSavedSearch\",\n                error: $.noop\n            });\n        }, this.removeSavedSearch = function(a, b) {\n            this.post({\n                url: ((((\"/i/saved_searches/destroy/\" + encodeURIComponent(b.id))) + \".json\")),\n                data: \"\",\n                headers: {\n                    \"X-PHX\": !0\n                },\n                eventData: \"\",\n                success: \"dataRemovedSavedSearch\",\n                error: $.noop\n            });\n        }, this.after(\"initialize\", function(a) {\n            this.JSBNG__on(\"uiAddSavedSearch\", this.saveSearch), this.JSBNG__on(\"uiRemoveSavedSearch\", this.removeSavedSearch);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withData = require(\"app/data/with_data\"), withAuthToken = require(\"app/data/with_auth_token\");\n    module.exports = defineComponent(savedSearches, withData, withAuthToken);\n});\ndefine(\"app/ui/search_dropdown\", [\"module\",\"require\",\"exports\",\"core/component\",\"core/i18n\",\"app/ui/with_dropdown\",], function(module, require, exports) {\n    function searchDropdown() {\n        this.defaultAttrs({\n            toggler: \".js-search-dropdown\",\n            saveOrRemoveSelector: \".js-toggle-saved-search-link\",\n            savedSearchSelector: \".js-saved-search\",\n            unsavedSearchSelector: \".js-unsaved-search\",\n            searchTitleSelector: \".search-title\",\n            advancedSearchSelector: \".advanced-search\",\n            embedSearchSelector: \".embed-search\"\n        }), this.addSavedSearch = function(a, b) {\n            this.trigger(\"uiAddSavedSearch\", {\n                query: $(a.target).data(\"query\")\n            });\n        }, this.removeSavedSearch = function(a, b) {\n            this.savedSearchId = $(a.target).data(\"id\"), this.trigger(\"uiOpenConfirmDialog\", {\n                titleText: _(\"Remove saved search\"),\n                bodyText: _(\"Are you sure you want to remove this search?\"),\n                cancelText: _(\"No\"),\n                submitText: _(\"Yes\"),\n                action: \"SavedSearchRemove\"\n            });\n        }, this.confirmSavedSearchRemoval = function() {\n            if (!this.savedSearchId) {\n                return;\n            }\n        ;\n        ;\n            this.trigger(\"uiRemoveSavedSearch\", {\n                id: this.savedSearchId\n            });\n        }, this.savedSearchRemoved = function(a, b) {\n            this.select(\"saveOrRemoveSelector\").removeClass(\"js-saved-search\").addClass(\"js-unsaved-search\").text(_(\"Save search\"));\n            var c = $(this.attr.searchTitleSelector).JSBNG__find(\".search-query\").text();\n            c = $(\"\\u003Cdiv/\\u003E\").text(c).html(), $(this.attr.searchTitleSelector).html(_(\"Results for \\u003Cstrong class=\\\"search-query\\\"\\u003E{{query}}\\u003C/strong\\u003E\", {\n                query: c\n            }));\n        }, this.navigatePage = function(a, b) {\n            this.trigger(\"uiNavigate\", {\n                href: $(a.target).attr(\"href\")\n            });\n        }, this.savedSearchAdded = function(a, b) {\n            this.select(\"saveOrRemoveSelector\").removeClass(\"js-unsaved-search\").addClass(\"js-saved-search\").text(_(\"Remove saved search\")).data(\"id\", b.id);\n            var c = $(this.attr.searchTitleSelector).JSBNG__find(\".search-query\").text();\n            c = $(\"\\u003Cdiv/\\u003E\").text(c).html(), $(this.attr.searchTitleSelector).html(_(\"Saved search: \\u003Cstrong class=\\\"search-query\\\"\\u003E{{query}}\\u003C/strong\\u003E\", {\n                query: c\n            }));\n        }, this.after(\"initialize\", function(a) {\n            this.JSBNG__on(\"click\", {\n                advancedSearchSelector: this.navigatePage,\n                embedSearchSelector: this.navigatePage,\n                savedSearchSelector: this.removeSavedSearch,\n                unsavedSearchSelector: this.addSavedSearch\n            }), this.JSBNG__on(JSBNG__document, \"uiSavedSearchRemoveConfirm\", this.confirmSavedSearchRemoval), this.JSBNG__on(JSBNG__document, \"dataAddedSavedSearch\", this.savedSearchAdded), this.JSBNG__on(JSBNG__document, \"dataRemovedSavedSearch\", this.savedSearchRemoved);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), _ = require(\"core/i18n\"), withDropdown = require(\"app/ui/with_dropdown\");\n    module.exports = defineComponent(searchDropdown, withDropdown);\n});\ndefine(\"app/data/story_scribe\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_interaction_data_scribe\",], function(module, require, exports) {\n    function storyScribe() {\n        this.defaultAttrs({\n            t1dScribeErrors: !1,\n            t1dScribeTimes: !1\n        }), this.scribeCardSearchClick = function(a, b) {\n            this.scribeInteraction({\n                element: \"topic\",\n                action: \"search\"\n            }, b);\n        }, this.scribeCardNewsClick = function(a, b) {\n            var c = {\n            };\n            ((b.tcoUrl && (c.message = b.tcoUrl))), ((((b.text && ((b.text.indexOf(\"pic.twitter.com\") == 0)))) && (b.url = ((\"http://\" + b.text))))), this.scribeInteraction({\n                element: \"article\",\n                action: \"open_link\"\n            }, b, c);\n        }, this.scribeCardMediaClick = function(a, b) {\n            this.scribeInteraction({\n                element: b.storyMediaType,\n                action: \"click\"\n            }, b);\n        }, this.scribeTweetStory = function(a, b) {\n            this.scribeInteraction({\n                element: \"tweet_link\",\n                action: ((((a.type === \"uiStoryTweetSent\")) ? \"success\" : \"click\"))\n            }, b);\n        }, this.scribeCardImageLoadTime = function(a, b) {\n            ((this.attr.t1dScribeTimes && this.scribe({\n                component: \"topic_story\",\n                action: \"complete\"\n            }, b)));\n        }, this.scribeCardImageLoadError = function(a, b) {\n            ((this.attr.t1dScribeErrors && this.scribe({\n                component: \"topic_story\",\n                action: \"error\"\n            }, b)));\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"uiCardMediaClick\", this.scribeCardMediaClick), this.JSBNG__on(\"uiCardNewsClick\", this.scribeCardNewsClick), this.JSBNG__on(\"uiCardSearchClick\", this.scribeCardSearchClick), this.JSBNG__on(\"uiTweetStoryLinkClicked uiStoryTweetSent\", this.scribeTweetStory), this.JSBNG__on(\"uiCardImageLoaded\", this.scribeCardImageLoadTime), this.JSBNG__on(\"uiCardImageLoadError\", this.scribeCardImageLoadError);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withInterationDataScribe = require(\"app/data/with_interaction_data_scribe\");\n    module.exports = defineComponent(storyScribe, withInterationDataScribe);\n});\ndefine(\"app/data/onebox_scribe\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_scribe\",], function(module, require, exports) {\n    function oneboxScribe() {\n        this.scribeOneboxImpression = function(a, b) {\n            var c = {\n                component: b.type,\n                action: \"impression\"\n            };\n            this.scribe(c);\n            if (b.items) {\n                var d = {\n                    item_count: b.items.length,\n                    item_ids: b.items\n                };\n                c.action = ((b.items.length ? \"results\" : \"no_results\")), this.scribe(c, b, d);\n            }\n        ;\n        ;\n        }, this.scribeViewAllClick = function(a, b) {\n            var c = {\n                component: b.type,\n                action: \"view_all\"\n            };\n            this.scribe(c, b);\n        }, this.scribeEventOneboxClick = function(a, b) {\n            this.scribe({\n                component: \"JSBNG__event\",\n                section: \"onebox\",\n                action: \"click\"\n            }, b);\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"uiOneboxDisplayed\", this.scribeOneboxImpression), this.JSBNG__on(\"uiOneboxViewAllClick\", this.scribeViewAllClick), this.JSBNG__on(\"uiEventOneboxClick\", this.scribeEventOneboxClick);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withScribe = require(\"app/data/with_scribe\");\n    module.exports = defineComponent(oneboxScribe, withScribe);\n});\ndefine(\"app/ui/with_story_clicks\", [\"module\",\"require\",\"exports\",\"core/compose\",\"app/ui/with_interaction_data\",], function(module, require, exports) {\n    function withStoryClicks() {\n        compose.mixin(this, [withInteractionData,]), this.defaultAttrs({\n            cardSearchSelector: \".js-action-card-search\",\n            cardNewsSelector: \".js-action-card-news\",\n            cardMediaSelector: \".js-action-card-media\",\n            cardHeadlineSelector: \".js-news-headline .js-action-card-news\",\n            tweetLinkButtonSelector: \".story-social-new-tweet\",\n            storyItemContainerSelector: \".js-story-item\"\n        }), this.getLinkData = function(a) {\n            var b = $(a).closest(\"[data-url]\");\n            return {\n                url: b.attr(\"data-url\"),\n                tcoUrl: $(a).closest(\"a[href]\").attr(\"href\"),\n                text: b.text()\n            };\n        }, this.cardSearchClick = function(a, b) {\n            this.trigger(\"uiCardSearchClick\", this.interactionData(a, this.getLinkData(a.target)));\n        }, this.cardNewsClick = function(a, b) {\n            var c = $(a.target);\n            this.trigger(\"uiCardNewsClick\", this.interactionData(a, this.getLinkData(a.target)));\n        }, this.cardMediaClick = function(a, b) {\n            this.trigger(\"uiCardMediaClick\", this.interactionData(a, this.getLinkData(a.target)));\n        }, this.selectStory = function(a, b) {\n            var c = ((((a.type === \"uiHasExpandedStory\")) ? \"uiItemSelected\" : \"uiItemDeselected\")), d = $(a.target).JSBNG__find(this.attr.storyItemContainerSelector), e = this.interactionData(d);\n            e.scribeContext.element = ((((e.storySource === \"trends\")) ? \"top_tweets\" : \"social_context\")), this.trigger(c, e);\n        }, this.tweetSent = function(a, b) {\n            var c = b.in_reply_to_status_id;\n            if (c) {\n                var d = this.$node.JSBNG__find(((\".open \" + this.attr.storyItemSelector))).has(((((\".tweet[data-tweet-id=\" + c)) + \"]\")));\n                if (!d.length) {\n                    return;\n                }\n            ;\n            ;\n                var e = this.getItemData(d, c, \"reply\");\n                this.trigger(\"uiStoryTweetAction\", e);\n            }\n             else {\n                var d = this.$node.JSBNG__find(((((((this.attr.storyItemSelector + \"[data-query=\\\"\")) + b.customData.query)) + \"\\\"]\")));\n                if (!d.length) {\n                    return;\n                }\n            ;\n            ;\n                this.trigger(\"uiStoryTweetSent\", this.interactionData(d));\n            }\n        ;\n        ;\n        }, this.tweetSelectedStory = function(a, b) {\n            var c = $(b.el).closest(this.attr.storyItemSelector), d = this.interactionData(c);\n            this.trigger(\"uiOpenTweetDialog\", {\n                defaultText: ((\" \" + c.data(\"url\"))),\n                cursorPosition: 0,\n                customData: {\n                    query: c.data(\"query\")\n                },\n                scribeContext: d.scribeContext\n            }), this.trigger(\"uiTweetStoryLinkClicked\", this.interactionData(c));\n        }, this.getCardPosition = function(a) {\n            var b;\n            return this.select(\"storyItemSelector\").each(function(c) {\n                if ((($(this).attr(\"data-query\") === a))) {\n                    return b = c, !1;\n                }\n            ;\n            ;\n            }), b;\n        }, this.getItemData = function(a, b, c) {\n            var d = $(a).closest(this.attr.storyItemSelector), e = d.JSBNG__find(this.attr.cardHeadlineSelector), f = d.data(\"query\"), g = [];\n            d.JSBNG__find(\".tweet[data-tweet-id]\").each(function() {\n                g.push($(this).data(\"tweet-id\"));\n            });\n            var h = {\n                cardType: d.data(\"story-type\"),\n                query: f,\n                title: e.text().trim(),\n                tweetIds: g,\n                cardMediaType: d.data(\"card-media-type\"),\n                position: this.getCardPosition(f),\n                href: e.attr(\"href\"),\n                source: d.data(\"source\"),\n                tweetId: b,\n                action: c\n            };\n            return h;\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"click\", {\n                cardSearchSelector: this.cardSearchClick,\n                cardNewsSelector: this.cardNewsClick,\n                cardMediaSelector: this.cardMediaClick,\n                tweetLinkButtonSelector: this.tweetSelectedStory\n            }), this.JSBNG__on(JSBNG__document, \"uiTweetSent\", this.tweetSent), this.JSBNG__on(\"uiHasCollapsedStory uiHasExpandedStory\", this.selectStory);\n        });\n    };\n;\n    var compose = require(\"core/compose\"), withInteractionData = require(\"app/ui/with_interaction_data\");\n    module.exports = withStoryClicks;\n});\ndeferred(\"$lib/jquery_autoellipsis.js\", function() {\n    (function($) {\n        function e(a, b) {\n            var c = a.data(\"jqae\");\n            ((c || (c = {\n            })));\n            var d = c.wrapperElement;\n            ((d || (d = a.wrapInner(\"\\u003Cdiv/\\u003E\").JSBNG__find(\"\\u003Ediv\"))));\n            var e = d.data(\"jqae\");\n            ((e || (e = {\n            })));\n            var i = e.originalContent;\n            ((i ? d = e.originalContent.clone(!0).data(\"jqae\", {\n                originalContent: i\n            }).replaceAll(d) : d.data(\"jqae\", {\n                originalContent: d.clone(!0)\n            }))), a.data(\"jqae\", {\n                wrapperElement: d,\n                containerWidth: a.JSBNG__innerWidth(),\n                containerHeight: a.JSBNG__innerHeight()\n            });\n            var j = !1, k = d;\n            ((b.selector && (k = $(d.JSBNG__find(b.selector).get().reverse())))), k.each(function() {\n                var c = $(this), e = c.text(), i = !1;\n                if (((((d.JSBNG__innerHeight() - c.JSBNG__innerHeight())) > a.JSBNG__innerHeight()))) c.remove();\n                 else {\n                    h(c);\n                    if (c.contents().length) {\n                        ((j && (g(c).get(0).nodeValue += b.ellipsis, j = !1)));\n                        while (((d.JSBNG__innerHeight() > a.JSBNG__innerHeight()))) {\n                            i = f(c);\n                            if (!i) {\n                                j = !0, c.remove();\n                                break;\n                            }\n                        ;\n                        ;\n                            h(c);\n                            if (!c.contents().length) {\n                                j = !0, c.remove();\n                                break;\n                            }\n                        ;\n                        ;\n                            g(c).get(0).nodeValue += b.ellipsis;\n                        };\n                    ;\n                        ((((((((b.setTitle == \"onEllipsis\")) && i)) || ((b.setTitle == \"always\")))) ? c.attr(\"title\", e) : ((((b.setTitle != \"never\")) && c.removeAttr(\"title\")))));\n                    }\n                ;\n                ;\n                }\n            ;\n            ;\n            });\n        };\n    ;\n        function f(a) {\n            var b = g(a);\n            if (b.length) {\n                var c = b.get(0).nodeValue, d = c.lastIndexOf(\" \");\n                return ((((d > -1)) ? (c = $.trim(c.substring(0, d)), b.get(0).nodeValue = c) : b.get(0).nodeValue = \"\")), !0;\n            }\n        ;\n        ;\n            return !1;\n        };\n    ;\n        function g(a) {\n            if (a.contents().length) {\n                var b = a.contents(), c = b.eq(((b.length - 1)));\n                return ((c.filter(i).length ? c : g(c)));\n            }\n        ;\n        ;\n            a.append(\"\");\n            var b = a.contents();\n            return b.eq(((b.length - 1)));\n        };\n    ;\n        function h(a) {\n            if (a.contents().length) {\n                var b = a.contents(), c = b.eq(((b.length - 1)));\n                if (c.filter(i).length) {\n                    var d = c.get(0).nodeValue;\n                    return d = $.trim(d), ((((d == \"\")) ? (c.remove(), !0) : !1));\n                }\n            ;\n            ;\n                while (h(c)) {\n                ;\n                };\n            ;\n                return ((c.contents().length ? !1 : (c.remove(), !0)));\n            }\n        ;\n        ;\n            return !1;\n        };\n    ;\n        function i() {\n            return ((this.nodeType === 3));\n        };\n    ;\n        function j(c, d) {\n            a[c] = d, ((b || (b = window.JSBNG__setInterval(function() {\n                l();\n            }, 200))));\n        };\n    ;\n        function k(c) {\n            ((a[c] && (delete a[c], ((a.length || ((b && (window.JSBNG__clearInterval(b), b = undefined))))))));\n        };\n    ;\n        function l() {\n            if (!c) {\n                c = !0;\n                {\n                    var fin58keys = ((window.top.JSBNG_Replay.forInKeys)((a))), fin58i = (0);\n                    var b;\n                    for (; (fin58i < fin58keys.length); (fin58i++)) {\n                        ((b) = (fin58keys[fin58i]));\n                        {\n                            $(b).each(function() {\n                                var c, d;\n                                c = $(this), d = c.data(\"jqae\"), ((((((d.containerWidth != c.JSBNG__innerWidth())) || ((d.containerHeight != c.JSBNG__innerHeight())))) && e(c, a[b])));\n                            });\n                        ;\n                        };\n                    };\n                };\n            ;\n                c = !1;\n            }\n        ;\n        ;\n        };\n    ;\n        var a = {\n        }, b, c = !1, d = {\n            ellipsis: \"...\",\n            setTitle: \"never\",\n            live: !1\n        };\n        $.fn.ellipsis = function(a, b) {\n            var c, f;\n            return c = $(this), ((((typeof a != \"string\")) && (b = a, a = undefined))), f = $.extend({\n            }, d, b), f.selector = a, c.each(function() {\n                var a = $(this);\n                e(a, f);\n            }), ((f.live ? j(c.selector, f) : k(c.selector))), this;\n        };\n    })(jQuery);\n});\ndefine(\"app/utils/ellipsis\", [\"module\",\"require\",\"exports\",\"$lib/jquery_autoellipsis.js\",], function(module, require, exports) {\n    require(\"$lib/jquery_autoellipsis.js\");\n    var isTextOverflowEllipsisSupported = ((\"textOverflow\" in $(\"\\u003Cdiv\\u003E\")[0].style)), isEllipsisSupported = function(a) {\n        return ((((typeof a.forceEllipsisSupport == \"boolean\")) ? a.forceEllipsisSupport : isTextOverflowEllipsisSupported));\n    }, singleLineEllipsis = function(a, b) {\n        return ((isEllipsisSupported(b) ? !1 : ($(a).each(function() {\n            var a = $(this);\n            if (a.hasClass(\"ellipsify-container\")) {\n                if (!b.force) {\n                    return !0;\n                }\n            ;\n            ;\n                var c = a.JSBNG__find(\"span.ellip-content\");\n                ((c.length && a.html(c.html())));\n            }\n        ;\n        ;\n            a.addClass(\"ellipsify-container\").wrapInner($(\"\\u003Cspan\\u003E\").addClass(\"ellip-content\"));\n            var d = a.JSBNG__find(\"span.ellip-content\");\n            if (((d.width() > a.width()))) {\n                var e = $(\"\\u003Cdiv class=\\\"ellip\\\"\\u003E&hellip;\\u003C/div\\u003E\");\n                a.append(e), d.width(((a.width() - e.width()))).css(\"margin-right\", e.width());\n            }\n        ;\n        ;\n        }), !0)));\n    }, multilineEllipsis = function(a, b) {\n        $(a).each(function(a, c) {\n            var d = $(c);\n            d.ellipsis(b.multilineSelector, b.multilineOptions);\n            var e = d.JSBNG__find(\"\\u003Ediv\"), f = e.contents();\n            d.append(f), e.remove();\n        });\n    }, ellipsify = function(a, b) {\n        b = ((b || {\n        }));\n        var c = ((b.multiline ? ((b.multilineFunction || multilineEllipsis)) : ((b.singlelineFunction || singleLineEllipsis))));\n        return c(a, b);\n    };\n    module.exports = ellipsify;\n});\ndefine(\"app/ui/with_story_ellipsis\", [\"module\",\"require\",\"exports\",\"app/utils/ellipsis\",], function(module, require, exports) {\n    function withStoryEllipsis() {\n        this.defaultAttrs({\n            singleLineEllipsisSelector: \"h3.js-story-title, p.js-metadata\",\n            multilineEllipsisSelector: \"p.js-news-snippet, h3.js-news-headline, .cards-summary h3, .cards-summary .article\",\n            ellipsisChar: \"&ellip;\"\n        }), this.ellipsify = function() {\n            ellipsify(this.select(\"singleLineEllipsisSelector\")), ellipsify(this.select(\"multilineEllipsisSelector\"), {\n                multiline: !0,\n                multilineOptions: {\n                    ellipsis: this.attr.ellipsisChar\n                }\n            });\n        };\n    };\n;\n    var ellipsify = require(\"app/utils/ellipsis\");\n    module.exports = withStoryEllipsis;\n});\ndefine(\"app/ui/search/news_onebox\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/with_story_clicks\",\"app/ui/with_story_ellipsis\",], function(module, require, exports) {\n    function newsOnebox() {\n        this.defaultAttrs({\n            itemType: \"story\"\n        }), this.oneboxDisplayed = function() {\n            this.trigger(\"uiOneboxDisplayed\", {\n                type: \"news_story\"\n            });\n        }, this.after(\"initialize\", function() {\n            this.ellipsify(), this.oneboxDisplayed();\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withStoryClicks = require(\"app/ui/with_story_clicks\"), withStoryEllipsis = require(\"app/ui/with_story_ellipsis\");\n    module.exports = defineComponent(newsOnebox, withStoryClicks, withStoryEllipsis);\n});\ndefine(\"app/ui/search/user_onebox\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/with_item_actions\",\"app/ui/with_story_clicks\",], function(module, require, exports) {\n    function userOnebox() {\n        this.defaultAttrs({\n            itemSelector: \".user-story-item\",\n            viewAllSelector: \".js-onebox-view-all\",\n            itemType: \"story\"\n        }), this.oneboxDisplayed = function() {\n            var a = {\n                type: \"user_story\",\n                items: this.getItemIds()\n            };\n            this.trigger(\"uiOneboxDisplayed\", a);\n        }, this.viewAllClicked = function() {\n            this.trigger(\"uiOneboxViewAllClick\", {\n                type: \"user_story\"\n            });\n        }, this.getItemIds = function() {\n            var a = [];\n            return this.select(\"itemSelector\").each(function() {\n                var b = $(this);\n                a.push(b.data(\"item-id\"));\n            }), a;\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"click\", {\n                viewAllSelector: this.viewAllClicked\n            }), this.oneboxDisplayed();\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withItemActions = require(\"app/ui/with_item_actions\"), withStoryClicks = require(\"app/ui/with_story_clicks\");\n    module.exports = defineComponent(userOnebox, withItemActions, withStoryClicks);\n});\ndefine(\"app/ui/search/event_onebox\", [\"module\",\"require\",\"exports\",\"core/component\",], function(module, require, exports) {\n    function eventOnebox() {\n        this.defaultAttrs({\n            itemType: \"story\"\n        }), this.oneboxDisplayed = function() {\n            this.trigger(\"uiOneboxDisplayed\", {\n                type: \"event_story\"\n            });\n        }, this.broadcastClick = function(a) {\n            this.trigger(\"uiEventOneboxClick\");\n        }, this.after(\"initialize\", function() {\n            this.oneboxDisplayed(), this.JSBNG__on(\"click\", this.broadcastClick);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\");\n    module.exports = defineComponent(eventOnebox);\n});\ndefine(\"app/ui/search/media_onebox\", [\"module\",\"require\",\"exports\",\"core/component\",\"core/i18n\",\"app/ui/with_story_clicks\",], function(module, require, exports) {\n    function mediaOnebox() {\n        this.defaultAttrs({\n            itemSelector: \".media-item\",\n            itemType: \"story\",\n            query: \"\"\n        }), this.oneboxDisplayed = function() {\n            var a = {\n                type: \"media_story\",\n                items: this.getStatusIds()\n            };\n            this.trigger(\"uiOneboxDisplayed\", a);\n        }, this.getStatusIds = function() {\n            var a = [];\n            return this.select(\"itemSelector\").each(function() {\n                var b = $(this);\n                a.push(b.data(\"status-id\"));\n            }), a;\n        }, this.mediaItemClick = function(a, b) {\n            this.trigger(a.target, \"uiOpenGallery\", {\n                title: _(\"Photos of {{query}}\", {\n                    query: this.attr.query\n                })\n            });\n        }, this.after(\"initialize\", function(a) {\n            this.oneboxDisplayed(), this.JSBNG__on(\"click\", this.mediaItemClick);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), _ = require(\"core/i18n\"), withStoryClicks = require(\"app/ui/with_story_clicks\");\n    module.exports = defineComponent(mediaOnebox, withStoryClicks);\n});\ndefine(\"app/ui/search/spelling_corrections\", [\"module\",\"require\",\"exports\",\"core/component\",], function(module, require, exports) {\n    function SpellingCorrections() {\n        this.defaultAttrs({\n            dismissSelector: \".js-action-dismiss-correction\",\n            spellingCorrectionSelector: \".corrected-query\",\n            wrapperNodeSelector: \"\"\n        }), this.dismissCorrection = function(a) {\n            var b = this.select(\"wrapperNodeSelector\");\n            ((((b.length == 0)) && (b = this.$node))), b.fadeOut(250, function() {\n                $(this).hide();\n            }), this.scribeEvent(\"dismiss\");\n        }, this.clickCorrection = function(a) {\n            this.scribeEvent(\"search\");\n        }, this.scribeEvent = function(a) {\n            var b = this.select(\"spellingCorrectionSelector\");\n            this.trigger(\"uiSearchAssistanceAction\", {\n                component: \"spelling_corrections\",\n                action: a,\n                query: b.data(\"query\"),\n                item_names: [b.data(\"search-assistance\"),]\n            });\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"click\", {\n                dismissSelector: this.dismissCorrection,\n                spellingCorrectionSelector: this.clickCorrection\n            });\n        });\n    };\n;\n    var defineComponent = require(\"core/component\");\n    module.exports = defineComponent(SpellingCorrections);\n});\ndefine(\"app/ui/search/related_queries\", [\"module\",\"require\",\"exports\",\"core/component\",], function(module, require, exports) {\n    function RelatedQueries() {\n        this.defaultAttrs({\n            relatedQuerySelector: \".related-query\"\n        }), this.relatedQueryClick = function(a) {\n            this.trigger(\"uiSearchAssistanceAction\", {\n                component: \"related_queries\",\n                action: \"search\",\n                query: $(a.target).data(\"query\"),\n                item_names: [$(a.target).data(\"search-assistance\"),]\n            });\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"click\", {\n                relatedQuerySelector: this.relatedQueryClick\n            });\n        });\n    };\n;\n    var defineComponent = require(\"core/component\");\n    module.exports = defineComponent(RelatedQueries);\n});\ndefine(\"app/data/search_assistance_scribe\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_scribe\",], function(module, require, exports) {\n    function SearchAssistanceScribe() {\n        this.scribeSearchAssistance = function(a, b) {\n            this.scribe({\n                section: \"search\",\n                component: b.component,\n                action: b.action\n            }, {\n                query: b.query,\n                item_names: b.item_names\n            });\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"uiSearchAssistanceAction\", this.scribeSearchAssistance);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withScribe = require(\"app/data/with_scribe\");\n    module.exports = defineComponent(SearchAssistanceScribe, withScribe);\n});\ndefine(\"app/data/timeline_controls_scribe\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_scribe\",], function(module, require, exports) {\n    function timelineControlsScribe() {\n        this.after(\"initialize\", function() {\n            this.scribeOnEvent(\"uiHasEnabledAutoplay\", {\n                action: \"JSBNG__on\",\n                component: \"timeline_controls\",\n                element: \"autoplay\"\n            }), this.scribeOnEvent(\"uiHasDisabledAutoplay\", {\n                action: \"off\",\n                component: \"timeline_controls\",\n                element: \"autoplay\"\n            });\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withScribe = require(\"app/data/with_scribe\"), TimelineControlsScribe = defineComponent(timelineControlsScribe, withScribe);\n    module.exports = TimelineControlsScribe;\n});\ndefine(\"app/pages/search/search\", [\"module\",\"require\",\"exports\",\"app/boot/search\",\"core/utils\",\"app/boot/tweet_timeline\",\"app/boot/universal_timeline\",\"app/data/user_search\",\"app/data/user_search_scribe\",\"app/ui/user_search\",\"app/data/saved_searches\",\"app/ui/search_dropdown\",\"app/data/story_scribe\",\"app/data/onebox_scribe\",\"app/ui/search/news_onebox\",\"app/ui/search/user_onebox\",\"app/ui/search/event_onebox\",\"app/ui/search/media_onebox\",\"app/ui/search/spelling_corrections\",\"app/ui/search/related_queries\",\"app/data/search_assistance_scribe\",\"app/data/timeline_controls_scribe\",], function(module, require, exports) {\n    var searchBoot = require(\"app/boot/search\"), utils = require(\"core/utils\"), tweetTimelineBoot = require(\"app/boot/tweet_timeline\"), universalTimelineBoot = require(\"app/boot/universal_timeline\"), UserSearchData = require(\"app/data/user_search\"), UserSearchScribe = require(\"app/data/user_search_scribe\"), UserSearchModule = require(\"app/ui/user_search\"), SavedSearchesData = require(\"app/data/saved_searches\"), SearchDropdown = require(\"app/ui/search_dropdown\"), StoryScribe = require(\"app/data/story_scribe\"), OneboxScribe = require(\"app/data/onebox_scribe\"), NewsOnebox = require(\"app/ui/search/news_onebox\"), UserOnebox = require(\"app/ui/search/user_onebox\"), EventOnebox = require(\"app/ui/search/event_onebox\"), MediaOnebox = require(\"app/ui/search/media_onebox\"), SpellingCorrections = require(\"app/ui/search/spelling_corrections\"), RelatedQueries = require(\"app/ui/search/related_queries\"), SearchAssistanceScribe = require(\"app/data/search_assistance_scribe\"), TimelineControlsScribe = require(\"app/data/timeline_controls_scribe\");\n    module.exports = function(b) {\n        searchBoot(b), ((b.universalSearch ? (TimelineControlsScribe.attachTo(JSBNG__document), universalTimelineBoot(utils.merge(b, {\n            autoplay: !!b.autoplay_search_timeline,\n            travelingPTw: !!b.autoplay_search_timeline\n        })), SpellingCorrections.attachTo(\"#timeline\", utils.merge(b, {\n            wrapperNodeSelector: \".stream-spelling-corrections\"\n        })), RelatedQueries.attachTo(\"#timeline\")) : (tweetTimelineBoot(b, b.search_endpoint, \"tweet\"), UserSearchScribe.attachTo(JSBNG__document, b), UserSearchData.attachTo(JSBNG__document, b), UserSearchModule.attachTo(\".js-nav-links .people\", utils.merge(b, {\n            eventData: {\n                scribeContext: {\n                    component: \"user_search_module\"\n                }\n            }\n        })), StoryScribe.attachTo(JSBNG__document), OneboxScribe.attachTo(JSBNG__document, b), NewsOnebox.attachTo(\".onebox .discover-item[data-story-type=news]\"), UserOnebox.attachTo(\".onebox .discover-item[data-story-type=user]\", b), EventOnebox.attachTo(\".onebox .discover-item[data-story-type=event]\"), MediaOnebox.attachTo(\".onebox .discover-item[data-story-type=media]\", b), SpellingCorrections.attachTo(\".search-assist-spelling\"), RelatedQueries.attachTo(\".search-assist-related-queries\")))), SavedSearchesData.attachTo(JSBNG__document, b), SearchDropdown.attachTo(\".js-search-dropdown\", b), SearchAssistanceScribe.attachTo(JSBNG__document, b);\n    };\n});\ndefine(\"app/ui/timelines/with_search_media_pagination\", [\"module\",\"require\",\"exports\",\"app/ui/timelines/with_tweet_pagination\",\"core/compose\",], function(module, require, exports) {\n    function withSearchMediaPagination() {\n        compose.mixin(this, [withTweetPagination,]), this.shouldGetOldItems = function() {\n            return !1;\n        };\n    };\n;\n    var withTweetPagination = require(\"app/ui/timelines/with_tweet_pagination\"), compose = require(\"core/compose\");\n    module.exports = withSearchMediaPagination;\n});\ndefine(\"app/ui/timelines/media_timeline\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/timelines/with_base_timeline\",\"app/ui/timelines/with_old_items\",\"app/ui/timelines/with_search_media_pagination\",\"app/ui/gallery/with_grid\",], function(module, require, exports) {\n    function mediaTimeline() {\n        this.defaultAttrs({\n            itemType: \"media\"\n        }), this.after(\"initialize\", function(a) {\n            this.hideWhaleEnd(), this.hideMoreSpinner();\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withBaseTimeline = require(\"app/ui/timelines/with_base_timeline\"), withOldItems = require(\"app/ui/timelines/with_old_items\"), withSearchMediaPagination = require(\"app/ui/timelines/with_search_media_pagination\"), withGrid = require(\"app/ui/gallery/with_grid\");\n    module.exports = defineComponent(mediaTimeline, withBaseTimeline, withOldItems, withSearchMediaPagination, withGrid);\n});\ndefine(\"app/boot/media_timeline\", [\"module\",\"require\",\"exports\",\"app/boot/timeline\",\"app/boot/help_pips\",\"app/ui/expando/close_all_button\",\"app/ui/timelines/media_timeline\",\"core/utils\",], function(module, require, exports) {\n    function initialize(a, b, c, d) {\n        var e = utils.merge(a, {\n            endpoint: b,\n            itemType: c,\n            eventData: {\n                scribeContext: {\n                    component: ((d || c))\n                }\n            }\n        });\n        timelineBoot(e), ((e.help_pips_decider && helpPipsBoot(e))), CloseAllButton.attachTo(\"#close-all-button\", {\n            addEvent: \"uiHasExpandedTweet\",\n            subtractEvent: \"uiHasCollapsedTweet\",\n            where: \"#timeline\",\n            closeAllEvent: \"uiWantsToCloseAllTweets\"\n        }), MediaTimeline.attachTo(\"#timeline\", utils.merge(e, {\n            tweetItemSelector: \"div.original-tweet\"\n        }));\n    };\n;\n    var timelineBoot = require(\"app/boot/timeline\"), helpPipsBoot = require(\"app/boot/help_pips\"), CloseAllButton = require(\"app/ui/expando/close_all_button\"), MediaTimeline = require(\"app/ui/timelines/media_timeline\"), utils = require(\"core/utils\");\n    module.exports = initialize;\n});\ndefine(\"app/pages/search/media\", [\"module\",\"require\",\"exports\",\"app/boot/search\",\"core/utils\",\"app/boot/tweets\",\"app/boot/media_timeline\",\"app/data/user_search\",\"app/data/user_search_scribe\",\"app/ui/user_search\",\"app/data/saved_searches\",\"app/ui/search_dropdown\",\"app/ui/search/spelling_corrections\",\"app/ui/search/related_queries\",\"app/data/search_assistance_scribe\",], function(module, require, exports) {\n    var searchBoot = require(\"app/boot/search\"), utils = require(\"core/utils\"), tweetsBoot = require(\"app/boot/tweets\"), mediaTimelineBoot = require(\"app/boot/media_timeline\"), UserSearchData = require(\"app/data/user_search\"), UserSearchScribe = require(\"app/data/user_search_scribe\"), UserSearchModule = require(\"app/ui/user_search\"), SavedSearchesData = require(\"app/data/saved_searches\"), SearchDropdown = require(\"app/ui/search_dropdown\"), SpellingCorrections = require(\"app/ui/search/spelling_corrections\"), RelatedQueries = require(\"app/ui/search/related_queries\"), SearchAssistanceScribe = require(\"app/data/search_assistance_scribe\");\n    module.exports = function(b) {\n        searchBoot(b), tweetsBoot(\"#timeline\", b), mediaTimelineBoot(b, b.timeline_url, \"tweet\"), SavedSearchesData.attachTo(JSBNG__document, b), SearchDropdown.attachTo(\".js-search-dropdown\", b), SpellingCorrections.attachTo(\".search-assist-spelling\"), RelatedQueries.attachTo(\".search-assist-related-queries\"), SearchAssistanceScribe.attachTo(JSBNG__document, b), UserSearchScribe.attachTo(JSBNG__document, b), UserSearchData.attachTo(JSBNG__document, b), UserSearchModule.attachTo(\".js-nav-links .people\", utils.merge(b, {\n            eventData: {\n                scribeContext: {\n                    component: \"user_search_module\"\n                }\n            }\n        }));\n    };\n});\ndefine(\"app/pages/simple_t1\", [\"module\",\"require\",\"exports\",\"app/boot/app\",], function(module, require, exports) {\n    var bootApp = require(\"app/boot/app\");\n    module.exports = function(a) {\n        bootApp(a);\n    };\n});");
10028 // 4769
10029 cb(); return null; }
10030 finalize(); })();